Тотальный антивирус - Тесты и сравнения - Форумы Anti-Malware.ru Перейти к содержанию
Иван

Тотальный антивирус

Recommended Posts

Иван

интересно, выделенное жирным енто о ком?

Тотальный антивирус

Источник: Хакер (Москва)

Автор: Крис Касперски

Универсальный антивирусный центр своими руками

Появившаяся некогда идея проверять файл сразу по многим антивирусам оказалась очень удачной. Онлайновая антивирусная служба www.virustotal.com имеет тысячи посещений ежедневно, при этом обладая дюжиной недостатков. Сервис не раскрывает своих секретов, однако автор давно разобрал его по винтикам и теперь работает над улучшенной реализацией.

В то время как одни пользователи держат на компьютере целый зоопарк различных антивирусов, конфликтующих друг с другом и тормозящих ПК (не говоря уже о стоимости лицензий или сложности поиска правильного "лекарства"), хакеры предпочитают ловить малварь самостоятельно. В крайнем случае — проверяют подозрительные файлы на бесплатных онлайновых службах типа того же www.virustotal.com. Эти же службы используются для "обкатки" вирусов собственного написания на предмет обнаружения эвристическими анализаторами. И хотя, если верить блогу Евгения Касперского (www. viruslist.com/en/weblog), хакеры не доверяют virus-total’у, поскольку он передает подозрительные файлы антивирусным компаниям и вирусы начинают палиться еще на старте, эта точка зрения отражает лишь малую часть действительности. Да, действительно, профессиональные разработчики атакующих программ и rootkit’ов проверяют их на "вшивость" исключительно локальным способом на своих собственных машинах, предотвращая утечку информации, но... профессионалов единицы, к тому же экспериментируя с virus-total’ом, хакеры определяют общие критерии ругательства антивирусов, выявляя последовательности машинных команд/вызовов API-функций, приводящих к срабатыванию эвристического анализатора. Однажды "обломав" антивирус, хакер может многократно использовать найденный способ обхода эвристика. Достаточно посетить любые форумы, где обитают вирусописатели, чтобы убедиться, что они весьма неравнодушны к virus-total’у и активно его используют.

А что если создать еще более качественный сервис? Ведь virus-total примитивен до ужаса — качество сканирования оставляет желать лучшего, не говоря уже о длинных "социалистических" очередях, в которых приходится подолгу простаивать из-за частых перегрузок сервера (а все потому, что балансировка нагрузки и оптимизация изначально не предусматривались!). На момент написания этих строк, мыщъх по заказу одной антивирусной компании (имя которой разглашать не вправе) руководит разработкой онлайнового сервиса, рассчитанного на "магистральную" загрузку и предоставляющего пользователям кучу всевозможных рычагов управления. Естественно, исходный код к статье не прилагается, да он и не нужен, главное — это концепт, плюс некоторые неочевидные тонкости, с которыми придется столкнуться при "промышленных" масштабах эксплуатации. Естественно, это требует широких сетевых каналов, мощных многопроцессорных систем и еще кучу всего. Словом, без солидных финансовых вложений тут никак не обойтись. Однако никто не заставляет нас создавать сервис планетарного масштаба и, если постараться, можно вполне уложиться в бюджет $2000 или даже меньше. Нам потребуется интернет-канал с безлимитным тарифом, чтобы злые люди не кинули нас на входящий трафик, который будет весьма значительным. В качестве компьютера вполне подойдет машина с процессором C ore2Duo и парой гигабайт оперативной памяти. О проблемах с лицензированием антивирусов мы поговорим в одноименной врезке, а пока отметим, что никаких особых программистских навыков не понадобится. Подойдет любой язык (Си, Perl, PHP) и минимальный опыт работы с C GI (пользуясь случаем, хочу порекомендовать библиотеку C GIC ).

***

Viru s-total изнутри

Virus-total устроен не просто, а очень просто. Он использует консольные версии антивирусов, управляемые посредством командой строки и выдающие результат сканирования в стандартный проток вывода, который легко перенаправить в файл или пайп (pipe).

Что мы делаем? Через специальную форму на сайте закачиваем "подопытный" файл, скармливаем его антивирусу, предварительно перенаправив вывод во временный файл/пайп, который тут же парсим (то есть выбрасываем все лишнее, оставляя только статус проверки и имя вируса). Парсить вывод легче всего Perl’ом, поддерживающим мощный механизм регулярных выражений, но Си-программы намного более производительны, а потому предпочтительнее (особенно, при большом наплыве пользователей).

На этом, собственно говоря, возможности virus-total’а и заканчиваются. Это создает большие проблемы: во-первых, далеко не все антивирусы имеют консольные версии, а, во-вторых, даже те, что имеют, поведением зачастую радикально отличаются от полноценных GUI -версий. В чем легко убедиться, сравнив результаты сканирования большой коллекции вирусов локальным способом и через virus-total — сравнение будет отнюдь не в пользу virus-total’а.

Учитывая, что практически все антивирусы (и GUI -версии в том числе) поддерживают запись результатов сканирования в log-файл и позволяют задавать имя сканируемого файла через командную строку или, на худой конец, через механизм DDE (Dynamic Data Exchange), ничего не стоит прикрутить GUI -версию к онлайновой службе. Просто "скармливаем" антивирусу файл, форсируем запись результатов сканирования в log-файл, который парсим так же, как и вывод консольных версий. Остается только собрать "показания" всех имеющихся в нашем распоряжении антивирусов, оформить их в виде HTML-таблицы и выдать на экран, что по силам даже самым начинающим программистам.

