SlideShare uma empresa Scribd logo
1 de 35
悪性Botnet包囲網のBotによる
WannaCryのようなマルウェアの活動検知の試み
山之上 卓,長副誉司, 福山大学
IPSJ-IOT-44 2019@ホテルグランドエクシブ鳴門&ザ・ロッジ, 3/7, 2019.
#ipsjiot
目次
• 1. はじめに
• 2. 悪性 Botnet 包囲網
• 3. 偽WannaCry
• 4. 検知手法
• 5. 実験
• 6. 関連研究
• 7. おわりに
#ipsjiot
1. はじめに
• ランサムウェア
– …
– WannaCry(2017)
– …
• 感染拡大を防ぎたい
• 悪性Bot 包囲網を使ってみよう
#ipsjiot
2. 悪性Botnet包囲網
2.1 悪性botnetの概要
#ipsjiot
2. 悪性Botnet包囲網
2.2悪性bonet包囲網のbot(1/2)
#ipsjiot
他に使えるコマンド
set pageName <page-name>
include <url>
Wiki ページの例
2. 悪性Botnet包囲網
2.2悪性bonet包囲網のbot(2/2)
#ipsjiot
2. 悪性Botnet包囲網
2.3 Agent Bot (1/2)
#ipsjiot
2. 悪性Botnet包囲網
2.3 Agent Bot (2/2)
• Buffers
– Packet History
• Sub buffers for every (Source IP, Destination IP)
• 時間と Payload のSha1 hash も一緒に格納
– MAC-list
– Domain-list
– Dhcp-list
– Arp-list
#ipsjiot
この写真 の作成者 不明な作成者 は
CC BY-SA のライセンスを許諾され
ています
• 良性botの言語プロセッサ
– CSV parser
– 表操作/表計算関数
• Analyzing Bot
– 良性botの言語プロセッサの機能
– R (IOTS2016 で発表)
2. 悪性Botnet包囲網
2.4 Analyzing Bot (1/1)
#ipsjiot
この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されていま
す
この写真 の作成者 不明な作成者 は CC
BY-SA のライセンスを許諾されていま
3. 偽WannaCry
• TCP/445 を scan
– 本物のWannaCry は、LANの内外かかわらず
TCP/445 をSCAN
• LAN 外からもある程度検知可能
– LAN内だけ TCP/445をScan する
マルウェアがもしあったら?
• LAN外からの検知は困難
#ipsjiot
この写真 の作成者 不明な作成者 は
CC BY-SA のライセンスを許諾され
ています
この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾
されています
4. 検知手法(1/4)
• 偽WannaCry
– LAN外のホストのTCP/445番ポートへの接続を行わない.
– LAN内のIPアドレスの範囲のIPアドレスのホストの
TCP/445番ポートに接続を試行
– LAN内では, 相手先ホストが存在しない場合, TCP接続
そのものが行われない.
– たとえミラーポートを持ったスイッチを使って監視し
ていても, LAN内の存在しないIPアドレス宛のTCP通信
は監視できない.
この写真 の作成者 不明な作
成者 は CC BY-SA のライセ
ンスを許諾されています
4. 検知手法(2/4)
• しかしながら
– ルータやNAT
• 少なくともルータやNATのLAN側のIPアドレスの
TCP/445番ポートへの接続の試行は行う.
• この接続を検知することにより, 偽WannaCry が動
いているホストの候補を挙げることは可能.
– LAN内でユニキャストのIP通信が行われる場合
• 送信側ホストは, ARPパケットの送受信
– 受信側ホストのMACアドレスを入手するため,
• ARPパケットを監視することにより, どのホストが,
別のどのホストにIP接続を行おうとしているか, 知
ることができる.
この写真 の作成者 不明な作
成者 は CC BY-NC-ND のラ
イセンスを許諾されていま
す
4. 検知手法(3/4)
• 今回の偽WannaCryの活動の識別方法
– Step 1.
• Agent Bot においてTCP/445番ポート宛のパケットのリストと,
Arp-list の取得を行う.
– Step 2.
• Analyzing Botにおいて, それぞれの監視対象LANのAgentボッ
トから得られたデータを使って以下を行う.
– Step 2.1
» TCP/445番ポートにパケットを送信しているホストの重複しないIP
アドレスのリスト(候補リスト)を作成する.
– Step 2.2
» 候補リストのそれぞれのIPアドレスについて. 以下を行う
4. 検知手法(4/4)
– Step 2.2.1
• Arp-list の中で上のIPアドレスを送信元に持ち, Arp request を
行うパケットの, 相手先IPアドレスのリストを作成.
– Step 2.2.2
• 相手先のIPアドレスのリストについて, 重複していないアドレ
スのリスト(接続先リスト)を作成.
– Step 2.2.3
• 候補リストの中で, 接続先リストの要素の数が一定の数を超え
たものを, 偽WannaCry が活動している可能性が高いホストと
して出力.
5. 実験
#ipsjiot
5. 実験
5.1 Agent Botsのscriptと実行結果(1/3)
#ipsjiot
5. 実験
5.1 Agent Botsのscriptと実行結果(2/3)
#ipsjiot
5. 実験
5.1 Agent Botsのscriptと実行結果(3/3)
5. 実験
5.2 Analyzing Botのscriptと実行結果(1/6)
#ipsjiot
5. 実験
5.2 Analyzing Botのscriptと実行結果(2/6)
5. 実験
5.2 Analyzing Botのscriptと実行結果(3/6)
5. 実験
5.2 Analyzing Botのscriptと実行結果(4/6)
• Step. 2.1
– 候補リストとして, {192.168.2.100}が得られる.
5. 実験
5.2 Analyzing Botのscriptと実行結果(5/6)
• Step. 2.2.
– 192.168.2.100から送信されるarp requestの相手先IPアドレスの
リストとして{…, 192.168.2.197, 192.168.2. 189, 192.168.2.191,
192.168.2.195, 192.168.2.196, 192.168.2.197, …}が得られる.
5. 実験
5.2 Analyzing Botのscriptと実行結果(6/6)
• Step 2.2.3
– 相手先のIPアドレスのリストの大きさが5より大きいので,
192.168.2.100は偽WannaCryが活動している可能性が高く, また、
そのホストが接続されているLANは0番目なので,
– In the LAN-0, host_192.168.2.100_may_have_WannaCry
– がAnalyzing Bot のObject Page に出力される.
• 分散IDSの agent の集合
• agents + transceivers + monitors
6. 関連研究
6.1 Autonomous Agents
for Intrusion Detection (AAFID)
#ipsjiot
• AAIFの agent と我々の agent bot は, どちらともコマンドによって制御され, 通信
データを収集
• Agent AAFIDのagentはclient hostに install されている
– 我々の agent botはLANとそのルータ又はNAT ルータの間に設置
• AAFIDの monitor と transceiver , 我々の Analyzing Bot… agentなどからデータを
集めて, それを解析する部分で類似
• AAFIDの monitorはwiki ページの script で制御されない
– 我々の agent botやanalyzing botはwikiページのscriptで制御
• Agent間の通信方式については, AAFIDについては定義されていない
– 我々のbotnetはwiki APIを使っている.
6. 関連研究
6.1 Autonomous Agents
for Intrusion Detection (AAFID)
#ipsjiot
• 各ネットワーク機器からフルフローを収集
• 組織内ネットワークの通信状況を可視化
• 通信特徴から異常を検知
• 文献[12]でWannaCry に感染した端末を検出する方法が紹介
• 実際のWannaCryは組織内外のホストのTCP/445ポートへの接続を試
みる
• Stealthwatchでその活動を検出することが可能
6. 関連研究
6.2 Stealthwatch で WannaCry に
感染した端末を検出する方法
#ipsjiot
• しかしながら,
– 偽WannaCryのような, LAN内に閉じたscanを行うマルウェアに
ついては, フルフローを収集できるものでない限り, その活動を検
知することは困難.
• これに対して
– beneficial botnetの場合, Agent bot が組織ネットワーク管理外
の, NATで接続されたLANの, そのLANとNATの間に設置されて
いれば, 偽WannaCryのようなマルウェアを検出することが可能
である.
• Beneficial Botnet のAgent Bot はある意味、Man in the Middle 攻撃を
行う
–慎重な取り扱いを必要とする。
6. 関連研究
6.3 Man in the Middle Attack
#ipsjiot
• Beneficial botnetと同様に, 定期的にエージェントプログラムが Web
サーバにアクセスし, そこに書かれた指示をエージェントが実行し, 結
果を Web サーバ側に戻す
• エージェントプログラムとWebサーバはNATを超えて相互に通信でき
る.
–我々の Agent bot と同じ
• キュリティ強化を目的としたものではない.
• 特化したWebサーバを必要とする
–beneficial botnetはopenなPukiWiki.
6. 関連研究
6.4 KASEYA and UNIFAS
#ipsjiot
• 悪性botnet包囲網(beneficial botnet)による, WannaCryのようなマル
ウェアの活動を検出の可能性
• しかしながら、ホストをスキャンする他のアプリケーションもあり。
これらとの違いを、判別できる必要あり。
• beneficial botnet
– script を格納するための wiki ページ + そのscriptのinterpreter
• 評価実験を行う為, 悪性botnetの通信をまねる偽WannaCryも作成
5. おわりに
#ipsjiot
• 悪性botnet包囲網はLAN間通信の相関を取ることもできる
– 今回は, 相関は取っていない.
• 現時点でLAN-WAN間通信が非常に遅い
• セキュリティの強化とその検証も必要
• デバッグの方法や環境についても改善する必要があり.
謝辞
• JSPS科研費 16K00197
• PukiWiki, Java, Pcap4J, Eclipse, Eclipse Egit, M2Eclipse,
Apache, Apache http client, twitter4j, Raspberry Pi,
Raspbian
• 実験の実施を手伝ってくれた学生諸君に感謝します.
5. 実験
#ipsjiot

