Читаем Искусство вторжения полностью

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

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

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

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

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

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

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


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

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

«У нас был стимул для работы, и мы работали ночи напролет. Нам потребовалось около трех недель, чтобы досконально разобраться в том, как работает программа.

Для этого мы изучали текст, делали определенные предположения о его назначении, писали некоторые добавки к программе, помещали ее в R O M (компьютерный чип) и возвращали его в машину, а потом смотрели, что происходит. Например, мы написали специальную программу, которая располагала числа над изображением карт на экране. Так мы определили, каким образом программа оперирует с картами. Н а ш а работа ш л а по м е т о д у проб, ошибок, и постоянного анализа, достаточно быстро строки кода начали наполняться смыслом. Мы досконально разобрались в том, как числа в компьютерной программе превращаются в карты на экране.

Мы надеялись, что генератор случайных чисел будет устроен достаточно просто. Дело происходило в начале девяностых годов, и это было именно так. После небольшого анализа я понял, что мы имеем дело с генератором, который Дональд К н у т написал е щ е в 60-е годы. Авторы программы для игрового автомата не стали изобретать велосипед, а просто скопировали в свою программу имеющиеся разработки по методу Монте-Карло.

Мы точно установили, какой алгоритм использовали авторы программы в своем коде для случайной выборки карт; он назывался линейным регистром сдвига с обратной связью (linear feedback shift register) и это был очень хороший генератор случайных чисел (RNG)».

Перейти на страницу:

Похожие книги

Киберкрепость: всестороннее руководство по компьютерной безопасности
Киберкрепость: всестороннее руководство по компьютерной безопасности

Как обеспечить надежную защиту в эпоху, когда кибератаки становятся все более продвинутыми? Каковы последствия уязвимости цифровых систем? Петр Левашов, экс-хакер с богатым бэкграундом, рассматривает все грани кибербезопасности, начиная с базовых принципов и заканчивая новейшими технологиями.Читатели познакомятся с:• основами компьютерной безопасности и актуальными методами защиты;• современными методами шифрования данных и криптографии;• процедурами ответа на инциденты и восстановления после катастроф;• юридическими и регуляторными требованиями к компьютерной безопасности.Автор использует свой уникальный опыт, чтобы предоставить читателям углубленное понимание кибербезопасности. Его подход охватывает теоретические знания и практическую подготовку, делая этот материал доступным для профессионалов и новичков.

Пётр Юрьевич Левашов

Зарубежная компьютерная, околокомпьютерная литература
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Как справиться с компьютерной зависимостью
Как справиться с компьютерной зависимостью

Компьютер так прочно вошел в нашу жизнь, что большая половина человечества не может представить без него своего существования. Мы проводим за ним не только все рабочее, но и свободное время. Однако не каждый человек знает, что круглосуточное пребывание за монитором несет реальную угрозу как физическому (заболевания позвоночника, сердечно-сосудистой системы и т. д.), так и психическому здоровью (формирование психической зависимости от Интернета и компьютерных игр). С помощью данной книги вы сможете выявить у себя и своих близких признаки компьютерной зависимости, понять причины и механизмы ее возникновения и справиться с ней посредством новейших психологических методик и упражнений.

Виктория Сергеевна Тундалева , Елена Вячеславовна Быковская , М О Носатова , Н Р Казарян , Светлана Викторовна Краснова

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT