Slide 1

Slide 1 text

@nsec_life Channel-based MitM Attacks__ using CSAs March 16, 2019 IoTSecJP 東京 Version 5.0 # IoTSecJP

Slide 2

Slide 2 text

• CSA を利用したチャネルベース中間者攻撃の論文発表 (2018) • 日本でも同攻撃の実現可能性を評価する論文が発表 (2019) • しかし大きな話題にはならず、特に修正もされていない • また、論文では具体的な攻撃手法や実装方法について詳しく述 べられていない Abstract March 16, 2019 2 論文と攻撃ツールの挙動をもとに攻撃手法を調査

Slide 3

Slide 3 text

$ whoami • Nao Komatsu • Work • セキュリティエンジニア • IoT デバイス / スマホアプリ診断 • Like • Linux / Vim / OSS • 動物 / お酒 • Twitter / Blog • https://twitter.com/nsec_life • https://nsec.hatenablog.com March 16, 2019 3

Slide 4

Slide 4 text

Agenda March 16, 2019 4 • チャネルベース中間者攻撃とは • ジャミング方式と CSAs 方式について • 実際に攻撃してみた • 攻撃パケットの解析 • CSAs 方式のチャネルベース中間者攻撃の考察 【注意】 • 悪用ダメ。ゼッタイ。 • 技適マークが無い製品を使う場合は電波を遮断する。

Slide 5

Slide 5 text

March 16, 2019 5 What is Channel-based MitM Attacks?

Slide 6

Slide 6 text

Channel-based MitM Attacks • Wi-Fi 機器に対する中間者攻撃の一種 • Wi-Fi がいくつかのチャネルに分かれていることを利用 • Vanhoef 氏らによって発見・提案される • ジャミング方式 (2014) • CSAs 方式 (2018) • 2017 年に話題になった KRACKs の前提条件となる攻撃 March 16, 2019 6

Slide 7

Slide 7 text

March 16, 2019 7 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) ジャミング方式

Slide 8

Slide 8 text

March 16, 2019 8 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) 正規 AP の Beacon を取得する ジャミング方式

Slide 9

Slide 9 text

March 16, 2019 9 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) jamming ジャミングによって Beacon や Probe Response が遮断される ジャミング方式

Slide 10

Slide 10 text

March 16, 2019 10 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) Probe Request Probe Response ジャミング方式 クライアントからの Probe Request に対して、偽 AP が応答

Slide 11

Slide 11 text

March 16, 2019 11 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) クライアントはチャネルを 切り替えて通信を続ける ジャミング方式

Slide 12

Slide 12 text

Channel-based MitM Attacks using CSAs • ジャミング方式では正規 AP の通信を妨害 • CSAs 方式では CSA を用いてチャネルの移動を促す • Beacon, Probe Response, Action Frame に CSA 要素を含める • ジャミング方式と比較して、成功率・危険度が高い • 電波が届けば、電波強度に依存しない • 通信を妨害しないため気づかれにくい March 16, 2019 12

Slide 13

Slide 13 text

Channel Switch Announcements (CSAs) • AP がチャネルの変更を通知する信号 • IEEE802.11h で定義 • 5GHz 帯の共存制御のための規格 • 衛星通信や気象観測用の通信との干渉を避けるため • Beacon などのパケットに付与して送信 March 16, 2019 13 1 byte 1 byte 1 byte 1 byte 1 byte Tag ID Length Channel Switch Mode New Channel Number Channel Switch Counter 37 3 0 or 1 CSAs format

Slide 14

Slide 14 text

March 16, 2019 14 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) CSAs 方式 正規 AP の Beacon を取得する

Slide 15

Slide 15 text

March 16, 2019 15 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) Beacon with CSA 取得した Beacon に CSA を付与して送信する CSAs 方式

Slide 16

Slide 16 text

March 16, 2019 16 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) クライアントはチャネルを 切り替えて通信を続ける CSAs 方式

Slide 17

Slide 17 text

March 16, 2019 17 Try to attack

Slide 18

Slide 18 text

Verification environment Hardware Rogue AP • Kali Linux 2019.1 on ThinkPad x201s (USB boot) • Alfa AWUS036NHA (Atheros AR9271) × 2 Real AP • NEC Aterm WG1200HP Target device • Le Freshinsoft Network Camera • Raspbian Stretch on Raspberry Pi 3 Model B+ (*) March 16, 2019 18 (*) 意図的に KRACKs 修正前の wpa_supplicant をインストール済み Software Rogue AP https://github.com/vanhoefm/krackattacks-poc-zerokey

Slide 19

Slide 19 text

krackattacks-poc-zerokey • KRACKs デモ用のツール • https://github.com/vanhoefm/krackattacks-poc-zerokey • CSAs 方式のチャネルベース中間者攻撃を利用 • クライアントに KRACKs の脆弱性があれば、WPA2 を復号 • Youtube に製作者によるデモ動画がある • https://youtu.be/Oh4WURZoR98 March 16, 2019 19

Slide 20

Slide 20 text

March 16, 2019 20 NEC Aterm WG1200HP • Le Freshinsoft Network Camera • Raspberry Pi 3 Model B+ Wi-Fi adapter (Client side) • Alfa AWUS036NHA Wi-Fi adapter (Real AP side) • Alfa AWUS036NHA Kali Linux 2019.1 検証環境のイメージ

Slide 21

Slide 21 text

March 16, 2019 21 Real AP side Client side Rogue AP (Kali Linux) Target device 2 Target device 1 Wireshark MitM script Packet forwarding

Slide 22

Slide 22 text

Try to attack (1) March 16, 2019 22 ①AP に接続する クライアント画面 このときの IP アドレスは 192.168.10.194/24

