Кампусные сети 4G/LTE и 5G в промышленных условиях позволяют удовлетворить растущие требования к доступности связи с низкой задержкой без затрат на фиксированные линии. Однако как переход к 5G, так и внедрение кампусных сетей высвечивают проблемы безопасности, которые усугубляются тем, что телекоммуникации и IT/OT относятся к разным областям знаний. В этом посте мы поделимся результатами изучения безопасности кампусной сети 5G вымышленного сталелитейного завода Trend Micro Steel Mill.  Мы разработали и провели атаки на вымышленный сталелитейный завод Trend Micro. Сценарии варьировались от обычных атак TCP/IP, таких как MitM-атака и модификация пакетов «на лету», до схем, специфичных для телекоммуникаций. Для этого мы построили эмуляцию сети кампуса:  При построении учитывались особенности такого рода предприятий. На сталелитейном заводе система управления должна регулировать множество параметров — температура, поток воздуха и давление в печи и проч. Ещё на таком предприятии контролируется смесь ингредиентов, необходимых для получения различных стальных сплавов. А сплавы, в которых количество и состав ингредиентов различаются, требуют разных температур для правильного создания. Если ингредиенты неверны, то температуры, используемые для изготовления сплава, также будут неверны. В таком случае продукт перестанет соответствовать требованиям заказчика, что приведёт финансовым потерям. По легенде компания Steel Mill решила обновить свою инфраструктуру с помощью кампусной сети 5G. При этом из-за ограниченного бюджета компания всё ещё использует довольно много устаревших устройств.  В качестве сотового маршрутизатора применён Sierra Wireless RV50x. Его выбрали потому, что Sierra Wireless — широко используемая марка промышленных маршрутизаторов сотовой связи в США и поддерживает частоты нашей базовой станции, а также IPsec, VPN, переадресацию портов и службу коротких сообщений (SMS). Чувствительными данными в нашей сети являются температура, поток воздуха и давление. Если любое из этих значений будет подделано, стальной сплав может быть испорчен. Такие данные приходят с термопар, анализаторов кислорода и датчиков давления поступают в программируемый логический контроллер (ПЛК). Он может управлять температурой, потоком воздуха и давлением. Поскольку мы не используем сервер управления процессом, данные с ПЛК поступают на управляющий компьютер, а также записывается в базу данных. Из этого интерфейса также можно непосредственно управлять работой ПЛК.  Один из ПЛК отправляет данные на внутренний MQTT-сервер с Moxa MGate 5105. Внутренний MQTT-сервер копирует данные на внешний write-only MQTT-сервер в облаке, защищённый паролем для предотвращения несанкционированного доступа.  Управляющий (слева) и полевой и интерфейсы с индикаторами температуры. В центре управления максимальная температура и сигнал тревоги находятся в верхнем левом углу, текущая температура — в правом верхнем углу. Справа внизу — две настройки клапана, а также давление и датчик включения/выключения вентилятора Существует множество поставщиков базовых сетей и устройств 4G/5G. Однако фактическое развёртывание как правило производят лицензированные системные интеграторы. Помимо традиционных крупных игроков, таких как Nokia и Ericsson, на рынок выходят и крупные ИТ-компании. Чтобы понять, как каждая служба взаимодействует друг с другом с максимальной прозрачностью, и чтобы мы могли изменять исходный код в наших экспериментах, нам необходимо было использовать опорную сеть с открытым исходным кодом. Для нашего исследования мы выбрали Open5GS, разработанный Сукчаном Ли и сообществом Open5GS. Причиной такого решения была поддержка стеков EPC и 5G, а также доступность исходного кода. В качестве базовой станции 5G использовалась Gemtek WLTGFC (LTE Band 3). Чтобы не нарушать работу сотовой связи, которая предоставляется мобильными операторами, все радиомодули оборудования нашего тестового кампуса были изолированы в клетке Фарадея. Поскольку Open5GS поддерживает смешанную опорную сеть 4G/5G, его архитектура довольно сложна. На рисунке вверху в розовый цвет окрашены блоки и линии 5G, а в зелёный — 4G. Жёлтые линии обозначают плоскость пользователя. Две пунктирные линии указывают на координацию функций, которые разделяются на плоскость управления (-c) и плоскость пользователя (-u). Фиолетовые линии — это исходящие соединения с интернетом и IP Multimedia Subsystem (IMS) - если поддерживается VoLTE. Новые интерфейсы 5G начинаются с N (N1, N3, N4 и так далее); аналогично интерфейсы 4G начинаются с S. Метка интерфейса также содержит используемый протокол —TCP, UDP или SCTP.  Например, метка «S1-MM1/SCTP/36412» означает, что интерфейс S1-MME является 4G, передаваемым через SCTP-порт 36412. Чтобы проникнуть в опорную сеть, злоумышленники должны найти цель, с которой они могут перехватывать трафик и производить различные действия. Мы определили точки входа злоумышленников для компрометации опорной сети. Как и в ИТ-системах, точками входа в сеть кампуса может быть один из серверов, на котором размещены сетевые службы, виртуальные машины или контейнеры с работающими внутри них сервисами, маршрутизатор или управляемый коммутатор, а также сами базовые станции. Поскольку применяются стандартные серверы x86, злоумышленник может эксплуатировать хорошо изученные уязвимости операционной системы, в качестве которой обычно используется один из дистрибутивов Linux, а также уязвимости интерфейса управления конкретного производителя, механизма оркестровки и сетей операций, администрирования и управления (OAM). Особую опасность с точки зрения защиты от проникновения представляют уязвимости нулевого дня.  Как только злоумышленник получает привилегии root, он сможет перехватывать сетевые пакеты. Однако правильно настроенная виртуализация ввода/вывода с единым корнем (SR-IOV) и Data Plane Development Kit (DPDK) могут затруднить злоумышленникам перехват и изменение содержимого пакетов. Виртуальные машины (ВМ) обычно хорошо защищены и в идеале открывают только необходимые порты. Ещё в идеальном мире ВМ или контейнеры регулярно подвергаются исправлениям, поэтому поверхность атаки для этой точки входа ограничивается службой, запущенной на ВМ, OAM и ключами SSH. Однако в реальности ВМ и контейнеры далеко не всегда содержат актуальные версии софта и ОС со всеми заплатками. Помимо этого, в контейнерах могут содержаться ошибки конфигурации, например, открытый VNC со слабыми паролями. Управляемые маршрутизаторы, коммутаторы, брандмауэры или даже устройства кибербезопасности могут использоваться для перехвата пакетов с целью маршрутизации, аудита и блокировки распространения вредоносного ПО. Однако практика показывает, что про эти устройства часто забывают и даже оставляют без исправлений. В таком состоянии эти устройства могут быть использованы для проникновения в сеть компании.  В этом исследовании мы не рассматривали сценарии атак на базовые станции. Это связано с тем, что базовые станции обычно поставляются с тремя или более частями микропрограммного обеспечения (основная операционная система, чипы связи и GPS) и очень оптимизированы для эффективности. Тем не менее, мы обнаружили несколько незначительных уязвимостей. Хотя 5G требует использования HTTP2 и опционально TLS, а также сертификатов при обмене между сервисами, некоторые из проанализированных нами базовых сетей, особенно недорогие, всё ещё передают данные открытым текстом, либо используют самоподписанные сертификаты, что делает их сетевую инфраструктуру уязвимой.  Как выяснила Positive Technologies, сертификаты HTTP2 не проверяются во многих опорных сетях 5G, а атаки типа «человек посередине» (MitM) между базовыми станциями и опорной сетью возможны в большинстве протестированных ими сред. Ещё одной проблемой, связанной с базовыми станциями, является тот факт, что любой критический патч потребует планирования времени простоя. Но поскольку доступность является наиболее важным фактором в среде ОТ, маловероятно, что исправления будут установлены своевременно. В рамках исследования нам удалось провести множество различных атак, часть из которых мы опишем ниже. Более детальный рассказ можно прочитать в нашей публикации Attacks From 4G/5G Core Networks. Risks of the Industrial IoT in Compromised Campus Networks. Перечислим описанные в документе сценарии атак:  перехват DNS; перехват MQTT; перехват Modbus/TCP; сброс или модификация прошивки незащищённых ПЛК; уязвимости удалённого рабочего стола RDP и VNC; атаки с заменой SIM-карты; атаки на «скрытые» APN; злоупотребление системами аварийного оповещения; атаки с помощью служебных SMS; атака на отказ в обслуживании с помощью «испорченных« SMS; атака с помощью поддельного GTP (протокола туннелирования для соединения различных сетей посредством IP-туннелей между устройствами и мобильной сетью); эксплуатация уязвимостей в базовых станциях. Когда мобильный телефон, LTE-модем или промышленный маршрутизатор 4G/5G регистрируется в сети, шлюз Packet Data Network Gateway (PGW)/Session Management Function (SMF) назначает два или более DNS-серверов, аналогично DHCP в локальной сети. Злоумышленник может назначить вредоносный DNS для пользовательского оборудования, перехватить легитимный ответ DNS и заменить его вредоносным IP-адресом или просто изменить записи на взломанном DNS-сервере. После этого устройство жертвы становится восприимчивым к загрузке встроенного программного обеспечения, обновлений по воздуху (OTA) или любых других данных или параметров с серверов, контролируемых злоумышленником.  Злоумышленник может воспользоваться доступом к шлюзу сети передачи данных общего пользования, который назначает DNS для пользовательских устройств, либо доступом к маршрутизатору. Существует два способа перехвата DNS-запросов:  установить DNS-сервер, подконтрольный злоумышленникам и изменить записи DNS; скомпрометировать кэширующий сервер DNS, который обычно также находится на внутри кампусной сети.  В любом случае злоумышленник изменяет запись в кэширующем сервере DNS в основной сети, чтобы перенаправить IP внутренних ресурсов на плацдарм злоумышленников и перехватить трафик в следующих атаках. Злоумышленник, если у нет доступа к серверу кэша DNS или если DNS не пересылается локальным сервером, может использовать манипулирование пакетами, чтобы изменить содержимое пакета на лету.  На нашем вымышленном предприятии используется внутренний DNS-сервер для сети OT. Это означает, что у злоумышленника есть более одного способа перехватить пакеты в следующих атаках, например, путём изменения DNS и перенаправления незашифрованного трафика. Такая атака может быть легко предотвращена, если есть сетевой монитор или регистратор данных/деталей событий, который ведёт запись метаданных сетевого соединения. При возникновении нестандартного трафика может быть немедленно подан сигнал тревоги. Также рекомендуется выбирать промышленные протоколы, поддерживающие привязку сертификатов. Использование SSL/TLS без отключения основных функций безопасности (таких как проверка корневого центра сертификации) позволяет легко обнаружить соединения, вызванные поддельными записями DNS. Для предотвращения перехвата DNS-запросов можно использовать расширения безопасности системы доменных имён (DNSSEC) или DNS over HTTPS (DoH), однако они редко поддерживаются в промышленных сетях. В некоторых современных сетях промышленного управления показания датчиков отправляются в облако по протоколу MQTT в качестве резервной копии или для аналитического использования. MQTT может быть защищён SSL/TLS (MQTTS). Для достижения максимальной безопасности MQTTS защищён паролем, а сервер и клиент — пиннингом с помощью предварительного обмена сертификатами. Однако в полевых условиях эти средства защиты обычно отсутствуют. После изменения телеметрии или сообщений, отправляемых в облако или на внутренние серверы, алгоритмы анализа и статистика могут быть нарушены. Злоумышленник также может перехватить данные MQTT, чтобы временно скрыть то, что было сделано на удалённых объектах. У злоумышленника при этом имеется несколько точек перехвата: SGi (LTE)/N6 (5G), в особенности, маршрутизатор между основной сетью и интернетом — можно провести MitM-атаку на TCP/1833 (MQTT) или TCP/8833 (MQTTS, если сертификаты не проверены или не используются); S1-U (LTE)/N3 (5G) между базовыми станциями и опорной сетью, если не используется IPsec/VPN; S5/8 (LTE) между SGW и PGW. На нашем сталелитейном заводе эта уязвимость была использована таким образом: сообщения MQTT для показаний датчиков температуры воздушного потока перехватывались и изменялись, чтобы оставаться в пределах нормального диапазона. В то же время злоумышленник изменял внутреннюю температуру, в результате чего фактический выходной ветер увеличивался с 29 до 50, но во внешних журналах аудита всё выглядело нормально. Для устранения этой проблемы можно использовать MQTTS вместо менее безопасного MQTT и защитить MQTTS с помощью надёжных паролей и привязки сертификатов. Одним из наиболее эффективных способов смягчения атак является использование шифрования на уровне приложений, например, HTTPS, MQTTS, LDAPS или любого хорошо разработанного промышленного протокола, такого как S7Comm-Plus. Второй действенный способ защититься — сегментирование сети с помощью VLAN и IPsec.  Однако даже при наличии этих средств защиты необходимо оперативно устанавливать последние исправления для операционных систем, сетей OAM, маршрутизаторов и базовых станций сразу, иначе сети кампуса всё равно будут открыты для угроз.