Attenzione agli NVR / DVR e telecamere P2P: possono spiarti e non rispettano il GDPR

server cinesi pericolosi

Oggigiorno è possibile acquistare per poche decide di euro delle buone telecamere di videosorveglianza e per qualche centinaio di euro degli impianti di videosorveglianza completi di NVR/DVR e telecamere, basta recarsi presso un qualsiasi negozio di elettronica o di articoli cinesi. La cosa ancor più stupefacente è che chiunque può installare e configurare il tutto per visionare le telecamere da remoto in maniera molto semplice e veloce grazie alla tecnologia P2P Cloud.

Ma come al solito non è tutto oro ciò che luccica. La tecnologia P2P Cloud viene costantemente pubblicizzata dai produttori perché permette loro di vendere prodotti che prima avevano estrema difficoltà a commercializzare poiché era molto complicato configurarli. La tecnologia P2P è stata infatti pensata per semplificare l'installazione di dispositivi IP (come NVR/DVR/telecamere) e per renderli accessibili da remoto senza dover manualmente intervenire su router/firewall ma utilizzando dei server (quasi sempre cinesi) ai quali i dispositivi si connettono e tramite i quali è possibile stabilire la connessione ad essi. Il problema è che i produttori ci dicono molto poco di come è implementato il loro protocollo P2P e poco sappiamo sul conto della infrastruttura cloud che tramite i loro server ci permette di entrare nelle nostre case:

  • Chi gestisce questi server?
  • Chi controlla questi server?
  • Dove risiedono fisicamente questi server?
  • Che sistemi di sicurezza vengono utilizzati?
  • Sono conformi alla legislazione vigente sulla conservazione e protezione dei dati?
  • Sono conformi al Regolamento Europeo GDPR?

Sappiamo invece per certo che sempre più spesso vengono scoperte delle falle di sicurezza nelle implementazioni dei protocolli P2P utilizzati da diversi produttori, falle quasi sempre impossibili da sanare e tramite le quali perfetti sconosciuti possono accedere con estrema facilità ai sistemi di videosorveglianza. Nel caso in cui un sistema di videosorveglianza affetto da queste falle è utilizzato in ambito privato allora si corre "solo" il rischio di essere spiati da un estraneo, ma se un sistema di videosorveglianza con falle di sicurezza note è utilizzato da un'azienda o in un luogo pubblico come scuole materne, asili nido, case di riposo per anziani, allora si corre il rischio di incappare in multe salatissime poiché il dispositivo di videosorveglianza non sta sicuramente rispettando gli stringenti vincoli del GDPR.

Che differenza c'è tra un dispositivo di videosorveglianza IP tradizionale ed un dispositivo di videosorveglianza P2P?

Un dispositivo di videosorveglianza IP tradizionale si collega sfruttando il protocollo TCP/IP, è di norma bloccato nella rete locale di cui fa parte e non è facilmente accessibile da remoto con un browser o un'applicazione dal telefono. Per potersi connettere dall'esterno al dispositivo occorre assegnargli un IP statico all'interno della rete, occorre aprire sul router le porte utilizzate dal dispositivo, occorre configurare il firewall, occorre che l'indirizzo IP pubblico della connessione internet sia statico oppure nel caso si ha un indirizzo IP pubblico dinamico occorre utilizzare un DDNS. In una configurazione così fatta per connettersi dall'esterno al dispositivo di videosorveglianza si contatta il router tramite IP pubblico o DDNS e tramite il router si parla con il dispositivo di videosorveglianza desiderato, il tutto è quindi sotto il nostro controllo e ci si può rendere conto di eventuali anomalie o accessi indesiderati.

Un dispositivo di videosorveglianza P2P utilizza la tecnologia di comunicazione peer-to-peer grazie alla quale la configurazione diventa semplicissima, non occorre più infatti configurare IP statico, router, firewall e DDNS, basta utilizzare l'apposita app per scansionare il codice QR presente sul dispositivo e registrarlo sui server del produttore. Com'è possibile? Semplicissimo, il dispositivo di videosorveglianza si connette ai server del produttore bypassando completamente il router e firewall e tramite i server del produttore viene stabilita la connessione con l'app che l'utente utilizza per visionare le telecamere. In questo modo si perde il totale controllo dell'infrastruttura e nel caso di accessi non autorizzati non è nemmeno possibile rendersene conto, non si possono controllare le connessioni in ingresso e non si possono filtrare col firewall. Le telecamere sono alla mercé di chiunque.