В клинических случаях, когда антивирус начисто игнорирует командную строку или не умеет вести логи, на помощь приходит механизм Windows-сообщений (Windows Message или, сокращенно, WM). Посылая WM-сообщения элементам управления антивируса, мы можем манипулировать кнопками, меню и прочими элементами управления по своему усмотрению. Аналогичным способом извлекается и содержимое окна, содержащего результаты проверки. Получив форматированный rich-текст или plain-текст, пропускаем его через парсер — и все!

***

Маленькие секреты больших серверов

При попытке реализации вышеописанной модели неизбежно всплывут проблемы удручающе низкой производительности. Но мы не боимся трудностей и начнем щемить их одну за другой. Первое и очевидное. Как показывает статистика, различные пользователи преимущество проверяют одни и те же файлы, как правило, принадлежащие Windows или популярным программным пакетам. Чтобы сократить накладные расходы, рекомендуется подсчитывать контрольную сумму файла перед его проверкой и, если такой файл уже проверялся ранее, выдавать уже готовые результаты сканирования, сохраненные в базе данных. На первый взгляд, в реализации алгоритма нет ничего сложного, но тут притаилось немало подводных камней. Вот наиболее актуальные:

• антивирусные базы обновляются постоянно и потому даже за короткий промежуток времени информация о сканировании безнадежно устаревает. Следовательно, необходимо вместе с контрольной суммой сохранять и дату последнего времени сканирования (отображая ее пользователю), а также предусмотреть кнопочку "rescan";

• использование алгоритма CRC 32 может показаться плохой идеей, поскольку он выдает множество коллизий (разные файлы имеют идентичные контрольные суммы), к тому же его легко подделать, модифицировав любое количество байт файла и затем скорректировав 4 байта так, чтобы скомпенсировать искажения. Однако CRC 32 шустро работает, обгоняя MD5 и другие хорошие алгоритмы. Поэтому возникает идея: для каждого файла, прогоняемого через антивирусы, мы генерируем CRC 32 и MD5 (с учетом времени сканирования накладными расходами на расчет контрольной суммы можно пренебречь), а при последующей проверке залитого пользователем файла сначала проверяем CRC 32 (проверяется очень быстро) и, если такой контрольной суммы в нашей базе нет, MD5 можно и не вычислять — зачем? Ведь и так видно, что файл еще не проверялся;

• многие "честные" файлы (особенно входящие в состав операционной системы) снабжены цифровой подписью или их целостность может быть проверена путем обращения к серверам Microsoft, что осуществляется намного быстрее антивирусного сканирования, и раз по данным Microsoft, файл не изменен, зачем его прогонять через антивирусы?!

Также крайне желательно реализовать опцию, позволяющую пользователю выбирать режим сканирования с эвристикой и без (чего не сделано на virustotal). Эвристика представляет собой довольно затратную по времени и ресурсам ЦП операцию, но далеко не все пользователи доверяют полученным результатам и хотят видеть имя конкретного вируса (если он есть), а не расплывчатое предупреждение, обычно ругающееся на упаковщик/протектор, которым обработан честный файл. С другой стороны, вирусописателям совершенно неинтересно сканирование по базе (так как только что написанного вируса там заведомо нет) и они предпочли бы задействовать только эвристику, экономя тем самым ресурсы нашего сервера. Так почему бы не пойти им навстречу?

Закачка больших файлов предоставляет серьезную проблему, имеющую несколько решений. Самое простое (и глупое) — установить верхний

предел закачиваемого файла в пару мегабайт (или около того), чуть-чуть умнее: лимитировать суммарный размер всех файлов, закачанных за сутки с одного I P (но тут возникает проблема определения I P, поскольку очень часто мы будем видеть не I P пользователя, а I P прокси сервера провайдера). Полезно рекомендовать юзерам сжимать файлы перед отправкой zip’ом или другим популярным архиватором для уменьшения нагрузки на канал или делать это автоматически на клиентской стороне специальным скриптом. Наконец, за сканирование больших файлов можно взимать деньги, но об этом мы поговорим чуть позже, а пока продолжим тему оптимизации. Профилировка показывает, что львиная доля накладных расходов приходится на запуск антивируса, инициализацию его движка и загрузку антивирусных баз. Перемещение антивирусов на виртуальный диск существенно увеличивает "подвижность" системы, но накладные расходы на создание новых процессов по-прежнему будут большими, поэтому мы используем GUI -версии антивирусов и, путем эмуляции клавиатурного ввода, воздействуем на элементы управления, заставляя их сканировать новые файлы и выдавать результат. При этом антивирус запускается всего один раз. Красота! Впрочем, можно реализовать и динамический алгоритм: при небольшой нагрузке на сервер о накладных расходах на порождение новых процессов можно не заботиться, а с ростом нагрузки — просто брать несколько файлов, закачанных пользователями за последние несколько минут и "скармливать" их антивирусу всем скопом, в результате чего количество запусков резко сокращается. Главное не запутаться, какой пользователь что закачал, но это уже мелочи технической реализации.

