Искусство вторжения - Митник Кевин страница 5.

Шрифт
Фон

Я подумал, что при производстве автомата на заводе крупной корпорации инженеры и сборщики вполне могли работать в режиме конвейера и потому быть немного ленивыми или невнимательными, они использовали чип 6809, аналогичный чипу 6502, который использовался в компьютерах Apple II или Atari. Это был 8-битный чип с размером памяти 64К. Он был хорошо знаком мне».

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

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

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

После того, как компьютерные коды программы из покерного автомата были пропущены через новый антиассемблер, три программиста сели над ними, чтобы вникнуть в их суть. Обычно для профессионального программиста не составляет особого труда быстро отыскать в программе интересующие его секции. Так происходит, потому что программист, пишущий программу, расставляет на всем ее протяжении своеобразные «дорожные знаки» — метки, комментарии и объяснения того, как действует каждый из разделов. Это похоже на книгу, в которой есть заголовки частей, разделов, глав, а иногда и более мелких частей.

При переводе программы в цифровую форму, которую компьютер может понять, эти «дорожные знаки» игнорируются — ни компьютеру. ни микропроцессору они совершенно не нужны.

Поэтому, когда программа восстанавливается из машинных кодов при помощи антиассемблера, в ней нет ни одного традиционного пояснения; продолжая метафору «дорожных знаков», такой восстановленный код можно сравнить с картой, на которой нет названий населенных пунктов и маркировки дорог.

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

ПЕРЕПИСЫВАНИЕКОДА

Алекс с гордостью описывал усилия команды на этом этапе: « М ы были профессиональными программистами, и все сделали хорошо. Мы выяснили, как цифры кода программы превращаются в карты на табло игрального автомата, а затем написали небольшую добавку на языке С, которая делала то же самое», — говорил он.

«У нас был стимул для работы, и мы работали ночи напролет.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке