Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности
Шрифт:
В большинстве хакерских атак важнее всего выяснить, с какими цифровыми активами связана компания. Обычно идентифицируются не только основные (публичные) сайты и службы; чаще злоумышленнику полезнее обратить внимание на менее популярные, такие как ресурсы сотрудников и партнеров. Такие сайты и серверы, скорее всего, имеют более слабую систему безопасности, нежели крупные порталы компаний.
Затем толковый хакер начинает собирать сведения обо всем ПО и сервисах, доступных на каждом из этих сайтов. Это процесс, известный как сбор цифровых отпечатков. Очень важно узнать, какие операционные системы (ОС) и их версии используются. Версии ОС могут сказать хакеру об уровнях защиты системы и ошибках, которые могут или не могут присутствовать. Представим, что он встречает операционную систему Windows Server 2012 R2 или Linux Centos 7.3-1611. По той же причине он ищет программы и вариации версий программного обеспечения, работающие на каждой из этих ОС. Если это веб-сервер,
Примечание. Некоторые хакеры называют общий нетехнический сбор информации поиском следов, а поиск информации об операционной системе и программном обеспечении – сбором цифровых отпечатков.
Порой, когда хакер подключается к сайту, тот услужливо отвечает очень подробной информацией о версиях программного обеспечения, поэтому не нужны никакие дополнительные инструменты. На случай, если этого не происходит, существует много инструментов, упрощающих сбор цифровых отпечатков. На сегодня первый инструмент, который использует хакер для сбора цифровых отпечатков, – это Nmap . Программа разработана в 1997 году. Она представлена в нескольких версиях, поддерживающих операционные системы Windows и Linux, и, по сути, представляет собой швейцарский армейский нож, только для хакера. Nmap может выполнять все виды сканирования и тестирования хоста, и это очень хороший способ сбора цифровых отпечатков. Для этого существуют и более мощные приложения, в частности сосредоточенные на сборе определенных данных, таких как информация о веб-серверах, базах данных или серверах электронной почты. Например, программа Nikto2 не только эффективнее Nmap собирает цифровые отпечатки с веб-серверов, но и выполняет тысячи пентестов и позволяет выявить уязвимые места.
Проникновение
Это шаг, который позволяет хакеру получить первоначальный доступ. От его успешности зависит весь дальнейший процесс. Если хакер хорошо поработал на этапе снятия цифровых отпечатков, то проникновение будет действительно не таким уж сложным. Честно говоря, я всегда его проходил. В сфере ИБ есть недостатки: используется старое программное обеспечение, остаются незакрытые уязвимости из-за игнорирования патчей и почти всегда что-то неправильно настроено в системе аутентификации.
Примечание. Один из моих любимых трюков – атаковать ПО и устройства, которые специалисты по ИБ используют для защиты своих сетей. Часто такое обеспечение и устройства проблематично пропатчить, и в них на многие годы остаются незалатанные уязвимости.
Если вдруг все ПО и устройства полностью защищены (а такого не бывает), то можно атаковать через человеческий фактор, который всегда оказывается самым слабым элементом системы уравнения. Но без первоначального проникновения для хакера все потеряно. К счастью для него, есть много способов проникнуть к жертве. Вот различные методы, которые хакер может для этого использовать:
• уязвимости нулевого дня (0day);
• непропатченное программное обеспечение;
• вредоносные программы;
• социальная инженерия;
• подбор паролей;
• перехват или атака посредника;
• утечка данных;
• неправильная конфигурация оборудования;
• отказ в обслуживании;
• участие инсайдеров, партнеров, консультантов, производителей и других третьих лиц;
• пользовательский фактор;
• физический доступ;
• повышение привилегий.
Уязвимости нулевого дня
Уязвимости нулевого дня (0day [2] ) – это эксплойты (внедрения), которые встречаются реже, чем другие известные уязвимости, большинство которых производители давно закрыли патчами. Для его исправления еще не выпущен патч, и общественность (как, впрочем, и разработчик) не знает об этом. Любые компьютерные системы, на которых присутствует программное обеспечение с уязвимостями нулевого дня, подвержены взлому, если потенциальная жертва не удалит его или не использует инструмент для смягчения последствий (например, брандмауэр, список контроля доступа, сегментация посредством виртуальных ЛВС, средства защиты от переполнения буфера и т. д.).
2
Читается как «зеро-дэй». – Прим. перев.
Уязвимости нулевого дня не так распространены, как другие эксплойты, поэтому не могут постоянно эксплуатироваться злоумышленником. Если хакер ими злоупотребляет, они будут обнаружены и исправлены специалистами по ИБ и добавлены в сигнатуры антивирусных программ. В большинстве таких ситуаций специалисты по ИБ могут исправлять новые эксплойты через нескольких часов, максимум дней после обнаружения. Когда в ход идут уязвимости нулевого дня, они либо используются очень широко против нескольких целей сразу для максимально возможного эффекта, либо применяются только в крайнем случае. Лучшие в мире профессиональные хакеры обычно имеют подборки уязвимостей нулевого дня, которые используют только тогда, когда все остальные подходы не удались. И даже в таких ситуациях они атакуют так, чтобы сохранять максимальную скрытность. Уязвимость нулевого дня может быть использована для получения первичного доступа к особенно устойчивой системе, а затем все ее следы удаляются и далее реализуются более традиционные методы взлома.
Непропатченное программное обеспечение
Вовремя непропатченное ПО – одна из главных причин, почему компьютером или устройством завладевает злоумышленник. Каждый год публикуются сведения о тысячах (обычно 5–6 тысяч, т. е. около 15 в день) новых обнаруженных уязвимостях в популярном программном обеспечении. (Познакомиться со списком можно на сайте службы безопасности Microsoft: https://www.microsoft.com/ru-ru/security/business/security-intelligence-report.) Разработчики, как правило, стараются писать более защищенный код и исправлять собственные ошибки, но число программ и миллиардов строк кода растет, поэтому общее количество ошибок остается относительно неизменным в течение последних двадцати лет. Большинство разработчиков своевременно выпускают патчи для своего ПО, и чаще всего происходит это после того, как уязвимость становится общеизвестной. К сожалению, пользователи их продукции, как известно, нерасторопно применяют эти патчи, нередко даже отключая процедуру автоматического обновления. Определенный процент пользователей и вовсе не патчит системы. Они либо игнорируют предупреждения и оповещения об обновлениях, либо раздражаются при их появлении, либо вообще не знают, зачем их применять (например, многие торговые системы не уведомляют кассиров о необходимости обновления). Большинство эксплойтов касаются программного обеспечения, которое не патчилось (т. е. не обновлялось) в течение многих лет. Даже если конкретная компания или пользователь исправляет критические уязвимости так же быстро, как они появляются, терпеливый хакер может ждать «дыру», которая будет обнаружена со временем, и запустит соответствующую атаку, прежде чем специалисты по ИБ успеют выявить ее и инициировать выпуск патча. (Хакеру относительно легко удается обратная разработка таких «брешей», и он узнает, как эксплуатировать ту или иную уязвимость.) Как уязвимость нулевого дня, так и обычные уязвимости ПО сводятся к небезопасным методам, применяемым при разработке программного обеспечения. Мы рассмотрим их в главе 6.
Вредоносные программы
Вредоносные программы бывают разных видов. Наиболее известные из них – это вирусы, троянские программы и черви. При этом современные вредоносные программы часто представляют собой гибридную смесь нескольких типов. Вредоносное ПО позволяет хакеру реализовать метод эксплойта, чтобы было проще атаковать или чтобы быстрее охватить большее количество жертв. Когда обнаруживается новый эксплойт, специалисты по ИБ знают, что авторы вредоносных программ будут использовать автоматизированное вредоносное ПО для более быстрого распространения. Этот процесс известен как «вооружение». В то время как эксплойтов следует избегать, зачастую именно их эксплуатация создает наибольший риск для конечных пользователей и общественности. Без вредоносных программ злоумышленник был бы вынужден атаковать каждую жертву поочередно. С их помощью миллионы компьютеров могут подвергнуться взлому в течение нескольких минут. Мы познакомимся с вредоносными программами поближе в главе 9.
Социальная инженерия
Одна из самых успешных стратегий взлома – социальная инженерия. Независимо от того, осуществляется она вручную или автоматически, это хакерский трюк, обманывающий конечного пользователя, который наносит вред собственному компьютеру или безопасности. Это может быть электронное письмо, которое обманом принуждает перейти по вредоносной ссылке или открыть зараженное вложение. Хакер может заставить пользователя раскрыть свои персональные данные для авторизации (так называемый фишинг). Социальная инженерия уже давно находится на лидирующих позициях среди атак, реализуемых хакерами. Опытный хакер в «белой шляпе», Кевин Митник, – один из лучших примеров социальных инженеров-злоумышленников. Речь о нем пойдет в главе 5, а социальная инженерия более подробно рассматривается в главе 4.