Банковские хакеры продемонстрировали свои таланты на международной конференции Positive Hack Days

 

Международная конференция Positive Hack Days, прошедшая 26-27 мая, стала местом проведения хакерских конкурсов. Участники подвергли хакерским атакам и банкоматы, и системы интернет-банкинга. Информация о том, какими методами можно взломать устройство или онлайн-сервис банковского самообслуживания, а также о том, как защититься от хакерских угроз, в этом материале.

Скимминг

positive hack daysСамой популярной атакой на банкоматы является скимминг, то есть похищение треков карточных данных, чтобы потом изготовить дубликаты. С развитием технологий устройства для кражи данных (скиммеры) становятся настолько незаметным, что даже люди, которые постоянно обслуживают банкоматы, не всегда могут понять, что установлен скиммер. Сейчас скиммер можно легко купить или даже распечатать на 3D-принтере.

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

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

Фальшивые накладки и клавиатуры тоже непросто обнаружить. В последнее время участились случаи изготовления скимминга из антискимминга. Злоумышленники покупают где-нибудь в Интернете антискимминговую накладку, устанавливают свое дополнительное оборудование и приклеивают этот девайс на банкомат. Клиент видит антискимминг, ничего не подозревает и туда вставляет свою карточку.

Путь к сейфу – через сервисную зону

positive hack days хакерВ новостях вы можете иногда услышать о том, что как в России банкоматы взрывают, вскрывают болгарками, увозят. Но если мы рассмотрим этот вопрос детальнее, мы увидим, что банкоматы гораздо чаще взламывают с помощью различных социотехнических навыков, а не деструктивных методов.

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

Как же злоумышленник может вытащить деньги из банкомата? Деньги находятся в сейфе, и они хорошо защищены (по мнению банков и производителей банкоматов). Сейф – это бутерброд из стали и бетона, более 1 см в толщину, в зависимости от взломоустойчивости сейфа, оснащается двумя типами замков, обычно это

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

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

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

Часто можно увидеть какие-то девайсы, которые расположены вокруг банкомата и подключены к нему. Например, кто-то непонятно зачем выставил наружу системник. Наверное, для более лучшего охлаждения. Или просто USB наверху торчит, чтобы проще было обслуживать банкомат и не нужно было открывать его. Или даже роутер – наверное, тоже для лучшего охлаждения. Все это, конечно, помогает взломщикам.

Тестовый взлом

Конференция positive hack daysОднажды мы решили исследовать, как можно использовать интерфейсы, которые расположены снаружи банкомата. У нас было не очень много данных, зато у нас был Python, был wi-fi адаптер, внешняя батарейка и немного денег. Мы

 решили найти микрокомпьютер подешевле, небольших размеров, и чтобы мы могли подключить к нему те интерфейсы, которые обычно торчат снаружи банкомата – например, USB или RJ45. Такое устройство было найдено – это был Raspberry Pi. К нему мы подключили батарейку, Wi-Fi адаптер, и запрограммировали микрокомпьютер для взлома.

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

Например, если мы берем клавиатуру для набора PIN-кода или дисплей (PIN Pad), то через XFS-менеджер возможно переключение режима ввода данных. Там есть открытый режим – когда мы вводим с клавиатуры, например, сумму для снятия. И защищенный режим, который используется для ввода PIN-кода. Мы можем их переключать.

Если мы посмотрим на картридер, то здесь возможно чтение или запись данных на полосу, управление картой и очень интересная тема с EMV. Некоторое время назад в Android Market или в Google Play было размещено одно приложение, с помощью которого можно было читать данные о транзакциях на некотором расстоянии с NFC-карточек. Эту же информацию можно получать через XFS с EMV карты через картридер.

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

Positive Hack Days 2015

Можно было бы предположить, что здесь реализована серьезная аутентификация, и доступ к XFS-менеджеру хорошо защищен. На самом деле ни о какой аутентификации здесь и не слышно. Спецификации можно найти «Гуглом» в свободном доступе.

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

Как уже было сказано, стандарт XFS разработан в Microsoft – это объясняет, почему до сих пор на многих банкоматах стоит Windows XP. Примерно год назад, на начало 2014 года, 95% всех банкоматов в мире работало под управлением Windows XP. При этом поддержка данной ОС закончилась в апреле 2014 года. То есть на банкоматах, которые управляются Windows XP, огромное количество уязвимостей, которые уже никогда не будут устранены.

Как это можно эксплуатировать? Есть всем известная уязвимость МС08-067. Мы берем наше специальное устройство Raspberry Pi, к которому подключены батарейка и Wi-Fi адаптер, и подключаем к системному блоку банкомата. Подключаем в интернет-разъем, даже не обязательно открывать дверь и помещать все это внутрь, можно подключить к пачкорду, который стоит снаружи. Загружаем эксплойт. Появляется консоль с правами систем, которые наш код отработал. И легким движением получаем наружу небольшое количество денег.

Небольшое – потому, что мы это делаем лишь в целях демонстрации. Можно получать намного больше. В среднем в банкомате 4 кассеты по 2,5–3 тыс. банкнот в каждой. Несложно подсчитать, что при стандартной загрузке в банкомате может оказаться более 10 млн. рублей. Их можно вытащить, эксплуатируя различные уязвимости, которые, как сказано выше, уже не будут устранены.

Атака через порты

positive hack daysНо предположим, что в банкомате суперзащищенная операционная система, какой-нибудь антивирус, или система контроля целостности, которая не дает нам запускать произвольный код. Злоумышленник может атаковать банкомат через физический интерфейс. Как известно, устройства банкомата, такие как картридер, диспенсер и pin pad, подключены через COM или USB-порты. Что такое COM? Это стандартный интерфейс, здесь не нужны никакие специальные драйверы, никакая авторизация, протоколы не защищены, их можно спокойно прослушивать и реплеить с небольшими изменениями.

Правда, там множество протоколов. Каждая новая прошивка – новый протокол. Анализировать их непросто, и в Интернете мало информации на эту тему. Но известно, например, что com-порт не поддерживает последовательность выполнения команд, то есть мы можем повторять какую-то отдельную команду или цепочку команд. А еще известно, что потеря связи с хостом не детектируется – это означает, что, если мы на 5–10 секунд отключим диспенсер от банкомата, банкомат в принципе не сможет это понять. Кроме того, в протоколах либо используется фиксированный размер данных для пакетов, либо используются старт/стоп байты для разделения пакетов друг от друга, либо префикс длины, и сами данные передаются вместе. Можно понять, какая последовательность означает «выдать из первой кассеты одну купюру». Легко и просто. Не требуется никакой авторизации для таких действий.

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

К сожалению, производители и персонал, который обслуживает банкоматы, отвечают нам: «Ну что вы, кто же теперь использует com-порт! Только на вашем банкомате такое существует, и мы уже давно отказались в пользу usb-портов. Мы используем криптографию для защиты данных, которые передаются банкомату!». Хотя на самом деле мало кто использует.

Почему не работает защита

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

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

Еще очень популярны программные средства противодействия – антивирусы, системы контроля целостности, системы противодействия запуску приложений. Считается, что если мы не можем запустить EXE-файл в банкомате, то все защищены. Но это не совсем правда.

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

Рекомендации банкам и производителям банкоматов

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

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

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

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

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

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


Курсы валют и их мельчайшие изменения на биржах - на нашем графике валют онлайн!

01.06.2015 15:03 4083 Все Криминальные новости

Добавить ваш комментарий:


При использовании материалов сайта активная ссылка на kredit-otziv.ru обязательна.