Експлоатацията на BadUSB е смъртоносна, но малцина могат да бъдат засегнати

Преди девет години създадох, както смятам, първият USB червей в света. Като се заиграх с USB устройство с палеца и поставих скрит файл върху него, успях да направя всеки компютър, в който беше включено „заразеното“ USB устройство, автоматично да разпространи файла към хост компютъра, след което да се върне отново, когато се появи нов USB устройството е включено.

Работи в цифрови фотоапарати и мобилни телефони. Успях да накарам всяко USB устройство - всъщност всяко сменяемо медийно устройство - да стартира моя червей. Имах куп забавление, играейки с него.

Съобщих за констатацията на моя работодател и участващите доставчици; те от своя страна поискаха моето мълчание за значително време, за да могат да затворят дупката. Бях планирал да представя констатацията си на голяма конференция за национална сигурност и трябваше да избирам между спечелените хакерски кредити и обществената безопасност. Отидох с последното.

Честно казано, не исках да раздразня този доставчик, защото това беше възможен бъдещ клиент или работодател. Дупката беше закърпена и публиката не беше по-мъдра. Много години по-късно бях изненадан да видя много подобен метод, използван в програмата Stuxnet за зловреден софтуер.

Но опитът ми ме накара никога повече да не се доверя на включено устройство. Оттогава никога не съм включвал USB устройство или сменяема медийна карта в компютър, който притежавах, който не произхожда и остава под моя контрол. Понякога параноята е подходяща.

BadUSB е сериозна заплаха сега в природата

Това ме води до днес. Сега в GitHub е публикуван изходният код за BadUSB (да не се бърка с фалшива програма за зловреден софтуер, наречена BadBIOS), което прави експеримента ми преди девет години да изглежда като детска игра. BadUSB е реална заплаха, която има сериозни последици за устройствата за въвеждане на компютърен хардуер.

BadUSB пише - или презаписва - кода на фърмуера на USB устройство за извършване на злонамерени действия. За първи път обявен през юли 2014 г., BadUSB беше открит от двойка компютърни изследователи в изследователските лаборатории за сигурност в Берлин, които след това демонстрираха откритието си на конференцията Black Hat.

Атаката се страхува, защото всички традиционни методи за проверка на злонамереност на USB устройство за съхранение не работят. Зловредният код се поставя във фърмуера на USB, който се изпълнява, когато устройството е включено в хост. Хостът не може да открие кода на фърмуера, но кодът на фърмуера може да взаимодейства и променя софтуера на хост компютъра.

Кодът на зловредния фърмуер може да създаде друг злонамерен софтуер, да открадне информация, да отклони интернет трафика и други - и все това, като заобикаля антивирусното сканиране. Атаката се счита за толкова жизнеспособна и опасна, че изследователите само понижават експлоата. В изобилие от предпазливост те не пуснаха доказателствения код или заразените устройства. Но двама други изследователи извършиха обратно проектиране на експлоата, създадоха демонстрационен код и го пуснаха в света на GitHub.

Нагласете драмата, която вече се появи в новинарски и потребителски технически сайтове като CNN, Atlanta Journal-Constitution, Register и PC Magazine, възкликвайки: „Светът ще бъде пълен със злонамерени USB устройства!“

Защо експлоатацията на BadUSB надхвърля USB

Първо, важно е да се признае, че заплахата е реална. USB фърмуерът може да бъде модифициран, за да направи това, което твърдят учените. Хакерите по целия свят вероятно изтеглят кода за доказателство за концепция, правят злонамерени USB устройства и използват кода за доказателство за концепция като отправна точка за действия, много по-злонамерени от тестовата експлоатация на изследователите.

Второ, проблемът не се ограничава до USB устройства. Всъщност USB устройствата са върхът на айсберга. Всяко хардуерно устройство, включено във вашия компютър с компонент на фърмуера, вероятно може да бъде злонамерено. Говоря за устройства FireWire, SCSI устройства, твърди дискове, DMA устройства и др.

За да работят тези устройства, техният фърмуер трябва да бъде вмъкнат в паметта на хост устройството, където след това се изпълнява - така че зловредният софтуер може лесно да се включи в това пътуване. Може да има устройства с фърмуер, които не могат да бъдат експлоатирани, но не знам причина защо да не.

Фърмуерът по своята същност не е нищо повече от софтуерни инструкции, съхранявани върху силиций. На основното си ниво това не е нищо друго освен програмиране на софтуер. А фърмуерът е необходим, за да може хардуерното устройство да говори с устройството на хост компютъра. Спецификацията на API на устройството казва на програмистите на устройството как да пишат код, който кара устройството да работи правилно, но тези спецификации и инструкции никога не се сглобяват с оглед на сигурността. Не, те са написани, за да накарат предмети да си говорят помежду си (подобно на Интернет).

