Баги NFC позволяют бесконтактно взломать банкоматы с помощью смартфона

Баги NFC позволяют бесконтактно взломать банкоматы с помощью смартфона

Баги NFC позволяют бесконтактно взломать банкоматы с помощью смартфона

Исследователь в области кибербезопасности обнаружил ряд багов, позволяющих взломать банкоматы и POS-терминалы. До этого эксперты и преступники уже демонстрировали атаки на ATM, но на этот раз нам показали действительно новый способ — с помощью смартфона и считывателя бесконтактных карт.

Джозеф Родригес, специалист из штата компании IOActive, потратил последний год на поиск уязвимостей в NFC-чипах ридеров, которые используется в миллионах банкоматов и терминалов для оплаты по всему миру.

Если вы вдруг не в курсе, именно NFC позволяет нам бесконтактно оплачивать товары своей картой. Такую систему можно встретить почти в каждом магазине, ресторане и т. п.

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

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

По словам Родригеса, ему удалось заставить банкомат одного из производителей «выплюнуть» деньги — так называемая «атака джекпота». Специалист отказался раскрыть детали использованных уязвимостей, чтобы не нарушать договор между ним и производителями банкоматов.

«Вы можете модифицировать прошивку и изменить, например, цену на один доллар, хотя на дисплее будет отображаться, скажем, 50 долларов. Вы также можете превратить устройство в кирпич или установить какую-либо программу-вымогатель. Там много возможностей, на самом деле», — объясняет Родригес.

«А если вы свяжете атаку с отправкой специального пейлоада компьютеру банкомата, вы сможете провести атаку джекпотинга».

Специалист уведомил производителей, чьи банкоматы затронуты проблемой: ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo. Есть ещё один нюанс — патчинг сотен тысяч банкоматов, который ещё должен осуществляться физически, — непростая задача.

Эксперт поделился с изданием WIRED видео, на котором демонстрируется описанный им метод атаки.

Windows хранит скрытые данные о доступе приложений к камере и микрофону

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

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

Отдельно Windows записывает дату выдачи разрешения и его текущий статус — Allow или Deny.

Правда, просто открыть редактор реестра и почувствовать себя цифровым детективом не получится. Временные метки хранятся в формате FILETIME — в виде количества 100-наносекундных интервалов, прошедших с 1 января 1601 года.

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

$root = "HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore"
$results = Get-ChildItem $root | ForEach-Object {
    $medium = $_.PSChildName
    Get-ChildItem $_.PSPath -Recurse | ForEach-Object {
        $props = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
        if ($props.LastUsedTimeStart -and $props.LastUsedTimeStop -and
$props.LastUsedTimeStart -ne 0) {
            $start   =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStart).ToLocalTime()
            $stop    =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStop).ToLocalTime()
            $granted = if ($props.LastSetTime) {
                [datetime]::FromFileTimeUtc($props.LastSetTime).ToLocalTime()
            } else {
                $null
            }
            [PSCustomObject]@{
                Medium              = $medium
                App                 = $_.PSChildName
                PermissionGrantedOn = $granted
                LastUsedStart       = $start
                LastUsedStop        = $stop
                Duration            = $stop - $start
            }
        }
    }
}

Для проверки системных разрешений потребуется изменить путь с HKCU на HKLM и запустить PowerShell от имени администратора.

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

Тем не менее проверка способна преподнести сюрпризы. Автор исходного материала, например, обнаружил, что EA Sports FC 26 использовала его микрофон около 40 минут, хотя он не помнил, чтобы разрешал игре это делать.

Если в списке нашлась подозрительная программа, ей можно запретить доступ к соответствующему компоненту или удалить её.

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