セキュリティ・キャンプ全国大会のLT大会の資料です.LoRaWANのセキュリティについて少しお話します.
͜Ε͔ΒͬͱΓ্͕Δͣͷ-18"/ʹ͍ͭͯͷ ·͡Ίͳిؾ௨৴େֶେֶӃ !@UPLJOBηΩϡϦςΟɾΩϟϯϓશࠃେձ -JHIUOJOH5BML
View Slide
"HFOEBnࣗݾհn-18" -18"/ͱʁ-P3B8"/ͱʁnηΩϡϦςΟ͖ͯͳn͏গ͠۩ମతʹn·ͱΊ
ࣗݾհnશࠃେձ`ͦͷଞνϡʔλɼ4FD)BDL`nॴଐɿిؾ௨৴େֶେֶӃ ౡࢢཱେֶଔp情報ネットワーク専攻 NOTセキュリティpR社でバイトしてますpD社で自動車セキュリティをする予定nݚڀɿ-P3B8"/ʹ͓͚ΔωοτϫʔΫޮԽʹ͍ͭͯpかつては自動車のセキュリティについて研究pMAC層や物理層とか少し詳しいかもしれないnڵຯɿ3BT1Jɼ"84ɼࣗಈंηΩϡϦςΟɼ*P54FDɼͳͲ)(
࠷ۙΑ͘ฉ͘-18"/ͱ-P3B8"/*P5 ۙڑڑ( ) km-18"/-PX1PXFS8JEF"SFB/FUXPSLྫ-P3B8"/ɼ4JHGPYɽ-5..ɼ8J'J )BMMPX BI→Long Range WAN
-P3B8"/ͷಛnʂলిྗp通常の乾電池で10年持つなどnʂڑ௨৴Մೳp最大10km以上とも言われているn໔ڐෆཁͰར༻Մೳʴن֨ඪ४͕ެ։͞Ε͍ͯΔGWnʂ௨৴͕͍p送信できるデータはわずかnʂ௨৴͕ඇޮpMACにpureALOHAを採用LoRa→←LoRaWAN(~10km)Server
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+
-P3B8"/ͷηΩϡϦςΟ جຊnͲΜͳ߈ܸ͕͋ΔʁpEvasedropping/盗聴uトラフィックを盗聴,他の攻撃の参考になったりするpReplay attack/リプレイ攻撃u盗聴したデータをそのまま再送する.データの中身が不明でもOK.pMan in the middle attack/中間者攻撃uやりとりの間に割り込んでデータを(場合によってはリアルタイムに改ざんして)中継するpDenial of service/DoS攻撃pKey cracking
-P3B8"/ͷηΩϡϦςΟ ൃలpセッションハイジャックuこの場合ほとんど中間者攻撃と同じp不正なアクセスポイントの設置uもともとあるゲートウェイ,もしくは完全に新しいゲートウェイとして動作様々な攻撃が可能にpゲートウェイに対する改ざんuゲートウェイは遠隔ログイン可能な場合が多く,不正に改ざん利用される可能性pMACスプーフィングuLoRaWANではMACアドレスを利用せず,独自の割当アドレスを利用しているそこで,そのアドレスを勝手になりすまし,データの不正取得などの可能性
࣮ࡍʹͲΜͳײ͡Ͱ߈ܸͰ͖ͦ͏ʁʙωοτϫʔΫϨϕϧͰ߈ܸʙࢀߟɿ-P3B8"/ 4QFDJGJDBTUJPO W BWBJMBCMFBUMPSBBMMJBODFPSH SFG&T &FG WBO l-P3B8"/ WVMOFSBCJMJUZBOBMZTJT JOWBMJEBUJPOPGQPTTJCMFWVMOFSBCJMJUJFTJOUIF-P3B8"/ QSPUPDPMTQFDJGJDBUJPO z.BTUFSTUIFTJT 0QFO6OJWFSTJUFJU/FEFSMBOE
ͲΜͳ߈ܸʁnμϯϦϯΫ௨৴ʢήʔτΣΠˠϊʔυʣʹணpLoRaWANにおいて様々な設定はMACメッセージで行われるuDutyCycle,参加,通信タイミング,チャンネルなどpClass Bビーコンによる情報の通知,ノードの受信ウィンドウの操作u周期的に動作する各ノードにイベント的にダウンリンク通信を行うpReplay attack/リプレイ攻撃u盗聴したデータをそのまま再送する.データの中身が不明でもOK.「MACメッセージ」と「ビーコン」のリプレイ攻撃について紹介
-P3B8"/ ."$ .FTTBHF 'PSNBUPreamble PHDR PHDR CRC PHY Payload CRCMHDR MAC Payload MICFHDR FPort FRM PayloadDev Addr FCtrl FCnt FOptsPhyPhy PayloadMAC PayloadFHDRMHDRDev Addr FCtrl FCnt FOpts FPort FRM Payload MIC8 32 8 16 120 8 N 32 (bit)!"' / MACFPort0x00CID0xXX PayloadFRM PayloadMIC#$&%Phy Payload
."$ϝοηʔδͷϦϓϨΠ߈ܸnϝοηʔδͷྫ MIC 0x00 0x01 0x19 0x76 → 0x76 0x19 0x01 0x00
."$ϝοηʔδͷϦϓϨΠ߈ܸnదͳ.*$ͱΧϯλΛઃఆग़དྷͨ߹n͔͠͠ɺ.*$ͷܭࢉʹ"&4ΞϧΰϦζϜ͕࠾༻͞Ε͍ͯΔp鍵が奪われない限り、計算能力的に現実時間的に攻撃は不可能・・・ MIC 128bitleft 32-bits of a CMAC resultsinto ( 1 / 232 ) * 2128 = 296
."$ϝοηʔδͷϦϓϨΠ߈ܸn࣮҉߸Խ.*$ͷܭࢉखॱͳͲ֤ࣗͷ࣮ʹґଘ͍ͯ͠Δnྫ͑ɾɾɾp以前のLoRaWAN SpecificationではFOptsの暗号化がマストになっていなかったu現在のSpecification v1.1では暗号化がMUSTとなっているpこうした細かいところの実装をセキュリティを意識して実装すべきnԿ͕ى͜ΔʁpMAC層はネットワーク層より先に実行される(レイヤー的に)p暗号化されていない(平文)+MICはネットワーク層で計算される→先にMACコマンドが処理されてしまう!
·ͱΊn-P3B8"/͍ͬͯΖ͍ΖͰ͖ͦ͏ʂp実際に最近IoTベンチャー増えてますよねn."$ίϚϯυͷͳΓ͢·ͦ͠͠͏͕ͩɺɺɺʁp野外にノードは配置されるし、物理的なハックも不可能ではないかも・・・p暗号化とMICの処理はきちんと,新しい仕様をきちんと確認するnͳΓ͢·͞ΕͨΒେมͳͷͰ͔ͬ͠ΓͱରࡦΛͶ͓͖ͬͯ·͠ΐ͏p扱うデータの種類にも着目nࠓޙػձ͕͋Ε)BDL3'Λ͔ͭͬͯిϨϕϧͰͷϋοΫΛ͍ͨ͠ʂ» 現在機材貸与申請中nΑ͍ϋοΫिؒʹ͠·͠ΐ͏ʂ