Страница произведения
Войти
Зарегистрироваться
Страница произведения

Добрая фея


Опубликован:
06.09.2009 — 18.11.2012
Предыдущая глава  
↓ Содержание ↓
  Следующая глава
 
 

Произнося последние слова, она посмотрела на Костю и многозначительно подмигнула.

— Ты уж позаботься, — пробормотал Костя.

— Ладно, я все понял, — сказал Андрей. — Неделю перекантуюсь как-нибудь. Но потом ты меня не прогонишь, обещаешь?

— Обещаю, — сказал Костя. — Я тебя никогда не прогоню, ты же мой сын.

Глава девятая. C0000005, ЕВПОЧЯ

1

Степа смотрел в окно виртуальной машины и не верил своим глазам. В окне красовался зеленый экран смерти операционной системы, причина смерти была одна из самых распространенных — неверный код команды BE EF FA CE, сразу видно, что случилось переполнение буфера и управление передалось в нераспределенную память. Если не знать, что предшествовало фатальной исключительной ситуации, можно подумать, что ничего особенного не произошло. Ну, рухнула The Wall, бывает, не первый случай и не последний. Немного странно, что система рухнула из-за ошибки в обычной прикладной программе, это верный признак критической уязвимости в ядре, но таких уязвимостей каждый год находят штук десять. Но если знать, что именно сделала программа, обрушившая систему, приходится признать, что только что произошло нечто из ряда вон выходящее.

То предположение, которое пришло в голову Степы вчера в ресторане, было ошибочным, все оказалось намного проще. Цифры, которые написала Инна на листке из блокнота, представляли собой попросту машинный код процессоров Outfax z99, тех самых, что стоят внутри почти каждого современного компьютера. Команды были самыми обычными, они загружали в определенные регистры определенные числа, затем делали простую цепочку арифметических операций, и эта цепочка давала совершенно неожиданный результат — управление передавалось на адрес, содержащийся в определенном регистре, при этом полностью отключалась аппаратная защита памяти. Если бы по указанному адресу лежал не мусор, а осмысленный код, он бы выполнился, причем не просто выполнился, а в режиме ядра, с ничем не ограниченными правами доступа. Ну-ка, попробуем вписать в регистр осмысленный указатель...

Снова зеленый экран смерти. Почему? А, понятно. Здесь надо использовать не просто абсолютный линейный адрес, а смещение относительно чего-то. Относительно чего? Сейчас проверим...

После пятого зеленого экрана Степа понял, что смещение отсчитывается от текущего значения третьего целочисленного регистра, который, кстати, предыдущими командами никак не инициализировался. Получается, там мусор лежит? Что там обычно кладут в третий целочисленный регистр? Счетчики циклов, значения сдвигов для криптографических преобразований, что-то еще...

— Ребята! — позвал Степа. — Что осмысленное может лежать в ir2?

Он не ожидал, что получит вразумительный ответ, но ответ пришел, причем почти немедленно.

— This! — сказал Вася Василенко, не отрываясь от дизассемблера.

— Чего? — переспросил Степа.

— This, — повторил Вася. — Текущий объект. Ну, если программа написана на ++D, и текущая функция — член класса, то ссылка на экземпляр объекта передается в ir2.

Степа задумался. Он не умел программировать на объектно-ориентированных языках, но какое-то общее представление имел. Значит, ссылка на экземпляр объекта. Если объект, например, является картинкой, то содержимое картинки лежит внутри тела объекта, при этом смещение от начала заголовка, скорее всего, будет константой, а значит... Неужели рандомизация адресного пространства не работает? Да, не работает! Как бы хитро система ни строила карту памяти, запутать эксплойт ей не удастся, загрузчик всегда точно укажет на вирусный код, надо только, чтобы атакуемая программа была написана на объектно-ориентированном языке, и чтобы внутреннее представление объекта было известно нарушителю. То есть, если нарушитель имеет конкретную версию конкретной программы и знает, что в атакуемой системе стоит она же, тогда нарушитель направляет этой программе специальный пакет данных и, когда этот пакет начинает обрабатываться, управление передастся внутрь пакета, прямо на вирус. При этом вся аппаратная защита отключается, вирус получает неограниченные полномочия, устанавливает полный контроль над системой и дальше делает с ней все, что хочет. А если версия программы не та? В худшем случае будет зеленый экран, а скорее всего, вообще ничего не случится — если программа сильно переделана, вряд ли новая версия сможет собрать в регистрах процессора ту самую волшебную комбинацию чисел, которая активизирует эксплойт. А если нарушитель точно не знает, какую программу атакует, он может отправить в атакуемую систему несколько пакетов данных, каждый из которых будет заточен под конкретную версию программы. Если пакет данных большой, например, видеоклип, можно заложить в разных его местах разные загрузчики, хоть один да сработает. При этом версия и даже тип операционной системы не имеет значения, регистры-то везде одни и те же.

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

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

Кстати! А не работает ли эта закладка прямо здесь и сейчас? Это несложно проверить, поток команд вируса, запущенного с ее помощью, должен иметь в заголовке... Ну-ка, посмотрим... Нет, таких потоков в этой системе нет, слава богу. Или не слава богу? Может, есть способы скрывать их следы от администратора, заподозрившего неладное? Ладно, с этим потом посмотрим, сейчас есть более первоочередные задачи.

