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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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 が遮断される
    ジャミング方式

    View Slide

  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 が応答

    View Slide

  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)
    クライアントはチャネルを
    切り替えて通信を続ける
    ジャミング方式

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  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 方式

    View Slide

  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 方式

    View Slide

  17. March 16, 2019 17
    Try to attack

    View Slide

  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

    View Slide

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

    View Slide

  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
    検証環境のイメージ

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. March 16, 2019 27
    Analyze attack packets

    View Slide

  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

    View Slide

  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)

    View Slide

  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)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  34. March 16, 2019 34
    Methods of Attack

    View Slide

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

    View Slide

  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 を付与して送信する
    実際のツールによる攻撃手順

    View Slide

  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 を送信し、
    再接続処理を強制させる
    実際のツールによる攻撃手順

    View Slide

  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 が応答

    View Slide

  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)
    クライアントはチャネルを
    切り替えて通信を続ける
    実際のツールによる攻撃手順

    View Slide

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

    View Slide

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

    View Slide

  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.

    View Slide

  43. Thank you. Any Questions ?
    March 16, 2019 43

    View Slide