Утром 26 апреля 1999 года, ровно 23 года назад, многих пользователей персональных компьютеров под управлением Windows 9х/МЕ поджидал неприятный сюрприз: данные на жестких дисках их персоналок оказались уничтожены, а в отдельных случаях машина отказывалась работать из-за повреждения BIOS. Эта неприятность стала следствием заражения компьютеров резидентным вирусом CIH, более известным под именами «Чернобыль» и Spacefiller. Устройству этого коварного вируса и истории его создания посвящена сегодняшняя заметка.

Автором вируса, от которого пострадало по разным подсчетам от полумиллиона до нескольких десятков миллионов компьютеров по всему миру (а в те времена это было очень внушительное число), был студент университета Датун (Tatung) в Тайване Чэнь Инхао (Chen Yínghao), причем Чэнь — это фамилия, которая согласно китайской традиции следует перед именем. Чень утверждал, что создал вирус с единственной целью — доказать полную неэффективность существовавших на тот момент антивирусных программ. Первыми жертвами CIH стали компьютеры университета, в котором учился создатель вируса, затем инфицированные программы попали в местные конференции Usenet, а уже оттуда вредонос распространился за пределы Тайваня. В июле 1998 года вирус заразил один из серверов компании Ritual Entertainment, с которого раздавалась бета-версия шутера SiN: все загруженные пользователями копии игры оказались инфицированы. В марте 1999 года компания IBM отгрузила клиентам несколько тысяч зараженных CIH компьютеров, примерно в то же время вирус проник на ряд американских игровых серверов, откуда начал свое победное шествие по компьютерам США, Европы, Великобритании и Австралии.



После того как его детище стало бесконтрольно распространяться в интернете, Чень и его однокурсник Вэн Ши-Хао написали и опубликовали в свободном доступе утилиту, распознававшую и уничтожавшую вирус. Но было уже поздно: CIH быстро расползся по всему миру и по различным оценкам нанес совокупный ущерб порядка 1 миллиарда долларов США.

Большинство существовавших на тот момент файловых вирусов дописывало свой код в конец исполняемых файлов, тем самым увеличивая их размер. Это упрощало детектирование зараженных программ антивирусами. CIH, объем которого составлял всего лишь 1 Кбайт, действовал иначе: загрузившись в память, он отслеживал запуск EXE-файлов в Windows 9x, после чего помещал полезную нагрузку в неиспользуемые секции существующего кода — в результате размер исполняемого файла не менялся. Именно из-за этой своей особенности вирус получил наименование «Spacefiller» — «заполнитель пробелов».

Наличие такого «свободного пространства» обусловлено тем, что размер секций исполняемого файла выравнивался до определенного размера, указанного в PE-заголовке. CIH искал в файле такие секции: если позволял их размер, он записывал свое тело в пустое пространство целиком, если нет, дробил его на блоки и сохранял их в разных секциях с указанием, где искать «продолжение». Затем вирус искал неиспользуемые участки в PE-заголовке файла размером не менее 184 байт: при обнаружении такого блока он сохранял туда свою стартовую процедуру и менял точку входа. После запуска инфицированного приложения в Windows 9X управление передавалось этой стартовой процедуре: она выделяла память с использованием процедуры PageAllocate, искала разбросанные по секциям блоки кода вируса, последовательно дописывала их в конец стартовой процедуры и запускала полученное приложение, после чего управление возвращалось исходной программе-носителю. Оказавшись в памяти, вирус перехватывал связанные с открытием файлов вызовы операционной системы. Если в Windows 9X происходило обращение к исполняемому файлу, CIH заражал его. В некоторых случаях данная операция приводила к повисанию операционной системы, но чаще оставалась незамеченной пользователем. До поры до времени.

Заложенный в CIH вредоносный функционал впервые сработал 26 апреля 1999 года, в 13-ю годовщину аварии на Чернобыльской АЭС, из-за чего вирус и получил свое самое известное название — «Чернобыль». На самом же деле совпадение оказалось случайным: разработчик заложил дату срабатывания вируса ровно через год после выпуска в «дикую природу» его первой версии — Чень впервые запустил CIH на университетских компьютерах 26 апреля 1998 года. В этот день вирус принялся стирать данные на всех жестких дисках зараженной машины, при этом он использовал непосредственный доступ к диску, что позволило обойти стандартную защиту от записи данных в загрузочные сектора. CIH заполнял нулями первые 1024 Кбайт диска, уничтожая загрузочный сектор и таблицу разделов, после чего переходил к следующей атаке. Если настройки BIOS Setup допускали запись во FlashBIOS, на некоторых типах материнских план CIH стирал содержимое Flash-памяти, «окирпичивая» компьютер. Оживить машину можно было заменой или перепрошивкой микросхемы BIOS, данные в ряде случаев также можно было спасти, заменив MBR и загрузочный сектор стандартными копиями, а первую копию таблицы FAT (если ее размер превышал 1 Мбайт) восстановив из второй копии, до которой CIH «не дотягивался».

