Дисклеймер: данная статья публикуется исключительно для ознакомления и ни в коем случае не является руководством к действию. Описанные в материале уязвимости были обнаружены автором статьи в рамках проекта, согласованного с производителем банкоматов. На данный момент они исправлены компанией Diebold Nixdorf, которая была уведомлена Positive Technologies в соответствии с принципами ответственного разглашения (responsible disclosure). В качестве дополнительного фактора защиты вендору рекомендовалось включить физическую аутентификацию для оператора во время установки встроенного ПО. Это позволяет убедиться, что изменения в банкомат вносит сотрудник, а не злоумышленники.

Приветствую! На днях Positive Technologies опубликовала новость о том, что банкоматы производителя Diebold Nixdorf (ранее Wincor), а точнее модели диспенсеров RM3 и CMDv5, содержат уязвимость, благодаря которой можно производить выдачу наличных и заливать модифицированную (уязвимую) прошивку. И поскольку я и мой бывший коллега Алексей Стенников имеем непосредственное отношение к нахождению этой уязвимости, я хотел бы поделиться некоторыми ее деталями.

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

Введение

Во-первых, стоит вкратце рассказать о том, что из себя представляет банкомат, как он работает и кто такие диспенсеры. В целом банкомат — достаточно сложная конструкция, которая состоит из двух основных частей: верхней и нижней.

На фото представлен NCR, но сути это не меняет
На фото представлен NCR, но сути это не меняет

Верхняя часть — это обычный ПК, который чаще всего лежит в этой части плашмя. В него воткнуто огромное количество USB-устройств: камеры, принтеры, картридеры и... тот самый диспенсер, который находится в нижней части. Именно этот ПК из верхней части (которая, кстати, считается небезопасной) и является основной целью для малварщиков. Но мы не такие, ВПО — это плохо! Поэтому спускаемся по USB-кабелю в нижнюю часть банкомата, где нас ждёт...

Safe zone (она же сейф, диспенсер) — безопасная и заведомо защищённая часть банкомата. Закрывается она на ключ, который есть только у инкассаторов, сделана не из пластика (в отличие от верхней части) и часто укреплена бетоном либо вмонтирована в стену. Именно в сейфе находится то, ради чего и взламываются банкоматы, — банкноты. Они разложены по кассетам с нужными номиналами, каждая из которых также закрыта на ключ. Из кассет деньги достаются ременной системой (а в NCR, например, присосками), едут по конвейеру к «шторке» (shutter), после чего извлекаются пользователем.

Так вот, управляется вся эта сложная конструкция из датчиков (надо же толщину, количество, мятость купюр определять), конвейеров, «шторок» и кассет именно платой управления диспенсера (далее — просто диспенсер). На плате имеется процессор, память и прочая атрибутика самостоятельного устройства, а также код, который всем управляет. И именно сюда мы только что спустились по USB-шнурку.

Зачем взламывают диспенсер вместо ПК и при чём тут blackbox? 

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

Кроме того, на диспенсеры в своё время часто совершались атаки типа blackbox, при которой, единожды захватив USB/COM-трафик выдачи наличных на одном устройстве, неизвестный мог подойти с ним же к другому, повторить и получить деньги. Сейчас же такое провернуть кому-либо вряд ли удастся, потому что повсеместно применяются анти-blackbox техники: например, сессионные rolling-ключи для шифрования USB-трафика и использование криптографии практически на каждом этапе. Теперь лишь компьютер банкомата может работать с этим шифрованием, поэтому вклиниваться в трафик злоумышленник чаще всего уже не может.

Но тогда и не было бы данной статьи, как и упомянутой новости. В нашем проекте была одна небольшая брешь (к счастью, её уже нет). И о ней ниже.

В чём уязвимость, брат?

Прежде чем мы начнём, я вкратце расскажу, в чём именно заключается уязвимость, а потом перейду к деталям.

Прежде всего стоит сказать, что прошивки зашифрованы ключами, которые известны только разработчику. Описанные Positive Technologies уязвимости (по одной на устройство) заключаются в том, что злоумышленник может загрузить на диспенсер прошивку, не зная этих самых ключей шифрования (они появятся дальше в статье в виде KEY0 и KEY1). То есть, имея чистый код, он может его модифицировать как хочется, зашифровать обратно и загрузить в банкомат, после чего произвести выдачу в обход имеющихся алгоритмов шифрования USB-трафика. Ну, а теперь к деталям...

Конец 2017-го, начало проекта

