
2026/11/08 2:27
Show HN: Coldframe、スーパーマーケットの冷蔵機器コントローラーになりすますハニポットです
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
ColdFrame プロジェクトは、インターネットに接続されたスーパーマーケットの冷蔵管理コントローラーを標的とした攻撃を安全に誘発・分析することを目的として設計された、独立型のハニポットです。実機を危険にさらすことなく、Danfoss AK-SM 800A や Copeland/Dixell XWEB EVO などの脆弱な産業用ユニットを模倣し、攻撃者には正当に見えるようにフェイクのサーバーヘッダーおよびダッシュボードを生成します。弱すぎるログイン画面を再現する(例:Danfoss では "Supervisor / 12345"、Dixell では "Admin / Admin")、ポート 502 または 5020 でフェイクの Modbus TCP データに応答する(ケース温度や霜取りボタンのようなフェイク情報を含む)ことにより、悪意あるアクターを誘い込みつつ、実際の制御コマンドの実行は一切行いません。
既知のセキュリティ欠陥に対して能動的に監視を行い、2023-25914、2023-25915、2025-41452、2026-25085 などの特定の CVE に関連する試行を
events.jsonl ファイルにログとして記録し、分析に供します。セキュリティチームは、Ubuntu で cloud-init を通じて、または Podman コンテナとしてデプロイすることで、即座にエクスプロイトスキャンを検出できます。物理インフラストラクチャを損なうことなく産業 IoT の脅威を監視するには効果的ですが、ユーザーは次の制限事項に留意する必要があります:静的なパスおよび公開されたコードは、理論的には攻撃者がハニポット自体をフィンガープリントする可能性を生むことがあります。本ツールにはルート以外での実行やソケットタイムアウトといった具体的な安全策が含まれていますが、公開コードが依然として特定され得る点にも注意が必要です。究極的には、ColdFrame は攻撃者の接続、使用されたエクスプロイト、試行されたパスワードを記録することで、重要なサプライチェーン環境における脅威の風景を理解するための低リスクな方法を提供します。本文
Coldframe: スーパーマーケット冷凍冷蔵庫制御システム向けハニーポット
2026 年、ヨーロッパ各地の冷蔵監視システムへの侵入事件(デフォルトパスワード未変更やファームウェア脆弱性の利用など)を踏まえ、攻撃者の視線に立ちつつ何の実行も発生させない防御用のハニーポット「Coldframe」です。
概要と特徴
- 独自性: 実際の制御システム(Danfoss, Dixell)の挙動を偽装し、攻撃者に「実在するターゲット」と見せかけます。
- 安全性:
- コマンドの実行やファイルの読み書きは一切行われません。
- 単一 Python ファイルのみで構成され、外部依存ライブラリを持ちません。
- エクスプロイトペイロードは記録直後に破棄されます。
- 機能: 解凍サイクル強制的実行などの攻撃をログに記録し、攻撃者の行動(利用した CVE やパスワード試行など)を特定します。
パーソナリティ設定(Personas)
ハニーポットが偽装する実際の装置の型を指定できます。
| ペルソナ名 | 対象システム | 模倣される挙動・機能詳細 |
|---|---|---|
| danfoss | Danfoss AK-SM 800A システムマネージャー | * StoreView ログイン画面、偽ダッシュボード * , などの XML API (, )* 実際の装置と同等の TLS 1.2 サーバー設定、証明書 ( )* Angular ローダーページを正確に再現 * オプション: Modbus TCP サービス (温度データ送信) |
| dixell | Copeland/Dixell XWEB EBO 監視システム | * ログイン画面、XWEB 500 CGI パス * バイパスやアップロード経路への対応* 実際の装置と同様のサーバーヘッダー・セキュリティ設定 * オプション: Modbus TCP サービス |
実在する装置との完全な整合性
- Modbus TCP: デフォルトはオフですが、オンにすると汎用産業用スキャナの検出が可能です。
- ファビコン (アイコン): ベンダー独自のロゴやアイコン(ハッシュ値ベース)を配信します。
- スタートページ: 数千台の装置が共有する同じ Angular ローダーとハッシュ値を正確に再現し、
やLast-Modified
を含みます。ETag
認識されるエクスプロイト (Recognized Exploits)
脆弱性利用試行や特定のパターンに対するログフィールド(
exploit)の追加:
- AK-SM 800A:
: パストラバーサル (CVE-2023-25914
)get_file
: コマンドインジェクション (CVE-2023-25915
)load_cert
: Nginx ヘッダー書き換え (CVE-2025-41452
)load_nginx_headers
: 「今日のコード」による認証バイパス (ログイン成功フラグ付き)CVE-2025-41450- SM800 コードバイパス: 特定のコマンドにおける権限上昇試行
- XWEB 500/Pro:
:CVE-2021-45420
下でのアップロード・コマンド経路利用/cgi-bin/
: XWEB Pro における予期しないCVE-2026-25085
バイパスauth_mode
クイックスタート
単一 Python スクリプトで即座に起動します。
# Danfoss ペルソナでの動作例 (ポート 8080) PERSONA=danfoss HTTP_PORT=8080 python3 -I honeypot.py
- 結果:
にアクセスすると、すべてのリクエストが標準出力およびhttp://localhost:8080
に JSON 形式で記録されます。events.jsonl - テスト実行: ハニーポットをループバック上で起動し自攻撃することも可能です。
python3 -I test_honeypot.py
デプロイメント方法
1. 「ユーザーデータ」への貼り付け(最も簡単)
Ubuntu 24.04 サーバー(例:DigitalOcean ドロップレット $4)に設定を適用します。
- サーバーを用意する。
をユーザーデータのボックスに貼り付けます。cloud-init.yaml- ペルソナ変更:
→PERSONA=danfossdixell
- ペルソナ変更:
- システム起動から約2 分後に以下のポートで待ち受けを開始します:
- Danfoss: ポート 80, 443
- Dixell: ポート 80 (HTTPS はオフ)
2. コンテナ方式での手動デプロイメント
Podman または Docker を使用し、独自ユーザーネームスペースで非 root ユーザーとして動作します。
# コンテナビルド(各ビルドで新しい自己署名証明書が生成されます) podman build -t coldframe . # 実行コマンド sudo podman run -d --name coldframe --restart=always \ --read-only --cap-drop=ALL --security-opt no-new-privileges --userns=auto \ --memory 128m --pids-limit 512 --log-opt max-size=10m \ -p 80:8080 -p 443:8443 \ -v coldframe-logs:/logs:U \ -e PERSONA=danfoss \ coldframe # Modbus を使用する場合は追加 # -e MODBUS_PORT=5020 -p 502:5020
セキュリティ強化設定:
- アウトバウンド接続遮断: デコイは外部接続不要のため、DNS・パッケージ更新を除くトラフィックをブロックしてください。
- SSH リストニング: 自身の IP のみアクセス許可し、世界中から公開されていない冷蔵庫コントローラーであることを確認します。
設定オプション
環境変数による動作制御が可能です。
| 変数 | デフォルト | 説明 |
|---|---|---|
| PERSONA | danfoss | シミュレーション対象 (, ) |
| HTTP_PORT | 8080 | HTTP リスナーポート |
| HTTPS_PORT | 0 (オフ) | HTTPS リスナーポート(有効化には , の指定必須) |
| MODBUS_PORT | 0 (オフ) | Modbus TCP リスナーポート |
| LOG_PATH | events.jsonl | ログ出力ファイルパス |
| FAVICON_FILE | none | カスタムファビコンパス(プライベートデプロイメント用) |
| INDEX_FILE | none | Danfoss 起動ページの HTML ファイル(プライベートデプロイメント用) |
ログの確認と分析
ログの各行は独立したイベントを表します。JSON フォーマットで出力されます。
{ "ts": "2026-11-05T10:57:21.158+00:00", "persona": "danfoss", "proto": "http", "src_ip": "203.0.113.7", "src_port": 6782, "event": "login_attempt", "username": "admin", "password": "admin" }
イベント種類一覧:
- request: 全 HTTP(S) リクエストの詳細(メソッド、パス、User-Agent など)
- login_attempt: ログイン試行情報(認証成功フラグ付き)
- control: ダッシュボードからの操作(解凍開始など)
- xml_cmd: Danfoss XML API コマンド(エクスプロイト利用ありの場合の属性)
- tls_error: TLS ハンドシェイク失敗(例:スキャナが HTTPS に対して HTTP を送った場合)
- connect/read/write/device_id/etc.: Modbus アクティビティ(解凍レジスタ書き込み時
)defrost: true
サマリーレポート作成: 攻撃者の IP を除外して、24 時間分の簡易レポートを生成します。
python3 -I summary.py --hours 24 --ignore <your-own-ip> events.jsonl
セーフティ(安全性の担保)
ハニーポットとしての安全性は以下の仕組みで保障されています:
- 実行禁止: コマンド実行、ファイル書き込み、リクエスト転送は一切行われません。
- レート制限: ソース IP あたりの上限を設けており、単一攻撃者が他の攻撃者を排除することはできません。
- 自動回転: 無活動なソケットはタイムアウトし、イベントログが肥大化すると自動で回転します。
- 接続切断: データ送信による接続維持試みは 30 秒後に強制終了され、拒否接続はログされます。
- 入力制御: 非常に長いログ行は切り詰められ、ターミナルエスケープシーケンスが無効化されます。
- 最小権限: コンテナは独自ユーザーネームスペース内で非 root ユーザーとして起動し、読み取り専用ファイルシステム上に動作します。
- 注意: ログフィールドは攻撃者が制御する可能性があります。閲覧・処理時は信頼しないと仮定してください。
制限事項
- 浅い相互作用: ログインしてもダッシュボードの一部や数個の XML コマンドのみ表示され、StoreView アプリ全体へのアクセスはありません。
- フィンガープリンティングリスク: リポジトリが公開されているため、誰でも正確な応答パターンを特定可能です。デプロイメントに合わせてペルソナ名や証明書サブジェクトなどをカスタマイズしてください。
- 未確認の詳細: 静的パスや一部の XML レスポンス形状について情報が不足している場合、適宜妥当な値で補填されます。
- クラウド IP の疑念: いくつかのスキャナは、クラウドホスティング上のハニーポットであると誤認し、フラグを立てることがあります。
参照元資料
以下の技術報告書やマニュアルに基づいています。
- Danfoss AK-SM 800A ユーザーガイド: https://assets.danfoss.com/documents/latest/590332/BC337629891709en-001101.pdf
- Danfoss AK-SM XML インターフェースガイド: https://assets.danfoss.com/documents/latest/376199/AU342138209420en-000501.pdf
- Synacktiv: Danfoss AK-SM 800A 脆弱性報告 (CVE-2023-25914/25915): https://www.synacktiv.com/sites/default/files/2023-10/synacktiv-danfoss-sm800a-multiple-vulnerabilities.pdf
- Synackтив: SM800 認証バイパス報告: https://www.synacktiv.com/sites/default/files/2023-10/synacktiv-danfoss-sm800-sc255-sc355-auth-bypass.pdf
- Claroty Team82: Danfoss コントローラー調査 (CVE-2025-41450〜41452): https://blog.claroty.com/team82/research/freeze-the-controller-defrost-the-food-uncovering-vulnerabilities-in-danfoss-refrigeration-controllers
- Exploit-DB 50639: XWEB 500 (CVE-2021-45420): https://www.exploit-db.com/exploits/50639
- Copeland: XWEB EBO オペレーションマニュアル (r5.4.1): https://webapps.copeland.com/Dixell/Content/Pages/Manuals/XWEBEVO/XWEBEVOV5.4.1OPERATION/XWEB-EVO-r5.4.1-OPR-EN.pdf
- Claroty Team82: Copeland XWEB Pro 脆弱性調査: https://claroty.com/team82/research/chilling-discoveries-unpacking-vulnerabilities-in-copeland-xweb-pro-controllers
- Ironhackers: CVE-2025-41450 「今日のコード」解析: https://ironhackers.es/en/danfoss-ak-sm-800a-cve-2025-41450/
- Shodan レコード: 露出された装置のヘッダー設定・証明書情報 (2026 年 11 月)
関連作業とライセンス
- 関連プロジェクト:
は別の AK-SM デコイで、SNMP や Service Tool リスナー、より豊富なストアシミュレーションを備えています。「Coldframe」は Web フィンガープリントの一致性と特定 CVE の検出に特化しています。eppser/danfoss-ak-sm-decoy - ライセンス: MIT ライセンス(LICENSE ファイル参照)。