Естественно, сканирование лучше запускать на всех антивирусах параллельно, а не последовательно и вместо того, чтобы "тупо" запрещать пользователю закрывать окно браузера до окончания процесса сканирования (как это делает virus-total), отслеживать TCP/IP соединение и при его обрыве автоматически "выбрасывать" файл, принадлежащий данному пользователю, из очереди на сканирование. Плюс реализовать стандартную кнопку "отмены" (так же отсутствующую у virus-total’а) — если пользователь видит, что первые три-четыре антивируса ничего не находят, так следует ли дожидаться результатов проверки всех антивирусов? Особенно, если самые качественные антивирусы поставить вперед остальных, выделив им максимальный приоритет ЦП. Как вариант, можно вообще не следить за TCP/IP сессий и при заливке нового файла назначать пользователю I D задачи, который он может ввести в любое время, отключившись от Сети и повторно подключившись, например, через час, когда его очередь уже подошла. А можно рассылать результаты сканирования по e-mail — тогда пользователь не будет скучать в ожидании своей очереди.

И совсем не помешает прикрутить к нашему сервису утилиту вроде PEiD, определяющую тип и версию упаковщика/проектора (правда, довольно часто ошибающуюся). И опционально реализовать распаковку набором статических распаковщиков, работающих намного быстрее тех, что встроены в антивирусы. Тут есть один подводный камень — хотя 99% вирусов распознаются по распакованному дампу, некоторые, особо ленивые, сотрудники антивирусных компаний включают в базу сигнатуры упакованного файла, и после распаковки он перестает опознаваться как вирус. Однако, учитывая, что распакованный файл прогоняется через легион антивирусов, вероятность ложно-негативного срабатывания стремится к нулю.

***

Зарабатываем деньги лопатами

Мир жесток и все в нем упирается в деньги. На голом энтузиазме никой онлайновый сервис долго не продержится, поэтому приходится разрабатывать не только программный код, но и жизнеспособную бизнес-схему. Рассмотрим возможные источники дохода. Первое — рост посещаемости нашего сайта. На посещаемости, как известно, можно нехило заработать, особенно, если мы, например, продаем собственные защитные комплексы, предлагаем услуги по пен-тестингу и т. д. Онлайновый сервис привлекает клиентов намного активнее любых баннеров и, главное, привлекает именно тот контингент, который нам нужен, следовательно, возросшие объемы продаж покроют все расходы на поддержку и обслуживание серверов, отплату трафика и т. д.

Второе — отчисления от антивирусных компаний, чью продукцию мы рекламируем и кому передаем штаммы свежих вирусов. Тут, правда, много не заработаешь, поскольку лишь небольшая часть посетителей кликнет по ссылке "купить" антивирус, а стоимость вирусного штамма обычно составляет $1 (а то и меньше). Вот и считай, на какой уровень посещаемости нужно выйти, чтобы окупить расходы на поддержку сервера, которые, кстати говоря, тем больше, чем выше посещаемость.

Третье — взимать деньги непосредственно с самих пользователей. Хочешь подолгу стоять в очередях и сканировать файлы не больше чем ... мегабайт? Пожалуйста, пользуйся нашим сервисом бесплатно! Хочешь иметь определенные привилегии — будь добр заплатить. Главное, выбрать удобную схему оплаты. Здесь вам не Америка, здесь климат (финансовый) иной. Кредитные карты имеют единицы, электронные системы платежей только начинают набирать популярность. Зато практически каждый IT-специалист — владелец сотового телефона, а значит, можно воспользоваться микро-платежами через SMS либо потребовать от клиента сообщить номер карты универсальной оплаты (перечислив заданную сумму на счет, который он может расходовать, когда пользуется нашим сервисом). Как показывает практика, сотовые платежи приносят наибольшую отдачу, поскольку телефоны распространены повсеместно, а сам процесс оплаты требует минимум телодвижений, и (что немаловажно) клиент практически ничем не рискует. А вот с кредитными картами все намного сложнее и есть риск, что нечестный оператор снимет с них совсем не ту сумму, какая ожидалась. Тоже относится и к микро-платежам через SMS. Гарантий, что снимут 150 рублей, а не 450, у клиента нет никаких.

***

А что в итоге?

Разумеется, в статье охвачены далеко не все проблемы, с которыми неизбежно столкнется всякий, попытавшийся воздвигнуть подобный онлайновый сервис. Но задача выполнена — мыщъх предоставил вполне законченную, отлаженную и работоспособную схему, которая скоро будет запущена в промышленную эксплуатацию.

***

Проблемы конфиденциальности

Вирусы встречаются не только в программах, но и в офисных документах, PDF’ах и прочих файлах с конфиденциальной информацией, разглашать которую крайне нежелательно, поэтому необходимо предусмотреть опцию "не отсылать данный файл в антивирусные центры", при необходимости взводимую пользователем. Технически это реализуется проще простого, но... как избежать злоупотреблений?! Особенно, если мы строим наш бизнес на отправке свежих штаммов разработчикам антивирусов?

Идея первая (тупая до безобразия) — наплевать на все приличия и отсылать файлы в антивирусные центры независимо от состояния каких-то там галочек. Главное: создать у пользователя иллюзию, что его конфиденциальность строго блюдут, ну а что происходит на самом деле, он все равно не узнает. Ну... до тех пор, пока тайное не станет явным и не разразится скандал, идущий совсем не на пользу нашему ресурсу.

Идея вторая — поддерживать эту опцию только для пользователей, открывшим у нас счет. Кстати, это представляет собой нехилую мотивацию для оплаты услуг, особенно с учетом того, что о конфиденциальности в основном беспокоятся корпоративные пользователи, привыкшие платить за услуги (в отличие от домашних юзеров, тяготеющих к халяве вне зависимости от стоимости полнофункционального аккаунта).

