Анализ TTL помог выявить источник DDoS-атаки на GitHub

Анализ TTL помог выявить источник DDoS-атаки на GitHub

Роберт Грэм (Robert Graham) из команды Errata Security, получивший известность как разработчик сверхпроизводительного DNS-сервера robdns и системы masscan, способной за пять минут просканировать порты всех хостов в Сети, опубликовал результаты исследования источника подстановки вредоносных JavaScript-блоков, применяемых для DDoS-атаки на GitHub.

Исследование подтвердило, что модификация трафика производится на оборудовании "Великого китайского файрвола" или в непосредственной близости от него, в частности в инфраструктуре магистральной опорной сети крупнейшего китайского провайдера China Unicom. Пока непонятно санкционирована ли атака китайскими властями или она стала возможной в результате взлома инфраструктуры сети China Unicom третьими лицами.

Для определения точки подстановки трафика был использован довольно интересный метод, основанный на анализе изменения TTL (поле в заголовке IP-пакета, уменьшаемое на единицу на каждом транзитном маршрутизаторе). Ранее, изучая атаку на GitHub, исследователи из компании Netresec обнаружили важные особенности работы с TTL на перехватывающем трафик MITM-узле. Подстановка используемых в атаке JavaScript-блоков осуществлялась только для пакетов с низким TTL ("пришедших издалека"), а подменённые в результате MITM-атаки пакеты снабжались с аномальном большим TTL, т.е. значение данного поля искусственно заменялось на большое значение, что явно выделяло прошедшие через MITM-прокси пакеты в общем потоке ответов от сервера, сообщает opennet.ru.

Например, проверочные пакеты к серверу Baidu, отправленные с TTL 64, достигают целевого хоста при TTL 46, т.е. по пути наблюдается 18 транзитных шлюзов. Но после отправки web-запроса, ответ приходит с TTL 98 или 99, что можно использовать как сигнал получения ответа от подставного сервера. Роберт Грэм решил воспользоваться данной аномалией и проследить на каком узле в цепочке передачи пакета происходит изменение TTL. Для этого им был подготовлен модифицированный вариант утилиты traceroute, отправляющий HTTP-запросы с изменённым TTL и отслеживающий пакеты об исчерпании времени жизни от маршрутизаторов.

Большинство систем выставляет по умолчанию для пакетов значение TTL 64, по мере прохождения маршрутизаторов значение TTL уменьшается и в момент достижения целевого хоста содержит своё минимальное значение, позволяющее оценить число транзитных маршрутизаторов по пути следования пакетов. Принцип действия утилиты traceroute сводится к том, что она вначале отправляет пакет с TTL=1 и, так как время жизни пакета истекает на первом шлюзе, получает от него ICMP ответ с отражением данного факта. Таким образом определяется первый узел по пути следования пакета. Затем проверки повторяются с TTL=2,3... до тех пор пока не будет получен положительный ответ, что будет сигнализировать достижение целевого хоста.

Особенностью созданного Робертом Грэммом мдифицированного варианта traceroute является то, что для анализа узлов за китайским межсетевым экраном вначале осуществляется установка HTTP-соединения с нормальным TTL, после чего начинается цикличная проверка с минимальными значениями TTL (1,2,3... и до достижения хоста). В один прекрасный момент при определённом TTL будет пройден весь путь следования пакета и получен положительный ответ. При этом полученное пошаговой проверкой число хопов будет отличаться от числа хопов, полученных в результате первого запроса (при пошаговой проверке 12, при прямом запросе 94).

 

 

Появление ответа при запросе с TTL значительно ниже возвращённого при первой проверке эталонного TTL будет свидетельствовать о достижении MITM-прокси. IP-адрес с которого был получен последний ответ об истечении времени жизни пакета можно считать адресом MITM-прокси. В данном случае MITM-прокси находится в сети оператора China Unicom. Примечательно, что обратная проверка через запуск traceroute из Китая к запрещённому в Китае внешнему ресурсу, показывает, что пакеты блокируются в инфраструктуре China Unicom.

Apple закрыла 194 уязвимости в macOS и iOS

Apple выпустила iOS 26.6 и iPadOS 26.6, а вместе с ними — внушительный набор патчей. В мобильных системах компания закрыла 78 уязвимостей, которым соответствуют 87 уникальных номеров CVE. Ни одну из них, по данным Apple, злоумышленники пока не успели активно использовать. Но набор возможностей у багов был почти флагманский.

Одна из уязвимостей позволяла приложению получить права root, другая — выполнить произвольный код на уровне ядра.

Ошибки в Game Center и библиотеке libc помогали вредоносным приложениям выбраться из песочницы, а проблема в CloudAttestation — обойти проверку цифровой подписи кода.

Не отставала и обработка файлов. Специально подготовленные изображения и документы могли привести к выполнению произвольного кода через ImageIO и SceneKit.

Отдельная ошибка позволяла приложению добавлять контакты без разрешения пользователя. А при наличии физического доступа к iPhone конфиденциальные данные можно было подсмотреть через функцию «Повтор экрана iPhone».

Больше десятка исправлений досталось ядру системы. Уязвимости позволяли повреждать и читать память, обходить сетевые фильтры или просто отправлять устройство в неожиданный нокаут.

WebKit тоже хорошенько прошлись заплатками. Баги в браузерном движке могли раскрыть содержимое памяти, историю посещённых ссылок, нарушить изоляцию iframe, помочь приложению читать чужие файлы или обрушить Safari. Ещё одна уязвимость в Wi-Fi позволяла находящемуся поблизости атакующему повредить память процесса.

На Mac-устройствах масштаб уборки оказался ещё серьёзнее: в macOS Tahoe 26.6 закрыли 155 уникальных CVE. Обновления watchOS, tvOS и visionOS также получили исправления. Всего в свежих версиях систем Apple устранено 194 уникальные уязвимости без учёта повторов между платформами.

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