Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

Дальше выяснилось, что деинсталлятор некорректно работал с системными API: использовал неправильное соглашение о вызовах функций и неверно обрабатывал параметры стека. Из-за этого при каждой неудачной операции данные из стека удалялись неправильно.

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

Исследователи нашли кибероружие, нацеленное на инженерный софт

SentinelOne обнаружила необычный зловред, который могли создать для саботажа инженерных и физических расчётов. Исследователи считают, что он появился примерно в 2005 году, за несколько лет до Stuxnet, знаменитого червя, атаковавшего иранские центрифуги для обогащения урана.

О находке на конференции Black Hat Asia рассказал исследователь SentinelOne Виталий Камлюк.

По его словам, всё началось с попытки понять, были ли такие известные инструменты кибершпионажа, как Flame, Animal Farm и Project Sauron, первыми в своём роде. Все они использовали Lua и виртуальную машину, поэтому Камлюк решил поискать похожие образцы.

Так исследователи вышли на файл, загруженный в VirusTotal ещё в 2016 году. В нём упоминался идентификатор fast16. При анализе выяснилось, что методы авторов зловреда, совсем не похожи на типичные для 2016 года. Более того, ссылка на fast16 встречалась и в утечке Shadow Brokers, которую позже связывали с Агентством национальной безопасности США.

 

По оценкам SentinelOne, fast16 мог быть создан примерно в 2005 году. На это указывают особенности кода, а также тот факт, что зловред не работает на системах новее Windows XP и требует одноядерного процессора. Первые многоядерные потребительские процессоры Intel появились в 2006 году.

Исследователи выяснили, что fast16 пытается установить червя и загрузить драйвер fast16.sys. Самое интересное скрывается именно в драйвере: он содержит механизм, который изменяет результаты вычислений с плавающей точкой. Также зловред ищет инструменты точных расчётов, используемые в гражданском строительстве, физике и моделировании физических процессов.

По версии SentinelOne, целью fast16 могли быть три инженерные и симуляционные платформы, популярные в середине 2000-х: LS-DYNA 970, PKPM и гидродинамическая платформа MOHID. Такие решения применяются, например, для краш-тестов, анализа прочности конструкций и экологического моделирования.

Камлюк предположил, что fast16 мог незаметно вносить ошибки в расчёты инженерного софта. В теории это могло привести уже не просто к сбою на компьютере, а к реальным последствиям: ошибкам в проектах, моделях или испытаниях.

В SentinelOne называют fast16 своеобразным предшественником Stuxnet и считают его ранним примером кибероружия, нацеленного не на кражу данных, а на скрытое изменение работы критически важных систем.

Исследователи уже сообщили о находке разработчикам инженерного ПО, которое могло быть целью fast16. По словам Камлюка, поставщикам, возможно, стоит проверить старые результаты расчётов на признаки вмешательства.

RSS: Новости на портале Anti-Malware.ru