Шифрование в антивирусе
Данный пост перенесён автоматически с предыдущего варианта сайта. Возможны артефакты. Если информация этого поста важна для вас, свяжитесь со мной для получения полного содержимого.
Вдумчиво изучая свежеустановленный FortiClient, в окне «About FortiClient» обнаружил упоминание OpenSSL.
Интересно, для чего может использоваться криптографический пакет в решении класса endpoint security? В справке нет упоминания OpenSSL, но есть описание построения VPN SSL соединений с помощью FortiClient. Ну что же, одно из применений, вероятно, найдено.
Вместе с тем, в голову пришла ещё одна идея. Что такого критического может быть в антивирусе, что может потребоваться шифровать? Конечно же, обновления!
Просто представьте себе ситуацию, когда Ваш антивирус скачает вместо легального обновления своего ядра вредоносный код и установит его сам на себя. Призванный защищать компьютер пользователя от вирусов, такой модифицированный вчерашний защитник сам станет источником угрозы для Вашей информации. Получится своеобразный антиантивирус =)
Каким способом злоумышленник может осуществить подмену легального обновления на вредоносное? Например, взломать сайт разработчика, хотя это, пожалуй, далеко не самый простой вариант. Другой способ — это использование IP-спуфинга (или DNS-спуфинга), когда соединение, устанавливаемое антивирусом якобы с легитимным сервером обновления, на самом деле устанавливается с поддельным сервером. В принципе, возможны и другие варианты осуществления такой атаки.
Конечно, для успешной разработки такого фальшивого обновления злоумышленнику потребуется провести глубокий анализ как самого антивируса, так и формата представления обновлений, но теоретически это вполне возможно.
Лучшим способом защиты от такой потенциальной атаки может служить использование ЭЦП (электронной цифровой подписи) для подтверждения достоверности скаченных антивирусом обновлений либо использование защищённого канала для скачивания этих обновлений. В обоих случаях потребуется применять какие-либо криптографические алгоритмы, например, из того же пакета OpenSSL.
Не уверен, что в FortiClient пакет OpenSSL используется и для этих целей, но, вне всякого сомнения, это стоило бы сделать.
Комментарии из Telegram
Комментарии ВКонтакте