Исследователи изучили защищенность радиопереговоров американской полиции и спецслужб

Исследователи изучили защищенность радиопереговоров американской полиции и спецслужб

Действия полицейских и федеральных агентов "в поле" традиционно координируются при помощи портативных устройств радиосвязи. Естественно, предполагается, что переговоры по рациям надежно защищены, и злоумышленник не сможет извлечь никакой полезной информации в случае перехвата сигнала. Однако у ученых из Пенсильванского университета другое мнение: если верить результатам проведенного ими исследования, дыр в системе защиты служебной радиосвязи более чем достаточно.



Специалисты два года работали с протоколами беспроводной связи, совокупность которых известна под кодовым наименованием "P25" (программа по их разработке именовалась в свое время "APCO Project 25"). Эти протоколы лежат в основе большинства систем двусторонней подвижной радиосвязи, используемых агентами ФБР и сотрудниками полиции. Исследователи, по их собственным словам, обнаружили ряд существенных недочетов как в самих протоколах, так и в их практической реализации, а также в элементах, отвечающих за взаимодействие с пользователем; эксплуатация этих уязвимостей позволяет пассивно подслушивать переговоры или активно осуществлять разнообразные атаки, характеризующиеся высокой эффективностью и в то же время сложностью обнаружения.


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


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


Помимо этого, исследователи обнаружили и описали несколько способов злонамеренного внедрения в переговоры (в том числе и в корректно криптованные), а также представили сценарий относительно просто реализуемого отказа в обслуживании, позволяющего нарушить радиосвязь. Все полученные результаты ученые отразили в докладе, который планируют представить на 20-м симпозиуме Usenix Security.


Softpedia


Письмо автору

" />

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

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

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

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

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

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

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

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