Slide 1

Slide 1 text

 ిؾ௨৴େֶେֶӃ ೥ !@UPLJOB *P54FD+1 5PLZP-P3B8"/ʹ͍ͭͯͷηΩϡϦςΟͷ࿩࿮ -P3B8"/ͱηΩϡϦςΟͱ͋ͱ͸ࡉ͔͍࿩ 1 )PX$BO*IBDL-P3B8"/

Slide 2

Slide 2 text

"HFOEB nࣗݾ঺հ n-18" -18"/ ͱ-P3B8"/ n-P3B8"/ͷٕज़తͳ࢓૊Έͱ๏཯ nωοτϫʔΫϨϕϧͷηΩϡϦςΟ n࣮ફʂ-P3B8"/εχοϑΟϯάʂʂ n·ͱΊ 2

Slide 3

Slide 3 text

ࣗݾ঺հ nॴଐɿిؾ௨৴େֶେֶӃ ޿ౡࢢཱେֶଔ p情報ネットワーク専攻 NOTセキュリティ pR社でバイトしてます p御社で自動車セキュリティをする予定 nݚڀɿ-P3B8"/ʹ͓͚ΔωοτϫʔΫޮ཰Խʹ͍ͭͯ pかつては自動車のセキュリティについて研究 pMAC層や物理層とか少し詳しいかもしれない nڵຯɿ3BT1J "84 ࣗಈंηΩϡϦςΟ -P3B8"/ *P5 4FD FUD n*P54FD+1͸̏ճ໨ͷࢀՃʹͳΓ·͢ʂ n͜ͷલηΩϡϦςΟɾΩϟϯϓͷνϡʔλΛͨ͠Γͱ͔ͯ͠·ͨ͠ )( 3

Slide 4

Slide 4 text

-P3B8"/ɺ஌ͬͯ·͔͢ʁ 2017/08 https://www.rs-online.com/designspark/building-a-lorawan-enabled-bat-detector-jp 4

Slide 5

Slide 5 text

࠷ۙΑ͘ฉ͘-18"/ͱ-P3B8"/ *P5     ۙڑ཭ ௒ ௕ڑ཭ (  )    km -18"/-PX1PXFS8JEF"SFB/FUXPSL ྫ -P3B8"/ɼ4JHGPYɽ-5..ɼ8J'J )BMMPX BI →Long Range WAN 5

Slide 6

Slide 6 text

-P3B8"/ͷΠϝʔδ Server AP AP 6      (mobility)   LoRaWAN 10km

Slide 7

Slide 7 text

-P3B8"/ͷಛ௃ n௒ʂলిྗ p通常の乾電池で10年持つなど n௒ʂ௕ڑ཭௨৴Մೳ p最大10km以上とも言われている n໔ڐෆཁͰར༻Մೳʴن֨΍ඪ४͕ެ։͞Ε͍ͯΔ GW n௒ʂ௨৴଎౓͕஗͍ p送信できるデータはわずか n௒ʂ௨৴͕ඇޮ཰ pMACにpureALOHAを採用 LoRa→ ←LoRaWAN (~10km) Server ηϯαͳͲͷ໨తͰ ࠓޙ΋ͬͱ࢖ΘΕͦ͏Ͱ͸ʁʁ ී௨ͷ௨৴ʹ࢖͏ͷ͸೉͍͠ɾɾɾ 7

Slide 8

Slide 8 text

https://news.goo.ne.jp/article/newswitch/business/newswitch-8880.html “IoT>LP5</]?S@C (#)OWURM87” 413_D:H%*$ 5<9F"K `' &"IJA^/]?S" @C  ,Z-/[0N\Y!XQ  Z-=2".B6E";    V5<G8"T+  8

Slide 9

Slide 9 text

