Пол Рассел один из кибер детективов, руководитель шестого отдела сидел за своим компьютером и изучал вирусы, с помощью которых было взломано 79 банков по всему миру и украдено 3,5 миллиарда долларов, ограбление века. Он сверял пойманные штаммы с банка Англии и банка Аргентины, он наложил один файл на другой, они весили одинаково, бит в бит, по 1179,6килобайта каждый, вроде бы одно и тоже, но в банке Англии стоял антивирус NOD512 а в Аргентинском использовался Crack2016, и эти программы имели разные параметры защиты, но были взломаны одним вирусом, он стал проверять. Вирус был защищён, и его нельзя было декомпиллировать ни на одной из существующих программ, что само по себе было немного мистикой, но существовали другие программы, среди них битовый редактор. Он открыл его и стал сверять два файла вручную, на первый взгляд это были идентичные файлы один в один. Он уже хотел было, закрыть файл, решив, что этот вирус просто способен взломать несколько антивирусов сразу, но, не много подумав, промотал пятьсот строчек в обоих файлах, и то, что он увидел его слегка удивило. Два одинаковых файла, из двух разных банков с разной защитой, оба Трояны, идентичный размер, начало идентично, а середина отличается, два разных вируса, две разных программы большой сложности, работающие очевидно на разных алгоритмах. Пол понял, что тот, кто писал это, писал две разных программы для взлома двух разных банков, что было нелогично, преступление создавало, и было замаскировано под видимость серийного, с использованием одних и тех же программ, но на поверку выходило, что существует минимум два варианта вирусов. А значит объём работы, для тех, кто написал это, удваивался. И тут его вдруг осенило, он проверил в битовом редакторе несколько десятков начальных строчек битов, и они совпадали, были идентичны. Но если это разные файлы, при компиляции добиться этого не возможно. Если взять любой язык программирования, ассемблер, скан, рип, или даже любой древний, Яву или жемчужину, при компиляции двух, даже не сильно различающихся файлов, биты совпадать никогда не будут, а тут биты совпадали. От осознания этого он просто офигел. Конечно, чисто гипотетически можно было откомпилировать это по отдельности, а потом быть может сшить, но это теория. А Пол был хорошим программистом, он закончил с отличием Массачусетский Технологический, факультет кибер защиты. Он понял, что ни на одном из существующих на земле языков программирования написать такое просто не возможно. Это значило, что подготовка тех, кто совершил это действие, была на много глубже, чем могло показаться на первый взгляд. Такое не могли выполнить просто хорошие программисты за три месяца, даже целый коллектив. Притом, что в программе не было ни одной ошибки, ни одного бага, всё было отточено до блеска и синхронизировано. Чтобы сделать такое, написать принципиально новый язык такого уровня, и на нём создать такие программы, нужны как минимум усилия легендарного Apple в течение так лет пяти десяти, это же целый раздел программирования, первоклассные программисты, всё отточено до блеска, ни одной ошибки. На такое даже ЦРУ не способна. Такой проект стоит миллиарды долларов, сохранить его в секрете почти невозможно, ни один клан хакеров на земле не обладает такими ресурсами и возможностями. Это может иметь лишь одно объяснение, это проделки не хакерского клана, это прямые испытания кибер оружия высокого уровня, со стороны одной из ведущих мировых держав, и никак не ниже.

Пол поднял телефонную трубку и позвонил своему сотруднику, занимавшемуся этим же делом:

— Слушай Джек, вы нашли какие-нибудь зацепки?

— Все информаторы молчат как мышки, никто на себя это не берёт, все утверждают, что никто из них, ни один клан, над этим проектом не работал. Это вообще какая-то мистика, конечно, можно предположить, что существует где-то тайный клан, о котором никто из нас никогда не слышал. Но, это сказки. Ты сам-то что думаешь?

— У меня есть одна идея, она кажется неправдоподобной на первый взгляд, но думаю, других вариантов просто нет.

— И что за идея?

— Потом узнаешь.

— Да ладно, скажи…

Пол положил трубку, скинул на флэшку все необходимые файлы и набрал номер сотового телефона директора Интерпола Андрэ Гаррисона. Тот немного подождал и ответил:

— Я слушаю вас Пол, это что-то срочное?

— Вы сейчас у себя в кабинете?

— Да, абсолютно, на сто процентов, у меня много разных систем защиты и они регулярно обновляются.

— Вы уверены, что ваш кабинет защищён от прослушивания?

— Конечно, на все сто процентов.

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

— Я не специалист по программированию, я юрист по профессии, но выслушаю вас, поднимайтесь ко мне.

Пол убрал флэшку с данными в карман и пошёл к лифту, остановился около него, подумал, "а чем чёрт не шутит", повернулся и пошёл к лестнице, она по правилам пожарной безопасности всегда была рядом с лифтом. Подниматься пришлось долго, этажей двадцать, и Пол уже проклял себя за эту глупость. Тем не менее, он поднялся на 114ый этаж и также пешком прошёл в кабинет директора, вошёл без стука, секретарь знала его, и не стала останавливать.

— Вы быстро. Так что за идея Пол? Присаживайтесь.

Рассел сел напротив него и сразу взял быка за рога, без лишних лирических вступлений.

— Я сравнивал два файла из Аргентины и из Англии, на первый взгляд файлы идентичны, у них одинаковое название, их объём одинаков до бита, и когда я открыл битовый редактор, первые строчки этих файлов полностью совпали, и я уже хотел закрыть их. Но когда я промотал эти файлы до пятисотой строки, то выяснилось, что на самом деле файлы полностью различны. То есть это два разных файла, замаскированные под один.

— И?

— Ну, во-первых, это значит, что объём работы, который проделали взломщики, чтобы написать эти вирусы, минимум вдвое больше, чем мы думали, и вот тут возникает вопрос, а зачем кому-то писать два набора супер совершенных вирусов, чтобы совершить одно и тоже ограбление? Почему бы, не украсть больше из одного места? Они ведь могли.

— Хм… Это конечно выглядит не очень разумно, но подобное можно объяснить тем, что у людей кривая логика. И потом, быть может, эти файлы содержат одинаковые компоненты, и различаются не так сильно, как вам показалось вначале? То есть, может быть, это две разных компиляции одного файла, который…

— Это не так, это два разных файла, два алгоритма. Но не в этом суть, тут вы правы, всё можно спихнуть на кривизну человеческой логики. Однако, есть другое, эти файлы имеют абсолютно одинаковое начало в битах, первые строчек сорок, примерно тысячу бит. При этом, это единый компилированный файл, а не сшивка нескольких.

— Ну и?

— Это не возможно. Таких языков не существует, если вы возьмёте два разных файла, и откомпилируете их, у них всегда будет разное начало и конец. А здесь они одинаковые. При этом и начало, и конец являются частью программы, там есть метки переходов. Чтобы вы не делали, вы не сможете ни на одном современном языке откомпилировать два разных файла, так чтобы их начало и конец были идентичны и при этом были частью программы.

— Может, они писали программу в битовом редакторе. Я конечно не программист, но это в школе проходят.

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


Перейти на страницу:
Изменить размер шрифта: