MASTG-TEST-0082 アプリがデバッグ可能かどうかのテスト (Testing whether the App is Debuggable)

概要

静的解析

アプリのエンタイトルメントを抽出 (MachO バイナリからエンタイトルメントの抽出 (Extracting Entitlements from MachO Binaries)) して、get-task-allow キーの値を確認します。 true に設定されていれば、そのアプリはデバッグ可能です。

$ ldid -e iGoat-Swift.app/iGoat-Swift
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>TNAJ496RHB.OWASP.iGoat-Swift</string>
    <key>com.apple.developer.team-identifier</key>
    <string>TNAJ496RHB</string>
    <key>get-task-allow</key>
    <true/>
    <key>keychain-access-groups</key>
    <array>
        <string>TNAJ496RHB.OWASP.iGoat-Swift</string>
    </array>
</dict>
</plist>

動的解析

デバッグ (Debugging) で説明されているように、直接デバッガをアタッチできるかどうかを確認します。

注意: アプリケーションにアンチリバースエンジニアリングコントロールが装備されている場合、デバッガを検出して停止することがあります。

Last updated

Was this helpful?