Mais conteúdo relacionado

Semelhante a 悪性Botnet包囲網のBotによるWannaCryのようなマルウェアの活動検知の試み

ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
FFRI, Inc.
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
openrtm
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)
FFRI, Inc.
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
Yasukazu Kawasaki
 

Semelhante a 悪性Botnet包囲網のBotによるWannaCryのようなマルウェアの活動検知の試み (20)

「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)
 
Iots2018 20181203
Iots2018 20181203Iots2018 20181203
Iots2018 20181203
 
あ! やせいのEmotetがあらわれた! ~ IIJ C-SOCサービスの分析ルールについて~
あ! やせいのEmotetがあらわれた! ~ IIJ C-SOCサービスの分析ルールについて~あ! やせいのEmotetがあらわれた! ~ IIJ C-SOCサービスの分析ルールについて~
あ! やせいのEmotetがあらわれた! ~ IIJ C-SOCサービスの分析ルールについて~
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
 
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
 
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
BotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミングBotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミング
 
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
 
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
03 第3.6節-第3.8節 ROS2の基本機能(2/2)03 第3.6節-第3.8節 ROS2の基本機能(2/2)
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
 
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 

Mais de Takashi Yamanoue

Mais de Takashi Yamanoue (20)

人が乗れる自動運転電気自動車作成中その4, -version up その1-
人が乗れる自動運転電気自動車作成中その4, -version up その1-人が乗れる自動運転電気自動車作成中その4, -version up その1-
人が乗れる自動運転電気自動車作成中その4, -version up その1-
 
