В марте прошлого года Microsoft объявила о начале поддержки командного интерпретатора bash в Windows 10. Для его внедрения компания вместе с Canonical разработала подсистему Linux (Windows Subsystem for Linux, WSL), которая позволяет запускать Linux-приложения без использования контейнеров виртуализации, отдельной пересборки утилит и даже без использования ядра Linux — родные исполняемые файлы ОС запускаются благодаря специальной прослойке, на лету транслирующей системные вызовы Linux в системные вызовы Windows.
WSL создавался как проект, независимый от конкретных дистрибутивов Linux, хотя в первой версии он был оптимизирован для работы с Ubuntu. Далее в Windows 10 появилась поддержка openSUSE Leap, и после обкатки WSL в пользовательской версии Windows Microsoft решила добавить ее в серверную редакцию операционной системы. Примечательно, что спустя несколько месяцев с момента появления WSL в «десятке», появились голоса критиков, которые посчитали, что подсистема может послужить препятствием для обнаружения вирусов. И вот, почти год спустя, их опасения подтвердились.
Эксперты Check Point рассказали, что с помощью WSL на ПК можно запускать ряд известных вредоносов, делая их незаметными для наиболее распространенных инструментов защиты от вирусов. Специалисты отмечают, что проблема кроется не в WSL, которая как раз «сделана как надо», а в определенной беспечности разработчиков антивирусного ПО и систем безопасности.
По словам специалистов, разработанный ими метод позволяет незаметно запускать любое вредоносное ПО в Windows 10, что открывает для злоумышленников определенные перспективы — до тех пор, пока не будет разработан эффективный механизм защиты ПК с Windows 10 и WSL. Этот метод получил название bashware, поскольку он использует командную оболочку bash, через которую запускаются Linux-приложения.
Разработчики некоторых антивирусов прокомментировали ситуацию изданию Motherboard. Symantec заверила, что ее защита способна обнаружить вредоносное ПО, созданное с помощью WSL. «Лаборатория Касперского» сказала, что внесет необходимые изменения в свои продукты в 2018 г.
По мнению инженеров Check Point Гала Эльбаза и Двира Атиаса, создатели антивирусного ПО не обратили особого внимания на WSL потому, что полагали, будто эту подсистему нужно активировать вручную. Поскольку возможность запускать приложения Linux в Windows нужна в основном разработчикам, ее включает сравнительно небольшое количество пользователей. Как сообщает сама Microsoft, для этого нужно активировать режим разработчика, установить компонент, перезагрузить устройство и тогда уже развернуть WSL.
Bashware автоматизирует эти шаги, и запускает новую функцию автоматически. Чтобы включить режим разработчика, достаточно изменить несколько разделов реестра. Это может быть сделано в фоне незаметно для пользователя. Что касается перезагрузки, то хакер может либо подождать, пока жертва выключит компьютер, либо инициировать критическую ошибку, которая повлечет за собой перезапуск ОС. Далее bashware скачивает необходимую среду, созданную на базе Ubuntu, и запускает в ней вредоносное ПО. Драйверы WSL можно закачать на компьютер вручную и без перезагрузки, сейчас этот метод дорабатывается.
Windows расценивает запуск Linux-приложения как пико-процесс, то есть новый тип процесса, структурно отличающийся от тех, которые происходят при запуске нативных программ. Как выяснили исследователи, ни один антивирус не отслеживает эти процессы, несмотря на то, что Microsoft предоставила разработчикам антивирусов Pico API. Для работы с bashware не нужно писать специальные вирусы для Linux, которые будут потом запущены в атакуемой Windows с помощью WSL. Благодаря программе Wine можно использовать обычное вредоносное ПО для Windows, в том числе давно известное, поскольку оно все равно будет спрятано от антивирусов.