Programmēšana

BadUSB izmantojums ir nāvējošs, taču daži no tiem var tikt sasniegti

Pirms deviņiem gadiem es izveidoju, manuprāt, pasaulē pirmo USB tārpu. Spēlējot ar USB īkšķa disku un ievietojot tajā slēpto failu, es varēju padarīt jebkuru datoru, kurā tika pievienots “inficētais” USB disks, automātiski izplatīt failu resursdatorā un pēc tam atkal, kad jauns USB ierīce tika pievienota.

Tas darbojās digitālajās kamerās un mobilajos tālruņos. Man bija iespēja iegūt jebkuru USB ierīci - faktiski jebkuru noņemamu datu nesēju ierīci -, lai palaistu manu tārpa failu. Man bija ļoti jautri spēlēt ar to.

Es paziņoju par atklājumu savam darba devējam un iesaistītajiem pārdevējiem; viņi savukārt prasīja manu klusēšanu ievērojamu laiku, lai viņi varētu aizvērt bedri. Es biju plānojis iepazīstināt ar savu atradumu lielā valsts drošības konferencē, un man bija jāizvēlas starp nopelnīto hakeru kredītu un sabiedrības drošību. Es gāju ar pēdējo.

Patiesību sakot, es negribēju nomierināt šo pārdevēju, jo tas bija iespējams nākotnes klients vai darba devējs. Caurums tika aizlāpīts, un sabiedrība nebija gudrāka. Daudzus gadus vēlāk es biju pārsteigts, redzot ļoti līdzīgu metodi, kas izmantota Stuxnet ļaunprātīgas programmatūras programmā.

Bet mana pieredze lika man vairs nekad neuzticēties pieslēgtai ierīcei. Kopš tā laika es nekad neesmu pievienojis USB ierīci vai noņemamu datu nesēja karti man piederošā datorā, kura izcelsme nav un kas paliek manā kontrolē. Dažreiz paranoja ir piemērota.

BadUSB tagad ir nopietns drauds savvaļā

Tas mani noved pie šodienas. Tagad vietnē GitHub ir ievietots BadUSB avota kods (nejaukt ar mākslīgās ļaunprātīgas programmatūras programmu BadBIOS), kas padara manu eksperimentu pirms deviņiem gadiem līdzīgu bērna spēlei. BadUSB ir reāls drauds, kas nopietni ietekmē datortehnikas ievades ierīces.

Lai veiktu ļaunprātīgas darbības, BadUSB raksta vai pārraksta USB ierīces programmaparatūras kodu. Pirmo reizi 2014. gada jūlijā paziņoto BadUSB atklāja Datoru pētnieku pāris Berlīnes Drošības pētījumu laboratorijās, kuri pēc tam demonstrēja savu atklājumu Black Hat konferencē.

Baidās no uzbrukuma, jo nedarbojas visas tradicionālās metodes, kā pārbaudīt ļaunprātību USB atmiņas ierīcē. Ļaunprātīgais kods tiek ievietots USB programmaparatūrā, kas tiek izpildīta, kad ierīce ir pievienota resursdatoram. Saimnieks nevar noteikt programmaparatūras kodu, taču programmaparatūras kods var mijiedarboties ar modificēto programmatūru un mainīt tajā.

Ļaunprātīgais programmaparatūras kods varētu stādīt citu ļaunprātīgu programmatūru, nozagt informāciju, novirzīt interneta trafiku un daudz ko citu - vienlaikus apejot antivīrusu skenēšanu. Uzbrukums tika uzskatīts par tik dzīvotspējīgu un bīstamu, ka pētnieki tikai demonstrēja ekspluatāciju. Piesardzīgi viņi neizlaida koncepcijas pierādīšanas kodu vai inficētas ierīces. Bet divi citi pētnieki pārveidoja ekspluatāciju, izveidoja demonstrācijas kodu un izlaida to pasaulei vietnē GitHub.

Norādiet drāmu, kas jau ir parādījusies ziņu un patērētāju tehnoloģiju vietnēs, piemēram, CNN, Atlanta Journal-Constitution, Register un PC Magazine, izsaucoties: "Pasaule būs pilna ar ļaunprātīgām USB ierīcēm!"

Kāpēc BadUSB izmantošana pārsniedz USB

Pirmkārt, ir svarīgi atzīt, ka draudi ir reāli. USB programmaparatūra var modificēt, lai izdarītu to, ko apgalvo pētnieki. Hakeri visā pasaulē, iespējams, lejupielādē koncepcijas pierādīšanas kodu, izgatavo ļaunprātīgas USB ierīces un izmanto koncepcijas pierādīšanas kodu kā sākumpunktu darbībām, kas ir daudz ļaunprātīgākas nekā pētnieku testu izmantošana.

Otrkārt, problēma neattiecas tikai uz USB ierīcēm. Patiesībā USB ierīces ir aisberga virsotne. Jebkuru datorā pievienotu aparatūras ierīci ar programmaparatūras komponentu, iespējams, var padarīt par ļaunprātīgu. Es runāju ar FireWire ierīcēm, SCSI ierīcēm, cietajiem diskiem, DMA ierīcēm un daudz ko citu.

Lai šīs ierīces darbotos, to programmaparatūra ir jāievieto saimniekdatora atmiņā, kur tā pēc tam tiek izpildīta, lai ļaunprātīga programmatūra varētu viegli iet šajā braucienā. Var būt programmaparatūras ierīces, kuras nevar izmantot, taču es nezinu iemeslu, kāpēc ne.

Programmaparatūra pēc savas būtības nav nekas cits kā programmatūras instrukcijas, kas glabājas uz silīcija. Pamatlīmenī tas nav nekas cits kā programmatūras programmēšana. Programmatūra ir nepieciešama, lai aparatūras ierīce varētu sarunāties ar resursdatora ierīci. Ierīces API specifikācijā ierīces programmētājiem tiek norādīts, kā rakstīt kodu, lai ierīce darbotos pareizi, taču šīs specifikācijas un instrukcijas nekad netiek montētas, ņemot vērā drošību. Nē, tie tika rakstīti, lai iegūtu priekšmetus, ar kuriem sarunāties savā starpā (līdzīgi kā internetā).

Lai iespējotu ļaunprātīgas darbības, nav nepieciešami daudzi programmēšanas norādījumi. Varat formatēt lielāko daļu atmiņas ierīču vai “ķieģelēt” datoru ar nedaudzām norādēm. Mazākais jebkad uzrakstītais datorvīruss bija tikai 35 baiti. Lietderīgā slodze GitHub koncepcijas pierādīšanas piemērā ir tikai 14K, un tā ietver daudz kļūdu pārbaudi un smalkas kodēšanas. Ticiet man, 14K ir niecīgs mūsdienu ļaunprogrammatūru pasaulē. Jebkurā gandrīz programmaparatūras kontrolierī ir viegli iegult un paslēpt ļaunprātīgu programmatūru.

Patiesībā pastāv ļoti lielas izredzes, ka hakeri un valstis jau sen zina par šīm programmaparatūras aizmugurējām durvīm un tās izmanto. NSA vērotāji ir ilgi spekulējuši par šādām ierīcēm, un šīs aizdomas apstiprināja nesen publiskotie NSA dokumenti.

Baisā patiesība ir tāda, ka hakeri ir uzlauzuši programmaparatūras ierīces un piespiež tos veikt neatļautas darbības tik ilgi, kamēr pastāv programmaparatūra.

BadUSB ir lielākais drauds, kas jums var rasties, noņemot panikas sarakstu

Patiesībā jums jau ilgu laiku vajadzēja vismaz nervozēt par jebkuru datoram pievienotu programmaparatūras ierīci - USB vai citu. Es tā esmu bijis gandrīz desmit gadus.

Vienīgā aizstāvība ir tāda, ka jūs pievienojat programmaparatūras ierīces no uzticamiem piegādātājiem un paturat tās savā kontrolē. Bet kā jūs zināt, ka ierīces, kuras esat pievienojis, nav masveidā apdraudētas vai nav mainītas starp pārdevēju un jūsu datoriem? Noplūdes no Edvarda Snoudena liek domāt, ka NSA ir pārtvērusi tranzītā esošos datorus, lai uzstādītu klausīšanās ierīces. Protams, citi spiegi un hakeri ir izmēģinājuši to pašu taktiku, lai inficētu komponentus visā piegādes ķēdē.

Tomēr jūs varat atpūsties.

Iespējama ļaunprātīga aparatūra, un to var izmantot dažos ierobežotos gadījumos. Bet maz ticams, ka tas būs plaši izplatīts. Aparatūras uzlaušana nav vienkārša. Tas prasa daudz resursu. Dažādiem mikroshēmu komplektiem tiek izmantotas dažādas instrukciju kopas. Tad ir nepatīkama problēma, kā panākt, lai paredzētie upuri pieņemtu ļaunprātīgas ierīces un ievietotu to savos datoros. Ļoti vērtīgiem mērķiem šādi “Mission Impossible” stila uzbrukumi ir ticami, taču ne tik daudz vidējam Džo.

Mūsdienu hakeriem (tostarp spiegu aģentūrām Amerikas Savienotajās Valstīs, Lielbritānijā, Izraēlā, Ķīnā, Krievijā, Francijā, Vācijā un tā tālāk) ir daudz vairāk panākumu, izmantojot tradicionālās programmatūras infekcijas metodes. Piemēram, kā hakeris, jūs varat izveidot un izmantot supermodernu un superneaky Blue Pill hipervizora uzbrukuma rīku vai arī izmantot kopēju ikdienas programmatūras Trojas programmu, kas gadu desmitiem ir labi strādājusi, lai uzlauztu daudz lielāku cilvēku skaitu.

Bet pieņemsim, ka ļaunprātīga programmaparatūra vai USB ierīces sāka parādīties plaši? Varat derēt, ka pārdevēji reaģēs un atrisinās problēmu. BadUSB šodien nav aizsardzības, taču nākotnē to varētu viegli aizstāvēt. Galu galā tā ir vienkārši programmatūra (saglabāta programmaparatūrā), un programmatūra to var uzvarēt. USB standartu struktūras, iespējams, atjauninātu specifikāciju, lai novērstu šādus uzbrukumus, mikrokontrolleru pārdevēji padarītu ļaunprātīgāku retāk nekā programmaparatūru, un operētājsistēmu pārdevēji, iespējams, reaģētu vēl ātrāk.

Piemēram, daži operētājsistēmu piegādātāji tagad neļauj DMA ierīcēm piekļūt atmiņai, pirms dators pilnībā sāk darboties vai pirms lietotājs piesakās, tikai lai novērstu atklātus uzbrukumus, kas nāk no pieslēgtām DMA ierīcēm. Operētājsistēmām Windows 8.1, OS X (izmantojot atvērtās programmaparatūras paroles) un Linux ir aizsardzība pret DMA uzbrukumiem, lai gan parasti lietotājiem ir jāiespējo šīs aizsardzības iespējas. Tāda pati veida aizsardzība tiks ieviesta, ja BadUSB kļūs plaši izplatīta.

Nebaidieties no BadUSB, pat ja hakeru draugs nolemj uzspēlēt jums kādu triku, izmantojot savu ļaunprātīgi kodēto USB īkšķa disku. Patīk kā es - nelietojiet USB ierīces, kas visu laiku nav bijušas jūsu kontrolē.

Atcerieties: ja jūs uztraucat uzlaušanu, daudz vairāk uztraucieties par to, kas darbojas jūsu pārlūkprogrammā, nevis to, kas darbojas no jūsu programmaparatūras.