Если здесь у нас может быть инфицирована рабочая станция, достаточно переустановить Windows, установить антивирус — и всё будет нормально. А если у вас сервер и там крутится множество скриптов, которые ещё постоянно дописываются, переписываются, модифицируются, то представьте, каково отыскать там какой-то вредоносный код. Более того, код находится внутри некоторого скрипта. А это не некое win32-приложение, которое вы можете просто стереть. Скрипт будет подгружаться динамически и активироваться только в определённый момент.
Когда вся эта история началась, то я обратился к нашему подразделению вирусных аналитиков на предмет наличия у нас российской статистики по подобным заражениям, по подобным PHP-скриптам. Изначально была описана подобная ситуация с Linux-платформой, и мы решили посмотреть на Windows-платформу. И оказалось, что мы имеем достаточно большое количество заражений.
Россия там занимала третье место с очень большим количеством Windows-серверов, на которых установлены уязвимые и заражённые PHP-движки. Это означает, что источником такого лавинообразного трафика эти сервера могут выступать хоть завтра, потому что они уже находятся в зоне риска, они уже заражены. Когда их активируют – это вопрос времени.
- А если в абсолютных цифрах – примерно сколько заражённых серверов удалось насчитать?
- Мы видели несколько сотен серверов. Это достаточно большое количество. Мы не проверяли, что это, но представьте себе, что это, например, какие-то крупные компании. Им, скорее всего, нельзя будет позвонить и сказать: «Выключите свой сервер».
- Скажите, пожалуйста, а как обеспечивается защита? Понятно, что мощность канала граничит с бесконечным числом. В своей статье вы упомянули, что у вас есть специальная аналитика, которая…
- Основная идея защиты от DDoS-атаки заключается в том, чтобы чётко понять, кто есть пользователь, а кто есть бот. Если брать классическую семиуровневую сетевую модель, то фактически любой уровень (за исключением физического уровня, самого первого) может быть так или иначе подвержен какой-либо форме паразитной активности.
DDoS-атака не всегда выполняется на уровне приложения (седьмого уровня). Она может выполняться просто для того, чтобы забить канал, например, или получить отказ сетевого оборудования.
Перед сервером-мишенью стоит какое-то сетевое оборудование, какие-то провайдеры, какие-то каналы. Всё, что стоит до этого устройства, и оно само является так или иначе звеном в цепочке взаимодействия – цепочке доступности. И основная задача злоумышленника при организации атаки – найти слабое звено. Наша задача как раз, с одной стороны, тоже отыскать, точно так же, как и злоумышленник, слабое звено, а с другой стороны – чётко понять, как звенья этой цепочки работают в нормальном режиме.
Понять, как они работают, как они взаимодействуют и что будет отклонением от нормы. Как только мы это хорошо понимаем и знаем, мы сразу можем построить некую модель работы обычного легитимного пользователя. Исходя из этой комплексной многоуровневой модели, мы понимаем, как себя ведёт нормальный пользователь и где начинается отклонение, обозначающее бота.
И тогда мы можем жёстко отделить ботов от легитимных пользователей. Это если говорить общими словами.
Но если говорить на реальном языке, то существуют сетевые атаки «нижних» уровней; а также существуют атаки уровня приложений, и для них требуются совершенно разные фильтры. Трафик защищаемого ресурса в момент, когда происходит атака на него, меняет свою маршрутизацию: он проходит через наши центры очистки вне зависимости от того, на какой сетевой уровень рассчитана атака. Для очистки мы применяем те или иные методы фильтрации. Есть атаки, когда идёт так называемый SYN-флуд, например, с подменой IP-адреса, и сама сессия не устанавливается. Просто большое количество мелких пакетов передаются на целевой IP-адрес. Источник этих пакетов, то есть исходящий IP-адрес, может быть подменён.
Соответственно вы не знаете, откуда пакеты приходят, но вы можете понять, что их гигантское количество и вам, как мелкую кильку, надо перекидать из бочки в другую бочку по одной рыбке и при этом выполнить проверки. Задача крайне сложная, если это обычное сетевое оборудование, но мы умеем с этим справляться. Есть атаки уровня приложений, когда у вас есть какая-нибудь «тяжёлая» страничка и «тяжёлый» контент. И вот открытие этой странички и загрузка этой странички, установление большого количества одновременных сессий уже будет приводить к тому, что сайт будет подтормаживать и медленно открываться.