Macromedia Flash: occhio al filesystem!

In computer security, il concetto di “sandbox” viene utilizzato per indicare un meccanismo di sicurezza che consente di separare e isolare diversi programmi in esecuzione. Questo al fine di testare ed eseguire codice potenzialmente dannoso, non sicuro e/o fornite da terze parti non fidate.

Adobe Flash incorpora questo concetto tra i suoi meccanismi base di sicurezza per consentire l’accesso solo a determinate tipologie di file locali, tra questi ovviamente i cookies Flash.
Comunemente quindi tutti gli altri file locali della macchina dell’utente sono off-limits, in modo da prevenire il furto di dati da parte di applet Flash malevoli.

Billy Rios, ricercatore di sicurezza presso Google, ha dimostrato come questo modello di sicurezza e le restrizioni imposte in Flash possa essere bypassato in modo da ottenere libero accesso a file locali.

Il “trucco” della vulnerabilità sfrutta la funzione “getURL()” impiegata da Flash per ottenere l’accesso a file remoti.
Una versione dummy dell’attacco utilizzerebbe la funzione getURL usando “file://” per puntare alle risorse del file system locale, tuttavia Adobe ha blacklistato alcuni protocol-handler.

Il blocco imposto non è tuttavia sufficiente e consente di impiegare il protocol-handler “mhtml“, che funziona sulle comuni piattaforme Windows e non è appunto blacklistato. Nessun avviso o messaggio di conferma viene mostrato all’utente in questo caso.

FONTE:
Flash Local-with-filesystem Sandbox Bypass, by SANS Technology Institute

APPROFONDIMENTI:
Bypassing Flash’s local-with-filesystem Sandbox, sul blog di Billy (BK) Rios
Flash Player Security Basics
Security Domains, Application Domains, and More in ActionScript 3.0

Adobe contro SourceForge e rtmpdump

SourceForge, uno tra i piu’ famosi hoster per progetti opensource, ha rimosso dal proprio network le pagine riguardanti il software di stream-recording rtmpdump.
Tutto questo a seguito dell’ultimatum di Adobe, che era già pronta a passare alle vie legali.
Il programma utilizza il Real-Time Messaging Protocolo (RTMP) per registrare non solo semplici media Flash, ma anche stream criptati.
Adobe ha aggiunto un sistema di crittografia al proprio protocollo proprietario con l’introduzione di Flash Media Server 3, al fine di impedire la registrazione e il download “selvaggio” dei contenuti flash.
Il protocollo RTMPE (RMTP encrypted) è stato ideato proprio a questo scopo.

Dopo essersi accorta che la sua protezione può essere scavalcata dal supporto RTMPE integrato in rtmpdump, ha fatto partire un avviso “cease-and-desist”, invocando il Digital Millennium Copyright Act (DMCA) per impedire la distribuzione del software.
Una analisi del RTMPE pubblicata di recente giunge alla conclusione che, nonostante l’algoritmo utilizzi un modello di sicurezza end-to-end simile al protocollo SSL, a differenza di questo non fornisce alcuna sicurezza o autenticazione di sorta.
Non viene utilizzata da nessuna parte una chiave segreta, una password o una pass-phrase per cifrare/decifrare il contenuto.
Il processo di verifica necessita semplicemente dell’SWFHash (hash di 32 bytes), della dimensione del file SWF, e degli ultimi 32 bytes della prima risposta del server.
Alla luce di questo sembra alquanto strano che Adobe invochi il DMCA per classificare questa situazione come un tentativo di aggirare un meccanismo di protezione delle copie.

Di certo tutto ciò non pone in buona luce Adobe di fronte ai suoi clienti,network televisivi e studios cinematografici in primis.
L’uso del protocollo RTMPE per la distribuzione di contenuti DRM-protected è diventato sempre più diffuso infatti.
Nel contempo si segnala flvstreamer, una versione “ridotta” di rtmpdump, che non include il supporto RTMPE.

RIFERIMENTI:
Adobe acts against Flash video stream recorder, by Heise OpenSource