セキュリティ研究者のXusheng Li氏は、4つのUSB保護製品に暗号面の弱点があると報告しました。あわせて、OpenAI Codexがリバースエンジニアリングを加速させ、ユーザーのパスワードなしで保護対象ファイルを復元する助けになった様子も示しました。
Li氏は2026年10月22日に公開した調査で、SecZureの「YutianDun」、「NetacFileLock」、「KakaSoft USB Copy Protection」、「Nexcopy Copy Secure」に影響する問題を説明しました。調査では、ハードコードされた秘密情報、隠しアカウント、脆弱な鍵導出、暗号化と切り離された認証チェックが明らかになっています。
YutianDunは、コピー、スクリーンショットなどの操作を制限するコピープロテクト付きUSB製品として販売されています。ベンダーは、暗号化や独自のファイル閲覧制御もうたっています。
Li氏は、このソフトウェアが内部のコンテンツ識別子からAESのファイル鍵を導出していることを突き止めました。管理者のパスワードはこの識別子の一つのコピーを保護していますが、組み込みの2つのアカウントが別の経路でのアクセスを可能にしていました。
隠しアカウント「Buffer」はデフォルトパスワード「123456」を使用し、「System」は固定パスワード「SECZURE.COM」を使用していました。テストした2台のドライブでは、どちらのアカウントでも、保護ファイルの復号に必要な識別子のロックを解除できました。
Li氏はこれを、悪意の有無には踏み込まない形で、技術的なバックドアと位置づけています。実装ではMD5とHMAC-MD5も使われていました。さらに、16進数の出力を切り詰めているため、AES鍵のエントロピーは最大でも64ビットに制限されていました。
Binary NinjaのModel Context Protocol連携を使うと、Codexは静的解析により、Li氏が以前に見つけたNetacFileLockの問題を7分で再現しました。
このユーティリティは、実行ファイルに埋め込まれた固定の32バイト鍵でAES-256を初期化していました。パスワードの検証は別に行われており、パスワードが暗号鍵を決めることはありません。
そのほかにも、診断ログへのパスワード書き込み、MD5ベースの検証、鍵なしのMD5によるファイル署名、SM4暗号化用の別の固定鍵が見つかりました。ブロックごとに独立して暗号化されるため、ECBに似た挙動も生じていました。
Codexは部分暗号化についても説明しました。高速モードでは、1,024バイトを超える対象ファイルの3分の1しか暗号化されません。
KakaSoft USB Copy Protection 5.6.0.299には、3段階の保護レベルがあります。ドキュメントによると、管理者が権限を制御でき、隠しファイルには付属のクライアント経由でアクセスします。
Li氏によると、「Normal」モードでは暗号化が行われません。「High」モードでは、先頭の最大16,385バイトだけを1バイトの鍵でXORします。鍵の候補は256通りにとどまり、残りの内容は無防備なままです。
最上位の「Highest」設定ではBlowfish-CBCを使っていますが、鍵の導出はユーザーのパスワードではなく、埋め込まれたシードに依存していました。
Codexは改変されたMD5ルーチンを追跡し、エミュレーションによって固定の内部パスワードを復元しました。続いてRIPEMD-128でファイル鍵を導出し、設定されたパスワードを知らないまま、保護されたテストファイルを復元しています。
Drive Wizard 1.0.81でプロビジョニングしたNexcopy Copy Secureでは、CBCモードの3鍵Triple-DESが使われていることをLi氏は確認しました。埋め込まれた値でコンフィギュレーションを復号すると、コンテンツ鍵と初期化ベクトルが得られます。
パスワードとデバイスのチェックはビューアの実行を制御しますが、ファイル鍵の導出には関与していません。Codexは約10分の解析で、テストファイルを復元しました。
Li氏は、従来の協調的開示には従わず、直接公開に踏み切りました。出荷済みデバイスの回収や更新が難しいことを理由に挙げています。ただし、調査結果はテストした製品とバージョンに関するもので、全体への影響が独自に検証されたわけではありません。
これらの実証は、復元可能な秘密情報が最終的にファイルの復号を左右する場合、解析可能なクライアントソフトウェアがパスワード入力画面やコピー制限を無力化しかねないことを示しています。
脅威調査を効率化し、手作業を減らすため、16,000以上のSOCチームがANY.RUNを利用しています。チームで試してみる
翻訳元: https://cyberpress.org/openai-codex-hardcoded-keys-weak-encryption/