Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Channel-based MitM Attacks using CSAs

Nao
March 16, 2019

Channel-based MitM Attacks using CSAs

Nao

March 16, 2019
Tweet

More Decks by Nao

Other Decks in Technology

Transcript

  1. @nsec_life Channel-based MitM Attacks__ using CSAs March 16, 2019 IoTSecJP

    東京 Version 5.0 # IoTSecJP
  2. • CSA を利用したチャネルベース中間者攻撃の論文発表 (2018) • 日本でも同攻撃の実現可能性を評価する論文が発表 (2019) • しかし大きな話題にはならず、特に修正もされていない •

    また、論文では具体的な攻撃手法や実装方法について詳しく述 べられていない Abstract March 16, 2019 2 論文と攻撃ツールの挙動をもとに攻撃手法を調査
  3. $ whoami • Nao Komatsu • Work • セキュリティエンジニア •

    IoT デバイス / スマホアプリ診断 • Like • Linux / Vim / OSS • 動物 / お酒 • Twitter / Blog • https://twitter.com/nsec_life • https://nsec.hatenablog.com March 16, 2019 3
  4. Agenda March 16, 2019 4 • チャネルベース中間者攻撃とは • ジャミング方式と CSAs

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

  6. Channel-based MitM Attacks • Wi-Fi 機器に対する中間者攻撃の一種 • Wi-Fi がいくつかのチャネルに分かれていることを利用 •

    Vanhoef 氏らによって発見・提案される • ジャミング方式 (2014) • CSAs 方式 (2018) • 2017 年に話題になった KRACKs の前提条件となる攻撃 March 16, 2019 6
  7. March 16, 2019 7 • SSID: test-network • MAC address:

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

    00-00-5E-00-53-00 • Channel: A (ch) 正規 AP の Beacon を取得する ジャミング方式
  9. 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 が遮断される ジャミング方式
  10. 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 が応答
  11. 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) クライアントはチャネルを 切り替えて通信を続ける ジャミング方式
  12. Channel-based MitM Attacks using CSAs • ジャミング方式では正規 AP の通信を妨害 •

    CSAs 方式では CSA を用いてチャネルの移動を促す • Beacon, Probe Response, Action Frame に CSA 要素を含める • ジャミング方式と比較して、成功率・危険度が高い • 電波が届けば、電波強度に依存しない • 通信を妨害しないため気づかれにくい March 16, 2019 12
  13. 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
  14. March 16, 2019 14 • SSID: test-network • MAC address:

    00-00-5E-00-53-00 • Channel: A (ch) CSAs 方式 正規 AP の Beacon を取得する
  15. 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 方式
  16. 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 方式
  17. March 16, 2019 17 Try to attack

  18. 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
  19. krackattacks-poc-zerokey • KRACKs デモ用のツール • https://github.com/vanhoefm/krackattacks-poc-zerokey • CSAs 方式のチャネルベース中間者攻撃を利用 •

    クライアントに KRACKs の脆弱性があれば、WPA2 を復号 • Youtube に製作者によるデモ動画がある • https://youtu.be/Oh4WURZoR98 March 16, 2019 19
  20. 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 検証環境のイメージ
  21. March 16, 2019 21 Real AP side Client side Rogue

    AP (Kali Linux) Target device 2 Target device 1 Wireshark MitM script Packet forwarding
  22. Try to attack (1) March 16, 2019 22 ①AP に接続する

    クライアント画面 このときの IP アドレスは 192.168.10.194/24
  23. Try to attack (2) March 16, 2019 23 攻撃者画面 ③DHCP

    サーバ、 DNS サーバを起動 ②MitM と KRACKs を実行 必要な情報は SSID のみ (このツールは攻撃対象の MAC アドレスも必要)
  24. Try to attack (3) March 16, 2019 24 クライアント画面 ④IP

    アドレスが 192.168.20.194/24 に変化 (変化前: 192.168.10.194/24) AP はそのまま (に見える)
  25. Try to attack (4) March 16, 2019 25 クライアント画面 ⑤http://example.com

    にアクセス
  26. Try to attack (5) March 16, 2019 26 ②MitM と

    KRACKs を実行 攻撃者画面 ⑥WPA2 が復号され、 DNS や HTTP の 通信内容が見える
  27. March 16, 2019 27 Analyze attack packets

  28. 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
  29. 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)
  30. 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)
  31. Analyze packets (4) March 16, 2019 31 Beacon frame with

    CSA from Rogue AP Channel Switch Announcement New Switch Number: 1 (ch)
  32. Analyze packets (5) March 16, 2019 32 Deauthentication from Rogue

    AP
  33. Analyze packets (6) March 16, 2019 33 Probe Response from

    Rogue AP Current Channel: 1 (ch)
  34. March 16, 2019 34 Methods of Attack

  35. March 16, 2019 35 • SSID: test-network • MAC address:

    00-00-5E-00-53-00 • Channel: A (ch) 実際のツールによる攻撃手順 正規 AP の Beacon を取得する
  36. 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 を付与して送信する 実際のツールによる攻撃手順
  37. 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 を送信し、 再接続処理を強制させる 実際のツールによる攻撃手順
  38. 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 が応答
  39. 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) クライアントはチャネルを 切り替えて通信を続ける 実際のツールによる攻撃手順
  40. Countermeasures • 提案されている対策 • 通信が暗号化された状態でチャネル情報を交換 • クライアント側で CSA を無効化 •

    AP のチャネルを記憶しておき、普段と異なる場合に通知 • 暫定的な対策 • HTTPS や VPN による暗号化 • KRACKs の修正パッチ • チャネルベース中間者攻撃を利用した DoS 攻撃は防げない March 16, 2019 40
  41. Conclusion • 2.4GHz 帯でも CSAs 方式の中間者攻撃が成功 • クライアントが 5GHz に対応

    → 2.4GHz でも CSA を正しく処理 • 攻撃に必要な情報は SSID のみ • 今回使用したツールは対象の MAC アドレスも必要 • 被害者が攻撃に気づくことはほぼ不可能 • 自宅のネットワークカメラでは成功しなかった • 低レイヤのパケット解析は楽しい March 16, 2019 41
  42. 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.
  43. Thank you. Any Questions ? March 16, 2019 43