Не са необходими много инструкции за програмиране, за да активирате злонамерена дейност. Можете да форматирате повечето устройства за съхранение или да „тухлите“ компютър с няколко указания. Най-малкият компютърен вирус, писан някога, е бил само 35 байта. Полезният товар в примера за доказателство за концепция на GitHub е само 14K и включва много проверки за грешки и финно кодиране. Повярвайте ми, 14K е малко в днешния свят на зловреден софтуер. Лесно е да вградите и скриете злонамерен софтуер във всеки почти фърмуерен контролер.

Всъщност има много голям шанс хакерите и нациите отдавна да знаят и да използват този фърмуер на заден план. Наблюдателите на НСА дълго спекулираха с подобни устройства и тези подозрения бяха потвърдени от публикуваните наскоро документи на НСА.

Страшната истина е, че хакерите хакват устройства с фърмуер и ги принуждават към неразрешени действия, откакто фърмуерът съществува.

BadUSB е най-голямата заплаха, която можете да извадите от списъка си с паника

Реалността е, че трябва да сте изнервени поне от всяко фърмуерно устройство, включено във вашия компютър - USB или друго - за дълго време. Подобен съм от близо десетилетие.

Единствената ви защита е, че включвате фърмуерни устройства от доставчици, на които имате доверие, и ги държите под свой контрол. Но откъде знаете, че устройствата, които сте включили, не са били компрометирани масово или не са били подправяни между доставчика и вашите компютри? Течовете от Едуард Сноудън предполагат, че НСА е прихванал компютри в движение, за да инсталира устройства за слушане. Със сигурност други шпиони и хакери са опитвали същата тактика за заразяване на компоненти по веригата на доставки.

И все пак можете да се отпуснете.

Възможен е злонамерен хардуер и той може да се използва в някои ограничени сценарии. Но е малко вероятно да бъде широко разпространен. Хардуерното хакване не е лесно. Това изисква много ресурси. За различни набори чипове се използват различни набори инструкции. Тогава има досаден проблем да накараме жертвите да приемат злонамерените устройства и да ги вмъкнат в своите компютри. За целите с много висока стойност подобни атаки в стил „Невъзможна мисия“ са правдоподобни, но не толкова за средния Джо.

Днешните хакери (включително шпионските агенции в САЩ, Обединеното кралство, Израел, Китай, Русия, Франция, Германия и т.н.) се радват на много по-голям успех, използвайки традиционните методи за заразяване със софтуер. Например, като хакер, можете да създадете и използвате свръхсъвършен и свръхзащитен инструмент за атака на хипервизор Blue Pill или да използвате обичайна ежедневна софтуерна троянска програма, която работи добре в продължение на десетилетия, за да хакне много по-голям брой хора.

Да предположим обаче, че злонамерен фърмуер или USB устройства започнаха да се появяват широко? Можете да се обзаложите, че доставчиците ще реагират и ще решат проблема. BadUSB днес няма защита, но срещу нея може лесно да се защити в бъдеще. В крайна сметка това е просто софтуер (съхраняван във фърмуер) и софтуерът може да го победи. Телата на USB стандартите вероятно ще актуализират спецификацията, за да предотвратят подобни атаки, доставчиците на микроконтролери биха направили по-малко вероятно злонамереността да възникне от фърмуера, а доставчиците на операционни системи вероятно ще реагират още по-рано.

Например някои доставчици на операционна система вече не позволяват на DMA устройствата да имат достъп до паметта, преди компютърът да се стартира напълно или преди потребителят да влезе, само за да предотврати откритите атаки, идващи от включени DMA устройства. Windows 8.1, OS X (чрез пароли за отворен фърмуер) и Linux имат защити срещу DMA атаки, въпреки че обикновено изискват от потребителите да активират тези защити. Същите видове защити ще бъдат приложени, ако BadUSB стане широко разпространен.

Не се страхувайте от BadUSB, дори ако приятел хакер реши да ви изиграе номера, използвайки злонамерено кодираното си USB палешко устройство. Правете като мен - не използвайте USB устройства, които не са били под ваш контрол през цялото време.

Запомнете: Ако се притеснявате да не бъдете хакнати, бъдете много по-притеснени от това, което работи във вашия браузър, отколкото от това, което работи от вашия фърмуер.