Skip to content

Commit d3fea40

Browse files
Apply suggestions from documentation review
Co-authored-by: Ben Ahmady <[email protected]>
1 parent 16aed18 commit d3fea40

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

java/ql/src/Security/CWE/CWE-287/AndroidInsecureLocalAuthentication.qhelp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,21 @@
66
<overview>
77
<p>
88
Biometric local authentication such as fingerprint recognition can be used to protect sensitive data or actions within an application.
9-
However, if this authentication does not make use of a <code>KeyStore</code>-backed key, it is able to be bypassed by a privileged malicious application or an attacker with physical access,
10-
using application hooking tools such as Frida.
9+
However, if this authentication does not use a <code>KeyStore</code>-backed key, it can be bypassed by a privileged malicious application, or by an attacker with physical access using application hooking tools such as Frida.
1110
</p>
1211
</overview>
1312

1413
<recommendation>
1514
<p>
16-
Generate a secure key in the Android <code>KeyStore</code> and ensure that the <code>onAuthenticaionSuccess</code> callback for a biometric prompt uses it
15+
Generate a secure key in the Android <code>KeyStore</code>. Ensure that the <code>onAuthenticationSuccess</code> callback for a biometric prompt uses it
1716
in a way that is required for the sensitive parts of the application to function, such as by using it to decrypt sensitive data or credentials.
1817
</p>
1918
</recommendation>
2019

2120
<example>
2221
<p>In the following (bad) case, no <code>CryptoObject</code> is required for the biometric prompt to grant access, so it can be bypassed.</p>
2322
<sample src="AndroidInsecureLocalAuthenticationBad.java" />
24-
<p>In the following (good) case, a secret key is generated in the Android <code>KeyStore</code> that is required for the application to grant access by decrypting data.</p>
23+
<p>In the following (good) case, a secret key is generated in the Android <code>KeyStore</code>. The application requires this secret key for access, using it to decrypt data.</p>
2524
<sample src="AndroidInsecureLocalAuthenticationGood.java" />
2625
</example>
2726

0 commit comments

Comments
 (0)