DNS-провайдер OpenDNS представил новый алгоритм NLPRank, который умеет выявлять фишинговые кампании и продвинутые APT-угрозы, анализируя лингвистические паттерны в DNS-трафике. Другими словами, по названиям запрашиваемых доменов и по изменению таких запросов со временем.
Аббревиатура NLP в названии означает технику обработки естественного языка (natural language processing). Подобные алгоритмы чаще используют в дата-майнинге и боинформатике, так что применение их для DNS-трафика в сфере информационной безопасности — что-то новенькое.
В случае фишинговых и APT-атак можно довольно просто понять принцип работы NLPRank. Авторам вредоносных программ требуются хосты, максимально похожие на легитимные домены. При этом трафик к таким хостам резко возрастает после начала атаки, когда тысячи жертв переходят по ссылкам.
NLPRank использует несколько эвристик. Близость между названиями подозрительного и легитимного хостов он вычисляет по количеству операций, которые нужно совершить для преобразования одной последовательности букв в другую (edit-distance). Эта тенденция прослеживается на примере разных атак.
Кроме буквенной близости, анализируются уникальные номера ASN, данные WHOIS, дата регистрации домена, одинаковые фрагменты HTML-кода на страницах разных доменов и прочее.
Всё это позволило эффективно и автоматически выявлять фишинговые домены, несколько примеров которых OpenDNS приводит в своём блоге.