Взломать банкомат за две минуты вполне реально, говорят эксперты

Взломать банкомат за две минуты вполне реально, говорят эксперты

Взломать банкомат за две минуты вполне реально, говорят эксперты

Специалисты Embedi провели исследование, предметом которого стала безопасность банкоматов. Была проанализирована вся цепочка установки и эксплуатации банкоматов, внутренние и внешние риски.

Из внутренних рисков исследователи выделили:

  • Разработчики программного обеспечения – ответственны за создание бэкдоров и ошибок в коде.
  • Поставщики – могут раздать криптографические ключи злоумышленникам.
  • Сервисные инженеры - спуфинг аппаратных и программных компонентов, вредоносное использование ключей, халатность.
  • Инкассаторы, имеющие дело с наличными деньгами - кражи валютных ящиков.

В качестве внешних рисков эксперты представили:

  • Банковские клиенты – манипуляции банкнотами во время кассовых операций.
  • Злоумышленники без квалификации - кража банкомата, нападение на инкассаторов с наличными, социальная инженерия.
  • Квалифицированные злоумышленники с соответствующими инструментами - доступ к устройству.
  • Квалифицированные хакеры, имеющие в распоряжении программное обеспечение - скимминг, атака Black Box, клонирование карт, доступ к системе банкомата.
  • Квалифицированные хакеры с оборудованием и программным обеспечением для удаленного воздействия - несанкционированный доступ через локальную сеть, установка вредоносной программы, использование уязвимости в ОС.

Исследователи выложили видео, в котором показан процесс взлома банкомата, однако детали эксперты решили опустить до того момента, пока вендор не устранит уязвимость.

По словам специалистов, одним из ключевых моментов обеспечения безопасной работы банкомата является защита целостности системы. Система безопасности (Information Security System, ISS) подавляет любые попытки изменить систему или добавить к ней внешние компоненты, как программное обеспечение (исполняемые файлы, пакеты установки программного обеспечения, скрипты), так и аппаратное обеспечение (USB-хранилище, устройства CD/DVD). Цель состоит в том, чтобы предотвратить запуск постороннего кода на устройстве.

Однако исследователи выделили много способов загрузки вредоносной программы в банкомат.

Локальные способы:

  • Подключиться к шине USB, вынув камеру или проделать отверстия в месте расположения проводов.
  • Открыть корпус банкомата, использовать скопированный служебный ключ и вставить диск, беспроводную клавиатуру.

Удаленные способы:

  • Загрузка вредоносной программы через удаленный рабочий стол из банка.
  • Эксплуатировать уязвимость в одной из многих сетевых служб, которые установлены для контроля и управления устройством.

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

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

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

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

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

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