シン3次元表示装置 ーその1ー
シン3次元表示装置 ーその1ーシン3次元表示装置 ーその1ー
シン3次元表示装置 ーその1ー
 
Wiki IoT/Bot Computingを使った顔ロボット群の制御
Wiki IoT/Bot Computingを使った顔ロボット群の制御Wiki IoT/Bot Computingを使った顔ロボット群の制御
Wiki IoT/Bot Computingを使った顔ロボット群の制御
 
IoTLT-Vol93-Wiki-IoT-20221117.pptx
IoTLT-Vol93-Wiki-IoT-20221117.pptxIoTLT-Vol93-Wiki-IoT-20221117.pptx
IoTLT-Vol93-Wiki-IoT-20221117.pptx
 
IoTLT-Vol92-Wiki-IoT-20221009-1.pptx
IoTLT-Vol92-Wiki-IoT-20221009-1.pptxIoTLT-Vol92-Wiki-IoT-20221009-1.pptx
IoTLT-Vol92-Wiki-IoT-20221009-1.pptx
 
人が乗れる 自動運転電気自動車作成中その3 -自動運転成功!-
人が乗れる自動運転電気自動車作成中その3 -自動運転成功!-人が乗れる自動運転電気自動車作成中その3 -自動運転成功!-
人が乗れる 自動運転電気自動車作成中その3 -自動運転成功!-
 
