NSAは、Windows BIOS/UEFIファームウェアのオープンソース代替であるCorebootプロジェクトへの開発者の割り当てを開始しました。NSAのユージン・マイヤーズ氏は、x86プロセッサ向けのSMI Transfer Monitor(STM)実装コードの提供を開始しました。マイヤーズ氏はNSAのTrusted Systems Research Groupに所属しており、NSAのウェブサイトによると、同グループは「将来のアメリカの情報システムを保護する技術と手法の研究を実施および支援すること」を目的としています。
NSA はこのような低レベルのコードを信頼してよいのでしょうか?
NSAはこれまでも、Linux向けセキュリティモジュールであるSecurity-Enhanced Linuxなど、国民に支持されるセキュリティプロジェクトに取り組んできました。最近では、NSAはGhidraリバースエンジニアリングツールをオープンソースとして公開しました。このツールはCoreboot開発者にも採用されており、ハードウェアファームウェアのリバースエンジニアリングをより容易に行えるようになっています。
マイヤーズ氏は昨年、NSAのSTM実装がどのように機能するかについて論文を発表しました。NSAからのSTMへの貢献を含むすべてのCorebootコードはオープンソースであるため、理論上はバックドアがないことを誰でも検証できます。
実際には、NSAは、より経験豊富なセキュリティ研究者がいなければ検出が難しい脆弱性を含んだ、安全性の低い方法でコードを記述することもできたでしょう。あるいは、数年後、STM実装への注目度が下がり、アップデートが大々的に報道されなくなる頃に、NSAはこの実装を更新することもできたでしょう。
NSAのような機関にとって、これは全くあり得ない話ではない。実際、NSAは数年前、NISTの標準化プロセスにバックドアを仕掛けることに成功している。また、EFFの共同設立者であるジョン・ギルモアは、NSAがIPsecプロトコルを複雑にしすぎて安全性を確保できないようにし、妨害行為を行ったと非難している(これは諜報機関にとって都合の良い行為である)。
さらに最近では、2つの暗号化アルゴリズムをISO標準化プロセスに通そうとしたが、信頼性に関する懸念とNSAがいくつかの技術的な質問に答えなかったことを理由に、審査員は圧倒的多数でアルゴリズムを拒否した。
Coreboot の NSA 低レベルコード
Intel は、信頼できる環境でオペレーティング システムが起動することを保証する同社の Trusted Execution Technology に対するバイパスが発見されてから 6 年後の 2015 年に、SMT ファームウェア セキュリティ機能の STM 仕様とドキュメントをリリースしました。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
STMは、システム管理モード(System Management Mode)内で起動するハイパーバイザーです。システム管理モードは「リング-2」の隔離された環境であり、電源管理、セキュリティ機能、Trusted Platform Module(TPM)の呼び出しなど、低レベルサービスの改ざんから保護された実行を提供します。STMは当初、Intel TXT起動で動作することを想定していましたが、最新の仕様では、STMはIntel Virtualization Technology(VT)でのみ動作できるようになりました。TXTだけではこれらのサービスを攻撃から保護するには不十分であり、STMがその役割を担うことになります。
ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。