Доклады, выступления, видео и электронные публикации

Где деньги лежат

В. А. Конявский

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

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

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

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

Атака на канал взаимодействия с процессинговым центром

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

Атака имитацией сигнала на выдачу денег

Обращаем внимание на абзац, где условно описана работа банкомата, а именно на ту часть, где говорится, что команда на выдачу денег, которую исполняет диспенсер, формируется компьютером банкомата. А почему бы тогда злоумышленнику не использовать другой компьютер? Например, принести с собой ноутбук, отключить USB-кабель диспенсера от компьютера банкомата, подключить его к принесенному ноутбуку и подавать команды вида «дай 5000 рублей»? Естественно, диспенсер выполнит команду, если ее подать в нужном формате. Но это, конечно, дело техники, и никакого труда не представляет.

Эта же атака может быть реализована и по-другому. Так, злоумышленник может внедрить закладку в компьютер банкомата (это несложно сделать, например, при выполнении профилактических работ). Логика работы вредоносной программы может быть любой, например, при предъявлении определенной легальной карты может запрашиваться подтверждение на выдачу 100 рублей, а выдаваться вполне может значительно больше.

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

Атака имитацией сигнала на прием денег

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

Сбор критичной информации пользователей

Если вредоносная программа внедрена, то что может помешать ей запомнить все номера карт и PIN в один день, и все запросы на выдачу денег повторить в другое время по внешней команде – например, по предъявлению какой-то конкретной карты? Или просто передать эту информацию злоумышленникам, и кто знает, как они ею распорядятся?

Что с этим делать

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

Для этого достаточно использовать шифратор USB-канала, размещаемый в сейфе диспенсера, и «Аккорд-5.8», содержащий бортовую криптографическую подсистему и резидентный USB-hub.

Автор: Конявский В. А.

Дата публикации: 01.01.2009

Библиографическая ссылка: Конявский В. А. Где деньги лежат // Комплексная защита информации. Материалы XIV международной конференции (19–22 мая 2009 года). Мн., 2009. С. 124–125.


Scientia potestas est
Кнопка связи