背景
Androidアプリの脆弱性を見つけてCVEをゲットしたいため,まずは情報収集から
CVE事例
概要
『株式会社EPARKが提供するAndroidアプリ「くら寿司 公式アプリ Produced by EPARK」には、ハードコードされた暗号鍵の使用(CWE-321)の脆弱性が存在します。』
想定される影響
- 当該製品のログイン用IDとパスワードを取得される可能性がある
- CVSSv3 4.0
脆弱性について
ハードコートされた暗号キーを使用することによって,暗号化されたデータが復元される可能性が高まる
攻撃手法
- ソースコードの解析
脆弱性の実装例
【参考: The MITRE Corporation, “CWE-321: Use of Hard-coded Cryptographic Key”, CWE List, https://cwe.mitre.org/data/definitions/321.html, (2024/12/28アクセス)】 Java
public boolean VerifyAdmin(String password) {
if (password.equals("68af404b513073584c4b6f22b6c63e6b")) {
System.out.println("Entering Diagnostic Mode...");
return true;
}
System.out.println("Incorrect Password!");
return false;
C言語
int VerifyAdmin(char *password) {
if (strcmp(password,"68af404b513073584c4b6f22b6c63e6b")) {
printf("Incorrect Password!\n");
return(0);
}
printf("Entering Diagnostic Mode...\n");
return(1);
}
C#
int VerifyAdmin(String password) {
if (password.Equals("68af404b513073584c4b6f22b6c63e6b")) {
Console.WriteLine("Entering Diagnostic Mode...");
return(1);
}
Console.WriteLine("Incorrect Password!");
return(0);
}
キーが直接コード内に記述されている.
対策
- ハードコーディングしない