От банковских работников я слышал, что оправданными с финансовой точки зрения будут поиски похитителя, умыкнувшего в свой карман по крайней мере 300 вечнозеленых. Уменьшим эту цифру вдвое для безопасности и примем полученные полтораста баксов в качестве того потолка, заходить за который не стоит.
Впрочем, с юридической точки зрения похищение даже одного доллара - кража. Поэтому, прежде чем отправляться к ближайшему банкомату с кусачками и отверткой, запаситесь на всякий случай парой адвокатов и захватите Шварценеггера на тот случай, чтобы немножко попридержать службу безопасности банка, пока вы будете сматывать удочки.
Потребуется умение держать паяльник в руках, чтобы смастерить себе некий хардваринговый девайс, а также разбираться в сетевых протоколах на канальном уровне. Идея проста до безобразия: поскольку банкомат в себе не хранит никакой информации и всегда обращается за ответом в банк, то можно, врезавшись в кабель между ним и банком, перехватить трафик и фальсифицировать его нужным нам образом. Ни один банк не в состоянии гарантировать целостность кабеля на всем его протяжении.
Разумеется, для анализа протокола
обмена понадобится персональный компьютер, а также программа для снятия
дампа и представления его в удобочитаемом виде. Можно, к примеру, воспользоваться
компактной и маленькой утилитой pio и навигатором управления bleak_l, заботливо
написанным хакером KPNC для взлома НТВ, но вполне подходящим и для этого
случая.
Единственное, что придется спаять самостоятельно, так
это контроллер для подсоединения к банковскому кабелю. В Сети очень много
различных схем и энтузиастов, предлагающих за относительно небольшие деньги
приобрести уже готовые изделия. Так или иначе, но в дальнейшем будем считать,
что такой девайс у нас есть.
Наши последующие действия:
- Врезаемся в линию между банкоматом
и авторизационным центом (заметим, что врезаться придется в разрыв кабеля,
так чтобы вы в дальнейшем могли не только перехватывать, но и блокировать
любые проходящие пакеты). Разумеется, что если мы хотя бы на мгновение
прервем целостность кабеля, дело закончится плачевно. Поэтому поищите в
книжках электронные схемы мгновенной коммутации "на ходу". Аналогичным
образом мошенники нейтрализуют сложные системы электронных сигнализаций.
Не тех, что в магазинах, а на порядок совершеннее.
- Наблюдаем за пересылкой пакетов,
не предпринимая никаких действий. Только наблюдаем, чтобы понять логику.
На самом деле это "только" представляет собой утомительный и кропотливый
анализ протоколов и расшифровки всех полей заголовков пакетов с той целью,
чтобы в дальнейшем иметь возможность генерации и отправки собственных пакетов,
не опасаясь того, что они чем-то будут отличаться от реальных.
- Теперь манипулируем легальной картой (это значит, что по крайней меру одну карту вы должны будете все же завести) с тем, чтобы понять логику обмена. В частности, найти и опознать передаваемые банкоматом запросы и возвращаемые ему ответы.
- Сравним теперь это с просроченной картой, чтобы определить реакцию системы в такой ситуации, а также найти и идентифицировать коды ошибок (они нам потом понадобятся).
- Наконец, тяпнем по маленькой
для храбрости и, оставив Шварценеггера на шухере, начнем процесс. Засовываем
нашу карту, на счету которой лежат оставшиеся после экспериментов с банкоматом
несколько долларов.
- Наблюдаем, как банкомат шлет
запрос, включая номер нашего счета и все остальное. Мы никак не вмешиваемся
в этот процесс.
- Авторизационный центр должен вернуть ответ, в котором содержится много полезной информации. А среди нее - максимально возможная сумма для снятия. Вот тут мы перехватываем этот пакет и взамен него шлем другой. Чем он отличается от оригинального, не стоит, наверное, даже говорить - и так всем ясно. Но будьте внимательны! Эта сумма может присутствовать сразу в нескольких полях, кроме того, необходимо скорректировать и поле контрольной суммы, иначе ничего не получится! Это самый сложный момент во взломе.
- Впрочем, на этом этапе вы еще ничем не рискуете. Если ошибетесь, то просто перехватите обратный ответ банкомата и не пропустите его. Ведь вы еще помните коды ошибок, не так ли? А поэтому пробуйте, пока банкомат не "проглотит" фальсифицированный пакет.
- Ну что же, теперь требуйте от банкомата столько денег, на сколько у вас хватит совести. В это время банкомат передает банку, сколько денег было снято. Взаправду. Эту информацию надо перехватить и послать ложный пакет, что денег снято всего 1 доллар (или сколько у вас там осталось взаправду на карточке). Будьте очень внимательны. Теперь фальсифицированный пакет передается уже банку, и любое неверное действие будет необратимо зафиксировано системой безопасности, и даже Шварценеггеру скоро покажется жарковато.
- Ну вот и все. Осталась маленькая проблема - как обеспечить сходимость дебета и кредита. Ведь банкомат ведет логи и протоколы всех действий. Подумайте, как можно обмануть систему.
- Наконец все! Вы отсоединяете свой ноутбук от кабеля, по возможности замаскировав нелегальное подключение, и отправляетесь в ближайший компьютерный салон за новым микропроцессором.
А вообще, чтобы ломать банкоматы,
неплохо бы разобраться в их устройстве, типовом протоколе обмена и программном
обеспечении. То есть так или иначе выбрать себе работу, связанную с их
разработкой, созданием или по крайней мере эксплуатацией. В этом случае
вы получите действительно достоверную информацию об их устройстве, а также
слабых и сильных сторонах. А ведь уязвимость у них действительно есть.
Только она неочевидна для постороннего, не работавшего с ними человека.
Но как и любому человеческому творению, этому свойственны недостатки не
в меньшем числе. Однако будете ли вы заниматься мелким жульничеством, находясь
на высокооплачиваемой работе?