Идея третья — файл все-таки отправлять, но перед этим удалять всю текстовую и графическую информацию, что не противоречит ни логике, ни здравому смыслу, ни даже соглашению, заключенному с пользователем нашего сервиса.

***

info

Сервисы, подобные virustotal.com, распространены в хакерских кругах. Основное их отличие — приватность. Они никогда не отправляют обработанные файлы в антивирусные центры (гарантируя непопадание малвари в антивирусные базы), но за каждую проверку взимают небольшую плату. Одругих хакерских сервисах ты можешь прочитать в подробной статье прошлого номера ][.

***

warning

Антивирусные пакеты зачастую несовместимы между собой. Но, как правило, несовместимы проактивные защиты и мониторы, работающие в реальном времени, в то время как статические сканнеры (а именно они нам и нужны) отлично функционируют в одной системе.

***

Юридические проблемы лицензирования

Пользовательские соглашения (EULA) на коммерческие антивирусы не разрешают использовать их в онлайновых сервисах без заключения специальных контрактов, что вообще-то логично. Однако не стоит думать, что всякий контракт обязательно связан с необходимостью выплаты дополнительных отчислений. Вовсе нет! Достаточно проявить надлежащий дипломатический подход!

Крупные бренды заинтересованы в рекламе своей продукции и потому охотно разрешают использовать полнофункциональные версии антивирусов без всяких отчислений, поскольку конечный пользователь реально видит, кто сосет, а кто нет. Правда, могут выдвинуть встречные условия типа сохранения логотипов, генерации ссылок на их сайты и т. д. Все это мелочи, решаемые в рабочем порядке. А что мелкие бренды? Они, конечно, понимают, что сравнение с конкурентами будет не в их пользу. Тут есть один очень интересный момент. Мелкие антивирусные компании страдают хронической нехваткой свежих вирусов, которые попадают к ним в последнюю очередь, и потому онлайновый сервис, автоматически отсылающий уже детектируемые конкурентами вирусы — для них прекрасное средство пополнения вирусных баз и продвижения в различных рейтингах. С мелких брендов можно даже взимать плату за каждый новый вирус, и есть большая вероятность, что платить они согласятся!

Короче говоря, лицензионные проблемы — это и не проблемы вовсе. А вот разных проволочек — предостаточно и нужно заранее быть готовым к тому, что нас будут перебрасывать от одного ответственного лица (которое ничего не решает) к другому, третьему, и так по цепочке... Это уже издержки цивилизации, против которых не попрешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
BiTA

Раньше, в каком-то из журналов, он (Крис) писал, что сотрудничает с индийской K7 Computing http://www.k7computing.com/

Возможно, и здесь речь о них же

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001

Иван

не говоря уже о длинных "социалистических" очередях, в которых приходится подолгу простаивать из-за частых перегрузок сервера

Крис Касперски боится 5-минутных очередей???

На момент написания этих строк, мыщъх по заказу одной антивирусной компании

Да, забавно, а ещё, что это за слово - мыщъх??? :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dot_sent
Да, забавно, а ещё, что это за слово - мыщъх??? biggrin.gif

Давно- и общеизвестный ник Криса. Страна должна знать своих героев! (С)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
мыщъх ... руководит
Страна должна знать своих героев!

Понятно, им тут видимо подразумевается прикрытие слова МЫ?

Только вот писать о себе одновременно во множественно-величавом и одновременно в третьем лице, это, уж, извините, через чур... (чтобы никого не обидеть) ммм... величественный героизм. :) Очень даже хорошо. :)

Сервисы, подобные virustotal.com, распространены в хакерских кругах. Основное их отличие — приватность. Они никогда не отправляют обработанные файлы в антивирусные центры (гарантируя непопадание малвари в антивирусные базы), но за каждую проверку взимают небольшую плату.

А это он о ком? Неужели - это правда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
A.
Понятно, им тут видимо подразумевается прикрытие слова МЫ?

Только вот писать о себе одновременно во множественно-величавом и одновременно в третьем лице, это, уж, извините, через чур... (чтобы никого не обидеть) ммм... величественный героизм. :) Очень даже хорошо. :)

А это он о ком? Неужели - это правда?

http://www.viruslist.com/ru/weblog?discuss...70&return=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001

A.

никогда не отправляют обработанные файлы в антивирусные центры (гарантируя непопадание малвари в антивирусные базы), но за каждую проверку взимают небольшую плату. А это он о ком? Неужели - это правда?

http://www.viruslist.com/ru/weblog?discuss...70&return=1

