カーネル領域で不適切なアップデートが行われてもクラッシュしないようにする技術「eBPF」とはどんな仕組みなのか
![](https://i.gzn.jp/img/2024/07/23/ebpf-kernel-protection/00_m.png)
2024年7月19日、サイバーセキュリティ企業のCrowdStrikeが配信したアップデートの影響で全世界で850万台のWindows搭載PCが起動不能になりました。OSの中でも中核部分であるカーネル部分のアップデートにおいてはCrowdStrikeの例のように重大なトラブルを発生させる可能性がつきまとうものです。そうしたカーネル部分のアップデートによるクラッシュを防止する技術が「eBPF」です。
No More Blue Fridays
https://www.brendangregg.com/blog/2024-07-22/no-more-blue-fridays.html
![](https://i.gzn.jp/img/2024/07/23/ebpf-kernel-protection/snap6655_m.png)
CrowdStrikeの事件については下記の記事を読むとよくわかります。
全世界的に発生したCrowdStrikeによるブルースクリーンオブデス問題の影響を受けたWindows端末は850万台で全体の1%未満 - GIGAZINE
![](https://i.gzn.jp/img/2024/07/22/crowdstrike-outage-8-5-million-windows-devices/00_m.jpg)
CrowdStrikeの事件の原因は、CrowdStrikeが毎日数回更新・配布している構成ファイルにミスがあったこととされています。構成ファイルにおいて不正なアドレスが指定されていたため、カーネルドライバが無効なメモリを読み取ろうとしてシステムがクラッシュしてしまいました。
多数のWindowsでブルースクリーンを発生させてしまったCrowdStrikeのコードは何が悪かったのか - GIGAZINE
![](https://i.gzn.jp/img/2024/07/22/windows-crowdstrike-bsod-analysis/00_m.png)
ウェブブラウザは信頼できないサイトのJavaScriptを実行するために隔離された実行環境を用意しています。eBPFは同様の動作をカーネルで行う仕組みで、eBPFはプログラムを静的に検証して安全性を確認し、隔離されたカーネル環境において実行します。チェック中に安全ではないコードが見つかった場合にはプログラムが拒否され、システム全体をクラッシュさせることはありません。
![](https://i.gzn.jp/img/2024/07/23/ebpf-kernel-protection/snap6654_m.png)
eBPFは2014年に最初のリリースが行われ、2017年にはLinuxカーネルへと組み込まれました。2024年時点ではGoogleやMetaなど大手IT企業がeBPFを活用し、自社システム内の悪意のある行為を検出してセキュリティを向上させています。
Windows向けのeBPFの開発も進められており、eBPFが普及することでセキュリティソフトウェアでもシステムをクラッシュさせないようにできるとのことです。
・関連記事
Intelの第13・14世代のCPUには欠陥がありクラッシュ・強制終了・エラーの原因となっているという指摘を証明する膨大な量のレポートデータが発見される - GIGAZINE
NES版テトリスのレベル上限到達時のクラッシュを活用して任意のコードを実行し理論的にテトリスを無限プレイ可能にした猛者が登場 - GIGAZINE
ジャネット・ジャクソンのヒット曲を再生すると古いHDDがクラッシュする脆弱性が話題に - GIGAZINE
Intelが第13・14世代CPUの問題についてノートPCでは起きないと主張するもさらに反論されまくる - GIGAZINE
中国系ハッカーが署名キーをWindowsのクラッシュダンプから盗み出していたことが判明 - GIGAZINE
・関連コンテンツ