Приветствуем вас, Хаброжители!
Кибердзюцу — это практическое руководство по кибербезопасности, в основу которого легли техники, тактики и приемы древних ниндзя. Специалист по кибервойне Бен Маккарти проанализировал рассекреченные японские трактаты и рассказывает, как методики ниндзя можно применить к сегодняшним проблемам безопасности, например для ведения информационной войны, проникновений, шпионажа и использования уязвимостей нулевого дня.
«Ёсимори хяку-сю», № 9
Раздобыв план замка или лагеря, необходимо как можно скорее вернуться, и именно так должен поступить хороший синоби.
«Ёсимори хяку-сю», № 24
Первый совет, который дается в «Руководстве для командиров» («Бансэнсюкай»), призывает создавать очень точные карты, которые военачальники могли бы использовать для планирования атак против врага. «Ёсимори хяку-сю» в стихах № 6–10 и 24 также подчеркивает важность достаточной детализации карт, чтобы они были полезны и солдатам, и синоби.
Создавать карты командиры обычно поручали синоби. Из трактатов явно следует, что умение точно рисовать видимые объекты — горы, реки, поля — это не то же самое, что рисовать специальные подробные карты разведки объекта атаки, пригодные для целей военной стратегии или проникновения синоби. В трактатах говорится, какие детали важны для ведения войны и ремесла синоби и, следовательно, должны фигурировать на карте.
● Все входы и ворота дома, замка или форта. Какие используются замки, защелки и механизмы открывания? Насколько сложно открыть ворота или двери, издают ли они шум при открытии или закрытии?
● Подъездные дороги. Прямые они или изогнутые? Широкие или узкие? Вымощены ли камнем? Ровные или под уклоном?
● Внешний вид, схема и планировка здания. Каковы размер и назначение каждой комнаты? Что хранится в каждой комнате? Скрипят ли в них половицы?
● Обитатели строения. Как зовут жителей? Практикуют ли они какие-нибудь примечательные виды искусства, имеют ли какие-либо навыки? Насколько осторожен или подозрителен каждый из жителей?
● Топология замка и окрестностей. Будет ли видно сигнал изнутри и снаружи помещения? Где хранятся еда, вода и дрова? Насколько широки и глубоки рвы? Насколько высоки стены?
Картами сети в кибербезопасности называют графы топологии сети, которые описывают физические и/или логические связи и конфигурацию связей (коммуникационные соединения) и узлов (устройств) сети. Чтобы лучше понять концепцию, посмотрите на дорожные карты или карты в атласе. Они описывают физическое местоположение, географические особенности, политические границы и природный ландшафт. Информация о дорогах (связях) — их название, ориентация, длина и пересечения с другими дорогами — может использоваться для прокладки маршрута между местами (узлами). Теперь рассмотрим следующий гипотетический сценарий.
Представьте, что вы живете в мире, где дороги и здания внезапно появляются или исчезают в мгновение ока. У вас есть GPS и координаты места, где вы находитесь и куда хотите пойти, но добраться туда можно лишь по запутанной сети постоянно меняющихся дорог.
К счастью, на каждом перекрестке есть специалисты по навигации (маршрутизаторы), помогающие путешественникам вроде вас найти путь. Эти маршрутизаторы постоянно обращаются к соседним маршрутизаторам и спрашивают у них, какие маршруты и местоположения открыты, чтобы обновить свою таблицу маршрутизации, хранящуюся в буфере обмена. Вам нужно останавливаться на каждом перекрестке и спрашивать у маршрутизатора, как проехать к следующему узлу, показывая проездной, на котором ваш предполагаемый пункт назначения закодирован в координатах GPS. Маршрутизатор проверяет свой буфер обмена на наличие открытых в данный момент маршрутов, делает определенные вычисления и указывает вам направление, записывая на вашем проездном адрес маршрутизатора, а также пробивает в нем отверстие, чтобы отследить количество маршрутизаторов, на которых вы отметились во время поездки, и отправляет вас к следующему маршрутизатору. Этот процесс повторяется, пока вы не достигнете точки назначения. А теперь представьте себе лица картографов, которые, вероятно, бросили бы заниматься созданием карт, будучи не в состоянии уследить за постоянно меняющейся сетью. Составителям карт пришлось бы довольствоваться обозначением ключевых ориентиров и достопримечательностей, общими названиями и нечеткими линиями между этими точками, говорящими о том, что между ними существуют какие-то пути.
Эта гипотетическая для нашего мира ситуация на самом деле существует в киберпространстве, и именно поэтому сетевые карты не так точны, а их обслуживание не так приоритетно, каким должно было бы быть. Отсутствие качественной карты сети — это распространенная проблема организаций, занимающихся кибербезопасностью. Если у организации есть карта, она обычно предоставляется операционному центру безопасности (security operations center, SOC), чтобы его специалисты знали, где в потоке данных находятся датчики или устройства безопасности, и могли лучше понять маршрут пакетов, правила брандмауэра, сигналы тревоги и системные журналы. Кроме того, такая карта, скорее всего, довольно абстрактна и описывает только основные функции, такие как границы интернета, периметр сети и интрасети, общее расположение граничных маршрутизаторов или межсетевых экранов, но на ней не указываются сети, концептуальные схемы имеют вид простых кружочков и стрелочек. Пример плохо проработанного, но распространенного вида карты сети, которой пользуются специалисты в области кибербезопасности и ИT, представлен на рис. 1.1.
Чтобы понять, почему на рис. 1.1 показана «плохая» карта, давайте еще раз рассмотрим приведенный в «Бансэнсюкай» совет по составлению карт, но применим кибераналогию.
● Все точки доступа узла в сети. Какие виды интерфейсов доступа присутствуют на устройстве (Ethernet [e], Fast-Ethernet [fe], Gigabit-Ethernet [ge], Universal Serial Bus [USB], Console [con], Loop-back [lo], Wi-Fi [w] и т. д.)? Есть ли фильтрация адресов управления доступом к сети (NAC) или управления доступом к среде (MAC)? Включен или заблокирован доступ к удаленной или локальной консоли? Какой вид физической безопасности реализован? Закрыто ли помещение с серверной стойкой на замок или есть ли хотя бы USB-замки? Ведется ли журнал доступа к интерфейсу? Где находится интерфейс управления сетью и сама сеть? Каков IP-адрес и MAC-адрес каждой точки доступа?
● Граничные шлюзы, переходы и точки выхода. Сколько интернет-провайдеров (internet service provider, ISP) у сервера — один или больше? Используется надежное подключение к интернету (Trusted Internet Connection, TIC) или управляемая служба интернета (Managed Internet Service, MIS)? Какова пропускная способность интернет-соединения? Применяется оптоволокно, Ethernet, коаксиальный кабель или другой канал? Какие переходы ведут к сети? Существуют ли способы входа в сеть или выхода из нее через спутник, микроволновую печь, лазер или вайфай?
● Структура и схема сети. Каковы имя, назначение и размер каждой подсети, например используется ли бесклассовая междоменная маршрутизация (Classless Inter-Domain routing, CIDR)? Задействуются ли виртуальные локальные сети (virtual local area networks, VLAN)? Заданы ли лимиты пула подключений? Является ли сеть плоской, иерархической или разделена на структуры, защитные слои и/или функции?
● Хосты и узлы сети. Как они называются? Какая у них версия операционной системы (ОС)? Какие службы/порты используются, какие из них открыты? Какие на них запущены средства безопасности, которые позволят обнаружить атаку? Есть ли у них общеизвестные уязвимости (common vulnerability exploit, CVE)?
● Физическая и логическая архитектура сети и здания. Где находится дата-центр? Есть ли в холле разъемы Ethernet? Можно ли поймать вайфай за пределами здания? Видны ли экраны компьютеров и терминалы снаружи здания? Используется ли в офисе безопасное стекло? Правильно ли сегментированы сети гостевых или конференц-залов? Каковы основные списки управления доступом (access control list, ACL) и правила брандмауэра в этой сети? Где разрешается DNS? Что доступно в периметре сети или DMZ (demilitarized zone)? Существуют ли внешние поставщики электронной почты или другие облачные сервисы? Как устроена архитектура удаленного доступа или виртуальной частной сети (VPN)?
Организации, не имеющие действующей карты сети, иногда используют электрические схемы или схемы, составленные их ИТ-отделом. На таких упрощенных рисунках отражено относительное расположение систем, сетевого оборудования и подключения устройств, и они могут служить справочными материалами для устранения технических или эксплуатационных проблем в сети. Но у множества организаций нет даже таких приблизительных схем, зато есть электронные таблицы, в которых перечислены имена хостов, их модели и серийные номера, IP-адреса, а также расположение всего оборудования на стойке в центре обработки данных. При этом если заинтересованные стороны могут использовать такую таблицу для поиска нужных ответов и серьезных сетевых проблем или сбоев не возникает, то даже само наличие такой документации может препятствовать созданию карты сети. Это ужасно, но у некоторых компаний есть архитектор или специалист, который держит карту сети в голове, и ни в каком другом виде ее не существует.
Справедливости ради стоит сказать, что бывают и разумные причины отсутствия полезных сетевых карт. Создание, совместное использование и обслуживание карт отнимает драгоценное время и другие ресурсы. Карты могут часто меняться. Добавление систем в сеть или их удаление, изменение IP-адресов, переделка кабелей или задание новых правил маршрутизатора или брандмауэра — все это может значительно повлиять на точность карты, даже если изменение произошло всего несколько минут назад. Кроме того, современные компьютеры и сетевые устройства используют протоколы динамической маршрутизации и конфигурации хоста, которые автоматически отправляют информацию в другие системы и сети, не нуждаясь в картах вообще, что означает: сети могут автоматически настраиваться сами.
Разумеется, существует множество программных инструментов для создания карт, например программа Nmap, которая сканирует сеть, определяя в ней хосты, визуализирует сеть по количеству переходов от сканера, использует простой протокол управления сетью (Simple Network Management Protocol, SNMP) для обнаружения и отображения топологии сети или задействует файлы конфигурации маршрутизатора и коммутатора для быстрого создания сетевых диаграмм. Сетевые диаграммы, генерируемые программами, удобны, но они редко отражают все подробности и в целом контекст, необходимый для создания по-настоящему качественной карты, которую хотел бы иметь под рукой защитник. Идеальным решением было бы одновременное использование программ для картографии, сетевого сканирования и человеческого опыта, но даже этот подход требует значительных затрат времени сотрудника со специальными навыками, иначе полученные карты не будут достаточно точными или полезными.
Несмотря на эти ограничивающие факторы, чрезвычайно важно, чтобы защитник сети при составлении карты был очень внимателен. Примерная карта, показанная на рис. 1.2, иллюстрирует детали, которые должны быть указаны на составляемой защитником карте сети.
Для представления устройств в сети используют геометрические фигуры, а не пиктограммы. Для схожих типов устройств применяют схожие фигуры. Например, круги на рис. 1.2 обозначают рабочие станции, квадраты — маршрутизаторы, а прямоугольники — серверы. В продолжение этой мысли, треугольники, если бы они были, представляли бы ретрансляторы электронной почты или контроллеры домена. Кроме того, на фигурах отсутствует текстура или фон, потому что информация, размещенная внутри, должна быть хорошо читаемой.
Каждый интерфейс, как виртуальный, так и физический, имеет свой тип и номер. Например, может быть указан тип интерфейса Ethernet, а номер интерфейса будет таким же, как и физически указанный на устройстве, eth 0/0. Также помечаются неиспользуемые интерфейсы. Каждому интерфейсу приписывается назначенный ему IP-адрес и подсеть, если они известны.
Открытая информация об устройстве: имя хоста, марка, модель устройства и версия ОС — указывается в верхней части устройства. Уязвимости, учетные данные по умолчанию, известные учетные данные и другие важные слабости обозначаются в центре устройства. Аналогичным образом документируются запущенные службы, программное обеспечение и открытые порты. На карте также указываются сети VLAN, сетевые границы, макет и структура сети. Рядом с ними записывается любая заслуживающая внимания информация.
Высшим пилотажем у синоби считалось умение собрать разведданные, не обнаружив себя. Если он будет прогуливаться возле замка и замерять длинной линейкой его размеры, то жители наверняка заподозрят, что тут работает вражеский шпион. Следовательно, старательные синоби составляли карты в мирное время, когда обитатели замка были менее бдительны и можно было более свободно ходить там, где нужно, вызывая во время сбора данных меньше подозрений.
Часто синоби приходилось придумывать способы выполнять измерения, отмечать топографические особенности и собирать другую информацию втайне от посторонних глаз. Что характерно, в разделе о методах открытой маскировки трактата «Бансэнсюкай» приведено описание того, как точно создавать карты, и там говорится, что синоби умели создавать карты прямо на глазах у врага. В трактате описывается техника под названием урамитцу но дзюцу, предназначенная для определения расстояния до знакомого объекта, если известны размеры объекта для масштабирования. Урамитцу но дзюцу также рассматривает хитрые приемы из тригонометрии. Например, синоби может лечь ступнями к цели и использовать их известные размеры для измерения расстояния, при этом со стороны кажется, что человек просто дремлет под деревом.
Сбор информации о сетевых узлах — одно из первых действий, которое выполняет злоумышленник перед совершением атаки на сеть или хост. Карты, созданные противником, предназначены для того же, что и карты ниндзя, — идентификации и документирования информации, необходимой для проникновения на объект. К этой информации могут относиться все точки входа в сеть и выхода из нее: подключения к интернет-провайдеру, точки беспроводного доступа, УВЧ, микроволновые, радио- или спутниковые точки, облачные, взаимосвязанные и внешние сети.
Злоумышленники также находят шлюзы протокола пограничного шлюза (BGP) и маршруты или переходы к сети. Определяют репрезентативную структуру, расположение и дизайн сети, оборудование в ней, включая имена хостов, модели устройств, операционные системы, открытые порты, запущенные службы и уязвимости, а также топологию сети, включая подсети, VLAN, ACL и правила брандмауэра.
Многие из инструментов, предназначенные для отображения сети и используемые злоумышленниками, являются «шумными», поскольку они обмениваются данными с большим количеством хостов, применяют специально собранные пакеты и могут быть обнаружены внутренними устройствами безопасности. Но злоумышленники могут обойти этот недостаток за счет замедления или настройки картографа, использования нестандартных (неподозрительных) пакетов и даже ручной разведки с помощью стандартных инструментов, работающих на хосте жертвы, таких как команды ping или net. В атаках также могут задействоваться безобидные методы разведки, когда злоумышленник не трогает и не сканирует цель, а лишь собирает информацию с помощью сервиса Shodan или других ранее проиндексированных данных, хранящихся в поисковых системах в интернете.
Более хитроумные злоумышленники пользуются тактикой пассивного отображения сети, когда злоумышленник собирает информацию о цели, не взаимодействуя с ней напрямую (без активного сканирования с помощью инструментов вроде Nmap). Еще одна тактика пассивного отображения сети — это интерпретация пакетов, перехваченных с сетевого интерфейса в беспорядочном режиме, то есть настройка сетевого интерфейса на запись и проверку всех сетевых коммуникаций. Этот режим противоположен упорядоченному режиму, при котором записывается и проверяется только связь внутри сети. Беспорядочный режим позволяет получить представление об используемых сетью соседних хостах, потоках трафика, службах и протоколах, не взаимодействуя с ними активно.
Методами отображения сети без прямого взаимодействия с ней являются также перехват электронных писем администратора сети на выходе из нее, поиск сетевых карт цели во внешнем хранилище файлов или поиск на форумах, где администратор просит помощи в устранении неполадок, для чего может публиковать журналы или ошибки, конфигурации маршрутизатора, информацию о сетевой отладке или другие технические подробности, позволяющие понять структуру и конфигурацию сети. Как и в урамитцу но дзюцу, использование наблюдаемой информации из сети цели позволяет составить карту, не обращаясь к сети. Пассивное отображение может включать в себя измерение задержки трассировщиков для определения спутниковых переходов (например, наличие спутника обычно сопровождается внезапным увеличением задержки связи на 500 мс) или обнаружения глубокой обработки пакетов системой брандмауэра (например, препроцессор распознает потенциальную злонамеренную атаку и добавляет ощутимые задержки связи). Пассивное отображение может включать также раскрытие информации внутренней сети из внешних зон DNS и записей ответов. Это могут быть заказы на государственные закупки и запросы на закупку определенного программного либо аппаратного обеспечения, объявления о вакансиях сетевых или системных администраторов с опытом работы в конкретной технологии, сетевом оборудовании или аппаратном/программном обеспечении.
Если злоумышленник тратит так много времени на разработку карт, они в конечном итоге могут оказаться более полными, чем собственные карты цели, и тогда противник будет знать о сети цели больше, чем сама цель. Чтобы не отставать в этой битве, защитники сети должны разрабатывать и поддерживать лучшие карты и обеспечивать высокую степень защиты.
Создание карты может состоять из трех основных этапов.
1. Выделите средства для создания полной и точной карты, которую было бы легко обновлять и надежно хранить. Карта должна содержать информацию, необходимую для нужд определенного отдела, например отдела ИТ, центра сетевых операций (network operations center, NOC) и SOC. Рассмотрите возможность найма специального человека, команды или подрядчика, который бы составил и проанализировал такую карту.
2. Создайте саму карту, указав на ней все подробности, перечисленные в начале этой главы.
3. Попросите коллег проверить эту карту в рамках процесса управления изменениями и делайте это всякий раз, когда кто-либо замечает расхождение карты с действительностью.
Давайте подробнее рассмотрим второй шаг — создание карты.
Когда вы определили все ключевые заинтересованные стороны и убедили их в том, что этот проект совершенно необходим, первый шаг — собрать все, что есть в вашей организации, что может помочь создать его. Сюда входят схемы подключения, планы проектов старой сетевой архитектуры, результаты сканирования уязвимостей, инвентаризации активов и центра обработки данных, данные об аренде DHCP, записи DNS, сведения об управлении сетью SNMP, записи агентов конечных точек, данные о захвате пакетов (packet captures, PCAP), журналы SIEM (security information and event management), настройки маршрутизаторов, правила брандмауэра и результаты сканирования сети. Настройка маршрутизатора лежит в основе построения базовой архитектуры и компоновки вашей сетевой карты. К примеру, можете начать с размещения вашего ядра или центрального маршрутизатора(ов) в середине карты и затем рисовать ответвления от него. Перехват PCAP поможет выявить в сети конечные точки, которые могут не отвечать на сканирование сети или вообще быть недоступными для сканеров из-за сетевой фильтрации. Разрешив выбранным системам собирать PCAP в течение длительного периода в беспорядочном режиме, вы получите список конечных точек, как показано на рис. 1.3.
В идеале собирать PCAP нужно во время сканирования сети, чтобы проверить, куда дотягивается сканер. Кроме того, следует провести несколько сканирований сети, при этом минимум одна конечная точка в каждой подсети должна сканировать свою подсеть. Эти сканирования можно вручную объединить в топологию карты сети, как показано на рис. 1.4. Определите элементы, которые можно автоматизировать, чтобы этот процесс было легче повторить в будущем.
Собранные данные нужно обработать, проанализировать и объединить. Перед объединением данных полезно выяснить, какой источник данных наиболее точен, а также определить источники, предоставляющие уникальную и полезную информацию, например время последнего посещения устройства. Также следует проанализировать все найденные несоответствия. Это могут быть устройства, которых на самом деле нет в сети, несанкционированные устройства, странное сетевое поведение или соединения. Если вы обнаружите, что ваши сетевые сканеры не смогли проникнуть в какие-то части подсети из-за правил IP-адресов или работы системы предотвращения вторжений (intrusion prevention system, IPS), рассмотрите возможность изменения настроек, чтобы можно было выполнить более глубокое и всестороннее сканирование.
Рассмотрите различные инструменты для составления карт сети, которые могут автоматически принимать данные SNMP, сканировать сеть и уязвимости, а также позволяют выполнять ручное редактирование и добавление данных. Выбранный вами инструмент должен создавать исчерпывающую, точную и подробную карту сети, отвечающую потребностям заинтересованных сторон. Выберите лучшее решение, которое будет обрабатывать ваши данные и соответствовать вашему бюджету.
Создайте карту и протестируйте ее. Проверьте ее полезность во время совещаний либо инцидентов в сфере безопасности и сбоев/отладки сети. Помогает ли карта решать проблемы и быстрее находить их источник? Проверьте точность карты с помощью трассировки маршрута и выполнения tcpdump через интерфейсы. Чтобы проверить точность с помощью трассировки, нужно провести ее изнутри и снаружи из разных сетевых местоположений и посмотреть, указаны ли на карте точки перехода (маршрутизаторы) и соответствуют ли они структуре сети. Пример трассировки маршрута показан на рис. 1.5.
Посмотрите, насколько полезна будет ваша карта для красной и синей команд. Соберите отзывы, повторите процесс составления и получите карту лучшего качества за меньшее время.
Все рекомендации, если это возможно, здесь и далее сопровождаются мерами безопасности из стандарта NIST 800-53.
1. Распределите обязанности по документированию карты сети. Внедрите политики и процедуры для координации обновлений карты между командами. (Разделы CM-1. Политика и процедуры управления конфигурацией; CM-3. Контроль изменений конфигурации | Представитель службы безопасности; CM-9. План управления конфигурацией.)
2. Чтобы было с чего начать, документируйте конфигурацию топологии сети, архитектуры, логическое размещение и информационные системы. (CM-2. Базовая конфигурация.)
3. Добавьте идентификацию дефектов, например неточностей карты, и процедуру устранения, допустим, уязвимостей, сетевой архитектуры, в процесс составления карты. (SI-2. Устранение дефектов.)
В этой главе мы рассмотрели цели создания карт синоби, стандарты этого процесса и методы картографирования, а также привели обзор современных практик и технологий картографирования сетей. Беседы о важности сетевых карт, о том, как создавать хорошие карты и как злоумышленники собирают информацию о вашей системе, возможно, подогрели ваше воображение и вы хотите найти больше источников данных или методов, которые можно было бы использовать для построения карты своей и любой другой сети.
В следующей главе мы попробуем задействовать карту сети в качестве диаграммы потока данных (data flow diagram, DFD) для моделирования угроз. Это означает, что вы определите в своей сети области, в которых злоумышленник может провести атаку или обойти защиту. Я расскажу о новой защитной технике ниндзя, которую можно использовать для защиты слабых мест в вашей сети.
Более подробно с книгой можно ознакомиться на сайте издательства:
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Ниндзя
Кибердзюцу — это практическое руководство по кибербезопасности, в основу которого легли техники, тактики и приемы древних ниндзя. Специалист по кибервойне Бен Маккарти проанализировал рассекреченные японские трактаты и рассказывает, как методики ниндзя можно применить к сегодняшним проблемам безопасности, например для ведения информационной войны, проникновений, шпионажа и использования уязвимостей нулевого дня.
О чем эта книга
В каждой главе подробно рассматривается одна тема, связанная с ниндзя, от глубокого изучения истории и философии до анализа и рекомендаций по кибербезопасности. Для удобства чтения все главы организованы следующим образом.
● Трактаты ниндзя — краткое введение в инструмент, технику или методологию, используемую ниндзя.
● Кибербезопасность — анализ того, как описанная ниндзя концепция может быть применена в сфере кибербезопасности.
● Что можно сделать — практические шаги, которые вы можете предпринять, исходя из приведенного ранее анализа, чтобы защитить свою организацию от киберпреступлений.
● Упражнения по теории замка — упражнения, в котором вас просят избавиться от угрозы, используя вновь изученные понятия из области кибербезопасности.
● Рекомендуемые меры безопасности и предосторожности — контрольный список рекомендуемых параметров безопасности и спецификации, основанный на стандарте NIST 800-53, которых вы можете добиться в рамках реализации лучших практик.
● Трактаты ниндзя — краткое введение в инструмент, технику или методологию, используемую ниндзя.
● Кибербезопасность — анализ того, как описанная ниндзя концепция может быть применена в сфере кибербезопасности.
● Что можно сделать — практические шаги, которые вы можете предпринять, исходя из приведенного ранее анализа, чтобы защитить свою организацию от киберпреступлений.
● Упражнения по теории замка — упражнения, в котором вас просят избавиться от угрозы, используя вновь изученные понятия из области кибербезопасности.
● Рекомендуемые меры безопасности и предосторожности — контрольный список рекомендуемых параметров безопасности и спецификации, основанный на стандарте NIST 800-53, которых вы можете добиться в рамках реализации лучших практик.
Карты сетей
Имея на руках карту, генерал может составить план защиты или атаки замка.Выбирая время и день перемещения лагеря, необходимо соблюдать ряд принципов. Синоби обязан точно знать географию местности и расстояние до врага.
«Ёсимори хяку-сю», № 9
Раздобыв план замка или лагеря, необходимо как можно скорее вернуться, и именно так должен поступить хороший синоби.
«Ёсимори хяку-сю», № 24
Первый совет, который дается в «Руководстве для командиров» («Бансэнсюкай»), призывает создавать очень точные карты, которые военачальники могли бы использовать для планирования атак против врага. «Ёсимори хяку-сю» в стихах № 6–10 и 24 также подчеркивает важность достаточной детализации карт, чтобы они были полезны и солдатам, и синоби.
Создавать карты командиры обычно поручали синоби. Из трактатов явно следует, что умение точно рисовать видимые объекты — горы, реки, поля — это не то же самое, что рисовать специальные подробные карты разведки объекта атаки, пригодные для целей военной стратегии или проникновения синоби. В трактатах говорится, какие детали важны для ведения войны и ремесла синоби и, следовательно, должны фигурировать на карте.
● Все входы и ворота дома, замка или форта. Какие используются замки, защелки и механизмы открывания? Насколько сложно открыть ворота или двери, издают ли они шум при открытии или закрытии?
● Подъездные дороги. Прямые они или изогнутые? Широкие или узкие? Вымощены ли камнем? Ровные или под уклоном?
● Внешний вид, схема и планировка здания. Каковы размер и назначение каждой комнаты? Что хранится в каждой комнате? Скрипят ли в них половицы?
● Обитатели строения. Как зовут жителей? Практикуют ли они какие-нибудь примечательные виды искусства, имеют ли какие-либо навыки? Насколько осторожен или подозрителен каждый из жителей?
● Топология замка и окрестностей. Будет ли видно сигнал изнутри и снаружи помещения? Где хранятся еда, вода и дрова? Насколько широки и глубоки рвы? Насколько высоки стены?
Понятие о картах сети
Картами сети в кибербезопасности называют графы топологии сети, которые описывают физические и/или логические связи и конфигурацию связей (коммуникационные соединения) и узлов (устройств) сети. Чтобы лучше понять концепцию, посмотрите на дорожные карты или карты в атласе. Они описывают физическое местоположение, географические особенности, политические границы и природный ландшафт. Информация о дорогах (связях) — их название, ориентация, длина и пересечения с другими дорогами — может использоваться для прокладки маршрута между местами (узлами). Теперь рассмотрим следующий гипотетический сценарий.
Представьте, что вы живете в мире, где дороги и здания внезапно появляются или исчезают в мгновение ока. У вас есть GPS и координаты места, где вы находитесь и куда хотите пойти, но добраться туда можно лишь по запутанной сети постоянно меняющихся дорог.
К счастью, на каждом перекрестке есть специалисты по навигации (маршрутизаторы), помогающие путешественникам вроде вас найти путь. Эти маршрутизаторы постоянно обращаются к соседним маршрутизаторам и спрашивают у них, какие маршруты и местоположения открыты, чтобы обновить свою таблицу маршрутизации, хранящуюся в буфере обмена. Вам нужно останавливаться на каждом перекрестке и спрашивать у маршрутизатора, как проехать к следующему узлу, показывая проездной, на котором ваш предполагаемый пункт назначения закодирован в координатах GPS. Маршрутизатор проверяет свой буфер обмена на наличие открытых в данный момент маршрутов, делает определенные вычисления и указывает вам направление, записывая на вашем проездном адрес маршрутизатора, а также пробивает в нем отверстие, чтобы отследить количество маршрутизаторов, на которых вы отметились во время поездки, и отправляет вас к следующему маршрутизатору. Этот процесс повторяется, пока вы не достигнете точки назначения. А теперь представьте себе лица картографов, которые, вероятно, бросили бы заниматься созданием карт, будучи не в состоянии уследить за постоянно меняющейся сетью. Составителям карт пришлось бы довольствоваться обозначением ключевых ориентиров и достопримечательностей, общими названиями и нечеткими линиями между этими точками, говорящими о том, что между ними существуют какие-то пути.
Эта гипотетическая для нашего мира ситуация на самом деле существует в киберпространстве, и именно поэтому сетевые карты не так точны, а их обслуживание не так приоритетно, каким должно было бы быть. Отсутствие качественной карты сети — это распространенная проблема организаций, занимающихся кибербезопасностью. Если у организации есть карта, она обычно предоставляется операционному центру безопасности (security operations center, SOC), чтобы его специалисты знали, где в потоке данных находятся датчики или устройства безопасности, и могли лучше понять маршрут пакетов, правила брандмауэра, сигналы тревоги и системные журналы. Кроме того, такая карта, скорее всего, довольно абстрактна и описывает только основные функции, такие как границы интернета, периметр сети и интрасети, общее расположение граничных маршрутизаторов или межсетевых экранов, но на ней не указываются сети, концептуальные схемы имеют вид простых кружочков и стрелочек. Пример плохо проработанного, но распространенного вида карты сети, которой пользуются специалисты в области кибербезопасности и ИT, представлен на рис. 1.1.
Чтобы понять, почему на рис. 1.1 показана «плохая» карта, давайте еще раз рассмотрим приведенный в «Бансэнсюкай» совет по составлению карт, но применим кибераналогию.
● Все точки доступа узла в сети. Какие виды интерфейсов доступа присутствуют на устройстве (Ethernet [e], Fast-Ethernet [fe], Gigabit-Ethernet [ge], Universal Serial Bus [USB], Console [con], Loop-back [lo], Wi-Fi [w] и т. д.)? Есть ли фильтрация адресов управления доступом к сети (NAC) или управления доступом к среде (MAC)? Включен или заблокирован доступ к удаленной или локальной консоли? Какой вид физической безопасности реализован? Закрыто ли помещение с серверной стойкой на замок или есть ли хотя бы USB-замки? Ведется ли журнал доступа к интерфейсу? Где находится интерфейс управления сетью и сама сеть? Каков IP-адрес и MAC-адрес каждой точки доступа?
● Граничные шлюзы, переходы и точки выхода. Сколько интернет-провайдеров (internet service provider, ISP) у сервера — один или больше? Используется надежное подключение к интернету (Trusted Internet Connection, TIC) или управляемая служба интернета (Managed Internet Service, MIS)? Какова пропускная способность интернет-соединения? Применяется оптоволокно, Ethernet, коаксиальный кабель или другой канал? Какие переходы ведут к сети? Существуют ли способы входа в сеть или выхода из нее через спутник, микроволновую печь, лазер или вайфай?
● Структура и схема сети. Каковы имя, назначение и размер каждой подсети, например используется ли бесклассовая междоменная маршрутизация (Classless Inter-Domain routing, CIDR)? Задействуются ли виртуальные локальные сети (virtual local area networks, VLAN)? Заданы ли лимиты пула подключений? Является ли сеть плоской, иерархической или разделена на структуры, защитные слои и/или функции?
● Хосты и узлы сети. Как они называются? Какая у них версия операционной системы (ОС)? Какие службы/порты используются, какие из них открыты? Какие на них запущены средства безопасности, которые позволят обнаружить атаку? Есть ли у них общеизвестные уязвимости (common vulnerability exploit, CVE)?
● Физическая и логическая архитектура сети и здания. Где находится дата-центр? Есть ли в холле разъемы Ethernet? Можно ли поймать вайфай за пределами здания? Видны ли экраны компьютеров и терминалы снаружи здания? Используется ли в офисе безопасное стекло? Правильно ли сегментированы сети гостевых или конференц-залов? Каковы основные списки управления доступом (access control list, ACL) и правила брандмауэра в этой сети? Где разрешается DNS? Что доступно в периметре сети или DMZ (demilitarized zone)? Существуют ли внешние поставщики электронной почты или другие облачные сервисы? Как устроена архитектура удаленного доступа или виртуальной частной сети (VPN)?
Организации, не имеющие действующей карты сети, иногда используют электрические схемы или схемы, составленные их ИТ-отделом. На таких упрощенных рисунках отражено относительное расположение систем, сетевого оборудования и подключения устройств, и они могут служить справочными материалами для устранения технических или эксплуатационных проблем в сети. Но у множества организаций нет даже таких приблизительных схем, зато есть электронные таблицы, в которых перечислены имена хостов, их модели и серийные номера, IP-адреса, а также расположение всего оборудования на стойке в центре обработки данных. При этом если заинтересованные стороны могут использовать такую таблицу для поиска нужных ответов и серьезных сетевых проблем или сбоев не возникает, то даже само наличие такой документации может препятствовать созданию карты сети. Это ужасно, но у некоторых компаний есть архитектор или специалист, который держит карту сети в голове, и ни в каком другом виде ее не существует.
Справедливости ради стоит сказать, что бывают и разумные причины отсутствия полезных сетевых карт. Создание, совместное использование и обслуживание карт отнимает драгоценное время и другие ресурсы. Карты могут часто меняться. Добавление систем в сеть или их удаление, изменение IP-адресов, переделка кабелей или задание новых правил маршрутизатора или брандмауэра — все это может значительно повлиять на точность карты, даже если изменение произошло всего несколько минут назад. Кроме того, современные компьютеры и сетевые устройства используют протоколы динамической маршрутизации и конфигурации хоста, которые автоматически отправляют информацию в другие системы и сети, не нуждаясь в картах вообще, что означает: сети могут автоматически настраиваться сами.
Разумеется, существует множество программных инструментов для создания карт, например программа Nmap, которая сканирует сеть, определяя в ней хосты, визуализирует сеть по количеству переходов от сканера, использует простой протокол управления сетью (Simple Network Management Protocol, SNMP) для обнаружения и отображения топологии сети или задействует файлы конфигурации маршрутизатора и коммутатора для быстрого создания сетевых диаграмм. Сетевые диаграммы, генерируемые программами, удобны, но они редко отражают все подробности и в целом контекст, необходимый для создания по-настоящему качественной карты, которую хотел бы иметь под рукой защитник. Идеальным решением было бы одновременное использование программ для картографии, сетевого сканирования и человеческого опыта, но даже этот подход требует значительных затрат времени сотрудника со специальными навыками, иначе полученные карты не будут достаточно точными или полезными.
Несмотря на эти ограничивающие факторы, чрезвычайно важно, чтобы защитник сети при составлении карты был очень внимателен. Примерная карта, показанная на рис. 1.2, иллюстрирует детали, которые должны быть указаны на составляемой защитником карте сети.
Для представления устройств в сети используют геометрические фигуры, а не пиктограммы. Для схожих типов устройств применяют схожие фигуры. Например, круги на рис. 1.2 обозначают рабочие станции, квадраты — маршрутизаторы, а прямоугольники — серверы. В продолжение этой мысли, треугольники, если бы они были, представляли бы ретрансляторы электронной почты или контроллеры домена. Кроме того, на фигурах отсутствует текстура или фон, потому что информация, размещенная внутри, должна быть хорошо читаемой.
Каждый интерфейс, как виртуальный, так и физический, имеет свой тип и номер. Например, может быть указан тип интерфейса Ethernet, а номер интерфейса будет таким же, как и физически указанный на устройстве, eth 0/0. Также помечаются неиспользуемые интерфейсы. Каждому интерфейсу приписывается назначенный ему IP-адрес и подсеть, если они известны.
Открытая информация об устройстве: имя хоста, марка, модель устройства и версия ОС — указывается в верхней части устройства. Уязвимости, учетные данные по умолчанию, известные учетные данные и другие важные слабости обозначаются в центре устройства. Аналогичным образом документируются запущенные службы, программное обеспечение и открытые порты. На карте также указываются сети VLAN, сетевые границы, макет и структура сети. Рядом с ними записывается любая заслуживающая внимания информация.
Тайный сбор информации
Высшим пилотажем у синоби считалось умение собрать разведданные, не обнаружив себя. Если он будет прогуливаться возле замка и замерять длинной линейкой его размеры, то жители наверняка заподозрят, что тут работает вражеский шпион. Следовательно, старательные синоби составляли карты в мирное время, когда обитатели замка были менее бдительны и можно было более свободно ходить там, где нужно, вызывая во время сбора данных меньше подозрений.
Часто синоби приходилось придумывать способы выполнять измерения, отмечать топографические особенности и собирать другую информацию втайне от посторонних глаз. Что характерно, в разделе о методах открытой маскировки трактата «Бансэнсюкай» приведено описание того, как точно создавать карты, и там говорится, что синоби умели создавать карты прямо на глазах у врага. В трактате описывается техника под названием урамитцу но дзюцу, предназначенная для определения расстояния до знакомого объекта, если известны размеры объекта для масштабирования. Урамитцу но дзюцу также рассматривает хитрые приемы из тригонометрии. Например, синоби может лечь ступнями к цели и использовать их известные размеры для измерения расстояния, при этом со стороны кажется, что человек просто дремлет под деревом.
Сбор информации о сетевых узлах — одно из первых действий, которое выполняет злоумышленник перед совершением атаки на сеть или хост. Карты, созданные противником, предназначены для того же, что и карты ниндзя, — идентификации и документирования информации, необходимой для проникновения на объект. К этой информации могут относиться все точки входа в сеть и выхода из нее: подключения к интернет-провайдеру, точки беспроводного доступа, УВЧ, микроволновые, радио- или спутниковые точки, облачные, взаимосвязанные и внешние сети.
Злоумышленники также находят шлюзы протокола пограничного шлюза (BGP) и маршруты или переходы к сети. Определяют репрезентативную структуру, расположение и дизайн сети, оборудование в ней, включая имена хостов, модели устройств, операционные системы, открытые порты, запущенные службы и уязвимости, а также топологию сети, включая подсети, VLAN, ACL и правила брандмауэра.
Многие из инструментов, предназначенные для отображения сети и используемые злоумышленниками, являются «шумными», поскольку они обмениваются данными с большим количеством хостов, применяют специально собранные пакеты и могут быть обнаружены внутренними устройствами безопасности. Но злоумышленники могут обойти этот недостаток за счет замедления или настройки картографа, использования нестандартных (неподозрительных) пакетов и даже ручной разведки с помощью стандартных инструментов, работающих на хосте жертвы, таких как команды ping или net. В атаках также могут задействоваться безобидные методы разведки, когда злоумышленник не трогает и не сканирует цель, а лишь собирает информацию с помощью сервиса Shodan или других ранее проиндексированных данных, хранящихся в поисковых системах в интернете.
Более хитроумные злоумышленники пользуются тактикой пассивного отображения сети, когда злоумышленник собирает информацию о цели, не взаимодействуя с ней напрямую (без активного сканирования с помощью инструментов вроде Nmap). Еще одна тактика пассивного отображения сети — это интерпретация пакетов, перехваченных с сетевого интерфейса в беспорядочном режиме, то есть настройка сетевого интерфейса на запись и проверку всех сетевых коммуникаций. Этот режим противоположен упорядоченному режиму, при котором записывается и проверяется только связь внутри сети. Беспорядочный режим позволяет получить представление об используемых сетью соседних хостах, потоках трафика, службах и протоколах, не взаимодействуя с ними активно.
Методами отображения сети без прямого взаимодействия с ней являются также перехват электронных писем администратора сети на выходе из нее, поиск сетевых карт цели во внешнем хранилище файлов или поиск на форумах, где администратор просит помощи в устранении неполадок, для чего может публиковать журналы или ошибки, конфигурации маршрутизатора, информацию о сетевой отладке или другие технические подробности, позволяющие понять структуру и конфигурацию сети. Как и в урамитцу но дзюцу, использование наблюдаемой информации из сети цели позволяет составить карту, не обращаясь к сети. Пассивное отображение может включать в себя измерение задержки трассировщиков для определения спутниковых переходов (например, наличие спутника обычно сопровождается внезапным увеличением задержки связи на 500 мс) или обнаружения глубокой обработки пакетов системой брандмауэра (например, препроцессор распознает потенциальную злонамеренную атаку и добавляет ощутимые задержки связи). Пассивное отображение может включать также раскрытие информации внутренней сети из внешних зон DNS и записей ответов. Это могут быть заказы на государственные закупки и запросы на закупку определенного программного либо аппаратного обеспечения, объявления о вакансиях сетевых или системных администраторов с опытом работы в конкретной технологии, сетевом оборудовании или аппаратном/программном обеспечении.
Если злоумышленник тратит так много времени на разработку карт, они в конечном итоге могут оказаться более полными, чем собственные карты цели, и тогда противник будет знать о сети цели больше, чем сама цель. Чтобы не отставать в этой битве, защитники сети должны разрабатывать и поддерживать лучшие карты и обеспечивать высокую степень защиты.
Создание карты
Создание карты может состоять из трех основных этапов.
1. Выделите средства для создания полной и точной карты, которую было бы легко обновлять и надежно хранить. Карта должна содержать информацию, необходимую для нужд определенного отдела, например отдела ИТ, центра сетевых операций (network operations center, NOC) и SOC. Рассмотрите возможность найма специального человека, команды или подрядчика, который бы составил и проанализировал такую карту.
2. Создайте саму карту, указав на ней все подробности, перечисленные в начале этой главы.
3. Попросите коллег проверить эту карту в рамках процесса управления изменениями и делайте это всякий раз, когда кто-либо замечает расхождение карты с действительностью.
Давайте подробнее рассмотрим второй шаг — создание карты.
Когда вы определили все ключевые заинтересованные стороны и убедили их в том, что этот проект совершенно необходим, первый шаг — собрать все, что есть в вашей организации, что может помочь создать его. Сюда входят схемы подключения, планы проектов старой сетевой архитектуры, результаты сканирования уязвимостей, инвентаризации активов и центра обработки данных, данные об аренде DHCP, записи DNS, сведения об управлении сетью SNMP, записи агентов конечных точек, данные о захвате пакетов (packet captures, PCAP), журналы SIEM (security information and event management), настройки маршрутизаторов, правила брандмауэра и результаты сканирования сети. Настройка маршрутизатора лежит в основе построения базовой архитектуры и компоновки вашей сетевой карты. К примеру, можете начать с размещения вашего ядра или центрального маршрутизатора(ов) в середине карты и затем рисовать ответвления от него. Перехват PCAP поможет выявить в сети конечные точки, которые могут не отвечать на сканирование сети или вообще быть недоступными для сканеров из-за сетевой фильтрации. Разрешив выбранным системам собирать PCAP в течение длительного периода в беспорядочном режиме, вы получите список конечных точек, как показано на рис. 1.3.
В идеале собирать PCAP нужно во время сканирования сети, чтобы проверить, куда дотягивается сканер. Кроме того, следует провести несколько сканирований сети, при этом минимум одна конечная точка в каждой подсети должна сканировать свою подсеть. Эти сканирования можно вручную объединить в топологию карты сети, как показано на рис. 1.4. Определите элементы, которые можно автоматизировать, чтобы этот процесс было легче повторить в будущем.
Собранные данные нужно обработать, проанализировать и объединить. Перед объединением данных полезно выяснить, какой источник данных наиболее точен, а также определить источники, предоставляющие уникальную и полезную информацию, например время последнего посещения устройства. Также следует проанализировать все найденные несоответствия. Это могут быть устройства, которых на самом деле нет в сети, несанкционированные устройства, странное сетевое поведение или соединения. Если вы обнаружите, что ваши сетевые сканеры не смогли проникнуть в какие-то части подсети из-за правил IP-адресов или работы системы предотвращения вторжений (intrusion prevention system, IPS), рассмотрите возможность изменения настроек, чтобы можно было выполнить более глубокое и всестороннее сканирование.
Рассмотрите различные инструменты для составления карт сети, которые могут автоматически принимать данные SNMP, сканировать сеть и уязвимости, а также позволяют выполнять ручное редактирование и добавление данных. Выбранный вами инструмент должен создавать исчерпывающую, точную и подробную карту сети, отвечающую потребностям заинтересованных сторон. Выберите лучшее решение, которое будет обрабатывать ваши данные и соответствовать вашему бюджету.
Создайте карту и протестируйте ее. Проверьте ее полезность во время совещаний либо инцидентов в сфере безопасности и сбоев/отладки сети. Помогает ли карта решать проблемы и быстрее находить их источник? Проверьте точность карты с помощью трассировки маршрута и выполнения tcpdump через интерфейсы. Чтобы проверить точность с помощью трассировки, нужно провести ее изнутри и снаружи из разных сетевых местоположений и посмотреть, указаны ли на карте точки перехода (маршрутизаторы) и соответствуют ли они структуре сети. Пример трассировки маршрута показан на рис. 1.5.
Посмотрите, насколько полезна будет ваша карта для красной и синей команд. Соберите отзывы, повторите процесс составления и получите карту лучшего качества за меньшее время.
УПРАЖНЕНИЕ ПО ТЕОРИИ ЗАМКА
Рассмотрим сценарий, в котором вы — правитель средневекового замка, у вас есть ценная информация, сокровища и люди. Вам стало известно, что ниндзя тщательно нанесли на карту ваш замок и его окрестности, но при этом неясно, выбрали вас в качестве цели или это просто пассивная разведка. Вы не знаете, как выглядит карта и насколько она детализирована. У вас же есть лишь архитектурный план замка, который использовался во время его возведения и был разработан для строителей, а не для других пользователей, к тому же с тех пор устарел.
Что может быть отражено на карте ниндзя, чего нет на вашей карте? Что ниндзя знает о вашем замке, чего не знаете вы, и как эту информацию можно применить для проникновения в него? Кому в замке был бы полезен доступ к карте ниндзя? Кому вы доверили бы нанести на карту свой замок так же, как это делали ниндзя, чтобы увидеть то, что увидели они?
Рекомендуемые меры безопасности и предосторожности
Все рекомендации, если это возможно, здесь и далее сопровождаются мерами безопасности из стандарта NIST 800-53.
1. Распределите обязанности по документированию карты сети. Внедрите политики и процедуры для координации обновлений карты между командами. (Разделы CM-1. Политика и процедуры управления конфигурацией; CM-3. Контроль изменений конфигурации | Представитель службы безопасности; CM-9. План управления конфигурацией.)
2. Чтобы было с чего начать, документируйте конфигурацию топологии сети, архитектуры, логическое размещение и информационные системы. (CM-2. Базовая конфигурация.)
3. Добавьте идентификацию дефектов, например неточностей карты, и процедуру устранения, допустим, уязвимостей, сетевой архитектуры, в процесс составления карты. (SI-2. Устранение дефектов.)
Резюме
В этой главе мы рассмотрели цели создания карт синоби, стандарты этого процесса и методы картографирования, а также привели обзор современных практик и технологий картографирования сетей. Беседы о важности сетевых карт, о том, как создавать хорошие карты и как злоумышленники собирают информацию о вашей системе, возможно, подогрели ваше воображение и вы хотите найти больше источников данных или методов, которые можно было бы использовать для построения карты своей и любой другой сети.
В следующей главе мы попробуем задействовать карту сети в качестве диаграммы потока данных (data flow diagram, DFD) для моделирования угроз. Это означает, что вы определите в своей сети области, в которых злоумышленник может провести атаку или обойти защиту. Я расскажу о новой защитной технике ниндзя, которую можно использовать для защиты слабых мест в вашей сети.
Об авторе
Бен Маккарти — бывший разработчик из АНБ. Один из самых квалифицированных специалистов по кибервойне, служивших на сетевом фронте. Бен успел поработать хакером, специалистом по отработке инцидентов, охотником за угрозами, аналитиком вредоносных программ, инженером по сетевой безопасности, аудитором соответствия, специалистом по анализу угроз и специалистом по развитию. Ему принадлежат несколько патентов и сертификатов в сфере безопасности. В настоящее время занимается исследованием квантовой безопасности в Вашингтоне.
О научном редакторе
Ари Шлосс начал свою карьеру в Министерстве национальной безопасности США. Имеет степень магистра в области ИБ и MBA. В настоящее время работает инженером по безопасности на оборонную компанию в Мэриленде.
Более подробно с книгой можно ознакомиться на сайте издательства:
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Ниндзя