Примечание. Один из моих любимых трюков атаковать ПО и устройства, которые специалисты по ИБ используют для защиты своих сетей. Часто такое обеспечение и устройства проблематично пропатчить, и в них на многие годы остаются незалатанные уязвимости.
Если вдруг все ПО и устройства полностью защищены (а такого не бывает), то можно атаковать через человеческий фактор, который всегда оказывается самым слабым элементом системы уравнения. Но без первоначального проникновения для хакера все потеряно. К счастью для него, есть много способов проникнуть к жертве. Вот различные методы, которые хакер может для этого использовать:
уязвимости нулевого дня (0day);
непропатченное программное обеспечение;
вредоносные программы;
социальная инженерия;
подбор паролей;
перехват или атака посредника;
утечка данных;
неправильная конфигурация оборудования;
отказ в обслуживании;
участие инсайдеров, партнеров, консультантов, производителей и других третьих лиц;
пользовательский фактор;
физический доступ;
повышение привилегий.
Уязвимости нулевого дня
Уязвимости нулевого дня (0day[2]) это эксплойты (внедрения), которые встречаются реже, чем другие известные уязвимости, большинство которых производители давно закрыли патчами. Для его исправления еще не выпущен патч, и общественность (как, впрочем, и разработчик) не знает об этом. Любые компьютерные системы, на которых присутствует программное обеспечение с уязвимостями нулевого дня, подвержены взлому, если потенциальная жертва не удалит его или не использует инструмент для смягчения последствий (например, брандмауэр, список контроля доступа, сегментация посредством виртуальных ЛВС, средства защиты от переполнения буфера и т. д.).
Уязвимости нулевого дня не так распространены, как другие эксплойты, поэтому не могут постоянно эксплуатироваться злоумышленником. Если хакер ими злоупотребляет, они будут обнаружены и исправлены специалистами по ИБ и добавлены в сигнатуры антивирусных программ. В большинстве таких ситуаций специалисты по ИБ могут исправлять новые эксплойты через нескольких часов, максимум дней после обнаружения. Когда в ход идут уязвимости нулевого дня, они либо используются очень широко против нескольких целей сразу для максимально возможного эффекта, либо применяются только в крайнем случае. Лучшие в мире профессиональные хакеры обычно имеют подборки уязвимостей нулевого дня, которые используют только тогда, когда все остальные подходы не удались. И даже в таких ситуациях они атакуют так, чтобы сохранять максимальную скрытность. Уязвимость нулевого дня может быть использована для получения первичного доступа к особенно устойчивой системе, а затем все ее следы удаляются и далее реализуются более традиционные методы взлома.
Непропатченное программное обеспечение
Вовремя непропатченное ПО одна из главных причин, почему компьютером или устройством завладевает злоумышленник. Каждый год публикуются сведения о тысячах (обычно 56 тысяч, т. е. около 15 в день) новых обнаруженных уязвимостях в популярном программном обеспечении. (Познакомиться со списком можно на сайте службы безопасности Microsoft: https://www.microsoft.com/ru-ru/security/business/security-intelligence-report.) Разработчики, как правило, стараются писать более защищенный код и исправлять собственные ошибки, но число программ и миллиардов строк кода растет, поэтому общее количество ошибок остается относительно неизменным в течение последних двадцати лет. Большинство разработчиков своевременно выпускают патчи для своего ПО, и чаще всего происходит это после того, как уязвимость становится общеизвестной. К сожалению, пользователи их продукции, как известно, нерасторопно применяют эти патчи, нередко даже отключая процедуру автоматического обновления. Определенный процент пользователей и вовсе не патчит системы. Они либо игнорируют предупреждения и оповещения об обновлениях, либо раздражаются при их появлении, либо вообще не знают, зачем их применять (например, многие торговые системы не уведомляют кассиров о необходимости обновления). Большинство эксплойтов касаются программного обеспечения, которое не патчилось (т. е. не обновлялось) в течение многих лет. Даже если конкретная компания или пользователь исправляет критические уязвимости так же быстро, как они появляются, терпеливый хакер может ждать «дыру», которая будет обнаружена со временем, и запустит соответствующую атаку, прежде чем специалисты по ИБ успеют выявить ее и инициировать выпуск патча. (Хакеру относительно легко удается обратная разработка таких «брешей», и он узнает, как эксплуатировать ту или иную уязвимость.) Как уязвимость нулевого дня, так и обычные уязвимости ПО сводятся к небезопасным методам, применяемым при разработке программного обеспечения. Мы рассмотрим их в главе 6.
Вредоносные программы
Вредоносные программы бывают разных видов. Наиболее известные из них это вирусы, троянские программы и черви. При этом современные вредоносные программы часто представляют собой гибридную смесь нескольких типов. Вредоносное ПО позволяет хакеру реализовать метод эксплойта, чтобы было проще атаковать или чтобы быстрее охватить большее количество жертв. Когда обнаруживается новый эксплойт, специалисты по ИБ знают, что авторы вредоносных программ будут использовать автоматизированное вредоносное ПО для более быстрого распространения. Этот процесс известен как «вооружение». В то время как эксплойтов следует избегать, зачастую именно их эксплуатация создает наибольший риск для конечных пользователей и общественности. Без вредоносных программ злоумышленник был бы вынужден атаковать каждую жертву поочередно. С их помощью миллионы компьютеров могут подвергнуться взлому в течение нескольких минут. Мы познакомимся с вредоносными программами поближе в главе 9.
Социальная инженерия
Одна из самых успешных стратегий взлома социальная инженерия. Независимо от того, осуществляется она вручную или автоматически, это хакерский трюк, обманывающий конечного пользователя, который наносит вред собственному компьютеру или безопасности. Это может быть электронное письмо, которое обманом принуждает перейти по вредоносной ссылке или открыть зараженное вложение. Хакер может заставить пользователя раскрыть свои персональные данные для авторизации (так называемый фишинг). Социальная инженерия уже давно находится на лидирующих позициях среди атак, реализуемых хакерами. Опытный хакер в «белой шляпе», Кевин Митник, один из лучших примеров социальных инженеров-злоумышленников. Речь о нем пойдет в главе 5, а социальная инженерия более подробно рассматривается в главе 4.
Подбор паролей
Пароли или их деривации могут быть подобраны или украдены. Долгое время простой подбор паролей (или социальная инженерия) был одним из самых популярных способов получения начального доступа к компьютерной системе или сети и до сих пор таковым остается. Но кража учетных данных и так называемые атаки повторного воспроизведения (pass-the-hash), по существу, затмили атаки со взломом паролей в течение последних нескольких лет. При атаках с кражей учетных данных злоумышленник обычно получает административный доступ к компьютеру или устройству и перехватывает одну или несколько записей учетных данных, хранящихся в системе (в памяти или на жестком диске). Украденные данные затем используются для доступа к другим системам. Почти каждая крупная корпоративная атака включала кражи учетных данных в качестве общего компонента эксплойта, так что традиционный подбор паролей уже не так популярен. Взломы паролей описаны в главе 21.
Перехват или атака посредника
Перехват и атака посредника (MITM-атака) ставят под угрозу легитимное сетевое подключение, позволяя получить доступ к нему или злонамеренно участвовать в коммуникациях. Большинство таких атак успешны из-за недостатков в сетевых или прикладных протоколах, но также могут быть результативны вследствие человеческого фактора. В наши дни самые большие атаки происходят в беспроводных сетях. Сетевые атаки будут рассмотрены в главе 33, а беспроводные в главе 23.
Утечка данных
Утечка персональной информации может быть результатом одной из форм взлома, а также непреднамеренного или преднамеренного действия самого владельца данных. Большинство утечек происходят из-за непреднамеренной (и незащищенной) их публикации или потому, что некий хакер выяснил способ доступа к определенным персональным данным. Но инсайдерские атаки, когда сотрудник или контрагент намеренно крадет или использует персональную информацию, не менее распространенная форма взлома. Некоторые главы этой книги посвящены предотвращению утечек данных.
Неправильная конфигурация оборудования
Неправильная настройка компьютеров также часто реализует очень слабые варианты защиты, иногда непреднамеренно. Я не смогу сосчитать, сколько раз заходил на общедоступный веб-сайт и видел, что его самые важные файлы непонятным образом доступны всем пользователям или даже всему миру. Когда вы сообщаете миру, что любой желающий может получить доступ к любому файлу, который им нравится, ваш сайт или файлы, хранящиеся на нем, недолго будут оставаться приватными. Безопасные операционные системы и конфигурации описаны в главе 30.
Отказ в обслуживании
Даже если владелец не совершил ни одной ошибки или строго ставил все патчи на программное обеспечение, с помощью Интернета все равно можно взломать почти любой сайт или компьютер. Даже если вы совершенны, компьютеры, которые вы используете, полагаются на одну или несколько неподконтрольных вам служб, которые потенциально уязвимы. Сегодня масштабные атаки отказа в обслуживании могут положить или значительно повлиять на работу почти любого сайта или компьютера, подключенного к Интернету. В процессе таких атак часто передаются миллиарды вредоносных пакетов в секунду, из-за которых падает (становится недоступен) целевой сайт (или его вышестоящие/нижестоящие соседи). Существуют десятки коммерческих, в том числе незаконных служб, которые можно использовать как для создания, так и для защиты от мощных атак отказа в обслуживании. Рассмотрим их в главе 28.
Участие инсайдеров, партнеров, консультантов, производителей и других третьих лиц
Даже если ваша сеть и ее компьютеры совершенны (что едва ли возможно), вы можете быть скомпрометированы дефектом в системе подключенного партнера или инсайдером. Эта категория довольно широка и пересекается с рядом других хакерских методов.
Пользовательский фактор
Эта категория проникновения также пересекается с другими методами. Например, пользователь может случайно отправить персональные данные неавторизованному пользователю, указав в адресе электронной почты один неверно введенный символ. Пользователь может случайно пропустить критический патч для серверного ПО или установить неверное разрешение. Частая ошибка пользователя отвечая на электронное письмо определенному человеку или группе людей, случайно разослать письмо всем или даже, по ошибке, отреагировать в негативном ключе. Я отдельно выделил пользовательские ошибки только потому, что человеческий фактор иногда срабатывает, и хакеры готовы этим воспользоваться.
Физический доступ
Общепринятое мнение гласит, что, если злоумышленник имеет физический доступ к устройству, он может просто украсть его (секунда и ваш мобильный телефон благополучно уведен) и уничтожить или в итоге обойти все средства защиты для доступа к персональным данным. Этот метод остается довольно успешным до сих пор, даже против средств, явно предназначенных для защиты от физических атак. Например, многие программы шифрования диска могут быть взломаны с помощью электронного микроскопа для выявления защищенного секретного ключа путем идентификации отдельных электронов, составляющих ключ. Или оперативная память может быть заморожена баллончиком со сжатым воздухом, чтобы прочитать секретный ключ шифрования в открытом виде из-за ошибки в том, как она хранит данные.
Повышение привилегий
Каждый хакер использует один из методов проникновения, описанных в предыдущих разделах, чтобы получить доступ к целевой системе. Единственный вопрос это тип доступа, который он получает. Если хакер использует программное обеспечение или службы, запущенные в собственном контексте безопасности пользователя, он изначально имеет только те же права доступа и разрешения, что и авторизованный пользователь. Или он может открыть cвятой Грааль и получить полный доступ к административной системе. Если злоумышленник получает только обычные, непривилегированные разрешения доступа, то он обычно выполняет вторую атаку для эскалации привилегий, чтобы попытаться получить более высокий доступ. Атаки эскалации привилегий охватывают весь спектр, по существу, дублируя те же подходы, что и для проникновения, но они начинаются с более высокой начальной точки, уже имеющей некоторый доступ. Атаки с повышением привилегий обычно проще выполнить, чем первоначальные эксплойты. И поскольку начальные эксплойты почти всегда гарантированно будут успешными, эскалация привилегий намного проще.
Упрощение доступа в будущем
Затем, хотя это необязательно, после получения первоначального доступа, злоумышленник работает над реализацией дополнительного метода, чтобы убедиться, что сможет легко получить доступ к тому же ресурсу или ПО в следующий раз. Многие хакеры размещают «прослушивающий» бэкдор, с помощью которого можно подключиться вновь. В других случаях это означает взлом паролей или создание новых учетных записей. Злоумышленник всегда может использовать те же эксплойты, которые успешно отработали в прошлый раз, чтобы снова взломать систему, но обычно применяет другой метод, который будет работать, даже если жертва исправляет уязвимость.
Разведка системы
Чаще всего, как только хакер проник в систему, он начинает выполнять команды или программы, чтобы узнать больше о цели, к которой получен доступ, и о том, что с ней связано. Обычно это означает поиск в оперативной памяти, файлов на жестком диске, сетевых подключений, общих ресурсов, служб и программ. Эта информация используется для лучшего понимания цели, а также для планирования следующей атаки.
Перемещение
Это редкая разновидность атаки или вредоносного воздействия, применяемого для взлома определенной цели. Почти все хакеры и вредоносные программы хотят подчинить себе как можно больше. Как только они получают доступ к первоначальной цели, распространение их влияния в пределах одной сети или объекта упрощается. Методы проникновения хакеров, перечисленные в этой главе, суммируют различные способы, которыми они могут это сделать, но, сравнивая их с первоначальными усилиями, последующее перемещение облегчается. Если атакующий движется к другим подобным целям, это называется боковым перемещением. Если злоумышленник переходит с устройств с одной привилегией на более высокую или более низкую, это называется вертикальным перемещением.