Спасибо. Ознакомился. (Правда цитирована немножко не та часть моего сообщения, выше показана мною правильная цитата). В ответ могу привести известную фразу: Дааа, ужж... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      ESET Online Scanner 4.0.1  (Windows 10/11, 64-разрядная)
                                                                                  ●
              Руководство пользователя ESET Online Scanner 4  (PDF-файл)
    • Ego Dekker
      ESET Cyber Security был обновлён до версии 9.0.6700.
    • AM_Bot
      Теория звучит убедительно, но работает ли она на практике? Мы внимательно изучили Phishman 2.35 и решили не останавливаться на описании её возможностей. Вместо этого протестировали платформу на собственных сотрудниках и удивились, к каким результатам это привело.      1. Введение2. Методология тестирования Phishman 2.353. Первичное тестирование3.1. Подготовка шаблонов фишинговых сообщений, инфраструктуры рассылки3.2. Тестирование доставки и отражения результатов в статистике3.3. Результаты атак4. Обучение4.1. Формирование учебной группы4.2. Составление образовательной программы по повышению киберкультуры4.3. Процесс обучения и его результаты5. Повторное тестирование5.1. Результаты атак6. Подведение итогов6.1. Сложности, с которыми мы столкнулись7. Впечатления от проекта команды «АМ Медиа»7.1. Реакция сотрудников7.2. Реакция организаторов7.3. Сотрудничество с вендором8. ВыводыВведениеPhishman 2.35 — это система повышения осведомлённости пользователей в сфере ИБ. Она помогает развивать киберкультуру и формировать у сотрудников устойчивые навыки безопасной работы с информацией, цифровыми сервисами и корпоративными ресурсами. В процессе обучения сотрудники учатся распознавать актуальные сценарии атак, закрепляют правильные модели поведения и в результате реже становятся причиной инцидентов, связанных с человеческим фактором.В первой части обзора Phishman 2.35 мы рассмотрели платформу с точки зрения её возможностей. Теперь пришло время проверить, как всё это работает на практике. За время проекта мы не только оценили эффективность различных сценариев, но и столкнулись с рядом особенностей, которые невозможно увидеть в документации. Одни из них влияли на ход тестирования, другие оказались скорее организационными нюансами, о которых стоит знать заранее.Методология тестирования Phishman 2.35В процессе работы с киберкультурой «АМ Медиа» мы будем использовать следующие метрики:Обученность. Отражает уровень знаний сотрудников в области ИБ. Показатель растёт, когда сотрудники осваивают темы: реагирование на инциденты, защита от социальной инженерии и другие критически важные компетенции.Иммунность. Показывает, как сотрудники применяют знания на практике. Она повышается, когда демонстрируется способность распознавать угрозы и правильно на них реагировать в реальных сценариях.Киберосознанность — итоговая метрика. Объединяет знания и практические навыки, показывая, насколько сотрудники в целом устойчивы к киберугрозам и действуют корректно при их возникновении.Прежде чем оценивать эффективность работы системы, необходимо определить отправную точку. Первичное тестирование определит, на какие сценарии реагирует каждый сотрудник, где чаще всего допускаются ошибки и какие темы требуют дополнительного развития. На основе этих данных формируется индивидуальная программа обучения: сотрудники проходят персонализированные курсы, выполняют практические задания и тесты, которые помогают устранить выявленные пробелы и закрепить необходимые навыки. В процессе обучения повышается уровень обученности, а закрепление знаний через практику влияет на показатель иммунности. После завершения обучения мы проведём повторное тестирование, которое покажет, какие изменения произошли по всем ключевым метрикам.Заключительный этап — сравнение результатов первичного и повторного тестирования. Здесь станет понятно, насколько вырос уровень киберкультуры сотрудников: изменилось ли их отношение к вопросам ИБ, стали ли они увереннее распознавать угрозы и чаще принимать безопасные решения в ситуациях, где раньше могли допустить ошибку.В качестве основного канала для рассылки фишинга выбрали электронную почту. Причина очевидна: именно она остаётся основным способом первичного контакта злоумышленников с сотрудниками и доставки фишинговых сценариев. По имеющимся оценкам, более 90 % успешных кибератак начинаются с электронного письма, поэтому исключать этот канал из подобных проверок было бы некорректно.Первичное тестированиеРеальные фишинговые атаки почти никогда не строятся по универсальному шаблону: злоумышленники адаптируют содержание писем под роль человека в компании, его рабочие процессы и типовые задачи. Поэтому при выборе целевой аудитории мы разделили сотрудников по функциям и уровню доступа к корпоративным данным, а сам проект разбили на 3 последовательные волны с разным уровнем сложности.Подготовка шаблонов фишинговых сообщений, инфраструктуры рассылкиПосле определения целевой аудитории был проведён анализ структуры подразделений и рабочих процессов сотрудников. На этом этапе изучались:должностные обязанности;распределение зон ответственности;характер внутреннего взаимодействия между отделами;используемые адреса электронной почты;формат повседневной служебной переписки.Это позволило понять, какие сценарии коммуникации являются для сотрудников привычными и не вызывают подозрений.На основе собранных данных были подготовлены сценарии фишинговых сообщений. При разработке содержимого учитывались тематика рабочих задач, стиль корпоративного общения, оформление внутренних уведомлений и типовые причины отправки писем внутри организации. Основная задача заключалась в том, чтобы письмо воспринималось как стандартное рабочее сообщение, соответствующее реальным бизнес-процессам заказчика.Волна 1. Первая волна была построена как массовый фишинг. Сценарий — сверка графика отпусков. Для атаки создавали и настраивали пользовательский шаблон. Тип атаки — обычный, время начала рассылки — сразу, при запуске атаки.На этом этапе проверялась базовая реакция сотрудников на привычные рабочие триггеры и способность распознавать типовые признаки фишинга без привязки к конкретному подразделению. Рисунок 1. Шаблон для первой волны Рисунок 2. Вид фишингового письма из первой волны в почте Волна 2. Для каждого отдела были подготовлены письма, основанные на реальных рабочих процессах, характерных запросах и ситуациях, с которыми сотрудники регулярно сталкиваются в своей деятельности. Для атаки создали и настроили пользовательский шаблон, где-то добавили немного визуального оформления. Время начала рассылки — по запланированному времени. Рисунок 3. Пример шаблона из второй волны для отдела «Продажи» Рисунок 4. Вид фишингового письма из второй волны для отдела «Продажи» Волна 3. Здесь моделировались уже более сложные сценарии целевого фишинга (spear phishing). В письмах использовались специальные формулировки, элементы корпоративного брендирования. На этом этапе проверялась не только внимательность сотрудников, но и способность замечать менее очевидные признаки атаки в условиях, максимально приближённых к реальной целевой компрометации.За основу брали системный брендированный шаблон «Яндекс ID», добавили фишинговую форму и скорректировали немного её содержание. Тип атаки — обычный, время начала рассылки — по запланированному времени. Рисунок 5. Пример шаблона из третьей волны Рисунок 6. Вид фишингового письма из третьей волны При переходе по ссылке открывалась фишинговая страница. Рисунок 7. Фишинговая страница Тестирование доставки и отражения результатов в статистикеДалее была подготовлена инфраструктура рассылки. После её настройки проводилось тестирование доставки сообщений. Проверялась доставка писем во входящие сообщения почтовых клиентов, анализировалась реакция антиспам-механизмов в почте, а также контролировалась корректность работы механизмов отслеживания действий пользователей. Рисунок 8. Результаты тестирования доставки и отображения сообщений в почте Тестирование прошло успешно.После завершения проверки была сформирована последовательность отправки сообщений по заранее определённым волнам. Такой подход позволил распределить нагрузку, контролировать ход тестирования и отслеживать реакцию сотрудников на различных этапах проведения проверки. Рисунок 9. Активные мероприятия Результаты атакБыли получены следующие результаты:Иммунность — 81 %. Хороший иммунитет, большинство реагирует правильно. Охват аудитории (повторно попались на фишинг) — 71 %.Уровень риска — 8, средний. Устойчивость формируется, но есть ещё риски. Рисунок 10. Общая информация после проведения первичного тестирования Самый низкий уровень иммунности — около 50 %, после первых двух волн атак. Рисунок 11. График иммунности во время первичного тестирования Далее — сформировали в системе отчёт по скомпрометированности сотрудников, на основании которого выполнили самостоятельный анализ результатов по отделам без учёта результатов тестирования шаблонов атак. Рисунок 12. Отчёт по скомпрометированности всех сотрудников в Phishman 2.35 Таблица 1. Результаты первичного тестирования по отделамОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДокументооборот04,76 %4,76 %Продажи04,76 %9,52 %Продюсеры 0023,8 %Редакция0019,04 %Руководитель000 ОбучениеПервичное тестирование завершено, поэтому следующим этапом стало определение группы риска и формирование программы обучения.Формирование учебной группыНа этапе отбора рассматривались два варианта формирования учебной группы. Первый предполагал использование показателя иммунности сотрудников. Второй вариант заключался в создании правила, автоматически формирующего список сотрудников, которые были скомпрометированы в ходе проведённых проверок. Этот подход позволял сразу получить выборку пользователей, продемонстрировавших наибольшую подверженность атакам, без ожидания обновления показателей.Был выбран второй вариант. На основании созданного правила была сформирована группа для обучения: в неё вошли люди, которые были скомпрометированы в ходе первичного тестирования. Рисунок 13. Создание правила для выявления группы риска Рисунок 14. Отчёт по отработанному правилу для выявления группы риска Отдельно была сформирована группа сотрудников, успешно распознавших фишинговую атаку, для участия в обучении, направленном на поддержание киберкультуры.Составление образовательной программы по повышению киберкультурыПопавшиеся сотрудники были включены в отдельную учебную группу, для которой сформировали персональную образовательную траекторию. В неё вошли 3 микрокурса по фишингу и 1 курс по информационной безопасности. Содержание траектории было направлено на повышение устойчивости к методам социальной инженерии и снижение вероятности компрометации учётных данных. Рисунок 15. Заполнение параметров обучения сотрудников Рисунок 16. Составление учебной программы Отдельно была запущена программа обучения для сотрудников, которые не попали в выборку по результатам правила.Процесс обучения и его результатыПервый отчёт мы сформировали через 2 дня после запуска обучения, что позволило получить предварительную оценку вовлечённости сотрудников. Анализ данных показал, что наибольшую активность на начальном этапе продемонстрировали сотрудники, которые попались на фишинг. Рисунок 17. Промежуточный анализ обучения Через неделю после запуска обучения провели повторный анализ прогресса, включая оценку прохождения курсов и выявление участников, не приступивших к обучению. Рисунок 18. Отчёт по динамике обучения в Phishman 2.35 Анализ показал, что часть сотрудников не завершила обучение в установленный срок. Для обеспечения максимального охвата было принято решение о продлении сроков прохождения курсов. Рисунок 19. Продление и корректировка процесса обучения В результате фактическая продолжительность обучения составила 2 недели, что превысило первоначально установленный срок в одну неделю. Но и этого времени не хватило нашим сотрудникам. Чтобы узнать, кто оказался более ответственным, воспользовались возможностями правил. Рисунок 20. Пример настройки правила по выявлению сотрудников, прошедших обучение В результате была получена информация о сотрудниках, полностью и частично прошедших обучение. Рисунок 21. Отчёт по сработанному правилу по выявлению сотрудников, прошедших обучение Рисунок 22. Отчёт по сработанному правилу по выявлению сотрудников, частично прошедших обучение Результаты обучения:полностью прошли обучение — 52 %;частично — 22 %;не прошли обучение — 26 %.Мы проанализировали список сотрудников, не приступивших к обучению, и выяснили, что это те, кто не попался на фишинг во время первичного тестирования.Среди сотрудников, которые попались на фишинг, 80 % прошли обучение, остальные — прошли его частично. Рисунок 23. Результаты обучения сотрудников «АМ Медиа» Вместе с тем за этот период были зафиксированы положительные изменения в ключевых показателях: уровень обученности достиг 9 319 баллов, а показатель киберосознанности — 7 561 баллов. Несмотря на положительную динамику, полученные значения оставались гораздо ниже целевых ориентиров, что свидетельствует о необходимости дальнейшей работы по повышению вовлечённости сотрудников и развитию киберкультуры.Повторное тестированиеПовторное тестирование проводилось по тем же этапам, что и первичное: подготовка шаблонов, тестирование и проведение атак. Как и на первом этапе, основной задачей было сделать письмо максимально похожим на стандартную рабочую переписку, соответствующую реальным бизнес-процессам нашей компании.Подготовительный этап повторного тестирования потребовал дополнительных временных затрат, связанных с регистрацией новых доменов и расширением сценариев атак с учётом результатов первичного тестирования.Волна 1. Сценарии формировались не только для отдельных подразделений, но и адресно для конкретных сотрудников, что позволило повысить реалистичность и точность имитации фишинговых атак. Запустили несколько атак, для каждой из них были разработаны индивидуальные шаблоны электронных писем и соответствующие фишинговые формы. Тип атаки — обычный, время начала рассылки — по запланированному времени. Рисунок 24. Пример фишингового письма для первой волны Рисунок 25. Пример фишинговой формы для письма из первой волны Волна 2. Вторая волна представляла собой массовую фишинговую кампанию. Для неё был создан и настроен пользовательский шаблон, основанный на триггерах срочности и страхе финансовых потерь. Тип атаки — обычный, время начала рассылки — сразу, при запуске атаки. Рисунок 26. Пример фишингового письма для второй волны Тестирование доставки писем и корректности отражения результатов в статистике прошло успешно.Результаты атакВ повторном тестировании приняли участие уже 23 человека. Увеличение числа участников на 2 человека связано с подключением новых сотрудников к нашему эксперименту. Резких скачков иммунности здесь не наблюдалось. Рисунок 27. График иммунности во время повторного тестирования Для дополнительной оценки мы и здесь также выполнили самостоятельный анализ результатов по отделам без учёта результатов тестирования шаблонов атак. Таблица 2. Результаты повторного тестирования по отделамОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДокументооборот000Продажи008,7 %Продюсеры 008,7 %Редакция8,7 %08,7 %Руководитель000 Мы также посмотрели, как себя показали сотрудники, которые не прошли обучение, в повторном фишинговом тесте. По данным отчёта, в первой волне повторного тестирования на фишинг попались 40% из всех, кто не обучался. Рисунок 28. Поиск информации о сотруднике в отчёте по атакам Подведение итогов После завершения всех этапов эксперимента мы получили следующие показатели:Иммунность — 76 %. Хороший иммунитет, большинство реагирует правильно. Охват аудитории (повторно попались на фишинг) — 91,3 %.Уровень риска — 7, средний. Рисунок 29. Информационная панель Phishman 2.35 после завершения эксперимента После обучения и повторного тестирования добавились другие показатели:Обученность — 11 / 100. Знания отсутствуют, обучение следует начать с базового уровня.Киберосознанность — 10 / 100. Низкий уровень, сотрудники не знают, как действовать в случае угроз.Часть результатов сравнили и представили их в таблице ниже. Таблица 3. Сравнение показателей киберкультуры до и после обученияПоказательДо обученияПосле обученияОбученность09319Иммунность81 %76 %Киберосознанность 07561Охват аудитории (повторно попались на фишинг)71 %91,3 %Уровень риска87 Также проанализировали действия сотрудников после обучения и сравнили их с результатами первичного тестирования. Таблица 4. Сравнение действий сотрудников до обучения и послеОтделЗаполнили формуОткрыли вложенияОткрыли ссылкуДо обученияПосле обученияДо обученияПосле обученияДо обученияПосле обученияДокументооборот004,76 %04,76 %0Продажи004,76 %09,52 %8,7 %Продюсеры 000023,8 %8,7 %Редакция08,7 %0019,04 %8,7 %Руководитель000000 Рисунок 30. Процент попавшихся на фишинг до обучения и после по отделам Если во время первичного тестирования попалось 22 % участников, то после обучения этот показатель уменьшился и стал 12 %. Рисунок 31. Общий процент попавшихся на фишинг до обучения и после Результаты повторного тестирования показали, что, несмотря на заметное снижение количества взаимодействий с фишинговыми письмами, часть сотрудников по-прежнему выполняет действия, свидетельствующие о подверженности атакам. Это ожидаемый результат, поскольку киберкультуру невозможно сформировать за столь короткое время. Речь идёт о длительном процессе, который требует регулярной работы как со стороны специалистов по информационной безопасности, так и со стороны самих сотрудников.Наш эксперимент позволил проверить знания сотрудников, провести обучение и затем оценить, насколько полученные знания закрепились на практике. Однако с точки зрения развития киберкультуры — это лишь один из этапов работы, а не её завершение.Сложности, с которыми мы столкнулисьОсобенность нашего эксперимента — организация предварительного тестирования. Перед запуском каждой атаки мы проверяли её работу на собственном аккаунте, чтобы убедиться в корректной отработке сценария на стороне пользователя. Такие проверки попадали в общую статистику системы и оказывали влияние на итоговые показатели. Возможность исключить подобные события из расчётов отсутствует. Согласно комментариям вендора, для этих целей следует использовать отдельный тестовый стенд. Поэтому мы вели дополнительно самостоятельный анализ результатов эксперимента.Отдельные сложности возникли на этапе обучения сотрудников. Завершить обучение в установленные сроки не удалось из-за человеческого фактора. Не все участники смогли своевременно пройти назначенные материалы, что потребовало увеличения периода обучения и дополнительного контроля за его прохождением.Впечатления от проекта команды «АМ Медиа»Проведение тестирования не вызвало негативной реакции со стороны сотрудников. Хотя фишинговые сообщения активно обсуждались внутри коллектива, жалоб руководству или недовольства вида «зачем вообще было устраивать такую проверку» не возникло. Основной интерес был сосредоточен вокруг самих писем и попыток понять, что именно происходит.Реакция сотрудниковОдним из самых любопытных наблюдений стала реакция сотрудников после первой волны первичного тестирования. Полученные фишинговые сообщения быстро стали предметом обсуждения: сотрудники пересылали их друг другу, задавали вопросы коллегам и пытались разобраться, что происходит.Некоторые пошли ещё дальше и вступали в переписку с отправителем, воспринимая фишинговые письма как реальные рабочие сообщения. Это наглядно показало не только убедительность используемых сценариев, но и то, что практическое столкновение с угрозой вовлекает сотрудников в тему ИБ гораздо сильнее, чем абстрактные примеры из учебных материалов. Во время повторного тестирования такой реакции уже не возникло.Реакция организаторовЕсли для большинства сотрудников тестирование выглядело как неожиданно появившиеся письма в почте, то для команды, которой было поручено тестирование Phishman 2.35 этот проект сопровождался совсем другими эмоциями. Подготовка сценариев, запуск атак и ожидание результатов вызывали ощутимое волнение. Оказалось, что смотреть на ситуацию глазами злоумышленника не так просто, как может показаться со стороны. Приходилось постоянно задавать себе вопросы: какой сценарий покажется правдоподобным, что привлечёт внимание сотрудника, а что, наоборот, вызовет подозрения.Самыми напряжёнными были дни первой волны тестирования. На этом этапе ещё не было понимания, как сотрудники отреагируют на рассылки, насколько убедительными окажутся сценарии и не вызовет ли проверка негативной реакции внутри коллектива. С каждой новой зафиксированной активностью интерес смешивался с тревогой, а результаты ожидались едва ли не с большим нетерпением, чем сам запуск кампании.После завершения эксперимента стало легче: всё задуманное удалось реализовать, результаты были получены и проанализированы. Тем не менее полностью избавиться от мыслей о проделанной работе не получилось. Время от времени возвращаешься к отдельным этапам и задаёшься вопросом: а стоило ли сделать именно так? Может быть, какой-то сценарий можно было построить иначе, а какие-то решения принять по-другому?Наверное, это естественная часть любого практического проекта. Когда работа заканчивается, появляется возможность посмотреть на неё со стороны и критически оценить собственные решения. Именно в такие моменты часто приходят идеи, которые помогают сделать следующие проекты лучше.Сотрудничество с вендоромВ ходе подготовки и проведения эксперимента иногда возникали вопросы, связанные с настройкой платформы, особенностями реализации отдельных сценариев и интерпретацией результатов. Для их решения использовались как переписка, так и рабочие созвоны. Запросы обрабатывались оперативно, что позволяло своевременно получать необходимую информацию и не допускать задержек в выполнении работ. Поддержка была доступна не только в рабочее время, но и в выходные дни.ВыводыПовторное тестирование показало, что тщательно подготовленные и персонализированные фишинговые атаки значительно эффективнее. При наличии качественной разведки злоумышленники способны подобрать убедительный сценарий практически для любого сотрудника. А если специалист может ошибиться, то сотруднику, который не занимается вопросами ИБ каждый день, сделать это ещё проще.Работа в сфере информационной безопасности или информационных технологий сама по себе не защищает человека от фишинга, социальной инженерии и других современных атак. Мы убедились в этом на собственном опыте: даже профильные знания не гарантируют, что человек не попадется на хорошо продуманную атаку. Злоумышленники постоянно меняют сценарии, поэтому знания, полученные однажды, быстро устаревают.При помощи эксперимента мы не только проверили, насколько сотрудники готовы распознавать атаки, но и поняли, как с помощью Phishman 2.35 можно сделать работу по развитию киберкультуры системной. Вместо отдельных курсов появился понятный цикл: смоделировать атаку, оценить реакцию, провести обучение и проверить, изменилось ли поведение участников. При необходимости — повторить или скорректировать процесс при помощи рекомендаций платформы. Результаты фиксируются автоматически, поэтому можно видеть, какие темы требуют больше внимания, и развивать киберкультуру на основе реальных данных, а не предположений.Читать далее
    • PR55.RP55
    • santy
      RP55, есть у тебя ТГ?
×