EternalBlue (CVE-2017-0144)
EternalBlue (CVE-2017-0144) とは何ですか?
EternalBlue (CVE-2017-0144)2017 年に発見された Microsoft SMBv1 のリモートコード実行脆弱性に対する NSA 開発のエクスプロイト。Shadow Brokers が流出させ、WannaCry や NotPetya に利用された。
EternalBlue(CVE-2017-0144)は Microsoft の SMBv1 実装に存在するリモートコード実行脆弱性で、ネットワーク上の未認証攻撃者がほとんどの当時サポート対象だった Windows でカーネルレベルのコード実行を可能にしました。本来は NSA/Equation Group の攻撃ツールであり、2017 年 4 月 14 日に Shadow Brokers によって公開されました。その際、FuzzBunch フレームワークや、攻撃者が後続フェーズのペイロードとして通常インストールするカーネルバックドア DoublePulsar も同時に流出しました。
技術的には、EternalBlue は srv.sys が過大な SMBv1 トランザクションを処理する方法を悪用します。サーバーが拡張属性(FEA)リストのサイズをキャストする際の型の取り違え(type confusion)により、非ページプール内のカーネルプールでバッファオーバーフローが発生します。攻撃者は SMB パケットでカーネルヒープを「グルーミング」し、オーバーフローが SRVNET バッファの隣に着地するよう仕向け、最終的に実行を攻撃者の制御下にあるシェルコードへとリダイレクトします。Microsoft は流出の 1 か月前にあたる 2017 年 3 月 14 日に MS17-010 を公開し、WannaCry が拡散し始めると、サポート終了済みの Windows XP にも異例の修正パッチを提供しました。
この欠陥は WannaCry(2017 年 5 月 12 日)と NotPetya(2017 年 6 月 27 日)の伝搬エンジンとなりました。ランサムウェアを装ったワイパーである NotPetya は、Maersk、Merck、Mondelez を機能不全に陥れ、100 億ドルを超える被害をもたらしました。数年が経った今も、パッチ未適用の SMBv1 ホストは侵害され続けています。対策は、MS17-010 の適用、SMBv1 の完全な無効化、境界での TCP/445 のブロック、そしてフラットなネットワークのセグメント化です。
flowchart TD
A[Shadow Brokers による流出<br/>2017 年 4 月] --> B[EternalBlue エクスプロイト<br/>CVE-2017-0144]
B --> C[細工された過大な SMBv1 トランザクション]
C --> D[srv.sys における型の取り違え + 非ページプールのオーバーフロー]
D --> E[カーネルコード実行]
E --> F[DoublePulsar バックドア]
F --> G{ペイロード}
G --> H[WannaCry ランサムウェア]
G --> I[NotPetya ワイパー]
H --> J[TCP/445 経由で次のホストへワーム拡散]
I --> J
J --> C● 例
- 01
WannaCry が EternalBlue を用いて企業 Windows ネットワーク内でワームのように拡散する。
- 02
NotPetya が EternalBlue で組織内に拡散した後、データを破壊する。
● よくある質問
EternalBlue (CVE-2017-0144) とは何ですか?
2017 年に発見された Microsoft SMBv1 のリモートコード実行脆弱性に対する NSA 開発のエクスプロイト。Shadow Brokers が流出させ、WannaCry や NotPetya に利用された。 サイバーセキュリティの 脆弱性 カテゴリに属します。
EternalBlue (CVE-2017-0144) とはどういう意味ですか?
2017 年に発見された Microsoft SMBv1 のリモートコード実行脆弱性に対する NSA 開発のエクスプロイト。Shadow Brokers が流出させ、WannaCry や NotPetya に利用された。
EternalBlue (CVE-2017-0144) からどのように防御しますか?
EternalBlue (CVE-2017-0144) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
EternalBlue (CVE-2017-0144) の別名は何ですか?
一般的な別名: MS17-010, CVE-2017-0144。