Откриването на нов UEFI руткит разкрива грозна истина: Атаките са невидими за нас

Getty Images

Изследователите са разопаковали голяма находка в областта на киберсигурността – злонамерен руткит, базиран на UEFI, използван в дивата природа от 2016 г., за да гарантира, че компютрите остават заразени, дори ако операционна система бъде преинсталирана или твърд диск е напълно сменен.

Фърмуерът компрометира UEFI, ниско ниво и силно непрозрачна верига от фърмуер, необходима за зареждане на почти всеки съвременен компютър. Като софтуер, който свързва фърмуера на устройството на компютъра с неговата операционна система, UEFI—съкращение от Унифициран разширим интерфейс на фърмуера— е ОС сама по себе си. Намира се в СЪН-свързан флаш чип за съхранение, запоен върху дънната платка на компютъра, което затруднява проверката или корекцията на кода. Тъй като това е първото нещо, което се изпълнява, когато компютърът е включен, то влияе върху операционната система, приложенията за сигурност и целия друг софтуер, който следва.

Екзотично, да. Рядко, не.

В понеделник изследователи от Kaspersky профилиран CosmicStrand, името на фирмата за сигурност за сложен UEFI руткит, който компанията откри и получи чрез своя антивирусен софтуер. Находката е само една шепа подобни UEFI заплахи, за които е известно, че са били използвани в дивата природа. Доскоро изследователите предполагаха, че техническите изисквания, необходими за разработването на UEFI зловреден софтуер от този калибър, го поставят извън обсега на повечето заплахи. Сега, след като Kaspersky приписва CosmicStrand на неизвестна китайскоговоряща хакерска група с възможни връзки със злонамерен софтуер cryptominer, този тип злонамерен софтуер може да не е толкова рядък в крайна сметка.

„Най-впечатляващият аспект на този доклад е, че този имплант на UEFI изглежда се използва в дивата природа от края на 2016 г. – много преди атаките на UEFI да започнат да бъдат публично описвани“, пишат изследователите на Kaspersky. „Това откритие повдига последен въпрос: Ако това е, което нападателите са използвали тогава, какво използват днес?“

Докато изследователи от друга охранителна фирма Qihoo360 докладвани на по-ранен вариант на руткита през 2017 г. Kaspersky и повечето други западни фирми за сигурност не обърнаха внимание. По-новото изследване на Kaspersky описва подробно как руткитът, който се намира в изображения на фърмуера на някои дънни платки Gigabyte или Asus, е в състояние да отвлече процеса на зареждане на заразени машини. Техническите основи свидетелстват за сложността на зловредния софтуер.

Руткитът е част от зловреден софтуер, който работи в най-дълбоките региони на операционната система, която заразява. Той използва тази стратегическа позиция, за да скрие информацията за присъствието си от самата операционна система. Междувременно буткитът е зловреден софтуер, който заразява процеса на зареждане на машина, за да продължи да съществува в системата. Наследникът на наследения BIOS, UEFI е технически стандарт, определящ как компонентите могат да участват в стартирането на операционна система. Това е най-новият, тъй като беше представен около 2006 г. Днес почти всички устройства поддържат UEFI, когато става въпрос за процеса на зареждане. Ключовият момент тук е, че когато кажем, че нещо се случва на ниво UEFI, това означава, че това се случва, когато компютърът се стартира, преди операционната система дори да е заредена. Какъвто и стандарт да се използва по време на този процес, това е само детайл за внедряване и през 2022 г. той така или иначе почти винаги ще бъде UEFI.

В имейл изследователят на Kaspersky Иван Квятковски пише:

Така руткитът може или не може да бъде буткит, в зависимост от това къде е инсталиран на машината на жертвата. Буткитът може или не може да бъде руткит, стига да заразява компонент, използван за стартиране на системата (но като се има предвид колко ниско ниво обикновено са те, буткитовете обикновено ще бъдат руткитове). И фърмуерът е един от компонентите, които могат да бъдат заразени от буткитове, но има и други. CosmicStrand се оказва всичко това едновременно: има скрити възможности за руткит и заразява процеса на зареждане чрез злонамерени корекции на образа на фърмуера на дънните платки.

Работният процес на CosmicStrand се състои от задаване на “кукички” във внимателно подбрани точки в процеса на зареждане. Куките са модификации на нормалния поток на изпълнение. Те обикновено идват под формата на допълнителен код, разработен от нападателя, но в някои случаи легитимен потребител може да инжектира код преди или след определена функция, за да създаде нова функционалност.

Работният процес на CosmicStrand изглежда така:

  • Първоначалният заразен фърмуер зарежда цялата верига.
  • Злонамереният софтуер създава злонамерена кука в мениджъра за зареждане, което му позволява да модифицира програмата за зареждане на ядрото на Windows, преди да бъде изпълнена.
  • Чрез манипулиране на зареждащата програма на ОС, нападателите могат да настроят друга кука във функция на ядрото на Windows.
  • Когато тази функция по-късно бъде извикана по време на нормалната процедура за стартиране на операционната система, зловредният софтуер поема контрола върху потока на изпълнение за последен път.
  • Той разгръща шелкод в паметта и се свързва със сървъра C2, за да извлече действителния злонамерен полезен товар, който да стартира на машината на жертвата.