Защита банкоматов Diebold Nixdorf от атак black box оказалась ненадежной

Защита банкоматов Diebold Nixdorf от атак black box оказалась ненадежной

Защита банкоматов Diebold Nixdorf от атак black box оказалась ненадежной

Исследователи из Positive Technologies выявили уязвимости в банкоматах Wincor линейки Cineo (торговая марка принадлежит концерну Diebold Nixdorf). Как оказалось, их можно заставить выдать наличные, подав команду с внешнего устройства, — невзирая на защиту от подобных атак.

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

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

«На популярном сайте объявлений был куплен такой же контроллер, управляющий выдачей, какой установлен в серийных ATM Wincor, — рассказывает Владимир Кононович, старший специалист отдела PT по безопасности промышленных систем управления. — Найденные в контроллере ошибки в коде и старые ключи шифрования дали возможность подключиться к ATM с помощью собственного компьютера (как в случае с классической атакой black box), обойти шифрование и произвести выдачу наличных».

Проблема актуальна для Wincor Cineo с диспенсерами RM3/CRS и CMD v5 (CVE-2018-9100 и CVE-2018-9099 соответственно). Избавиться от нее можно обновлением прошивки, запросив последнюю версию у производителя банкоматов. Вендорам также рекомендуется включить физическую аутентификацию для оператора во время установки встроенного ПО.

Обе уязвимости были обнаружены и поставлены производителю на вид более трех лет назад. Компания Diebold Nixdorf заявила, что проблема уже устранена, поэтому авторы находок решили опубликовать свое исследование. Результаты будут также представлены 29 октября на конференции по безопасности аппаратных решений Hardwear.io, проходящей на этой неделе в Нидерландах.

В 2018 году специалисты Positive Technologies помогли избавиться от похожей уязвимости другому крупному производителю банкоматов — NCR. Этот вендор проявил большую оперативность и залатал брешь в сжатые сроки.

Расширения 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