Originalt blev de kaldt “tilsluttede tv’er”, og nu kaldes de for “smart-tv’er”. Ethvert tv, der kan forbindes til internettet for at få adgang til tjenester, bruge apps og på en måde opføre sig som vores computere med webbrowser. Smart-tv’er tilsluttes internettet via en kablet Ethernet-forbindelse eller Wi-Fi i et hjemmenetværk. Smart-tv’er kræver computerchips til at jonglere med videobearbejdning, flere skærme og en internetforbindelse. De bruger også hukommelse til at bufferstreame video og musik og har brug for ekstra processorkraft til at håndtere grafik. Tv’et kan styres ved hjælp af stemmekommandoer og af apps, der kører på nogle smartphones.
Dan Reynolds, ekspert i informationssikkerhedsløsninger og uddannelse fra International Institute of Cyber Security, forklarer, at disse Smart TV’er ikke er så smarte, og at softwaresikkerheden ikke er helt perfekt. Smart TV’er ligner tingenes internet (IoT), men gamle sårbarheder, som blev anset for at være helt forsvundet, er nye sårbarheder igen i tingenes internet (IoT). Nogle gange kan man nemt finde en fejl, der kan gøre det muligt at foretage en række handlinger på tv’et, herunder adgang til potentielt følsomme data, fjernadgang til filer og drevbillede og i sidste ende få root-adgang til enheden.
I artiklen vil vi dække forskellige aspekter af to mest kendte mærker af Smart TV, Samsung og LG, med hjælp fra etisk hacking kursus professor i IIcybersecurity.
- Forståelse af SAMSUNG SMART TV Operativsystem
- Sådan laver du analyse over Samsung Smart TV firmware
- Anslutning til Samsung TV
- Anslutning af Wireshark med Smasung Smart TV
- Smart TV Hotel Mode Hack
- Forståelse af LG SMART TV-operativsystemet
- Anslutning til Smart TV
- Transmission / Receiving Protocol
- OK kvittering
- Error Acknowledgement
- Power (Kommando: k a)
- LG TV USB IR-Hack med Arduino
- Sådan aktiverer du USB-afspiller via seriel
- Brugerdefinerede firmwares
- svag autentifikation
- Sårbare tv’s API’er
- Man in Middle-angrebssårbarheder
Forståelse af SAMSUNG SMART TV Operativsystem
Tizen er et operativsystem baseret på Linux-kernen og GNU C Library, der implementerer Linux API’et. Det er rettet mod en meget bred vifte af enheder, herunder smartphones, tablets, IVI-enheder (Infotainment i køretøjer), smart-tv’er, pc’er, smartkameraer, bærbare computere, Blu-ray-afspillere, printere og smarte husholdningsapparater. Formålet er at tilbyde en ensartet brugeroplevelse på tværs af enheder. Tizen skulle være blevet implementeret i Samsung-tv’er fra 2015.
Der er nogle onlinefællesskaber, som arbejder over Samsung smart TV OS-forskningen som Sammygo, nævner Dan Reynolds, ekspert i informationssikkerhedsløsninger og uddannelse.
Sådan laver du analyse over Samsung Smart TV firmware
ExLink-stik består af et kabel, der i den ene side har et 3,5 mm jackstik, ligesom lydstikkene, og på den anden side et RS232 ( Seriel ) DB9-stik. Dette kabel giver dig mulighed for at tilslutte din pc-computer til tv’et og gå ind i Seriel tilstand. Med dette kan du bruge en seriel kommunikationssoftware, som Hyperterminal, Putty fra Windows eller Linux.
Anslutning til Samsung TV
- Sæt TV’et i standbytilstand, tryk derefter på derefter, og når TV’et tændes, viser det en ny servicemenu.
- Aktiver Hotel Option, og indstil RS-232-grænsefladen til UART.
- Brug afbryderknappen og sluk derefter for tv’et og tænd det igen.
TV’et skulle nu være klar til kommunikation med din pc.
Anslutning af Wireshark med Smasung Smart TV
Der findes en Wireshark-dissektor til Samsung SmartTV-protokollen.
Denne dissektor gør det muligt at filtrere Wireshark-optagelser og afkode fjernbetjeningspakker, der sendes til tv’et via WiFi, og pakker, der sendes fra tv’et til fjernbetjeningsenheden. Dette wireshark-plugin giver mulighed for simpel deklarativ oprettelse af dine egne dissektorer til brugerdefinerede protokoller.
For at installere dissektoren til din wireshark-installation skal du foretage følgende handlinger:
Download version af WSGD, der passer til din wireshark-version og maskinarkitektur, og læg den derefter i din wireshark-plugin-mappe. Udpak dissector-filerne (f.eks. /usr/lib/wireshark/libwireshark0/plugins/).
For at se dissector i aktion kan du gøre dette:
- Kør wireshark med installeret dissector. Download prøveoptagelsesfil og åbn den i wireshark.
- Typ samsung_remote i filterfeltet og se filtreret Samsung Remote-pakke.
- Klik på en af pakkerne markeret med SR-protokol og se afkodede pakkedata.
Du kan teste forbindelsen med nogle af kommandoerne
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\xcc
Volume Up : \x08\x22\x01\x00\x00\x01\x00\x00\xd4
Volume Down : \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
Højttaler Off : \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
Nogle modeller af Samsung TV’er har en mulighed, til at få tv’et til at fungere, når de er installeret på hoteller. Dette får tv’et til at arbejde i et isoleret miljø, der beskytter nogle funktioner mod de ændringer, som hotelgæsterne ønsker at foretage. Du kan bruge nedenstående trin til at hacke dig ind i hotel-tv-mode og roote det.
Der er mange uafhængige projekter relateret til Samsung smart-tv på Github Som Samsung-Remote nævner Dan Reynolds, ekspert i informationssikkerhedsløsninger og uddannelse.
Forståelse af LG SMART TV-operativsystemet
Når du køber et LG Smart TV får du et LG TV med WebOS-operativsystemet. WebOS, også kendt som LG WebOS, Open WebOS, HP WebOS eller Palm WebOS, er et Linux-kernelbaseret multitasking-operativsystem til smarte enheder som tv-apparater og smarte ure og var tidligere et mobiloperativsystem. Oprindeligt blev det udviklet af Palm, som blev opkøbt af Hewlett-Packard. HP gjorde platformen open source, og den blev til Open WebOS. Operativsystemet blev senere solgt til LG Electronics.
Da WebOS er open source, er der nogle online open source-fællesskaber som (openwebosproject, openlgtv), der arbejder over firmwaren. Fra disse fællesskaber kan du downloade firmware til styresystemet og foretage din egen forskning.
Anslutning til Smart TV
Det første skridt i retning af at hacke et system er at kende til systemet. For at forstå arkitekturen og overvåge den trafik, som dit Smart TV sender, er du nødt til at forbinde din computer med Smart TV’et. For at nå frem til firmware-niveauet skal du oprette forbindelse via RS-232C-interface. Du kan nemt oprette forbindelse ved hjælp af RS-232-kabel fra tv’et til computerens USB.
Generelt anbefaler vi Linux-operativsystemet. Der er rapporter fra brugere, der har problemer med nogle USB2Serial-adaptere under Windows 7, så i øjeblikket anbefaler vi Windows XP til brug af USB2Serial-adaptere.
Start tv’et og gå til menuen “Indstillinger” ved hjælp af fjernbetjeningen, og overvej at Set ID er indstillet til 1. Du skal bruge et terminalemuleringsprogram som Hyperterminal eller Putty. Indstil følgende konfiguration 9600 eller 115200 baud (på nyere firmwares er der nu 115200bps baudrate som standard), 8N1, XON/XOFF. Datalængde: 8 bits, Paritet: Ingen, stopbit: 1 bit, kommunikationskode: ASCII-kode. Ved at udsende følgende kommandoer kan du kontrollere forbindelsen. Der er mange forskellige kommandoer til at lege med systemet.
Transmission / Receiving Protocol
: Første kommando til at styre sættet.(j, k, m eller x) : Anden kommando til at styre sættet.
: Du kan justere sæt-ID for at vælge det ønskede sæt-ID-nummer i menuen Option. Indstillingsområdet er 1~ 99. Når du vælger Set ID 0, styres alle tilsluttede sæt. Set ID angives som decimaltal (1~ 99) i menuen og som Hexa-decimaltal (0x0~ 0x63) i sende-/modtageprotokollen.
: Til overførsel af kommandodata. Overfør FF-dataene for at læse status for kommandoen.
: Carriage Return ASCII-kode 0x0D
: ASCII-kode mellemrum (0x20) * I denne model sender sættet ikke status under standbytilstand.
OK kvittering
Sættet sender ACK (kvittering) baseret på dette format, når det modtager normale data. På dette tidspunkt, hvis dataene er datalæsningstilstand, angiver det nuværende statusdata. Hvis dataene er data skrivetilstand, returnerer den dataene fra pc-computeren.
* I denne model sender sættet ikke status under standbytilstand. * Dataformat : Brug som kommando. : Brug det lille tegn, hvis sæt ID er 10, vil den sende 0, a. : Brug det lille tegn, hvis data er 0 x ab, vil den sende a, b. : Brug det store tegn.
Error Acknowledgement
Sættet sender ACK (kvittering) baseret på dette format ved modtagelse af unormale data fra ikke levedygtige funktioner eller kommunikationsfejl.
Data01: Ulovlig kode Data02: Ikke understøttet funktion Data03: Vent længere tid * I denne model sender sættet ikke status under standbytilstand. * Dataformat : Brug som kommando. : Brug det lille tegn, hvis sæt ID er 10, vil det sende 0, a. : Brug det lille tegn, hvis data er 0 x ab, vil det sende a, b. : Brug det store tegn.
Power (Kommando: k a)
Til styring af Power On/Off af sættet.
Sending
Data 00: Power Off Data 01: Power On
Bekræftelse
* På samme måde, hvis andre funktioner sender “FF”-data baseret på dette format, giver tilbagemelding af kvitteringsdata status om hver funktion.
* Bemærk: I denne model vil sæt sende kvitteringen efter afslutning af strømforarbejdningen ved tænding.
Der kan være en tidsforsinkelse mellem kommando og kvittering.
Og du kan også bruge bruge scripts, der er tilgængelige på internettet som libLGTV_serial. Mike Stevans, professor i etisk hacking-kursus, forklarer, at libLGTV_serial er et Python-bibliotek til at styre LG-tv’er (eller skærme med seriel port) via deres serielle (RS232) port.
LG TV USB IR-Hack med Arduino
Du kan nemt hacke dit LG TV med et adruino-kort via uploading af scripts.
Dette infrarøde fjernbetjeningsbibliotek består af to dele: IRsend sender IR-fjernbetjeningspakker, mens IRrecv modtager og afkoder en IR-meddelelse.
#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 }}
Du kan få mere at vide om adruino-hacks fra Github-projekter og open source-fællesskaber.
Sådan aktiverer du USB-afspiller via seriel
- Slut pc via COM-port eller USB2COM-adapter (USBtilRS232) til RS232-stik på tv’et
- Kør terminalprogram på pc’en (f.eks. hyperterminal eller putty)
- Sæt følgende parametre for COM-port: hastighed 9600, flowkontrol: ingen. Lad alle andre være på standardindstillingerne.
- Indtast i terminal: “ab 0 ff”, og tryk på “Enter”. Du bør få følgende svar: “01 ok????x”, hvor ???? er værktøjsindstillingsnummeret. Husk det eller skriv det på et stykke papir.
- For at aktivere USB-medieafspilleren indtastes: “ab 0 6″, og tryk på enter.
- Sluk/tænd for tv’et. USB-ikonet skal vises i tv’ets hovedmenu.
Brugerdefinerede firmwares
Du kan downloade gamle firmwares fra officielle LG-websteder eller til internetfora. Disse firmware’s er tilpasset efter brugerens behov.
Mike Stevens, professor i hacking-kursus i México, forklarer, at sammen med serielle kommandoer, scripts og sammen med sårbarheder kan alle hacke et smart-tv. Nogle af de kendte sårbarheder, som der findes forskellige exploits til på det sorte marked, er:
svag autentifikation
Protokollen er meget enkel med hensyn til autentifikation, og autentifikationspakken har kun brug for en IP-adresse, en MAC-adresse og et værtsnavn til autentifikation. Du kan nemt bryde protokollen. Desuden er autentificeringen på klientsiden ikke særlig stærk. Protokollen håndterer heller ikke autentificering med NULL MAC-adresseværdi, og derfor kan enhver enhed med NULL MAC-adresseværdi oprette forbindelse til tv’et.
Sårbare tv’s API’er
En hacker kan hacke og installere malware via tv’ets API’er som File.Unzip eller Skype. Disse kan bruges til at kopiere filer til ethvert skrivbart filsystem på målet og installere en bagdør.
Man in Middle-angrebssårbarheder
Ved hjælp af MIM-angrebssårbarheder kan en hacker sniffe data, da TV ikke kontrollerer servercertifikater. Med falske certifikater kan en hacker således nemt foretage et Man in Middle-angreb.
Som eksperter i informationssikkerhedsløsninger og uddannelse siger, er det ikke så anderledes at skabe malware til Smart TV end at skabe malware til pc’er eller Linux-systemer. Grundstyresystemet er Linux og har sårbarheder. Ved at bruge de serielle kommandoer og sårbarheder kan en hacker således nemt hacke sig ind i et smart-tv. Da der heller ikke findes nogen antivirus- eller antimalware-løsninger til Smart TV’er, bliver det lettere for en hacker at hacke sig ind i Smart TV’er.