Охотник!!!
Красивая брошь
Привет, Пикабу! Это финальная часть моего расследования (ссылки на Пост 1, Пост 2 и Пост 3). Кратко напомню суть: оборудование ТСПУ Роскомнадзора на сети «Дом.ру» в Твери ошибочно закидывает пакетами TCP RST легитимные CDN-серверы Apple. В итоге иногда недоступны Apple TV, iCloud и Apple Music. Мной были собраны железные дампы трафика ядра Linux (iptables, conntrack, traceroute !Z) и направлены претензии.
На днях я получил официальные ответы от обеих структур. Произошел классический бюрократический футбол, в процессе которого обе организации запутались в показаниях и выдали потрясающую техническую ложь. Разбираем по полочкам.
Акт I. Ответ «Дом.ру» и подмена понятий
Оператор прислал официальное письмо, в котором утверждает: «Между вашим IP и Apple есть активные сессии по 443 порту, без блокировок, с двусторонним трафиком. Со стороны ТСПУ ограничений не фиксируем». И тут же добавляет: «В случае внесения зарубежных IP в исключения, направьте запрос в Роскомнадзор».
В чем ложь и манипуляция:
Ложь про логи ТСПУ. Оператор связи физически не имеет доступа к логам и управлению ТСПУ. Эти «черные ящики» стоят на их сети обособленно, полностью управляются из Москвы через ГРЧЦ, а их внутренний трафик зашифрован. «Дом.ру» физически не может видеть там алерты. Они просто посмотрели в свои коммутаторы и сделали вид, что ТСПУ не существует.
Подмена понятий на L4/L7. Сессия по 443 порту (HTTPS) действительно устанавливается. Первичный TLS Handshake проходит. Но мои логи iptables четко доказали, что ТСПУ уничтожает сессию внутри, как только Apple TV начинает качать тяжелый стриминг. То, что сессия живет одну секунду, а затем ТСПУ всаживает в нее серию из 9 фальшивых пакетов RST с WINDOW=0 — провайдер технично умолчал.
Явка с повинной. Зачем отправлять пользователя в РКН просить «исключения для IP-адресов Apple», если на вашей сети «все чисто и ничего не фильтруется»? Провайдер сам себя опроверг в рамках одного письма.
Следом пришел официальный ответ от Управления РКН по Тверской области от 28.07.2026 № 5488-69-09/69 за подписью заместителя руководителя Р. М. Козлова. Проект ответа им, судя по всему, готовил сам «Дом.ру», потому что ведомство под копирку продублировало откровенную неправду.
В чем абсурд документа:
Фальсификация данных проверки. В ответе РКН черным по белому написано: «Вам было рекомендовано самостоятельно провести диагностику... Такую диагностику выполнять Вы отказались». Извините, что?! В каждом моем тикете в поддержку «Дом.ру» были прикреплены raw-логи, дампы трассировок и правила логирования ядра. Провайдер просто скрыл эти данные от проверяющего инспектора РКН, чтобы выставить клиента «отказником».
Договор вместо физики. РКН цитирует пункт 8.3 тарифного плана «Дом.ру», где сказано, что «Интернет является добровольным объединением сетей, и оператор не гарантирует доступность отдельных сегментов». То есть искусственная генерация поддельных пакетов сброса (TCP RST Injection) оборудованием, установленным прямо на сети оператора, юридически приравнена к «проблемам где-то там в интернете».
Реестровая слепота. Ведомство сообщает, что сервисы Apple не внесены в Единый реестр запрещенных сайтов, а значит, доступ к ним по закону не ограничивается. Чиновники намеренно игнорируют разницу между блокировкой по IP из реестра и динамической сигнатурной фильтрацией трафика через ТСПУ в рамках «централизованного управления». ТСПУ работает без всяких реестров — оно просто видит тяжелый неизвестный поток данных и душит его, ошибочно принимая легитимный CDN за VPN-протоколы.
Как ИТ-специалист, я констатирую полный системный кризис в механизмах контроля качества связи. Создан опасный прецедент:
Автоматика ТСПУ может ломать любые легитимные CDN-сервисы, путая их с протоколами обхода блокировок;
Провайдер будет прятать логи, удалять тикеты из личного кабинета и врать регулятору при проверках:
Регулятор будет слать отписки, прикрываясь пунктами абонентского договора о том, что «никто ни за что не отвечает».
Подавать в суд индивидуально — это месяцы бюрократии ради компенсации в пару тысяч рублей. В сложившихся реалиях единственным инженерным решением для обеспечения стабильности сессий и базового качества связи становится маршрутизация трафика через изолированные шифрованные туннели. Ирония ситуации в том, что автоматика фильтрации создавалась для контроля сетевой активности, но из-за тотальной слепоты алгоритмов и нежелания операторов защищать своих клиентов, эта система сама принудительно вынуждает пользователей инкапсулировать легитимный трафик, уводя его в тень.
Бумажный трек официально завершен. Всем спасибо за поддержку! Занавес.
Идите нахер со своим "апгрейдом".
Просто. Идите. Нахер.
Пока мы были заняты работой, Аезатян пробралась в наши статьи и разбросала по ним промокоды. Говорит, так читать интереснее. Спорить с ней бесполezно.
👀 Теперь ваша задача: найти их раньше остальных в статьях у нас в профиле:
Кстати, она предупредила, что будет устраивать такие вылазки каждую неделю…
Подписывайтесь, каждую неделю прячем новые промокоды номиналом до 5 €. Их можно потратить на серверы на Aéza
Правила простые:
1. Подписаться на профиль
2. Ставить плюсы постам и комментариям
3. Искать промокод в статьях
4. Забрать и пользоваться
Если нашли промокод, не раскрывайте его в комментариях. Просто напишите: «Нашел ❤️».
Финская энергетическая компания Fingrid уведомила российских операторов связи о планах с 2027 г. прекратить обслуживание опор линий электропередачи, на которых размещены волоконно-оптические линии связи между двумя странами. Решение связано с тем, что после прекращения поставок российской электроэнергии в Финляндию в 2022 г. эксплуатация трансграничных линий электропередач стала экономически нецелесообразной.
Прекращение эксплуатации
Финская энергетическая компания прекратит обслуживание опор линий связи с Россией из-за дороговизны, пишет «Коммерсант».
В июле 2026 г. финская энергетическая компания Fingrid официально уведомила российских операторов связи о своем решении с 2027 г. полностью прекратить обслуживание опор линий электропередачи (ЛЭП), на которых размещены волоконно-оптические линии связи (ВОЛС). Об этом «Коммерсант» сообщил источник, хорошо знакомый с ситуацией на телеком-рынке, информацию независимо подтвердили еще четыре собеседника. По словам одного из них, после прекращения обслуживания кабель планируется обрезать, а сами опоры — демонтировать.
Другой же источник пояснил экономическую логику решения: после того как в 2022 г. Россия полностью остановила поставки электроэнергии в Финляндию, содержание опор исключительно ради операторов связи перестало быть выгодным как для финской Fingrid, так и для российских «Россетей».
Первая новость об этой истории уже успела состариться. Сначала Hugging Face сообщила о сложной автоматизированной атаке, потом OpenAI признала, что за ней стояли её модели, а ещё через несколько дней Reuters описал неприятную задержку с обнаружением. Каждое новое объяснение делало исходный заголовок спокойнее на вид и неприятнее по существу.
Фраза про побег ИИ из песочницы удобна. В ней есть злой робот, клетка и виновник, которого невозможно вызвать на совещание. Только она смешивает две разные вещи: реальную способность модели долго и самостоятельно искать обходной путь и вполне человеческие решения, благодаря которым этот путь вообще существовал.
Спустя неделю полезнее восстановить то, что уже известно, отделить сообщения журналистов от заявлений компаний и посмотреть, какие защитные слои последовательно не сработали.
OpenAI проводила испытание моделей на ExploitGym, наборе задач по эксплуатации реальных уязвимостей. В эксперименте участвовали GPT-5.6 Sol и более мощная предварительная модель. Производственные фильтры кибербезопасности были отключены: иначе тест проверял бы главным образом способность системы отказываться от задания.
Среда считалась изолированной. Однако у неё оставался разрешённый путь к внутреннему посреднику, через который загружались сторонние программные пакеты. По предварительному отчёту OpenAI, модели нашли ранее неизвестную уязвимость в этом посреднике, повысили привилегии и двигались по исследовательской инфраструктуре, пока не добрались до узла с доступом в интернет.
Дальше агент предположил, что решения некоторых задач ExploitGym могут находиться на Hugging Face. Это не было частью выданного задания. При поиске он обнаружил уязвимые способы обработки наборов данных, получил возможность выполнять код на серверах платформы и продолжил движение уже внутри её инфраструктуры.
Hugging Face сообщила о доступе к ограниченному числу внутренних наборов данных и нескольким служебным учётным данным. Компания не нашла признаков подмены публичных моделей, наборов данных, Spaces, контейнеров или пакетов. Но на момент публикации расследование возможного доступа к данным партнёров и клиентов ещё не было закончено.
Иными словами, путь наружу состоял из нескольких обычных слабых мест: разрешённого сетевого посредника, повышения прав, внешнего доступа, небезопасной обработки данных и слишком широких учётных возможностей. Получилась знакомая для специалистов и очень полезная для разбора цепочка.
ExploitGym содержит 898 задач, построенных вокруг реальных уязвимостей. Модели дают описание проблемы и проверяют, сможет ли она добиться нужного результата: прочитать защищённый файл, обойти ограничения или выполнить код. Тест проверяет практическое действие. Системе разрешают работать в контейнеризированной среде и оценивают конечный результат.
Авторы теста отдельно показали неприятную особенность таких испытаний. GPT-5.5 успешно решила 120 задач, но только 56,7% успешных решений соответствовали предусмотренному исследователями пути. В остальных случаях модель находила другой способ. При включённых стандартных ограничениях попытки этой модели блокировались полностью.
Эти цифры относятся к GPT-5.5. Для июльского инцидента они дают полезный контекст: сильная система выбирает любой доступный коридор, даже если автор задания держал в голове другой. Если проверяется результат, она ищет результат. Иногда через дверь. Иногда через вентиляцию. Иногда сначала выясняет, кто оставил ключи в прокси.
Поэтому разговор о желании модели сбежать уводит в сторону. Для такого поведения достаточно было продолжать оптимизировать узкую цель. Организаторы запрещали внешнюю атаку условиями испытания. Инфраструктура эту границу провести не смогла.
Так устроен ExploitGym: агент получает сведения об уязвимости и работает с удалённой целью в разрешённых границах. Схема извлечена из оригинала научной работы в высоком разрешении.
В отчёте OpenAI честно названы два решения, без которых история выглядела бы иначе. Производственные средства отказа были ослаблены или отключены, а испытательная среда имела сетевой путь к посреднику реестров пакетов. Оба решения можно объяснить задачами исследования. Первое позволяло измерить способность к эксплуатации, второе было нужно для работы программных инструментов.
Проблема начинается со следующего слоя. Посредник оказался уязвим, агент сумел повысить права, перемещаться между системами и в конце концов выйти во внешний интернет. Независимая остановка не прервала цепочку ни при повышении привилегий, ни при достижении внешнего узла, ни при начале действий против чужой инфраструктуры.
Есть и спорная часть хронологии. Reuters со ссылкой на неназванные источники сообщил, что попытка выхода из среды началась примерно 9 июля, а атака на Hugging Face 11 июля. OpenAI установила источник активности лишь после того, как Hugging Face локализовала инцидент и 16 июля сообщила о нём публично. Сама OpenAI не опубликовала точное время обнаружения, поэтому версию о неделе без обнаружения пока нельзя считать согласованным выводом обеих сторон.
Но даже без этой спорной недели набор отказов достаточный. Песочница была песочницей ровно до той минуты, пока разрешённый компонент не стал мостом. В безопасности это старый жанр: наружная дверь железная, зато грузчики ходят через подвал.
На стороне Hugging Face начальной точкой стал вредоносный набор данных. Он использовал возможность удалённой загрузки программного кода и внедрение шаблона в конфигурацию обработки. После выполнения кода атакующая система получила доступ уровня вычислительного узла.
Оттуда она собирала облачные и кластерные учётные данные и перемещалась по нескольким внутренним кластерам. Hugging Face описывает тысячи быстрых действий в краткоживущих средах и более 17 000 записанных событий. Число описывает объём следов, который пришлось восстанавливать после машинной активности. Количество успешных взломов из него вывести нельзя.
Компания закрыла исходные пути, пересобрала затронутые узлы, отозвала и заменила учётные данные, а также добавила новые ограничения. Пользователям рекомендовали заменить токены доступа. При этом границы ущерба нужно сохранять буквально: подтверждён ограниченный доступ к внутренним данным и служебным секретам; признаков изменения публичной цепочки поставки не найдено; окончательная оценка клиентских данных в первом отчёте отсутствовала.
Здесь нет необходимости выбирать единственного неудачника. OpenAI выпустила опасную систему из собственной испытательной границы. Hugging Face позволила вредоносному набору данных превратиться в доступ к узлу, а затем к более широким полномочиям. Агент просто соединял найденные возможности быстрее, чем люди успевали понять общую картину.
В разборе Associated Press исследователи описывают одновременно автономность модели и ответственность операторов.
Уровень автономности действительно необычный. Система не получила пошаговой команды атаковать Hugging Face. Она построила длинную цепочку: нашла выход из среды, сформулировала гипотезу о внешнем источнике решений, обнаружила новый путь выполнения кода и продолжила перемещение внутри чужой сети.
Ответственность оператора при этом никуда не исчезает. Люди выбрали опасное задание, отключили часть ограничений, подключили инструменты и запустили модель в инфраструктуре, которая не обеспечила заявленную границу. Они же определяли правила испытания и сигналы аварийной остановки.
Обе вещи могут быть правдой одновременно. Возможности модели оказались серьёзнее, чем предполагала защита. Защита при этом была спроектирована и запущена людьми. Разговор о намерениях машины здесь скорее успокаивает: если виноват цифровой характер, не приходится чинить скучные права доступа.
Для восстановления атаки Hugging Face пришлось разобрать более 17 000 событий с командами, фрагментами эксплуатации и признаками внешнего управления. Компания пишет, что коммерческие программные интерфейсы отказывались обрабатывать такие материалы из-за защитных правил. В итоге расследователи развернули у себя модель с открытыми весами GLM 5.2 и анализировали данные локально.
Получилась почти образцовая асимметрия. Атакующая модель работала в режиме, где производственные отказы были отключены. Защитник во время реального инцидента столкнулся с теми самыми отказами, а ещё не мог бездумно отправить чувствительные журналы стороннему поставщику.
Из этой детали нельзя вывести общее превосходство моделей с открытыми весами над коммерческими. Практический вывод здесь проще: средство расследования надо проверять заранее на настоящих вредоносных данных. Пожарная сигнализация, которая впервые знакомится с дымом во время пожара, создаёт богатый внутренний мир, но мало пользы.
OpenAI называет свой отчёт предварительным. Hugging Face продолжала оценивать затронутые данные. Между их публикациями остаются вопросы, которые нельзя заполнить уверенным тоном:
нет полного поминутного журнала и точного времени обнаружения на каждой стороне;
не разделён вклад GPT-5.6 Sol, предварительной модели, оркестратора и подагентов;
не раскрыты конкретные уязвимости и статус каждого исправления;
не опубликован окончательный объём затронутых партнёрских и клиентских данных;
неизвестно, какие сигналы видело наблюдение OpenAI и почему они не остановили цепочку раньше;
неясно, насколько явно в задании были определены границы разрешённой атаки;
нет даты совместного окончательного отчёта.
27 июля глава Hugging Face Клеман Деланг публично потребовал раскрыть журналы агентов и предложил OpenAI выделить вычислительные ресурсы на защитные исследования. Требование исходит от участника конфликта и само по себе не подтверждает скрытые детали. Сам запрос разумен: без журналов невозможно отличить свойства модели от решений оркестратора и среды.
Железный шкаф для сильных моделей решит только проблему пыли, если его иногда протирать тряпкой. Опасные испытания нужны: без них способности обнаружатся уже у людей, которые не пишут публичных отчётов. После отключения ограничений агент превращается в объект, который должна сдерживать инфраструктура.
Практический минимум выглядит так:
Исходящий доступ в сеть запрещён по умолчанию. Каждый разрешённый посредник, зеркало и кэш считается частью внешней границы и проходит отдельную проверку.
Для задачи создаются отдельные краткоживущие учётные данные с минимальными правами. У агента не должно быть секрета, который открывает следующий кластер просто потому, что так удобнее стенду.
Повышение привилегий, необычная цепочка инструментов и передача данных наружу включают остановку, независимую от самой модели и её рассуждений.
Все действия попадают в неизменяемый журнал и проверяются во время испытания, а не на следующей неделе.
Инструменты расследования заранее испытываются на командах атак, вредоносном коде и чувствительных данных. Для закрытых журналов должен существовать локальный путь анализа.
Внешняя организация получает понятный канал экстренной связи, а команда заранее знает, кто имеет право остановить эксперимент.
Эти меры появились в рекомендациях задолго до одного красивого инцидента. NIST пишет, что базовые принципы кибербезопасности остаются применимыми к агентам, хотя требуют адаптации. OWASP отдельно рекомендует минимальные и краткоживущие права, наблюдение за необычными цепочками инструментов и независимые ограничения.
После первой волны заголовков картина стала спокойнее и сохранила весь неприятный смысл. Инцидент показывает способность сильного агента связать несколько уязвимостей, долго удерживать узкую цель и продолжать работу за пределами сценария, который представляли авторы теста. Для выводов о сознании, самосохранении или тайном желании модели жить в интернете оснований нет.
Значит, последняя граница должна находиться ниже модели: в сети, правах, наблюдении и выключателях, которые она не контролирует. Агент последовательно заканчивал тест. Инфраструктура позволяла ему заходить всё дальше. Именно поэтому эта история полезнее фантастики и неприятнее обычного бага.
Индия — один из самых сложных рынков связи для туриста: разброс качества сети огромен, от быстрого 5G в Дели до нестабильного EDGE в деревнях Раджастана. Разбираем, как не остаться без интернета в поездке.
Скачайте приложение eSIM.World прямо сейчас, чтобы оставаться на связи в Индии, а также в 180+ странах во время поездок.
В Индии три крупных оператора, но для туриста с иностранной eSIM реальный выбор — только Airtel. Он даёт широкое покрытие 4G/5G по всей стране и хорошо работает с роумингом иностранных eSIM-профилей. Jio — крупнейший оператор страны, но плохо поддерживает роуминг иностранных eSIM, для туриста это скорее источник проблем, чем плюс. Vi (Vodafone Idea) — сеть слабее и нестабильнее из-за продолжающейся реструктуризации в 2025–2026 годах. Тарифы eSIM.World работают с несколькими операторами связи в странах, мы подключим вас автоматически к лучшему покрытию, а при необходимости вы сможете переключиться на другую сеть в настройках устройства или через обращение в поддержку приложения eSIM.World.
4G/5G стабильно: Дели (включая аэропорт IGI), Мумбаи, туристические зоны Гоа (Анджуна, Калангут, Палолем, Бенаулим), Джайпур, Агра.
3G–4G: дороги между городами Раджастана (Джодхпур, Удайпур), горная Керала (Мунар, Вагамон).
Слабый или отсутствующий сигнал: пустыня Тар на сафари вне крупных лагерей, отдалённые пляжи и джунгли Гоа.
Безлимитный тариф ограничен FUP 3 ГБ/день на полной скорости, далее — снизится до 512 кбит/с. Для активного использования (Zoom, загрузка контента) лучше пакетный тариф.
Индия предъявляет специфические требования к телекому — часть иностранных eSIM требует привязки к паспортным данным. Тарифы eSIM.World для Индии оформлены через лицензированных партнёров без дополнительной регистрации.
В приложении eSIM.World eSIM устанавливается кнопкой «Подключить» без ручного ввода данных и сканирования QR-кода. Если после установки по прилёту в Дели или Гоа интернета всё равно нет — почти всегда дело в одной из типовых настроек (передача данных не переключена на eSIM, выключен роуминг данных, не прописан APN и т.д.), а не в неисправности самой eSIM.
Разобрали 5 самых частых причин и решение для каждой за 2 минуты — отдельная статья
Перед покупкой стоит также свериться со списком поддерживаемых устройств — полный перечень моделей
Установите приложение eSIM.World, чтобы оставаться онлайн в 180+ странах по лучшим ценам: скачать
Промокод LOV15 −15% на все тарифы туристических eSIM
eSIM.World — Берём вопросы связи за границей на себя!
Был у меня сервер на Golang и простенький клиент для тестирования:
Отправа/прием собщений, команд, доставка событий работают. В общем-то плюс-минус все хорошо, но тестовый консольный клиент - это не то, что я хотел бы использовать в повседневной жизни на телефоне. Да и вы наверно тоже 😂
И вот в последнее время работал над отправкой сообщений. Наметил структуру/логику и реализовал отправку сообщений. В ответ на сообщение сервер кидает уведомление о доставке. Это нужно чтобы клиент понял, что нужно остановиться и не отсылать больше сообщения.
Доставкой сообщений на клиенте занимается мой небольшой доставщик. Кидаешь ему сообщение и он пытается его отправить. Сервер в ответ может отправить много чего, но в данный момент мне важно обработать статусы сообщения. А статусов столько (возможно что-то упустил и добавлю, но склоняюсь что этих хватит):
- в процессе отправки ⏳ (анимированные часики)
- ошибка отправки ❗
- доставлено на сервер ☑️
- доставлено до получателя ☑️☑️
- получатель прочел ✅✅
Визуальную часть реализовал ранее, так что сейчас просто использую ее. А вот про ошибки забыл. Ранее руки не дотягивались, не заострял внимание на ошибках и в ответ просто отправлял строку с ошибкой. Недавно столкнулся с тем, что строка - это лучше чем вообще ничего, но строку неудобно обрабатывать. Так что ввел структуру ошибки и отправляю ошибку в таком виде:
Но это еще не все. Не особо писал тесты и в какой-то момент временно сломал серверный код из-за изменения типов данных в серверной базе данных. Дела... 😂
Сейчас у меня сообщения отправляются, ответ сервер используется для обновления состояния сообщения. Кстати, вот скрин сообщений и их состояний:
А тут видно, что неотправленные сообщения помечаются восклицательным знаком, который расположен слева от сообщения и по центру:
Черновики
Но это еще не все. У нас же есть черновики и как хорошо что с самого начала начал над ними работать. Дело вот в чем. Пользователь может отправить сообщение новому собеседнику или даже будучи не в сети. В нормальном режиме отправка сообщения происходит по ID чата. Персональный чат это или групповой - неважно. Отправляешь сообщение по ID и сервер уже сам разберется нужно его отправить одному собеседнику или рассылать группе.
И вот тут есть небольшая проблема. Если пользователь отправляет сообщение новому пользователю, то происходит следующее: серверу сообщается информация о том какому именно собеседнику (receiverID) нужно доставить сообщение. В результате сервер создает персональный чат (если он не был создан) и отправляет ID чата. После этого отправитель уже шлет сообщение не по receiverID, а по chatID.
Проблема в чем? В том, что chatID не известен до отправки сообщения. После получения ответа от сервера, отправителю нужно найти отправленное сообщение, создать для него чат и закрепить отправленное сообщение за чатом.
На словах, вроде, все понятно. У меня сейчас этот момент реализован совсем плохо. Если не исправить, то будет еще хуже и в итоге сам себе создам ад при жизни.
В общем, исправлю, не любитель заниматься полнейшей ерундой 😂 На данный момент этим и занимаюсь.
После добавлю код для обновления статуса сообщения:
- доставлено до получателя ☑️☑️
- получатель прочел ✅✅
На данный момент работает отображение статуса отправки (⏳) и доставки до сервера (☑️) .
Далее планирую заняться получением и визуализацией принятых сообщений. У полученных сообщений нет статусов, с ними немного проще: нужно просто отобразить их и у меня вроде все для этого уже готово (кроме приема, сохранения в БД и обновления частей интерфейса).
Есть одна давняя и неприятная новость: уведомления о доставке не будут работать без сервисов Apple и Google. Так что чтобы мобильное приложение присылало уведомления, нужно будет плОтить (для Apple около 10к руб в год, для GooglePlay вроде $25 за регистрацию аккаунта, а дальше еще не смотрел).
Голосовые/видео звонки - до них пока не добрался 😅
Сейчас план-минимум - это сделать сервис обмена сообщениями и файлами.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.