
2026/09/08 7:12
Show HN:著名サイバー兵器「スタックスネット」の再構築されたソースコード
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
サマリー:
ステクネットは、史上初のアナログ機器に対するサイバー兵器であり、データを窃取するだけでなく、シメンスの制御システムを対象とし産業用設備を物理的に破壊することを目的として設計されました。本リポジトリは、2010 年に公開されたこのマルウェアを再構築したものであり、リバースエンジニアリングされたコードサンプルに基づいて構築されており、サイバーセキュリティ専門家のための重要な技術的参考資料として位置付けられています。プロジェクトは、ステルス機能および権限昇級に使用されるローダーやルートキットといった具体的なコンポーネントの詳細を含んでおり、ワームがシステムコールを傍受して可変速モーター駆動装置(VFD)を回転子を損傷する速度まで強制回転させる仕組みを解説しています。歴史的な文脈においては、シメンスの Step 7 ソフトウェアおよび S7 プログラマブルロジックコントローラー(PLC)をexploit できる独自の能力が強調されており、これは Symantec や Kaspersky Lab を含む主要なセキュリティベンダーによる先行研究を通じて確立されたものです。今後の利用は、制御された仮想環境内での静的分析にのみ厳格に限定され、能動的な展開は禁止され、ユーザには YARA ルールや Snort アラートのような防御的な検知シグネチャの開発が期待されます。この 12 ステージの感染フローを安全に研究することで、業界は過去の攻撃パターンをより深く理解し、高度化された物理的サイバー脅威に対する効果的な防御策を策定することが可能となります。
本文
スタックスネット:教育・研究用再構築版
本リポジトリには、世界的に恐れられたマルウェア「スタックスネット」に対する純粋な教育および研究目的のみの再構築版が収められています。 これは、2010 年に発見されたオリジナルバイナリに対して、グローバルなセキュリティ研究コミュニティによって長期間かけて逆工学解析(リバースエンジニアリング)を行った成果です。
免責事項:
このコードは学術的な研究、マルウェア解析トレーニング、防御的研究にのみ提供されます。悪意のある目的での使用を意図していないものであり、配備可能なマルウェアのサンプルではありません。著者および貢献者は、違法または不道徳な活動への容認を行っておりません。
目次
概要
スタックスネットは、産業制御システム(ICS)に対する物理的破壊を引き起こす初代サイバー兵器として認識されています。このワームは、シーメンス社の
Step 7 ソフトウェアおよび S7-300/400 PLC を標的とし、周波数変換器ドライブを操作して遠心分離機のローターを損壊させる攻撃を行いました。
本リポジトリは、逆コンパイルされたバイナリから導出され、元のロジックと攻撃ベクトルを保持しつつコードベースの可読性と解析性を向上させた再構築版です。
主な特徴
- 標的: シーメンス
,SIMATIC WinCC
,Step 7
。S7 PLC - 拡散経路:
- USB メモリ(LNK エクスプロイト)
- ネットワーク共有(
の脆弱性)Print Spooler - ピアツーピア(P2P)
- ペイロード:
のブロックロジック(PLC
)を改変し、モーターの周波数を操作する機能。OB1/OB35 - ステルス性: ファイル・プロセス・レジストリを隠蔽するための高度なルートキット機能(
,MRxCls.sys
)。MRxNet.sys
主要コンポーネント
本リポジトリは、オリジナルのマルウェア分析過程で特定された主要モジュールによって構成されています。
| モジュール | ファイル名 | 説明 |
|---|---|---|
| ローダー/ドロッパー | , | 初期感染、権限の昇格、および他のコンポーネントの展開を担うエントリーポイント。 |
| 権限の昇格 | | の脆弱性を悪用し、システムレベルの権限を取得します。 |
| S7 フックライブラリ | | オリジナルの のマルウィシャスな置換版。Step 7 と PLC 間の通信を傍受します。 |
| Step7 フックライブラリ | | Step 7 エンジニアリング環境内の AUT API コールをインターセプトします。 |
| ルートキット (ファイル) | | SSDT フッキングにより、スタックスネットの痕跡(ファイル・プロセス・レジストリ)を隠すカーネルモードドライバ。 |
| ルートキット (ネット) | | 悪意のあるファイルを隠蔽し、P2P 拡散を可能にするファイルシステムリクエストフィルタ。 |
| ペイロード (攻撃) | | 「周波数改ざん」攻撃の核心ロジックを実装するモジュール。遠心分離機損壊を実行します。 |
技術アーキテクチャ
スタックスネットフレームワークのハイレベルな実行フローは以下の通りです。
- ステージ 1: 初期感染ベクトル(USB/ネットワーク)
- ステージ 2: ドロッパーと権限の昇格
- ステージ 3: 環境確認
- ステージ 4a: ターゲット発見(シーメンス製 SW)→ S7 フックの実装
- ステージ 4b: ノンターゲット → セルフデストラクション/アイドル化
- ステージ 5:
の書き込みを監視PLC - ステージ 6:
の書き込み検知 → ペイロードの注入OB1/OB35 - ステージ 7: 周波数出力の改変
- ステージ 8: 遠心分離機への物理的損壊
- ステージ 9: ルートキット(
)の実装MRxCls - ステージ 10: ファイルとレジストリの隠蔽
- ステージ 11: ネットワークモジュール(
)のロードMRxNet - ステージ 12: P2P 拡散
実行フローの詳細
- 環境認識: 特定のシーメンス製ソフトウェア(WinCC, Step 7)およびターゲット PLC(S7-315, S7-417)が存在するかを確認します。
- DLL インジェクション:
関数コールを傍受します。s7blk_write - コードインジェクション: ユーザーがプロジェクトを PLC にダウンロードした際、悪意のあるコードが
ブロックに追加されます。OB1/OB35 - 物理的影響: 改変されたコードにより接続された可変周波数ドライブ(VFD)が高/低な異常周波数で回転され、機械的損傷を引き起こします。
ビルド手順
重要: このコードベースは、制御された仮想環境での静的解析およびデバッグ用に設計されています。重要なインフラストラクチャへのライブ配備を意図していません。
要件
- ビルド環境: Microsoft Visual Studio 2019/2022(Windows)または mingw-w64。
- ターゲット OS: Windows XP / Windows 7(ドライバ互換性の確保のため)。
- ドライバーキット: カーネルドライバをコンパイルする場合は、Windows Driver Kit (WDK) 7600が必要です。
ユーザーモードモジュールのビルド手順
以下のコマンドを実行してください。
# 1. リポジトリをクローン git clone https://github.com/Sadpainy/Stuxnet.git # 2. ディレクトリへ移動 cd stuxnet-analysis # 3. メインドロッパーをビルド cd winsta nmake /f Makefile.win # 4. S7 フックライブラリをビルド cd ../s7otbxdx cl /LD s7otbxdx.c user32.lib ws2_32.lib
使用方法
このコードは以下の目的に使用することを意図しています:
- マルウェア解析: APT(持続的脅威)で使用されている具体的なコードロジックの理解。
- 防御的研究: ICS セキュリティツール向けの検出シグネチャの開発(例: YARA ルール、Snort シグネチャ)。
- 学術研究: サイバーセキュリティと重要インフラ保護の交点を調査すること。
解析環境の設定
- 環境の隔離: ホスト専用ネットワークを有効にした仮想マシン(VMWare/VirtualBox)を使用する。インターネット接続を無効化します。
- モジュールのロード: IDA Pro、Ghidra、または x64dbg などのツールを使用して、
および.dll
ファイルを解析します。.sys - アクティビティの監視: Process Monitor (ProcMon)、Process Hacker、Wireshark を使用して動作を観察します。
法的な事項とライセンス
ライセンス
本プロジェクトは GNU General Public License v3.0 の元で公開されています。詳細については
LICENSE ファイルをご覧ください。
免責事項
このリポジトリ内のコードは、教育目的のための逆工学解析の産物です。スタックスネットワームのオリジナル著者は匿名ですが、ここで記述されている再構築は独立したセキュリティ研究者によるものです。
- 著者らは、オリジナルのマルウェアに対する所有権を主張しておりません。
- コードはあらゆる種類の保証なしに**「現状のまま」**提供されます。
- 著者らは、本コードの使用または誤用によって引き起こされるいかなる悪用や損害についても責任を負いません。
- このリポジトリを使用することにより、あなたは関連するすべての法律および規制への準拠を自ら確保する必要があることを認めたとみなします。
謝辞
この研究と再構築は、グローバルなサイバーセキュリティベンダーによる広範な分析と脅威インテリジェンスなしには不可能でありませんでした。
- Symantec(W32.Stuxnet dossier)
- Kaspersky Lab(The Stuxnet saga)
- ESET(Stuxnet under the microscope)
- Amr Thabet および Christian Roggia(research-virus/stuxnet)
これは学術的な再構築です。害を与えるために使用するのではなく、より強い防衛を構築するために使用してください。