tags: culture
История компьютерных вирусов
Intro от переводчика
Оригинал текста, к сожалению не может быть найден :(
Всё, что выделено в тексте курсивом добавлено переводчиком!
Перевод имен и названий — это очень трудная тема. Я, чтобы не усложнять себе жизнь, оставляю их в оригинальном, английском варианте. Это не всегда удобно читать, но зато сохраняется единый стиль.
Статья была взята с сайта vx-underground, чья команда трудится над сохранением VX сцены.
Самая ранняя история вирусов
Вирусы имеют долгую и местами достойную историю. (Этим заявлением я не намерен участвовать в текущих дебатах о том, служат ли вирусы полезным целям вне исследовательского сообщества).
На старых компьютерах было жизненно важно знать их состояние, после установки ОС с нуля. Также было важно, чтобы не было следов ранее установленных программ. (Сейчас достаточно сложно отлаживать программы — это требует максимальной концентрации). Машинная инструкция часто имела только одну функцию: она копировала себя в следующую ячейку памяти и начинала там работать. Таким образом, запуская эту команду в начальных адресах памяти, можно было заполнить всю область заранее известным значением. Эту единственную инструкцию можно было рассматривать как первый вирус.
По мере развития компьютеров стало возможным запускать несколько программ одновременно на одной машине. Конечно, было важно, чтобы каждая программа и связанные с ней данные содержались в своих областях памяти или разделах. Неизбежно стали появляться программы, которые “нарушали свои границы” и выполняли операции над чужими данными или программами, или передавали управление в случайные области памяти и пытались там исполнить инструкции, представленные в виде сырых байтов. Это приводило к непрогнозируемым результатам и повреждениям памяти. Распределение повреждений носило случайный характер. Если представить их графически, то изображение будет похоже на поеденное червями дерево со следами, расположенными случайным образом.
Такой паттерн стал известен, как “червоточина”, а вышедшие из-под контроля программы стали известны как “черви”. В старых компьютерных сетях подобная программа, печально известная как “Xerox worm”, не только выходила за границы своей памяти, но и распространялась с одного компьютера на другой. Это привело к использованию термина “червь” для различения вируса, распространяющегося по сетям, от других типов. Этот термин иногда используется и для вирусов, которые распространяются каким-то другим способом, кроме прикрепления к файлам программы или ассоциации с ними.
(Для программистов, разработка таких программ стала спортом. Данный факт хорошо демонстрирует игра “Core Wars”. Суть в следующем - существует виртуальная компьютерная среда, со стандартным набором инструкций, известный как “Redstone code”, с помощью которого создаются программы, которые должны сражаться друг с другом. Целью является выживание. Использование таких тактик, как атака, избегание и репликация, представляет интерес для исследования вирусов, так же как и компромисс между сложностью программы и ее способностью выжить).
Ранние вирусы
Одним из факторов успеха вирусов является понимание мышления пользователя: изучение психологии или социологии компьютерного сообщества. Поскольку распространение вирусов обычно требует определенных действий, пусть и неосознанных, со стороны оператора, то стоит рассмотреть несколько случаев в истории.
“Парольные трояны” чрезвычайно популярны в колледжах и университетской среде (где зародилось большинство новых идей по взлому и пранкам). Эти программы могут быть чрезвычайно простыми. Простая картинка логин скрина в качестве обоев, как правило, подталкивает пользователя к вводу своего логина и пароля. На этом компьютере может быть программа, которая записывает эту информацию в файл или даже отправляет ее по определенному почтовому адресу. Большинство этих программ затем сообщают пользователю, что вход в систему был отклонен. Многие понимают, что ошиблись при вводе данных или думают, что это непредвиденная ошибка системы. Даже неоднократные отказы во входе не заставляют пользователей начать сомневаться. Некоторые программы достаточно сложны и могут передавать учетные данные порождённому процессу: мало кто из пользователей понимает, как проверить иерархию процессов.
(Известным, хотя и относительно безобидным пранком на более ранних компьютерах была программа “cookie” (печенька), работающая на компьютерах серии PDP (название серий мини-компьютеров, разработанных Digital Equipment Corporation). Она останавливала любую программу, с которой работала жертва, и отображала сообщение с просьбой дать печеньку. Были неоднократные случаи выявления подобных программ, включая очень подробный отчет о вирусе “Spanish Cookie” (Испанская Печенька), однако автор их никогда не видел. В отсутствии данных я, к сожалению, пришел к выводу, что это еще одна часть компьютерного фольклора, ставшая легендой).
Другой, менее известный пранк тесно связан с текущими вирусами. В дайджесте RISKS-FORUM (6-42) в марте 1988 года (вот он) было подробно рассказано об использовании “интеллектуальных” возможностей терминалов Wyse 75. Это был яркий пример использования периферийных устройств для взлома системы безопасности. Дело в том, что терминал имел функцию, которая позволяла переназначить клавиши терминала с хоста (система, к которой подключен терминал). Другая функция позволяла имитировать нажатие клавиш терминала с хоста. Это позволяло создавать сообщения электронной почты (на самом деле только строку темы), которые переназначали клавишу ответа на сообщение в команду “kill process and logout”, которая выполнялась терминалом. Это пример того, как небольшое исследование функций терминала позволило создать почтовый вирус.
Fred Cohen
Фред Коэн
Ни один исторический обзор вирусов не может быть полным без упоминания работы Fred Cohen.
Привет, Fred.
(Шучу.)
В начале 1980-х годов Fred Cohen провел обширные теоретические исследования, а также организовал и провел многочисленные практические эксперименты, касающиеся вирусов. Его диссертация была представлена в 1986 году для получения докторской степени в области электротехники от University of Southern California (Университета Южной Калифорнии). Это фундаментальная работа, которая рекомендуется к чтению любому студенту, серьезно изучающему вирусы.
(Труды доктора Cohen можно приобрести в: ASP Press, PO Box 81270, Pittsburgh, PA 15217, USA).
Определение, данное доктором Cohen, компьютерному вирусу как “программе, которая может “заразить” другие программы, изменяя их, чтобы они содержали … версию себя” является общепринятым стандартом. Иногда возникают расхождения с этим определением, в случае с вирусами загрузочного сектора или червями по типу Internet/UNIX/Morris. Тем не менее его труд экспериментально продемонстрировал и теоретически доказал многие жизненно важные аспекты.
Я не могу описать в одном абзаце, какую большую работу он провел. На мой взгляд, наиболее важные вопросы, которые были рассмотрены — это масштаб проблемы и несовершенство защиты. Его практическая работа доказала техническую осуществимость вирусной атаки в любой компьютерной системе. (Результат был достигнут в изолированной среде и не мог по своей природе предсказать социальные и психологические факторы, способствовавшие распространению вирусов в реальном мире). Не менее важно и то, что его теоретические исследования доказали, что не существует “универсального” способа обнаружения вирусов. Несмотря на то, что антивирусы обладают аналитическими возможностями, они не могут обеспечить 100% защиту. Без этой ранней работы, вероятно, некоторые труженики на антивирусных виноградниках все еще преследовали бы неуловимый грааль.
Пранки и трояны
Пранки (безобидные программы, созданные с целью розыгрыша жертвы) в значительной степени являются частью компьютерной культуры. Настолько, что теперь можно купить коммерческие наборы пранков, по типу книги “Stupid Mac (or PC) Tricks” (книга) о том, как делать всякие прикольные штуки на своем Маке, к которой прилагались 14 соответствующих программ_). Есть бесчисленные пранки, доступные в виде условно-бесплатных программ. Некоторые нацелены на то, чтобы оскорбить пользователя, некоторые используют звуковые эффекты или голоса, некоторые используют специальные визуальные эффекты. Довольно распространенным направлением пранков была имитация неработоспособности компьютера. Существовало много программ, нацеленных на борьбу с пранками, которые вводили пользователя в заблуждение, сообщая, что обнаружили какую-то неисправность в компьютере (а некоторые даже делали вид, что устраняют такие неисправности, конечно же, на самом деле ухудшая ситуацию). Одна из последних, замеченных нами, была программа PARASCAN - параноидальный сканер. Она имела привычку обнаруживать большое количество очень странных вирусов, ни один из которых, как ни странно, никогда не появлялся в индексе CARO (CARO - организация антивирусных исследователей, изучающая феномен компьютерных вредоносных программ). Кроме временных отклонений сердечного ритма и кровяного давления, пранки не наносят вреда.
Я бы не сказал то же самое о троянах. Я различаю пранки и трояны по намерению причинить вред. Троянский конь был подарком с подвохом, поэтому троян — это, с виду безобидная программа, со скрытым функционалом.
Трояны иногда также называют (сейчас реже, чем в прошлом) программами “аф-аф” (как будто лает собака). Одна из первых была распространена в виде программы, позволяющей включать графику на ранних TTL-мониторах. (Это было настоящим подарком для пользователей, так как такая операция на самом деле была невозможна.) При запуске она выдавала сообщение “Попался. Аф-аф.” и в это время форматировала жесткий диск.
Троянские программы практически полностью распространяются через форумы. Очевидно, вредоносная программа вряд ли будет распространяться там, где можно будет найти распространителя. Существуют также BBS (электронная доска объявлений. Широко используемый в эпоху Веб 1.0 способ общения пользователей компьютеров через коммутируемые телефонные сети.), которые определенно являются тусовками программных пиратов и выступают в качестве точек распространения советов и утилит по взлому систем безопасности. Эти два фактора привели к путанице троянов, вирусов и “системных взломщиков”, которые оказались чрезвычайно устойчивы к удалению. Это также привело к тому, что BBS рассматривались как точки распространения вирусов. (Недавно компьютерный обозреватель нашей локальной газеты, говорил, что не использует антивирус для борьбы с Michelangelo (вирус загрузочного сектора, 1991 года), заявив, что ни одна уважающая себя компания никогда не будет использовать BBS). Это несмотря на то, что наиболее успешные вирусы загрузочного сектора, не могут передаваться через системы BBS, по крайней мере, без участия отправителя и получателя.
Троян “AIDS” (не вирус)
Я закончу вводную историю трояном AIDS Information Disk по двум причинам: 1) во всяком случае, он заслуживает места в истории “вредоносных программ” и 2) он был широко распространен, и неправильно был назван вирусом.
Осенью 1989 года из компании, называвшей себя PC Cyborg, было разослано около 10 000 упаковок с дисками с AIDS Information. Некоторые из них были получены медицинскими учреждениями, некоторые - другими предприятиями. Похоже, что упаковки были профессионально изготовлены. В сопроводительных письмах их обычно называли образцами или рецензионными копиями. Однако в упаковке также содержалось очень интересное “лицензионное соглашение”:
“В случае нарушения лицензии корпорация PC Cyborg оставляет за собой право использовать программные механизмы, обеспечивающие прекращение использования этих программ. Эти программные механизмы отрицательно повлияют на другие программные приложения на микрокомпьютерах. Настоящим вы уведомляетесь о наиболее серьезных последствиях несоблюдения вами условий настоящего лицензионного соглашения”.
Далее в лицензии - предложение: “Внимание: не пользуйтесь этими программами, если вы не готовы за них платить”.
Диски содержали установочную программу и краткую информацию об AIDS. На первый взгляд, инсталлятор предназначался только для переноса программы на диск, но в действительности делал гораздо больше. Создавался скрытый каталог и файл с программой, с именами, содержащими непечатаемые символы. Файл AUTOEXEC.BAT был переименован и заменен на тот, который запускал программу в скрытом файле, а затем оригинальный AUTOEXEC. Скрытая программа отслеживала количество перезагрузок компьютер, и, после определенного количества, шифровала жесткий диск. Затем пользователю показывался счет, и требование оплатить лицензионный сбор в обмен на ключ шифрования. Было обнаружено, что были распространены две основные “версии”. Первая, которая ждала 90 перезагрузок, считалась “настоящей”, а более ранняя версия, шифрующая после одной перезагрузки, предупреждала правоохранительные органы и считалась ошибкой со стороны руководителей PC Cyborg.
Панамский адрес PC Cyborg, считавшийся фейком, оказался настоящей компанией. Были выявлены четыре руководителя, а также американский исполнитель, который, похоже, планировал отправить 200 000 копий в американские фирмы, если бы европейский “тест” сработал. Судебный процесс над американцем был приостановлен, так как он был признан “невменяемым”.
Вирус Apple 1, 2 и 3
Самый ранний случай вируса, который преуспел в реальном мире (in the wild), произошел в конце 1981 года, еще до работы Fred Cohen. Справедливости ради надо сказать, что многие заметили его спустя долгое время. Для тех кто не любит флейм, скажу что автора вируса я не раскрою, а те, кто отслеживал историю вирусов, будут знать, кого я называю Джо :-).
Идея была обусловлена предположениями относительно “эволюции” и “естественного отбора” в среде пиратских копий игр Texas A&M: “воспроизведение” популярных игр и “вымирание” неизвестных игр. Это привело к размышлениям о программах, которые воспроизводили сами себя. (Я не вижу причин сомневаться в утверждении автора об отсутствии злого умысла: это был, в конце концов, первый известный нам случай. Действительно, Джо утверждал, что вирус должен быть относительно “безобидным”, чтобы выжить).
Компьютерные дискеты Apple II того времени, при их стандартном форматировании, всегда содержали дисковую операционную систему. Джо пытался найти минимальное изменение, которое сделало бы версию DOS вирусной, а затем попытался создать “оптимальную” вирусную DOS. Злоумышленники придумали версию 1 такого вируса в начале 1982 года, но он был выявлен, так как совершал много разрушительных действий. Версия 2, казалось, не имела столь негативного влияния, и ей было разрешено “распространяться” через диски членов группы.
В конце концов, осторожностью пренебрегли и вирус сбежал к пользователям Apple. Только тогда было выявлено негативное влияние вируса: увеличенная длина кода привела к тому, что некоторые программы, и, в частности, одна компьютерная игра, завершались с ошибкой. Была написана третья версия, которая приложила максимум усилий, чтобы избежать проблем с памятью: части кода содержали байты, которые являлись и данными, и опкодами. Впоследствии было обнаружено, что версия 3 распространилась на диски, которые ранее считались незараженными, но о каком-либо ущербе никогда не сообщалось.
(Для тех, у кого есть диски Apple DOS 3.3, перед адресом B6E8 в памяти, в конце дорожки 0, сектор 0 на диске, должно быть 18 нулевых байтов. Если вместо этого там текст “(GEN xxxxxxx TAMU)”, то цифры (вместо “x”) это поколение вируса версии 3).
История имеет интересную концовку. В 1984 году было обнаружено, что некий вредоносный вирус распространялся по школам. Некоторые диски, как оказалось, имели иммунитет. Эти диски содержали версию 3 Apple вируса (то есть, один вирус, предотвращал заражение другим вирусом).
Вирус “Lehigh”
Осень 1987 года, похоже, действительно поспособствовала исследованию вирусов. Первое, что подогрело интерес, было сообщение, отправленное неким “LUKEN” из Lehigh University (Лихайский университет (англ. Lehigh University) — частный исследовательский университет, расположенный в Бетлехеме, штат Пенсильвания.). Несмотря на весь ущерб, нанесенный вирусом Lehigh, мы должны, по крайней мере, быть благодарны, что он принес нам нашего Peerless Leader (aka krvw).
Peerless Leader - так называли знаменитого бейсболиста Фрэнка Чэнса из-за его лидерских качеств
Не все студенты разбираются в хакерстве, не все студенты даже полуграмотные в компьютерной области. Студенческим консультантам (в США так называют людей, которые помогают студентам в выборе предметов, классов и построении плана на обучение) в университетах и колледжах были предоставлены диски, с которых “таинственно” исчезали файлы. Однако в ноябре 1987 года выяснилось, что выход из строя дисков произошел не по вине пользователей.
Вирус Lehigh перезаписывал конец файла COMMAND.COM (интерпретатор командной строки в операционных системах DOS, OS/2, семейства Windows 9x и ряда других). (В ранних сообщениях говорилось об отсутствии увеличения размера файла: позднее исследования показали увеличение размера зараженных файлов на 555 байт). При запуске зараженного COMMAND.COM (обычно при загрузке с “зараженного диска”) вирус оставался в памяти. При любом доступе к другому диску через команды TYPE, COPY, DIR или другие обычные команды DOS любые (и только они) незараженные файлы COMMAND.COM заражались. Ввелся счет и после четырех заражений вирус перезаписывал загрузочные и FAT разделы дисков содержимым BIOS.
Преимуществом вируса было то, что в, то время его никто не искал. Дата заражения файлов COMMAND.COM была изменена вирусом, и при попытке заражения на защищенном от записи диске, вирус не вызывал ошибку “WRITE PROTECT ERROR” (возникает даже если вы просто выполнили команду DIR).
“Целевой аудиторией” вируса были диски, которые имели файл COMMAND.COM, и, в частности, те, которые содержали полную операционную систему. Правда, в те прекрасные дни все больше пользователей держали на своих дисках копии операционной системы. Однако вирус также ограничивал себя в том смысле, что после активации он уничтожал себя и активировался только после четырех “воспроизведений”. Насколько нам известно, вирус Lehigh никогда не распространялся за пределы кампуса во время этой первоначальной атаки. (Однако он находится в ряде частных коллекций вирусов и время от времени может появляться в реальном мире. Как уже отмечалось, сегодня у него мало шансов распространиться).
Вирус “Jerusalem” - часть 1
Jerusalem - Иерусалим
В мире MS-DOS вирус Stoned (вирус 1987 года, для загрузочного сектора) в настоящее время является лидером по количеству заражений. (Вирусы загрузочного сектора, похоже, имеют успех среди пользователей микрокомпьютеров). Однако среди вирусов, заражающих файлы, явным победителем является Jerusalem. Он достаточно знаменит и почти наверняка имеет наибольшее количество вариаций из всех известных на сегодняшний день вирусов.
Образец вируса, первоначально известного как “израильский” вирус, о которой сообщил Y. Radai в начале 1988 года (другое название - “1813” или Jerusalem-B), как правило, рассматривается как “центральный” в этом семействе. Несмотря на то, что он был первым, кто получил очень широкое распространение и был первым обнаруженным и публично представленным, его анализ показал, что вирус является результатом предыдущих экспериментов. Несмотря на то, что это был один из старейших вирусов, семейство Jerusalem все еще не поддается описанию, в первую очередь потому, что количество разновидностей не позволяет сделать однозначных выводов. “Jerusalem”, который у вас есть, может не быть тем же самым, что “Jerusalem” вашего соседа.
Несколько вещей являются общими практически для всего семейства Jerusalem — это файлы, или программы, обычно добавляющиеся в COM/EXE. Когда запускается зараженный файл, вирус закрепляется в памяти и остается активным даже после завершения зараженной программы. Программы в памяти заражаются добавлением вирусного кода в конец файла, и кода с перенаправлением выполнения в начале. Большинство образцов содержат что-то вроде логической бомбы с таймером, настроенного на пятницу 13. Иногда, это просто сообщение, но чаще происходит удаление запущенных программ.
David Chess отметил удивительный факт - несмотря на большое количество багов в вирусе, он очень хорошо распространился. Jerusalem был нацелен на работу с COM файлами, и сложная структура EXE файлов была препятствием. Оригинальный Jerusalem не обходился одним заражением, он реинфицировал EXE файлы снова и снова, что приводило к увеличению размера. (Это делало бессмысленным код программистов, который полагался на дату создания файла.) Также, программы-загрузчики, заражались в “неподходящих” местах, и перезаписывались лишь частично.
Вирус “Jerusalem” - часть 2
История вируса Jerusalem также запутана, как и его функциональность и принадлежность к какому-либо типу. Само по себе название - очень странная история. Как говорилось ранее, изначально он назывался “израильский” вирус. Хотя многие считали это название не совсем корректным, он был обнаружен и описан в Израиле. (Хотя вирус и замедлял работу зараженных систем, постоянное увеличение размера EXE-файлов привело к его обнаружению.) В попытке избежать антисемитизма, его называли 1813 - количество байт, которые добавлялись при заражении. Для COM файлов. Для EXE файлов это составляло 1808 байт. Иногда. Это тяжело было определить, из-за требований к заголовку EXE файла, который должен быть выравнен на 16 байт. (Всё ясно?)
Один из ранних фактов заражения был зафиксирован в офисе Israeli Defence Forces (Армии обороны Израиля). О нем было рассказано в статье Associated Press (одно из крупнейших международных агентств информации и новостей). Это дало ему еще одно прозвище - I.D.F.
Когда вирус был впервые обнаружен, было стойкое ощущение того, что он действовал только до ноября 1987 года. Несмотря на функционал вируса по удалению файлов каждую пятницу 13 числа, удаление не произошло в пятницу 13 ноября 1987 года. (Последующий анализ выявил, что вирус работал, только если год не был равен 1987). Следующая пятница 13 была в мае 1988 года. Так как последний день существования Палестины, как нации, был 13 мая 1948 года, это было похоже на акт политического терроризма. Так появилось новое прозвище - вирус PLO. (Тот факт, что Израиль празднует свои праздники по еврейскому календарю, а также то, что празднование независимости было запланировано за три недели до 13 мая 1988 года, не принимается во внимание. Внутренняя структура вируса и существование вируса sURIV (самый старый наследник Jerusalem), похоже, указывают на то, что политические мотивы — это просто совпадение).
Еще одно прозвище “sUMsDos”, взято из кода вируса. Оно было случайно редуцированно до “sumDOS”.
Название “Jerusalem” завоевало популярность, возможно благодаря обнаружению от McAfee SCAN. (Он однозначно ответственен за маркировку “B” оригинальной версии.) Большое количество вариаций вируса вносило путаницу. Каждая модификация базировалась на коде друг друга, сигнатуры различных образцов часто совпадали, что породило неразбериху с именованием. Такая ситуация не уникальна для семейства Jerusalem и является постоянной головной болью сообщества исследователей.
Вирус “Jerusalem” - часть 3
Хотя трудно быть абсолютно уверенным в заявлениях о происхождении и принадлежности к семействам, почти наверняка, Jerusalem является комбинацией двух вирусов. Среди “семейства” Jerusalem есть вариации вируса “sURIV” (названного по строке из кода.) Достаточно просто увидеть откуда появились вирусы версии 1, 2 и 3. sURIV 1.01 заражает COM файлы, COM имеет простейшую структуру и поэтому его легко заразить. sURIV 2 заражает только EXE, и гораздо более сложен. sURIV 3 заражает оба формата и по сути является комбинацией кода первых версий.
(Хотя код sURIV и версии “1813” Jerusalem не идентичны, они имеют одинаковый функционал. Дата создания полезной нагрузки в образцах sURIV - 1 апреля. В некоторых также стоит условие, при котором вирус должен работать до 1988 года.)
Возможно, это объясняет “популярность” вируса Jerusalem как шаблона для других вредоносных программ. Код достаточно понятен и для тех, кто знаком с языком ассемблера является примером написания вирусов, заражающих COM и EXE файлы. (Не стоит забывать, что Jerusalem появился рано и был успешен. Существует множество копий, и возможно именно доступность породила подражателей. Его “ценность” как учебного пособия может быть просто досадным совпадением.)
Конечно, не каждый вирусописатель, использовавший Jerusalem в качестве шаблона, имел такой же хороший вкус и воображение. Не все из них даже исправили очевидные недостатки оригинала. Вирусы-подражатели получались довольно примитивными: есть несколько программ “Четверг 12”, “Суббота 14” и “Воскресенье 15”. (Некоторые авторы вируса “copy cat” добавили свои собственные ошибки. Один из вирусов “Воскресенье” удалял файлы в “седьмой” день недели. К сожалению, а может быть, и к счастью для пользовательского сообщества, никто не удосужился сказать автору, что в компьютерном мире отсчет идет с нуля, а воскресенье на самом деле является “нулевым” днем недели. Таким образом удаление файлов не происходило).
(c) Brain - часть 1
Вирус “Brain” (мозг), вероятно, самый ранний вирус MS-DOS. В свое время он был самым распространенным из всех вирусов для ПК. (В те времена было “превосходство” вирусов загрузочного сектора по количеству заражений). Было проведено обширное исследование семейства вирусов Brain, и желающие получить более подробную информацию должны ознакомиться с результатами анализа Alan Solomon (которые, к сожалению, слишком подробны для использования антивирусами). Несмотря на это, и несмотря на наличие информации об адресе и номере телефона предполагаемого автора, у нас до сих пор нет информации из первых, вторых и даже третьих рук о создании вируса, и поэтому мало что можно сказать с абсолютной уверенностью. (У нас есть отчет из первых рук автора схожего вируса - Den Zuk, за что я благодарен Fridrik Skulason).
Семейство вирусов Brain достаточно распространено, хотя и меньше, чем Jerusalem. (Похоже, что любой “успешный” вирус порождает кучу копий, так как подражатели-вирусописатели используют его в качестве шаблона). Версия “ashar” кажется несколько менее сложной, чем самая распространенная версия Brain, а Brain содержит строки, которые не имеют смысла, без их версии в “ashar”. Brain содержит информацию, по которой можно судить о его хронологии: копирайт 1986 года и версия 9.0.
Brain был вирусом загрузочного сектор дольше, чем некоторые из последних BSI (boot sector infector). Brain сам занимает три сектора и, как представитель BSI, переносит данные из стандартного загрузочного сектора на другой адрес, чтобы самому запустится во время загрузки. Поскольку загрузочный сектор — это только один сектор, Brain, заразив диск, резервирует два дополнительных сектора на диске для оставшейся части себя, плюс третий - для исходного загрузочного сектора. Это делается путем заполнения неиспользованного места на дискете, а затем пометки этих секторов как “плохих”, чтобы они не использовались и не перезаписывались. Оригинальный Brain относительно безвреден. Он не заражает ни жесткие диски, ни диски с форматами, отличными от 360К. (Другие вариации вируса менее осторожны и могут перезаписывать FAT и области данных).
Brain хитрый и наглый вирус. Это, по сути, первый “скрытый” вирус, в котором запрос на просмотр загрузочного сектора зараженного диска, на зараженной системе приведет к отображению исходного загрузочного сектора. С другой стороны, Brain не упускает возможности прославиться и поэтому метка тома инфицированных дискет становится “(c) Brain” (или “(c) ashar” или “Y.C.1.E.R.P”). Отсюда и название вируса.
(c) Brain - часть 2
Кто создал вирус Brain?
Ну, на самом деле все довольно просто. В одной из наиболее распространенных версий Brain вы найдете текст, незашифрованный, с указанием имени, адреса и номера телефона “Brain Computer Services” в Пакистане. Авторские права на вирус принадлежат “ashar and ashars”, так что мы имеем двух братьев управляющих компьютерным магазином, которые написали вирус. Просто, правда?
(Простота ответов может быть обманчива.)
Прежде всего, анализ и утверждение Alan Solomon о том, что ashar старше Brain достаточно убедительны. Также, в наиболее распространенном варианте Brain, отсутствует адрес. Далее, было бы очень просто добавить адрес в ashar или Brain.
Какой мотив был у владельцев Brain Computer Services для написания вируса? Поговаривают, что они продают пиратские программы - практика, которая легальна в Пакистане, но не в США. Поэтому зараженные диски были проданы американцам в наказание за использование пиратского программного обеспечения. Звучит неубедительно. Brain не ставил целью “наказать” Соединенные Штаты (их основной источник программного обеспечения), и заражение Brain не ограничивается западным миром.
По другим слухам - владельцы Brain писали свои собственные программы, и были недовольны тем, что другие их пиратили. Вряд ли. В этом случае зараженные диски продавались бы самой Brain Computer Services, а это означает, что покупатель получил бы “чистую” копию. (Гипотеза, что история Brain связана с авторским правом абсурдна: тогда вирус обошел бы стороной легальные диски).
Учитывая, что Brain относительно безвреден, вполне возможно, что вирус рассматривался как реклама компании. Надо понимать, что это самый ранний известный вирус MS-DOS, и что ожесточенное отношение к вирусам еще не возникло. Brain был предшественником и Lehigh, и Jerusalem, но даже когда время этих “разрушительных” вирусов прошло, его все еще считали нейтральным и даже полезным. В те ранние, наивные времена, вполне вероятно автор вируса воспринял милым тот факт, что само распространяющаяся программа “съела” 3 киллобайта дискового пространства.
(с) Brain - часть 3
Я упомянул анализ семейства Brain от Alan Solomon, учитывая дату версии “ashar”. Fridrik Skulason провел аналогичный анализ версий Ohio и Den Zuk, что доказывает 100% корректность вывода.
Ohio и Den Zuk содержат код, идентифицирующий Brain, и поэтому не могут быть “заражены” им. Вдобавок, Ohio и Den Zuk могут определить инфицированные вирусом Brain файлы и заразить их собой. Таким образом, можно сказать, что Ohio и Den Zuk являются агентами, действующими против вируса Brain (не слишком радостная новость, так как теперь вы будете заражены ими). Frisk также обнаружил, что версия Den Zuk преимущественно перезаписывает Ohio. (Эта избирательность привела к появлению одного из псевдонимов Den Zuk: “Search”. Также предполагалось, что “denzuko” означает “поиск”. Оказалось, что это не так.)
_Для некоторых название “Den Zuk” или “Den Zuko” выглядело как “Поиск” на каком-то языке германской группы. Был предложен голландский, в качестве варианта, но голландское слово для “поиска” - “de zoektocht”, а самое близкое к Den Zuk на голландском языке - “de zoek”, что означает “отсутствующий”. Некоторые исследователи продолжали использовать название Search даже после того, как текст DENZUKO, содержащийся в одной из версий вируса, оказался укороченной формой имени создателя “Denny Zuko”. _
Текст в обоих образцах вируса говорит об одном авторе. Ohio содержит адрес в Индонезии и оба содержат номер лицензии радиолюбителя, выпущенной тоже в Индонезии. Оба содержат идентичный баг, который перезаписывает FAT и области данных на всех дисках, кроме дисков формата 360K. Den Zuk программно более сложен. В итоге Frisk пришел к выводу, что Ohio на самом деле был более ранней версией Den Zuk.
Это было доказано в сообщении автора. Оказалось, что автор был студентом колледжа в Индонезии, который и по сей день не видит ничего плохого в том, что он сделал. (Напротив, он невероятно гордится этим и несколько раздражен тем, что его раннее творение “неправильно” называют Ohio: его там никогда не было. Имя Ohio было дано McAfee в связи с местом обнаружения вируса: Ohio State University.) Den Zuko - его прозвище, производное от персонажа Джона Траволты в фильме “Grease”.
Полная информация об анализе Fridrik и его контактах с автором доступна в статье Fridrik в Virus Bulletin (УРА! я нашел ее).
(с) Brain - часть 4
Технически, семейство Brain, хоть и старое, имеет ряд интересных моментов.
Brain сам по себе является первым известным вирусом MS-DOS, кроме тех, которые написаны Fred Cohen для своей диссертации. В отличие от них, Brain заражает загрузочные сектора. Интересно, что более ранние вирусы не оказали на него никакого влияния, в том числе вирусы для Apple II, которые были “системные”.
Brain - первый пример использования технологии сокрытия вируса. Возможно, не такой стойкой, как более поздние программы, но все равно впечатляющей. Перехват и перенаправление системных прерываний должны были быть ограничены, чтобы вирус мог сам определить, была ли заражена цель или нет.
Версии Den Zuk и Ohio имеют технологию перехвата нажатий, которая может использоваться для выживания после перезагрузки. Хоть они и не выживают после нее, тот факт, что перехватывается последовательность клавиш , и идет подмена кода перезагрузки доказывает это. Вирус можно заставить выжить и "подделать" перезагрузку. (Восстановление системы, скорее всего, потребует много программирования и кода. Об этом уже говорилось ранее, и "режим восстановления" Windows 3.1, вероятно, это доказывает).
Den Zuk и Ohio также являются “охотниками за вирусами”. Эта особенность уже давно обсуждается, и приведенные примеры доказывают, что это возможно. Они также указывают на то, что Den Zuk и Ohio гораздо опаснее, чем Brain. Анализ от Solomon и Skulason хорошо демонстрируют “мутацию” вируса у одного или разных авторов. Эволюция сложности кода, сомнение в изменении длины текстовых строк даже во время их замены, а также сохранение и добавление багов образуют интересный шаблон, которому следуют.
Вирус MacMag - часть 1
7 февраля 1988 года пользователи Compuserve’s Hypercard Forum (Compuserve Forum - коммерческая BBS, HyperCard - визуальная среда программирования для Mac OS) столкнулись с интригующим сообщением. Им сообщили, что файл NEWAPP.STK (файл, для работы HyberCard), размещенные на форуме является опасным. В сообщении говорилось, что если они загрузили этот файл, то не должны его использовать. Если они использовали его, они должны изолировать систему, в которой он был запущен.
Сама история на форуме Compuserve началась днем раньше. Пользователь скачал тот же самый файл для Hypercard с системы Genie и заметил, что при его использовании, в системной папке появился ресурс INIT. (В мире компьютеров Mac это обычно означает, что программа выполняется при запуске. Многие из этих программ являются “фоновыми” утилитами, которые остаются активными в течение сеанса). (Подробнее можете прочитать тут). Пользователь, заметив, что этот же файл был размещен в Compuserve, запостил предупреждение о том, что этому файлу нельзя доверять.
Модератор форума изначально недооценил значимость сообщения. Он заявил, что опасности нет, так как файлы Hypercard - это файлы данных, а не программы (то есть неисполняемые файлы). К счастью, модератор все-таки проверил сообщение и обнаружил, что все произошло так, как сказал пользователь. Более того, ресурс INIT был “вирусным”: он распространился на другие “системы”, с которыми соприкасался. (В то время “системные” диски были более распространены среди пользователей Mac, а “загрузочные” диски - среди пользователей MS-DOS). Модератор принес извинения, разместил предупреждение, и несколько человек начали изучать структуру вируса.
Вирус, судя по всему, был безобидным. Он продолжал размножаться до 2 марта 1988 года. Когда один из зараженных компьютер был включен в этот день, вирус активировал сообщение о том, что “RICHARD BRANDOW, издатель MacMag, и все его сотрудники хотели бы воспользоваться этой возможностью, чтобы донести свой ПРИЗЫВ К МИРУ до всех пользователей Macintosh”. Хоть это и было мило, но метод распространения этого сообщения, вряд ли будет способствовать “мирному” ощущению среди целевой аудитории. К счастью, послание появилось 3 марта и вирус само уничтожился.
Вирус MacMag - авторство
Richard Brandow был издателем и редактором компьютерного журнала MacMag. Из Монреаля, по имеющимся на тот момент сведениям, тираж журнала составлял около 40 000 экземпляров. Совместно с журналом была также запущена электронная доска объявлений.
Brandow в какой-то момент сказал, что он думал о “послании” в течение двух лет, прежде чем выпустить его. (Интересно, учитывая тот факт, что дата, выбранная в качестве “триггера”, 2 марта 1988 г., была первой годовщиной введения в эксплутацию линейки Macintosh II. Интересно также, что “ошибка” в вирусе, вызвавшая сбои в работе системы, затронула только Mac II). Brandow не скрывал своего авторства перед пострадавшими от вируса пользователями. В действительности, он заявлял это с гордостью несмотря на то, что вирус написал не он. (Brandow задействовал другого человека, а внутренняя структура вируса содержит имя “Drew Davidson”).
Brandow в разное время озвучивал разные причины для написания вируса. Однажды он заявил, что хочет сделать заявление о пиратстве и копировании компьютерных программ. (Как было заявлено ранее в связи с вирусом Brain, вирус имеет мало общего с пиратством как таковым, так как распостраняется сам по себе). Однако чаще всего он просто заявлял, что вирус — это “послание”, и, похоже, подразумевал, что он каким-то образом будет способствовать миру во всем мире. Когда те, кто обнаружил и исследовал вирус, оспаривали его миролюбивость, Brandow как правило, отступал от довольно иррациональных аргументов, касающихся чрезмерного уровня владения оружия в Соединенных Штатах. (Мои извинения от имени моих соотечественников. Хотя немногие из нас любят оружие, не многие из нас демонстрируют такой уровень нелогичности).
(Интересно, что в следствии деятельности группы “Dutch Crackers”, компьютерного клуба “Chaos” и болгарской “virus factory” Brandow, по-видимому, чувствовал, что у него есть большая поддержка со стороны тех, кто встречал этот вирус в Европе. Уровень социальной приемлемости взлома и написания вирусов показывает устрашающую культурную разницу между европейскими государствами и Соединенными Штатами).
Я подозреваю, что вирус MacMag был написан в первую очередь с целью пиара. Несмотря на то, что он провалился почти сразу же, Richard Brandow успел использовать его на все сто, для своей дурной славы. Некоторое время, он был “компьютерным комментатором” для национальной радиопередачи CBC “Morningside” (что-то вроде учреждения в Канаде.) Хотя я никогда не слышал о MacMag до появления вируса, я никогда не видел подражателей с тех пор, тоже. Согласно последним новостям, Richard Brandow теперь пишет для “Звездного Пути”.
Вирус MacMag - Распространение
Brandow утверждает, что заразил два компьютера в офисе MacMag в декабре 1987 года. Не исключено, что несколько намеренно инфицированных дисков также были распространены.
Ресурс (названый DREW в Hypercard и DR в вирусном виде) был скопирован в папку System на Mac-системах. Папка System, как следует из названия, является хранилищем файлов операционной системы. Благодаря ресурсной структуре Mac OS, операционная система может быть сконфигурирована и настроена путем помещения ресурсов в папку System. (Пользователи MS-DOS, уставшие возиться с записями в CONFIG.SYS, конфликтующими TSR и т.п., могут быть спокойны — это работает не так просто, как кажется).
“Загрузочные” диски Mac содержат системную папку так же, как “загрузочные” диски MS-DOS содержат “скрытые” системные файлы и COMMAND.COM. В те времена “системные” диски были гораздо более распространены, чем сейчас. Кроме того, пользователи Mac часто создавали “системные” диски, которые имели специальные конфигурации. (Я хорошо помню, в то время было несколько программ Macintosh, которые работали только с одной конкретной версией Finder. Это вынуждало пользователей “занижать” версию компьютера, для запуска этих программ). Mac OS “открывает” каждый диск, вставленный в компьютер. Таким образом, на зараженной машине любая вставленная дискета, получала вирус MacMag в системную папку.
Вирусный ресурс MacMag копировался в папку как “INIT”. Это означало, что она будет считаться одной из программ, автоматически запускаемых при старте системы. Многие, если не большинство, INIT файлов являются фоновыми или резидентными программами, которые либо отслеживают, либо поддерживают различные функции на постоянной основе. Поэтому это была идеальная позиция для вируса. Он мог искать, на постоянной основе, новые возможности распространения.
Вирус MacMag не был сложен в плане кода. Как один из самых ранних (одно из (редко используемых) названий для него было “Macinvirus”) вирусов для Mac, он и не должен был быть. (Некоторые скажут, что вирус для Mac в любом случае не должен быть сложным. Хотя в мире Mac гораздо меньше вирусов, чем в мире MS-DOS, уровень заражения данного вируса намного выше среди Mac). В вирусе MacMag нет особой тайны. Любой, кто искал, мог ее найти. Однако, немногие делали это.
Вверх