Как становятся настоящими хакерами? Да очень просто. То есть — сказать просто, исполнить — сложно.
Для начала, хакер должен отлично знать несколько главных программ, используемых серьезными организациями.
Что такое программа? Это список действий: если приходит запрос такой-то, то выдать ответ такой-то.
Но поскольку вариантов запросов тысячи, вариантов сочетаний разных запросов — уже тысячи тысяч — и те, кто пишет программы, не всегда соображает, при каком сочетании каких запросов может возникнуть ошибка.
Хакер— программист, настолько ювелирно тонко знающий программы, что может сам вычислить, в каких случаях программа может дать ошибку.
Но сама по себе ошибка — не самоцель. Цель — в результате такой ошибки своровать пароль администратора.
К примеру — программа GlobalNet.
Программа огромная — ее писали сотни программистов. В этом и кроется секрет работы хакера — когда отдельные части программы пишут сотни людей, практически невозможно представить, как это части взаимодействует в нештатном. То есть нерасчетном режиме.
Хакер — человек с огромной интуицией, и, зная досконально текст программы, сможет предсказать то место, где программа в результате сбоя выдать секрет — пароль.
А именно, вот так великий хакер DeepZero нашел способ вскрыть программу капсулы пользователя, которая собственно соединяет человека-игрока с компьютерным миром GlobalNet и рисует ему (человеку) окружающий мир. Общие компьютеры GlobalNet занимаются только координацией — чтобы действия одного пользователя были видны другим, как изменение окружающего мира.
Так вот, исследуя украденным обычными ворами (не компьютерными) текст программы капсулы, DeepZero обнаружил ошибку — на запрос теста второго уровня третьей ступени прохождения виртуального звука взрыва — капсула на запрос
# Get MySKL boom 2 level 3 step code 1# 4# up 999#
Вместо ответа "запрос неверен" — выдала ответ
# Mistakecode #modulmistake #6 #9 #7 #6 #1 #8
Это и была ошибка тех, кто писал программу — они забыли убрать справочно-отладочную информацию при именно этом одном из миллиона вариантов запросов.
В результате тот, кто послал запрос — увидел цифры разницы кода, разницы межу введенными цифрами пароля и правильными, то есть он написал например в пароле первую цифру "5", а разница составила 6. Итого в пароле первое число — 11!
Вычислив таким образом пароль, DeepZero сел составлять свою программу для капсулы.
Это работы для очень опытного программиста — малейшая ошибка — и капсула выдаст сигнал ошибки в GlobalNet, тут же приедут их спецы и... поймут, что над капсулой работал хакер.
Но DeepZero был хакер об бога, что называется — он сумел переписал программу капсулы без единой ошибки!
В новой программе капсула переподключалась — вместо общих компьютеров GlobalNet — на управляющий компьютер бандитской группы. За которым сидел Хорек... и не только — там работало 8 человек, ибо создать виртуальный мир — дело непростое, даже не весь — а очень маленький, в виде какой-то комнаты, в которой оказывался заперт игрок, чью капсулу вскрыли хакеры и переписали ее код.
В коде также отсутствовала кнопка "Выход", ибо выйти игрок мог только тогда, когда это разрешит Хорек.
DeepZero, разумеется, работал дома. Он только передал заказчикам результаты своей работы — новый микрокод капсулы, хакерскую программу для вскрытия нормального кода и перезаписи нового, программу слежения за конкретными игроками в GlobalNet.
Сегодня Хорёк получил задание от своего шефа, на вид невзрачного серого человечка в сером плаще. Которого, однако, все боялись по потери пульса, ибо достаточно этому человеку было косо посмотреть на кого-то — и этот кто-то исчезал. Ходили слухи, что таких неугодных людей закатывали в бетон фундамента на стройке нового дома...
Согласно заданию, нужно было следить за игроком Ларинаэль. Нужно было также вычислить место ее реального нахождения, то есть страну и адрес в реальности, заменить код ее капсулы на хакерский и ждать дальнейших распоряжений.
Правда, серый человек обронил еще одно замечание, которое и спровоцировало дальнейшие катастрофические последствия.
Он сказал:
— Внимательно последи за ней — если не обнаружишь поводка, то есть постоянного наблюдения администрации — можешь включить сигнал перенаправления игрока в нашу спецкомнату вместо игрового мира. Только проследи, чтобы это прошло максимально аккуратно — чтобы ни одна собака в Глобалнете об этом не знала!
Что такое поводок — Хорьку было понятно, значит, было подозрение, что игрок работает на администрацию.
В принципе не было секретом, что согласно условиям, в некоторых новых локациях сначала появлялись бета-тестеры, то есть игроки, имеющие специальные льготы по оплате капсул для того, чтобы протестировать и выявить возможные игровые ошибки новой локации. Такой бета-тестер всегда имел "поводок", то есть программу от админов GlobalNet, непрерывно отслеживающую состояние игрока и направленные на него действия основной программы. Это нужно было для разбора ошибок — если игра пошла не так, админы садились, включали запись с "поводка", в которой были видны все ошибки и главное причины этих ошибок.
Если за игроком тянется такой "поводок", разумеется, его трогать нельзя и код его капсулы трогать нельзя, так как это всё находится под пристальным наблюдением администрации игры.
Итак, Хорек в прекрасном расположении духа (а как же — за каждого переподключенного игрока ему платили отдельную премию, плюс его вредный характер — Хорек страшно радовался, когда кому-то делалось плохо — вот он и предвкушал, как игрок окажется вместо Глобалнета — в пыточной комнате... у-ха-ха-ха!) запустил программу взлома.
Для начала — программу DeepZero, которая отслеживала поводок.
Чудесно! Ларинаэль встретилась с Самирой, и программа начала обработку данных.
Через 10 минут обработка закончилась — ответ: поводок отсутствует.
Ура! Замечательно! Хорек потер руки.
Хорек запустил программу взлома. Программа покрутилась... и написала "Сбой подключения"
Что за ерунда. Хорек не любил такие ситуации — ибо сам, к сожалению, был не настолько талантлив, что определить причину сбоя. А докладывать Серому не хотел — он же всем внушал, что он такой-де крутейший хакер, почти как DeepZero, просто в силу молодости опыта чуть меньше, а вот вырастет — и никакой DeepZero нужен не будет, ибо вот он, Хорёк!
Хорек запустил еще раз, набрав дополнительно код "директивный запуск от администратора"
Вообще-то Серый всегда говорил — если что не так — сразу пишите доклад, я вечером приду, прочту и подключу, если надо, хакера DeepZero.
Но Хорек не хотел получать замечания, что не справился с простейшей операцией — и... запустил взлом директивно. Это он подслушал и подсмотрел за DeepZero , что тот иногда пользовался таким способом.
Но хороша ложка к обеду — надо же знать, когда можно применять директивный ввод, а когда нельзя!
Умный хакер, например тот же DeepZero, получив отказ, сразу же насторожился бы... запустил дополнительное тестирование — например, в капсуле игрока мог быть самый обычный сбой — например напряжение электросети моргнуло. Но тогда запускать взлом нельзя — просто-напросто в результате сбоя напряжения код взлома мог бы и не пройти.
Хорек же спешил похвастаться отличным результатом и махнул рукой — ну подумаешь, случайный сбой.
Сбой был не случайным — Ларинаэль находилась не в обычной капсуле, а в тестовой!
Опять же DeepZero это определить смог бы, а Хорьку оказалось не по зубам.
Директивный ввод оказался успешным, через 15 минут программа отрапортовала, что микрокод капсулы подменен на хакерский от DeepZero.
Хорек обрадовался и предвкушающе потер руки.
Он запустил программу обнаружения IP и вслед за этим — реального адреса игрока.
Программа трижды выдавала сбой, что некоторым образом испортило Хорьку настроение.
Он подошел к своему коллеге, которому неделю назад одолжил незаконное устройство перехвата чужих разговоров по мобильнику.
— Сыч, у меня прога по определению жительства сбоит... посмотри...
Сыч запустил программу, получил ту же ошибку, пожал плечами и стал набирать в консольном окне
# Get IP gamers together post address
Последовал ряд отказов, но воспользовавшись стыренным ранее паролем, он зашел в администраторский отдел и... развел руками:
— Там бред! Ну типа Соединенная Лажа Восточной Еврожопы, улица Атаманская, 99999 квартира 99999.
Хорек встал в ступор.
Сыч сказал:
— Не тушуйся. Хочешь знать, что это? Я скажу. С 99% уверенностью — это "левая" подпольная капсула, находящаяся в Сиднее, Австралии.
Там местные пираты умеют хакерским образом подключаться к GlobalNet, беря деньги за капсулу просто себе.
Теперь Хорек сделал следующую ошибку. Надо было остановить хак и передать дело Серому — тот ведь четко говорил — любая внештатная ситуация — прекращайте хак, докладывайте мне, я поручу разобраться DeepZero'у.
Но уж очень хотелось Хорьку сбить спесь с игрока, заставить ползать на коленях...
Он пожал плечами и вернулся на свое рабочее место.
Ларинаэль с Самирой благополучно разрушили мощно укрепленный зал для высокоуровневых игроков, куда Самира заманила Ларинаэль, и угодили в хакерский телепорт — который Самиру просто выкинул из игры, а Ларинаэль попала в спецкомнату, которой управлял Хорек. Для Глобалнета она просто вышла из игры, процедура выхода была вполне обычной, так что даже тестовая капсула выполнила ее штатно.
А вот дальше... пошло не совсем так, как хотелось.
Как только Хорек включил передачу капсулой боли игроку, у него пошли совершенно непонятные символы ошибок —
# Недопустимое значение константы #55
# Недопустимое значение константы #56
# Недопустимое значение константы #59
# Недопустимое значение константы #133
# Недопустимое значение константы #195
# Сбой работа аттеньюатора! Сбой 99#78!
Хорек растерялся. Тем временем события шли своим чередом — Ларинаэль двинула программной "хозяйке" горящим поленом в глаз, чего никогда раньше не случалось, и попыталась выбежать из комнаты — тут ошибки повалили просто с устрашающей частотой!
# Ошибка отрисовки помещения!
# Ошибка создания персонажа!
# Ошибка связи с сервером GlobalNet!
# Ошибка структуры логов!
Черт, черт, черт... тут Хорек уже серьезно перепугался и схватился за телефон Серого.
Он написал SMS:
"Серьезный сбой при попытке поместить Ларинаэль в нашу комнату. Что делать?"
Через минуту к нему подскочил Сыч с криком:
— Что ты сотворил!? Серый в бешенстве велел мне взять управление капсулой персонажа Ларинаэль!
Увы — на любую команду Серого от капсулы шел краткий ответ:
# Errorcode
Сыч схватился за голову:
— Черт, скорее всего там был какой-то хитрый админский поводок, новый наверно, который наша программа не смогла определить!
Хорек позеленел — если админы игры сейчас сообразят, что происходит и вычислят бандитов... то к Хорьку заявятся... нет, не полиция — дуболомы игровых боссов...
Звякнул телефон, хакеры прочли SMS от Серого:
"Сидите тихо и только смотрите — за работу срочно берется сам DeepZero. Вы все, ослы, лишаетесь премии"
На экранах хакеров-неудачников возникли стройные ряды цифр — настоящий хакер может работать непосредственно в цифровых кодах, а не только путем написания команд русскими или английскими буквами.
Но после каждый группы цифр, вводимых DeepZero, следовал все тот же
# Errorcode
Наконец DeepZero через двенадцать минут напряженной работы написал SMS:
"Сожгите ваши жесткие диски, срочно покиньте помещение, из которого хакали Глобалнет и глубоко ховайтесь — вас вычислили!
Я не могу работать в момент, когда против меня не тупые программы, а вот прямо сейчас против нас работают все лучшие спецы GlobalNet. Я сейчас сожгу даже сотовый, через который написал вам это сообщение, покидаю комнату, в которой работал, через черный ход и прекращаю работу с кодами Глобалнета"
Атака 5. Откат от взлома
В реальном мире.
В закрытой комнате, где находятся Юлия и Петр, зазвонил сотовый телефон Юлии.
Юлия взяла трубку.
— Алло, это Ашот, — раздался в трубке голос администратора игры. — Тут в общем такая ситуация... с вашей помощью мы обнаружили хорошо замаскированную банду вредителей, которые занимались вымогательством денег с игроков. С одной стороны, спасибо. С другой... я только что сказал, что все ваши проблемы решены, и вы можете вернуться "в свет". К сожалению, оказалось, что я неправ. Но тут виноват не я — просто вы совершенно случайно влезли в это дело и таким образом, пока я крайне не советую покидать ваше помещение. Хуже того, пока не советую даже заходить в игру!
— Ашот... я что подумала... — неуверенно сказала Юлия. — Насчет ожидания понятно, но в принципе — мне, в общем-то, понравилось в Глобалнете... а нельзя ли будет потом получить работу бета-тестера?
Ашот задумался.
— Ну, в принципе... я, конечно, подумаю над этим вопрос, наверно вариант есть.
Вмешался Петр:
— Спроси Ашота, сколько примерно нам придется ждать.
Ашот услышал этот вопрос.
— Точно сказать трудно. Но я думаю, на днях мы посовещаемся с руководством и примем решение. Одно могу сказать безусловно — известные личины придется ликвидировать. Никаких Ларинаэль, Маг Свисс и так далее. Микрокод тестовых капсул завтра перепишу лично я, после чего использовать их станет безопасно. Но — еще раз повторяю — даже если использовать, никаких старых имен. И в беседах с игроками, зайдя в GlobalNet, не дай бог не говорить, что вы играете не первый раз и какие были у вас личины.
— Ой... сказала Юля. — Я ж уже приличный уровень набрала да и артефактов неплохих...
— Тихо. Если мы возьмем тебя в бета-тестеры, придумаем что-нибудь, чтобы уровень был не сильно ниже и артефактов подкинем. Но — никаких старых имен!
— Даже моим друзьям — Боратиону и Мараршу? — грустно спросила Юлия.
— Безусловно! Безусловно! Я не знаю, могут ли они проговориться, но это не важно — просто банд группа оказалась такая серьезная, что у них могут остаться источники сведений — игроки, работающие на них. А кто знает, какие подслушивающие устройства могут иметь эти игроки! Это же мир магии — я не могу запретить вообще все магические подслушивающие устройства в игре, этого начальство не позволит. Так что, увы — если снова войти в игру, никаких контактов с прошлыми знакомыми и никаких сведений о прошлой личности! Запрещаю!
— Понятно, — с огорчением сказала Юлия.
== == ==
Другое место, это же время
Самарканд, окраина, почти пригород, какой-то покривившийся домик.
Достаточно бедная обстановка внутри. Однако если открыть скрипучие доски и спуститься по деревянной лестнице в подпол — там стоит хорошая игровая капсула GlobalNet.
Дверь открывается пинком ноги. В дверь заходят три мордоворода в черных повязках, закрывающих лицо.