fido-alliance / conformance-test-tools-resources

Certification Test Tools Resources. For security and privacy related issues email tools@certification.fidoalliance.org
https://fidoalliance.org/certification/functional-certification/conformance/
40 stars 14 forks source link

Conformance tool has numerous crashes with BLE on multiple versions #738

Closed Molyna closed 6 months ago

Molyna commented 8 months ago

By submitting this issue you are acknowledging that any information regarding this issue will be publicly available.

If you have privacy concerns, please email conformance-tools@fidoalliance.org

FIRST PRE CHECK

What protocol are you implementing?

NOTE: UAF 1.0 certification have been officially sunset. U2F 1.2 only supported version of U2F.

What is your implementation class?

If you are platform authenticator vendor, please email conformance-tools@fidoalliance.org

What is the version of the tool are you using?

1.7.11 and 1.7.17

What is the OS and the version are you running?

For desktop tools

For UAF mobile tools

Issue description

We keep have having issues with BLE and the conformance tool has multiple crashes all seemingly related to BLE. If we turn on the conformance tool on two machines with BLE turned on on the machines the tool instantly crashes with no event log in Windows. Turning off the Bluetooth on Windows then starting the tool does not crash the tool. However if a BLE device is selected in the list of devices in the tool and you then turn on Bluetooth in Windows again, the device crashes. It also crashes is you have the BLE device off and then turn it on, while the BLE device is selected in the list

So only way we've managed to get it working is by turning off Bluetooth, starting the tool, selecting an NFC reader in the list, turning on Bluetooth. Turning on the device and then selecting the device in the list.

We've tried this with both 1.7.11 and 1.7.17 that both have the exact same behavior. We've tried uninstalling and reinstalling multiple times. I do think electron is storing some settings somewhere though as installing on a fresh machine seems to not have the problem as pronounced and it only occurs occasionally on that machine.

My windows event log only gets 1 of these errors logged, as most are silent. It has the following info


Faulting module name: FIDO Alliance - Certification Conformance Testing Tools.exe, version: 1.7.11.0, time stamp: 0x60abd2db
Exception code: 0xc0000005
Fault offset: 0x000000000013e5ec
Faulting process id: 0x0x3EF8
Faulting application start time: 0x0x1DA2DC32E02E3B1
Molyna commented 8 months ago

The bypass above no longer works. Our best attempt now is just to see if it crashes, then wait a few hours and try again hoping it works then.

This seems to be more frequent when there is a new device is paired with the computer, as retrying a good few times in a row when no such change has happened usually gets things going.

I do think Windows is the root of the problem, but maybe possible to do some error catching and discarding if the device causing the access violation from the list so the tool doesn't crash?

iirachek commented 6 months ago

We have introduced a potential fix for this crash in the 1.7.19 version. Or rather, for A crash, since one can never be sure when working with BLE and unmanaged libraries.

Could you please confirm if the crash no longer occurs on that version?

Molyna commented 6 months ago

Did some quick testing with the most common way to get this to crash and it seems it much more stable and yet to get any crashes.

So from my side this seems like it can be closed.