この脆弱性(CVE-2021-3011)により、プライマリ暗号化キーを回復し、2要素認証をバイパスすることができます。NinjaLabのセキュリティ専門家は、NXPA700Xチップに基づくGoogleTitanトークンに対して潜在的なハッカー攻撃がどのように機能 するかを説明しましたが、理論的には同じハッキングパターンがYubico(YubiKeyから)と同様のチップを使用するFeitian暗号トークンに関連しています。
攻撃がどのように機能するか、そして物理的な暗号化キーを引き続き信頼できるかどうかについて話しましょう。
GoogleTitanについて
このセキュリティキーは2018年から販売されています。これは、ユーザーのIDを物理的に検証するために使用されるハードウェアMFAデバイスです。キーは通常、SMSや電子メールで送信される検証コードなどの安全性の低い多要素認証方法の代わりに使用されます。
Google Titanの特徴は、電子メールパスワードを受信した後でも、攻撃者は物理キーがないとデータにアクセスできないことです。NinjaLabの研究者は、これにも注目しました。キーは、盗まれたり紛失したりした場合にのみ危険にさらされます。
Google Titanには、2つの種類があります。1つはUSBフラッシュドライブにいくぶん似ています-マイクロチップは「裸」で、キーはUSBとNFCを介して機能します。2番目のオプションは、キーフォブの形式の車のキーに似ており、Bluetooth経由で機能します。
電磁放射から計算する
NinjaLabの専門家は、Google Titanの開始以来、キーがサードパーティまたはサイドチャネルを介した攻撃に対して脆弱である可能性があると考えてきました。これらには、とりわけ、動作中にデバイスから放出される電磁放射を監視した結果に基づく攻撃が含まれます。その分析は、作業のパターンを特定し、ハッキングに役立つ情報を収集するのに役立ちます。
デジタル署名生成(ECDSA)中に電磁放射を観察することにより、セキュリティの専門家は安全なキー要素であるNXPA700Xチップを攻撃してクローン化することに成功しました。Google Titanで使用されているチップセットが他のセキュリティキーの基礎になっているという事実も、市場に出回っている他の製品に対する懸念を引き起こしています。
攻撃の影響を受けた製品の中で、次のことが指摘されました。
- Google Titanセキュリティキー、
- ユビコユビキーネオ、
- Feitian FIDO NFC USB-A / K9、
- Feitian MultiPass FIDO / K13、
- Feitian ePass FIDO USB-C / K21、
- Feitian FIDO NFC USB-C / K40、
- NXP J3D081_M59_DF、
- NXP J3A081
- NXP J2E081_M64、
- NXP J3D145_M59、
- NXP J3D081_M59、
- NXP J3E145_M64、
- NXPJ3E081_M64_DF。
NXPセキュリティ対応チームは、P5およびA7x製品のバージョン2.9より前のすべてのNXPECC暗号ライブラリが攻撃に対して脆弱であることを確認しました。
攻撃の実行方法
キーがハッキングされる可能性があることにすぐに注意する必要がありますが、それが簡単であるとは誰も言いません。たとえば、NinjaLabレポートの60ページに記載されているハッキングプロセスは、エージェント007に関する映画の精神に基づく操作の基礎になる可能性があります。
すべては、フィッシングメールなどの単純な攻撃から始まります。攻撃者の目的は、ターゲットアカウントのユーザー名とパスワードを取得することです。これは操作の最も簡単な部分です。
上で説明したように、資格情報はセキュリティキーを持っていないと役に立ちません。これは、ハッカーが所有者からセキュリティキーを盗むために、一定期間、紛失に気付かないようにする必要があることを意味します。結局のところ、所有者が鍵の欠如に気付いた場合、彼は鍵を取り消すか、新しい鍵を登録することができ、それは詐欺師のすべての努力を無効にします。
ミッションの盗難の成功:不可能なトークンは終わりません。さらに、攻撃者はいくつかの制限に直面しています。
Google Titanセキュリティキーを使用するには、最初にデバイスのケースを開く必要があります。攻撃者はまだ疑いを持たない犠牲者に鍵を返す必要があるため(できれば元の形式で)、剖検は非常に慎重に行う必要があります。
NinjaLabの専門家は、熱風銃でプラスチックを柔らかくし、頭蓋骨で鍵を割った。これは、プリント回路基板を損傷しないように注意深く行う必要があります。下の写真からわかるように、キーケースはまだ表示されていないため、3Dプリンターで新しいケースを印刷するだけで状況が保存される可能性が高くなります。 NinjaLabの専門家がトークンを分解して組み立てるのに約4時間かかりました。
1つのFIDOU2Fアカウントのキーを回復するのにさらに6時間かかりました。研究者は、電磁放射がECDSAの一時的な鍵情報と相関することを示しました。これは、機械学習技術を使用して秘密鍵を明らかにするのに十分です。 Google Titanトークンの秘密鍵を回復するには、Googleアカウントに接続するときにFIDO U2F2要素認証に使用されるECDSA鍵に基づいて約6,000のデジタル署名操作を分析するだけで十分です。
しかし、繰り返しになりますが、これはすべて、疑いを持たない被害者が攻撃者によって明らかにされたキーを引き続き使用する場合にのみ可能です。
上記のすべては、スパイをプレイしたくないハッカーを怖がらせるように思われます。しかし、それだけではありません。この攻撃には、約13,000ドルの高価な機器、マイクロ回路のリバースエンジニアリングのスキル、およびパブリックドメインにはない特別なソフトウェアも必要です。
必要な機器の中で:
- 微小回路の電磁適合性のテストに使用される複雑なLangerICR HH500-6の測定
- アンプランガーBT706、
- 分解能10μmのThorlabsPT3 / Mマイクロマニピュレーター、
- 4チャンネルオシロスコープPicoScope6404D。
次は何ですか
識別された脆弱性にもかかわらず、NinjaLabの専門家は、物理的なMFAキーが他のキーよりも効果的であると述べています。少なくとも、あなたはそれらをクラックするために非常に一生懸命努力する必要があるからです。そして、私たちは「ランダムな」人々の集団ハッキングについて話しているのではなく、選ばれた犠牲者への標的型攻撃について話しているのです。つまり、メールに分類されたペンタゴンデータが保存されていない場合、この脆弱性に悩まされる可能性はほとんどありません。
Ninja Labsは、適切なセキュリティ対策が、クローン化されたセキュリティキーによって引き起こされる潜在的な損害を制限するのに役立つと付け加えています。提案されている対策には、クローン化されたキーを検出し、影響を受けるアカウントをロックできるMFAシステムの実装が含まれます。たとえば、FIDOU2F仕様で説明されているカウンタメカニズム 。
その本質は、トークンが実行された操作を追跡し、値をサーバーに送信することです。サーバーは、送信された情報を、同じトークンで前の操作中に保存された値と比較します。転送された値が保存された値よりも小さい場合、メカニズムは、同じキーのペアを持つ複数のデバイスがあると結論付けます。カウンタメカニズムはすでにGoogleサービスの認証に使用されており、クローントークンからアクティビティを検出するときにアカウントをブロックできます。
そしてもちろん、操作全体が単純なソーシャルエンジニアリング攻撃から始まることを覚えておく価値があります。これは、この段階での注意力が攻撃者の成功の可能性を大幅に減らすことを意味します。