Оценив масштаб содеянного, Чэнь Инхао принес публичные извинения пострадавшим пользователям. Ему могло бы грозить строгое наказание, но в конечном итоге в полицию Тайваня не поступило ни одного заявления от жертв «чернобыльского вируса», так что его разработчик отделался лишь легким испугом. Сейчас 46-летний Чэнь Инхао успешно работает в компании Gigabyte Technology Co., Ltd. — тайваньской корпорации по производству материнских плат, видеокарт и другой компьютерной техники. О своем вирусописательском прошлом он предпочитает не вспоминать.

Комментарии (25)


  1. Akina
    26.04.2022 10:31
    +1

    а первую копию таблицы FAT (если ее размер превышал 1 Гбайт) восстановив из второй копии

    Вообще-то 1 мегабайт.А реально - ещё меньше.


    1. CyberPaul Автор
      26.04.2022 12:51

      Спасибо, поправил!


  1. Inine
    26.04.2022 11:21
    +4

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


  1. ZekaVasch
    26.04.2022 11:57
    +4

    Понедельник был тяжёлый.

    В универе тогда не заработало минимум половина парка компьютеров. А многие админы научились шить биос горячей заменой. И на материнках с тех пор начали ставить по 2 биоса.

    А те кто не включил компьютер в тот день , тот ничего не заметил


    1. tundrawolf_kiba
      26.04.2022 13:07

      Или на тех, на которых была дата сбита.


    1. lazyest
      27.04.2022 13:36

      или те, у кого не было виндовса


      1. ZekaVasch
        27.04.2022 14:01

        Кажись под NT он не умел.


  1. 13werwolf13
    26.04.2022 12:13

    но в конечном итоге в полицию Тайваня не поступило ни одного заявления от жертв

    вот это я называю хэппиенд!


  1. Telmah
    26.04.2022 13:24

    помню что на купленом диске с Dune 2000 им был заражён исталятор DIrectX. обнаружил что подцепил вирус как то случаной - qemm начал странно работать чтоли...


  1. izogfif
    26.04.2022 13:25

    Чэнь Инхао успешно работает в компании Gigabyte Technology Co., Ltd. — тайваньской корпорации по производству материнских плат, видеокарт и другой компьютерной техники. О своем вирусописательском прошлом он предпочитает не вспоминать.

    Ага, а потом внезапно видеокарты взламывают хакеров, укравших данные у разработчиков железа.


  1. frkbvfnjh
    26.04.2022 13:47

    А исходник где?



  1. Sergey_datex
    26.04.2022 14:03

    А для чего в заголовке про 23 года? Автор до сих пор отбивается от атак вируса?


    1. CyberPaul Автор
      26.04.2022 15:24
      +16

      Ой, сейчас объясню. Дело в том, что если из даты 26 апреля 2022 года вычесть дату 26 апреля 1999 года, получится 23 года. Это называется "памятная дата". Данным термином обозначают день календаря, соответствующий годовщине какого-нибудь события. По сложившейся традиции памятные даты принято описывть так: "столько-то лет такому-то событию". На всякий случай: событие - это какое-либо значительное явление, факт общественной жизни. Так вот в нашем случае заголовок "23 года эпидемии Win.CIH" означает, что с момента события - эпидемии Win.CIH - прошло 23 года.

      Если что-то осталось непонятным, пожалуйста, спрашивайте, не стесняйтесь!


      1. Sergey_datex
        26.04.2022 15:35
        -2

        Не, это называется "хайпануть на отрезке времени".


  1. NSergeev
    26.04.2022 14:17

    Титулка с чёрной полосой сверху - это задумка автора или недокроп?


    1. CyberPaul Автор
      26.04.2022 15:26

      10 пикселов сожрал вирус :)


  1. Pompei
    27.04.2022 06:25

    У меня это произошло в полночь с 25 на 26 апреля 1999 года - проезжая очередной вираж кармагеддона с параллельной давкой ии, внезапно вылетает синий экран. Перезагрузка ничего не дала. Где-то к трём часам ночи становиться понятно, что убит фат файловой системы. А у меня на диске было три готовые курсовые работы, которые мои друзья временно дали мне похранить на моём винте - у них компа небыло. 26 апреля весь день мы бегали по всему Омску с этим витном, с желанием восстановить файлы, но так восстановить диск и не смогли. Под вечер диск был отформатирован. Ребятам пришлось снова в ускоренном режиме решать свои курсовые работы.

    Да ещё - в фате файловой системы было написано "чернобыль" на русском в кодировке koi8r. Получается что Чэнь Инхао знает русский, или это не он


    1. Akina
      27.04.2022 14:17

      в фате файловой системы было написано "чернобыль" на русском в кодировке koi8r. Получается что Чэнь Инхао знает русский, или это не он

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


      1. Pompei
        27.04.2022 14:27

        Ясно


    1. greenkey
      28.04.2022 19:32

      о, земляк ;-) я тоже в 1999 заканчивал ОмГТУ, помню, друзья первые дипломные делали уже в автокаде. Необычно было.


      1. Pompei
        29.04.2022 06:58

        Привет, greenkey. Я в Омске в ОмГТУ учился - нять лет там жил, а щас я живу в Алмате. В Омске у меня осталось много друзей. Приятно встречать земляков по учёбе.


  1. DarkWolf13
    27.04.2022 09:52

    эх....жаркие были тогда две недели беготни по знакомым, и знакомым знакомых для восстановления систем...


  1. RealTeodor
    27.04.2022 17:43
    +1

    А я тогда спаял-таки программатор... И, не скрою, заработал на этом вире́ денег. Ну а восстанавливать инфу я умел и до. Неделю где-то я работал по 14-16 часов в сутки, потом ажиотаж начал спадать. В зеркало глянул как-то - страшная картина :(


  1. demimurych
    28.04.2022 21:57

    О известности CIH или сопли на тему хакерства, вирусной сцены и журналистах

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

    Как справедливо отметили выше, cih с технологической точки зрения представляет из себя тот пример кода, проанализировав который, потом сильно жалеешь о потраченном на это времени.

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

    Известность CIH, в большинстве случаев продиктована обозрениями в прессе, низкое качество которой в плоскости IT, требовало жареных новостей о взломанных через кофеварку сетях пентагона и тысячах уничтоженных злобными вирусами компьютеров.

    На фоне сброшенного биоса никого не волновали новости о очередных достижениях в области полиморфизма, которые, фактически, делали существование инструментов обнаружения подобного ПО невозможным или бесполезным.

    98 год, состояние вирусной сцены и ее закат

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

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

    Полиморфизм
    Например подход, который выбирал стратегию когда профилактика скомпроимтированной системы, стоила дороже чем потери от параллельного существования на этой системе чужого кода. Схематично, типичный код вируса того времени, сосоял из двух важных частей: из кода кодировщика/декодировщика, и кода самого вируса. Где первый шифровал/расшифровывал второе. При этом, код кодировщика делали полиморфным. То есть таким, когда от копии к копии, нет совпадений байт в байт. Более того, не просто байт в байт, но алгоритмически они были разными.

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

    Так вот, прогресс в работе над подобными полиморфными кодировщиками дошел до состояния, когда для анализа одного файла, требовалось не менее 5 минут времени работы на самой прогрессивной машине того времени. Что за сутки позволяло проверить около 300 файлов. Что естественно нельзя было считать приемлемым. В результате чего владелец такой системы, предпочитал мириться с наличием подобного кода, по крайней мере временно.

    Пассивные средства противодействия обнаружения
    Другим подходом было развитие "пассивных средств" сокрытия следов своей работы. В то время, существовал карт бланш - загрузка с чистой системы (например на дискете) и анализ системы при условии, что подобная загрузка предполагает уверенность - код вируса не может быть активирован. Ведь наша дискета с чистой системой. Так вот удалось разработать такой алгоритм интеграции кода в систему, при котором подобная чистая загрузка ничего показать не могла. Система была чиста. А между тем, стоило загрузиться с нее, как код получал управление.

    Никакие средства, в том числе средства мониторинга контрольных сумм файлов системы (AdInf был самым популярным на то время) не могли обнаружить даже подозрения на компрометацию.

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