౦ژۙ߫ͷ-P3B (BUFXBZઃஔঢ়گʢ55/ʹొ࿥͍ͯ͠Δ΋ͷʣ https://www.thethingsnetwork.org/map 9

Slide 10

Slide 10 text

-P3B8"/ͷٕज़తͳ࢓૊Έͱ๏཯ 10 Technology and Radio Law of LoRaWAN

Slide 11

Slide 11 text

-P3B8"/͸୭͕ఏڙ͍ͯ͠Δͷ͔ʁ nجຊతͳ࢓༷ʢ௨৴ɼόοΫΤϯυͳͲʣ͸ެ։͞Ε͍ͯΔ p௨৴ͷ࢓༷͸ެ։͞Ε͍ͯΔʢૹ৴νοϓͷ࢓༷͸ެ։͞Ε͍ͯͳ͍ʣ pݱࡏͷ࢓༷ͷ࠷৽൛͸ࡢ೥຤ʹެ։͞ΕͨW MPSBXBO TQFDJGJDBUJPO pࡉ͔͍ϩʔΧϥΠζ࢓༷͸"4.)[*4# CBOEʹͯఆٛ https://lora-alliance.org/ 11

Slide 12

Slide 12 text

೔ຊͰͷݱঢ় nιϑτόϯΫɺ,%%* XJUI403"$0.ͳͲ͕αʔϏεΛఏڙ͍ͯ͠Δ pΩϟϦΞఏڙαʔϏεࣄۀ nి೾ͷ๏཯ r "3*# 45%5 p࠷৽͸W  u༗ྉͩΑʂʢࢲ͸ݚڀඅͰങͬͨΑʂʣ p-P3B8"/ͷѻ͍ɿ ಛఆখిྗແઢہɺ཮্Ҡಈہ pप೾਺d.)[ d.)[ uΞϯϥΠηϯεόϯυʢ໔ڐෆཁʣ pΩϟϦΞηϯεɿNTҎ্ɼVTҎ্ p࿈ଓૹ৴࣌ؒɿTɼNT pσϡʔςΟαΠΫϧɿͳ͠ɼTҎԼ ˠૹ৴Ͱ͖Δσʔλ͸਺CZUFd਺ेCZUF ch200kHz →Bandwidth125kHz *923.4MHz 20mW →   (GW ) 12

Slide 13

Slide 13 text

-P3B8"/ 4QFDJGJDBUJPO n$MBTT pLoRaWANには「Class」という通信方法の概念がある u現在はClass Bがテスト実装段階(一応考慮はされている) n$MBTT" puplinkの通信タイミングはランダム = pureALOHA (unslotted ALOHA) pメッセージの到達性を高めるため連送を行う u同時に2つのメッセージを送信、受信ウィンドウを2つ開く 13 $MBTT ϊʔυͷಈ࡞ͳͲ ಛ௃ " • શσόΠε͕αϙʔτ͢Δ • ೚ҙͷλΠϛϯάͰ6QMJOL͕ൃੜ • ஗Ԇେ • ফඅిྗ௿ # • Ϗʔίϯૹ৴ͷͨΊͷΫϥε • ωοτϫʔΫओಋͷ௨৴͕Մೳ • %PXOMJOLʹରԠ $ • ड৴εϩοτΛৗʹ։͘ • ৗ࣌ిྗڙڅՄೳͳϊʔυΛ૝ఆ • ஗Ԇখ • ফඅిྗେ

Slide 14

Slide 14 text

-P3B8"/ͷηΩϡϦςΟ جຊ nͲΜͳ߈ܸ͕͋Δʁ pEvasedropping/盗聴 uトラフィックを盗聴,他の攻撃の参考になったりする pReplay attack/リプレイ攻撃 u盗聴したデータをそのまま再送する.データの中身が不明でもOK. pMan in the middle attack/中間者攻撃 uやりとりの間に割り込んでデータを(場合によってはリアルタイムに改ざ んして)中継する pDenial of service/DoS攻撃 pKey cracking 14

Slide 15

Slide 15 text

-P3B8"/ͷηΩϡϦςΟ ൃల pセッションハイジャック uこの場合ほとんど中間者攻撃と同じ p不正なアクセスポイントの設置 uもともとあるゲートウェイ,もしくは完全に新しいゲートウェイとして動作 様々な攻撃が可能に pゲートウェイに対する改ざん uゲートウェイは遠隔ログイン可能な場合が多く,不正に改ざん利用される可能性 pMACスプーフィング uLoRaWANではMACアドレスを利用せず,独自の割当アドレスを利用している そこで,そのアドレスを勝手になりすまし,データの不正取得などの可能性 15

Slide 16

Slide 16 text

ηΩϡϦςΟͷ࿩ ʙωοτϫʔΫϨϕϧͷ࿩ʙ ࢀߟɿ -P3B8"/ 4QFDJGJDBTUJPO W BWBJMBCMFBUMPSBBMMJBODFPSH  SFG &T &FG WBO l-P3B8"/ WVMOFSBCJMJUZBOBMZTJT JO WBMJEBUJPOPGQPTTJCMFWVMOFSBCJMJUJFTJOUIF -P3B8"/ QSPUPDPMTQFDJGJDBUJPO z.BTUFSTUIFTJT 0QFO6OJWFSTJUFJU/FEFSMBOE  16 Attack to LoRaWAN in Network Level

Slide 17

Slide 17 text

ࠓճ঺հ͢Δͷ͸ͲΜͳ߈ܸʁ nμ΢ϯϦϯΫ௨৴ʢήʔτ΢ΣΠˠϊʔυʣʹண໨ pLoRaWANにおいて様々な設定はMACメッセージで行われる uDutyCycle,参加,通信タイミング,チャンネルなど pClass Bビーコンによる情報の通知,ノードの受信ウィンドウの操作 u周期的に動作する各ノードにイベント的にダウンリンク通信を行う pReplay attack/リプレイ攻撃 u盗聴したデータをそのまま再送する.データの中身が不明でもOK. 「MACメッセージ」と「ビーコン」のリプレイ攻撃について紹介 17

Slide 18

Slide 18 text

-P3B8"/ ."$ .FTTBHF 'PSNBU Preamble PHDR PHDR CRC PHY Payload CRC MHDR MAC Payload MIC FHDR FPort FRM Payload Dev Addr FCtrl FCnt FOpts Phy Phy Payload MAC Payload FHDR MH DR Dev Addr FCtrl FCnt FOpts FPort FRM Payload MIC 8 32 8 16 120 8 N 32 (bit) () 1'/     MAC %$ FPort 0x00 CID 0xXX Payload FRM Payload MIC&*!+0-#  Phy Payload 18  0-# "./,

Slide 19

Slide 19 text

."$ϝοηʔδͷϦϓϨΠ߈ܸ ϝοηʔδͷྫ  MIC    0x00 0x01 0x19 0x76 → 0x76 0x19 0x01 0x00 19

Slide 20

Slide 20 text

."$ϝοηʔδͷϦϓϨΠ߈ܸ nద੾ͳ.*$ͱΧ΢ϯλΛઃఆग़དྷͨ৔߹ n͔͠͠ɺ.*$ͷܭࢉʹ͸"&4ΞϧΰϦζϜ͕࠾༻͞Ε͍ͯΔ p鍵が奪われない限り、計算能力的に現実時間的に攻撃は不可能・・・   MIC  128bit left 32-bits of a CMAC results into ( 1 / 232 ) * 2128 = 296 20

Slide 21

Slide 21 text

."$ϝοηʔδͷϦϓϨΠ߈ܸ n࣮͸҉߸Խ΍.*$ͷܭࢉखॱͳͲ͸֤ࣗͷ࣮૷ʹґଘ͍ͯ͠Δ nྫ͑͹ɾɾɾ p以前のLoRaWAN SpecificationではFOptsの暗号化がマストになっていなかった u現在のSpecification v1.1では暗号化がMUSTとなっている pこうした細かいところの実装をセキュリティを意識して実装すべき nԿ͕ى͜Δʁ pMAC層はネットワーク層より先に実行される(レイヤー的に) p暗号化されていない(平文)+MICはネットワーク層で計算される →先にMACコマンドが処理されてしまう! 21

Slide 22

Slide 22 text

#FBDPO'SBNF'PSNBU n-P3B8"/ 4QFDJGJDBUJPOʹهࡌ pここにCRCの計算方法についても書かれている nϏʔίϯͷ࢓༷͸΍͸Γ֤࣮૷ʹґଘ͍ͯ͠Δ ˠͳΓ͢·͠͸༰қʁ RFU Time CRC GwSpecific CRC BCN Payload RFU... Reserved Future Used CRC... 24 32 8(16) 56 16 (bit) InfoDesc Latitude Longitude EU868 Frame format (AS923 ) 22

Slide 23

Slide 23 text

ϏʔίϯͷϦϓϨΠ߈ܸ nશ͘ಉ͡Ϗʔίϯͷ࠶ૹ p同じビーコンを処理しない実装にしている場合は意味がない 23

Slide 24

Slide 24 text

ϏʔίϯͷϦϓϨΠ߈ܸ n࣌ؒϑΟʔϧυΛมߋͯ͠Έͨྫ p同時にCRCが実装されている場合はCRCも計算する pこれにより時間フィールドの値が変更され、起動タイミングの強制的な変更などに つながる可能性がある 24

Slide 25

Slide 25 text

ϏʔίϯͷϦϓϨΠ߈ܸ n(BUFXBZʹ͍ͭͯͷ৘ใΛมߋͨ͠ྫ p先と同様CRCについても必要に応じて変更する必要がある pノードの位置情報がその他の情報やGW間連携などの予期しない動作に繋がる可能性 25

Slide 26

Slide 26 text

26  LoRaWANHackRF ONE    Let’s Sniff LoRaWAN using HackRF ONE

Slide 27

Slide 27 text

01/07 ݄๭೔ ࠷ऴ໘઀ ޚࣾʮ΄͍͠ػࡐ͋Δʁʯ ࢲʮʢνϟϯεʂʣ͋ɺ͍·)BDL3' 0/&͍ͬͯ͏ΨδΣοτ͕ʯ 27 07/07 09/02 ෋࢜ࢁ 09/03 ࢲʮಧ͍ͨʂʯ (๨Εͯͨ) (ͱΓ͋͑ͣ์ஔ)

Slide 28

Slide 28 text

΍Γ͍ͨ͜ͱ )BDL3' 0/&Λ࢖ͬͯ-P3B8"/ͷ৘ใΛ೷͘ʂ n؀ڥ pHackRF ONE (2017 model) pLoRa mini-JP (ATmega328P MCU) p温度&湿度センサ (DHT11) pPC (OSX/Xubuntu 18.04 LTS on Mac) n༻ҙ͢Διϑτ pGNU Radio pGqrx prpp0/gr-lora (https://github.com/rpp0/gr-lora) u依存関係が大変 28 AP