人が乗れる 自動運転 電気自動車 作成中!
人が乗れる 自動運転 電気自動車 作成中!人が乗れる 自動運転 電気自動車 作成中!
人が乗れる 自動運転 電気自動車 作成中!
 
着る電光掲示板の新機能  -場所に応じた情報の自動表示-
着る電光掲示板の新機能  -場所に応じた情報の自動表示-着る電光掲示板の新機能  -場所に応じた情報の自動表示-
着る電光掲示板の新機能  -場所に応じた情報の自動表示-
 
Real->Virtual変換システムの開発その1の2
Real->Virtual変換システムの開発その1の2Real->Virtual変換システムの開発その1の2
Real->Virtual変換システムの開発その1の2
 
Real->Virtual 変換システムの開発その1の1
Real->Virtual 変換システムの開発その1の1Real->Virtual 変換システムの開発その1の1
Real->Virtual 変換システムの開発その1の1
 
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
 
Teleport dressor 20200524
Teleport dressor 20200524Teleport dressor 20200524
Teleport dressor 20200524
 
SeeThroughChameleonDress-on-the-way-ex1
SeeThroughChameleonDress-on-the-way-ex1SeeThroughChameleonDress-on-the-way-ex1
SeeThroughChameleonDress-on-the-way-ex1
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
 
Zoomはぶっ飛ばせないけど... - Portable Cloud の紹介
Zoomはぶっ飛ばせないけど... - Portable Cloud の紹介Zoomはぶっ飛ばせないけど... - Portable Cloud の紹介
Zoomはぶっ飛ばせないけど... - Portable Cloud の紹介
 
trouble-with-mboed-os
trouble-with-mboed-ostrouble-with-mboed-os
trouble-with-mboed-os
 
簡便な大型幅広デジタルサイネージシステムとその自動運用システム
簡便な大型幅広デジタルサイネージシステムとその自動運用システム簡便な大型幅広デジタルサイネージシステムとその自動運用システム
簡便な大型幅広デジタルサイネージシステムとその自動運用システム
 
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システムWiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
 
Bot Computing using the Power of Wiki Collaboration
Bot Computing using the Power of Wiki CollaborationBot Computing using the Power of Wiki Collaboration
Bot Computing using the Power of Wiki Collaboration
 
Bot Computing and its Application to Solve Minimal Path Problems
Bot Computing and its Application to Solve Minimal Path ProblemsBot Computing and its Application to Solve Minimal Path Problems
Bot Computing and its Application to Solve Minimal Path Problems
 

Último

