Тежка уязвимост съществува в почти всички подписани версии на зареждачката GRUB2, използвани от повечето Linux системи. При правилна експлоатация това може да позволи на престъпниците да компрометират процеса на зареждане на операционната система, дори ако механизмът за проверка на защитата при зареждане е активен.
Кръстен с името BootHole, недостатъкът позволява да се изпълнява произволен код в зареждачката GRUB. Нападателят може да го използва за заразяване със зловреден софтуер, известен като bootkit, който се зарежда преди операционната система (OS).
По този начин компрометирането на системата дава на зловредния софтуер най-високите привилегии и го прави практически неоткриваем, тъй като той вече работи, когато решенията за сигурност в ОС едно по едно стават активни.
Устойчив и невидим зловреден софтуер
Изследователи по сигурността откриха препълване на буфер (CVE-2020-10713), който действа по начина, по който GRUB2 анализира съдържание от своя конфигурационен файл „grub.cfg“, разположен отвън, в системния дял на EFI.
Престъпниците биха могли да променят „grub.cfg“, тъй като това е просто текстов файл, който обикновено няма защита на целостта, като например цифров подпис, какъвто е случаят с други компоненти на зареждащия инструмент.
Промяната на конфигурационния файл на GRUB позволява контрол върху процеса на зареждане. Добавеният злонамерен софтуер по този начин е много устойчив, тъй като оцелява при преинсталиране на ОС.
Въпреки щетите, които може да нанесе, BootHole има оценка на тежестта 8,2 (висока), а не 10, тъй като редактирането на конфигурационния файл изисква административни привилегии. Усилията обаче си заслужават за някои престъпници и те могат да инвестират време и усилия в това.
Наградата ще бъде „мощна допълнителна ескалация на привилегията и постоянството на устройството, дори и с активирана защита и правилно проверяване на подписа на всички заредени изпълними файлове“.
„Препълването на буфера позволява на атакуващия да получи произволно изпълнение на код в средата на изпълнение на UEFI, който може да се използва за стартиране на злонамерен софтуер, да промени процеса на зареждане, директно да закърпи ядрото на ОС или да извърши произволен брой други злонамерени действия.“ – казват анализаторите.
Засегнати устройства
Неназованите анализатори казват, че само един доставчик на инструменти за зареждане на файлове е добавил персонализиран код, за да извърши проверка на подпис на „grub.cfg“ в горната част на проверката, извършена в GRUB2 изпълним файл.
Това означава, че всички версии на GRUB2, които зареждат команди от външен конфигурационен файл, са уязвими. И докато този зареждащ механизъм е свързан с Linux, системите с двойно зареждане с Windows също са засегнати.
Изследователите смятат, че повечето съвременни системи, които се използват днес, са повлияни от BootHole. Това включва сървъри, работни станции, лаптопи, настолни компютри, заедно с базирани на Linux IoT системи и хардуер за операционна технология.
Анализаторите вече разкриха уязвимостта при доставчиците на ОС, производители на компютри и CERT. Очаква се днес съвети и мерки за смекчаване на негативните ефекти да бъдат пуснати от множество организации в бранша.
Тези координирани усилия обаче едва ли ще дадат ефект скоро, тъй като подписването и разполагането на нови зареждащи устройства и оттеглянето на уязвимите не е нещо, което може да се направи бързо.
Източник: По материали от интернет