Programavimas

„BadUSB“ išnaudojimas yra mirtinas, tačiau nedaugelis gali nukentėti

Prieš devynerius metus sukūriau, mano manymu, pirmąjį pasaulyje USB kirminą. Žaisdamas su USB nykščio disku ir įdėdamas į jį paslėptą failą, aš galėjau padaryti, kad bet kuris kompiuteris, į kurį prijungtas „užkrėstas“ USB diskas, automatiškai paskleistų failą į pagrindinį kompiuterį, tada vėl, kai naujas USB įrenginys buvo prijungtas.

Tai veikė skaitmeniniuose fotoaparatuose ir mobiliuosiuose telefonuose. Aš galėjau gauti bet kokį USB įrenginį - iš tikrųjų, bet kokį išimamą laikmenos įrenginį - paleisti savo kirmino failą. Man buvo smagu žaisti su ja.

Aš pranešiau apie radinį savo darbdaviui ir susijusiems pardavėjams; jie savo ruožtu ilgam prašė mano tylos, kad galėtų uždaryti skylę. Buvau suplanavęs pristatyti savo išvadą didelėje nacionalinio saugumo konferencijoje ir turėjau pasirinkti tarp uždirbto įsilaužėlių kredito ir visuomenės saugumo. Aš nuėjau su pastaruoju.

Tiesą sakant, nenorėjau užpūsti šio pardavėjo, nes tai buvo galimas būsimas klientas ar darbdavys. Skylė buvo užtaisyta, ir visuomenė nebuvo išmintingesnė. Po daugelio metų nustebau pamačiusi labai panašų metodą, naudojamą „Stuxnet“ kenkėjiškoje programoje.

Bet mano patirtis privertė mane niekada nebepasitikėti įjungtu įrenginiu. Nuo to laiko aš niekada neprijungiau USB įrenginio ar išimamos laikmenos kortelės prie man priklausančio kompiuterio, kuris nebuvo kilęs ir liko mano valdomas. Kartais paranoja yra tinkama.

„BadUSB“ yra rimta grėsmė dabar laukinėje gamtoje

Tai atvedė mane į šiandieną. Dabar „GitHub“ paskelbtas „BadUSB“ šaltinis (kurio negalima painioti su „faux“ kenkėjiškų programų pavadinimu „BadBIOS“), todėl mano prieš devynerius metus atliktas eksperimentas atrodo kaip vaiko žaidimas. „BadUSB“ yra reali grėsmė, turinti rimtų pasekmių kompiuterinės įrangos įvesties įrenginiams.

„BadUSB“ užrašo arba perrašo USB įrenginio programinės aparatinės įrangos kodą, kad galėtų atlikti kenkėjiškus veiksmus. Pirmą kartą 2014 m. Liepos mėn. Paskelbtą „BadUSB“ aptiko kompiuterių tyrėjų pora Berlyno saugumo tyrimų laboratorijose, kurie savo atradimą demonstravo „Black Hat“ konferencijoje.

Išpuolio baiminamasi, nes neveikia visi tradiciniai piktnaudžiavimo USB atmintinėje tikrinimo metodai. Kenkėjiškas kodas yra įsodintas į USB programinę įrangą, kuri vykdoma, kai įrenginys prijungiamas prie pagrindinio kompiuterio. Pagrindinis kompiuteris negali aptikti programinės aparatinės įrangos kodo, tačiau programinės aparatinės įrangos kodas gali sąveikauti ir modifikuoti pagrindinio kompiuterio programinę įrangą.

Kenkėjiškas programinės aparatinės įrangos kodas gali pasodinti kitą kenkėjišką programą, pavogti informaciją, nukreipti interneto srautą ir dar daugiau - apeinant antivirusines programas. Ataka buvo laikoma tokia perspektyvia ir pavojinga, kad tyrėjai tik demonstravo išnaudojimą. Būdami atsargūs, jie neišleido koncepcijos įrodymo kodo ar užkrėstų įrenginių. Tačiau du kiti tyrėjai pakeitė išnaudojimą, sukūrė demonstracinį kodą ir išleido jį pasauliui „GitHub“.

Praneškite apie dramą, kuri jau pasirodė naujienų ir vartotojų technologijų svetainėse, tokiose kaip CNN, „Atlanta Journal-Constitution“, „Register“ ir „PC Magazine“, sušukdama: „Pasaulis bus pilnas kenkėjiškų USB įrenginių!“

Kodėl „BadUSB“ išnaudojimas yra daug daugiau nei USB

Pirma, svarbu pripažinti, kad grėsmė yra tikra. USB programinė įranga gali būti modifikuoti, kad tai darytų tai, ką teigia mokslininkai. Įsilaužėliai visame pasaulyje tikriausiai atsisiunčia „proof-of-concept“ kodą, gamina kenkėjiškus USB įrenginius ir naudoja „proof-of-concept“ kodą kaip kur kas piktybiškesnių veiksmų paleidimo tašką nei tyrėjų bandomasis išnaudojimas.

Antra, problema neapsiriboja USB įrenginiais. Tiesą sakant, USB įrenginiai yra ledkalnio viršūnė. Bet koks aparatūros įrenginys, prijungtas prie kompiuterio su programinės aparatinės įrangos komponentu, tikriausiai gali būti kenksmingas. Aš kalbu „FireWire“ įrenginius, SCSI įrenginius, kietuosius diskus, DMA įrenginius ir kt.

Kad šie įrenginiai veiktų, jų programinę aparatinę įrangą reikia įdėti į pagrindinio įrenginio atmintį, kur ji tada vykdoma, taigi kenkėjiška programa gali lengvai vykti tuo keliu. Gali būti programinės aparatinės įrangos, kurios negalima naudoti, bet aš nežinau priežasties, kodėl gi ne.

Firmware iš esmės yra ne kas kita, o programinės įrangos instrukcijos, saugomos silicyje. Pagrindiniu lygmeniu tai yra ne kas kita, o programinės įrangos programavimas. Programinė aparatinė įranga yra būtina, kad aparatūros įrenginys galėtų kalbėti su pagrindinio kompiuterio įrenginiu. Įrenginio API specifikacijoje įrenginio programuotojams nurodoma, kaip rašyti kodą, leidžiantį prietaisui tinkamai veikti, tačiau šios specifikacijos ir instrukcijos niekada nerenkamos atsižvelgiant į saugumą. Ne, jie buvo parašyti tam, kad gautų daiktų, kuriais būtų galima pasikalbėti (panašiai kaip internete).

Norint įjungti kenkėjišką veiklą, nereikia daug programavimo instrukcijų. Galite formatuoti daugumą atminties įrenginių arba „sumūryti“ kompiuterį su keliomis nuorodomis. Mažiausias kada nors parašytas kompiuterinis virusas buvo vos 35 baitų dydžio. „GitHub“ koncepcijos pavyzdžio naudingoji apkrova yra tik 14 K, ir ji apima daug klaidų tikrinimo ir smulkių kodų. Patikėkite, šiandieninis kenkėjiškų programų pasaulis yra 14K. Kenkėjišką programą lengva įterpti ir paslėpti bet kuriame beveik programinės aparatinės įrangos valdiklyje.

Tiesą sakant, yra labai didelė tikimybė, kad įsilaužėliai ir tautos jau seniai žino apie šias programinės aparatinės įrangos duris ir jas naudoja. NSA stebėtojai ilgai svarstė apie tokius prietaisus, o šiuos įtarimus patvirtino neseniai paskelbti NSA dokumentai.

Baisi tiesa yra ta, kad įsilaužėliai įsilaužia į aparatinės įrangos įrenginius ir verčia juos atlikti neleistinus veiksmus tol, kol egzistuoja programinė aparatinė įranga.

„BadUSB“ yra didžiausia grėsmė, kurią galite sukelti, pašalindami savo panikos sąrašą

Realybė yra ta, kad ilgą laiką turėtumėte bent jau jaudintis dėl bet kokio programinės aparatinės įrangos, prijungtos prie kompiuterio - USB ar kitos. Aš tokia buvau beveik dešimtmetį.

