запроса или даже на частоту и размер запроса. Если вы думаете, что это снова выглядит как сбитые с толку представители, вы не ошибетесь.
В 2020 году ведущие специалисты по облачной безопасности Рич Могулл и Шон Харрис представили приведенный ниже набор цепочек атак для облака [Mogul, 2020].
• Уязвимость учетных данных статического API при перехвате учетной записи.
• Скомпрометированный сервер через открытый SSH/RDP/удаленный доступ.
• Скомпрометированная база данных из-за непреднамеренного раскрытия.
• Раскрытие общедоступных данных объектного хранилища (S3, BLOB-объекты Azure).
• Подделка запросов на стороне сервера.
• Злоупотребление учетными данными.
• Криптомайнинг.
• Сетевая атака.
• Скомпрометированные секреты (экземпляр или виртуальная машина).
• Новые возможности раскрытия и кражи данных в облаке.
• Захват поддомена.
Уникальные шаги в цепочках атак на интернет вещей включают «рутирование (получение доступа на правах root) устройства» и «физическое вмешательство в работу устройства». Это может иметь значение, если вы относитесь к своим клиентам как к угрозе, поскольку ваше устройство контролирует, какой контент может воспроизводиться, или если ваши клиенты предоставляют ваше устройство своим гостям или клиентам. Конкретные способы проявления этих угроз, такие как подключение к портам JTAG или раскрытие информации из программного обеспечения на отдельном флеш-накопителе или манипуляции с ним, обсуждались в предыдущих главах.
В дополнение к «традиционным» атакам на настольные компьютеры и особым шагам для интернета вещей, таким как рутирование или вмешательство, существуют этапы цепочки атак, в которых участвуют магазины приложений. К ним относятся спуфинг или подстрекательство разработчика к загрузке поддельного приложения в вашу реальную учетную запись или загрузка приложения, которое выглядит как ваше или связано с вашим брендом. Есть случаи отказа в обслуживании из-за жалоб владельцу магазина приложений, из-за которого ваше приложение было удалено из магазина.
Шаги, связанные с «персистентностью», сложны на мобильных устройствах, потому что защита от рутирования, как правило, блокирует их. (Персистентность – это более широкое понятие, чем установка, и происходит от ATT&CK корпорации MITRE, название произносится как «атака», и вы познакомитесь с ним в разделе «История».)
Вооружение нередко является отдельной подцепочкой и часто очень слабо связано с другими. В этой книге мы исходим из того, что вам не нужно знать, как писать эксплойты, но понимание того, как происходит этап создания оружия, может помочь вам понять исследователей безопасности. Это понимание поможет вам избегать ненужных конфликтов, если они свяжутся с вами, чтобы исправить ошибки. Оно также может ввести вас в заблуждение, заставив думать, что создание оружия – всегда сложный и медленный процесс.
Мы можем применить мышление в терминах цепочек атак к практике обнаружения уязвимостей. Уязвимости (вроде тех, которые получают код CVE) и патчи не появляются из ниоткуда, как и истребители X-wing. У обоих есть предыстория. Исследователь выполняет разведку, выбирая несколько целей для исследования. Это исследование можно проводить кустарным способом, загружая код в инструменты обратного проектирования и отыскивая проблемные шаблоны кода. Его можно проводить в большем масштабе путем фаззинга многих возможных целевых исполняемых файлов. Можно проводить в большом масштабе с помощью сканирования веб-сайтов или IP-пространства. Выбор цели может быть произвольным, с выбором либо популярных программ, либо менее популярных, но которые могут быть более легкими целями. Он может быть сосредоточен на непонятной программе, используемой вашей предполагаемой целью.
Конкретная работа по вооружению может быть очень разной, в зависимости от цели исследователя. Часто цель – проверка концепции (proof of concept, PoC). PoC – это все, что вам может понадобиться, чтобы получить вознаграждение за обнаружение ошибки, убедить производителя исправить ее, прославиться выступлением на конференции или получить отметку CVE в резюме. Тяжелая работа по обеспечению надежности кода может и не понадобиться. Но если аналитик хочет пойти дальше по цепочке атак, то для получения вооружения скорее всего потребуется более качественный код. Это одно из двух свойств, которые отличают эксплойт как оружие от проверки концепции. Другое свойство – возможность эксплойта, который используется в качестве оружия, встраиваться либо в убедительную структуру, чтобы заставить ничего не подозревающего получателя открыть его, либо в инструмент целенаправленного или массового сканирования.
(Инструменты массового сканирования также могут искать доказательства уязвимости цели, например баннеры или пограничные случаи поведения, прежде чем пытаться использовать уязвимость.)
Вся эта работа может привести к конфликтам, когда исследователь хочет увидеть свою уязвимость исправленной. Он вполне может считать, что занимается доброкачественным просвещением. Ожидания исследователей в отношении вознаграждений за обнаруженные ошибки могут быть неверно приняты за шантаж создателем технологии. Конфликты часто усугубляются тем, что многие компании не имели дела с отчетами об уязвимостях, а многие исследователи молоды или незрелы.
Наконец, вооружение – это то место, где проявляется закон извращений в области безопасности. Когда вы хотите разработать PoC, чтобы показать, что уязвимость должна быть исправлена, это тяжелая работа. Но вы не можете полагаться на то, что это будет так же сложно, когда попробует кто-то другой.
«Никто никогда этого не сделает» – фраза, которую большинство людей в сообществе безопасности люто ненавидят. Это заявление часто делается, когда кто-то не хочет что-то исправлять или не знает, как это сделать. Применяя цепочку атак, вы можете и не получить конечный результат, который покажется вам стóящим. А возможно, там и нет этого результата, и цепочка не стоит завершения. Или, возможно, вы не учитываете, что злоумышленники работают ради славы, ради уважения своих коллег, ради прикола или потому, что вы когда-то удовлетворили какую-то их странную просьбу, и теперь они ненормально одержимы вами?
Возможно, цепочка, которую вы считаете завершенной, является побочным квестом для злоумышленника, который хочет использовать ваш сайт в качестве отправной точки для майнинга криптовалюты, отправки фишинговых писем, повышения рейтинга своего сайта в поисковых системах или помогает заманивать в ловушку гнусных повстанцев?
Как только злоумышленник получит все ваши полномочия, он сможет использовать их для чтения и записи всех ваших файлов. Бизнес программ-вымогателей резко расширился во втором десятилетии XXI века, когда стартапы начали разрабатывать специализированные и масштабируемые модели. Некоторые из них предоставляют первоначальный доступ, некоторые предоставляют услуги по согласованию, а некоторые – управление платежами. Конечно, все это криминально, но достаточно прибыльно, чтобы местную полицию можно было подкупить, а международная полиция не будет этим заниматься.
Программам-вымогателям, как и другим новым технологиям, потребовалось некоторое время, чтобы закрепиться. Впервые они были описаны в 1996 году в научной статье Адама Янга и Моти Янга, и это показывает, что угрозы могут проявляться медленно.
Многие звенья сетевой цепочки атак похожи на другие цепочки атак, но есть и отличия. В сравнении с цепочками атак на хосты, протоколы сетевой работы более стандартизированы и в меньшей степени находятся под контролем инженеров-программистов. Таким образом, несмотря на то что вы можете написать код, управляющий сообщениями или выступающий в качестве сервера, и нужно будет сделать это правильно, вам также может потребоваться некоторое понимание поведения сетей.
Разведка в сетях
Для сетей требуются шаги инициализации. Такие вещи, как «Кто использует какой адрес?» и «Как мне найти этот другой компьютер?», требуют протоколов с минимальной аутентификацией, и эти протоколы часто предлагают ценную информацию, например адрес маршрутизатора, доменное имя или другие идентификаторы.
Многие сети используют различные методы, которые называют широковещательными. Очевидно, что беспроводные протоколы, такие как Bluetooth, Wi-Fi и сотовые телефоны, широковещательны в буквальном смысле, в то время как Ethernet делает это в переносном смысле. Антенны и усилители лучше, чем вы ожидаете, особенно когда они только подслушивают. Они могут улавливать сигналы на расстояниях, значительно превышающих расстояние для нормальной работы. Опять же, в компьютерной безопасности действует правило извращенности. Заставить Wi-Fi работать в вашем доме сложно, когда вы хотите, чтобы он работал, а злоумышленник с банкой из-под чипсов Pringles может поймать ваш сигнал за милю.
Раскрытие информации как сетевая угроза
В сети Ethernet любой компьютер, подключенный к ней, может прочитать каждый проходящий пакет. По соглашению они этого не делают, и чипы Ethernet отбрасывают пакеты, предназначенные для использования в другом месте. Тем не менее эти чипы имеют «беспорядочный» режим, в котором передают каждый пакет вверх по сетевому стеку (используя старое значение слова «беспорядочный» как «не дискриминирующий» или «не избирательный»). Коммутаторы Ethernet заменили концентраторы, и единственными пакетами, отправляемыми на машину, являются те, что адресованы ей. По крайней мере, мы так ожидаем. Есть атаки, которые убеждают коммутатор делать что-то другое, выходящее за рамки этой книги.
На самых низких уровнях сети адреса часто фиксированы. Например, адреса Ethernet настраиваются на заводе-изготовителе для каждого чипа как уникальные, и эти уникальные адреса можно использовать для отслеживания устройств в различных точках доступа к сети. Опять же, действует закон извращенности: если защитник отслеживает адреса, злоумышленники могут их изменить, так что защита работает не очень хорошо, но тем не менее в нашу частную жизнь вторгаются в надежде, что злоумышленники забудут об этом.