元々は「コネクテッドテレビ」と呼ばれていましたが、現在は「スマートテレビ」と呼ばれています。 インターネットに接続し、サービスにアクセスしたり、アプリを使用したり、Web ブラウザを備えたコンピュータのように何らかの動作をすることができるテレビを指します。 スマートテレビは、有線イーサネット接続またはホームネットワーク内のWi-Fi経由でインターネットに接続します。 スマートテレビは、ビデオ処理、複数の画面、インターネット接続を両立させるためのコンピューター・チップを必要とします。 また、ストリーミングビデオや音楽をバッファリングするためにメモリを使用し、グラフィックスを処理するために追加の処理能力が必要です。 また、音声コマンドやスマートフォンのアプリでテレビを操作することもできます。
International Institute of cyber securityの情報セキュリティソリューションおよびトレーニングエキスパートであるDan Reynolds氏は、これらのスマートテレビはそれほどスマートではなく、ソフトウェアのセキュリティは必ずしも完璧ではないと説明しています。 スマートテレビはIoT(Internet of Things)に似ていますが、完全に消滅したと思われていた古い脆弱性が、IoTでは再び新しい脆弱性になっています。 潜在的な機密データへのアクセス、リモートファイルやドライブイメージへのアクセス、最終的にはデバイスへのルートアクセスなど、テレビ上で様々なアクションを起こすことができる欠陥が簡単に見つかることがあります。
記事では、IIcybersecurity の倫理ハッキング コース教授の助けにより、スマート テレビの 2 つの最も有名なブランド、サムスンと LG の異なる側面をカバーしていきます。
- Unstanding SAMSUNG SMART TV Operating system
- How to do analyze over Samsung Smart TV firmware
- Samsung TVへの接続
- Smasung Smart TV と Wireshark の接続
- Smart TV Hotel Mode Hack
- Understanding LG SMART TV Operating system
- Connecting to Smart TV
- Transmission / Receiving Protocol
- OK Acknowledgement
- Error Acknowledgement
- Power (Command: k a)
- LG TV USB IR-Hack with Arduino
- How to activate USB player via serial
- Custom Firmwares
- Weak Authentication
- Vulnerable TV’s API
- Man in Middle攻撃の脆弱性
Unstanding SAMSUNG SMART TV Operating system
Tizen は Linux カーネルおよび Linux API を実装する GNU C Library に基づいている OS であり、そのアーキテクチャと機能は以下のとおりです。 スマートフォン、タブレット、車載インフォテインメント (IVI) デバイス、スマート TV、PC、スマートカメラ、ウェアラブルコンピューティング、ブルーレイプレイヤー、プリンター、スマート家電など、非常に幅広いデバイスをターゲットにしています。 その目的は、デバイス間で一貫したユーザーエクスペリエンスを提供することです。 Tizen は、2015 年から Samsung TV に実装されます。
Sammygo など Samsung スマート TV OS 研究に取り組んでいるオンライン コミュニティがいくつかあると、情報セキュリティ ソリューションおよびトレーニング専門家の Dan Reynolds は述べています。
How to do analyze over Samsung Smart TV firmware
ExLink コネクタは、片方が 3.5mm ジャック、もう一方が RS232 ( シリアル ) DB9 コネクタになっているケーブルで、オーディオ用のものと同じように使用されます。 このケーブルでPCをテレビに接続し、シリアルモードにすることができます。
Samsung TVへの接続
- TVをスタンバイモードにして、次に押すと、テレビの電源が入ると新しいサービスメニューが表示されるようにします。
- ホテルオプションを有効にし、RS-232インターフェースをUARTに設定します。
- 電源ボタンを使用し、テレビの電源を切り、再度オンにします。
これで、テレビは PC と通信できるようになります。
Smasung Smart TV と Wireshark の接続
Samsung SmartTV プロトコル用の Wireshark dissector が用意されています。
この dissector は wireshark キャプチャをフィルターして、WiFi でテレビに送られるリモート コントロール パケットとテレビからリモート コントロール ユニットへ送られるパケットをデコードすることができます。 この wireshark プラグインは、カスタムプロトコル用の独自のディセクタを簡単に宣言的に作成できます。
WireShark インストールにディセクタをインストールするには、次の操作を行う必要があります。 dissector ファイルを解凍します (例 /usr/lib/wireshark/libwireshark0/plugins/).
dissector の動作を確認するには、以下のようにします:
- dissector をインストールした wireshark を実行します。
- フィルタフィールドにsamsung_remoteと入力し、フィルタリングされたSamsung Remoteパケットを見る。
- SRプロトコルでマークされたパケットの一つをクリックし、デコードしたパケットデータを見る。
あなたはいくつかのコマンドで接続テストできます
TV On.をクリックする。 \x08\x22\x00\x00\x00\x02\xd6\r
TV Off: \x08\x22\x00\x00\x00\x01\xd5
HDMI1: \x08\x22\x0a\x00\x05\x00\xc7
TV Tuner: \x08x22x0a ⒶVolume Up : \Volume Down : \x08x22╱x01x00╱x00xd3
Mute Toggle : \x08x22╱x02x00Ⓒx00xd4
Speaker On : \Sepeaker Off : \x08x22 0ax00x05x01xc6
HDMI 2 : \x08x22 \x08\x22\x0a\x00\x05\x02\xc5
Smart TV Hotel Mode Hack
Samsung TV のいくつかのモデルにはオプションが用意されています。 ホテルに設置したときにテレビが動作するようにするためのものです。 これは、ホテルの宿泊客が行いたくなるような改造から一部の機能を保護し、隔離された環境でテレビを動作させるものです。 あなたは、ホテルのテレビモードにハックし、root it.
Github で Samsung スマート TV 関連の独立プロジェクトがたくさんあるようですが Samsung-Remote は Dan Reynolds, 情報セキュリティ ソリューションとトレーニング専門家に言及しています。
Understanding LG SMART TV Operating system
LG Smart TV を購入すると、WebOS オペレーティング システムの LG TV を手に入れることができます。 WebOSは、LG WebOS、Open WebOS、HP WebOS、またはPalm WebOSとも呼ばれ、テレビやスマートウォッチなどのスマートデバイス用のLinuxカーネルベースのマルチタスクOSで、以前はモバイルOSでした。 当初はPalm社が開発していたが、Hewlett-Packard社に買収された。 HPはこのプラットフォームをオープンソース化し、Open WebOSとなった。
WebOS はオープンソースなので、オンライン オープンソース コミュニティ (openwebosproject, openlgtv) があり、ファームウェアに取り組んでいます。 これらのコミュニティから、オペレーティング システムのファームウェアをダウンロードして、自分で調査することができます。
Connecting to Smart TV
あらゆるシステムのハックの最初のステップは、システムについて知っておくことです。 アーキテクチャを理解し、Smart TV が送信するトラフィックを監視するには、お使いのコンピュータを Smart TV に接続する必要があります。 ファームウェアのレベルに到達するためには、RS-232Cインターフェースで接続する必要があります。 テレビからコンピュータのUSBにRS-232ケーブルを使用して簡単に接続できます。
一般的には、Linuxオペレーティングシステムをお勧めします。 Windows 7では、一部のUSB2Serialアダプタで問題に直面しているユーザーからの報告があるため、現時点では、USB2Serialアダプタの使用にはWindows XPをお勧めします。 以下の設定をします。 9600または115200ボー(最近のファームウェアではデフォルトで115200bpsボーレートがあります)、8N1、XON/XOFF。 データ長:8ビット、パリティ。 なし,ストップビット 1ビット、通信コード。 ASCIIコード。 以下のコマンドを発行することで、接続を確認することができます。
Transmission / Receiving Protocol
:セットを制御する第1コマンド(j、k、mまたはx):セットを制御する第2コマンドです。 調整範囲は1~99で、セットID0を選択した場合は、接続されているすべてのセットを制御します。 セットIDは、メニューでは10進数(1~99)、送受信プロトコルでは16進数(0x0~0x63)で表示されます。
:キャリッジリターン ASCIIコード 0x0D
:ASCIIコードスペース(0x20) ※この機種では、スタンバイ時にステータスを送信しません。
OK Acknowledgement
通常のデータ受信時にこのフォーマットに基づいてACK(確認)を送信します。 この時、データリードモードであれば、現在のステータスデータを示します。 4213>
* この機種では、スタンバイモードではステータスは送信されません。 * データフォーマット データ形式:コマンド形式:小文字を使用、セットIDが10の場合、0、aを送信します:小文字を使用、データが0×abの場合、a、bを送信します。
Error Acknowledgement
セットは、実行不可能な機能からの異常データまたは通信エラーを受信した場合、このフォーマットに基づいてACK(確認応答)を送信します
Data01: Illegal Code Data02: Not supported function Data03: Wait more time *このモデルではセットはスタンバイモード中にステータスを送信しません。 * データフォーマット : コマンドとして使用します。 :小さな文字を使用し、セットIDが10の場合、0、aを送信します。 :小さな文字を使用し、データが0×abの場合、a、bを送信します。 :大きな文字を使用します。
Power (Command: k a)
セットのパワーオン/オフを制御します。
送信
Data 00: Power Off Data 01: Power On
Acknowledgement
* 同様に、このフォーマットで他の機能が’FF’データを送信すると、各機能に関する状態をAcknowledgementデータで返します。
* 注:このモデルでは、電源投入後の処理完了後にアクノリッジを送信します。
コマンドとアクノリッジの間に時間差が生じることがあります。
または libLGTV_serial などインターネット上にあるスクリプトを使っていただくことも可能です。 倫理的ハッキング コースの教授 Mike Stevans は、libLGTV_serial は LG TV (またはシリアル ポートのあるモニター) をシリアル (RS232) ポート経由で制御するための Python ライブラリであると説明しています。
LG TV USB IR-Hack with Arduino
adruino カードで、アップロードしたスクリプトを使って簡単に LG TV をハックできます。
この赤外線リモート ライブラリーは 2 部から構成されています。 IRsend は IR リモート パケットを送信し、IRrecv は IR メッセージを受信してデコードします。
#include <IRremote.h>IRsend irsend;void setup(){ Serial.begin(9600);}void loop() { if (Serial.read() != -1) { for (int i = 0; i < 3; i++) { irsend.sendSony(0xa90, 12); // Sony TV power code delay(100); } }}
#include <IRremote.h>int RECV_PIN = 11;IRrecv irrecv(RECV_PIN);decode_results results;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value }}
Github プロジェクトやオープンソース コミュニティから adruino ハックの詳細について学ぶことができます。
How to activate USB player via serial
- PC を COM ポートまたは USB2COM (USBtoRS232) アダプタ経由でテレビの RS232 コネクタに接続します
- PC で端末プログラム (hyperterminal or putty など) を実行します
- COMポートに次のパラメータをセット:速度 9600、フロー制御:なし。
- ターミナルに次のように入力します。 「ab 0 ff」と入力し、「Enter」キーを押します。 01 ok??x “と表示されるはずです。
- USBメディアプレーヤーを有効にするには、次のように入力します。 「
- TVの電源をオフ/オンにします。 テレビのメインメニューにUSBアイコンが表示されるはずです。
Custom Firmwares
LG 公式ウェブサイトまたはインターネット フォーラムから古いファームウェアをダウンロードすることができます。 これらのファームウェアは、ユーザーのニーズに応じてカスタマイズされます。
México のハッキング コース教授 Mike Stevens は、シリアル コマンドやスクリプト、脆弱性があれば誰でもスマートテレビをハッキングできることを説明しました。 闇市場でさまざまな悪用が可能な既知の脆弱性の一部を紹介します。
Weak Authentication
認証という点ではプロトコルは非常に単純で、認証パケットは認証に IP アドレス、MAC アドレス、ホスト名を必要とするだけです。 簡単にプロトコルを破ることができます。 また、クライアント側の認証もそれほど強力ではありません。 また、プロトコルは NULL MAC アドレス値の認証を処理しないため、NULL MAC アドレス値を持つ任意のデバイスがテレビに接続できます。
Vulnerable TV’s API
ハッカーは File.Unzip や Skype などテレビの API を介してハックしマルウェアをインストールすることができます。 これらは、ターゲット上の任意の書き込み可能なファイル システムにファイルをコピーし、バックドアをインストールするために使用できます。
Man in Middle攻撃の脆弱性
MIM攻撃の脆弱性を使用すると、テレビがサーバー証明書をチェックしないため、ハッカーはデータを盗聴できます。 したがって、ハッカーは偽の証明書を使用して、簡単にMan in Middle攻撃を行うことができます。
情報セキュリティ ソリューションとトレーニングの専門家によると、スマート TV 用のマルウェアを作成することは、PC や Linux システム用のマルウェアを作成することとそれほど違いはないとのことです。 ベースとなるOSはLinuxであり、脆弱性を持っています。 したがって、シリアルコマンドと脆弱性を利用すれば、ハッカーは簡単にスマートテレビに侵入することができます。 また、スマートテレビには、アンチウイルスやアンチマルウェアのソリューションが存在しないため、ハッカーがスマートテレビに侵入することは容易です。