Vienintelė gynyba yra ta, kad jūs prijungiate programinės įrangos įrenginius iš patikimų pardavėjų ir laikote juos kontroliuojami. Bet kaip žinoti, kad jūsų prijungti įrenginiai nebuvo masiškai pažeisti ar nebuvo sugadinti tarp pardavėjo ir jūsų kompiuterių? Nutekėjimas iš Edwardo Snowdeno rodo, kad NSA perėmė gabenamus kompiuterius, kad įdiegtų klausymo įrenginius. Tikrai kiti šnipai ir įsilaužėliai bandė tą pačią taktiką užkrėsti komponentus tiekimo grandinėje.

Vis dėlto galite atsipalaiduoti.

Galima kenkėjiška aparatūra, kuri gali būti naudojama kai kuriais ribotais atvejais. Bet vargu ar tai bus plačiai paplitusi. Aparatinės įrangos įsilaužimas nėra lengvas. Tai reikalauja daug išteklių. Skirtingiems lustų rinkiniams naudojami skirtingi instrukcijų rinkiniai. Tada kyla nemaloni problema, kaip numatytos aukos sutikti su kenksmingais įrenginiais ir įdėti juos į savo kompiuterius. Labai vertingiems taikiniams tokios „Neįmanoma misijos“ stiliaus atakos yra tikėtinos, bet ne tiek jau vidutiniam Joe.

Šiandieniniai įsilaužėliai (įskaitant šnipų agentūras JAV, Jungtinėje Karalystėje, Izraelyje, Kinijoje, Rusijoje, Prancūzijoje, Vokietijoje ir kt.) Džiaugiasi kur kas didesne sėkme naudodami tradicinius programinės įrangos užkrėtimo metodus. Pvz., Kaip įsilaužėlis, galite sukurti ir naudoti superįmantrią ir superneakišką „Blue Pill“ hipervizoriaus atakos įrankį arba naudoti įprastą kasdienę „Trojan“ programinę įrangą, kuri dešimtmečius gerai veikė įsilaužusi į daug didesnį žmonių skaičių.

Bet tarkime, kad kenkėjiška programinė aparatinė įranga ar USB įrenginiai pradėjo plačiai pasirodyti? Galite lažintis, kad pardavėjai atsakys ir išspręs problemą. Šiandien „BadUSB“ neturi gynybos, tačiau ateityje ją būtų galima lengvai apginti. Galų gale, tai tiesiog programinė įranga (saugoma firmware), ir programinė įranga gali ją nugalėti. USB standartų struktūros tikriausiai atnaujintų specifikaciją, kad būtų išvengta tokių išpuolių, mikrovaldiklių tiekėjai sumažintų programinės aparatinės įrangos piktybiškumą, o operacinių sistemų pardavėjai greičiausiai atsakytų dar greičiau.

Pavyzdžiui, kai kurie operacinių sistemų tiekėjai dabar neleidžia DMA įrenginiams pasiekti atminties prieš pilnai įsijungiant kompiuteriui arba vartotojui prisijungiant, kad tik būtų išvengta aptiktų atakų iš prijungtų DMA įrenginių. „Windows 8.1“, „OS X“ (per „Open Firmware“ slaptažodžius) ir „Linux“ turi apsaugą nuo DMA atakų, nors paprastai vartotojams reikia įgalinti šias gynybas. Tokios pačios gynybos rūšys bus įgyvendintos, jei „BadUSB“ bus plačiai paplitęs.

Nebijokite „BadUSB“, net jei įsilaužėlis draugas nusprendžia su jumis apgauti naudodamas savo kenkėjiškai užkoduotą USB nykščio diską. Patinka man - nenaudokite USB įrenginių, kurie visą laiką nebuvo jūsų kontroliuojami.

Atminkite: jei nerimaujate dėl įsilaužimo, kur kas labiau jaudinkitės dėl to, kas veikia jūsų naršyklėje, nei dėl to, kas paleidžiama iš jūsų programinės įrangos.