サイバーセキュリティのフォーラムを閲覧したり、プライバシーの議論に参加したり、あるいはRedditのこのようなスレッドを見たりすると、このような敗北主義的な主張を聞いたことがあるかもしれません:
「プライバシーツールを使ったりダークウェブについて学んだりする意味は何ですか?あなたのコンピュータはどうせNSAにバックドアを作られています!」
この意見は完全に正確ではありませんが、ハードウェアバックドアに関する真の懸念に根ざしています。セキュリティ研究者や情報機関は、特にコンピュータハードウェアのサプライチェーンと複雑さが増すにつれて、隠れたハードウェア脆弱性に関連するリスクに警鐘を鳴らしてきました。
しかし、ハードウェアバックドアとは具体的に何なのでしょうか?デバイスは本当に隠れた攻撃者の手に委ねられているのでしょうか?すべてが「絶望的」なのでしょうか、それともこのような脅威を検出し軽減するための堅実な手法が存在するのでしょうか?
この長文の投稿では、初心者から上級者まで、ハードウェアバックドアを説明します。技術的な定義、実際の例、検出のためのコマンドライン/コードサンプル、ユーザーやサイバーセキュリティの専門家への実践的なアドバイスを使用します。プライバシーに関心がある方も、シスアドの方も、このガイドは理解を深めることを目的としています。
ハードウェアバックドアは、意図的または非意図的にコンピュータシステムの物理的なコンポーネント(ハードウェア)に組み込まれた隠れたメカニズムであり、デバイスへの不正なアクセスや制御を可能にします。ソフトウェアバックドアとは異なり、ハードウェアバックドアはデバイスのシリコンチップやファームウェア内に存在します。
Wikipediaの定義:
ハードウェアバックドアは、コンピュータシステムの物理コンポーネント、いわゆるハードウェア内に実装されたバックドアです。
- デザインされた(意図的な)バックドア:
悪意のあるアクター、または政府の要求により設置される可能性があります。
- 非意図的バックドア:
設計上の欠陥や、セキュリティが不十分なデフォルト設定から生じる。
- ファームウェアレベルのバックドア:
チップファームウェア(BIOS/UEFIやネットワークコントローラーファームウェアなど)に埋め込まれている。
- 物理バックドア:
通常の論理をバイパスする追加のピンやコンポーネント。
重要な相違点: ソフトウェアはワイプや再インストールが可能ですが、ハードウェアバックドアはデバイスを物理的に交換するか、完全に再製造しない限り持続します。
- 政府による監視:
情報機関、特にNSAは、こっそりとしたアクセスや脆弱性を導入するためにハードウェアベンダーと協力してきた可能性がある(スノーデンの暴露を参照)。
- 製造サプライチェーンの脅威:
悪意のあるアクターは、製造からエンドユーザーへの配達のどこにでもハードウェアを汚染することができます。
- 企業スパイと破壊活動:
競合製品に感染させて商業的な利点を得ようとする企業。
- 海賊版対策とコピープロテクション:
ベンダーは時にはバックドアとしても機能するハードウェアの「ロック」や「ドングル」を導入します。
- 利益、報復、または好奇心:
不良エンジニアが無記録のテストインターフェースを導入する可能性。
- 1984年: ケン・トンプソンの「Trusting Trustに関する考察」はコンパイラレベルのトロイの木馬を強調し、後にハードウェアに拡張されました。
- 2008年: バニー・ホアンはCiscoルーターにマーキングされていないチップを発見(参考)。
- 2013年: スノーデンのリークはサプライチェーン攻撃への注目を再燃。
ハードウェアの設計および製造はグローバル化され、多層化されています。典型的なチップは次のように:
- 米国で設計
- 台湾で製造
- 中国でテスト
- メキシコで組み立て
どの段階においても、誰かがバックドアを密かに導入することが可能です。
- 追加回路の設置:
シリコンレイアウトへの微細な改変が隠れたチャネルや「ゲート」を生み出すことが可能です。
- チップ内のトロイの木馬(「シリコントロイの木馬」):
特定のシークエンスや電圧でトリガーされるまで休眠状態のチップの一部。
- ファームウェアインプラント:
OSの再インストールにもかかわらず持続するUEFI/BIOSマルウェア。
**注意:**正当な機能(ハードウェアデバッガーやリモート管理など)でさえも脆弱性になる可能性があります。
- CPUや他のチップを制御する低レベル命令(マイクロコード)を改変。
- ファームウェアレベルのインプラント(例:悪意のあるUEFIモジュール)。
- 多くのチップは、未公開のピンやシークエンスによってアクセスできる「エンジニア」または「工場テスト」モードを含んでいます。
- 設計中に追加された論理。
- 例:隠れた通信チャネル。
- 2013年にDer SpiegelがNSAの「ANTカタログ」を公開。さまざまなネットワーク機器に対するハードウェアインプラントがリスト化されていました。
- サーバー、ルーター、電話機にチップを植え付け、リモート起動を可能にする能力を含む。
- 2015年に、ジュニパーはファイアウォールのファームウェアに無断でコードが挿入されていることを発表。
- 挿入されたコードは攻撃者にVPNトラフィックを解読する機能を与えた—恐らくファームウェア層におけるバックドア(参考)。
- 2018年のブルームバーグの報道によれば、中国の工作員がSupermicroのマザーボードに小さなチップを組み込んで米国の企業に納品していた可能性。
- 広範に議論され否定されたが、ハードウェアサプライチェーンの妥当性を強調する。
- Andrew "Bunnie" Huangのようなホワイトハットハッカーは、目に見えない形でハードウェアをボードレベルで改造する相対的な簡単さを実証(参考)。
- IMEは、Intel CPUの中の秘密のコプロセッサであり、メモリやストレージへの広範なアクセスを持ち、またメインシステムがオフになっても動作し続ける。
- IMEの脆弱性は事実上のバックドアを示す可能性(参考)。
- 持続性: OSの再インストールやドライブのフォーマットでは修正できない。
- 検出の困難さ: 高度なツールを必要とし、時には物理的な解析が必要。
- 暗号化への影響:
ハードウェアレベルでは鍵や平文がアクセス可能なので、バックドアはエアギャップまたは暗号化されたシステムさえも危険にさらすことができる。
- ハードウェアが侵害された場合、ソフトウェアレベルのセキュリティ対策は完全に信頼できません。
- オープンソースソフトウェアは隠されたマイクロチップを「見る」ことができません。
- 国家レベルの攻撃者は、(電力、金融、軍事などの)重要インフラへのアクセスをハードウェアレベルで優先する可能性があります。
- 現代のCPUには数十億のトランジスタが含まれているため、トロイの木馬は数百のゲートのみで構成される可能性があります。
- エンドユーザーがチップレイアウトを検査する実用的な方法はありません。
- マイクロコードやファームウェアのソースは通常、非公開であり文書化されていません。
- ベンダーのNDAや閉じられた文書が第三者監査を妨げる。
- バックドアは秘密の「ノック」やタイミング信号など特定の状況でのみ起動する可能性があります。
- 国家レベルの攻撃者は、デキャップおよび走査型電子顕微鏡のような最も強力な物理分析を除いて見えない高度なインプラントを負担できる。
- チップの電力使用、電磁放射、またはタイミングの挙動を測定し異常を見つける。
- チップのケースを物理的に外し、走査型電子顕微鏡でレイアウトを分析。
- 複数の「同一」チップの反応を比較し、不一致をチェック。
- 数学的証明を用いて、与えられたハードウェア設計が仕様に一致することを確認。
- 比較的小さな設計にのみ適用可能。
- ファームウェアイメージをダンプして分析し、未公開の機能やネットワーク活動を調べる。
- 信頼された調達: 審査されたサプライチェーンからのチップや基板を使用。
- オープンソースハードウェア: 公開監査可能なソースと設計のものを優先(例:RISC-V、ORWL)。
- マネジメントエンジンの削除または無効化:
me_cleanerなどのプロジェクトはIntel MEの無効化を試みる。
- 物理的なセキュリティ: 配達や保管中のハードウェアをロックダウン。
- エアギャッピング: 重要なシステムをネットワークから隔離し、電磁波/対監視を組み合わせる。
ほとんどのユーザーにとって、直接的なハードウェアイ
ンプラントの検出は不可能です。ただし、良好な衛生状態を維持するために次のことができます:
- 予期しない周辺機器やファームウェアモジュールのスキャン。
- ハードウェアの健康とステートチェンジを監視。
- 公開された脆弱性に関する情報の更新。
以下は、LinuxやWindowsシステムのスキャンと見込みのある不規則性の分析を支援するための実践的な例です。
lspci -v
すべてのPCIデバイスを一覧表示します。未確認や未公開のデバイス(特にジェネリックな説明やベンダーIDを持つもの)に注意してください。
lsusb -v
接続されたUSBデバイスを表示します—USB周辺機器に埋め込まれたインプラントの識別に役立ちます。
sudo dmidecode
ハードウェアとファームウェアに関して詳細なレポートを提供します。想定される値と報告された値の間の不一致を確認してください。
sudo efibootmgr -v
sudo biosdecode
ファームウェアのバージョンと整合性を確認します。
sudo flashrom -p internal -r bios_backup.bin
(flashromがハードウェアと互換性があることを確認してください。)
lspciを実行してベンダーがUnknownやGenericであるデバイスがあるか確認したい場合のBashの例:
lspci -v | grep -iE 'unknown|generic'
デバイスリストがlspci.txtに保存されていると仮定したPythonによる解析の例:
import re
with open("lspci.txt") as f:
for line in f:
if re.search(r'unknown|generic', line, re.IGNORECASE):
print(f"Suspicious device: {line.strip()}")
粗雑ですが時には有用な手法として、ファームウェアイメージから既知のIPアドレス、URL、あるいはトリガーワードを検索:
strings bios_backup.bin | grep -Ei "(debug|test|admin|backdoor|secret|nsa|intel)"
またはPythonを使用して:
import subprocess
def search_firmware_for_keywords(firmware_path, keywords):
output = subprocess.check_output(['strings', firmware_path], text=True)
for keyword in keywords:
for line in output.splitlines():
if keyword.lower() in line.lower():
print(f"Found {keyword} in line: {line}")
search_firmware_for_keywords(
"bios_backup.bin",
["debug", "test", "admin", "backdoor", "secret", "nsa", "intel"]
)
**注意:**これらの手法は真に高度なハードウェアバックドアを発見することはありませんが、明らかなファームウェアまたは不十分に隠されたバックドアを見つける可能性があります。
- 厳しいが絶望的ではない:
絶対的な信頼はどんな商用ハードウェアにも難しい。
- リスクの軽減、排除ではない:
セキュリティはリスクの低減を目指すもので、完璧を追求するものではない。
- 局所的な脅威の重要性:
ほとんどのユーザーはNSAレベルのハードウェアインプラントよりも、マルウェア、フィッシング、物理的な盗難による脅威にさらされる可能性がはるかに高い。
- オープンシリコン:
RISC-Vエコシステムは監査可能なCPUを推進。
- ハードウェア検証:
より良いオープンソースハードウェア、再現可能なビルド、学術的検証。
- コミュニティツール:
me_cleaner、coreboot、およびHeadsのようなプロジェクトはファームウェアの透明性を向上させている。
- システムを最新に保つことで、最新のファームウェアおよびマイクロコードパッチの恩恵を受ける。
- 信頼されるベンダーから購入し、「グレーマーケット」デバイスを避ける。
- 中古、特に企業や政府の余剰品を警戒。
- 自分の脅威モデルを理解する。
- すべてのハードウェアをインベントリー化し、すべてのコンポーネントを発見し文書化。
- 必要ない場合は疑わしいUSBおよびPCI IDをブラックリストに登録する。
- 新しいまたは消えたハードウェアデバイスに関するログを監視。
- 可能であればオープンソースファームウェアを使用する(coreboot、libreboot)。
- 定期的にファームウェアおよびハードウェアログの監査を行う。
- オープンソースの検証プロジェクトに参加する。
- ハードウェアサプライチェーンの透明性を奨励する。
- メーカーと連携してサプライチェーンのセキュリティ慣行について議論。
ハードウェアバックドアは、コンピュータセキュリティのあらゆる側面に対する手強い課題です。ソフトウェア上の脆弱性とは異なり、ハードウェアバックドアは検出が難しく、パッチがほぼ不可能で、存在する場合、最良のサイバーセキュリティ衛生状態も無効にする可能性があります。
しかし、どんなセキュリティも本当に絶望的ではありません。どのシステムも100%安全であるわけではないということを認識するのは賢明ですが、懐疑と行動のバランスを取ることができます:
- 自分のハードウェアについて学ぶ。
- 信頼できるベンダーを利用する。
- オープンソースのハードウェアおよびファームウェアプロジェクトを好む。
- 実用的な検出および監視ツールを使用。
- リスクを適切に考慮—ハードウェアバックドアは、機密の高い(諜報または国家)ターゲット以外には稀である。
最終的に、警戒、透明性、コミュニティの努力の組み合わせはベストな防御を提供します。
- ハードウェアバックドア - Wikipedia
- NSA ANTカタログ (Der Spiegel, 2013)
- ビッグハック:中国が小さなチップを使って米国のトップ企業に侵入した方法
- ハードウェアバックドアを無効化する — Simha Sethumadhavanら (コロンビア大学)
- ジュニパーネットスクリーンのバックドア
- Intel マネジメントエンジンを解剖する
- RISC-V オープンソースハードウェア
- me_cleaner プロジェクト
- coreboot オープンソースファームウェア
- Heads ファームウェアプロジェクト