Stuxnet - - - - - Sysinternals (- - 2) - Марк Русинович на руски език
Филтриране, за да намерите записите, които искате
По време на мониторинга на инфекцията Process Monitor регистрира около 30 000 събития, което е твърде много за търсене на записи, показващи инфекция. Повечето от тези събития са свързани с фоновата активност на Windows и Explorer, навигиращи към нова папка, които не са пряко свързани с инфекцията. Тъй като по подразбиране Process Monitor изключва допълнителни събития (достъпи до файлове на пейджинг, вътрешни IRP функции, системни процеси и операции с метаданни NTFS), както е посочено от лентата на състоянието, в моя случай Process Explorer показва повече от 10 000 събития:

Ключът към ефективното използване на Process Monitor, когато не знаете какво търсите, е да намалите количеството данни, които получавате. Филтрите са мощен инструмент за постигане на това, а Process Monitor разполага с филтри, които обслужват тези случаи на употреба. Използваме филтър, който изключва всички събития, с изключение на тези, свързани с модификацията на файлове или ключове на системния регистър. Можете да персонализирате този филтър („Категорията е Напиши, след това включи“), като използвате диалоговия прозорец Филтър:

Събитията, генерирани от системния процес, обикновено не са необходими за диагностика, но знам, че Stuxnet има компоненти в режим на ядрото, така че за пълнота трябва да включа събития, които се изпълняват в контекста на системния процес, което е процес, при който някакво устройство драйверите се изпълняват от системни нишки. Можете да премахнете филтрите по подразбиране, като изберете опцията Активиране на разширен изход в менюто Филтър, но не исках да премахвам другите филтри по подразбиране, които изключват страничните събития и събитията с метаданни NTFS, така че премахнах само филтъра, който изключва System (втори в списъка с филтри). Броят на събитията е намалял до 600:

Следващата стъпка е да се изключат събития, които определено не са свързани с инфекция. Идентифицирането на ненужни събития изисква опит, тъй като включва познаване на типичната дейност на Windows. Например първите няколкостотин събития бяха свързани с задаване на стойности на Explorer в ключа на системния регистър HKCU \ Software \ Microsoft \ Windows \ ShellNoRoam \ BagsMRU:

По този начин Explorer запазва състоянието на прозорците, за да мога да изключа тези събития. Направих това с помощта на функцията за бързи филтри на Process Monitor: Щракнах с десния бутон върху един от пътищата в системния регистър, за да изведа контекстното меню за бърз филтър и щракнах върху филтъра Exclude:

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

Сега останаха само 133 събития и един бърз поглед към тях потвърди, че всички те могат да бъдат свързани със Stuxnet. Време е да ги разглобите.
Системни модификации от вирус Stuxnet
Първото събитие в останалия списък показва, че Stuxnet работи в контекста на Explorer, като презаписва първите 4K байта на един от двата първоначални временни файла.