Último (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

悪性Botnet包囲網のBotによるWannaCryのようなマルウェアの活動検知の試み

  • 3. 目次 • 1. はじめに • 2. 悪性 Botnet 包囲網 • 3. 偽WannaCry • 4. 検知手法 • 5. 実験 • 6. 関連研究 • 7. おわりに #ipsjiot
  • 4. 1. はじめに • ランサムウェア – … – WannaCry(2017) – … • 感染拡大を防ぎたい • 悪性Bot 包囲網を使ってみよう #ipsjiot
  • 7. 他に使えるコマンド set pageName <page-name> include <url> Wiki ページの例 2. 悪性Botnet包囲網 2.2悪性bonet包囲網のbot(2/2) #ipsjiot
  • 9. 2. 悪性Botnet包囲網 2.3 Agent Bot (2/2) • Buffers – Packet History • Sub buffers for every (Source IP, Destination IP) • 時間と Payload のSha1 hash も一緒に格納 – MAC-list – Domain-list – Dhcp-list – Arp-list #ipsjiot この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾され ています
  • 10. • 良性botの言語プロセッサ – CSV parser – 表操作/表計算関数 • Analyzing Bot – 良性botの言語プロセッサの機能 – R (IOTS2016 で発表) 2. 悪性Botnet包囲網 2.4 Analyzing Bot (1/1) #ipsjiot この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されていま す この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されていま
  • 11. 3. 偽WannaCry • TCP/445 を scan – 本物のWannaCry は、LANの内外かかわらず TCP/445 をSCAN • LAN 外からもある程度検知可能 – LAN内だけ TCP/445をScan する マルウェアがもしあったら? • LAN外からの検知は困難 #ipsjiot この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾され ています この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾 されています
  • 12. 4. 検知手法(1/4) • 偽WannaCry – LAN外のホストのTCP/445番ポートへの接続を行わない. – LAN内のIPアドレスの範囲のIPアドレスのホストの TCP/445番ポートに接続を試行 – LAN内では, 相手先ホストが存在しない場合, TCP接続 そのものが行われない. – たとえミラーポートを持ったスイッチを使って監視し ていても, LAN内の存在しないIPアドレス宛のTCP通信 は監視できない. この写真 の作成者 不明な作 成者 は CC BY-SA のライセ ンスを許諾されています
  • 13. 4. 検知手法(2/4) • しかしながら – ルータやNAT • 少なくともルータやNATのLAN側のIPアドレスの TCP/445番ポートへの接続の試行は行う. • この接続を検知することにより, 偽WannaCry が動 いているホストの候補を挙げることは可能. – LAN内でユニキャストのIP通信が行われる場合 • 送信側ホストは, ARPパケットの送受信 – 受信側ホストのMACアドレスを入手するため, • ARPパケットを監視することにより, どのホストが, 別のどのホストにIP接続を行おうとしているか, 知 ることができる. この写真 の作成者 不明な作 成者 は CC BY-NC-ND のラ イセンスを許諾されていま す
  • 14. 4. 検知手法(3/4) • 今回の偽WannaCryの活動の識別方法 – Step 1. • Agent Bot においてTCP/445番ポート宛のパケットのリストと, Arp-list の取得を行う. – Step 2. • Analyzing Botにおいて, それぞれの監視対象LANのAgentボッ トから得られたデータを使って以下を行う. – Step 2.1 » TCP/445番ポートにパケットを送信しているホストの重複しないIP アドレスのリスト(候補リスト)を作成する. – Step 2.2 » 候補リストのそれぞれのIPアドレスについて. 以下を行う
  • 15. 4. 検知手法(4/4) – Step 2.2.1 • Arp-list の中で上のIPアドレスを送信元に持ち, Arp request を 行うパケットの, 相手先IPアドレスのリストを作成. – Step 2.2.2 • 相手先のIPアドレスのリストについて, 重複していないアドレ スのリスト(接続先リスト)を作成. – Step 2.2.3 • 候補リストの中で, 接続先リストの要素の数が一定の数を超え たものを, 偽WannaCry が活動している可能性が高いホストと して出力.
  • 17. 5. 実験 5.1 Agent Botsのscriptと実行結果(1/3) #ipsjiot
  • 18. 5. 実験 5.1 Agent Botsのscriptと実行結果(2/3) #ipsjiot
  • 19. 5. 実験 5.1 Agent Botsのscriptと実行結果(3/3)
  • 20. 5. 実験 5.2 Analyzing Botのscriptと実行結果(1/6) #ipsjiot
  • 21. 5. 実験 5.2 Analyzing Botのscriptと実行結果(2/6)
  • 22. 5. 実験 5.2 Analyzing Botのscriptと実行結果(3/6)
  • 23. 5. 実験 5.2 Analyzing Botのscriptと実行結果(4/6) • Step. 2.1 – 候補リストとして, {192.168.2.100}が得られる.
  • 24. 5. 実験 5.2 Analyzing Botのscriptと実行結果(5/6) • Step. 2.2. – 192.168.2.100から送信されるarp requestの相手先IPアドレスの リストとして{…, 192.168.2.197, 192.168.2. 189, 192.168.2.191, 192.168.2.195, 192.168.2.196, 192.168.2.197, …}が得られる.
  • 25. 5. 実験 5.2 Analyzing Botのscriptと実行結果(6/6) • Step 2.2.3 – 相手先のIPアドレスのリストの大きさが5より大きいので, 192.168.2.100は偽WannaCryが活動している可能性が高く, また、 そのホストが接続されているLANは0番目なので, – In the LAN-0, host_192.168.2.100_may_have_WannaCry – がAnalyzing Bot のObject Page に出力される.
  • 26. • 分散IDSの agent の集合 • agents + transceivers + monitors 6. 関連研究 6.1 Autonomous Agents for Intrusion Detection (AAFID) #ipsjiot
  • 27. • AAIFの agent と我々の agent bot は, どちらともコマンドによって制御され, 通信 データを収集 • Agent AAFIDのagentはclient hostに install されている – 我々の agent botはLANとそのルータ又はNAT ルータの間に設置 • AAFIDの monitor と transceiver , 我々の Analyzing Bot… agentなどからデータを 集めて, それを解析する部分で類似 • AAFIDの monitorはwiki ページの script で制御されない – 我々の agent botやanalyzing botはwikiページのscriptで制御 • Agent間の通信方式については, AAFIDについては定義されていない – 我々のbotnetはwiki APIを使っている. 6. 関連研究 6.1 Autonomous Agents for Intrusion Detection (AAFID) #ipsjiot
  • 28. • 各ネットワーク機器からフルフローを収集 • 組織内ネットワークの通信状況を可視化 • 通信特徴から異常を検知 • 文献[12]でWannaCry に感染した端末を検出する方法が紹介 • 実際のWannaCryは組織内外のホストのTCP/445ポートへの接続を試 みる • Stealthwatchでその活動を検出することが可能 6. 関連研究 6.2 Stealthwatch で WannaCry に 感染した端末を検出する方法 #ipsjiot
  • 29. • しかしながら, – 偽WannaCryのような, LAN内に閉じたscanを行うマルウェアに ついては, フルフローを収集できるものでない限り, その活動を検 知することは困難. • これに対して – beneficial botnetの場合, Agent bot が組織ネットワーク管理外 の, NATで接続されたLANの, そのLANとNATの間に設置されて いれば, 偽WannaCryのようなマルウェアを検出することが可能 である.
  • 30. • Beneficial Botnet のAgent Bot はある意味、Man in the Middle 攻撃を 行う –慎重な取り扱いを必要とする。 6. 関連研究 6.3 Man in the Middle Attack #ipsjiot
  • 31. • Beneficial botnetと同様に, 定期的にエージェントプログラムが Web サーバにアクセスし, そこに書かれた指示をエージェントが実行し, 結 果を Web サーバ側に戻す • エージェントプログラムとWebサーバはNATを超えて相互に通信でき る. –我々の Agent bot と同じ • キュリティ強化を目的としたものではない. • 特化したWebサーバを必要とする –beneficial botnetはopenなPukiWiki. 6. 関連研究 6.4 KASEYA and UNIFAS #ipsjiot
  • 32. • 悪性botnet包囲網(beneficial botnet)による, WannaCryのようなマル ウェアの活動を検出の可能性 • しかしながら、ホストをスキャンする他のアプリケーションもあり。 これらとの違いを、判別できる必要あり。 • beneficial botnet – script を格納するための wiki ページ + そのscriptのinterpreter • 評価実験を行う為, 悪性botnetの通信をまねる偽WannaCryも作成 5. おわりに #ipsjiot
  • 33. • 悪性botnet包囲網はLAN間通信の相関を取ることもできる – 今回は, 相関は取っていない. • 現時点でLAN-WAN間通信が非常に遅い • セキュリティの強化とその検証も必要 • デバッグの方法や環境についても改善する必要があり.
  • 34. 謝辞 • JSPS科研費 16K00197 • PukiWiki, Java, Pcap4J, Eclipse, Eclipse Egit, M2Eclipse, Apache, Apache http client, twitter4j, Raspberry Pi, Raspbian • 実験の実施を手伝ってくれた学生諸君に感謝します.