Slide 23

Slide 23 text

Try to attack (2) March 16, 2019 23 攻撃者画面 ③DHCP サーバ、 DNS サーバを起動 ②MitM と KRACKs を実行 必要な情報は SSID のみ (このツールは攻撃対象の MAC アドレスも必要)

Slide 24

Slide 24 text

Try to attack (3) March 16, 2019 24 クライアント画面 ④IP アドレスが 192.168.20.194/24 に変化 (変化前: 192.168.10.194/24) AP はそのまま (に見える)

Slide 25

Slide 25 text

Try to attack (4) March 16, 2019 25 クライアント画面 ⑤http://example.com にアクセス

Slide 26

Slide 26 text

Try to attack (5) March 16, 2019 26 ②MitM と KRACKs を実行 攻撃者画面 ⑥WPA2 が復号され、 DNS や HTTP の 通信内容が見える

Slide 27

Slide 27 text

March 16, 2019 27 Analyze attack packets

Slide 28

Slide 28 text

Analyze packets (1) March 16, 2019 28 Timeline of attack packets Beacon with CSA Deauthentication Disassociation Probe Request & Probe Response Authentication Association 4-way handshake

Slide 29

Slide 29 text

Analyze packets (2) March 16, 2019 29 MAC address: c0:25:a2:4a:6b:2e Beacon frame from Real AP SSID: aterm-7baeda-g Current Channel: 7 (ch)

Slide 30

Slide 30 text

Analyze packets (3) March 16, 2019 30 MAC address: c0:25:a2:4a:6b:2e Beacon frame from Rogue AP SSID: aterm-7baeda-g Current Channel: 1 (ch)

Slide 31

Slide 31 text

Analyze packets (4) March 16, 2019 31 Beacon frame with CSA from Rogue AP Channel Switch Announcement New Switch Number: 1 (ch)

Slide 32

Slide 32 text

Analyze packets (5) March 16, 2019 32 Deauthentication from Rogue AP

Slide 33

Slide 33 text

Analyze packets (6) March 16, 2019 33 Probe Response from Rogue AP Current Channel: 1 (ch)

Slide 34

Slide 34 text

March 16, 2019 34 Methods of Attack

Slide 35

Slide 35 text

March 16, 2019 35 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) 実際のツールによる攻撃手順 正規 AP の Beacon を取得する

Slide 36

Slide 36 text

March 16, 2019 36 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) Beacon with CSA 取得した Beacon に CSA を付与して送信する 実際のツールによる攻撃手順

Slide 37

Slide 37 text

March 16, 2019 37 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) Disassociation Disassociation を送信し、 再接続処理を強制させる 実際のツールによる攻撃手順

Slide 38

Slide 38 text

March 16, 2019 38 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) Probe Request Probe Response 実際のツールによる攻撃手順 クライアントからの Probe Request に対して、偽 AP が応答

Slide 39

Slide 39 text

March 16, 2019 39 • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: A (ch) • SSID: test-network • MAC address: 00-00-5E-00-53-00 • Channel: B (ch) クライアントはチャネルを 切り替えて通信を続ける 実際のツールによる攻撃手順

Slide 40

Slide 40 text

Countermeasures • 提案されている対策 • 通信が暗号化された状態でチャネル情報を交換 • クライアント側で CSA を無効化 • AP のチャネルを記憶しておき、普段と異なる場合に通知 • 暫定的な対策 • HTTPS や VPN による暗号化 • KRACKs の修正パッチ • チャネルベース中間者攻撃を利用した DoS 攻撃は防げない March 16, 2019 40

Slide 41

Slide 41 text

Conclusion • 2.4GHz 帯でも CSAs 方式の中間者攻撃が成功 • クライアントが 5GHz に対応 → 2.4GHz でも CSA を正しく処理 • 攻撃に必要な情報は SSID のみ • 今回使用したツールは対象の MAC アドレスも必要 • 被害者が攻撃に気づくことはほぼ不可能 • 自宅のネットワークカメラでは成功しなかった • 低レイヤのパケット解析は楽しい March 16, 2019 41

Slide 42

Slide 42 text

References March 16, 2019 42 • [1] Vanhoef, M. and Piessens, F.: "Advanced Wi-Fi attacks using commodity hardware", ACSAC 2014, ACM, pp. 256-265 (2014). • [2] Vanhoef, M., Bhandaru, N., Derham, T., Ouzieli, I. and Piessens, F.: "Operating Channel Validation: Preventing Multi-Channel Man-in-the-Middle Attacks Against Protected Wi-Fi Networks", WiSec 2018, ACM, pp. 34-39 (2018). • [3] Vanhoef, M. and Piessens, F.: "Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2", CCS 2017, ACM, pp. 1313-1328 (2017). • [4] Vanhoef, M. and Piessens, F.: "Release the Kraken: New KRACKs in the 802.11 Standard", CCS 2018, ACM, pp. 299-314 (2018). • [5] 窪田恵人, 小家武, 船引悠生, 藤堂洋介, 五十部孝典, 森井昌克: "実環境を想定 した wpa2 に対する kracks の評価実験", CSS 2018 論文集, pp. 561-568 (2018). • [6] 窪田恵人, 小家武, 藤堂洋介, 五十部孝典, 森井昌克: "Wi-Fi 機器に対する中間 者攻撃の実装と考察 Evaluating Man-in-the-Middle Attacks against WPA2", SCIS 2019. • [7] URL: https://github.com/vanhoefm/krackattacks-scripts. • [8] URL: https://github.com/vanhoefm/krackattacks-poc-zerokey.

Slide 43

Slide 43 text

Thank you. Any Questions ? March 16, 2019 43