Строго говоря, нельзя утверждать, что APEG создает уже полностью готовые для реальной атаки средства. Не доказано и то, что технология универсальна, то есть может обнаруживать и использовать "в корыстных целях" любой тип уязвимостей. Тем не менее она показывает, что вредоносные коды на основе патчей действительно можно создавать очень быстро.
А это значит, что Microsoft не предпринимает адекватных шагов для затруднения подобных атак (которые, повторим, не столь уж и новы). В качестве возможных шагов для улучшения ситуации с защитой разработчики APEG предлагают Microsoft несколько решений:искусственное "затемнение" кода патча командамипустышками, шифрование патчей при рассылке с последующим распределением ключа для одновременной активации, использование пиринговых технологий для более быстрой повсеместной установки патчей.
Разумеется, ни одно из этих решений не устраняет проблему полностью, однако, по мнению ученых, делает ситуацию менее угрожающей.
В 2005 году, когда корпорация Microsoft в очередной раз выдала публике скупую информацию о латании критической уязвимости в браузере Internet Explorer, специалист по обратной инженерной разработке Халвар Флэйк (Halvar Flake) решил выяснить, в чем там дело. Компания Флэйка SABRE Security разработала на продажу специальный аналитический инструмент BinDiff для выявления различий в бинарных кодах программ, исследователь продемонстрировал эффективность нового инструмента на примере сравнения исходной и пропатченной версии браузера Microsoft.
Специфические отличия в версиях программ, указавшие на уязвимость в обработке графики формата PNG, были обнаружены и проанализированы меньше чем за двадцать минут. Конечно, столь впечатляющая скорость анализа не в последнюю очередь объясняется небольшими размерами PNG-патча, тем не менее демонстрация выглядела весьма эффектно и стала одним из первых наглядных примеров того, как код патча сам предоставляет информацию о скрытой в системе уязвимости.
После этой работы исследователи SABRE опубликовали еще несколько статей, где показали, как с помощью BinDiff по пакетам апдейтов Microsoft за несколько часов можно создавать вредоносные коды, эксплуатирующие разнообразные дыры в системе. Попутно выяснилось, что примерно тем же самым хакеры андеграунда занимались и прежде.
Теперь же инструменты вроде BinDiff или функционально похожей программы IDA Pro с их дружественным пользовательским интерфейсом существенно раздвинули границы как технологии, так и круга лиц, владеющих подобным инструментарием.
В каком-то смысле можно говорить, что публикация патчей-заплат в их традиционной форме все больше становится похожа на выпуск инструкций по поиску неизвестных уязвимостей в закрытой системе.
Следующая работа — с майской конференции семинара по крупномасштабным и новым компьютерным угрозам (USENIX workshop on Large-Scale Exploits and Emergent Threats [LEET]). Сотрудники Иллинойского университета (Урбана-Шампань) представили на удивление эффективный подход к добавлению аппаратных закладок в компьютеры общего назначения [2].
Исследователи показали, что внесения в схему процессора совсем небольшого (одна-две тысячи) числа элементов достаточно для обеспечения широкого спектра дистанционных атак, которые невозможно выявить или предотвратить с помощью традиционных софтверных подходов к безопасности. Правда, для проведения подобных атак требуется фундаментально скомпрометировать компьютеры на этапе их создания или сборки. Понятно, что злоумышленнику-одиночке это не по силам. Однако вполне по силам организованной преступности, не говоря уже о государственных спецслужбах.
Технически это выглядит так. Скрытые в процессоре вредоносные схемы обеспечивают атакующую сторону невидимым внутренним плацдармом для атак. Поскольку такие схемы занимают уровень, находящийся ниже стека программ, они способны обходить все традиционные техники защиты. Анализ подобных закладок только-только начинается, ограничиваясь случаями простейших троянцев. Более сложные схемы пока не исследованы, как и контрмеры, которые атакующая сторона может принимать для обхода предлагаемых форм защиты.
В работе [2] представлена общая конструкция и конкретные формы реализации так называемых IMPs (Illinois Malicious Processors, "иллинойских вредоносных процессоров"). Показано, что даже с учетом жестких ограничений по месту, его все равно достаточно для планирования разнообразных типов атак, а не одной узконаправленной. Такая гибкость схемы позволила разработчикам продемонстрировать две конкретные конструкции и реализовать их практически в конкретной системе FPGA-чипа, то есть процессора с перепрограммируемой логикой. Вот примеры, подтверждающие общую концепцию.