В январе 2016 года Trend Micro исправила ошибку безопасности в менеджере паролей, которая была обнаружена исследователем Google. Уязвимость позволяла веб-сайтам исполнять произвольные команды и воровать пользовательские пароли. В основе программы использовалась “древняя версия Chromium” - цитируем слова исследователя Тависа Орманди.
Команда Trend Micro прокомментировала, что, хотя менеджер паролей поставляется с антивирусной защитой, он является отдельным продуктом. Также разработчики заверили, что ошибка была устранена очень быстро.
Еще месяцем ранее Орманди обнаружил ошибку в расширении AVG для браузера Google Chrome под названием AVG Web TuneUp. Уязвимость позволяла посторонним лицами просматривать историю просмотров, персональные данные и файлы куки. Расширение устанавливалось принудительно в процессе инсталляции продуктов AVG.
Совсем недавно Intel запатчила дыру безопасности в корпоративной версии антивируса McAfee, которая позволяла отключать защиту на компьютере жертвы.
Так, насколько мы можем доверять антивирусам? Эксперт по компьютерной безопасности Джоксен Корет (Joxean Koret) считает, что продукты безопасности изобилуют ошибками и уязвимостями. Он представил несколько из них на конференции по безопасности SysScan 360 в 2014 году, заявив, что обнаружил ошибки безопасности в 14 антивирусах.
Антивирусные продукты серьезно увеличивают поверхность атаки и делают машину более уязвимой для атак нулевого дня. Джоксен убежден, что современные антивирусы ничуть не безопаснее своих предшественников.
Корет считает: “Киберперступник может эксплуатировать уязвимость в вашем любимом антивирусе за 50 баксов, вместо использования более дорогих уязвимостей в браузерах или ядре операционной системы. Для таргетированных атак это интересный вектор развития”.
Корет не призывает всех пользователей удалять антивирусное ПО. По его словам, малые и средние бизнесы также в основном защищены. Тем не менее, он уверен, что крупным организациям стоит всерьез задуматься о потенциальных рисках атак”.
Привилегии порождают большую ответственность
Код антивируса требует от разработчика большего усердия и скрупулезности, чем код других приложений. Директор по технологиям независимой лаборатории AV-Test Майк Моргенштерн отметил: “Антивирус - это программа с самой высокой поверхностью атаки, потому что ей приходится обрабатывать большое количество непроверенных данных. Практически каждый файл и сетевой пакет должен быть проверен антивирусом. Вот почему критически важно минимизировать число уязвимостей в коде”.
Антивирусные продукты являются критическими точками отказа из-за повышенных системных привилегий. Они работают в привилегированном режиме из-за необходимости расширенной видимости системных объектов, а также из-за способности обнаруживать и блокировать файлы, которые выполняют вредоносную активность в системе. Если бы у антивирусов было меньше прав и разрешений, они бы не могли фиксировать вредоносные действия.
Вендоры на протяжении многих лет используют различные методы для получения повышенных системных привилегий. Грег Вассон, руководитель программы обнаружения вредоносного кода в лаборатории ICSA Labs, пояснил: “Во времена появления первых антивирусов, не все API Windows были документированы и доступны для разработчиков, поэтому разработчикам защитного ПО приходилось искать собственные методы для запуска в системе и блокировки вредоносного кода”.
Отсутствие документации означало, что разработчикам нужно было анализировать Windows в поисках лазеек, поэтому каждый антивирус имел свой уникальный способ проникновения в систему. Грег отмечает, что по сути это был своего рода реверс-инжиниринг вызовов API Windows.
В наши дни Microsoft документирует все вызовы, чтобы сделать их более надежными, поэтому антивирусные вендоры переключились на документированные версии.
Современный антивирус устанавливается как служба с привилегиями администратора в OS X и Windows, также устанавливаются драйверы ядра, которые работают непосредственно с сердцем операционной системы. Чтобы пробраться глубоко в систему, они спрашивают пользовательское разрешение и в большинстве случаев используют исполняемые файлы, подписанные цифровыми сертификатами поставщика OC (Microsoft или Apple).
Атаки на средства анализа
Как происходят атаки на антивирусное ПО? Одним из самых распространенных способов является эксплуатация уязвимостей в средствах синтаксического анализа файлов, - отмечает Карстен Ейрам, руководитель подразделения по исследованию уязвимостей в компании Risk Based Security.
Антивирусы должны сканировать абсолютно разные типы файлов поисках вредоносного кода. Каждый тип файла имеет свои параметры и должен быть просканирован отдельно. Это сложная задача, которая может вызывать ошибки.
Киберпреступники могут обманывать средства синтаксического анализа используя технику “фазинга” или другими словами, метод анализа предельных значений. Отправка намеренно искаженного файла с данными, которые лежат за пределами ожидаемых параметров, может привести к сбою анализатора и его нестабильному уязвимому состоянию.
Карстен добавил: “Если анализ происходит в рамках процесса с повышенными привилегиями, киберперступник может исполнять вредоносный код с высокими привилегиями без необходимости поиска других уязвимостей для эксплуатации. Вот почему всего одна дыра в безопасности антивируса может привести к полному контролю над системой”.
Защита цикла разработки
Как антивирусные компании могут избежать данных угроз? Для них еще более важно защитить свои продукты, чем для разработчиков других видов программного обеспечения.
Моргенштерн отмечает: “Они обязаны применять все современные технологии и должны улучшить свои циклы разработки”.
Среди доступных защитных технологий, которые помогут обезопасить продукты от атак переполнения буфера: рандомизация адресного пространства (Address Space Layout Randomization), предотвращение выполнения данных (Data Execution Prevention) и StackGuard. Kaspersky Labs заявляет, что уже использует ASLR и DEP, но планирует расширить применение данных технологий в будущем.
Моргенштерн говорит, что компании активно начинают использовать данные техники: “Они обычно выполняют проверку целостности своих файлов для предотвращения несанкционированных изменений в них. Тем не менее, если в продукте все же обнаружена уязвимость, которая эксплуатируется, самому антивирусу очень трудно противостоять подобным атакам”.
Данные ошибки означают, что антивирусные компании должны тщательнее анализировать код, чтобы обезопасить себя от новейших атак. Моргенштерн призывает разработчиков проверять код в поисках новых типов уязвимостей и выполнять правила защищенного кода.
Перевод Comss.ru. По материалам Sector.ca
Обновления программ, что нового
• Обновление Intel ARC Game On Driver 32.0.101.6732 Non-WHQL. Поддержка The Last of Us Part II Remastered
• Qualcomm анонсировала Snapdragon 8s Gen 4 для среднего сегмента
• Intel прекращает поддержку приложения Intel Unison для связи смартфонов Android и iPhone с Windows 11
• Релиз Chrome 135: обновления безопасности и новые функции
• Android 16 может получить функцию безопасности, аналогичную iOS 18
• «Яндекс» запустил ИИ-сервис «Нейроэксперт» на базе YandexGPT 5 Pro. Что умеет конкурент Google NotebookLM и ChatGPT