Come funziona nello specifico il protocollo P2P nei dispositivi di videosorveglianza?

Facendo la premessa dovuta che ogni produttore utilizza una diversa implementazione per il suo protocollo p2p in linea generale il funzionamento che permette ad un NVR, un DVR o ad una telecamera dietro router e firewall di essere raggiungibile dall'esterno senza dover effettuare alcuna configurazione dell'apparato di rete è il seguente:

  • Ogni dispositivo di videosorveglianza p2p in fase di produzione viene dotato a livello hardware di un numero ID univoco (UID) che gli permette di essere identificato sui server cloud del produttore.
  • Quando il dispositivo di videosorveglianza viene acceso ed è connesso ad internet inizia a contattare i diversi server (generalmente cinesi) del produttore e si connette a quello dal quale riceve una risposta più rapida fornendo il suo UID e l'indirizzo IP WAN corrente e gli invia continuamente una serie di pacchetti UDP per mantenere attiva la connessione.
  • Quando si utilizza l'app per connettersi al dispositivo di videosorveglianza questa si connette ai server del produttore e richiede la posizione del dispositivo di videosorveglianza usando il suo UID.
  • Il server del produttore risponde all'app fornendo l'attuale indirizzo IP del dispositivo di videosorveglianza o con un messaggio OFFLINE.
  • L'app prova a contattare il dispositivo di videosorveglianza utilizzando l'indirizzo IP WAN fornitogli dal server e l'UID del dispositivo
    • Se il dispositivo di videosorveglianza riceve il messaggio, conferma il suo UID ed inizia ad inviare messaggi keepalive per mantenere aperta la connessione. L'app deve rispondere ai messaggi keepalive altrimenti la connessione viene chiusa dal dispositivo di videosorveglianza. Si crea in questo modo un tunnel indipendente dal server tra app e dispositivo tramite il quale vengono scambiati i dati.
    • Se l'app non riesce a contattare direttamente il dispositivo di videosorveglianza si tenta di stabilire la connessione in altri modi con l'aiuto del server. Alcuni produttori hanno confermato che quando non si riesce ad aprire un tunnel diretto tra app e dispositivo allora i dati vengono inviati dal dispositivo al server e dal server all'app.
  • Una volta aperta la connessione UDP diretta tra dispositivo di videosorveglianza e app, l'app invia richieste GET simili ad HTTP per verificare se nel dispositivo siano presenti login/password di un account utente, altre richieste GET per recuperare alcune informazioni tecniche del dispositivo.
  • Il dispositivo invia risposte divise in vari pacchetti numerati che devono poi essere riassemblate dall'app. Il flusso video stesso è un mix di pacchetti UDP semplici e di pacchetti GVSP UDP.
  • L'app deve confermare la ricezione dei pacchetti altrimenti la connessione viene chiusa dal dispositivo di videosorveglianza.

Quasi sempre purtroppo la connessione avviata tra dispositivo di videosorveglianza ed app non è crittografata e sia il flusso video RTSP sia le credenziali di accesso username/password sono scambiate in chiaro senza alcuna protezione. È palese quindi l'elevato rischio che si incorre nell'utilizzare questa tipologia di dispositivi.

È chiaro quindi come il protocollo P2P permette una comunicazione diretta con i dispositivi di videosorveglianza senza dover ricorrere a NAT, upnp, port forwarding e DDNS: è il dispositivo di videosorveglianza ad avviare la connessione verso i server del produttore inviando appositi pacchetti UDP in uscita per permettere al router di ricevere in ingresso pacchetti UDP di risposta dall'app per poter avviare uno scambio diretto di dati.

Chi ha un dispositivo di videosorveglianza P2P può infatti verificare dal modem/router delle connessioni in uscita dal suo indirizzo IP verso strani server.

A che rischi espone il protocollo P2P nei dispositivi di videosorveglianza? I dispositivi di videosorveglianza P2P sono GDPR Compliant?