Через полчаса Степа собрал нормальный рабочий загрузчик вируса, использующий только что обнаруженную закладку. В качестве вируса Степа взял классический MetaHost (с ампутированной боеголовкой, естественно), и вскоре обнаружил, что закладка специально заточена под этот вирусный движок, очевидно, заокеанские коллеги построили информационное оружие судного дня именно на нем. Еще через час была готова демонстрационная версия вируса под Penguix, а вскоре после обеда Степа с ужасом понял, что в стандартных драйверах Интернет и для The Wall, и для Penguix, распределение регистров специально подобрано так, чтобы эту закладку было особенно легко эксплуатировать. Или, наоборот, выбор регистров для активизации закладки основан на том, чтобы ее можно было активизировать через Интернет, не передавая никаких картинок, а просто послав специальный сетевой пакет. Если начнется реальная информационная война, один атакующий компьютер сможет выводить из строя компьютеры противника десятками в секунду, а если еще организовать экспоненциальное распространение вируса...

2

Саша снял трубку после второго гудка.

— Привет, Костя, — сказал он.

— Привет, — отозвался Костя. — Удобно сейчас говорить, не сильно занят?

— Не очень, — ответил Саша. — В смысле, не очень занят. Что сказать хотел?

— Ну... — замялся Костя.

Готовясь к этому разговору, он так и не смог решить, с чего начать, думал, что все как-то само получится...

— С тем вчерашним парнем все нормально прошло? — спросил Костя.

— Вроде да, — ответил Саша. — Точно я сам еще не знаю, пока не узнавал, обычно такие дела быстро не делаются, думаю, к концу недели будет известно что-то определенное, но вряд ли раньше. А что, беспокоишься?

— Ну да, беспокоюсь, — сказал Костя. — Видишь ли, мы с Инной уехали из того... ну...

— Я знаю, — сказал Саша. — Мне доложили, что вы вернулись в твою квартиру, я не возражаю, вышестоящее начальство тоже. Если начнутся проблемы, я позвоню, предупрежу.

— Тут еще вот какое дело... Андрей...

Костя опять замялся, пытаясь поаккуратнее сформулировать то, что хотел сказать, но оказалось, что формулировать ничего не нужно.

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

— Подумываю. А что?

— Если купишь квартиру, и вы в нее переедете, эту Ольге отдашь?

Костя понял, куда клонит Саша, и рассмеялся.

— Конечно, — ответил он. — Она тебя тоже уже достала?

— Ну... в общем, да, — признался Саша. — Я теперь понимаю, почему ты от нее ушел. Знал бы заранее... но чего уж теперь...

Костя было хотел сказать, что на самом деле он не уходил от Ольги, она сама его бросила, грубо и цинично... Но, впрочем, тот и сам все прекрасно понимает, эти слова — не ошибка, а оговорка.

— Хорошо, — сказал Костя. — Тогда, значит, Андрей переедет, как только так сразу. Да хоть завтра.

Саша странно хмыкнул и сказал:

— Вообще-то, он еще вчера почти все вещи собрал. Он вчера очень расстроен был, когда говорил, что ты велел ему ждать.

— Ну... — Костя немного подумал и принял решение. — Хорошо, давай не будем ждать. Сегодня мне никуда ехать не надо, дождусь звонка и сразу поеду к нему. Или вообще, сразу поеду, не дожидаясь звонка.

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

Внезапно Косте стало противно. Саша — неплохой мужик, честный, порядочный, не злой, обещания всегда выполняет, но есть у него эта мерзкая черта, из-за которой нормальные люди так ненавидят кобнюков. Он все время манипулирует людьми, не со зла, просто настолько привык к этому, что все получается само собой. Все эти гадкие психологические трюки он воспринимает как нечто естественное, само собой разумеющееся, иногда он забывает, что разговаривает с человеком, который этим трюкам не обучен, и, более того, считает их аморальными. Саша подсознательно стал считать Костю своим, а перед своими можно не изображать приличного человека, можно быть самим собой, особенно если считаешь, что в той стороне личности, которую не показываешь чужим, ничего плохого на самом деле нет. Когда Костя и Ольга начали жить вместе, ее поначалу шокировало, что он привык ходить по квартире в старых застиранных спортивных штанах, а он считал, что все нормально, и искренне недоумевал, почему она возмущается. Наверное, Саша думает, что применять поганые психологические трюки тоже нормально, если применять их для хороших дел. В чем-то он прав, но где граница между хорошими делами и плохими? Кто может ее провести, кроме самого субъекта, принимающего решение? Саша считает, что проводит эту границу правильно, и, должно быть, он прав, Инна не раз забиралась к нему в голову своей телепатией, и все равно считает его хорошим человеком. Но если все начнут думать и действовать, как он...

— О чем задумался? — спросил Саша.

— Так, ни о чем, — поспешно ответил Костя. — Ерунда. Насчет этих... нанодеятелей... какие-нибудь новости есть?

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

