Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015

2.983 visualizaciones

Publicado el

IoTの時代にあって、Bluetooth LEなどワイヤレス技術のセキュリティ解析に役立つSDR(Software Defined Radio)のツールGNURadioの機能をデモを交えて解説。SDRの活用事例として、航空機搭載のADS-B(Automatic Dependent Surveillance Broadcast)に対するRF信号などのリプレイ・アタックとWireless Keyboardのsnifferを取り上げてデモを行い、その対策のアイデアを紹介。

Publicado en: Dispositivos y hardware
  • Inicia sesión para ver los comentarios

ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015

  1. 1. 堀合 啓一 Fujitsu System Integration LABs. CODE BLUE 2015 ワイヤレス技術をアタックで検証
  2. 2. アジェンダ  背景  IoT (Internet of Things)の時代 • ワイヤレス技術が鍵 • 解析にはSDR(Software Defined Radio)の技術が有効  SDRツールGNU Radioの紹介  ワイヤレス通信の強力な実験用ツール  入手が容易で安価な周辺ハードウェアとともに動作  ワイヤレス通信をアタックで検証  Attack#1 ワイヤレス・キーボードのキーロガー  Attack#2 ADS-Bのリプレイ攻撃 1
  3. 3. ワイヤレス関係の最近の発表  ソフトウェアやファームウエアの悪用・改ざん  Drone attack by malware and network • http://www.slideshare.net/codeblue_jp/cb14-dongcheol-hongja/  RF信号レベルの傍受・インジェクション  SPREAD SPECTRUM SATCOM HACKING: ATTACKING THE GLOBALSTAR SIMPLEX DATA SERVICE • https://www.blackhat.com/docs/us-15/materials/us-15-Moore- Spread-Spectrum-Satcom-Hacking-Attacking-The-GlobalStar- Simplex-Data-Service.pdf  Low-cost GPS simulator – GPS spoofing by SDR • Lin Huang, Qing Yang, DEFCON23 • https://media.defcon.org/DEF%20CON%2023/DEF%20CON%2023%2 0presentations/Lin%20Huang%20&%20Qing%20Yang/DEFCON-23- Lin-Huang-Qing-Yang-GPS-Spoofing.pdf 2
  4. 4.  2001年、米国のEric Blossomが始めたオープンソースのソフト ウェア無線機ツールキット  マルチプラットフォーム(Linux/FreeBSD/OSX/Windows)  ソフトウェア無線技術の多くが専用ハードウェア上のFPGAで動 作するのに対し、PC上で動作  GNURadio CompanionのGUI操作でフローグラフを作成  フローグラフ→XMLファイル→Python→C++  ライセンス GPL ver3 http://gnuradio.org/redmine/projects/gnuradio/wiki GNURadioの概要 3
  5. 5. GNURadioの構成要素  フローグラフの要素 SOURCE BLOCK SINK Software or Hardware Software Python C++ Software or Hardware 入力 出力処理 4
  6. 6. Sources  Software 波形発生(Sin, Cos, 三角、のこぎり,矩形) 各種雑音 ファイル  Hardware PC Audio その他の周辺ハードウェア •RTL-SDR, HackRF, BladeRF, USRP 5
  7. 7. Blocks  演算子(論理、バイト、整数、実数、複素数…)  定数、変数(スライダー)、型変換  演算(和、差、積、除、Log, RMS, 積分…)  フィルター(LowPass, HighPass, BandPass, Reject, FFT, Hilbert, IIR, Decimation…)  変調・復調(AM、FM、FSK、PSK、QAM、OFDM…)  レベル制御(AGC, Mute, Squelch, 移動平均…)  ネットワーク(TCP, UDP, Socket…)  その他 6
  8. 8. Sinks  Software  Hardware  PC Audio  その他の周辺ハードウェア • HackRF, BladeRF, USRP, その他 SCOPE FFT Water Fall Histogram Constellation Plot ファイル その他 7
  9. 9. 周辺ハードウェアの例 RTL-SDR HackRF BladeRF USRP 周波数帯 [MHz] 24-1800 1-6000 300-3800 70-6000 A/D変換 bit数 8 8 12 12 帯域[MHz] 2.8 20 28 56 送受信機能 RX Tx | Rx Tx & Rx Tx & Rx 価格 $20 $300 $420 $675 8
  10. 10. FlowGraphの例 利用可能な ツール 9
  11. 11. FM受信機  RTL-SDRとGNU RadioによるFM受信機の構成例 RTL-SDR 10
  12. 12. ISM 2.4GHz band  WiFi/Bluetooth frequency allocation http://www.digikey.com/es/articles/techzone/2013/jun/shaping-the-wireless-future-with-low-energy-applications-and-systems 11
  13. 13. ISM 2.4GHz bandの観測例 HackRF 12
  14. 14. ワイヤレス・デバイスのアタック  アタック対象の調査 FCCのサイトでFCC IDサーチ 他の誰かが写真などを公開? 自分で分解調査  必要な情報 RFチップのデータシート •周波数帯、変調方式、伝送速度、データ形式  信号の観測と解析 13
  15. 15. FCC ID Search https://apps.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&RequestTimeout=500&calledFromFrame=N&application_id=Al%2FFPgcInlgHLjNZvXbP TQ%3D%3D&fcc_id=A6O60001058RX 14
  16. 16. 信号の観測と解析の手順  電波の受信  信号の確認: GNU Radio, SDR#  受信信号をファイルへ記録: GNU Radio, rtl_sdr  解析  波形を詳細に観測:baudline  必要部分の切り出し(選択範囲をファイルへ出力) : baudline  Demodulation: GNU Radio | in-house scripts  Decode / Parse / Decrypt • 0/1のビット列に変換。(16進dumpは適さない) • ビットパターンの特徴に注目 15
  17. 17. 信号の観測ツール  Baudline 信号を時間軸と周波数軸の両面から可視化 と解析を支援するツール 利用環境 • Linux(x86_64,PowerPC) • Mac OS X • Solaris SPARC 目的の信号部分を選択し ファイルへ出力 http://www.baudline.com/index.html16
  18. 18. 信号の観測例 17
  19. 19. アタック・デモ #1  Microsoft wireless keyboard 800のキーロガー 最初は、単に keysweeper(*1) の再現に挑戦 日本語仕様のMS Wireless Keyboard 800で は動作を確認できなかった 原因の探求にGNU Radioを活用し、動作を確 認するまでの過程を紹介 https://github.com/samyk/keysweeper 18
  20. 20. Wireless Keyboardのキーロガー  27MHz帯 セキュリティが考慮されていなかったため、簡単に 傍受できた 2000年代に販売終了  2.4GHz帯 Bluetooth/WiFiと同じ周波数帯 Bluetooth仕様に準拠したものはガードが固い? 独自仕様のキーボードは? 19
  21. 21. 関連プロジェクト  Travis Goodspeed, 2010  The GoodFET is an open-source JTAG adapter, loosely based upon the TI MSP430 FET UIF and EZ430U boards  http://goodfet.sourceforge.net/  KeyKeriKiプロジェクト(CanSecWest 2010 )  Developed some device with ARM Cortex MPU and radio module which can keyboard sniffing and remote command execution.  http://www.remote-exploit.org/articles/keykeriki_v2_0__8211_2_4ghz/index.html  Keysweeper(2015年1月)  処理の効率化とシステム化 • デバイスアドレスの一部が 0xCD固定に注目 • USB充電器の中に埋め込み、EEPROMへロギング • キーワードを検知したら携帯モジュールでSMS送信 • キーストロークをリアルタイムで別デバイスへ転送など  https://github.com/samyk/keysweeper 20
  22. 22. ブレッドボード上で実験 Sniffer hardware USB 制御PC Microsoft Wireless Keyboard 800 Arduino nano •2403~2480MHzを1MHzステップでスキャン •デバイスIDの中の1byte( = 0xCD )を探索 •続く2byteが(0x0A38 | 0x0A78)であれば、ス キャンを停止して、ロギングを開始 約1500行のArduinoプログラム nRF24L01 ・2.4GHz ISM band ・GFSK modulation ・1Mbps or 2Mbps 21
  23. 23. Success? Radio setup End radio setup scan Tuning to 2480 Potential keyboard: AA AA 5A A9 CD 27 55 49 Tuning to 2403 Tuning to 2404 Potential keyboard: E4 AA AA A5 CD 55 A5 5A Tuning to 2405 Tuning to 2406 Tuning to 2407 Tuning to 2408 ………………… No !! 22
  24. 24. Wireless keyboard wave form 23
  25. 25. Baudlineでデータを切り出す 24
  26. 26. Demodulation -50 -40 -30 -20 -10 0 10 20 30 40 50 1 51 101 151 201 251 301 -50 -40 -30 -20 -10 0 10 20 30 40 50 1 51 101 151 201 251 301 I/Q Vfm Vfm = ( I ( dQ/dt) - Q ( dI/dt)) / (I ^2 + Q^2) プリアンブル bit = Vfm > 0 ? 0:1bit 25
  27. 27. Get BIT sequence bit = Vfm > 0 ? 0:1 1111111111110011000100000000001001101111101111111111111111111111111111111 11110010101010101010010011001111100101000101101100111001000000000001 01001111000000111010000000101001110000111011010011000110011101010011 110111000001000111001010011001110011100111001110001111011111010011100 011111111111110011001000000000000111111101111111111111110111111110111111 1111111111111111111111111001010101010101001001100111110010100010110110 01110010000000000010100111100000011101000000010100111000011101101001 100011001110101001111011100000100011100101001100111010100111001110011 10001111011111010011101011111111111001100000010001000100011111111111111 11111111111011111111111111111111101010101001011001111100101000101101100 11100100000000000101001111000000111010000000101001110000111011010011 0001100111010100111101110000010001110 ………. 26
  28. 28. nRF24L01 Packet format  Preamble  0xAA | 0x55  Address  3-5 Byte  PCF  9 bit  Payload  0- 32Byte  CRC  1-2 byte http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01 27
  29. 29. KeyKerikiプロジェクトの成果 ・Microsoft Wireless Keyboard 800のデバイス・アドレスが 0xCDから開 始する5バイトで構成 ・キーストロークは、このデバイス・アドレス使った単純なXOR演算で暗号化 http://www.remote-exploit.org/content/keykeriki_v2_cansec_v1.1.pdf 28
  30. 30. Get BIT sequence bit = Vfm > 0 ? 0:1 1111111111110011000100000000001001101111101111111111111111111111111111111 11110010101010101010010011001111100101000101101100111001000000000001 01001111000000111010000000101001110000111011010011000110011101010011 110111000001000111001010011001110011100111001110001111011111010011100 011111111111110011001000000000000111111101111111111111110111111110111111 1111111111111111111111111001010101010101001001100111110010100010110110 01110010000000000010100111100000011101000000010100111000011101101001 100011001110101001111011100000100011100101001100111010100111001110011 10001111011111010011101011111111111001100000010001000100011111111111111 11111111111011111111111111111111101010101001011001111100101000101101100 11100100000000000101001111000000111010000000101001110000111011010011 0001100111010100111101110000010001110 ………. 0x0A78 (0000101001111000)を検索 Packet control field 9 bit Devie ID Preamble 8bit + address 5 byte + packet control 9bit + payload 29
  31. 31. Device ID detection { P.A. } { [p0] p[1] [p2] [p3] [p4]} AA A9 33 E5 16 CE 10101010 10101001 00110011 11100101 00010110 11001110 {PktCTL Bit} 0A 78 1D 01 010000000 00001010 01111000 00011101 00000001 { payload ....... 0100111000011101101001100011001110101001111011100…… // From keysweeper_mcu_src https://github.com/samyk/keysweeper if (radio.available()) { radio.read(&p, PKT_SIZE); if (p[4] == 0xCD) // 0xCD -> 0xCE for Japanese KBD { sp("Potential keyboard: "); DEVICE ID 30
  32. 32. 変更(0xCD→0xCE)後の動作 {………………} Tuning to 2479 Tuning to 2480 Potential keyboard: A9 33 E5 16 CE 43 5 3C KEYBOARD FOUND! Locking in on channel 80 2setupRadio 16: 0A 78 1D 01 56 03 43 00 00 1E 00 00 00 00 00 8F <- Key 1 Press > 1 8: 0A 38 1D 01 56 03 00 84 16: 0A 78 1D 01 57 03 43 00 00 00 00 00 00 00 00 90 <- Key OFF 16: 0A 78 1D 01 58 03 43 00 00 1F 00 00 00 00 00 80 <- Key 2 Press > 2 8: 0A 38 1D 01 58 03 00 8A {………………} (*1) USB HID usage table: http://www.freebsddiary.org/APC/usb_hid_usages.php (*1) 31
  33. 33. Key Logger DEMO 32
  34. 34. まとめ #1  GNU Radioを活用し、日本語仕様のMicrosoft Wireless Keyboard 800のデバイスアドレスのKEYを 検出(0xCE)  デバイスアドレスのKEYを0xCEに変更することで、 キーロガーの動作を確認できた。  機微な情報を扱う環境では、ワイヤレス・キーボードを 使わない。特に、独自仕様のデバイスには要注意 注意  国内で実験する場合は、nRF24Lからの送信を無効化すべき • boolean shoutKeystrokes = true; → false; 33
  35. 35. アタック・デモ #2  航空機搭載ADS-B(*1)のリプレイ・アタック 航空は重要インフラの一部 ADS-Bは次世代の航空管制システム Blackhat2012, DEFCON20などでアタック のデモが行われている SDRの技術を応用し、アタックの再現を試 みた。 (*1)Automatic Dependent Surveillance–Broadcast 34
  36. 36. 空の混雑状況 http://www.flightradar24.com/ 35
  37. 37. ADS-Bの概要  従来のレーダでは、位置精度が1~2NMであるため、航空機運行の安全を 確保するには、運行間隔を広くする必要があった。  運行機数の増大に対応するため、新たなシステムが必要とされ、GPS利用 による精度の高い位置情報を提供するADS-Bが次世代の航空管制システ ムとして1980-1990に開発された。  現在は、旅客機の約70%がADS-Bを装備 (出典 http://www.flightradar24.com/how-it-works)  欧州では2017年、米国では2020年までに、装備が義務付け  問題点  暗号化なし  認証なしでブロードキャスト  単純な符号化と変調方式 36
  38. 38. ADS-Bの仕組み  ADS-B Automatic Dependent Surveillance–Broadcast 航空機はGPS等から得た自機位置情報、速度、高 度などの情報を放送型データリンクで送信 画像 http://www.enri.go.jp/news/osirase/pdf/e_navi10.pdf 37
  39. 39. ADS-Bに関する論文等  脆弱性などに関する発表  Donald L. McCallie, Major, USAF (2011年) • http://apps.fcc.gov/ecfs/document/view.action?id=7021694523  Andrei Costin, Aurelien Francillon, BlackHat2012 • https://media.blackhat.com/bh-us- 12/Briefings/Costin/BH_US_12_Costin_Ghosts_In_Air_Slides.pdf  Brad render, DEFCON20 (2012年) • http://korben.info/wp-content/uploads/defcon/SpeakerPresentations/Renderman/DEFCON-20- RenderMan-Hackers-plus-Airplanes.pdf  Hugo Teso, CyCon2013 (2013年) • https://ccdcoe.org/cycon-2013.html  対策などに関する発表  Martin Strohmeier, Ivan Martinovic、(2014年) • Detecting False-Data Injection Attacks on Air Traffic Control Protocols • http://www.cs.ox.ac.uk/files/6604/wisec2014-abstract.pdf  Kyle D. Wesson,Brian L. Evans,他 (2014年) • Can Cryptography Secure Next Generation Air Traffic Surveillance? • https://radionavlab.ae.utexas.edu/images/stories/files/papers/adsb_for_submission.pdf  Seoung-Hyeon Lee , Yong-Kyun Kim, Deok-Gyu Lee 他、(2014年) • Protection Method for Data Communication between ADS-BSensor and Next-Generation Air Traffic Control Systems • http://www.mdpi.com/2078-2489/5/4/622 38
  40. 40. 想定される脅威 傍受(Eavesdropping) ジャミング(Jamming) 偽航跡のインジェクション (Fake track injection) 39
  41. 41. ADS-Bを受信するには?  電波の受信 海外向ディジタルTV受信用USBスティック 1000~2000円程度で購入可能  信号処理と表示 PC •Windows, Mac, Linux スマートフォン、タブレット 40
  42. 42. ADS-B受信用ソフトウェア  デコーダ  ADSB# http://airspy.com/index.php/downloads/  RTL1090 http://rtl1090.web99.de/  Modesdeco2(表示機能あり) • http://radarspotting.com/forum/index.php/topic,2978.msg13471.html  dump1090(表示機能あり) • https://github.com/antirez/dump1090  表示  Virtual Radar Server http://www.virtualradarserver.co.uk/  adsbSCOPE • http://www.sprut.de/electronic/pic/projekte/adsb/adsb_en.html#downloads  PlanePlotter http://www.coaa.co.uk/planeplotter.htm 41
  43. 43. 受信覆域 Antenna 42
  44. 44. ADS-Bのデータフォーマット  データフォーマット  実際の受信I/Q信号 https://media.defcon.org/DEF%20CON%2020/DEF%20CON%2020%20slides/DEF%20CON%2020%20Hacking%20Conference%20Pr esentation%20By%20RenderMan%20-%20Hacker%20and%20Airplanes%20No%20Good%20Can%20Come%20Of%20This%20- %20Slides.m4v 43
  45. 45. GNU Radioによる波形観測 (I2 + Q2)I/Q 44
  46. 46. ADS-B受信例 *8d7583a5585b575a9ebc4bbb3f04; CRC: 000000 (ok) DF 17: ADS-B message. Capability : 5 (Level 2+3+4 ) ICAO Address : 7583a5 Extended Squitter Type: 11 Extended Squitter Sub : 0 Extended Squitter Name: Airborne Position ……. F flag : odd T flag : non-UTC Altitude : 17125 feet …………. 16進表記のRawデータ 航空機の位置 情報等 A/D変換後のI/Q信号 復調 / デコード データの解釈 45
  47. 47. Attack Vector IPネットワーク ADS-B 受信局 ADS-B 受信局 ADS-B 受信局 ADS-B Broadcast GPS衛星 Actor V2 V3 画像 http://www.mlit.go.jp/koku/koku_fr14_000007.html V1 46
  48. 48. 受信信号のリプレイ攻撃(V1)  受信したrawデータ(ファイル名xxxx.raw)  rawデータをIPネットワーク経由でインジェクション $cat xxxx.raw | nc target_IP target_PORT ※実際には、攻撃対象のサーバーへ接続するための認証などの仕組みの 突破が必要 *8d869210581fe3bf4350dfd62439; *5da40455385715; *8d86dca29914ee0f20f410ef2595; *8d780c3c581db79c18a4b0ffc872; *8d867f609914b993e8700ba91251; *02a1839b9e229d; *…………… 47 47
  49. 49. 受信信号のリプレイ攻撃(V2)  rawデータからADS-Bパルス列信号のファイルを生成  $cat xxxx.raw | ./adsb-pulsegen test_file.bin  生成したファイルで変調したRF信号を発生  $hackrf_transfer –f 1090MHz –s 2MHz –t test_file.bin –x 0 *8d869210581fe3bf4350dfd62439; *5da40455385715; *8d86dca29914ee0f20f410ef2595; *8d780c3c581db79c18a4b0ffc872; *8d867f609914b993e8700ba91251; *02a1839b9e229d; *0261819c1d1e5a; …………… 48
  50. 50. DEMO  IPネットワークを介したインジェクション(V1) 実時間でADS-B信号を受信し、マップ上へ表示 過去に受信したRAWデータをインジェクション  RF信号を介したインジェクション(V2) 受信したRAWデータからI/Q信号ファイルを生成 I/Q信号で変調したRF信号をインジェクション 49
  51. 51. ADS-B network injection http://www.flightradar24.com/ Network injection demo Screen shot 50
  52. 52. ADS-B RF injection RF injection demo screen shot 51
  53. 53. 航空交通管制のセキュリティ?  更新されない理由. 脅威の認識 安全性、インターオペラ ビリティの確保 国際的な議論に長期間 を要す •議論の期間 •開発の期間 •半数搭載までの期間画像 http://www.jatcaonline.com/SSR_system.JPG https://upload.wikimedia.org/wikipedia/commons/f/fe/D-VOR_PEK.JPG ASR/SSR ILS ( glide slope / Localizer ) VOR/DME 52
  54. 54. まとめ #2  ADS-Bに対する攻撃は技術的には非常に容易  ADS-Bに限らず、電波に依存している航空管制システムは ジャミング等に脆弱  可能性のある攻撃シナリオ  テロリストや国家レベルのアクターが、目的を達成する手段の一つと して、偽航跡のインジェクションやジャミングなどで航空交通管制の 混乱を図る。  早期対策は困難か?(国際的な合意が必要)  受信の検知・追尾アルゴリズムによる緩和対策の検討が必要  環境を整備し疑似体験による訓練と非常時の運用手順の充実 53
  55. 55. おわりに  SDRの実験ツールGNU Radioや安価な周辺機器の出 現で、RFレベルのアタックに必要な技術的敷居が低下 している  航空交通管制システムなど、電波に依存する多くの既 存システムは、WiFiやスマートフォンなどの民生技術の 進歩に追従できていない  抜本的な対策には長期間を要す  運用でカバーするには、事態を想定した対処マニュア ルの充実と訓練が必要 54
  56. 56. Thank you ! Questions ? 55
  57. 57. 56 Copyright 2010 FUJITSU LIMITED

×