Slide 29

Slide 29 text

ϊʔυɿ-P3B NJOJ+1 "5NFHB1.$6 ϓϩάϥϜ IUUQTHJUIVCDPNPQFOXBWFDPKQ-P3B5P5IJOH4QFBL ࠓճ͸҉߸Խͳ͠ ηϯαͷσʔλΛ-P3B8"/Ͱ%JTUSJCVUF 29

Slide 30

Slide 30 text

%&.0͍ͨ͠ 30

Slide 31

Slide 31 text

(RSYͰ-P3B8"/ͷి೾Λ؍ଌ nެࣜαΠτΛࢀߟʹΠϯετʔϧʢIUUQHRSYELUBHNBDPTYʣ 31    Class A  

Slide 32

Slide 32 text

Ͳ͏ʹ͔σʔλΛ೷͚ͳ͍͔ʁ ʮMPSBXBO TOJGGIBDLSGʯͳͲͰݕࡧˠ SQQHSMPSB͕ώοτ ґଘؔ܎ͷ໰୊Ͱɺ ࠓճ͸9VCVOUVʹ؀ڥΛ༻ҙ 32  LoRaWAN Decode  

Slide 33

Slide 33 text

ઃఆͦͷ··Ͱ͸πʔϧ͸ར༻Ͱ͖ͳ͍ͷͰҰ෦मਖ਼ 33 ϊʔυͷϓϩάϥϜ प೾਺ͱ4'Λमਖ਼ HSMPSBͷMPSB@SFDFJWF@SFBMUJNFQZ σϑΥϧτͷ4' 4QSFBEJOH'BDPS ͸ʢ࠷௿

Slide 34

Slide 34 text

Ͱ͖ͨʂ 34 

Slide 35

Slide 35 text

ͲΜͳσʔλ͕ݟ͍͑ͯΔͷ͔ʁ ϊʔυͷϓϩάϥϜ ࢓༷Λ΋ͱʹղੳ ྫ CGGGGG DGCE ˠಛʹҙຯͳ͍ ˠ࣪౓   ˠ D ˠؾԹ D  ˠ౓ 35 (DevAddr)  CS  (  ) )BDL3'Ͱ-P3B8"/ͷ σʔλΛ೷͚ͨʂʂ

