Очевидно, меня подозревали и что-то искали, а потому изъяли все, что могли. Никаких обвинений не предъявляли. Так что по существу мне рассказать нечего.
Чем все закончилось?
История имела приятное продолжение и закончилась внесудебным урегулированием с выплатой мне отступных в размере зарплаты сферического программиста из РФ за несколько лет, так что никакие это не потери, а сплошные приобретения. Выводы? Все, что не убивает, делает нас сильнее. Хотя кастрированный кот с этим может быть не согласен.
Подобные бодрящие дух инциденты регулярно случаются с известными специалистами по ИБ и «полевыми хакерами». Пройдя через это лично, что посоветуешь своим коллегам?
С тех пор, когда внезапно ФБР постучалось в дверь и изъяло все железо, флешки и все-все-все, у меня появился ценный жизненный опыт. Теперь время от времени самые важные для меня данные я сбрасываю на «винт» и кладу в банковскую ячейку. Это — мои личные файлы (не для чужих глаз). А все, что не представляет секрета, я активно раздаю народу. В тот раз мне пришлось собирать себя по кусочкам, качая файлы взад у тех, кому я их давал ранее. Месяца за три я собрал себя процентов на девяносто, кое-что оказалось утеряно безвозвратно, ну и фиг с ним.
Переходя к твоей специализации — реверсинг любого кода, анализ вирусов и разной малвари. Расскажи про их эволюцию — вначале были стелз-вирусы, затем пришла эпоха полиморфов, а что было потом?
А потом «замысловатые слова» посыпались как из рога изобилия. Advanced persistent threat (или сокращенно APT) обычно включает в себя сокрытие факта своего присутствия в системе (он же Stealth, он же Root-Kit), активное/пассивное противодействие обнаружению и удалению и т. п.
Полиморфизм — это частный случай метапрограммирования. В computer science под метапрограммированием обычно подразумевают программу, результатом работы которой является другая программа. Пассивные детекторы сканируют файлы в поисках уникальных последовательностей символов. Активные (их принято называть «проактивные») детекторы работают по принципу поведенческого анализа. Грубо говоря, последовательность вызова API-функций — это метрика. Поведенческий анализ распознает определенные сценарии (например, инъекцию кода в доверенный процесс) безотносительно того, как именно они реализованы, и последние несколько лет идут кровопролитные бои за видоизменение поведенческих сценариев до состояния, когда они становятся практически неотличимы от легитимных сценариев популярных программ.
Изменились и угрозы. Если во времена MS-DOS вирусы были «проблемой грязных рук» и не затрагивали тех, кто пользовался лицензионным программным обеспечением, то сейчас основная масса вредоносных программ распространяется через документы, эксплуатируя ошибки проектирования. Дороже всего приходится расплачиваться за ошибки в сетевом стеке — чтобы подхватить заразу, достаточно всего лишь интернет-подключения, даже браузер запускать не обязательно, хотя ошибки в сетевом стеке — большая редкость и гораздо чаще хакеры проникают через святую троицу — pdf, jar, swf. По умолчанию браузер загружает их автоматически, и если не установлены обновления — ждите проблем.
Вообще, полиморфическим технологиям сейчас переломили хребет?
Отнюдь. Во времена MS-DOS вирусы включали в себя генератор кода, доступный для анализа. Сейчас же код генерируется удаленно на хакерском сервере и отдается по http-запросу. Или... не отдается. Сервер проверяет IP-источник запроса, и в случае каких-либо подозрений последующие ответы возвращают 404 или чистую страницу. К тому же, хакеры обязательно проверяют IP на принадлежность к антивирусным компаниям и разным правительственным лабораториям. Да и сам генератор в любом случае остается недоступен. В самом лучшем случае вы можете его купить на черном рынке за наличные деньги, но чаще всего такая возможность недоступна, а потому в распоряжении аналитиков есть лишь отдельные экземпляры работы генератора, в которых необходимо выделить неизменную часть, что существенно затрудняет разработку детектора.
К тому же централизованный генератор хакеры могут обновлять так часто, как им вздумается. Прошли времена, когда вирусы работали только под MS-DOS и только под Intel x86. Сейчас необходимо распознавать не только машинный код x86, ARM, PowerPC, не только байт-код (Java, Flash), но и бесчисленное множество скриптовых языков (JavaScript, VBScript, Python).
Например, на Маках Python идет предустановленным, что открывает для хакеров новые перспективы. Кстати, Python замечательно распространяется не только в виде скриптов, но и байт-кода.
На фоне всего сказанного, что можно сказать про перспективы традиционного автоматического лечения вирусов?
Автоматическое лечение (удаление троянцев) неуклонно сдает свои позиции, и зачастую лечение сводится к переустановке системы. Кроме того, лечение возможно только на end-points. Типичный IPS в лучшем случае предотвращает атаку, но не в состоянии обезвредить уже атакованные системы, поскольку IPS находится между атакуемым и атакующим.
Вообще сейчас перед хакером стоит другой приоритет — любой ценой передать управление на свой код, например, расположенный в файле документа и не рассчитанный на исполнение. Эта новая доминанта содействовала развитию веера новых технологий от NOP Slides до Heap-Spay и Return oriented programming (оно же ROP).
Крис, как человек изнутри этой темы, поясни, как антивирусная индустрия вообще справляется с таким огромным потоком новых зловредов? Сколько «дохлых тушек», положенных реверсеру на стол, он способен физически обработать в сутки?
Этим занимаются специально обученные люди и машины, причем машины все более активно вытесняют людей. Все, что можно автоматизировать, — давно автоматизировано. Сейчас этих тушек столько, что никаких человеческих ресурсов на них не хватит. В качестве примера устройства этого процесса могу посоветовать интересную презентацию, ищите ее по ключевым словам: Adobe Malware Classifier.Вообще, дизассемблировать каждую тушку зловреда — это все равно, что хватать вражеских солдат по одному и допрашивать. Оно, конечно, полезно. Добыть языка. Одного. А лучше двух. Но что они могут рассказать? Стратегические планы верховного командования им все равно не известны.
Сегодня зловреды уже не сами по себе. Они — пушечное мясо на поле кибер-войн, сегодня от них зависит чуть больше, чем ничего. Сейчас важно суметь понять устройство хакерской экосистемы — круговорота машинного кода и наличных денег.
Каковы сейчас самые общие тренды ИБ в рамках этого круговорота?
Основные тренды уже сидят, причем сидеть им еще долго — лет двадцать, а то и больше. На помощь антивирусам пришли FBI, CIA, US Secret Service и другие страшные слова. Поэтому сейчас маржа везде падает, а посадки растут.
Самый последний писк моды — в прицел атаки попали встраиваемые устройства. В первую очередь это, конечно, роутеры. Зловредный код в роутере очень сложно обнаружить. А тем временем хакеры наши способ проникнуть внутрь камер наблюдения, подключенных к Ethernet, например используя процессорные мощности для майнинга биткоинов. На очереди умная бытовая техника (например, холодильники), а также атаки на бортовой компьютер автомобиля — это фантастика новой реальности.
Куда растет современный рынок коммерческих решений в области ИБ? Насколько я знаю, это одно из самых быстрорастущих и популярных направлений вообще в ИТ?
У меня лет двадцать опыта работы в индустрии безопасности, в том числе и на позиции архитектора. Я хорошо знаю рынок и видел множество примеров успешных начинаний, впрочем, неуспешных примеров было еще больше. Рынок систем безопасности действительно очень быстро растет. И растет он потому, что совсем недавно вирусами занимались школьники, «подонки» и прочие «креативные» личности. Затем ПК подключили к банкам, и тут оказалось, что на троянах можно делать деньги.