BOOT
Вирус Virus.Win9x.CIH (историю надо знать!) - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Технический форум » Безопасность » Вирус Virus.Win9x.CIH (историю надо знать!)
Вирус Virus.Win9x.CIH (историю надо знать!)
ADMINISTRATORДата: Вторник, 05.05.2009, 22:40 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 87
Репутация: 1
Статус: Offline
Также известен как «Чернобыль». Резидентный вирус, работает только под Windows95/98 и заражает PE-файлы (Portable Executable). Имеет довольно небольшую длину - около 1Кб. Был обнаружен "в живом виде" на Тайване в июне 1998 - автор вируса заразил компьютеры в местном университете, где он (автор вируса) в то время проходил обучение. Через некоторое время зараженные файлы были (случайно?) разосланы в местные Интернет-конференции, и вирус выбрался за пределы Тайваня: за последующую неделю вирусные эпидемии были зарегистрированы в Австрии, Австралии, Израиле и Великобритании. Затем вирус был обнаружен и в нескольких других странах, включая Россию.

Примерно через месяц зараженные файлы были обнаружены на нескольких американских Web-серверах, распространяющих игровые программы. Этот факт, видимо, и послужил причиной последовавшей глобальной вирусной эпидемии. 26 апреля 1999 года (примерно через год после появления вируса) сработала "логическая бомба", заложенная в его код. По различным оценкам, в этот день по всему миру пострадало около полумиллиона компьютеров - у них оказались уничтожены данные на жестком диске, а на некоторых плюс к тому испорчено содержимое микросхем BIOS на материнских платах. Данный инцидент стал настоящей компьютерной катастрофой - вирусные эпидемии и их последствия никогда до того не были столь масштабными и не приносили таких убытков.

Видимо, по тем причинам, что 1) вирус нес реальную угрозу компьютерам во всем мире и 2) дата срабатывания вируса (26 апреля) совпадает с датой аварии на Чернобыльской атомной электростанции, вирус получил свое второе имя - "Чернобыль" (Chernobyl).

Автор вируса, скорее всего, никак не связывал Чернобыльскую трагедию со своим вирусом и поставил дату срабатывания "бомбы" на 26 апреля по совсем другой причине: именно 26 апреля в 1998 году он выпустил первую версию своего вируса (которая, кстати, так и не вышла за пределы Тайваня) - 26 апреля вирус "CIH" отмечает подобным образом свой "день рождения".

Как вирус работает

При запуске зараженного файла вирус инсталлирует свой код в память Windows, перехватывает обращения к файлам и при открытии PE EXE-файлов записывает в них свою копию. Содержит ошибки и в некоторых случаях завешивает систему при запуске зараженных файлов. В зависимости от текущей даты стирает Flash BIOS и содержимое дисков.

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

После успешного стирания Flash-памяти вирус переходит к другой деструктивной процедуре: стирает информацию на всех установленных винчестерах. При этом вирус использует прямой доступ к данным на диске и тем самым обходит встроенную в BIOS стандартную антивирусную защиту от записи в загрузочные сектора.

Известно три основные ("авторские") версии вируса. Они достаточно похожи друг на друга и отличаются лишь незначительными деталями кода в различных подпрограммах. Версии вируса имеют различные длины, строки текста и дату срабатывания процедуры стирания дисков и Flash BIOS:

Code
Длина              Текст                 Дата срабатывания      Обнаружен "в живом виде"
1003        CIH 1.2 TTIT                26 апреля                             Да
1010        CIH 1.3 TTIT                26 апреля                            Нет
1019      CIH 1.4 TATUNG      26 каждого месяца       Да - во многих странах

Технические детали

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

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

Вирус также ищет неиспользуемый блок данных в PE-заголовке. Если в конце заголовка есть "дыра" размером не менее 184 байт, вирус записывает в нее свою startup-процедуру. Затем вирус изменяет стартовый адрес файла: записывает в нее адрес своей startup-процедуры. В результате такого приема структура файла становится достаточно нестандартной: адрес стартовой процедуры программы указывает не в какую-либо секцию файла, а за пределы загружаемого модуля - в заголовок файла. Однако Windows95 не обращает внимания на такие "странные" файлы, грузит в память заголовок файла, затем все секции и передает управление на указанный в заголовке адрес - на startup-прецедуру вируса в PE-заголовке.

Получив управление, startup-процедура вируса выделяет блок памяти VMM-вызовом PageAllocate, копирует туда свой код, затем определяет адреса остальных блоков кода вируса (расположенных в конце секций) и дописывает их к коду своей startup-процедуры. Затем вирус перехватывает IFS API и возвращает управление программе-носителю.

С точки зрения операционной системы эта процедура наиболее интересна в вирусе: после того, как вирус скопировал свой код в новый блок памяти и передал туда управление, код вируса исполняется как приложение Ring0, и вирус в состоянии перехватить AFS API (это невозможно для программ, выполняемых в Ring3).

Перехватчик IFS API обрабатывает только одну функцию - открытие файлов. Если открывается файл с расширением EXE, вирус проверяет его внутренний формат и записывает в файл свой код. После заражения вирус проверяет системную дату и вызывает процедуру стирания Flash BIOS и секторов диска (см. выше).

При стирании Flash BIOS вирус использует соответствующие порты чтения/записи, при стирании секторов дисков вирус вызывает VxD-функцию прямого обращения к дискам IOS_SendCommand.

Известные варианты вируса

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

Известно также об "оригинальных" версиях вируса, срабатывающих в дни, отличные от 26 [апреля]. Данный факт объясняется тем, что проверка даты в коде вируса происходит по двум константам. Естественно, что для того, чтобы поставить таймер "бомбы" на любой заданный день, достаточно поменять лишь два байта в коде вируса.

 
Форум » Технический форум » Безопасность » Вирус Virus.Win9x.CIH (историю надо знать!)
  • Страница 1 из 1
  • 1
Поиск:

бесплатная отправка СМС и ММС
Сайт управляется системой uCoz