Slide 36

Slide 36 text

֬ೝͯ͠ΈΑ͏ 36 ϊʔυ͸EFWUUZ64#ʹݟ͑ΔͷͰ SPPUͰDBU͢Δͱίϯιʔϧ͕ݟ͑Δ

Slide 37

Slide 37 text

·ͱΊ n-P3B8"/͍ͬͯΖ͍ΖͰ͖ͦ͏ʂ p実際に最近IoTベンチャー増えてますよね pSORACOMが先導していろんなサービス事例を作っているようです(最近はSigfox..) n."$ίϚϯυͷͳΓ͢·͠͸೉ͦ͠͏͕ͩʁ p野外にノードは配置されるし、物理的なハックも不可能ではないかも・・・ p暗号化とMICの処理はきちんと,新しい仕様をきちんと確認する pビーコンの利用はまだまだ検討段階 37

Slide 38

Slide 38 text

·ͱΊ n)BDL3' 0/&Ͱ4%3ॳମݧʂ-P3B8"/ͷσʔλΛ೷͚ͨʂ p実はまだ2日しか触ってないです() p今は受信Onlyでしか検証していないので、今度は送信を試してみたい p車のキーレスなどでも検証できる? 38 Good Hack Dayʂ

Slide 39

Slide 39 text

ิ଍ࢿྉ 39

