ロボットは冷却技術を使用して RAM チップからデータをリッピングできる • The Register
メモリ チップを冷却し、暗号化キーを含むデータを略奪するコールド ブート攻撃は、2008 年に実証されましたが、自動化されたばかりです。
この元のタイプの攻撃は改良され、メモリ窃盗マシンの形で自動化されています。このマシンは、少し自己誘導的な電気操作を行うだけで、約 2,000 ドルで入手できます。
金曜日、カナダで開催されるリバース・エンジニアリング・カンファレンス REcon で、Red Balloon Security の創設者兼 CEO である Ang Cui 氏が「Ice Ice Baby: Coppin' RAM With DIY Cryo-Mechanical Robot」と題した講演を行う予定です。
このプレゼンテーションでは、Cui 氏と同僚の Grant Skipper 氏および Yuanzhe Wu 氏が、DDR3 メモリ モジュールから復号化されたデータを収集するために開発した低温機械 RAM コンテンツ抽出ロボットに焦点を当てています。 そうする根拠は、ハードウェア メーカーが JTAG デバッグ インターフェイスと UART 回路を無効にし、ボール グリッド アレイ (BGA) パッケージと暗号化されたファームウェアを使用することで、デバイスのリバース エンジニアリングをより困難にしているためです。
「メーカーが多くのデバッグインターフェースを削除するという、いわゆる製品の仕上げが行われています」とCui氏はThe Registerのインタビューで語った。 「製品のセキュリティが必ずしも強化されるわけではありませんが、デバイスのイントロスペクションとデバイスのリバース エンジニアリングがはるかに困難になります。これらのハードウェア関連のいくつかを回避するのは、単なる時間の無駄です。
「そこで私たちは、別の道を進むことで、その力関係を少し変えることにしました」と崔氏は語った。 「過去に行ったフォールトインジェクションや、レーザーアブレーションによる非常に侵襲的なリバースエンジニアリングを試みる代わりに、私たちは一度にデバイス上の 1 つの RAM チップを文字通りフリーズする、非常に手頃な価格で驚くほど正確なロボットを構築しました。 。」
「その後、物理 RAM の内容を読みたいときにデバイスから物理メモリを引き出します。それを小さな FPGA フィクスチャに叩き込みます。基本的には、物理メモリをデバイスから取得して物理的にメモリに挿入するだけで読み取っています。そしてそれは実際に驚くほどうまく機能しました」と Cui 氏は説明しました。
「ブートローダーでは、多くの場合、復号化キーが表示されます。また、ブートローダー コードも表示されます。これは、多くの場合、フラッシュ上に暗号化されたファームウェアがあり、安全なブート ROM がある場合に当てはまります。たとえ多少でも、コードを読み取るためのアクセスを取得するだけでも非常に困難になる可能性がありますが、このアプローチを使用すると、コードを取得し、すべてのデータを取得し、スタックを取得し、ヒープを取得し、すべての物理メモリを取得します」と彼は振り返った。
Cui氏によると、最初のコールドブート攻撃には、圧縮空気の入った缶を逆さまにしてコンピュータのDRAMを冷やすことで、ラップトップのメモリを凍結させるという攻撃が含まれていたという。 メモリ チップを約 -50°C に下げると、その中に表されるデータが一時的に凍結され、電源が切れた場合でも数分間保持されます。
「しかし、組み込みデバイスを見ると、モジュール式 RAM が搭載されていません」と Cui 氏は言います。 「すべてはんだ付けされています。私たちはまた、非常にカスタムなメモリ コントローラーを多数開発しました。私たちは、このアプローチを使用して、今年初めにシーメンスの脆弱性公開作業を行いました。
「そのため、1 つのメモリ チップを確実に引き抜き、正しく読み取ることができたら、1 つではなく 5 つのチップを使用する必要がありました。それらはすべて互いに組み合わされているためです。そして、チップのうち 3 つは基板の片側にあり、残りの 2 つは基板の片側にあります。そこで、文字通り同じ命令で 5 つのメモリ チップすべてを魔法のように取り外す方法を考え出す必要がありましたが、これはご存知のとおり、笑えるほど複雑で、実際には実行できません。 」
「私たちは、これを一度に 1 つずつ実行する、もう 1 つの本当に素晴らしいトリックを思いつきました。決定論的な実行だけでなく、デバイスの電磁放射も調べて、基本的にデバイスがどこにあるかを把握します。 「CPU に制約された操作期間を経ています。CPU に制約されている場合、自分が何をしていないのかわかりますか? メモリから書き込んでいるわけではありません」と彼は思い出しました。
「そのため、メモリ チップを取り外すときに数十ナノ秒のタイミング分解能が必要になる代わりに、これを実行できる期間を数十ミリ秒にすることができました。これにより、5 つのメモリ チップを同時に取り外すことができました。その後、ブートローダー、コード、データのメモリを再構築し、デバイスを可視化しました。」
そして、Cui氏によると、数十ミリ秒は、AliExpressから約500ドルで入手して改造したコンピュータ数値制御(CNC)マシンが必要なチップ操作を実行するのに十分な長さだという。
このロボット (フィールド プログラマブル ゲート アレイ (FPGA) で構築されたメモリ リーダーと、MicroPython を実行する ESP32 モジュールに基づくコントローラーに接続された CNC マシン) は、コールド ブート攻撃手法を簡素化し、煩わしさを軽減します。
Cui氏によると、このロボットはモーターやX軸アクチュエーターなどの不正確な部品を取り除いたCNCで構成されているという。 同氏によると、攻撃を可能にしているのは、導電性エラストマー製のICテストソケットと呼ばれるものだという。
クラムシェルのような形状で金属ピンが付いている一般的なテスト ソケットとは対照的に、エラストマー テスト ソケットは硬いグミのような硬さを持ち、導電性ピンが印刷されています。
ソケットの柔軟性により、回路基板やメモリ チップを損傷することなく、安価なハードウェアを使用してピストンでメモリ チップを所定の位置に押し込むことが可能になりました。 そして、これらのソケットは、10年前にはそれぞれ数百ドルもしたものですが、今ではタオバオで30ドル程度で購入できます。
FPGA ベースのメモリ読み出しシステムを組み込むことにより、DRAM の内容をダンプするためにカスタム ブートローダーを介してコードを実行する必要がなくなります。 また、ロボットは、ターゲット デバイスと読み出しシステムの間で DRAM チップを物理的に転送することにより、攻撃プロセスを簡素化します。
Cui 氏らは、Siemens SIMATIC S7-1500 PLC 上でロボットをデモンストレーションし、そこから暗号化されたファームウェア バイナリの内容を復元できました。 また、CISCO IP 電話 8800 シリーズの DDR3 DRAM に対しても同様の攻撃を実行し、ランタイム ARM TrustZone メモリにアクセスし、成功しました。
彼らは、より高価な (約 10,000 ドルなど) FPGA ベースのメモリ読み出しプラットフォームを使用すれば、自分たちの技術がより洗練された DDR4 や DDR5 にも適用できると考えています。コストは時間の経過とともに低下すると彼らは予想しています。
コールドブート攻撃は物理メモリの暗号化で対抗できる、とCui氏は述べた。
「最近の CPU やゲーム機では、実際にはすでに完全に暗号化されたメモリが使用されています」と Cui 氏は説明しました。 「これでは、このアプローチは無効になります。たとえ物理メモリをリッピングできたとしても、デバイス内の別の場所にある物理キーが必要になるからです。」
「しかし、世界にとって重要なものほど、安全性は低くなります」と彼は言う。 「それでは、何が [メモリ暗号化] を備えていると思いますか? XBox にはそれがあります。PS5 にはそれがあります。何がついていないのでしょうか? 地球上のすべての PLC [プログラマブル ロジック コントローラー] CPU が効果的に使用します。多くの重要なインフラストラクチャには、私たちが依存しているものが組み込まれています。この種の攻撃に対処している企業はほとんどありません。」 ®
ニュースを送ってください
入手してください