web-dev-qa-db-ja.com

ラクシャサに関する質問

Jonathan Brossardの ハードウェアバックドアは実用的 2012年のDef Con 20での講演について:

Hardware Backdooring is practical (YouTube)

「ペイロードはNetworkbootを介して起動される」とは、開発者が何を意味するのですか?

ブートキット(Kon-Bootの変更バージョン)は、接続されたハードドライブにリモートで感染する方法を教えてください。

これは、サーバーのどこかにブートパーティションがあり、Rakshasaがこのパーティションに接続して、被害者のPC上の物理的に接続されたハードドライブのブートパーティションを言うことを意味しますか?

6

ラクシャサの作成者の目標は、アンチウイルスによってフラグが立てられる可能性のあるマルウェアが、マシン内の任意の場所(ハードディスク上、ファームウェア内、または他の場所)に保存されることを回避することでした。

これを達成するために、ジョナサンブロサール(作成者を自分の名前で呼ぶ)は次の原則でラクシャサを実装しました。

  • ラクシャサは、合法的な方法で通常使用されるOpend-Sourceコンポーネントだけでなく、主に構成されています。これらのコンポーネントには、無料のBIOSファームウェア、関連するTCPスタック、およびリモートイメージをダウンロードしてそこから起動できるソフトウェアが含まれます。このようなソリューションは、キオスクコンピューター、シンクライアント、企業レスキューシステム:すべてのコンピューターがシステムイメージを共有できるため、nマシンの代わりに、共有イメージを1つだけ更新できます。
  • ここでの主な違いは、上記の企業の例のように、実際にRakshasaが正当なシステムイメージをダウンロードするのではなく、変更されたKon-bootイメージをダウンロードします(ただし、これは実際には何でもかまいません)。

だから、私があなたの質問に戻った場合:

ブートキット[...]は接続されているハードドライブにリモートで感染していますか?

ここではリモート感染は発生していません。

実際、作成者は、彼のデモンストレーションの範囲外である最初の汚染ステップに非常に速く進んでいます。彼は、初期の汚染は、たとえばハードウェアプロバイダー自身、配送プロセス中の小包の差し押さえ、またはマシンへの物理的なアクセス権を持つ他の誰かによって行われる可能性があると述べています(TPMベースのセキュリティ対策によってこれが最後になる場合もあります)もう1つ難しい)。

悪意のあるソフトウェアによる汚染も可能ですが、BIOSとネットワークカードのファームウェアをフラッシュしようとする通常のソフトウェア動作の一部ではないため、ここでもウイルス対策の検出の問題が発生します...

とにかく、このプレゼンテーションのほとんどは、既に感染したマシンを考慮しています。これの意味は:

  • BIOSファームウェアは、攻撃者が所有する一連のサーバーからブートキットをダウンロードするように構成されたカスタムオープンソースファームウェアで再フラッシュされました。
  • 本格的な攻撃により、ネットワークカードのファームウェア(別のPCIデバイスも問題ない可能性があります)もカスタム変更されたファームウェアで再フラッシュされましたマシンの所有者によってクリーニングされた場合に備えて、BIOSファームウェアを再感染させることができます。
  • ハードディスクは検出されていないため、変更されていません。

これは、サーバーのどこかにブートパーティションがあり、Rakshasaがこのパーティションに接続することを意味します...

実際にはブートパーティションではありません。これは単なるブートイメージであり、実際には標準ファイルです(例として、プレゼンターは.pdf extensions)起動シーケンス中にマシンによってダウンロードおよび実行されるバイナリコードを含みます。

前述のように、シンクライアント、キオスクコンピュータ、およびレスキューシステムとして企業環境に実装されているこのようなシステムは最も一般的です:代わりにブートを読み取るローカルハードディスクからの指示、そのようなシステムはダウンロードされたファイルから指示を読み取ります。

...そして、被害者のPCに物理的に接続されたハードドライブのブートパーティションを言うようにしますか?

上記の企業の例では、ハードディスクがなくても、ダウンロードされたブートイメージがハードディスクの代わりに使用されます。まったく(シンクライアント、キオスクコンピュータ)、またはハードディスクが起動できなくなり、イメージを再作成する必要があるため(企業ネットワークレスキューシステム)。

したがって、このようなブートイメージには、使用する必要のあるものすべてに専用の完全なオペレーティングシステムが含まれています。