Slide 40

Slide 40 text

nIUUQTRJJUBDPNBNNPJUFNTEGCEDG n-P3B8"/Ͱ࢖͑Δप೾਺ -P3B8"/ͷप೾਺ʹ͍ͭͯ 40 AS923

Slide 41

Slide 41 text

nӡ༻ϧʔϧ .)[ଳςϨϝʔλ༻ɺςϨίϯτϩʔϧ༻ٴͼσʔλ఻ૹ༻ແઢ ઃඋ "3*#45%5 p電波産業界で策定、全体は有料 p最新版(v1.2)は2018/01/2 u2012/02/14 v1.0 → 2017/10/17 v1.1 .)[ଳʹ͍ͭͯఆΊͨ"3*#45%5 41 .)[ଳͷप೾਺ͷར༻͕޿͕Γɺ-18"ͳͲ༷ʑͳ௨৴χʔζʹ ରԠͨ͠ΞΫςΟϒܥখిྗແઢγεςϜʢ཮্ҠಈہɿN8ʣʣ ͷಋೖ͕ਐΉதͰɺ͜ͷΑ͏ͳγεςϜ͕ΑΓޮ཰తʹӡ༻Ͱ͖ΔΑ͏ɺ νϟωϧͷ֦ுٴͼؔ࿈ͷӡ༻نఆΛ௥Ճ͢Δ΋ͷͰ͋Δɻ

Slide 42

Slide 42 text

nதࠃͳͲΛআ͘ΞδΞ஍Ҭͷ࢓༷ "4.)[*4.#BOE ˠ೔ຊͰ͸.)[ n"3*#45%ʹΑΔͱˠ pただしノードのみなら~928MHzも可 nར༻Ͱ͖Δνϟϯωϧ͸ -P3B8"/Ͱར༻Ͱ͖Δνϟωϧ͸ʁ 42   

Slide 43

Slide 43 text

"3*# 45%5ΑΓ 43 ଞͷແઢઃඋ͔Βͷཁٻʢૹ৴͠Α͏ͱ͢Δແઢνϟωϧʹ͍ͭͯΩϟϦΞηϯεΛ ߦͳͬͨ΋ͷʹݶΔʣʹԠ౴͢Δ৔߹Ͱ͋ͬͯɺҎԼͷ৚݅Λຬͨ͢ૹ৴ʹ͍ͭͯ͸ ΩϟϦΞηϯεΛཁͣ͞ɺ࣌ؒ౰Γͷૹ৴࣌ؒͷ૯࿨ʹ͸ؚ·ͳ͍͜ͱͱ͢Δɻ ᶃಉ࣌࢖༻νϟωϧ਺͕ͷ৔߹ɺཁٻͷड৴Λ׬ྃͨ͠ޙNTҎ಺ʹ։࢝͢Δૹ৴ Ͱ͋ͬͯɺཁٻͷड৴Λ׬ྃͨ͠ޙNTҎ಺ʹ׬ྃ͢Δૹ৴ ᶄಉ࣌࢖༻νϟωϧ਺͕   ͷ৔߹ɺཁٻͷड৴Λ׬ྃͨ͠ޙNTҎ಺ʹ։࢝ ͢Δૹ৴Ͱ͋ͬͯɺཁٻͷड৴Λ׬ྃͨ͠ޙNTҎ಺ʹ׬ྃ͢Δૹ৴ ACK  3.4.3 Ԡ౴࣌ͷΩϟϦΞηϯεআ֎

Slide 44

Slide 44 text

n ૹ৴੍࣌ؒݶ૷ஔɺ ΩϟϦΞηϯεٴͼ Ԡ౴࣌ ͷΩϟϦΞηϯεআ֎Ͱنఆ͞Ε͍ͯΔύϥϝʔλͷ૊Έ߹Θͤ "3*# 45%5ΑΓ 44

Slide 45

Slide 45 text

n5IF5IJOHT/FUXPSL΁ͷ࣭໰ p2016/4に投稿されるも議論が活発に ~2017/3 6OJWFSTBM-P3B 8"/ HBUFXBZMJNJUBUJPOT CFDBVTFQIZTJDT 45 SF=7, size: 25byte  PER(PacketerrorRate) "! Packet Error Rate 1 25byte     1,000  450 lost -> 45% error University of Antwerp in Belgium

Slide 46

Slide 46 text

nXJUIL)XJUIEFWJDFTUSBOTNJUUJOHSBOEPNMZXJUIJO TFDPOET -P3B QBDLFUDPMMJTJPOTJNVMBUJPO 46  (* 10ms) SF SF      

Slide 47

Slide 47 text

n-P3B NPEVMBUJPOͱؔ܎͕͋ΔΒ͍͠ nࢀߟʹͳΔಈը͕঺հ͞Ε͍ͯΔ phttps://youtu.be/T3dGLqZrjIQ?t=2122 4'ͱ"JSUJNFͷؔ܎ 47 ! TTN &  https://www.thethingsnetwork.org/forum/t/how-spreading-factor-influence-time-on-air/5068 #$   % "