
おとりサーバー「ハニーポット」を公開!どんなサイバー攻撃が来るのか検証してみた
インターネットに公開したサーバーへ、どんな接続や操作が来るのか。我々は、接続相手の操作を記録するおとり「ハニーポット」を公開し、約40時間のログを調べた。AI向けの指示も置き、それに従う操作があるかを確かめた。
使ったのは、遠隔操作用のSSH接続を受け付けるハニーポットのCowrieだ。OSやファイル、コマンドの応答を模倣し、ログイン後の入力やファイル転送を記録する構成にした。
AI向けの指示を置いたCowrieがログインを受け入れた記録は1,400件で、うち87.5%は、同じ送信元IPからのechoの反復に対応する記録だった。
繰り返し以外には、CPUやGPUを調べるコマンド、複数の機種に対応するとみられるファイル群、SSHの認証用の鍵を書き込もうとする入力が見つかった。指示への反応とともに、ログイン後の行動を見ていく。
おとりサーバーを、どういう構成で公開したのか
別の隔離実験では、Cowrieにサーバーの所有者を名乗る指示を置き、既知のAIに調査させた。目印の文字列「マーカー」を表示するechoコマンドを求めると、指示ありでは20試行中3試行、指示なしでは20試行中0試行で実行された。
公開観測の条件と、ログの数え方をまとめる。
- 観測対象:AI向けの指示を置いた「罠あり」と、置かない「罠なし」のCowrieを観測した。罠ありではログインメッセージや管理文書にマーカーの表示を求める指示を置いた。
- 公開・集計期間:罠ありのCowrieは2026年10月16日に公開。17日夕方から19日朝までの約40時間を、2台とも同じ期間で別々に集計した。
- 比較の条件:2台は認証条件や返すOS情報も異なるため、件数差をAI向け指示だけの効果とは解釈しない。
- 接続・認証:接続から切断までを1セッションと数える。「認証成功」は観測用の条件でログインを受け入れた記録だ。1接続で何度もログインを試す場合があるため、接続数と認証数は別々に数えた。
- 送信元IP:接続元のネットワーク上のアドレスを数える。同じIPを複数人が使う場合がある。
- コマンド入力:Cowrieは長いコマンドを部分ごとに記録することがあるため、同じセッションの入力をまとめて操作を確認した。
- 集計からの除外:隔離実験の記録は混ぜず、動作確認のセッションと、回収時に二重保存された同一のログを除いた。接続の識別情報を照合し、新しい接続で繰り返された操作は別々に数えた。
公開用と管理用の接続を分ける
我々がログ回収などの管理に使う接続経路は、公開用のSSH接続と分けた。おとりサーバーから外部へ出る通信も制限した。
約40時間で、どれくらいアクセスがあったか
| 約40時間の記録 | 罠ありのCowrie | 罠なしのCowrie |
|---|---|---|
| 接続の記録 | 6,869 | 7,817 |
| 送信元IPの種類 | 168 | 332 |
| 認証成功(ログインを受け入れた記録) | 1,400 | 99 |
| コマンド入力のあるセッション | 1,346 | 89 |
| ファイルのアップロード | 23 | 1 |
罠ありのコマンド入力の記録は1,648件だった。
同じechoが、6時間以上繰り返されていた
10月17日21時13分から18日3時35分まで、同じ送信元IPから、xsecという文字列を表示する`echo xsec`が繰り返し入力された。
入力時刻の間隔の中央値は約19秒だった。ログインやコマンドの応答を確かめる用途は考えられるが、誰が何のために繰り返したかは分かっていない。
認証成功の大半は、一つの反復だった
元の記録を保存したうえで反復を分け、残り175件のログインで何が行われたかを調べた。
同じ送信元IPから、罠なしのCowrieにも同じechoが入力されていた。こちらは3セッションだった。表示を求めていたのはマーカーとは異なるxsecという文字列で、我々が置いた指示に従った記録ではない。
相手は、こちらがおとりだと確かめているのか
サーバーの環境をまとめて調べる長いコマンドも送られていた。入力には、次の確認が含まれていた。
- 環境の情報:OS、CPUの種類とコア数、GPU、稼働時間、ログイン履歴をまとめて確認する。
- 別の取得方法:コマンドが使えなければ、別の場所の同名コマンドや、情報が保存されたファイルを調べる。
- 応答と実行可否:存在しない名前のコマンドを呼び出してエラー文を保存しようとする。短いスクリプトをファイルに書き、実行できるかも試す。
OSや、コマンドを解釈するシェルによって、エラー文や使える機能は変わる。Cowrieにも未対応のコマンドや書き方があるため、応答の違いからおとりだと気づく可能性はある。ただし、同じ確認はソフトウェアを実行する機種を選ぶ場合にも使える。今回の入力だけでは、おとりの検知が目的だったか、どう判定したかまでは分からない。
この型の長文入力は、罠ありで37件、罠なしで4件。送信元IPはそれぞれ3種類と4種類だった。
ファイルとSSH鍵を持ち込んだ相手は、何をしたか
罠ありのCowrieでは、同じ送信元IPからの3セッションで、毎回7ファイルがアップロードされた。コマンドをまとめたシェルスクリプト2本と、ARMやx86などCPUの種類を示す名前のファイル5本だ。異なるCPUのサーバーに対応する配布物のように見える。
同じ7ファイルを、別の時刻に3回送信していた
| 公開機への送信時刻(JST、分単位) | 1セッションのファイル数 |
|---|---|
| 10月17日19時19分 | 7 |
| 10月17日19時42分 | 7 |
| 10月19日0時01分 | 7 |
全23件のアップロードのうち、21件がこの3回分だった。残り2件は、SSHサーバーのプログラムと同じsshdという名前のファイルだ。名前だけでは、どのようなプログラムなのかは分からない。
この3セッションの入力には、スクリプトの実行に加え、SSH認証用の公開鍵を書き込む処理が含まれていた。鍵を書いたファイルを変更しにくくする指定もあった。
この入力は、再び接続する手段を残す「永続化」を狙ったものと読める。
Cowrieに残ったのは、接続元から送られたコマンドとファイル転送の記録だ。実際のOSでプログラムが動いたり、認証設定が変わったりした成功記録とは分けて扱った。取得したファイルも実行していない。
AI向けの罠に、反応はあったのか
罠ありでコマンド入力のあった1,346セッションを調べ、マーカーの文字列や指示を置いたファイル名を検索した。一致する入力記録は0件だった。
検索で確認できるのは、指定した文字列を含む入力だ。ログインメッセージを読んだだけの場合や、別の書き方でファイルを読んだ場合は、この検索では捉えられない。0件という結果だけで、AIエージェントが接続しなかったとは判定できない。
長いコマンドや規則的な操作も、従来の自動実行スクリプトで送れる。公開観測では入力する側のツールが見えないため、コマンドの見た目だけでAI利用と分類することは避けた。
ハニーポットの運用には、いくらかかったか
10月16〜20日の構築・観測・ログ回収までに使ったクラウド料金は、約3,560円だった。公開観測2台と準備用1台をまとめた費用で、ログの保管や閲覧も含む。
CPU・メモリ・保管・通信の料金内訳
コア時間・GiB時間・GiB月は、CPUのコア数や容量に利用時間を掛け、複数台分を合算した使用量を示す。
| 用途 | 使用料金 | 今回の使用量 |
|---|---|---|
| サーバーのCPU | 1,768円 | 401.4コア時間 |
| サーバーのメモリ | 944円 | 1,605.62GiB時間 |
| ディスク | 746円 | 36.52GiB月 |
| ネットワークの監視・分析 | 85円 | 3項目・各182リソース時間 |
| 外向き通信の中継 | 4円 | 0.14GiB・2.37時間 |
| サーバーの有料通信 | 8円 | 0.56GiB |
| 閲覧機能と認証情報の保管 | 4円 | 処理・通信・保管 |
| ログの検索・保管など | 0円 | — |
費用の約4分の3はサーバーのCPUとメモリだった。
攻撃する側にも、設備や通信、調査に費用や時間がかかる。攻撃者は、侵入のしやすさや得られる利益を見て、どのサイトやサーバーに手間をかけるか選んでいるのではないか。広く接続を試し、見込みのある対象に絞る進め方も考えられる。
今回のCPUやGPUの確認も、攻撃を続ける価値を判断するためだった可能性がある。ただし、今回のログだけでは、その目的までは特定できない。
運用してみて、何を残す必要があったか
- ログイン件数だけでは、操作の違いは分からない。 同じ文字列の反復に加え、環境確認やファイルの持ち込み、認証用の鍵を書き込もうとする操作があった。接続・入力・ファイル転送を同じセッションで追うと、その違いを確かめられる。
- 集計時点のログを残すと、件数を確かめ直せる。 ログは15分ごとに回収し、アーカイブと、内容の同一性を照合するハッシュを保存した。観測中も増え続けるログを回収時点の状態で残すことで、同じデータに戻って確認できる。
- 今回の記録からAI利用の有無は判定できない。 指定した文字列の検索では、指示を読んで実行しなかった場合を捉えられず、長い入力や規則的な操作は従来のスクリプトでも送れる。
サーバーの設定やアクセス制御の検証について、お気軽にご相談ください。


