Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,548 views

Published on

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

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

ワイヤレス技術をアタックで検証 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

×