Атака на банкомат с помощью Raspberry Pi

    image

    Что только не делают с банкоматами: их выдирают из стены, привязав тросом к автомобилю, сверлят, взрывают и режут (иной раз в здании Госдумы). По статистике EAST, преступники стали реже использовать скимминг, предпочитая траппинг и физические диверсии. Немало хлопот специалистам по безопасности доставляет и еще один новый тренд — вирусные атаки на банкоматы. Тут и Trojan.Skimer, и Backdoor.Ploutus, и совсем свежий зловред Tyupkin, и другие «приложения», известные и не очень. Малварь загружается в компьютер банкомата, как правило с внешних носителей, и используется для несанкционированной выдачи денег или перехвата карточных данных. Еще один способ атаки описали эксперты Positive Technologies Ольга Кочетова и Алексей Осипов на конференции по компьютерной безопасности Black Hat Europe 2014, проходившей в октябре в Амстердаме.

    Для проверки защищенности тестового банкомата, пережившего три форума Positive Hack Days, был выбран популярный миниатюрный контроллер Raspberry Pi. Устройство легко прячется внутри корпуса и не привлекает внимания технического персонала, который, к примеру, меняет бумагу во встроенных принтерах и потому имеет ключи от сервисной зоны.

    Найти документацию с описанием интерфейсов банкоматов не так сложно, и об этом еще пять лет назад писал Алексей Лукацкий в своих «Мифах информационной безопасности». Оборудование АТМ и платежных терминалов, независимо от производителя, имеет общий API для доступа и управления различными модулями и работает на платформе Windows в соответствии с единым стандартом «расширений для финансовых услуг» (XFS).

    Зная API, можно получить контроль над хост-компьютером банкомата и напрямую управлять различными периферийными устройствами, установленными внутри шкафа ATM, — картридером, клавиатурой для набора PIN-кода, сенсорным дисплеем, диспенсером банкнот и т. п. Не стоит забывать также об уязвимостях операционной системы банкомата, а их у Windows на много лет вперед припасено.



    Слабое место


    Прежде чем установить Raspberry Pi и подключить устройство к портам Ethernet, USB или RS-232, банкомат необходимо вскрыть. В верхней части ATM находится сервисная зона. Именно здесь расположен компьютер, управляющий устройствами банкомата, сетевое оборудование (в том числе плохо защищенные GSM/GPRS-модемы). Сервисная зона практически не контролируется, так как используется обслуживающим персоналом для различных работ. Получить к ней доступ значительно проще, чем к сейфу с деньгами, расположенному внизу. Ее можно открыть несложными в изготовлении ключами или совсем простыми подручными средствами.



    Но просто открыть мало — надо сделать это быстро и незаметно.

    На конференции Black Hat исследователи Positive Technologies продемонстрировали, сколько времени потребуется злоумышленникам, чтобы установить микрокомпьютер в сервисную зону ATM для использования его в роли сниффера — перехватчика PIN-кода и номера кредитной карты — или аппаратного скиммера, который не оставляет следов на внешнем виде банкомата. Понадобилось две минуты, чтобы разблокировать корпус банкомата, интегрировать микрокомпьютер, замаскировать и подключить его к интернету.

    В процессе подготовки к выступлению Raspberry Pi был запрограммирован для управления периферийными модулями ATM. К микрокомпьютеру подключался Wi-Fi-адаптер, к которому можно было подключиться с любого устройства, со смартфона например. Команды на выдачу денег в диспенсер отправлялись посредством специально реализованного веб-интерфейса. В качестве примера была показана выдача нескольких банкнот, а после некоторой доработки отправляемого кода банкомат сразу же расставался со всеми заложенными купюрами. К слову, в каждой кассете типичного ATM помещается от двух до трех тысяч купюр, и таких кассет обычно четыре — для нескольких номиналов.

    image

    Надо ли говорить, что в ходе эксперимента банкомат выдавал купюры, не оставляя никаких записей в своем компьютере, а встроенная видеокамера банкомата хоть и работала, но, как и другие устройства внутри захваченного ATM, контролировалась с помощью Raspberry Pi.

    Можно ли защититься


    Обеспечить безопасность банкоматов нелегко. Многое зависит от сценария атаки. К примеру, НИЦ «Охрана» МВД рекомендует производителям использовать дымогенератор, ультразвуковой барьер и ксеноновый стробоскоп, а специалисты британской LINK — запретить стандартные замки для доступа в сервисную зону и активнее применять веб-камеры.

    Однако основная проблема, по мнению наших исследователей, — это возможность инсталлировать в банкомат любые устройства или программы (вплоть до Angry Birds), что вызвано обилием критических уязвимостей в операционных системах. Ситуацию могла бы изменить совместная работа производителей банковского оборудования над новой открытой спецификацией, которая бы обеспечила безопасное взаимодействие и эффективную проверку подлинности компонентов ATM: чтобы любой желающий, раздобыв ключ от сервисной зоны, не смог так просто подключить к системе все что угодно.
    Positive Technologies 200,35
    Компания
    Поделиться публикацией

    Вакансии компании Positive Technologies

    • Frontend⁢ Developer
      от 100 000 руб.
      Нижний Новгород Полный рабочий день
    Комментарии 29
    • +28
      Будущее наступило!
      image
      • +6
        Открыли Америку!
        Еще 15 лет наза можно было подключить COM порт а теперь подключить USB к ноуту с установвленным софтом это теперь называется взлом!?!?
        • +3
          Я в шоке! Я думал что весь банкомат это надежный сейф. А его оказывается можно скрепкой открыть.
          И я предполагал что команду на выдачу денег невозможно выполнить чисто локальными средствами. Думал там происходит какой сложный обмен с банком, подтверждающий разрешение операции.
          Какая то защита от сквозняка и честных людей получается.
          • +2
            Конечно нельзя локально, но если получить системные привелегии в винде все можно.
            • 0
              Если получить системные привилегии везде все можно.
          • +3
            > установить микрокомпьютер в сервисную зону ATM для использования его в роли сниффера — перехватчика PIN-кода

            Остальные сомнительные моменты надо еще проверить, но вот этот точно не выглядит реалистичным. Пин-код шифруется в пинпаде, который есть самостоятельное устройство, и нигде не светится в открытом виде.
            • +9
              Есть две больших разницы, между тем, что программист хотел написать, и тем что он действительно написал.

              Пин-пад умеет работать в нескольких режимах. Это как минимум закрытый(защищенный), в котором данные о нажатиях, действительно, не возвращаются в открытом виде, а итогом работы является формирование пин-блока на ключах из клавиатуры. А еще существует открытый режим, и именно в нем вводится сумма платежа/номер телефона, на который нужно произвести платеж. И вот последние данные — никто не шифрует. Дальше продолжать, или вам не нужно объяснять, что может сделать активная MITM-атака, которая может подменять одни запросы к клавиатуре другими.

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

                ps. Уже прочел выше комментарий.
              • +2
                А зачем внутри такой утилитарной штуки как банкомат вообще OS общего назначения сидит?
                • +3
                  Дешевле-проще-стандартней.
                • 0
                  Имхо конкретная ОС значения не имеет. Была бы спец. ос, ломалась бы другими методами, но с тем же успехом.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • +1
                      После того как я узнал про вирусы в контроллерах АЭС от Сименса, я уже ничему не удивлюсь.
                      Да и распостраненность этих конкретных плат с АТМ терминалами сравнивать нельзя. АТМ стоят по всему миру, а производит их всего несколько вендоров.
                      • +1
                        Не совсем так. В самих контроллерах — никаких вирусов. Вирус на компьютерах с HMI (WinCC).
                        Кроме того, тут очень странный момент: все про него слышали, но никто не видел.

                        Странно в том контексте, что я занимаюсь проектами на этих самых контроллерах и знаком с большим количеством людей, которые занимаются тем же самым — в том числе, в самом сименсе.
                        • 0
                          Неужели Symantec, «Лаборатория Касперского» и ещё несколько антивирусных компаний просто договорились и выдумали Stuxnet, чтобы поднять себе рейтинги в социальных сетях? Поистине мировой заговор! Вы только посмотрите, какие подробные отчёты они выдумывают, хитрецы!
                          securelist.ru/analysis/obzor/24277/stuxnet-pervye-zhertvy/
                          • 0
                            Почему сразу выдумали?

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

                            PS ссылку я почитал. В любом случае, маловато информации про этот stuxnet. Прямо суслик, которого никто не видит, но он есть…
                            • 0
                              >будь угроза реальной — Сименс выдал бы определённые рекомендации

                              Официальное признание компанией Siemens критических уязвимостей и публикация патчей для системы SIMATIC WinCC, которая работала (в частности) на иранских АЭС — это недостаточная рекомендация?

                              www.ptsecurity.ru/about/news/38773/

                              • 0
                                Спасибо, почитал это и другие источники. Был не прав.

                                С другой стороны, у меня на моих проектах практическая вероятность словить эту дрянь околонулевая — раз.
                                Во-вторых, я люблю сименс за его AS-OS Engineering и из-за этого готов прощать им некоторые косяки :)
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • НЛО прилетело и опубликовало эту надпись здесь
                      • 0
                        Бывает и такое.
                        image
                        P. S. При нажатии на кнопки издает стандартный виндовый звук «дынь-дынь». Экран, увы, обычный, не сенсорный.
                    • +1
                      Ну незнаю, кого-то это может быть и впечатлит, но при наличии доступа к аппаратным интерфейсам — мне на вскидку приходит в голову аж шесть очевидных и хорошо воспроизводимых векторов атак, которые могут быть использованы потенциальным злоумышленником. Т.е., если у нас есть general purpose hardware на котором крутиться general purpose operating system — то с точки зрения безопасности это вот просто с ходу game over. Хотя, демонстрация всего этого на практике — это, конечно, по-фану и по-угару ;)
                      • 0
                        Суть исследования была в протоколах внутреннего (и не только внутреннего взаимодействия) банкомата. Были найдены уязвимости (0day, понятно, что «мы нашли MS 08~069», это великая победа, ага), и в средствах защиты, и в клавиатурах и в… Забавно, но некоторые «железные» компоненты производитель поддерживает, как оказалось, несколько лет, а потом «извините, но эта версия уже не версия». Нормальный такой подход для железок с жизненным циклом в десятилетие.

                        Что касается вектора с «малиной»да, это для «красоты» и наглядности. На самом деле вариантов более чем много. Hint: http://habrahabr.ru/company/pt/blog/243697/
                      • +1
                        Самый простой способ защитить банкомат от злоумышленника в сервисной зоне — это ставить сигнализацию, что делает например Сбербанк на всех своих банкоматах. Цена вопроса установки сигналки в банкомат, даже пусть это будет сирена, без связи с пультом, не так велика, если рассматривать в контексте стоимости самого банкомата, зато эффективность очень велика. Но к сожалению 90% банков не ставят сигнализацию => потенциально уязвимы.

                        И для того чтобы украсть деньги из закрытого сейфа не нужно прилагать столько сил по написанию сниферов и вирусов или пихать в банкомат расбери, достаточно купить программу диагностики банкоматов ATMdesk — NCR ATM Diagnostic Solution, в ней есть режим тестирования диспенсера с выдачей любого количества денег из любой касеты, но есть пара но:
                        1. Нужно попасть в сервисную зону и загрузиться со специальной флешки-ключа ATMdesk.
                        2. При попытке выдать деньги программа попросит процедуру верификация путем передергивания одной из кассет в сейфе и реджект-кассеты, то есть у Вас будет 30 секунд чтобы это сделать, тем самым Вы докажите, что имеете доступ к сейфу и потом будут выданы деньги. Так вот, при знании устройства сейфа ничего не стоит сделать механическое устройство, которое можно всунуть в сейф через щель и передернуть кассеты, профи это легко сделает.
                        3. Подозреваю ATMdesk не всем подряд продают, так что заполучить её будет не так просто, но можно.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • 0
                            KDIAG проверяет датчик открытия сейфовой двери. Если дверь закрыта то тестового набора не будет.
                            • НЛО прилетело и опубликовало эту надпись здесь

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

                        Самое читаемое