Adevarul din spatele BadUSB
|Pana la momentul scrierii acestui articol cred ca majoritatea dintre voi stiti deja sau ati auzit trecator din mass-media sau de pe alte siteuri/bloguri de problema de securitate intitulata BadUSB. Totul a inceput de la conferinta BlackHat 2014 in care doi security researchers, Karsten Nohl si Jakob Lell, au avut o prezentare pe tema BadUSB – On Accessories that Turn Evil.
In mare parte ce au vrut ei sa ne transmita sunt urmatoarele:
1. USB devices (e.g. data sticks, keyboards) contain a tiny computer and some firmware.
2. You have to take it as an act of faith that a USB device has firmware that does what it’s supposed to.
3. The firmware on many USB devices can be sneakily reprogrammed whenever the device is plugged into an untrusted computer.
Din care deducem ca nu mai trebuie sa avem vreodata incredere oarba in device-urile cu port USB ca daca au firmware-ul modificat suntem expusi pericolului! Cam asta ar fi un rezumat grosier. Si d-aici totul a luat amploare exagerandu-se foarte mult si creand panica printre internauti.
Doua comentarii de pe Twitter:
“Yeah this has been a bad year for information security”
“Leaves me wondering if security is just an illusion. I mean more than I already thought it was….”
Dar lucrurile nu stau chiar asa. Ideea e ca chestiile astea erau stiute de multa vreme de cei din domeniu. Sau cel putin asta e parerea mea ca daca nu e asa inseamna ca toti sunt niste idioti si ar trebui sa isi dea demisia in masa pe motiv de incompetenta.
Pai USB-ul a fost introdus prin 1996-1997, vreti sa-mi spuneti ca timp de 17 ani nimeni nu si-a dat seama ca firmware-ul USB-ului poate fi rescris ca sa faca rau in mod intentionat? Nu… lucrurile astea se stiau. La fel cum se stia si de firewire sau de thunderbolt. Sa nu mai zic de BadBIOS. Si ca sa nu mai dau exemple spun doar atat: orice dispozitiv care are firmware si un mini-cpu poate fi rescris si modificat (aici intra si placi video, placi de sunet, placi de retea, orice se conecteaza prin PCIe sau PCMCIA si gata ca am zis ca nu mai dau exemple).
“They found a bug in firmware (which is common) and are claiming it’s the end of USB…
And every single one of them is a moron.” – comentariu de pe Reddit
Dar cum se intampla lucrurile? Cum le putem prevenii? Pai in primul rand trebuie sa stim ce inseamna DMA (direct memory access) sau mai bine zis DMA malware. DMA malware sunt acei tipi de virusi care se execute in memoria host-ului (memoria calculatorului). Unele dispozitive au acces direct la memoria host-ului, cum ar fi cele care se conecteaza prin firewire, thunderbolt, esata, PCIe, etc. Cele pe USB nu par a avea access direct. Dar totusi se poate lansa o comanda care mai apoi sa acceseze DMA-ul.
“USB is actually a very decent protocol due to the strong device/host model. FireWire and ThunderBolt allow the device to bus-master and access the host memory directly! That is a much bigger concern that this.”- comentariu de pe Reddit
Dar de ce DMA malware si nu alt tip de malware? Pai in primul rand ca acest tip de malware nu este detectabil de catre AV-uri. De catre nici un AV! Numai de catre cateva tool-uri de malware remove. Dar pana sa rulati voi un malware-remove datele au fost deja compromise.
Sunt si cateva cai de preventie si aici ma refer la criptarea informatiilor accesibile din RAM, instalarea doar a driverelor digitally signed (by Microsoft de exemplu), folosirea LINUX (variantele mai noi de LINUX stiu sa dea disable DMA access la anumite periferice sau port-uri) sau Windows 8.1 care o data cu BitLocker restrictioneaza si DMA-ul. Mi se pare ca si Windows 7 stia sa dea disable la DMA pe hdd-uri sau CD-uri/DVD-uri. Cam astea sunt cele stiute de mine.
Da, dar ei zic ca te duci cu perifericu respectiv la cineva si ala are un malware pe PC care iti modifica tie firmware-ul. Ipoteza probabila cand vine vorba de stick-uri sau hdd-uri externe ca pe astea le mai caram dupa noi (nu dau exemplu mouse/tastatura ca noi romanii nu caram d-astea din usa in usa). Dar chiar si asa modificarea firmware-ului nu se face batand din palme. Ati avut voi vreun device la care ati facut update de firmware instantaneu fara sa va dati seama ca s-a intamplat ceva? Va zic eu ca nu! Si oricum probabilitatea ca malware-ul respectiv sa stie sa modifice tocmai firmware-ul device-ului tau e destul de mica. Si sa nu-mi spuneti acum ca vor face astia un malware care sa stie sa modifice orice firmware de pe orice device ca deja fabulam. Daca prin absurd vor reusi asta din partea mea au nota 10. Si mai mult ca sigur o data cu aparitia de noi amenintari informatice nici metodele de preventie si detectie nu vor sta pe loc.
Ce trebuie sa ne ramana noua dupa toata acesta poveste cu BadUSB este ca device-urile pe USB nu sunt cea mai grava problema de securitate de care ne putem lovi si in mod sigur port-ul USB nu va disparea prea curand. Si stati fara griji ca nu suntem noi cei vizati ca viitoare victime de firmware malitios pe USB-uri. Nu va veti trezi peste noapte infectati 😉
“The sensationalism behind this has been fucking ridiculous. I hope every single “journalist” that wrote shit like “Why you should never use USB ever again! or UNPLUG YOUR MOUSE AND KEYBOARD” should be strung up by their nut sack.” – comentariu de pe Reddit
Termin acest articol prin a va spune clar si raspicat – Trust no one when it comes to IT security!
surse: nakedsecurity.sophos.com + twitter + reddit + forum-uri + Google search + Wikipedia + altele
PS: Nu ma consider un expert in infosec dar nici 99% din cei care au scris articole pe tema BadUSB nu sunt. Singura diferenta este ca eu nu am nici o problema in a recunoaste asta. Si mai e o diferenta… eu ma mai si documentez inainte de a scrie prostii. 😉