
Решение для обнаружения обфусцированных команд на кроссплатформенной основе, представленное на CIS2019 China. 动静态Bash/CMD/PowerShell命令混淆检测框架 - CIS 2019大会
Обфускация командной строки (CLOB) была признана значимым фактором в бесфайловых вредоносных программах или злонамеренных действиях, использующих системные утилиты («living off the land»). Несмотря на десятки инструментов обфускации, встречающихся в дикой природе, напротив, можно найти лишь несколько адекватных контрмер. В этом докладе мы представляем Flerken — подход к обнаружению обфускации, который работает как для команд Windows (Powershell и CMD), так и для Linux (Bash). Насколько нам известно, Flerken — первое решение, поддерживающее функцию кроссплатформенного обнаружения обфускации.
В этом докладе сначала представлены некоторые ключевые наблюдения о CLOB, такие как векторы атак и стратегии анализа. Затем мы приводим подробное описание архитектуры Flerken. Описание разделено на две части, а именно Kindle (для Windows) и Octopus (для Linux). Соответственно, мы покажем, как человекочитаемость может служить эффективным статистическим признаком против обфускации PS/CMD, и как динамический синтаксический анализ может быть применен для устранения ложных срабатываний/пропусков при обнаружении обфускации Bash CLOB. Эффективность Flerken оценивается на репрезентативных выборках белых и черных команд, а также на экспериментах по производительности.
Здесь мы выделяем функциональные свойства, которым в основном удовлетворяет Flerken:
• Масштабируемость. Flerken поддерживает кроссплатформенное обнаружение обфускации. Кроме того, Flerken может помочь в обеспечении обнаружения обфускации в реальном времени в серверных EDR-системах (в масштабе порядка миллионов).
• Точность. Flerken способен правильно различать большинство обфускаций команд Windows/Linux. Таким образом, Flerken может быть принят предприятиями во многих расследованиях безопасности серверных конечных точек.
• Доступность. Flerken теперь доступен через его официальную веб-страницу. Все, что вам нужно сделать, это вставить строку команды и протестировать то, что вы хотите проанализировать. Не требуется определенного формата входного файла. Мы также открыли исходный код Flerken на Github, чтобы вы могли создать свой собственный детектор по мере необходимости.
Пожалуйста, посмотрите нашу другую ветку web-demo.
Если у вас есть вопросы или отзывы о Flerken. Пожалуйста, создайте issue и выберите подходящую метку. Мы решим его как можно скорее.
Пожалуйста, смотрите наш CHANGELOG.md
Мы хотели бы поблагодарить всех участников этого исследовательского проекта и всех членов команды Tencent Blade. Кроме того, мы хотели бы поблагодарить исследователей безопасности Daniel Bohannon и Andrew LeFevre за их ценные отзывы и обсуждения.
Flerken выпущен под лицензией Apache 2.0.