- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Добрая фея - Вадим Проскурин
Шрифт:
Интервал:
Закладка:
— Ты неправильно говоришь, — вмешалась в разговор Инна. — Его не интересуют твои проблемы, он верит, что ты справишься, ему важно знать только одно. Что ты по-прежнему любишь его, что ты поможешь ему, когда будет нужно, и что твоя злость на Ольгу на него не распространяется. Что ты не обижаешься на него за то, что когда вы разошлись, он выбрал мать, а не отца. Андрей, Костя очень любит тебя, но мы действительно не можем тебя принять прямо сейчас, у нас действительно большие проблемы, но они быстро решатся, поверь мне. Я об этом позабочусь.
Произнося последние слова, она посмотрела на Костю и многозначительно подмигнула.
— Ты уж позаботься, — пробормотал Костя.
— Ладно, я все понял, — сказал Андрей. — Неделю как-нибудь перекантуюсь. Но потом ты меня не прогонишь, обещаешь?
— Обещаю, — сказал Костя. — Я тебя никогда не прогоню, ты же мой сын.
ГЛАВА ДЕВЯТАЯ
С0000005, ЕВПОЧЯ
1
Степа смотрел в окно виртуальной машины и не верил своим глазам. В окне красовался зеленый экран смерти операционной системы, причина смерти была одна из самых распространенных — неверный код команды BE EF FA СЕ, сразу видно, что случилось переполнение буфера и управление передалось в нераспределенную память. Если не знать, что предшествовало фатальной исключительной ситуации, можно подумать, что ничего особенного не произошло. Ну, рухнула The Wall, ну, бывает, не первый раз и не последний. Немного странно, что система рухнула из-за ошибки в обычной прикладной программе, это верный признак критической уязвимости в ядре, но таких уязвимостей каждый год находят штук десять. Но если знать, что именно сделала программа, обрушившая систему, приходится признать, что только что произошло нечто из ряда вон выходящее.
То предположение, которое пришло в голову Степы вчера в ресторане, было ошибочным, все оказалось намного проще. Цифры, которые написала Инна на листке из блокнота, представляли собой попросту машинный код процессоров Outfax, тех самых, что стоят внутри почти каждого современного компьютера. Команды были самыми обычными, они загружали в определенные регистры определенные числа, затем делали простую цепочку арифметических операций, и эта цепочка давала совершенно неожиданный результат — управление передавалось на адрес, содержащийся в определенном регистре, при этом полностью отключалась аппаратная защита памяти. Если бы по указанному адресу лежал не мусор, а осмысленный код, он бы выполнился, причем не просто выполнился, а в режиме ядра, с ничем не ограниченными правами доступа. Ну-ка, попробуем вписать в регистр осмысленный указатель…
Снова зеленый экран смерти. Почему? А, понятно, здесь надо использовать не просто абсолютный линейный адрес, а смещение относительно чего-то. Относительно чего? Сейчас проверим…
После пятого зеленого экрана Степа понял, что смещение отсчитывается от текущего значения третьего целочисленного регистра, который, кстати, предыдущими командами никак не инициализировался. Получается, там мусор лежит? Что обычно кладут в третий целочисленный регистр? Счетчики циклов, значения сдвигов для криптографических преобразований, что-то еще…
— Ребята! — позвал Степа. — Что осмысленное может лежать в ir2?
Он не ожидал, что получит вразумительный ответ, Но ответ пришел, причем почти немедленно.
— This! — сказал Вася Васильченко, не отрываясь от дизассемблера.
— Чего? — переспросил Степа.
— This, — повторил Вася. — Текущий объект. Ну, если программа написана на + + D, и текущая функция — член класса, то ссылка на экземпляр объекта передается в ir2.
Степа задумался. Он не умел программировать на объектно-ориентированных языках, кое-какое общее представление имел. Значит, ссылка на экземпляр объекта. Если объект, например, является картинкой, то содержимое картинки лежит внутри тела объекта, при этом смещение от начала заголовка, скорее всего, будет константой, а значит… Неужели рандомизация адресного пространства не работает? Да, точно, не работает! Как бы хитро и запутанно система ни строила карту памяти, сбить с толку эксплойт ей не удастся, загрузчик всегда точно укажет на вирусный код, надо только, чтобы атакуемая программа была написана на объектно-ориентированном языке и чтобы внутреннее представление объекта было известно нарушителю заранее. То есть, если нарушитель имеет конкретную версию конкретной программы и знает, что в атакуемой системе стоит она же, тогда нарушитель направляет этой программе специальный пакет данных и, когда этот пакет начинает обрабатываться, управление передастся внутрь пакета, прямо на вирус. При этом вся аппаратная защита отключается, вирус получает неограниченные полномочия, устанавливает полный контроль над системой и дальше делает с ней все, что захочет. А если версия программы не та? В худшем случае будет зеленый экран, а скорее всего, вообще ничего не случится — если программа сильно переделана, вряд ли новая версия соберет в регистрах процессора ту самую волшебную комбинацию чисел, которая активизирует эксплойт. А если нарушитель точно не знает, какую программу атакует, он может отправить в атакуемую систему несколько пакетов данных, каждый из которых будет заточен под свою конкретную версию. Если пакет данных большой, например видеоклип, можно заложить в разных его местах разные загрузчики, хоть один, да сработает. При этом версия и даже тип операционной системы не имеют никакого значения, регистры-то везде одни и те же.
Выходит, то, чего боялись спецслужбы всего мира, кроме Магеллании, все-таки случилось. Магелланские инженеры вложили-таки в самый популярный процессор в мире аппаратную закладку, и любой, кто знает о ней, способен установить контроль над любым компьютером мира.
Нет, на самом деле не над любым. Кроме аутфаксов, есть и другие процессоры, их немного, но они есть. Кроме того, допустим, нарушитель проэксплуатировал аппаратную закладку и внедрил вирус куда хотел, как он будет передавать электронному шпиону команды и как будет получать от него донесения? Сетевой трафик проходит через множество промежуточных узлов, любой из них может обнаружить подозрительную активность и забить тревогу. На самом деле, защититься от этой закладки не так уж и сложно, надо, чтобы… Ладно, это уже технические детали, о них пусть другие люди думают, от Степы это не требуется, от него требуется одно — все проверить и дать толковое описание. Причем можно сильно не торопиться, эти закладки стоят повсюду уже не первый год, несколько дней ожидания роли не сыграют.
(adsbygoogle = window.adsbygoogle || []).push({});