このテストは ECB (Electronic Codebook)arrow-up-right などの不備のある対称暗号モードに焦点を当てています。
詳細については、不備のある暗号モードの使用 を参照してください。
iOS 開発では、最近の CryptoKit は ECB モードをサポートしておらず、AES-GCM や ChaCha20-Poly1305 などの安全な暗号モードのみをサポートしているため、この問題に脆弱ではありません。但し、アプリケーションが古い CommonCrypto ライブラリや ECB モードをサポートする可能性のあるその他のサードパーティライブラリを使用している可能性があります。この場合では、ECB モードが使用されていないことを検証することが重要です。
CryptoKit
CommonCrypto
CommonCryptoarrow-up-right では、CCCrypt 関数の options パラメータに kCCOptionECBMode (値 0x0002 または 2) を設定することで ECB モードを有効にできます。options パラメータに kCCOptionECBMode が設定されている場合、暗号化には脆弱であるとみなされている ECB モードを使用します。デフォルトの動作 (kCCOptionECBMode が設定されていない場合) では CBC モードを使用します。これは適切な初期化ベクトル (IV) とともに使用するとより安全です。
CCCrypt
options
kCCOptionECBMode
0x0002
2
iOS アプリのリバースエンジニアリング (Reverse Engineering iOS Apps)arrow-up-right を使用して、アプリをリバースエンジニアします。
相互参照の取得 (Retrieving Cross References)arrow-up-right を使用して、対称暗号化とそのモードの使用を探します。
逆アセンブルされた Objective-C と Swift のコードをレビューする (Reviewing Disassembled Objective-C and Swift Code)arrow-up-right を使用して、関連するコードパスを解析し、暗号モードの値を取得します。
出力には対称暗号化とそのモードの使用を含む可能性があります。
ECB モードなどの不備のあるモードが有効になっている対称暗号化の使用を見つけた場合、そのテストケースは不合格です。
Last updated 2 months ago