Eredetileg “csatlakoztatott tévéknek”, ma pedig “okostévéknek” nevezik őket. Minden olyan televízió, amely csatlakoztatható az internethez, hogy hozzáférjen a szolgáltatásokhoz, alkalmazásokat használjon, és valamilyen módon úgy viselkedjen, mint a webböngészővel rendelkező számítógépeink. Az intelligens tévék vezetékes Ethernet-kapcsolaton vagy otthoni hálózaton belüli Wi-Fi-n keresztül csatlakoznak az internethez. Az okostévékhez számítógépes chipek szükségesek a videofeldolgozás, a több képernyő és az internetkapcsolat zsonglőrködéséhez. Emellett memóriát használnak a streaming videók és zenék puffereléséhez, és további feldolgozási teljesítményre van szükségük a grafika kezeléséhez. A tévék hangutasításokkal és egyes okostelefonokon futó alkalmazásokkal is vezérelhetők.
Dan Reynolds, az International Institute of cyber security információbiztonsági megoldások és képzések szakértője kifejti, hogy ezek a Smart TV-k nem olyan okosak, és a szoftverek biztonsága sem éppen tökéletes. Az okostévék hasonlítanak a dolgok internetére (IoT), de a régi, teljesen eltűntnek hitt sebezhetőségek ismét új sebezhetőségek a dolgok internetében (IoT). Néha könnyen lehet olyan hibát találni, amely lehetővé teszi, hogy különféle műveleteket végezzenek a TV-n, beleértve a potenciálisan érzékeny adatokhoz, távoli fájlokhoz és meghajtóképhez való hozzáférést, és végül root hozzáférést szerezzenek az eszközhöz.
A cikkben a két leghíresebb Smart TV márka, a Samsung és az LG különböző aspektusaival foglalkozunk, a IIcybersecurity etikus hacker tanfolyam professzorának segítségével.
- A SAMSUNG SMART TV operációs rendszerének megértése
- How to do analysis over Samsung Smart TV firmware
- Connecting to Samsung TV
- A Wireshark csatlakoztatása a Smasung Smart TV-vel
- Smart TV Hotel Mode Hack
- Az LG SMART TV operációs rendszerének megértése
- Connecting to Smart TV
- Transmission / Receiving Protocol
- OK nyugtázás
- Hiba nyugtázás
- Power (Parancs: k a)
- LG TV USB IR-Hack with Arduino
- Hogyan aktiválja az USB lejátszót soros kapcsolón keresztül
- Egyéni firmware
- Gyenge hitelesítés
- A TV sebezhető API-i
- Man in Middle támadási sebezhetőségek
A SAMSUNG SMART TV operációs rendszerének megértése
A Tizen egy operációs rendszer, amely a Linux kernelen és a Linux API-t megvalósító GNU C könyvtáron alapul. Az eszközök igen széles körét célozza meg, beleértve az okostelefonokat, táblagépeket, járműfedélzeti infotainment (IVI) eszközöket, okostévéket, PC-ket, intelligens kamerákat, viselhető számítástechnikai eszközöket, Blu-ray lejátszókat, nyomtatókat és intelligens háztartási készülékeket. Célja, hogy egységes felhasználói élményt nyújtson minden eszközön. A Tizen 2015-től került volna a Samsung TV-kbe.
Van néhány online közösség, amely a Samsung smart TV OS kutatásán dolgozik, mint például a Sammygo – említi Dan Reynolds, információbiztonsági megoldások és képzések szakértője.
How to do analysis over Samsung Smart TV firmware
AzExLink csatlakozó egy olyan kábelből áll, amelynek egyik oldalán egy 3,5 mm-es jack, mint az audio csatlakozók, a másik oldalon pedig egy RS232 ( Serial ) DB9 csatlakozó van. Ez a kábel lehetővé teszi, hogy csatlakoztassa a számítógépét a TV-hez, és belépjen a soros üzemmódba. Ezzel egy soros kommunikációs szoftvert használhat, mint a Hyperterminal, Putty a Windows vagy Linux rendszerből.
Connecting to Samsung TV
- Tegye a TV-t készenléti módba, nyomja meg majd majd amikor a TV bekapcsol, megjelenik egy új szerviz menü.
- Engedélyezze a Hotel opciót, és állítsa az RS-232 interfészt UART-ra.
- Használja a Power gombot, majd kapcsolja ki és újra be a TV-t.
A TV-nek most már készen kell állnia a PC-vel való kommunikációra.
A Wireshark csatlakoztatása a Smasung Smart TV-vel
Létezik egy Wireshark dissector a Samsung SmartTV protokollhoz.
Ez a dissector lehetővé teszi a Wireshark elfogások szűrését és a távvezérlő csomagok dekódolását, amelyeket a TV-hez a WiFi-n keresztül küldenek, valamint a TV-től a távvezérlő egységhez küldött csomagokat. Ez a wireshark plugin, lehetővé teszi saját dissectorok egyszerű deklaratív létrehozását egyéni protokollokhoz.
A dissector telepítéséhez a wireshark telepítéséhez a következő műveleteket kell elvégeznie:
Töltse le a WSGD verzióját, amely megfelel a wireshark verziójának és a gép architektúrájának, majd tegye a wireshark plugins mappába. Csomagolja ki a dissector fájlokat (pl. /usr/lib/wireshark/libwireshark0/plugins/).
A dissector működés közben való megtekintéséhez a következőket teheti:
- Futtassa a wiresharkot a telepített dissectorral. Töltse le a minta capture fájlt és nyissa meg a wiresharkban.
- Tegye be a samsung_remote-t a filter mezőbe és lássa a szűrt Samsung Remote csomagot.
- Kattintson az SR protokollal jelölt csomagok egyikére és lássa a dekódolt csomagadatokat.
A kapcsolatot néhány paranccsal tesztelheti
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: \x08\x22\x0a\x00\x00\x00\x00\x00\x00\xcc
Volume Up : \x08\x22\x01\x00\x01\x00\x00\xd4
Hangerő le : \x08\x22\x01\x00\x02\x00\x00\xd3
Mute Toggle : \x08\x22\x02\x00\x00\x00\x00\x00\xd4
Speaker On : \x08\x22\x0c\x06\x00\x00\x00\xc4
Hangszóró ki : \x08\x22\x0c\x06\x00\x01\xc3
HDMI 2 : \x08\x22\x0a\x00\x05\x01\xc6
HDMI 3 : \x08\x22\x0a\x00\x05\x02\xc5
Smart TV Hotel Mode Hack
A Samsung TV-k egyes modelljei rendelkeznek egy opcióval, hogy a tévé akkor is működjön, ha szállodákban helyezik el őket. Ezáltal a tévé egy elszigetelt környezetben működik, amely megvéd bizonyos funkciókat a szállodai vendégek által kívánt módosításoktól. Az alábbiakban említett lépésekkel feltörheti a szállodai TV módját és rootolhatja azt.
A Githubon sok független projekt található a Samsung okostévével kapcsolatban, például a Samsung-Remote említi Dan Reynolds, információbiztonsági megoldás- és képzési szakértő.
Az LG SMART TV operációs rendszerének megértése
Az LG Smart TV vásárlásakor egy WebOS operációs rendszerrel ellátott LG TV-t kap. A WebOS, más néven LG WebOS, Open WebOS, HP WebOS vagy Palm WebOS, egy Linux kernel alapú, többfeladatos operációs rendszer intelligens eszközökhöz, például TV-khez és okosórákhoz, és korábban mobil operációs rendszer volt. Eredetileg a Palm fejlesztette, amelyet a Hewlett-Packard felvásárolt. A HP nyílt forráskódúvá tette a platformot, így lett belőle Open WebOS. Az operációs rendszert később eladták az LG Electronicsnak.
Mivel a WebOS nyílt forráskódú, néhány online nyílt forráskódú közösség, például (openwebosproject, openlgtv) dolgozik a firmware felett. Ezekből a közösségekből letöltheti az operációs rendszer firmware-jét, és saját kutatásokat végezhet.
Connecting to Smart TV
A bármilyen rendszer feltöréséhez az első lépés a rendszer megismerése. Az architektúra megértéséhez és a Smart TV által küldött forgalom figyeléséhez össze kell kapcsolnia a számítógépét a Smart TV-vel. A firmware szintjének eléréséhez RS-232C interfészen keresztül kell csatlakoznia. Az RS-232 kábel segítségével könnyen csatlakozhat a televízióról a számítógép USB-jéhez.
Általában a Linux operációs rendszert ajánljuk. Vannak olyan felhasználói jelentések, amelyek szerint egyes USB2Serial adapterek Windows 7 alatt problémákkal küzdenek, ezért jelenleg Windows XP-t ajánljuk az USB2Serial adapterek használatához.
Indítsa el a tévét, és a távirányítóval lépjen az “Opciók” menübe, és vegye figyelembe, hogy a Set ID értéke 1. Szüksége lesz egy terminál emulációs programra, például Hyperterminalra vagy Putty-ra. Állítsa be a következő konfigurációt 9600 vagy 115200 baud (a legújabb firmware-ekben már alapértelmezés szerint 115200bps baudrate van), 8N1, XON/XOFF. Adathossz: 8 bit, Paritás: Stop bit: 1 bit, kommunikációs kód: ASCII kód. A következő parancsok kiadásával ellenőrizheti a kapcsolatot. A rendszerrel való játékhoz számos különböző parancs áll rendelkezésre.
Transmission / Receiving Protocol
: Első parancs a készlet vezérléséhez.(j, k, m vagy x) : Második parancs a készlet vezérléséhez.
: A készlet ID-t beállíthatja, hogy az Option menüben kiválaszthassa a kívánt készlet ID számot. A beállítási tartomány 1~ 99. Ha a Set ID 0-t választja, minden csatlakoztatott készletet vezérel. A Set ID decimális értékként (1~ 99) jelenik meg a menüben és hexa decimális értékként (0x0~ 0x63) az átviteli/vételi protokollon.
: A parancsadatok továbbításához. A FF adatok továbbítása a parancs állapotának leolvasásához.
: Carriage Return ASCII kód 0x0D
: ASCII kódhely (0x20) * Ebben a modellben a készülék készenléti üzemmódban nem küldi az állapotot.
OK nyugtázás
A készülék normál adatok fogadásakor ACK (nyugtázás) formátumot továbbít. Ilyenkor, ha az adat adatolvasási módban van, jelzi a jelenlegi állapotadatokat. Ha az adat adatírási mód, akkor a PC számítógép adatait küldi vissza.
* Ebben a modellben a készülék készenléti üzemmódban nem küldi az állapotot. * Adatformátum : Használja parancsként. : Használja a kis karaktert, ha a set ID 10, akkor a 0, a. : Használja a kis karaktert, ha az adat 0 x ab, akkor az a, b. : Használja a nagy karaktert.
Hiba nyugtázás
A készlet ACK-t (nyugtázást) küld ezen formátum alapján, amikor nem életképes funkciókból vagy kommunikációs hibákból származó rendellenes adatokat kap.
Data01: Illegális kód Data02: Nem támogatott funkció Data03: Várjon még egy kis időt * Ebben a modellben a készlet nem küldi az állapotot készenléti üzemmódban. * Adatformátum : Használja a parancsként. : Használja a kis karaktert, ha a készülék azonosítója 10, akkor a 0, a. : Használja a kis karaktert, ha az adat 0 x ab, akkor az a, b. : Használja a nagy karaktert.
Power (Parancs: k a)
A készülék be-/kikapcsolásának vezérléséhez.
Továbbítás
Adatok 00: Kikapcsolás Adatok 01: Bekapcsolás
A nyugtázás
* Hasonlóképpen, ha más funkciók ‘FF’ adatokat továbbítanak ezen formátum alapján, a nyugtázási adatok visszajelzése az egyes funkciók állapotát mutatja be.
* Megjegyzés: Ebben a modellben a készülék a bekapcsolási folyamat befejezése után küldi a nyugtát.
A parancs és a nyugtázás között időbeli késleltetés lehet.
Vagy használhatja az interneten elérhető szkripteket is, mint a libLGTV_serial. Mike Stevans, az etikus hackerkurzus professzora elmagyarázza, hogy a libLGTV_serial egy Python könyvtár, amellyel az LG TV-ket (vagy soros porttal rendelkező monitorokat) lehet vezérelni a soros (RS232) portjukon keresztül.
LG TV USB IR-Hack with Arduino
Az LG TV-t egy adruino kártyával könnyen feltölthető szkriptek segítségével hackelheted meg.
Ez az infravörös távvezérlő könyvtár két részből áll: Az IRsend IR-távvezérlő csomagokat továbbít, míg az IRrecv fogadja és dekódolja az IR-üzenetet.
#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 }}
A Github-projektekből és nyílt forráskódú közösségekből többet megtudhat az adruino hackekről.
Hogyan aktiválja az USB lejátszót soros kapcsolón keresztül
- Kapcsolja a PC-t COM porton vagy USB2COM (USBtoRS232) adapteren keresztül a TV RS232 csatlakozójába
- Futtasson terminálprogramot a PC-n (például hyperterminal vagy putty)
- A következő paramétereket állítsa be a COM porthoz: sebesség 9600, folyamszabályozás: nincs. Minden mást hagyjon az alapértelmezett értéken.
- A terminálba írja be: “ab 0 ff” és nyomja meg az “Enter”-t. A következő választ kell kapnia: “01 ok????x”, ahol ???? a Tool opció száma. Jegyezze meg, vagy írja fel egy papírlapra.
- Az USB médialejátszó aktiválásához írja be: “ab 0 6″ és nyomja meg az Entert.
- Kapcsolja ki/be a TV-t. Az USB ikonnak meg kell jelennie a TV főmenüjében.
Egyéni firmware
A régi firmware-eket letöltheti az LG hivatalos weboldaláról vagy internetes fórumokról. Ezek a firmware-ek a felhasználó igényeihez igazodnak.
Mike Stevens, a México hacker tanfolyam professzora elmagyarázza, hogy a soros parancsokkal, szkriptekkel és a sebezhetőségekkel együtt bárki képes feltörni egy okostévét. Néhány ismert sebezhetőség, amelyekhez különböző exploitok állnak rendelkezésre a feketepiacon:
Gyenge hitelesítés
A protokoll nagyon egyszerű a hitelesítés szempontjából, és a hitelesítési csomagnak csak egy IP-címre, egy MAC-címre és egy hostnévre van szüksége a hitelesítéshez. Könnyen meg lehet törni a protokollt. A kliensoldali hitelesítés sem túl erős. A protokoll nem kezeli a NULL MAC-cím értékű hitelesítést, így bármely NULL MAC-címértékkel rendelkező eszköz csatlakozhat a TV-hez.
A TV sebezhető API-i
A hacker feltörheti és rosszindulatú szoftvereket telepíthet a TV API-jain keresztül, mint például a File.Unzip vagy a Skype. Ezeket arra lehet használni, hogy fájlokat másoljon a célpont bármely írható fájlrendszerére, és hátsó ajtót telepítsen.
Man in Middle támadási sebezhetőségek
A MIM támadási sebezhetőségek használatával egy hacker kiszimatolhatja az adatokat, mivel a TV nem ellenőrzi a szerver tanúsítványait. Így a hamis tanúsítványokkal egy hacker könnyen végezhet Man in Middle támadást.
Az információbiztonsági megoldások és képzések szakértői szerint a Smart TV-re szánt rosszindulatú programok létrehozása nem sokban különbözik a PC-kre vagy Linux rendszerekre szánt rosszindulatú programok létrehozásától. Az alap operációs rendszer a Linux, és sebezhetőségekkel rendelkezik. Így a soros parancsok és a sebezhetőségek használatával egy hacker könnyen feltörhet egy Smart TV-t. Mivel az okostévékhez nem állnak rendelkezésre vírusirtók vagy rosszindulatú szoftverek elleni megoldások, így a hacker számára könnyebbé válik az okostévék feltörése.