Наскоро поправен недостатък в Windows Defender позволява на атакуващите да превземат процеса на актуализиране на сигнатурите, за да вкарат зловреден софтуер, да изтрият доброкачествени файлове и да нанесат погром на целевите системи.
Сред 97-те CVE, които Microsoft поправи през април 2023 г., е уязвимост за заобикаляне на функцията за сигурност, която позволява на непривилегирован потребител да превземе Windows Defender и да го използва за опустошаване на целевите системи.
Изследователите от SafeBreach – които и преди са откривали подобни уязвимости в продукти за сигурност – са открили проблема с Windows Defender по време на опит за превземане на процеса на актуализация на антивирусния инструмент.
Превземане на процеса на актуализация
Целта на изследването е била да се провери дали процесът на актуализация може да се използва за промъкване на известен зловреден софтуер в системите, които софтуерът е предназначен да защитава. Изследователите също така искаха да проверят дали могат да накарат Windows Defender да изтрие сигнатури на известни заплахи и още по-лошо – да изтрие доброкачествени файлове и да предизвика състояние на отказ на услуга в компрометирана система.
Изследователите са успели да постигнат и трите цели и дори са разработили автоматичен инструмент, наречен wd-pretender – за Windows Defender Pretender – който реализира всеки от векторите за атака. Microsoft определи CVE за открития от тях проблем – CVE-2023-24934 – и издаде поправка за него през април.
Изследователите от SafeBreach Томер Бар и Омер Атиас представиха обобщение на своите открития на сесията на Black Hat USA в сряда, озаглавена „Defender Pretender: Когато актуализациите на Windows Defender се превръщат в риск за сигурността.“
В разговор с Dark Reading преди презентацията си Бар и Атиас казват, че изследването им е било вдъхновено от сложната кампания за кибершпионаж Flame, която през 2012 г. беше насочена към организации в Иран и други страни от Близкия изток. Националният извършител, който стои зад кампанията, се е вмъкнал в средата на процеса на актуализация на Windows и го е използвал, за да достави зловредния инструмент Flame на предварително заразени компютри.
Бар казва, че целта на последното изследване на SafeBreach е била да се види дали могат да възпроизведат нещо подобно без сложна атака от типа „човек по средата“ и без подправен сертификат – както в случая с кампанията Flame. Важното е, че изследователите са искали да проверят дали ще могат да поемат процеса на обновяване на Windows Defender като непривилегирован потребител.
Процесът на обновяване на Defender
При изучаването на процеса на актуализиране на Windows Defender Бар и Атиас откриха, че актуализациите на сигнатури обикновено се съдържат в един изпълним файл, наречен Microsoft Protection Antimalware Front End (MPAM-FE[.]exe). Файлът MPAM на свой ред съдържал два изпълними файла и четири допълнителни файла Virtual Device Metadata (VDM) с подписи на зловреден софтуер в компресиран – но не и криптиран – вид. Файловете VDM работеха в тандем, за да изпращат актуализации на сигнатурите към Defender.
Изследователите откриха, че два от VDM файловете са били големи по размер „Base“ файлове, които са съдържали около 2,5 милиона сигнатури за зловреден софтуер, докато другите два са били по-малки по размер, но по-сложни „Delta“ файлове. Те установиха, че файлът „Base“ е основният файл, който Defender проверява за сигнатури на зловреден софтуер по време на процеса на актуализация, докато по-малкият файл „Delta“ определя промените, които трябва да бъдат направени в „Base“ файла.
Първоначално Бар и Атиас се опитали да проверят дали могат да превземат процеса на актуализация на Defender, като заменят един от изпълнимите файлове във файла MPAM със свой собствен файл. Defender веднага забелязал, че файлът не е подписан от Microsoft, и спрял процеса на актуализация – казва Бар.
Фалшифициране на подписани файлове
След това изследователите решават да проверят дали могат да поемат процеса на актуализация на Defender, като подменят подписаните от Microsoft VDM файлове.
При анализа на файловете те са успели лесно да идентифицират имената на зловредния софтуер и свързаните с тях сигнатури, както и къде започват и свършват низовете. Двамата изследователи установили, че сигнатурите на Windows Defender са резултат от сливането на данните от файловете Base и Delta. Те установиха, че Defender използва процес на валидиране, за да се увери, че данните във файловете не са се променили по време на или преди процеса на сливане, и идентифицираха два конкретни номера, които Defender използва за целите на валидирането. Бар казва, че е успял да използва тази информация, за да превземе процеса на актуализация, като използва модифицирана версия на VDM файла.
Бар казва, че като доказателство за концепцията е успял да направи промени във VDM файловете, така че Defender да не успее да открие заплахи като Conti ransomware и Mimikatz, въпреки че е имал сигнатури за откриване на двете заплахи. Чрез просто изтриване на името на конкретна заплаха от зловреден софтуер от базата данни със сигнатури на Defender те са успели да гарантират, че Defender няма да открие заплахата.
По подобен начин изследователите установиха, че могат лесно да промъкнат злонамерени файлове в системата, като ги обозначат като „FriendlyFiles“, което по същество е списък с разрешения, който потребителите на Defender използват за идентифициране на доброкачествени файлове. Като доказателство те демонстрираха как могат да промъкнат Mimikatz в една система, като заменят хеш от списъка FriendlyFiles с хеш за Mimikatz. Бар казва, че също така е успял да предизвика състояние на отказ на услуга на тестова машина, като е подвел Windows Defender да мисли, че всички преносими изпълними файлове в системата са зловреден софтуер Emotet. Изследователите са подготвили атаката по такъв начин, че всеки път, когато Defender се сблъска с низа „Тази програма не може да бъде стартирана в режим dos“ – нещо, което е вярно за почти всяко едно съвременно приложение – Defender автоматично ги изтрива. Крайният резултат е пълен отказ от обслужване на тестовата система – казва Томер.
Преди това друг изследовател от SafeBreach беше показал как нападател, разполагащ само с правата на непривилегирован потребител, може да манипулира няколко разпространени системи за откриване и реагиране на крайни точки, за да изтрие всеки файл в системата. Ключовият извод за организациите е, че мотивираните нападатели винаги могат да намерят начини да заобиколят дори обикновено надеждни технологии за сигурност – казва Бар.
Въпреки че Microsoft използва цифрово подписани файлове по време на процеса на актуализация, уязвимостта на Windows Defender означава, че проверките за валидиране не успяват да открият последващите промени в тези подписани файлове, казва той. Въз основа на възможността процесите за актуализиране на сигнатури да бъдат използвани като нов вектор за атаки, са необходими допълнителни изследвания, за да се гарантира сигурността на този процес.