カーネル領域で不適切なアップデートが行われてもクラッシュしないようにする技術「eBPF」とはどんな仕組みなのか
![](https://image.news.livedoor.com/newsimage/stf/1/3/136cc_88_773ddc06b90aebba2e6fdf9f12170665.png)
2024年7月19日、サイバーセキュリティ企業のCrowdStrikeが配信したアップデートの影響で全世界で850万台のWindows搭載PCが起動不能になりました。OSの中でも中核部分であるカーネル部分のアップデートにおいてはCrowdStrikeの例のように重大なトラブルを発生させる可能性がつきまとうものです。そうしたカーネル部分のアップデートによるクラッシュを防止する技術が「eBPF」です。
https://www.brendangregg.com/blog/2024-07-22/no-more-blue-fridays.html
![](https://image.news.livedoor.com/newsimage/stf/8/3/839e2_88_bcaf770140bc50c19ff30ee6151e5fd6.png)
CrowdStrikeの事件については下記の記事を読むとよくわかります。
全世界的に発生したCrowdStrikeによるブルースクリーンオブデス問題の影響を受けたWindows端末は850万台で全体の1%未満 - GIGAZINE
![](https://image.news.livedoor.com/newsimage/stf/c/0/c00f8_88_bcb68a84b711c8b003b97758b9350358.jpg)
CrowdStrikeの事件の原因は、CrowdStrikeが毎日数回更新・配布している構成ファイルにミスがあったこととされています。構成ファイルにおいて不正なアドレスが指定されていたため、カーネルドライバが無効なメモリを読み取ろうとしてシステムがクラッシュしてしまいました。
多数のWindowsでブルースクリーンを発生させてしまったCrowdStrikeのコードは何が悪かったのか - GIGAZINE
![](https://image.news.livedoor.com/newsimage/stf/8/c/8c4c0_88_c641df94a8aa1ac28d2c6d89815a8352.png)
ウェブブラウザは信頼できないサイトのJavaScriptを実行するために隔離された実行環境を用意しています。eBPFは同様の動作をカーネルで行う仕組みで、eBPFはプログラムを静的に検証して安全性を確認し、隔離されたカーネル環境において実行します。チェック中に安全ではないコードが見つかった場合にはプログラムが拒否され、システム全体をクラッシュさせることはありません。
![](https://image.news.livedoor.com/newsimage/stf/d/c/dc358_88_c5e99ae3d9faa6bdf2cb0cb6ce52bfbd.png)
eBPFは2014年に最初のリリースが行われ、2017年にはLinuxカーネルへと組み込まれました。2024年時点ではGoogleやMetaなど大手IT企業がeBPFを活用し、自社システム内の悪意のある行為を検出してセキュリティを向上させています。
Windows向けのeBPFの開発も進められており、eBPFが普及することでセキュリティソフトウェアでもシステムをクラッシュさせないようにできるとのことです。