В рамках проекта в одном банке мне и Алексею достались два файлика: у одного было расширение BTR (bootloader), у второго — FRM (firmware). У файлов имелись понятные заголовки, но при этом совершенно непонятное содержимое. Мы и так, и этак пытались подойти к расшифровке содержимого (становилось очевидно, что оно зашифровано), но безуспешно. На этом проект мог бы и закончиться, и файлы действительно пролежали несколько месяцев на жестком диске, пока мудрый Алексей не решил поискать плату диспенсера на eBay. Плата там, как вы уже могли догадаться, нашлась, и спустя какое-то время оказалась у Алексея на столе.

Без контроллера плохо, с контроллером — хорошо

После некоторых манипуляций с прозвонкой был успешно найден разъём JTAG, который находился прямо рядом с главным процессором. Кроме главного, на плате имелись ещё два процессора, назначение которых нам было не очень понятно: CollectorBooter и DispenseBooter. Тем не менее память всех трёх процессоров была сдамплена для дальнейшего анализа.

Ну, сдампили и сдампили, чо бубнить-то, но что дальше? Мы решили, что подходить стоит со стороны заливаемой прошивки, зашифрованные файлы которой у нас, напоминаю, были. А дампы хоть и имелись, всё же приятнее работать с прошивкой в чистом виде.

ПО от вендора

Часто либо в целях диагностики, либо для работы с банкоматом производители пишут специализированные программы, с помощью которых можно выполнять как обычные для банкомата задачи, так и некоторые недокументированные, используемые редко. Например, обновление прошивки диспенсера. Такое ПО имелось и в нашем случае. И написано оно было не на каких-нибудь бейсиках или плюсах, а на нормальном (уважаемом любым реверс-инженером) языке Java. Хочешь — декомпилируй, хочешь — пересобирай.

Спустя непродолжительное время копания в JAR-файлах была обнаружена функция, загружающая на контроллер файлы прошивок. Файлы она не расшифровывала, к сожалению, но давала нам удобную возможность произвести отладку этого процесса. Подключившись отладчиком по JTAG и запустив заливку прошивки, кое-как мы всё же смогли найти место, отвечающее за расшифровку. О ней и поговорим.

Шифрование файлов прошивки

Алгоритм шифрования представлял из себя обычный XTEA, но с необычной для него дельтой: 0xF27716BA. Как она была сгенерирована, безопасна ли — мы не знаем. Но можно точно сказать одно: она не гуглится.

В качестве ключа шифрования XTEA использовались следующие входные данные:

  • пять первых двордов, идущих сразу же после имени прошивки, указанного в заголовке. Мы назвали их Header-Dwords

  • внешний ключ KEY0 длиной 8 байт, который пока неизвестно откуда брался

  • внешний ключ KEY1 длиной 16 байт, который мы также не знали, где брать

Спустя время мы всё же нашли участок кода, вычитывающий и KEY0, и KEY1. Оказалось, что находятся они в специальной области по смещению 0x64000000, смещение в которой по умолчанию было жёстко задано. Далее мы сделали дамп данной области и извлекли оттуда оба внешних ключа. Применив эти ключи в заранее написанном на коленке расшифровщике, мы получили... Нет, не прошивку.

AP32-архивы

Да, именно APLib. Те, кто по работе реверсит малварь, наверняка узнают это название, так как данный алгоритм сжатия очень часто используется (использовался) малварщиками.

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

Самоподписывание

Название этого раздела говорит само за себя. Да, мы нашли код, проверяющий подпись прошивки, и, что забавно, в самой прошивке имелось всё, что требовалось для проверки её целостности, а именно публичный ключ и сами подписанные данные.

В качестве алгоритма проверки подписи используется RSA с экспонентой, равной 7, а битность ключа определяется по размеру публичной части N. Выходит, если уместиться в смещения, по которым записаны подпись и публичный ключ, можно задавать почти любую длину.

Так мы и сделали. Вместо оригинальных 2048 (кажется) был успешно вставлен ключ на 512 бит.

Заливаем модифицированную прошивку

Да, теперь можно. Здесь стоит более подробно рассказать о том, что из себя представляет процесс загрузки прошивки. Для начала давайте откроем диспетчер устройств и посмотрим, что там отображается при нормальной работе контроллера:

А так список выглядит, когда устройство обновляется:

Вот этот последний девайс и принимает файлики. А работает он по протоколу DFU (Device Firmware Update), о чём можно было догадаться, даже не имея самой платы на руках. Дело в том, что в конце каждого файла прошивки есть определённая структура, которая содержит тег «UFD».

Сначала устройству отправляется команда DFU_DETACH протокола, после чего выполняется команда USB — UsbCyclePort, которая делает доступным интерфейс, принимающий прошивку. Кто работал с данным протоколом, скажет, что в нём ещё есть команда DFU_UPLOAD (в данном случае выгрузка), но в нашем случае она не была реализована.