— Ладно, хорошо, — сказал Костя. — Ну, давай, удачи тебе.

Саша неожиданно захихикал.

— Наш человек, — сказал он.

— Кто? — не понял Костя.

— Ты, — объяснил Саша. — При прощании желают удачи бандиты, менты и мы, кобнюки кровавые.

Косте показалось, что он ослышался.

— Я думал, это оскорбительное прозвище, — сказал он.

— Нет, — сказал Саша. — Мы себя тоже так называем, это такой здоровый цинизм. У меня над столом одно время висела цитата из Пушкина "Души прекрасные порывы", потом пришлось снять, зашел один босс без чувства юмора, ругаться стал... Ладно, удачи тебе, Костя.

Костя нажал кнопку отбоя, воткнул мобильник в зарядное устройство и стал думать, что делать дальше. Пожалуй, Саша прав, надо дождаться, когда Андрей сам позвонит. Изображать размышления и колебания Костя не будет, это низко, да и актер из него, как из дерьма пуля. Андрей уже достаточно взрослый, чтобы самому выбирать, с кем из родителей ему жить, и пусть Ольга думает по этому поводу все, что хочет. Как же она орать будет... Ну и пусть орет, черт с ней.

Костя включил телевизор. Шла реклама, рекламировали очередное чудодейственное лекарство от "Центра человека". Странное это было лекарство, оно содержало одновременно и свободный кислород, и антиоксиданты, прямо-таки кащенизм медицинский, взаимоисключающие параграфы в явном виде. Может, они порохом людей кормят? А что, чем сера не антиоксидант? Если хорошую концентрацию установить, ни один паразит не выживет, больной, правда, тоже долго не протянет, но это уже его проблемы. А ведь есть люди, которые этот бред всерьез воспринимают. Боже мой, какие люди тупые...

Реклама закончилась, начались новости. На экране появилась рожа президента, опять выступает с заявлением дурилка говорящая. Снова что-то про Каледонию, нагнетание, типа, необходимо разрядить обстановку мирными средствами, остановить безответственные силы... Лучше бы в стране порядок навел. Если подсчитать, сколько денег в масштабах страны тратится на взятки, прямо-таки дрожь берет. Но куда ему порядок навести... И неспроста он так похож на Дениса, не портретно, а жестами и гримасами. Наверняка такой же дурак, пыжится, щеки надувает, болтает безостановочно, пытается изображать умного, а на деле ни одного решения принять не может. Надо не болтать, а либо атаковать, либо оставить каледонцев в покое, воинственными словами ничего не добьешься, только уважать перестанут окончательно. Блатные не зря говорят: "Достал нож — бей!" А наши военные только оружием бряцать горазды, да и не только оружием, а и еще кое-чем. Учения какие-то устроили, тащатся сами от себя... тьфу на них!

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

3

Степа смотрел на экран компьютера и наслаждался. Он только что хакнул собственную виртуальную машину, при этом он не вводил никаких паролей, а просто отправил ей сетевой пакет, содержащий те самые волшебные числа. Этот пакет произвел тот же эффект, что слова "Сезам, откройся", произнесенные Али-Бабой у входа в пещеру. Виртуальная машина отключила защиту и радостно отдалась вирусу, подгружаем прикладные плагины... Все, полный удаленный контроль установлен. Степа провел стандартный набор тестов: попереносил файлы туда-сюда, запустил удаленную командную строку, почистил аудит, все работало. Прекрасно, можно докладывать начальству.

123 ... 3536373839 ... 444546
Предыдущая глава  
↓ Содержание ↓
  Следующая глава



Иные расы и виды существ 11 списков
Ангелы (Произведений: 91)
Оборотни (Произведений: 181)
Орки, гоблины, гномы, назгулы, тролли (Произведений: 41)
Эльфы, эльфы-полукровки, дроу (Произведений: 230)
Привидения, призраки, полтергейсты, духи (Произведений: 74)
Боги, полубоги, божественные сущности (Произведений: 165)
Вампиры (Произведений: 241)
Демоны (Произведений: 265)
Драконы (Произведений: 164)
Особенная раса, вид (созданные автором) (Произведений: 122)
Редкие расы (но не авторские) (Произведений: 107)
Профессии, занятия, стили жизни 8 списков
Внутренний мир человека. Мысли и жизнь 4 списка
Миры фэнтези и фантастики: каноны, апокрифы, смешение жанров 7 списков
О взаимоотношениях 7 списков
Герои 13 списков
Земля 6 списков
Альтернативная история (Произведений: 213)
Аномальные зоны (Произведений: 73)
Городские истории (Произведений: 306)
Исторические фантазии (Произведений: 98)
Постапокалиптика (Произведений: 104)
Стилизации и этнические мотивы (Произведений: 130)
Попадалово 5 списков
Противостояние 9 списков
О чувствах 3 списка
Следующее поколение 4 списка
Детское фэнтези (Произведений: 39)
Для самых маленьких (Произведений: 34)
О животных (Произведений: 48)
Поучительные сказки, притчи (Произведений: 82)
Закрыть
Закрыть
Закрыть
↑ Вверх