Исследователи из компании RACK911 Labs обратили внимание на то, что почти все антивирусные пакеты для Windows, Linux и macOS были уязвимы для атак, манипулирующих состоянием гонки (race conditions) во время удаления файлов, в которых обнаружено вредоносное ПО. Для проведения атаки необходимо загрузить файл, который антивирус распознает как вредоносный (например, можно использовать тестовую сигнатуру), а через определённое время, после выявления вредоносного файла антивирусом, но непосредственно перед вызовом функции для его удаления, подменить каталог с файлом символической ссылкой. В Windows для достижения того же эффекта выполняется подмена каталога при помощи точки соединения (directory junction). Проблема в том, почти все антивирусы должным образом не выполняли проверку символических ссылок и, считая что удаляют вредоносный файл, удаляли файл в каталоге на который указывает символическая ссылка. В Linux и macOS показано как таким способом непривилегированный пользователь может удалить /etc/passwd или любой другой системный файл, а в Windows DDL-библиотеку самого антивируса для блокирования его работы (в Windows атака ограничена только удалением файлов, которые в текущим момент не используются другими приложениями). Например, атакующий может создать каталог "exploit" и загрузить в него файл EpSecApiLib.dll с тестовой сигнатурой вируса, после чего перед удалением заменить каталог "exploit" на ссылку "C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform", что приведёт к удалению библиотеки EpSecApiLib.dll из каталога антивируса. В Linux и macos аналогичный приём можно проделать с подменой каталога на ссылку "/etc". Code: #!/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 давно занимается работой по выявлению уязвимостей, но она не предполагала, что с коллегами из антивирусной индустрии будет так трудно работать из-за затягивания выпуска обновлений и игнорирования необходимости срочного устранения проблем с безопасностью. Продукты, подверженные проблеме (свободный антивирусный пакет ClamAV в списке отсутствует): 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 21.04.2020 https://www.opennet.ru/opennews/art.shtml?num=52779
Что у вас опять не так, как нужно? Здесь, всё мчится и летает в небесах. blitz@inode ~ % uname -a Linux inode 5.5.13-1-clk #1 SMP PREEMPT Thu, 26 Mar 2020 14:52:07 +0000 x86_64 GNU/Linux
Последний раз слышал это выражение в книге про разработку драйверов под win... Если правильно понял, то под этим выражением подразумевается гонка за объект и его актуальность, например инкремент переменной несколькими потоками, без lock, что приводит к неккоректному результату операции. Однако, привелегированные процессы обладают наибольшим быстродействием, как получается так, что usermod app побеждает антивирусник, работающий из под kernel?