Запуск прошивки

После загрузки прошивки в диспенсер она расшифровывается, распаковывается, в ней проверяется подпись, после чего происходит запись прошивки во флеш-память.

Выдача?

Пока нет. Прежде чем произвести выдачу, требовалось разобраться с тем, как же всё-таки отправлять диспенсеру команды. Покопавшись в Java-коде, нам удалось найти специальные JAR-файлы, отвечающие за self-test, то есть за тестирование компонентов диспенсера. Из этого кода удалось выяснить следующее:

  1. Во взаимодействии компьютера банкомата и диспенсера участвует смарт-карта (она давно уже виднелась на плате)

  2. Используется TPM (Trusted Platform Module)

  3. Используется Keystorage, в котором хранятся счётчики сессий (об этом ниже), сертификаты и базовый ключ (Basekey)

  4. Есть четыре направления, для каждого из которых используется свой сессионный ключ и счётчик: PC → Firmware IN/OUT, Firmware → PC IN/OUT

Смарт-карта

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

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

Сессионные ключи (нет, спасибо)

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

В рамках проекта мы изменили прошивку таким образом, чтобы она перестала обращаться к смарт-карте за сессионными ключами, используя вместо них массив из нулей.

Осталось сделать то же самое в Java-софте, чтобы не заморачиваться с написанием кода с нуля. К слову, здесь же по коду стало понятно, что используется алгоритм шифрования Aes-EAX.

Выдача!

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

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

Лишь после этого в диспенсер отправилась команда с номерами кассет и количеством банкнот для извлечения. Банкомат начал радостно жужжать, предвкушая, как делится наличностью с товарищами исследователями, но денег мы так и не увидели. Мы просто не знали забыли, что нужно ещё открыть шторку. Дубль два — и свежие «фантики» (специальные вендорские купюры) были у нас в руках. Ура!

Выводы

Проект был чертовски интересным! В ходе него удалось поработать с новыми технологиями, успешно попиликать спикером, установленным на плату, ну и, конечно, произвести выдачу наличных. На момент написания статьи уязвимости (по одной на устройство) уже исправлены производителем банкоматов — компанией Diebold Nixdorf. Идентификаторы у них следующие (на подходе и идентификаторы в Mitre):

На этом, пожалуй, всё. Отдельно я хотел бы отметить работу Алексея над «железячной» частью проекта и приобретённую им плату диспенсера, которая по-прежнему лежит у меня на столе.