I dispositivi di videosorveglianza sono dispositivi molto importanti poiché molte volte riprendono luoghi privati e quindi sarebbe necessario proteggerli con estrema determinazione. Purtroppo i dispositivi P2P puntano tutto sulla semplificazione d'utilizzo senza dare quasi minimamente importanza alla privacy e sicurezza. Quasi tutti i dispositivi P2P scambiano informazioni sensibili e i flussi video completamente in chiaro e questo rende possibili intercettarli per visualizzarli in maniera non lecita. Inoltre dato che la connessione tra questi dispositivi di videosorveglianza P2P e le loro app avviene su dei server esterni, aggirando di fatto qualsiasi firewall, non è possibile nemmeno rendersi conto di se qualche persona non autorizzata li stia visionando.  È concreto quindi il rischio che si possa essere spiati da qualcuno senza nemmeno accorgersene.

Se poi si utilizzano i dispositivi di videosorveglianza P2P per un uso non privato ci si espone anche a problematiche legali come la mancata osservazione delle norme imposte dal GDPR. Il GDPR infatti prevede che vengano messe in atto determinate misure di sicurezza al fine di garantire la protezione e la riservatezza dei dati sensibili degli utenti, suggerisce infatti di utilizzare tecniche informatiche basilari come il controllo degli accessi e la crittografia ed obbliga a notificare agli utenti eventuali violazioni dei loro dati personali.

Di quali vulnerabilità dei dispositivi di videosorveglianza P2P siamo al momento a conoscenza e di quali produttori?

Nell'ottobre 2018 I ricercatori di sicurezza del SEC Consult Vulnerability Lab hanno identificato delle falle di sicurezza nel protocollo P2P della società cinese Hangzhou Xiongmai Technology Co., Ltd. (in breve, Xiongmai) che utilizza l'app XMeye. Xiongmai è uno dei leader mondiali nella produzione di dispositivi di videosorveglianza come telecamere P2P, videoregistratori digitali (DVR) P2P e videoregistratori di rete (NVR) P2P:

  • CVE-2018-17915 Non tutte le comunicazioni con i dispositivi sono cifrate, incluse quelle di XMeye e per l’aggiornamento del firmware. Un attaccante potrebbe osservare le riprese video in diretta, catturare le credenziali di autenticazione di XMeye o impersonare il server degli aggiornamenti per scaricare malware sui dispositivi connessi.
  • CVE-2018-17917 Un aggressore potrebbe utilizzare gli indirizzi MAC per enumerare potenziali Cloud ID mediante i quali individuare dispositivi potenzialmente vulnerabili e connettersi ad essi attraverso una delle app disponibili.
  • CVE-2018-17919 Un aggressore potrebbe sfruttare l’account d’utente predefinito “default”, con password predefinita, per effettuare il login con XMeye ed accedere alle registrazioni video.

Risultano affetti da queste vulnerabilità tutti i prodotti Xiongmai. Xiongmai agisce principalmente come OEM (Original Equipment Manufacturer) fornendo componenti hardware e firmware a numerosi produttori di terze parti che rivendono sotto il proprio marchio dispositivi contenenti tecnologie Xiongmai. Anche tutti questi prodotti risultano affetti dalle vulnerabilità descritte.

Gli analisti hanno individuato più di cento produttori diversi che vendono prodotti Xiongmai rimarcati, molti dei quali disponibili anche presso i maggiori siti di e-commerce. Essi sono: 9Trading, Abowone, AHWVSE, ANRAN, ASECAM, Autoeye, AZISHN, A-ZONE, BESDER/BESDERSEC, BESSKY, Bestmo, BFMore, BOAVISION, BULWARK, CANAVIS, CWH, DAGRO, datocctv, DEFEWAY, digoo, DiySecurityCameraWorld, DONPHIA, ENKLOV, ESAMACT, ESCAM, EVTEVISION, Fayele, FLOUREON , Funi, GADINAN, GARUNK, HAMROL, HAMROLTE, Highfly, Hiseeu, HISVISION, HMQC, IHOMEGUARD, ISSEUSEE, iTooner, JENNOV, Jooan, Jshida, JUESENWDM, JUFENG, JZTEK, KERUI, KKMOON, KONLEN, Kopda, Lenyes, LESHP, LEVCOECAM, LINGSEE, LOOSAFE, MIEBUL, MISECU, Nextrend, OEM, OLOEY, OUERTECH, QNTSQ, SACAM, SANNCE, SANSCO, SecTec, Shell film, Sifvision / sifsecurityvision, smar, SMTSEC, SSICON, SUNBA, Sunivision, Susikum, TECBOX, Techage, Techege, TianAnXun, TMEZON, TVPSii, Unique Vision, unitoptek, USAFEQLO, VOLDRELI, Westmile, Westshine, Wistino, Witrue, WNK Security Technology, WOFEA, WOSHIJIA, WUSONLUSAN, XIAO MA, XinAnX, xloongx, YiiSPO, YUCHENG, YUNSYE, zclever, zilnk, ZJUXIN, zmodo, ZRHUNTER

