MASTG-TEST-0248 安全な画面ロックを検出するための API への参照 (References to APIs for Detecting Secure Screen Lock)
概要
このテストでは、アプリが安全な 画面ロック (パスコードなど) が設定されたデバイス上でアプリが実行されているかどうかを検証します。
iOS では、アプリは LocalAuthentication フレームワークを使用して、安全な画面ロックが設定されているかどうかを判断できます。具体的には、LAContext.canEvaluatePolicy(_:error:) メソッドを .deviceOwnerAuthentication または .deviceOwnerAuthenticationWithBiometrics ポリシーを指定して使用し、パスコードなどの認証メカニズムが利用可能かどうかをチェックできます。
Keychain Services API を活用するアプリは、kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性を使用して機密データにアクセスする前にパスコード認証を要求できます。
手順
radare2 for iOS などの静的解析ツールをアプリバイナリに対して実行して、LAContext.canEvaluatePolicy(.deviceOwnerAuthentication) API の使用、または kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 属性で保存されたデータを探します。
結果
出力には関連する API が使用されている場所のリストを含む可能性があります。
評価
アプリが安全な画面ロックの存在を検証するための API を使用していない場合、そのテストは不合格です。
PreviousMASTG-TEST-0246 安全な画面ロック検出 API の実行時使用 (Runtime Use of Secure Screen Lock Detection APIs)NextMASTG-TEST-0261 entitlements.plist で有効になっているデバッグ可能なエンタイトルメント (Debuggable Entitlement Enabled in the entitlements.plist)
Last updated
Was this helpful?