hacktricks/todo/radio-hacking/sub-ghz-rf.md

12 KiB
Raw Blame History

Sub-GHz RF

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

ガレージのドア

ガレージドアオープナーは通常、300〜190 MHzの周波数で動作し、最も一般的な周波数は300 MHz、310 MHz、315 MHz、および390 MHzです。この周波数帯は、他の周波数帯よりも混雑しておらず、他のデバイスからの干渉を受けにくいため、ガレージドアオープナーによく使用されます。

車のドア

ほとんどの車のキーフォブは、315 MHzまたは433 MHzで動作します。これらはいずれも無線周波数であり、さまざまなアプリケーションで使用されています。2つの周波数の主な違いは、433 MHzの方が315 MHzよりも長い範囲を持っていることです。これは、リモートキーレスエントリーなどの長い範囲を必要とするアプリケーションには433 MHzが適していることを意味します。
ヨーロッパでは433.92MHzが一般的に使用され、米国と日本では315MHzが使用されます。

ブルートフォース攻撃

各コードを5回送信する代わりに受信機が受信することを確認するためにこのように送信される、1回だけ送信すると、時間が6分に短縮されます

また、信号間の2ミリ秒の待ち時間を削除すると、時間を3分に短縮できます。

さらに、De Bruijn Sequenceすべての潜在的なバイナリ数を送信するために必要なビット数を減らす方法を使用すると、この時間はわずか8秒に短縮されます

この攻撃の例は、https://github.com/samyk/opensesameで実装されています。

プリアンブルを要求することで、De Bruijn Sequenceの最適化を回避し、ローリングコードはこの攻撃を防ぎます(コードが十分に長く、ブルートフォース攻撃できない場合を想定しています)。

Sub-GHz攻撃

Flipper Zeroを使用してこれらの信号を攻撃するには、次を確認してください

{% content-ref url="flipper-zero/fz-sub-ghz.md" %} fz-sub-ghz.md {% endcontent-ref %}

ローリングコードの保護

自動ガレージドアオープナーは通常、ワイヤレスリモコンを使用してガレージドアを開閉します。リモコンはガレージドアオープナーに無線周波数RF信号を送信し、モーターを作動させてドアを開閉します。

コードグラバーと呼ばれるデバイスを使用してRF信号を傍受し、後で使用するために記録することができます。これはリプレイ攻撃として知られています。このタイプの攻撃を防ぐために、多くの現代のガレージドアオープナーは、より安全な暗号化方式であるローリングコードシステムを使用しています。

RF信号は通常、ローリングコードを使用して送信されるため、コードは使用ごとに変更されます。これにより、コードを傍受してガレージへの不正アクセスに使用することが困難になります。

ローリングコードシステムでは、リモコンとガレージドアオープナーには、リモコンが使用されるたびに新しいコードを生成する共有アルゴリズムがあります。ガレージドアオープナーは正しいコードにのみ応答し、コードをキャプチャしてガレージへの不正アクセスを簡単にすることはずっと困難になります。

Missing Link攻撃

基本的には、リモートがデバイス(例えば車やガレージ)の範囲外にある間にボタンを聞き、キャプチャしたコードを使用してデバイスを開くことです。

フルリンクジャミング攻撃

攻撃者は、車両や受信機の近くで信号を妨害することができます。そのため、受信機は実際にコードを「聞く」ことができません。そして、ジャミングを停止した後、単純にコードをキャプチャして再生することができます。

被害者はある時点で車をロックするためにキーを使用しますが、その後、攻撃は十分な数の「ドアを閉める」コードを記録していることを願って、ドアを開くために再送信できるでしょう(異なる周波数で両方のコマンドを受信する車もあるため、周波数の変更が必要になる場合があります)。

{% hint style="warning" %} ジャミングは機能しますが、車をロックする人が単にドアがロックされていることを確認するためにドアをテストすると、ロックされていないことに気付くでしょう。さらに、このような攻撃について知っている場合、車を「ロック」ボタンを押したときにロックのが鳴らなか

コードグラビング攻撃別名「RollJam」

これはよりステルスなジャミング技術です。攻撃者は信号をジャミングし、被害者がドアをロックしようとしてもうまくいかないようにしますが、攻撃者はこのコードを記録します。その後、被害者はボタンを押して再び車をロックしようとしますが、車はこの2回目のコードを記録します。
直後に、攻撃者は最初のコードを送信し、車はロックされます被害者は2回目の押しでロックされたと思うでしょう。その後、攻撃者は盗まれた2回目のコードを送信して車を開けることができます「車を閉める」コードも開けるため、前提としています。周波数の変更が必要な場合もあります開くと閉じるに同じコードを使用する車があり、両方のコマンドを異なる周波数で受信する

攻撃者は自分の受信機ではなく車の受信機をジャムすることができます。たとえば、車の受信機が1MHzの広帯域で受信している場合、攻撃者はリモートが使用している正確な周波数をジャムするのではなく、そのスペクトラム内の近い周波数をジャムします。一方、攻撃者の受信機はジャム信号なしでリモート信号を受信できるように、より狭い範囲で受信します。

{% hint style="warning" %} 仕様で見られる他の実装では、ローリングコードは送信されるコードの一部です。つまり、送信されるコードは24ビットのキーであり、最初の12ビットがローリングコード、次の8ビットがコマンドロックまたはアンロックなど、最後の4ビットがチェックサムです。このタイプの車は、攻撃者が単にローリングコードセグメントを置き換えるだけで、両方の周波数で任意のローリングコードを使用できるため、自然に脆弱です。 {% endhint %}

{% hint style="danger" %} 被害者が攻撃者が最初のコードを送信している間に3回目のコードを送信した場合、最初のコードと2回目のコードは無効になります。 {% endhint %}

アラーム音ジャミング攻撃

車に搭載されたアフターマーケットのローリングコードシステムに対するテストでは、同じコードを2回送信するだけでアラームが即座に作動し、イモビライザーが提供され、ユニークなサービス拒否の機会が生じました。皮肉なことに、アラームとイモビライザーを無効にする手段は、リモートを押すことでした。これにより、攻撃者は継続的にDoS攻撃を実行する能力を持ちます。また、被害者は攻撃をできるだけ早く停止したいため、この攻撃を前の攻撃と組み合わせてさらに多くのコードを取得することもできます。

参考文献

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