Il produttore non ha fornito aggiornamenti o soluzioni di mitigazione per queste vulnerabilità. Per questo motivo si raccomanda, ove possibile, di dismettere completamente l’uso di prodotti Xiongmai.

Nell'aprile 2019 il ricercatore di cybersicurezza Paul Marrapese ha identificato delle falle di sicurezza nel protocollo P2P iLnkP2P della società cinese Shenzhen Yunni Technology:

  • CVE-2019-11219 Un aggressore potrebbe sfruttare una vulnerabilità di enumerazione in iLnkP2P che gli consente di scoprire rapidamente i dispositivi online. A causa della natura del P2P, gli aggressori sono quindi in grado di connettersi direttamente a dispositivi arbitrari ignorando le restrizioni del firewall.
  • CVE-2019-11220 Un aggressore potrebbe sfruttare una vulnerabilità di autenticazione in iLnkP2P che gli consente di intercettare il traffico da utente a dispositivo in testo non crittografato, inclusi i flussi video e le credenziali del dispositivo.

Risultano affetti da queste vulnerabilità oltre due milioni di dispositivi di diverse marche dato che anche Shenzhen Yunni Technology fornisce i suoi prodotti OEM a diverse aziende che poi li rimarchiano e li rivendono come ad esempio: HiChip, TENVIS, SV3C, VStarcam, Wanscam, NEO Coolcam, Sricam, Eye Sight e HVCAM.

Potrebbero essere affetti da queste vulnerabilità tutti i dispositivi di videosorveglianza che per funzionare utilizzano una di queste app Android:

  • HiChip: CamHi, P2PWIFICAM, iMega Cam, WEBVISION, P2PIPCamHi, IPCAM P
  • VStarcam: Eye4, EyeCloud, VSCAM, PnPCam
  • Wanscam: E View7
  • NEO: P2PIPCAM, COOLCAMOP
  • Sricam: APCamera
  • Various: P2PCam_HD

Anche in questo caso il produttore non ha fornito aggiornamenti per risolvere queste vulnerabilità e l'unica soluzione consigliata è dismettere l'uso di prodotti Shenzhen Yunni Technology.

Il caso che ha fatto scalpore!!!

Molte volte erroneamente si crede che queste falle di sicurezza siano solo sulla carta e che nessuno realmente le possa mai utilizzare. Sbagliato! Nel 2018 negli Stati Uniti ha fatto scalpore la notizia di una donna del South Carolina, Jamie Summitt, che denunciò tramite un post pubblico su Facebook di essere stata spiata da un estraneo tramite il baby monitor P2P che lei utilizzava per controllare suo figlio. La clamorosa notizia fu subito ripresa dai vari media nazionali e diventò virale.

In questo caso si trattava di un prodotto della società cinese Shenzhen Gwelltimes Technology Co., Ltd, che come al solito produce prodotti OEM per fornirli a diverse aziende che poi li rivendono sotto il loro nome. Questo prodotto utilizzava la teconlogia proprietaria P2P Cloud-Links.

Se utilizzo un dispositivo di videosorveglianza P2P come mi proteggo?

Se si utilizza un dispositivo di videosorveglianza P2P l'unico modo possibile per proteggersi è bloccarlo all'interno della rete locale ed inibirgli l'accesso ad internet. Non basta purtroppo disabilitare l'opzione P2P ed usarlo come un normale dispositivo IP poiché è stato verificato che quasi tutti continuano lo stesso a contattare i server cloud dei produttori. Inoltre molti dispositivi P2P non possono essere utilizzati solo come dispositivi IP dato che non hanno dei webserver o delle applicazioni che permettono di utilizzarli senza il servizio di P2P del produttore.