逆に、ラクシャサは標準的な方法を使用しましたが、逆に、元のオペレーティングシステムを完全に置き換えることを意味するわけではありません。ユーザーに対してできるだけ透過的にしたいからです。

したがって、ダウンロードされたブートイメージには完全なオペレーティングシステムは含まれず、そのコードは次のことのみを行います。

  1. 要求されたすべてのマルウェアとペイロード(Konブート、セキュリティ対策など)を含み、それらを要求された順序で実行し、一部をメモリに常駐させ、
  2. すべてのペイロードが正常に実行されると、最初の起動可能なパーティションに制御を戻します。これ以降、マシンは通常のブートシーケンスを取得します。

余談ですが(プレゼンテーション中に言及されたかどうかは覚えていません)、この「最初の起動可能なパーティション」は通常はハードディスクですが、マシンの所有者がコンピュータから起動している場合はCD-ROMになることもあります。ハードディスクの代わりにCD。マルウェアやバックドアを回避するためにしばしば推奨されるLive-CDからの起動は、そのような脅威に対するセキュリティをもたらさないことを意味するので、これはある程度重要です。

2
WhiteWinterWolf

はい、あなたはラクシャサが何をしているかを正しく結論付けました、ただしハードドライブ自体は決して感染しておらず、侵害の証拠もありません。侵害は、BIOS内の悪意のないコードとしてのみ存在し、RAM内にのみ存在するネットワークサーバーから悪意のあるコードをロードします。

それは私たちが見てレビューするのに長いビデオなので、束をスキップして DarkReading writeup を読んだだけなので、何かキーを逃した可能性があります。その場合は、質問に関連する時間の範囲をメモしてください。

iPXE の使用について説明している12:22のスライドを見ています。これは、Wikipediaがメモしているネットワークブートシステムです "を使用できます"組み込みPXEサポートのないコンピューターがネットワークから起動できるようにするか、既存のPXEクライアント実装を拡張して追加のプロトコルをサポートできるようにします。

iPXEは、ネットワークを介してシステムを起動するために使用され、リモートホストからブートキットを取得します。 16:29で、スピーカー Jonathan Brossard がメモ:

ブートキットはディスクに触れず、PCI拡張ROMにもBIOSにも埋め込まれていませんROMのいずれかです。

これは完全なネットワークブートシステムです。別のスライド(16:09)で説明したように、「マルウェア:ブート時にフェッチされ、RAMにのみ保存されます」KON-BOOT 、パスワードのバイパス(erm、「回復」)に使用される起動可能なLive CDは、ローカルOS(Windows、OS X、またはLinux)のラッパーです。パスワードなしでroot /管理者アクセスを許可します。ラクシャサの改変は、この侵害されたシステムにさらなるマルウェアを導入します。

完全なルートアクセスと、侵害されたBIOSと侵害されたカーネルの両方を使用すると、Rakshasaはほとんど何でもできます。 Brossardは、多数のCPU命令を危険にさらし、さらなるトリックを可能にする異常を導入することを選択しました。

Linuxについて:LinuxのサポートはKON-BOOTのドキュメントから削除されたようですが、まだあるようです。ブートディスクを使用してLinuxに侵入するのは簡単です。LinuxLive CDをブートして/etcをマウントし、 /etc/shadow でrootユーザーのパスワードハッシュを変更します。これは、ローカルディスクに触れることなく、 UnionFS のようなものを使用して非破壊的に行うこともできます。

ただし、これがrootアクセスを取得する方法です。

ラクシャサがしているように見える種類のことを行うには、カスタムカーネル(またはカスタムカーネルモジュール?)が必要になります。ターゲットを絞った攻撃について話さない限り、すべてのLinuxカーネルをサポートすることは現実的ではないので、攻撃フレームワークはUbuntu LTSやRed Hat Enterpriseのようなシステムのみをサポートし、どちらも時間の経過とともに大きく変化しないと思います(両方とも)非常に人気があります)。

/etcが暗号化されている場合、shadowファイルが改ざんされる可能性は低くなりますが、UnionFSは理論的には、ファイルを読み取らずに切り捨てることができます。とはいえ、不正なカーネル(または不正なカーネルモジュール)をロードすると、無限の領域が可能になり、shadowファイルがまったく必要なくなります。

1
Adam Katz