Беспроводные мыши подвержены серьезной уязвимости

Беспроводные мыши подвержены серьезной уязвимости

Беспроводные мыши подвержены серьезной уязвимости

Исследователи из компании Bastille Networks разработали новый вид атаки, позволяющей на расстоянии до ста метров получить контроль над беспроводными мышами, работающими на частоте 2.4GHz, и симулировать ввод любых клавиатурных комбинаций.

Атака получила название MouseJack и охватывает большинство моделей беспроводных мышей, использующих собственные проприетарные протоколы для обмена данными (атака не затрагивает устройства, работающие через Bluetooth). В том числе атаке подвержены беспроводные устройства ввода от компаний Logitech, HP, Dell, Gigabyte, Microsoft и Lenovo. Обновления с устранением проблем пока выпущены только компанией Logitech. Выпуск исправления для дешёвых моделей устройств под вопросом, так как у некоторых мышей не предусмотрен механизм обновления прошивки, пишет opennet.ru.

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

Главная проблема состоит в том, что в силу унификации протокола незашифрованные команды от мыши можно использовать не только для отправки данных о кликах, но и для передачи сведений о клавиатурных комбинациях, т.е. можно симулировать ввод с клавиатуры. Воспользовавшись данной возможностью, атакующий может получить полный контроль над системой пользователя. При создании экспериментального прототипа исследователям удалось добиться подстановки ввода со скоростью до 1000 слов в минуту. Для установки руткита на систему пользователя оказалось достаточно 10 секунд.

В зависимости от производителя и используемой модификации протокола разработано девять основных методов атаки, в числе которых отправка фиктивных HID-пакетов, подстановка нажатий клавиш, сопряжение дополнительной мыши или клавиатуры и симуляция фиктивной мыши или клавиатуры. В качестве передатчика могут выступать работающие на частоте 2.4 GHz недорогие программируемые беспроводные USB-адаптеры, основанные на чипах Nordic Semiconductor nRF24LU1+, которые также используются в подключаемом к компьютеру брелоке для большинства беспроводных мышей и клавиатур. Прошивка и набор утилит для совершения атаки опубликованы на GitHub. В состав инструментария включены утилита для обнаружения беспроводных клавиатур и мышей, сниффер для декодирования пакетов и определитель сетевого адреса.

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

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

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

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

 

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

 

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

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

 

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

 

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

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