Quindi un dispositivo di videosorveglianza IP tradizionale è la migliore soluzione?

I dispositivi di videosorveglianza IP tradizionali sono la soluzione migliore solo se li si usa bloccati all'interno della rete locale senza permettere che siano accessibili da remoto tramite internet. Rendendoli accessibili tramite internet sono sicuramente più sicuri dei dispositivi P2P ma li si espone comunque ad alti rischi di violazione dato che i loro software non brillano mai sul lato della sicurezza. Basta ad esempio utilizzare motori di ricerca come Shodan o Censys e utilizzare uno dei tanti  exploit conosciuti, tipo il famoso Hikxploit, per accedere illecitamente ad uno dei tanti dispositivi di videosorveglianza connessi ad internet.

Qual'è la soluzione migliore per avere un impianto di videosorveglianza connesso ad internet ed accessibile da remoto?

La soluzione migliore è ovviamente quella che offre le più elevate garanzia di sicurezza e quando si parla di webserver connessi ad internet la scelta migliore non può che essere un server LAMP con un ambiente dedicato alla videosorveglianza come Zoneminder. Usando Zoneminder su un server o miniserver è possibile anche continuare ad utilizzare delle telecamere molto poco sicure come quelle analizzate fino ad ora, le si blocca nella rete locale inibendogli l'accesso ad internet e le si fa completamente gestire a Zoneminder. Inoltre sarà Zoneminder ad essere connesso ad internet.

Zoneminder è usato a livello enterprise e funziona su piattaforma LAMP (Linux, Apache, MySQL e PHP) e configurato come si deve viene almeno protetto da https, iptables, fail2ban, modsec e luks. Sono tutti softwares di alto profilo attivamente manutenuti e per i quali vengono prontamente rilasciate patch di sicurezza. Se qualcuno decide di attaccare un sistema di videosorveglianza così realizzato dovrebbe essere in grado di bucare modsec, fail2ban, iptables per poi arrivare a compromettere Zoneminder. Quasi impossibile.

E cosa molto importante una configurazione con server/miniserver LAMP e Zoneminder è completamente GDPR Compliant.

Un semplice modo per capire se sei a rischio!!!

Per capire facilmente se il tuo dispositivo di videosorveglianza P2P sta contattando dei server stranieri ti basta verificare dal router le connessioni in uscita dal suo indirizzo IP e preoccupati seriamente se si mette in contatto con uno dei seguenti server:

p2p1.cloudlinks.cn
p2p4.cloud-links.net
p2p2.cloudlinks.cn
p2p3.cloud-links.net
p2p5.cloudlinks.cn
p2p6.cloudlinks.cn
p2p7.cloudlinks.cn
p2p8.cloudlinks.cn
p2p9.cloudlinks.cn
p2p10.cloudlinks.cn
api1.cloudlinks.cn
api2.cloudlinks.cn
api3.cloud-links.net
api4.cloud-links.net
6sci.com
6sci.com.cn
videoipcamera.cn
videoipcamera.com
ht.hnhyws.com
www.hblottery.org
www.hbticai.org
www.zxicloud.com
camnoopy.cn
gxyaj.cn
220.231.128.12
121.43.181.184
123.206.9.74
47.91.77.247
49.51.39.15
54.255.195.121

Fonti:

https://github.com/fbertone/lib32100/wiki

https://ipcamtalk.com/threads/p2p-camera-protocol-technical-info.17081/

https://sec-consult.com/en/blog/2018/10/millions-of-xiongmai-video-surveillance-devices-can-be-hacked-via-cloud-feature-xmeye-p2p-cloud/

https://hacked.camera/

https://sec-consult.com/en/blog/2018/06/true-story-the-case-of-a-hacked-baby-monitor-gwelltimes-p2p-cloud/

https://github.com/M0tHs3C/Hikxploit

https://eur-lex.europa.eu/legal-content/IT/TXT/HTML/?uri=CELEX:32016R0679