Что такое брутфорс (brute force attack) - подробный анализ

При освещении в СМИ вируса NotPetya не сообщалось, что он мог наделать еще больше зла. Например, брутфорс на парламент Великобритании. Это является еще одним напоминанием того, что brute force остается глобальной угрозой:

Это также наводит нас на важные вопросы - в первую очередь, как такое могло произойти:

Подобные проблемы заставляют задуматься о том, что нужно глубже исследовать этот тип атаки.

Брутфорс - что это?

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

Чаще всего брутфорс атаки используются для подбора учетных данных. Хотя их можно применять для взлома URL-адреса.

Классическая brute force атака - это попытка «угадать» пароль в ПК, когда злоумышленник завладел зашифрованным его значением.

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

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

Имеют ли место brute force атаки онлайн?

Одновременно подобрать имя пользователя и пароль непросто. Большинство систем при неудачном входе в систему не сообщают, что было введено неверно: имя пользователя или пароль. Первый шаг, который предпринимает злоумышленник - это попытка атаковать известных пользователей.

Хакер может находить имена пользователей, используя открытые исследования. Во многих организациях, например, логины пользователей имеют предсказуемую структуру, основанную на имени сотрудника. Простой поиск в LinkedIn позволяет выявить большое количество имен пользователей.

Тем не менее, этот тип классической brute force атаки онлайн является скорее гипотетической. Причина проста: у большинства современных систем и приложений есть встроенная блокировка. Если пользователю не удается войти в систему за несколько попыток, учетная запись блокируется и для ее разблокировки требуется вмешательство администратора.

Сегодня такая защита от брутфорса создает больше головной боли для IT-отделов, чем для злоумышленников. Обработка таких блокировок становится более насущным вопросом, чем обнаружение brute force.

Исключение составляют пользовательские приложения. Хотя традиционный вход в Windows не может быть использован для brute force, новое веб-приложение, разработанное специально для предстоящей маркетинговой кампании, вполне для этого подходит.

Рост количества случаев credential stuffing

В то время как классические онлайн-атаки с использованием brute force, идут на убыль, credential stuffing только набирает обороты.

Credential stuffing - это атака, в которой злоумышленники используют пары имя пользователя / пароль, украденные с общедоступных сайтов, чтобы проникнуть в атакуемую систему.

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

Подбор пароля брутфорсом при Credential stuffing позволяет обойти блокировку, поскольку каждое имя пользователя вводится только один раз. Использование известной пары имя пользователя / пароль увеличивает вероятность успеха с меньшим количеством попыток.

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

Поскольку двухфакторная аутентификация громоздка, успешная аутентификация обычно одобряется на основе любого «аналогичного» доступа. «Аналогичный» доступ может представлять собой использование одного и того же устройства или географического местоположения.

Многие из нас сталкивались с сайтами, требующими двухфакторной аутентификации при обращении с нового устройства, публичной сети или во время поездок.

Хотя двухфакторная аутентификация является надежным решением, она имеет существенные недостатки: при ней изменяется пользовательский интерфейс и она предполагает интерактивный вход в систему.

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

Обнаружение brute force атак

Часто рекомендуемый метод обнаружения brute force атак связан с определением классических атак. Это обнаружение нескольких неудачных попыток входа в систему для одного пользователя за короткий промежуток времени.

Многие рекомендации для начинающих при создании правил корреляции SIEM (Security Information and Event Management) делают упор на обнаружение brute force атак именно по такому сценарию. Хотя это изящный и простой путь, но он предназначен для определения практически несуществующего вектора атак.

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

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

Чтобы справиться с этой проблемой, механизм обнаружения должен определять нормальную скорость соединений или сбоев от исходного IP-адреса, чтобы установить, какой будет ненормальная скорость. Тем самым принимая во внимание тот факт, что несколько пользователей могут подключаться к одному и тому же IP-адресу.

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

Распределенные брутфорс атаки, например, путем использования ботнета или перенаправления через сеть прокси-серверов TOR, еще больше усложняют задачу. Отслеживание источника становится неэффективным. Фильтрация устройств может работать до определенной степени. Особенно если атака выполняется одним источником, но через несколько маршрутов. В качестве дополнительной меры можно использовать информацию о потенциальных угрозах, которая помогает идентифицировать доступ с известных узлов бот-сетей или прокси-серверов.

Практика обнаружения атак

До сих пор мы предполагали, что события, анализируемые для установления атаки, являются ярко выраженными. Любое событие неудавшегося входа в систему определяется как успешная или безуспешная попытка, а имя пользователя всегда находится в одном поле и имеет один формат.

Но обработка потока событий для подготовки их к анализу и обнаружению брутфорс также является проблемой, которую нужно рассматривать отдельно.

В качестве примера возьмем Windows, самый распространенный источник. Событие входа в систему Windows (идентификатор события 4624) и событие неудачного входа Windows (идентификатор события 4625) регистрируются локально на каждом компьютере. Это делает более сложным сбор информации. Это также означает, что злоумышленник, который владеет компьютером, может заблокировать ее получение. Контроллер домена регистрирует событие аутентификации, которое может использоваться как прокси для события входа в систему.

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

Приведенные ниже результаты поиска в Splunk (в поисковом хранилище GoSplunk), которые я использовал для идентификации успешных и безуспешных попыток входа в Windows, демонстрируют уровень знаний, необходимых для извлечения такой информации из событий. Это даже без учета аутентификации контроллера домена.

source="WinEventLog:security" (Logon_Type=2 OR Logon_Type=7 OR Logon_Type=10) (EventCode=528 OR EventCode=540 OR EventCode=4624 OR EventCode=4625 OR EventCode=529 OR EventCode=530 OR EventCode=531 OR EventCode=532 OR EventCode=533 OR EventCode=534 OR EventCode=535 OR EventCode=536 OR EventCode=537 OR EventCode=539) | eval status=case(EventCode=528, "Successful Logon", EventCode=540, "Successful Logon", EventCode=4624, "Successful Logon", EventCode=4625, "Failed Logon", EventCode=529, "Failed Logon", EventCode=530, "Failed Logon", EventCode=531, "Failed Logon", EventCode=532, "Failed Logon", EventCode=533, "Failed Logon", EventCode=534, "Failed Logon", EventCode=535, "Failed Logon", EventCode=536, "Failed Logon", EventCode=537, "Failed Logon", EventCode=539, "Failed Logon") | stats count by status | sort - count

Обнаружение атак через Cyber Kill-Chain

Обнаружение brute force атак является непростой задачей при защите от брутфорса WordPress. Ни один из методов обнаружения, описанных выше, не дает 100-процентной гарантии результата, а злоумышленники в свою очередь постоянно совершенствуют методы противодействия их обнаружению.

Поэтому крайне важно, чтобы любая система, используемая для обнаружения brute force атак, включала в себя нестандартные алгоритмы и, чтобы эти алгоритмы обнаружения постоянно обновлялись.

Вадим Дворниковавтор-переводчик

Пожалуйста, оставляйте ваши отзывы по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, лайки, отклики, подписки!