今週、インテル、米国政府、学界の有識者らが集まり、エル・レグのような人物が次の重大なバグの暴露を台無しにしないようにするにはどうすればよいか検討した。
グループはサンフランシスコのチャーチルクラブに集まり、2018年のセキュリティ上の大きな話題となったCPU脆弱性「Spectre-Meltdown」を振り返り、今後の対応について検討しました。チップ設計者には2017年6月頃に、OS開発者にもその直後に脆弱性に関する警告が出ていましたが、2018年1月9日(火)の公開予定日の1週間前まで、情報開示に向けた行動計画はまだ策定中でした。ベンダーからの回答が得られなかったため、規制当局は1月2日にこの脆弱性を公表し、スケジュールを急遽変更せざるを得なくなりました。
委員会の有識者には、インテルの政府および政策担当ディレクターのオードリー・プランク氏、半導体工業会のCEOであるジョン・ニューファー氏、カリフォルニア大学バークレー校の法学教授デイドラ・マリガン氏、ホワイトハウスの国家安全保障会議の委員からベナブルのサイバーセキュリティディレクターに転身したアリ・シュワルツ氏が含まれていた。
講演は、CPUの投機的実行の脆弱性に焦点を当て、チップ設計者を設計図に戻し、カーネルおよびツールチェーンプログラマーをIDEに戻し、問題の解決と緩和策の検討を迫りました。発表から1年が経ち、パネルメンバーは、どうすればもっと違った対応ができたのかを考察しました。
シュワルツ氏にとって、この物語は2014年のHeartbleed(データ漏洩を引き起こすOpenSSLのバグ、Meltdownの前身であるMeltdown)にまで遡ります。当時、彼はホワイトハウスで働いており、このバグが適切な注目を集めるまで、その危険性を実際に強調する必要がありました。
「見たとき、これはとても大きなことだと分かりました」とシュワルツ氏は当時を振り返った。「大統領首席補佐官が私たちのオフィスに来て、『この件について全てを知りたい』と言ったんです」
Heartbleedの危機は、業界全体に影響を及ぼす重大なセキュリティホールの大量開示とパッチ適用への対応を、テクノロジー大手企業に訓練させたようだ。企業は互いに協力し、競争上の差異を脇に置いて、全体の利益のために行動する術を学ぶだろう。
それから3年後の2017年後半、世界中の研究者が、現代のCPUが次にどのデータやコードが必要になるかを予測する方法に根本的な欠陥があることを発見しました。この欠陥は、マルウェアによって悪用され、カーネルメモリや他のアプリケーションのメモリなど、境界外にあるはずのメモリが読み取られ、パスワードやその他の秘密が盗まれる可能性があります。
これらの欠陥を修正するには、ハードウェアベンダーとソフトウェアベンダーが協力し、セキュリティ上の欠陥に対処するだけでなく、変更によって生じる様々なパフォーマンス低下(大きなもの、小さなもの、目に見えないものなど)を受け入れる必要があります。C/C++コンパイラやLinuxカーネルなどの公開オープンソースプロジェクトを手がける企業も含め、各企業は、パフォーマンス低下を最小限に抑え、問題全体を秘密裏に管理しながら、脆弱性を解消するための情報とコードを慎重に共有する必要があります。
設計上の脆弱性を悪用するマルウェアの開発と拡散を防ぐため、パッチが公開される前にこの問題は公表を控える必要がありました。最終的に、MeltdownとSpectreを狙う既知の悪質なソフトウェアは発見されませんでした。これは、脆弱性への対処に多くの関心が集まったことと、Windows上で罠が仕掛けられたウェブページや文書を開くように要求するよりも、これらのバグを悪用するのが困難だったことが原因かもしれません。
暴露:エル・レグ社がインテルが米国政府に報告する前にメルトダウンCPUバグを暴露 ― そして激しい技術ライバルがいかにして協力したか
続きを読む
また、Meltdown-Spectreに関する非公開の議論に全員が参加していたわけではないことも指摘しておきます。この秘密の会合には、Intel、AMD、Arm、Red Hat、Microsoft、Amazon、Googleといった大企業が出席すると予想されていましたが、BSD系や小規模なLinuxディストリビューション、一部のクラウドプロバイダーなどは、参加を求められなかったり、事前の通知もなく参加させられたりしたことに、少々動揺していました。私たちがこのニュースを報じた時点では、IntelなどはUS-CERTに警告すらしていませんでした。
億万長者の最高経営責任者(CEO)たちを互いに破滅させようと口論するのが仕事であるニューファー氏にとって、メルトダウン・スペクター危機は、普段なら互いにいがみ合っている企業の最善の部分を引き出した。
「彼らは非常に激しく、驚くほど競争的ですが、これは共通の目的を見出した例です」とニューファー氏は説明した。「このような協力は今後極めて重要であり、今後、より複雑な目的に取り組む際にも、この協力は継続していくと確信しています。」
しかし、この極秘の取り組みにもかかわらず、エル・レグはLinuxとWindowsカーネルのメモリ管理部分の大部分を書き換えようとする動きに気づかずにはいられませんでした。これらのコードは非常に機密性が高く、一度動作することが分かってしまえば、決して変更すべきではありません。これは何か大きなことが起こっていることを示唆していました。ハードウェアが期待通りにセキュリティを強化していないため、ソフトウェアで部分的に緩和する必要があるのです。それはオープンソースのLinuxカーネルに加えられた変更から始まりました。
「オープンソースコミュニティが何か間違ったことをしたというよりは、人々がそれぞれの仕事をし、断片をつなぎ合わせて発見したのです」とプロンク氏は述べた。「それは常にリスクを伴いますが、オープンソースコミュニティと協力しなければなりません」
しかし、この事件は、大企業が秘密保持契約や非開示契約をどのように扱うべきか、特に誰かが契約に違反した場合にどう対処すべきかについて、考えさせるきっかけを与えた。
「もしその人と仕事をしなければならないなら、そのプロセスに何らかの形で関わらせる方法を見つけなければなりません」とシュワルツ氏は提案した。「例えば、セキュリティに重点を置く慈善団体に寄付するなどです」
AMD と Intel の戦いが激化する中、協力の精神が維持されることを願うばかりだ。
2018 年 1 月の当社のレポートの後、Intel 経営陣は、2017 年 12 月下旬に AMD のエンジニアが Linux カーネルのメーリング リストにひっそりと提出したパッチで、Intel x86 CPU にのみ欠陥があり、アプリケーションによるカーネル メモリからの投機的な読み取り (いわゆる Meltdown) に関係していることを明らかにしたことに激怒しました。
しかし、このパッチは、IntelがAMDを自社の脆弱性と結びつけようとした非公式な試みに対するものでした。AMDのパッチは、Meltdownの影響を受けるのはIntelのCPUコアのみであり、カーネルのMeltdown緩和策とそれに伴う速度低下はAMDコンポーネントには適用すべきではないことを明確にしようとしていました。次の大きなバグが発生したときには、2人のチップ設計者がこの確執を脇に置いてくれることを期待します。
パッチ適用の問題もあります。パネリストたちは、管理者とユーザーが脆弱性に対する必要なアップデートを適用し、攻撃者がマルウェア拡散に利用するバグの大部分を修正しなければ、世界中でどれだけの意識が高まっても役に立たないという点で意見が一致しました。
「重要なことの一つは、人々がなぜパッチを当てないのかを解明することだ」とマリガン氏は語った。
「企業内で機械を管理する人々の知識レベルは大きく異なるため、責任をどこに位置付けるか、また、賠償責任がある場合はどこに位置付けるかを検討する必要があります。」®