Большинство антивирусов оказались подвержены атаке через символические ссылки
21 апреля 2020 года
Исследователи из компании RACK911 Labs обратили внимание (Архивная копия от 4 октября 2020 на Wayback Machine) на то, что почти все антивирусные пакеты для Windows, Linux и macOS были уязвимы для атак, манипулирующих состоянием гонки (race conditions) во время удаления файлов, в которых обнаружено вредоносное ПО.
Для проведения атаки необходимо загрузить файл, который антивирус распознает как вредоносный (например, можно использовать тестовую сигнатуру), а через определённое время, после выявления вредоносного файла антивирусом, но непосредственно перед вызовом функции для его удаления, подменить каталог с файлом символической ссылкой. В Windows для достижения того же эффекта выполняется подмена каталога при помощи точки соединения (directory junction). Проблема в том, что почти все антивирусы должным образом не выполняли проверку символических ссылок и, считая что удаляют вредоносный файл, удаляли файл в каталоге на который указывает символическая ссылка.
В Linux и macOS показано как таким способом непривилегированный пользователь может удалить /etc/passwd или любой другой системный файл, а в Windows DLL самого антивируса для блокирования его работы (в Windows атака ограничена только удалением файлов, которые в текущим момент не используются другими приложениями). Например, атакующий может создать каталог "exploit" и загрузить в него файл EpSecApiLib.dll с тестовой сигнатурой вируса, после чего перед удалением заменить каталог "exploit" на ссылку "C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform", что приведёт к удалению библиотеки EpSecApiLib.dll из каталога антивируса. В Linux и macos аналогичный приём можно проделать с подменой каталога на ссылку "/etc".
#!/bin/sh rm -rf /home/user/exploit ; mkdir /home/user/exploit/ wget -q https://www.eicar.org/download/eicar.com.txt -O /home/user/exploit/passwd while inotifywait -m “/home/user/exploit/passwd” | grep -m 5 “OPEN” do rm -rf /home/user/exploit ; ln -s /etc /home/user/exploit done
Более того, во многих антивирусах для Linux и macOS было выявлено использование предсказуемых имён файлов при работе с временным файлами в каталоге /tmp и /private/tmp, что могло использоваться для повышения привилегий до пользователя root.
К настоящему времени проблемы уже устранены большинством поставщиков, но примечательно, что первые уведомления о проблеме были направлены производителям ещё осенью 2018 года. Несмотря на то, что не все производители выпустили обновления, им было дано на исправление как минимум 6 месяцев, и RACK911 Labs считает, что теперь вправе раскрыть сведения об уязвимостях. Отмечается, что компания RACK911 Labs давно занимается работой по выявлению уязвимостей, но она не предполагала, что с коллегами из антивирусной индустрии будет так трудно работать из-за затягивания выпуска обновлений и игнорирования необходимости срочного устранения проблем с безопасностью.
Продукты, подверженные проблеме:
- Linux
- BitDefender GravityZone
- Comodo Endpoint Security
- Eset File Server Security
- F-Secure Linux Security
- Kaspersy Endpoint Security
- McAfee Endpoint Security
- Sophos Anti-Virus for Linux
- Windows
- Avast Free Anti-Virus
- Avira Free Anti-Virus
- BitDefender GravityZone
- Comodo Endpoint Security
- F-Secure Computer Protection
- FireEye Endpoint Security
- Intercept X (Sophos)
- Kaspersky Endpoint Security
- Malwarebytes for Windows
- McAfee Endpoint Security
- Panda Dome
- Webroot Secure Anywhere
- macOS
- AVG
- BitDefender Total Security
- Eset Cyber Security
- Kaspersky Internet Security
- McAfee Total Protection
- Microsoft Defender (BETA)
- Norton Security
- Sophos Home
- Webroot Secure Anywhere
Уязвимость также проявилась в свободном антивирусном пакете ClamAV.
Источники
править- Главная ссылка к новости (https://www.rack911labs.com/re...) (Архивная копия от 4 октября 2020 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.