Комментарии (40)


  1. PereslavlFoto
    29.10.2021 00:20
    +10

    Главные вопросы остались без ответа!

    1) Где стоят такие банкоматы?

    2) Как подключиться к их USB порту?

    Без этих ответов статья будет бесполезна для всех нас, читателей Хабра.


    1. DrMefistO Автор
      29.10.2021 00:31
      +3

      По usb посмотрите второе видео, станет понятнее. А где банкоматы стоят - тут уж извините. Обращайтесь к вендору.


    1. elektroschwein
      29.10.2021 09:55

      3) На сколько лет можно присесть, получив ответы на первые два вопроса и воспользовавшись ими.


      1. DrMefistO Автор
        29.10.2021 10:37
        +2

        Если вы хотите сравнить срок vs. сумма, то лучше не надо.


        1. Maximuzz
          02.11.2021 00:50

          суммы загружаемые в банкомат, не такие уж и большие, мы грузили до 10 мнл руб и то на праздники и в проходных местах. Потом ликвидность банкоматов понизили и суммы стали еще меньше, на длинные праздники не хватало даже на половину дней.


  1. Nnnnoooo
    29.10.2021 01:21

    Не знаю как сейчас но 10 лет назад в Украине практически повсеместно стояли банкоматы, при доступе к клавиатуре или мыши в которых, можно было получить полный доступ к деньгам в диспенсере.
    Диспенсер раньше был довольно тупым устройством в плане управления (механика — да есть нюансы и сложности, но не протоколы управления). Сейчас конечно могло что-то поменяться.


    1. DrMefistO Автор
      29.10.2021 01:23
      +1

      Сейчас повсеместное шифрование и другие техники применяются


      1. Nnnnoooo
        29.10.2021 01:31
        -1

        Ну вот не знаю, пару лет назад был в Украине, кое-где стоят все те же старые банкоматы. Я понимаю, что могли внутри поменять диспенсер на более новую модель, или добавить какую-то умную плату управления, но слабо верится, учитывая как это все работало раньше, классическое Security through obscurity.


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


        P.S. Речь не о диболдах, а о сименсах и пару других.


        1. Nnnnoooo
          29.10.2021 01:40

          Хотя насколько я понял сейчас винкор объединился с диболдом, так что все это одни и теже банкоматы сейчас


          1. Sagachka
            29.10.2021 09:25

            Если речь идёт о диспенсерах cmd v4 или azm ng - то таки да. Но на v5 или v6 банкоматы никто апгрейдить не будет - дорого и бессмысленно, т.к. там нужен совсем другой софт, который в свою очередь может не запуститься на системном блоке. Проще новый банкомат купить. Плюс банки предпочитают использовать ресурс банкоматов на все сто, пока позволяют обстоятельства. Знаю пару рабочих аппаратов, в которых в системнике стоит PIII 600MHz, и банку ок.


            1. Nnnnoooo
              29.10.2021 13:49

              Плюс банки предпочитают использовать ресурс банкоматов на все сто, пока позволяют обстоятельства. Знаю пару рабочих аппаратов, в которых в системнике стоит PIII 600MHz, и банку ок.

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


      1. RTFM13
        30.10.2021 14:38

        Интересно, когда трафик управления диспенсером (как минимум) начнут полностью пробрасывать в банк?


        1. DrMefistO Автор
          30.10.2021 16:37

          Пока диспенсер остаётся USB/COM-устройством, а банкомат - не монолитом, смысла в отношении защиты от описанной атаки не будет


  1. VelocidadAbsurda
    29.10.2021 09:36

    А можно для далёких от банкоматной темы парой слов общий сценарий атаки? Злодею всё-таки необходимо сначала физически вскрыть верх банкомата, но дальше можно не трогать верхний ПК (дабы не наследить в нём) и «порулить» диспенсером напрямую?


    1. DrMefistO Автор
      29.10.2021 10:33

      Во втором видео, которое в конце статьи, об этом рассказано. Советую посмотреть. Также, была статья по NCR на хабре, где в коментах этот момент уже обсуждали.


  1. Serdario
    29.10.2021 10:08
    +2

    Если можно, то я немножко придерусь к автору статьи.

    1. Статья написана про оборудование Diebold/Wincor - на фото представлен конкурент NCR.

    2. Принцип работы диспенсора описан так же NCR-овский, он в сильно отличается от Wincor. В NCR вакуумная система забора купюр из кассет при помощи "тех самых присосок", в Wincor система ременная.

    3. Ключей от сейфа у инженера никогда не было - ключи от каждого сейфа уникальные и находятся только у службы инкасации. Единственное куда может попасть инженер самостоятельно - это кабинет, где расположена периферия: системник, принтер, кардридер, монитор клиентский.


    1. DrMefistO Автор
      29.10.2021 10:12

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


    1. Nnnnoooo
      29.10.2021 14:00

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


    1. PjPj
      02.11.2021 12:37

      Лет этак 15 назад я как инженер и возил ключи к банкомату. Инкассаторы только за кассеты с деньгами отвечали :)


  1. AlexeyK77
    29.10.2021 10:12
    -5

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

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


    1. DrMefistO Автор
      29.10.2021 10:20
      +16

      Вендор был уведомлен об уязвимости в 2018-м году, к тому же с момента исправления прошло 2 года. За это время обновления получили, уверен, практически все.

      Цель статьи не побудить злоумышленников, а привлечь к проблеме защищённости банкоматов специалистов по безопасности, других вендоров.

      А так, дилемма общая для всех статей по уязвимостям: публикуя, ты говоришь о деталях, чтобы другие могли сравнить как у них, не публикуя - ты не освещаешь проблему, и разработчики различных систем будут и дальше плевать на безопасность.


      1. AlexeyK77
        29.10.2021 11:12
        -2

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


        1. DrMefistO Автор
          29.10.2021 11:18
          +3

          Вы не правы. Инициатором становятся не такие статьи, а инциденты, точно также как и с малварью. Попавший на камеру злоумышленник с ноутбуком у банкомата, после которого пропали все деньги, зарегистрированная APT-активность, похаканный Asure, и т.д. Только после них, чаще всего, начинают разбираться, а как же так, каким образом (зиродей, инсайдер и т.д.), находят проблему и фиксят её. И лишь после этого выходит статья.

          Чем больше уязвимостей находится в рамках проектов, тем меньше их достаётся злоумышленникам.


    1. KivApple
      29.10.2021 11:21
      +7

      Я уверен, банки как-нибудь с этим справятся. Точнее уже справились. За 2 года. А те кто нет - их проблемы. Клиенты банков от обновления банкоматов тоже только выиграют.


    1. Nnnnoooo
      29.10.2021 15:54
      +3

      Ну вреда от статьи точно не будет учитывая насколько много людей работающих в банках знают о банкоматах и это совсем не очень небольшое и ограниченное количество специалистов по поддержке банкоматов, это и инкассаторы и простые работники отделений. А учитывая что часто стоят значительно более старые модели, где нет понятия взлома описанного в статье, т.к. выдача через комп сервисной прогой — это by design, то существование уязвимости описанной в статье это просто самая незначительная проблема безопасности из существующих.


  1. thecove
    29.10.2021 12:23
    +1

    Помню лет 20 назад был "скандал" когда производитель ATM оставлял доступ в сервисное меню с клавиатуры банкомата.

    99% покупателей не меняли пароли. Кто то догадался внимательно почитать user manual и перепрограммировал аппарат на выдачу 100$ вместо 1$...


    1. Sagachka
      29.10.2021 13:55

      Выглядит реально, но есть некоторые нюансы... Хотя я сужу из своей практики, хз как оно там 20 лет назад было


    1. Maximuzz
      02.11.2021 00:53

      чтобы программировать кассеты нужна сервисная карта же и щелкнуть переключатель внутри, чтобы АТМ перешел в сервисный режим


  1. SlimShaggy
    29.10.2021 18:49
    +2

    Вы слишком заморочились, этот человек поступил проще:


    1. sim2q
      30.10.2021 01:00

      какой жизнерадостный чуви:)
      но совершенно не понятно - зачем он залёг рядом на поле, когда там было бетонное укрытие?
      мне было реально страшно за него - если это не монтаж конечно


  1. vitmeat
    30.10.2021 02:49
    +1

    Поделитесь мелодией с пищалки, пожалуйста )


    1. DrMefistO Автор
      30.10.2021 02:53
      +1

      Брал из этого проекта. Адаптировал под вывод частоты, задержки и продолжительности, под формат, который принимает контроллер диспенсера.


  1. kolyandex
    30.10.2021 05:02
    +1

    Хуже не закрытого от чтения микроконтроллера дыр нет.


  1. Sleuthhound
    31.10.2021 20:20

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


    1. DrMefistO Автор
      31.10.2021 20:48

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

      Кстати, в NCR имелся тумблер на самой плате, который можно было переключать вместо аутентификации по кассетам. Очевидно, сделано было для разработчиков во время отладки платы. Но и воспользоваться тумблером извне сейфа никак и не выйдет.


  1. Sleuthhound
    31.10.2021 20:59

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


    1. PjPj
      02.11.2021 12:47

      Байка про то как офис переезжал на новое место: грузчики выносят всю мебель, последний стол выносят, на нем прикреплена тревожная кнопка. Грузчик и нажал ее. Через минуту приезжает вооруженный наряд подымаются на этаж, а там голые стены. :)


    1. zuek
      03.11.2021 14:08
      +1

      История из не очень далёкого прошлого: закрывается "ТРЦ", расположенный в бывшем здании кинотеатра, предназначенном под снос (с последующим строительством более современного здания); на первом этаже стоит банкомат - администрация всячески пытается связаться с банком-владельцем о его демонтаже, но банкомат продолжает стоять... проходит какое-то время, здание обесточивают и начинают снос; бригадиру "деструкторов" даётся чёткое указание - демонтировать всё оборудование (водопровод, отопление, вентиляцию, электрику по возможности) и вместе с отделкой отправить на свалку; на следующий день в СБ банка звонят из полиции со словами "тут ваш банкомат на свалке нашли" - отправляют на свалку "бригаду УХ", и они обнаруживают практически целёхонький банкомат... с наличкой в кассетах.

      Почему никто не среагировал на "пропажу активности от банкомата" (мне в своё время уже минут через 15 после аварии на подстанции начали названивать из банка, чей банкомат стоял в нашем здании), почему перед снятием банкомата с охраны его не инкассировали, да вообще, почему его не демонтировали в разумные сроки (банкомат, если он актуальной модели, стоит не пять копеек) - история умалчивает. Но эту историю я слышал как "тру-стори прошлого года" от спеца СТП того банка, который обслуживал "наш" банкомат.


  1. Nicks_TechSupport
    03.11.2021 14:12

    Автор, а расскажите про банкоматы NCR и новые китайские, которые сбер закупает по дешёвке :)
    В Диболдах даже ключ от сервисной зоны весьма специфический, имхо прощу банкомат украсть совсем)


    1. DrMefistO Автор
      03.11.2021 15:23

      Про NCR - второе видео.