Отказ в обслуживании абонентов возможен в 100% сетей 4G

Отказ в обслуживании абонентов возможен в 100% сетей 4G

Отказ в обслуживании абонентов возможен в 100% сетей 4G

Согласно отчету Positive Technologies, используя недостатки протокола Diameter, злоумышленник может лишить абонентов основных преимуществ 4G — высокой скорости и качества связи. Уязвимости протокола Diameter могут привести к блокировке работы банкоматов, POS-терминалов, приборов учета ЖКХ, автосигнализаций, а также систем видеонаблюдения. Если абонент является системой диагностики на магистральном газопроводе или GSM-контроллером утечки бытового газа, отсутствие связи может привести не только к прямому денежному ущербу, но и к опасным авариям.

Мобильные сети 4G с каждым годом получают все более широкое распространение. При этом пользователи ожидают от оператора, которому они доверяют, высокого качества связи и надежной защиты данных. Однако в протоколе Diameter, применяемом в сетях 4G для передачи служебных сообщений, эксперты Positive Technologies обнаружили ряд уязвимостей.

Например, злоумышленник может зарегистрировать абонента в несуществующей сети — и полностью оставить его без связи. Кроме того, уязвимости позволяют атакующему реализовать массовый отказ в обслуживании, что чревато серьезными финансовыми и репутационными потерями для мобильного оператора, так как сразу тысячи пользователей могут быть отключены на длительное время (до перезагрузки устройства или перехода в зону действия другого узла управления мобильностью).

Риску мошенничества в отношении оператора подвержена каждая третья сеть 4G. Киберпреступники могут пользоваться мобильной связью бесплатно и продавать подобные услуги третьим лицам. Под угрозой и приватность: все сети четвертого поколения позволяют отследить местоположение абонентов.

«В 2017 году мы уже показывали, что в сетях 4G можно реализовывать атаки, связанные с определением местоположения абонента, отказом в обслуживании и другими нелегитимными действиями. Однако пока операторы принимают лишь минимальные меры защиты в отношении уязвимостей протокола Diameter, — отмечает руководитель группы исследований безопасности телекоммуникационных систем Positive Technologies Павел Новиков. — А если посмотреть на инфраструктуру предыдущих поколений, то картина еще печальней. Злоумышленник может принудительно перевести устройство абонента в режим 3G — и проводить атаки на менее защищенную систему SS7, где прослушивать голосовые вызовы или перехватывать SMS гораздо проще. Напомню, что в сетях 2G и 3G в процессе исследования их безопасности нам удалось перехватить 9 из 10 SMS».

Большинство выявленных недостатков были связаны не только с некорректной настройкой или уязвимостями сетевого оборудования, но также с фундаментальными проблемами протокола Diameter, для решения которых требуются дополнительные средства защиты. Эксперты Positive Technologies подчеркивают необходимость комплексного подхода к безопасности.

В исследовании Positive Technologies участвовали операторы связи стран Европы и Азии. Большую часть (80%) составили крупные телекоммуникационные компании с объемом абонентской базы более 40 миллионов человек.

Критическую уязвимость в ядре Linux x86 не замечали с 2020 года

В ядре Linux обнаружили уязвимость, которая тихо жила в системе несколько лет — и притом в одном из самых чувствительных мест. Речь идёт о механизме обработки page fault на архитектуре x86, то есть о коде, который срабатывает каждый раз, когда процессор фиксирует некорректный доступ к памяти.

Проблема тянулась как минимум с 2020 года и была связана с тем, что в ряде сценариев аппаратные прерывания оказывались включёнными в момент, когда ядро ожидало их отключения.

На практике это означало потенциальную нестабильность в крайне редких, но критически важных ситуациях — там, где от предсказуемости поведения ядра зависит вообще всё.

На уязвимость обратил внимание инженер Intel Седрик Син (Cedric Xing), внимательно изучавший код обработки исключений. Как выяснилось, логика в функции do_page_fault() опиралась на устаревшее и, по сути, ошибочное допущение.

В комментариях прямо говорилось, что отследить состояние прерываний на всех возможных ветках выполнения почти невозможно — и разработчики много лет балансировали между «комбинаторным кошмаром» из патчей и попытками аккуратно чинить отдельные случаи.

Но проблема оказалась глубже. Код смешивал два разных понятия — адрес (пользовательский или ядерный) и контекст выполнения. Обычно они совпадают, но не всегда.

Существуют ситуации, когда обращение идёт к памяти ядра, но в пользовательском контексте. В таких случаях некоторые ветки обработчика могли повторно включить прерывания — и вернуть управление туда, где ядро было уверено, что они всё ещё выключены.

Особенно показательной оказалась ветка __bad_area_nosemaphore(), где предпринимается попытка «восстановить правильное состояние», но на деле это происходило не всегда и не одинаково. В результате возникала асимметрия: в зависимости от пути выполнения система могла оказаться в неожиданном состоянии.

В итоге разработчики пришли к простому, но радикальному выводу: латать отдельные ветки бессмысленно. Вместо этого было принято решение гарантированно и безусловно отключать прерывания в одном конкретном месте — прямо перед возвратом управления в низкоуровневый обработчик page fault. Без условий, без проверок, без попыток «угадать» контекст.

Патчи уже вошли в ветку Linux 6.19, а также планируются к бэкпорту в поддерживаемые стабильные версии. Фактически оно устраняет дефект, появившийся ещё во времена Linux 5.8.

RSS: Новости на портале Anti-Malware.ru