Рстория возникновения компьютерных РІРёСЂСѓСЃРѕРІ
Что такое вирус
Разновидности компьютерных вирусов
Вирусные мистификации
Что за зверь – троянский конь?
Новаторские подходы хакеров – руткиты (rootkits)
Уязвимости программ и хакерские технологии
1.1. Рстория возникновения компьютерных РІРёСЂСѓСЃРѕРІ
Если бы разработчики первых компьютеров, сетей и сетевых протоколов могли заглянуть в будущее, то, вполне вероятно, проблем с защищенностью информации сегодня было бы меньше. Первоначально компьютеры занимали целые здания, стоили дорого и были доступны только крупным государственным и частным компаниям. Со временем возникла необходимость обмениваться информацией – так появились первые сети. В то время компьютеры были закрытыми системами и управлялись серьезными, увлеченными своим делом людьми в белых халатах, поэтому тогда никто не помышлял о хулиганстве и разрушениях.
Рљ сожалению, история умалчивает Рѕ РјРЅРѕРіРёС… фактах, связанных СЃ зарождением компьютерного вредительства, РЅРѕ РєРѕРµ-что РІСЃРµ-таки дошло РґРѕ наших дней. Декабрь 1949 РіРѕРґР° можно считать началом возникновения компьютерных РІРёСЂСѓСЃРѕРІ. Рменно тогда РІ Рлинойсском университете Джон фон Нейман читал серию лекций «Теория Рё организация сложных автоматов», которая Рё легла РІ РѕСЃРЅРѕРІСѓ теории самовоспроизводящихся автоматов. Однако это была теория. Первым действующим РІРёСЂСѓСЃРѕРј можно назвать РёРіСЂСѓ Darwin (http://www.cs.dartmouth.edu/~doug/darwin.pdf ), которую изобрели РІ 1961 РіРѕРґСѓ сотрудники компании Bell Telephone Laboratories Р’. Рђ. Высотский, РҐ. Р”. Макилрой Рё Р . РњРѕСЂСЂРёСЃ.
Программы, написанные на ассемблере (языков высокого уровня еще не было) и называемые «организмами», загружались в память компьютера и сражались за ресурсы. Они захватывали жизненное пространство, пытаясь уничтожить противника. За этим процессом наблюдало приложение-«судья», определявшее правила и порядок борьбы соперников. Программист, разработка которого захватывала всю память компьютера, побеждал. Все это было не более чем экспериментом: участников интересовал сам процесс.
Следующий этап – самоперемещающаяся программа Creeper, созданная в начале 1970-х годов сотрудником компании BBN Бобом Томасом для подсистемы RSEXEC с целью продемонстрировать возможность самопроизвольного перемещения программ между компьютерами. Creeper не приносил вреда: предыдущая копия уничтожалась, а вирус перемещался на следующий компьютер.
В это время была разработана еще одна программа – Reaper, которую можно считать первым антивирусом. Перемещаясь по сети, Reaper отыскивал действующие копии Creeper и прекращал их работу.
В 1970 году произошло еще одно знаковое событие. В мае в журнале Venture был опубликован фантастический рассказ Грегори Бенфорда, в котором было приведено одно из первых описаний вирусных и антивирусных программ – Virus и Vaccine. Через два года в фантастическом романе «Когда Харли был год» Дэвида Герролда были описаны программы, захватывающие системы подобно червям. Сам термин «червь» был впервые использован в романе Джона Браннера «На шоковой волне», опубликованном в 1975 году.
Термин «компьютерный вирус» был впервые использован в 1973 году в фантастическом фильме Westworld. Данное словосочетание употреблялось в значении, привычном для современного человека, – «вредоносная программа, внедрившаяся в компьютерную систему».
Наконец, 20 апреля 1977 года был выпущен компьютер, предназначенный для массового использования. Условия для реализации самовоспроизводящихся программ заметно улучшились.
В 1980-х годах компьютеры значительно подешевели и их количество увеличилось. Кроме того, машины стали более производительными, а энтузиастов, получивших к ним доступ, стало намного больше.
Неудивительно, что это десятилетие стало более богатым на события в компьютерном мире. Были проведены эксперименты по созданию самовоспроизводящихся программ и программ-червей; появились программы Elk Cloner и Virus, которые считаются первыми компьютерными вирусами. Если раньше экспериментальные образцы никогда не покидали компьютеры, на которых они запускались, то новые программы были обнаружены «на свободе» – на компьютерах вне лаборатории.
Дальнейшее развитие событий напоминало лавину. Р’ 1987 РіРѕРґСѓ появился первый РІРёСЂСѓСЃ, заражающий IBM PC-совместимые компьютеры РїРѕРґ управлением MS-DOS, – Brain. Ртот РІРёСЂСѓСЃ был достаточно безвредным: его действие заключалось РІ изменении метки РЅР° дискетах РІ 360 Кбайт. Brain был написан РґРІСѓРјСЏ пакистанскими программистами, владельцами компании Brain Computer Services (отсюда Рё название РІРёСЂСѓСЃР°), исключительно РІ рекламных целях, РЅРѕ РЅР° его РѕСЃРЅРѕРІРµ были созданы менее миролюбивые РѕСЃРѕР±Рё. Р’ том же 1987 РіРѕРґСѓ появился Jerusalem («иерусалимский РІРёСЂСѓСЃВ»), запрограммированный РЅР° удаление зараженных файлов РїРѕ пятницам 13-РіРѕ. Первые его версии содержали ошибку, благодаря которой РѕРЅ повторно действовал РЅР° уже зараженные файлы. Р’ последующих версиях ошибка была исправлена.
Хотя Рє тому времени уже появились материалы, посвященные безопасности информации, РІСЃРµ это воспринималось РЅРµ более чем игрушкой, экспериментом. Прозрение наступило неожиданно, РєРѕРіРґР° эта «игрушка» перестала повиноваться Рё повела себя как разумный организм, заражающий РІСЃРµ РЅР° своем пути. Рто произошло 2 РЅРѕСЏР±СЂСЏ 1988 РіРѕРґР°, РєРѕРіРґР° студент Корнельского университета Роберт РњРѕСЂСЂРёСЃ-младший запустил программу-червь, которая сохранилась РІ истории РїРѕРґ именем своего разработчика. Червь РњРѕСЂСЂРёСЃР° стал первым сетевым червем, успешно распространившимся «на свободе», Рё РѕРґРЅРѕР№ РёР· первых известных программ, эксплуатирующих такую уязвимость, как переполнение буфера.
За каких-то полтора часа вредителю удалось заразить около 6 тыс. машин. Произошедшее повергло общественность в шок: вирусы гуляли по Сети и ранее, но заразить каждый десятый компьютер до сих пор не удавалось никому. Срочно были пересмотрены требования к безопасности систем и созданы институты вроде CERT (Computer Emergency Response Team – команда по ответам на непредвиденные компьютерные ситуации), которые стали заниматься безопасностью компьютеров и давать рекомендации по устранению вирусов.
Компьютеры становились все доступнее. Со временем большинство платформ и операционных систем унифицировалось, на рынке стали преобладать Intel-совместимые компьютеры, которые работали под управлением операционной системы, разработанной компанией Microsoft. Дальнейшие события развивались с огромной скоростью. В 1991 году появился полиморфный вирус, видоизменявший свое тело. Операционная система Windows 95 была практически готова, и ее beta-версию разослали 160 тестерам. Все диски оказались зараженными загрузочным вирусом Form, и только один тестер не поленился проверить диск антивирусом. В пресс-релизе, посвященном выходу принципиально новой операционной системы, было сказано, что она полностью защищена от вирусов всех типов. Через несколько месяцев эти заявления были разнесены в пух и прах неожиданным подарком – первым макровирусом, представлявшим собой не привычный исполняемый файл, а сценарий, который заражал документы Microsoft Word. В течение месяца макровирус Сoncept облетел вокруг земного шара, внедрился в компьютеры пользователей Microsoft Word и парализовал работу десятков компаний по всему миру.
Примечание
На сегодняшний момент известно около 100 модификаций вируса Сoncept.
В январе 1996 года появился первый вирус для операционной системы Windows 95 – Win95.Boza, а резидентный вирус Win95.Punch, появившийся позже, окончательно подорвал доверие пользователей к Windows 95. В марте этого же года началась первая эпидемия вируса Win.Tentacle, написанного для Windows 3.0/3.1. Он заразил компьютерную сеть в нескольких учреждениях Франции. До этого все Windows-вирусы хранились только в коллекциях и электронных журналах вирусописателей, на свободе гуляли лишь написанные для MS-DOS загрузочные и макровирусы. В этом же году был пойман макровирус Laroux, написанный для Microsoft Excel.
Р’ 1997 РіРѕРґСѓ РЅР° свет появились новые РІРёРґС‹ РІРёСЂСѓСЃРѕРІ – FTP– Рё mIRC-черви, РІ РёСЋРЅРµ 1998 РіРѕРґР° – РІРёСЂСѓСЃ Win95.CIH. Ртот РІРёСЂСѓСЃ активизировался 26 апреля (впервые – РІ 1999 РіРѕРґСѓ) Рё уничтожал информацию РЅР° жестком РґРёСЃРєРµ, записывая РЅР° него РјСѓСЃРѕСЂ. РљСЂРѕРјРµ того, РѕРЅ перезаписывал Flash BIOS, если переключатель находился РІ положении, разрешающем запись, Рё выводил РёР· строя материнскую плату.
Примечание
Рпидемия РІРёСЂСѓСЃР° Win95.CIH, также известного как «Чернобыль» Рё поразившего компьютеры 26 апреля 1999 РіРѕРґР°, была РЅР° тот момент самой разрушительной.
Червь I love you, выпущенный РЅР° Филиппинах РІ мае 2000 РіРѕРґР°, нанес владельцам компьютеров ущерб РЅР° СЃСѓРјРјСѓ, РїРѕ некоторым оценкам превышающую $10 млрд. Следующий червь, вошедший РІ историю как Code Red, Р·Р° 14 часов сумел заразить более 300 тыс. компьютеров, подключенных Рє Рнтернету. После РЅРёС… были Рё РґСЂСѓРіРёРµ, часто – первые РІ определенной категории. Например, Nimda (слово admin, прочитанное наоборот), многовекторный червь, распространялся сразу несколькими способами, включая «черные ходы», оставленные РґСЂСѓРіРёРјРё червями. MyDoom был признан самым быстрым червем, распространяющимся РїРѕ электронной почте.
До этого большая часть РІРёСЂСѓСЃРѕРІ была написана РЅР° языке РЅРёР·РєРѕРіРѕ СѓСЂРѕРІРЅСЏ – ассемблере, позволявшем создать небольшой оптимизированный РІРёСЂСѓСЃ. Автором червя AnnaKournikova, который поразил Рнтернет РІ феврале 2001 РіРѕРґР°, оказался голландский студент, который вообще РЅРµ умел программировать, даже РЅР° таком простом языке, как Basic.
Сегодня общие годовые потери всех коммерческих организаций РѕС‚ действий РІРёСЂСѓСЃРѕРІ РјРѕРіСѓС‚ сравниться СЃ бюджетом небольшой страны, Рё эта СЃСѓРјРјР° каждый РіРѕРґ удваивается. Заявления некоторых специалистов РїРѕ безопасности свидетельствуют Рѕ серьезности проблемы. РџРѕ сведениям главы технологического департамента компании MessgeLabs (http://www.messagelabs.com/ ) Алекса РЁРёРїР°, РІ 1999 РіРѕРґСѓ фиксировалось РІ среднем РїРѕ РѕРґРЅРѕРјСѓ РЅРѕРІРѕРјСѓ РІРёСЂСѓСЃСѓ РІ час, РІ 2000 РіРѕРґСѓ эта цифра составляла уже РїРѕ РѕРґРЅРѕР№ программе каждые три минуты, Р° РІ 2004 РіРѕРґСѓ это время сократилось РґРѕ нескольких секунд. РџРѕ данным СанктПетербургской антивирусной лаборатории Р. Данилова (РћРћРћ «СалД»), только Р·Р° март 2007 РіРѕРґР° РІ антивирусную базу добавлено более 7 тыс. записей.
РРіСЂР° Darwin продолжается…
1.2. Что такое вирус
Как бы странно это ни звучало, компьютерный вирус – программа и, как правило, небольшая по размеру. Все дело в назначении и способе распространения. Обычная программа выполняет полезную работу, стараясь не нарушить функционирование операционной системы. Чаще всего пользователь устанавливает ее самостоятельно. В случае с вирусом все наоборот. Задача, которую ставит его создатель, состоит в том, чтобы нарушить работоспособность компьютера, удалить, повредить, а иногда и зашифровать важную информацию с целью получения выкупа. Вирусы распространяются между компьютерами по сети, замедляя их работу, перегружая каналы и блокируя работу сервисов.
Внимание!
Главная особенность любого вируса – умение самопроизвольно размножаться и распространяться без участия пользователя.
Размножение вируса происходит за счет того, что он «дописывает» собственный код к другим файлам либо по сети передает свое тело другому компьютеру.
Главная задача вируса – заразить максимальное количество компьютеров. Сегодня написать вирус может любой, было бы желание и наличие специальных конструкторов, не требующих особых знаний, в том числе и по программированию. Однако долго такой вирус не протянет (хотя бывают и исключения: вспомним AnnaKournikova). Реализациям алгоритмов выживания и заражения посвящены целые журналы, причем некоторые подходы вызывают восхищение.
Для маскировки вирус может заражать другие программы и наносить вред компьютеру не всегда, а только при определенных условиях. Он сканирует диск в поисках исполняемых файлов (обычно такая чрезмерная активность выдает присутствие вируса) либо, находясь в оперативной памяти, отслеживает обращения к таким файлам. Выполнив нужные действия, вирус передает управление программе, в теле которой находится, и она начинает работать как обычно.
Р’РёСЂСѓСЃ старается заразить максимальное количество файлов, отдавая предпочтение сменным носителям Рё сетевым ресурсам. Почему? Рђ РІСЃРµ потому, что ему нужно выжить: ведь всегда есть вероятность, что РІ сетевую папку зайдет пользователь СЃ РґСЂСѓРіРѕРіРѕ компьютера. Рменно поэтому, попав РЅР° компьютер, РјРЅРѕРіРёРµ РІРёСЂСѓСЃС‹ РЅРµ сразу занимались разрушением (зачем же уничтожать себя, любимого?), Р° прежде всего устанавливали счетчик успешно зараженных файлов. РџРѕРєР° РІ компьютере было заражено относительно мало программ, наличие РІРёСЂСѓСЃР° могло оставаться незамеченным. Система работала быстро, РЅР° экране РЅРµ появлялось никаких сообщений, Рё пользователь редко замечал что-то необычное. Однако РєРѕРіРґР° показатель РЅР° счетчике РІРёСЂСѓСЃР° достигал нужного значения, вредитель начинал действовать.
В начальный период существования вредоносных программ были популярны вирусы-шутки, которые мешали работе пользователей. Деструктивные особи практически не встречались. Например, такие программы просили дополнительной памяти («пирожка» и т. п.), и экран блокировался, пока пользователь не вводил с клавиатуры нужное слово (иногда его нужно было угадать). Лично я сталкивался с вирусом, который при обнулении счетчика не давал запустить приложение Microsoft Word с 18:00 до 09:00, мотивируя это тем, что работать нужно в рабочее время. Были и курьезы. Например, вирус, который выводил на экран сообщение вроде: «Нажмите одновременно L + A + M + E + R + F1 + Alt». Пользователь нажимал, после чего появлялось сообщение о том, что таблица разделов стерта с жесткого диска и загружена в оперативную память и если пользователь отпустит хотя бы одну клавишу, то со своей информацией он может проститься, а если просидит так ровно час, то все будет в порядке. Через час оказывалось, что это была шутка. Ничего себе шуточки…
Массовое распространение персональных компьютеров привело Рє появлению людей, которых интересовал РЅРµ сам процесс создания РІРёСЂСѓСЃР°, Р° результат, наносимый вредоносной программой. Рзменились Рё шутки: РІРёСЂСѓСЃС‹ начали реально форматировать РґРёСЃРєРё, стирать или кодировать важную информацию. Некоторые приложения использовали недостатки оборудования Рё портили его, например выстраивали лучи монитора РІ РѕРґРЅСѓ точку, прожигая его (надежность устройств РІ то время оставляла желать лучшего), или ломали жесткие РґРёСЃРєРё, РіРѕРЅСЏСЏ считывающую головку РїРѕ определенному алгоритму.
На сегодня в мире вирусов наметилась явная коммерциализация: данные в большинстве случаев не уничтожают, а пытаются украсть. Например, популярность онлайн-игр привела к появлению вирусов, специализирующихся на краже паролей к учетным записям игроков, так как виртуальные ценности, заработанные в игре, можно продать за реальные деньги.
1.3. Разновидности компьютерных вирусов
Пришло время ознакомиться c особенностями работы некоторых вирусов – хотя бы для того, чтобы, узнав о начале очередной эпидемии, не спешить отключать кабель, ведущий к модему.
Точную классификацию вирусов и других вредоносных программ до сих пор никто не придумал. Вирус часто нельзя отнести ни к одной из категорий. Кроме этого, антивирусные компании вводят свою терминологию, по-разному обозначая новый вирус. Однако по некоторым общим признакам вредоносные программы можно разделить на группы.
По среде обитания. Первая классификация относится к среде, в которой «живет» вирус.
• Первые РІРёСЂСѓСЃС‹, которые были популярны РґРѕ массового распространения Рнтернета, – файловые. РС… еще называют традиционными. Сегодня известны программы, заражающие РІСЃРµ типы исполняемых файлов РІ любой операционной системе. Например, РІ Windows опасности подвергаются РІ первую очередь исполняемые файлы СЃ расширениями EXE, COM Рё MSI, драйверы (SYS), командные файлы (BAT) Рё динамические библиотеки (DLL). C механизмом заражения такими вирусами Рё РёС… распространением РІС‹ познакомились РІ предыдущем разделе.
• Загрузочные вирусы также появились одними из первых. Как видно из названия, такие вирусы заражают не файлы, а загрузочные секторы дискет и жестких дисков.
• РЎ массовым развитием Рнтернета появились сетевые РІРёСЂСѓСЃС‹. РџРѕ данным антивирусных компаний, именно различные РІРёРґС‹ сетевых червей представляют сегодня РѕСЃРЅРѕРІРЅСѓСЋ СѓРіСЂРѕР·Сѓ. Главная РёС… особенность – работа СЃ различными сетевыми протоколами Рё использование возможностей глобальных Рё локальных сетей, позволяющих РёРј передавать СЃРІРѕР№ РєРѕРґ РЅР° удаленные системы.
Классическим примером сетевого вируса является червь Морриса, рассмотренный в разделе 1.1.
Наибольшую распространенность получили сетевые черви, использующие электронную почту, интернет-пейджеры, локальные и файлообменные (P2P) сети, IRC-сети и сети обмена данными между мобильными устройствами. Некоторые сетевые черви, например W32.Slammer или Sapphire, использующий уязвимость Microsoft SQL Server 2000, могут не оставлять на жестком диске никаких следов, хранясь только в оперативной памяти. Благодаря способности активно распространяться и работать на зараженных компьютерах без использования файлов подобные вирусы наиболее опасны. Они существуют исключительно в системной памяти, а на другие компьютеры передаются в виде пакетов данных. Первое время антивирусное программное обеспечение не было способно бороться с такими бестелесными вредителями.
Внимание!
Сетевые и почтовые вирусы наиболее опасны, так как способны за короткое время заразить большое количество систем.
• Сегодня наиболее популярны сетевые вирусы, распространяющиеся посредством электронной почты, поэтому их часто выделяют в отдельную категорию – почтовые черви. Так, три из четырех крупнейших эпидемий 2005 года были вызваны именно почтовыми червями. Такие вирусы чаще всего распространяются через электронную почту: они рассылают по адресам, имеющимся в адресной книге, письма с прикреплениями в виде самих себя. Для передачи могут использоваться средства операционной системы или небольшой встроенный почтовый сервер (функция такого сервера – отправка писем).
Например, червь Melissa отсылал себя сразу после активизации только по первым 50 адресам, а I Love You использовал все записанные в адресной книге почтовые адреса, что обеспечило ему высокую скорость распространения. Другой тип червя – сценарий KakWorm, который после прочтения зараженного письма не рассылался, а прикреплялся к каждому посланию, отправляемому пользователем. При этом на новом компьютере вредоносное приложение либо выполнялось автоматически, используя уязвимости в почтовой программе, либо различными способами подталкивало пользователя к своему запуску. Зараженное письмо может прийти со знакомого адреса, и пользователь, скорее всего, откроет его. Могут применяться различные ухищрения. Например, вирус AnnaKournikova приглашал посмотреть фотографии известной теннисистки Анны Курниковой: любопытство чаще всего брало верх над осторожностью, и пользователи запускали прикрепленный к письму исполняемый файл.
Совет
Будьте осторожны с письмами, полученными от неизвестных людей. Открывайте файлы, прикрепленные к таким письмам, только после проверки антивирусом.
• Очень часто встречаются вирусы смешанного типа – почтово-сетевые. В таком случае их обычно называют просто сетевыми. Яркий пример – сетевой червь Mytob.c, который в марте 2005 года пересылался в виде вложений в электронные письма и использовал для своего распространения уязвимость в сервисе LSASS Microsoft Windows.
Черви – наиболее опасный тип РІРёСЂСѓСЃРѕРІ. РћРЅРё распространяются очень быстро Рё СЃРїРѕСЃРѕР±РЅС‹ поражать файлы, РґРёСЃРєРё Рё оперативную память. Правильно написанный червь может парализовать работу Рнтернета либо перегрузив каналы, либо заразив серверы. Например, Slammer сумел поразить почти четверть Рнтернета. Р’ этом случае поражает беспечность фирмы-разработчика, так как РѕР± уязвимости, которая была использована автором Slammer, было известно еще Р·Р° полгода РґРѕ атаки. Рнтересно, что РЅРµ РѕРґРёРЅ РіРѕРґ РґРѕ этого почтовые черви СЃ успехом использовали уязвимость Microsoft Internet Explorer, позволяющую запускать любой исполняемый файл, пришедший вместе СЃ электронным РїРёСЃСЊРјРѕРј, без согласия пользователя.
• Макровирусы являются программами, написанными на макросах – последовательностях команд, используемых в некоторых системах обработки данных, например текстовых редакторах и электронных таблицах. Возможности макроязыков в таких системах позволяют вирусу переносить свой код в другие файлы, заражая их. Наибольшее распространение получили макровирусы для Microsoft Word и Excel. Такой вирус активизируется при открытии зараженного документа и переносится на компьютер, как правило, внедряясь в шаблон Обычный (файл Normal.dot). После этого каждый сохраняемый документ заражается вирусом, а когда другие пользователи открывают его, их компьютеры также инфицируются. Существуют также макровирусы, заражающие базы данных Microsoft Access.
Традиционные и макровирусы сегодня практически вымерли, так как скорость их распространения значительно ниже, чем скорость распространения сетевых вирусов, и у антивирусных компаний достаточно времени, чтобы создавать вакцину против таких вредителей. Однако это совсем не значит, что угроза миновала и такие вирусы не стоит брать в расчет.
По алгоритму работы. Например, существуют резидентные и нерезидентные вирусы.
• Резидентный РІРёСЂСѓСЃ РїСЂРё инфицировании компьютера оставляет РІ оперативной памяти СЃРІРѕСЋ резидентную часть, чтобы перехватывать РІСЃРµ обращения операционной системы Рє объектам, пригодным для заражения. Рто наиболее распространенный тип РІРёСЂСѓСЃРѕРІ: РѕРЅРё активны РЅРµ только РІРѕ время работы зараженной программы, РЅРѕ Рё – что наиболее важно – РєРѕРіРґР° приложение закрыто. Резидентные РІРёСЂСѓСЃС‹ постоянно находятся РІ памяти компьютера Рё остаются активными вплоть РґРѕ его выключения или перезагрузки.
• Нерезидентные вирусы не заражают память компьютера и сохраняют активность лишь ограниченное время, хотя возможны варианты. Однако нерезидентные вирусы сегодня практически не встречаются, они не способны к быстрому размножению. Можно сказать, что они не выдержали конкуренции своих более активных собратьев.
Примечание
Хочется еще раз обратить внимание на понятия «резидентность» и «файловый вирус». Несколько раз мне приходилось наблюдать настоящую панику, вызванную тем, что файл, который кто-то принес на дискете, заражен вирусом. Несмотря на то что некоторые вирусы могут спокойно размножаться без участия пользователя, файловые, загрузочные и макровирусы (резидентные и нерезидентные) не способны распространяться без помощи человека. Чтобы такой вирус начал разрушительную работу, его необходимо активизировать. Находясь на дискете или жестком диске, он разве что будет вызывать раздражение антивирусной программы, и, если пользователь сам не запустит его, нерезидентный вирус не принесет вреда.
Десятки вирусов этого типа хранятся у меня в отдельной папке для тестирования и изучения антивирусных программ, и за несколько лет ни одному из них не пришло в голову активизироваться самостоятельно, поэтому дискета с зараженным файлом не должна вызывать панику, следует оценить ситуацию и принять правильное решение – удалить потенциально опасный файл или попробовать вылечить его с помощью антивируса.
• Первые антивирусные программы очень быстро находили вирус по его уникальной сигнатуре. Чтобы затруднить подобный поиск, создатели вредоносных программ стали шифровать тела вирусов. В результате появились вирусы, названные полиморфными.
• В литературе часто упоминаются стелс-вирусы (stealth – невидимка), которые были распространены во времена MS-DOS. Они применяют множество средств, чтобы скрыть свое присутствие в системе. Определить наличие таких вирусов без соответствующего инструментария практически невозможно.
Сегодня для маскировки своего присутствия в системе вирусы используют руткит-технологии (о них будет рассказано позже). Вирусы можно подразделить также по следующим критериям:
• по методу заражения (вирусы-паразиты, компаньоны и др.);
• типу операционной системы (Windows, Unix, Linux, MS-DOS, Java);
• деструктивной возможности (от безвредных, просто мешающих работе, до крайне опасных);
• языку, на котором написан вирус (ассемблер, язык сценариев и др.).
Вирусы могут использовать различные упаковщики, позволяющие превратить известный код в практически неузнаваемый.
Каждый вирус имеет собственное имя. Вы слышите его, когда узнаете об очередной эпидемии. Откуда берется имя? Обнаружив новый вирус, антивирусные компании дают ему имена в соответствии с классификациями, принятыми в каждой конкретной компании, причем классификация у каждой фирмы своя. Посмотрите сами: например, Worm.Win32.Nuf – это то же самое, что Net-Worm.Win32.Mytob.c. Часто название дается по некоторым внешним признакам:
• по месту обнаружения вируса (Jerusalem);
• содержащимся в теле вируса текстовым строкам (I Love You);
• методу подачи пользователю (AnnaKournikova);
• эффекту (Black Friday).
Бывает так, что РІРёСЂСѓСЃ несколько раз переименовывают. Например, это касается «иерусалимского вируса». Рзначально его назвали РїРѕ месту обнаружения – Israeli, затем решили, что это название слишком антисемитское, Рё заменили его РЅР° В«1813В» (РїРѕ размеру РІРёСЂСѓСЃР°), РїСЂРё этом параллельно использовалось РґСЂСѓРіРѕРµ РёРјСЏ – IDF (Israeli Defence Forces), Рё только через некоторое время РІРёСЂСѓСЃ назвали Jerusalem.
Кстати
Самым маленьким по размеру вирусом считается Repus (Win95.с) – всего 156 байт (существуют, однако, и более тяжеловесные модификации, вплоть до 256 байт). Для уменьшения размера этого вируса используются различные программные хитрости и уловки; вреда он не приносит, и все программы работают без проблем. При этом есть как резидентные, так и нерезидентные представители Repus (Win95.с). Помимо малого размера, Repus стал первым вирусом, использующим для своего размножения кэш-память Windows. Он ищет в кэш-блоках заголовки файлов, записывается в них и устанавливает для блоков атрибут dirty, который дает системе команду сохранить его на диск. Подобная методика позволяет даже нерезидентному варианту распространяться со скоростью резидентного вируса.
РћРґРЅРёРј РёР· самых интересных является РІРёСЂСѓСЃ I-Worm.Hybris (Vecna), получивший РІ июле 2002 РіРѕРґР° четвертую категорию опасности. РћРЅ распространяется посредством электронной почты. Р’ первую очередь этот РІРёСЂСѓСЃ заражает системный файл wsock32.dll, получая доступ РєРѕ всему интернет-трафику, Р° затем рассылает себя РїРѕ полученным таким образом почтовым адресам. Самое интересное, что этот РІРёСЂСѓСЃ может самостоятельно обновляться через Рнтернет, скачивая СЃ новостной конференции alt.comp.virus плагины, дающие ему новые возможности.
Количество сигнатур в антивирусных базах многих производителей уже перевалило 400-тысячную отметку и постоянно растет.
1.4. Вирусные мистификации
Рсторию развития компьютерных систем нельзя назвать веселой. Р’ первые РіРѕРґС‹ антивирусы были несовершенны, Р° пользователи еще РЅРµ владели достаточной информацией, РЅРѕ уже представляли, какую СѓРіСЂРѕР·Сѓ несут компьютерные РІРёСЂСѓСЃС‹. Вероятно, поэтому каждое сообщение Рѕ появлении РЅРѕРІРѕРіРѕ РІРёСЂСѓСЃР° вызывало панику. РЎРѕ временем Сѓ пользователей появился РґСЂСѓРіРѕР№, РЅРµ менее опасный СЃРёРЅРґСЂРѕРј – вирусные мистификации. Хотя первые вирусные мистификации начали появляться приблизительно РІ 1988 РіРѕРґСѓ, Р° расцвет пришелся РЅР° конец 1990-С…, рассказать РѕР± этом явлении стоит, так как РјС‹ РЅРµ застрахованы РѕС‚ него Рё сегодня, РєРѕРіРґР° скорость распространения любой информации РЅР° РїРѕСЂСЏРґРѕРє выше.
Выглядит это приблизительно так. Злоумышленник либо случайный человек пишет предупреждение о том, что он обнаружил опасный вирус либо подозрительный файл, и помещает это сообщение в конференцию или рассылает по электронной почте максимальному количеству людей. На самом деле никакого вируса нет. Прочитавший такое письмо пользователь спешит предупредить своих товарищей (часто такой совет присутствует в самом послании). Дальнейшее развитие событий подобно вирусной эпидемии: поток корреспонденции увеличивался лавинообразно, так как напуганные пользователи из лучших побуждений спешат предупредить об «опасности» коллег и партнеров по бизнесу. Результатом является вирусная истерика, которая систематически сотрясает компьютерный мир, принося напрасное беспокойство тысячам людей.
Первой действительно удачной мистификацией следует считать РІРёСЂСѓСЃ Good Times, появившийся РІ 1994 РіРѕРґСѓ РІ сети AOL. Р’СЃРµ началось СЃ того, что кто-то разослал сообщение СЃ предупреждением: РЅРё РІ коем случае нельзя было читать электронное РїРёСЃСЊРјРѕ СЃ заголовком Good Times. Рто РїРёСЃСЊРјРѕ СЏРєРѕР±С‹ содержало страшный РІРёСЂСѓСЃ, стирающий информацию РЅР° жестком РґРёСЃРєРµ. Р’ послании говорилось, что Рѕ РЅРѕРІРѕРј РІРёСЂСѓСЃРµ следует предупредить всех знакомых Рё сослуживцев. Затем шло РїРѕРґСЂРѕР±РЅРѕРµ описание принципа действия РІРёСЂСѓСЃР° Рё СЃРїРѕСЃРѕР±Р° избавиться РѕС‚ него. Стоит ли говорить Рѕ том, что такого РІРёСЂСѓСЃР° РЅРµ существовало Рё РІ РїРѕРјРёРЅРµ! Кстати, само РїРёСЃСЊРјРѕ-предупреждение также имело заголовок Good Times.
Основные идеи Good Times используются и сегодня.
Другая мистификация, появившаяся в том же году, была запущена из меркантильных соображений. Некий Майк Рошенл отправил на несколько BBS-станций сообщения, в которых рассказал о появлении нового вируса, заражающего модемы, работающие на скорости 2400 бод. Народ поверил. В результате спрос и соответственно цены на более медленные модемы – 1200 бод – резко увеличились, а на более быстрые упали.
Следует, однако, отметить, что часто истерика возникала действительно РёР·-Р·Р° того, что кто-то находил РІРёСЂСѓСЃ. Например, РІ 2001 РіРѕРґСѓ РѕРґРёРЅ РёР· пользователей обнаружил, что файл sulfnbk.exe, лежащий РІ системной области, заражен РІРёСЂСѓСЃРѕРј – имеет подозрительное название Рё странный значок. РљРѕРіРґР° страсти утихли, выяснилось, что данный файл – это системная утилита, отвечающая Р·Р° создание резервных РєРѕРїРёР№ файлов СЃ длинными именами (название – РѕС‚ System Utility for Long FileName Backup – системная утилита для резервного копирования СЃ сохранением длинных имен файлов), Рё Сѓ конкретного пользователя РѕРЅР° действительно была заражена РІРёСЂСѓСЃРѕРј. Подобная история повторилась через РіРѕРґ. Начавшись среди испаноговорящих пользователей Рнтернета РІ начале апреля 2002 РіРѕРґР°, мистификация быстро распространилась РЅР° англоговорящих Рє середине апреля. РџРѕРґ подозрение попал файл jdbgmgr.exe, принадлежавший пакету Visual J++ 1.1. Ропять – сомнительный значок, непонятное название Рё действительно зараженный файл. Однако РІ данном случае, если пользователь РЅРµ работал СЃ пакетом Visual J++, работоспособность системы РїСЂРё удалении этого файла РЅРµ нарушалась.
К чести вирусописателей, эта история не была забыта, и через некоторое время действительно появился вирус, имеющий именно такое имя файла.
Р’ 2002 РіРѕРґСѓ появился новый РІРёСЂСѓСЃ – Perrun (W32/Perrun-A, PE_PERRUN.A, Win32.Perrun, W32/Perrun, W32/Perrun.A), который неизвестные часто присылали РЅР° сайты антивирусных компаний, очевидно, как предупреждение: РјРѕР», РјС‹ Рё так можем. Ртот РІРёСЂСѓСЃ РјРѕРі заражать графические файлы Рё текстовые файлы СЃ расширением TXT. Новость подхватили информационные агентства, Рё народ, естественно, начал волноваться. РџСЂРё ближайшем рассмотрении оказалось, что для заражения файла Рё его последующего распространения необходима программа-кодировщик, которая фактически является РІРёСЂСѓСЃРѕРј Рё без которой данный РІРёСЂСѓСЃ можно считать разве что шуткой.
Самая интересная и известная мистификация произошла в 1991 году. Ее автор Роберт Моррис сообщил, что стал жертвой нового вируса, распространяющегося по обычной электрической сети, и рассказал о мерах, которые необходимо принять для защиты от него. По словам Морриса, нельзя было делать следующие вещи:
• включать что-либо в электрические розетки;
• использовать батарейки (поскольку вирус пробрался на заводы по производству батареек и заразил все положительные клеммы готовой продукции);
• передавать друг другу файлы любыми способами;
• читать на компьютере текст, причем совершенно любой, даже сообщение самого Морриса;
• использовать последовательные порты, модемы, телефонные линии, процессоры, системную память, сетевое оборудование, принтеры, мониторы и клавиатуры;
• пользоваться электроприборами, газовыми плитами, водопроводом, огнем и колесным транспортом.
Хорошо, что многие сразу понимали, что это просто шутка.
Как видите, мистификации появляются РѕС‚ недостаточной компьютерной грамотности РїСЂРё РѕРіСЂРѕРјРЅРѕРј желании показать СЃРІРѕРё знания. Преклонение перед неизвестным часто порождает множество мифов. Чего стоят рассказы Рѕ том, что кактус способен защитить РѕС‚ компьютерного (Р° почему РЅРµ мониторного?) излучения. Рта шутка появилась РІ каком-то журнале РІ номере Р·Р° 1 апреля. Автор статьи РїРѕРґСЂРѕР±РЅРѕ описал размер иголок кактуса, расстояние между РЅРёРјРё, высоту Рё рекомендуемый РІРёРґ колючего растения, Р° также наилучшее место для его расположения. Конечно, кактус РЅР° мониторе способен разве что улучшить настроение, РЅРѕ никак РЅРµ остановить излучение.
Мистификации могут принести немалый вред. Перегружаются почтовые серверы, пользователи в панике удаляют системные файлы. Вера в мистификацию может нанести серьезный удар репутации человека или по крайней мере сделать его объектом насмешек: как же, мнил себя суперхакером, а оказался чайником, попавшимся на такую шутку. Кроме того, письма часто приходят с заполненными полями Копия и Кому, поэтому спамеры могут получить подарки в виде реально существующих адресов. Вирусные мистификации могут отвлечь внимание от принятия необходимых мер безопасности, так как после нескольких ложных предупреждений пользователи могут недооценить опасность реальных вирусов.
Как отличить мистификацию от реального вируса?
• Необходимо относиться с большим подозрением к письмам, полученным от неизвестных людей, с какими бы благими намерениями они ни обращались. Откуда у отправителя ваш электронный адрес? Может быть, из базы данных спама?
• Никогда не открывайте вложения к письмам от незнакомых отправителей, иначе у вас появится возможность на себе почувствовать то, о чем вы прочитали в предыдущем разделе.
• Если вы никогда не оставляли свои данные на специализированных сайтах и не регистрировали свою версию антивируса или подобной программы, то к любому письму, полученному от антивирусной лаборатории компании Microsoft или даже лично Била Гейтса, следует относиться с подозрением. С чего это они вдруг написали вам?
• Если письмо содержит подробную техническую информацию, отнеситесь к нему скептически. В описании Good Times говорилось, что процессор будет выведен из строя бесконечным циклом n-й сложности… Если вас просят удалить или запустить какой-то файл, без сомнений удаляйте письмо.
Большие компании дорожат временем, поэтому вместо описания проблемы они, скорее, ограничатся ссылкой на соответствующий сайт. Пусть вас не смущает, что в послании упоминаются известные антивирусные или правительственные организации. Если вы думаете, что вам действительно сообщают о чем-то важном, то, перед тем как начать паниковать, зайдите на сайт данной компании: среди новостей вы обязательно увидите предупреждение об опасности.
Р’ Рнтернете есть несколько ресурсов, посвященных мистификациям. Самые популярные РёР· РЅРёС… – сайт Р РѕР±Р° Розенбергера (http://www.vmyths.com/hoax.cfm ) Рё сайт охотников Р·Р° мистификациями Hoaxbusters (http://hoaxbusters.ciac.org/ ).
Все ведущие антивирусные компании имеют собственные страницы, посвященные мистификациям. Ринформацию можно найти на сайте Вирусной энциклопедии (http://www.viruslist.com/ ), Symantec (http://www.symantec.com/avcenter/index.html ) и McAfee (http://vil.mcafee.com/hoax.asp ).
Р, конечно же, РЅРµ забывайте Рѕ Google – РЅР° то РѕРЅ Рё РїРѕРёСЃРєРѕРІРёРє, чтобы РІСЃРµ знать!
1.5. Что за зверь – троянский конь?
Практически ни один разговор о компьютерных вирусах не обходится без термина «троянская программа», или «троянец». Чем это приложение отличается от вируса, каково его назначение и чем оно опасно? К этой категории относятся программы, выполняющие несанкционированные действия без ведома пользователя. По характеру действия троянец напоминает вирус: он может красть персональную информацию (прежде всего файлы паролей и почтовые базы), перехватывать данные, введенные с клавиатуры, реже – уничтожать важную информацию или нарушать работоспособность компьютера. Троянская программа может применяться для использования ресурсов компьютера, на котором она запущена, в неблаговидных или преступных целях: рассылки вирусов и спама, проведения DDOS-атак (Distributed Denial of Service – распределенных атак, направленных на нарушение работы сетевых сервисов).
Рто РјРѕРіСѓС‚ делать Рё РІРёСЂСѓСЃС‹. Отличие заключается РІ том, что часто внешне троянец выглядит как вполне нормальная программа, выполняющая полезные функции. Однако Сѓ нее есть Рё «вторая жизнь», Рѕ которой пользователь РЅРµ догадывается, так как часть функций приложения скрыты. Троянская программа отличается РѕС‚ РІРёСЂСѓСЃР° неспособностью Рє самораспространению: РѕРЅР° РЅРµ может сама копироваться РЅР° РґСЂСѓРіРёРµ компьютеры, ничего РЅРµ уничтожает Рё РЅРµ изменяет РІ компьютере пользователя (РєСЂРѕРјРµ функций, которые нужны для ее запуска). РўСЂРѕСЏРЅ может прокрасться Рє ничего РЅРµ подозревающему пользователю РїРѕРґ РІРёРґРѕРј ускорителя Рнтернета, очистителя РґРёСЃРєРѕРІРѕРіРѕ пространства, видеокодека, плагина Рє проигрывателю Winamp или исполняемого файла, имеющего РґРІРѕР№РЅРѕРµ расширение.
Примечание
Хотя, в отличие от вируса, троянец не способен к саморазмножению, от этого он не становится менее опасным.
В последнем случае может прийти письмо с просьбой посмотреть фотографию и прикрепленным файлом вроде superfoto.bmp.exe (как вариант, после BMP может быть большое количество пробелов, чтобы пользователь ничего не заподозрил). В итоге получатель сам устанавливает вредоносную программу. Отсюда произошло название таких приложений: вспомните, как ахейцы захватили Трою. Город был хорошо укреплен, ахейцы долго не могли его взять и обманули защитников. Для жителей Трои конь был символом мира, и ахейцы, якобы для примирения, построили деревянную статую коня, внутрь которой посадили своих лучших воинов. Ничего не подозревающие троянцы затащили подарок в город, а ночью ахейцы вылезли из статуи, обезвредили стражу и открыли ворота, впустив основные силы.
Размножению троянской программы может способствовать сам пользователь, копируя его друзьям и коллегам. Возможен вариант, когда программа попадает на компьютер пользователя как червь, а далее работает как троян, обеспечивая создателю возможность дистанционного управления зараженным компьютером. Чаще всего такие программы все-таки относят к червям.
Запустившись, троянец располагается РІ памяти компьютера Рё отслеживает запрограммированные действия: крадет пароли для доступа РІ Рнтернет, обращается Рє сайтам, накручивая чьи-то счетчики (Р·Р° что пользователь платит лишним трафиком), Р·РІРѕРЅРёС‚ РЅР° платные, часто РґРѕСЂРѕРіРёРµ, телефонные номера, следит Р·Р° действиями Рё привычками С…РѕР·СЏРёРЅР° компьютера Рё читает его электронную почту.
Современные троянцы, как правило, уже не тащат все подряд. Они целенаправленно занимаются сбором конкретной информации. Например, «банковские» шпионы крадут номера кредитных карточек и других банковских данных. В связи с ростом популярности интернет-игр появился интерес к краже игровых предметов или персонажей, цена которых порой доходит до нескольких тысяч долларов, поэтому кража учетных записей для мошенников не менее привлекательна, чем кража банковских атрибутов.
Отдельно следует упомянуть Trojan-Downloader и Trojan-Dropper, которые используются для установки на компьютеры троянских, рекламных (adware) или порнографических (pornware) программ. Кроме того, троянцы часто используются для создания троянских прокси-серверов или даже целых зомбисетей для рассылки спама или вирусов.
Как определить, что в системе поселилась троянская программа? Во-первых, согласитесь, странно, когда только что установленный плагин к Winamp не обнаруживается в списке. Во-вторых, при инсталляции трояна может быть выведено сообщение, причем как об успешном окончании установки (вроде Internet Exsplorer already patched), так и, наоборот, говорящее о том, что утилита не установлена, потому что системная библиотека несовместима с версией программы либо архив поврежден. Возможно, будут также выведены рекомендации по устранению ошибки. После долгих мучений пользователь вряд ли получит ожидаемый результат, скорее всего, оставит все попытки и будет пребывать в уверенности, что это полезная программа, которая просто не запустилась по непонятным причинам. Троянец тем временем пропишется в автозапуске. Например, в Windows необходимо быть внимательным к следующим веткам реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunservicesOnce
Возможно помещение ярлыка трояна РІ папку Автозагрузка (это встречается очень редко, так как присутствие вредоносной программы РІ этой папке легко обнаружить) или запись РІ файлы autoexec.bat, win.ini, system.ini. Часто разработчики принимают меры, чтобы трояна РЅРµ было РІРёРґРЅРѕ РІ РѕРєРЅРµ Диспетчер задач, выводимом нажатием сочетания клавиш Ctrl+Alt+Delete. Наиболее сложные троянские программы умеют самостоятельно обновляться через Рнтернет, прятаться РѕС‚ антивирусов Рё расшифровывать файлы паролей. Управлять троянцем можно несколькими способами – РѕС‚ РїСЂСЏРјРѕРіРѕ подключения Рє компьютеру РґРѕ проверки определенного сетевого ресурса, РЅР° который С…РѕР·СЏРёРЅ посылает e-mail, ICQ Рё IRC-команды.
Часто троянец состоит из двух частей: клиентской, установленной у хозяина, и серверной, работающей на машине жертвы. Такие программы также называют backdoor (потайной ход). Запустив программу-клиент, злоумышленник проверяет, находится ли сервер в Сети: если отклик получен, то удаленным компьютером можно управлять как своим.
Учитывая неумение троянских программ распространяться самостоятельно, простым Рё эффективным правилом, позволяющим избежать заражения, является загрузка файлов только РёР· надежных источников. Несмотря РЅР° то что, РІ отличие РѕС‚ вирусных эпидемий, Рѕ троянских эпидемиях РїРѕРєР° еще никто РЅРµ слышал, РґР° Рё РІСЂСЏРґ ли услышит, учитывая неспособность этих программ Рє самостоятельному размножению, РѕРЅРё РЅРµ менее (Р°, возможно, даже более) опасны, чем РІРёСЂСѓСЃС‹. Ведь часто такие программы создаются для персонального использования, Рё поэтому сегодняшние антивирусы РЅРµ РјРѕРіСѓС‚ знать РѕР±Рѕ всех РЅРёС…. Рто означает, что пользователь может долгое время работать РЅР° зараженной машине, РЅРµ подозревая РѕР± этом. Чтобы найти троянское приложение, требуются специальные утилиты Рё наблюдение Р·Р° сетевой активностью компьютера СЃ помощью штатных средств операционной системы Рё установленного брандмауэра, Рѕ чем будет подробнее рассказано РІ главе 4.
1.6. Новаторские подходы хакеров – руткиты (rootkits)
Если троянцы, о которых говорилось выше, можно обнаружить с помощью системных утилит, то представители этого класса вычисляются только с помощью специальных утилит.
Руткиты представляют собой более продвинутый вариант троянских коней. Некоторые антивирусные компании не разделяют руткиты и троянцы, относя их к одной категории зловредных программ. Однако троян прячется на компьютере, обычно маскируясь под известную программу (например, Spymaster выдавает себя за приложение MSN Messenger), а руткиты используют для маскировки более продвинутые методы, внедряясь глубоко в систему.
Рзначально словом «руткит» обозначался набор инструментов, позволяющий злоумышленнику возвращаться РІРѕ взломанную систему таким образом, чтобы системный администратор РЅРµ РјРѕРі его видеть, Р° система – регистрировать. Долгое время руткиты были привилегией Unix-систем, РЅРѕ, как известно, хорошие идеи просто так РЅРµ пропадают, Рё РІ конце РҐРҐ века стали массово появляться руткиты, предназначенные для Microsoft Windows. Рћ руткитах заговорили, только РєРѕРіРґР° РЅР° РёС… использовании РІ СЃРІРѕРёС… продуктах была поймана фирма Sony. Сегодня эксперты предсказывают Р±СѓРј этой технологии, Рё РІ ближайшие РґРІР°-три РіРѕРґР° ожидается массовый СЂРѕСЃС‚ количества руткитов – вплоть РґРѕ 700 % РІ РіРѕРґ. Самое печальное, что РёС… Р±СѓРґСѓС‚ использовать РЅРµ только злоумышленники: руткиты станут массово применяться РІ коммерческих продуктах, РІ первую очередь для защиты РѕС‚ пиратства. Например, недавно было объявлено, что компания Microsoft создала руткит, обнаружить который невозможно. РќРµ исключено, что это изобретение встретится РІ новых версиях Windows.
Обычному пользователю от этого не легче. Технология руткитов потенциально может быть использована для создания нового поколения программ-шпионов и червей, обнаружить которые после их проникновения в компьютер будет почти невозможно.
Практически все современные версии руткитов могут прятать от пользователя файлы, папки и параметры реестра, скрывать работающие программы, системные службы, драйверы и сетевые соединения. В основе функционирования руткитов лежит модификация данных и кода программы в памяти операционной системы. В зависимости от того, с какой областью памяти работают руткиты, их можно подразделить на следующие виды:
• системы, работающие на уровне ядра (Kernel Level, или KLT);
• системы, функционирующие на пользовательском уровне (User Level).
Первый известный руткит для системы Windows, NT Rootkit, был написан в 1999 году экспертом в области безопасности Грегом Хоглундом в виде драйвера уровня ядра. Он скрывал все файлы и процессы, в имени которых встречалось сочетание _root, перехватывал информацию, набираемую на клавиатуре, и использовал другие способы маскировки.
Самым известным РЅР° сегодня руткитом является Hacker Defender. Рта программа работает РІ режиме пользователя Рё маскируется Р·Р° счет перехвата некоторых API. Hacker Defender может обрабатывать сетевой трафик РґРѕ того, как РѕРЅ будет передан приложению, то есть любая программа, работающая РІ сети, может быть использована для взаимодействия СЃРѕ взломщиком. Руткит умеет скрывать файлы Рё процессы, записи РІ реестре Рё открытые порты Рё может неправильно показывать количество СЃРІРѕР±РѕРґРЅРѕРіРѕ места РЅР° РґРёСЃРєРµ. РћРЅ прописывается РІ автозагрузку, оставляя для себя черный РІС…РѕРґ, Рё прослушивает РІСЃРµ открытые Рё разрешенные брандмауэром порты РЅР° предмет 256-битного ключа, который укажет, какой РїРѕСЂС‚ использовать для управления. Hacker Defender перехватывает функции запуска новых процессов, что позволяет ему заражать РІСЃРµ программы, запускаемые пользователем. РћРЅ полиморфен: для шифрования исполняемых файлов руткита обычно используется утилита Morphine.
Примечание
Все современные версии руткитов могут прятать от пользователя файлы, папки и параметры реестра, скрывать программы, системные службы, драйверы и сетевые соединения.
Одним из наиболее опасных руткитов является FU, выполненный частично как приложение, а частично как драйвер. Он не занимается перехватами, а манипулирует объектами ядра системы, поэтому найти такого вредителя очень сложно.
Если вы обнаружили руткит, это еще не значит, что вы сможете избавиться от него. Для защиты от уничтожения пользователем или антивирусом в руткитах применяется несколько технологий, которые уже встречаются и в зловредных программах других типов. Например, запускаются два процесса, контролирующих друг друга. Если один из них прекращает работу, второй восстанавливает его. Применяется также похожий метод, использующий потоки: удаленный файл, параметр реестра или уничтоженный процесс через некоторое время восстанавливаются.
Популярен способ блокировки доступа к файлу: файл открывается в режиме монопольного доступа или блокируется с помощью специальной функции; удалить такой файл стандартными способами невозможно. Если попытаться воспользоваться отложенным удалением (во время следующей загрузки), например с помощью программы типа MoveOnBoot, то, скорее всего, запись об этой операции будет через некоторое время удалена либо файл будет переименован.
Любопытный способ защиты использует червь Feebs. Для борьбы с антивирусами, антируткитами и другими утилитами, пытающимися уничтожить его, он выставляет приманку – замаскированный процесс, не видимый на вкладке Процессы в окне Диспетчера задач. Любое приложение, которое попытается обратиться к этому процессу, уничтожается. Программа может устанавливаться как дополнительный модуль к браузеру Internet Explorer, изменяющий его функциональность. Стандартные средства контроля автозапуска типа msconfig не видят эти параметры, а применение дополнительных утилит для изучения системы требует от пользователя определенной квалификации, поэтому единственный действительно надежный способ уничтожить такую программу – отформатировать жесткий диск и заново установить операционную систему.
К сожалению, существующие сегодня специализированные программы, предназначенные для обнаружения руткитов, и традиционные антивирусы не дают стопроцентной гарантии безопасности. Обладая исходным кодом этих программ, можно создать любые модификации руткитов или включить часть кода в любую шпионскую программу. Главное умение руткитов – не прочно закрепиться в системе, а проникнуть в нее, поэтому основным правилом для вас должны стать максимальная защита и осторожность.
1.7. Уязвимости программ и хакерские технологии
Если после всего рассказанного РІ предыдущих главах Сѓ вас еще РЅРµ пропало желание работать СЃ компьютером, вам будет интересно узнать, как различные зловредные программы РјРѕРіСѓС‚ попасть РІ систему. Рта информация, возможно, убережет вас РѕС‚ простейших ошибок Рё позволит трезво оценить ситуацию.
Можно выделить три причины проникновения вирусов:
• ошибки при разработке программного обеспечения;
• ошибки в настройках;
• воздействие на пользователя (социальный инжиниринг).
Описать все варианты невозможно: технологии не стоят на месте и злоумышленники постоянно придумывают новые методы. Остановимся на основных моментах. Если в последних двух случаях от действий пользователя что-то зависит, то в первом он может повлиять на ход событий только частично. Ошибки в программном обеспечении часто способны свести на нет все попытки пользователя защитить систему от проникновения вредоносных приложений.
Переполнение буфера
Некоторые вирусы и атаки достигают цели без участия пользователя. Несмотря на усилия, интенсивность удаленных атак не снижается, а отражать их становится все труднее. Как это получается? Ведь чтобы программа, пусть и зловредная, что-то сделала, она должна быть кем-то или чем-то запущена. Анализ показывает, что в подавляющем большинстве атак используются ошибки переполнения буфера, и эта проблема является первостепенной.
Впервые данная уязвимость была использована в 1988 году – на ней основывались атаки червем Морриса. С тех пор количество подобных атак увеличивается с каждым годом. В настоящее время можно утверждать, что уязвимости, связанные с переполнением буфера, являются доминирующими при удаленных атаках, где обычный пользователь Сети получает частичный или полный контроль над атакуемым. Приблизительно половина вредоносных программ использует этот тип уязвимости.
В материале «Википедии» (http://ru.wikipedia.org ) дано следующее определение данной уязвимости: «Переполнение буфера – это явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера».
Р’ «Новом словаре хакера» РСЂРёРєР° РЎ. Р СЌР№РјРѕРЅРґР° сказано, что «переполнение буфера – это то, что СЃ неизбежностью РїСЂРѕРёСЃС…РѕРґРёС‚ РїСЂРё попытке засунуть РІ буфер больше, чем тот может переварить».
Представьте следующую ситуацию. Функция изменения пароля может воспринять пароль длиной не более 256 символов. Чаще всего никто не пользуется паролями длиннее 8–10 символов, поэтому разработчики не предусмотрели проверку строки ввода данных. При попытке ввести более 256 символов, если за данными находился адрес возврата функции, он будет перезаписан и в лучшем случае выполнение программы завершится с ошибкой. Хакеру, обнаружившему такой уязвимый участок, остается подставить в качестве адреса возврата правильный адрес, что переведет управление в любую точку программы на его выбор. В результате может быть выполнен любой произвольный код, который хакер поместил в указанную область памяти, с привилегиями, с которыми выполняется текущая программа.
Подобные ошибки в программном обеспечении находят чуть ли не ежедневно, но не всегда и не сразу устраняют. Для примера можно просмотреть статистику на специализированных сайтах. Согласно данным Secunia (http://secunia.com ) в Microsoft Windows XP Professional не устранено 30 из 201 уязвимостей, обнаруженных с 2003 по начало 2008 года, хотя имеющих статус highly critical (предельно опасный), которые позволяют удаленно выполнить код (то есть фактически получить доступ к системе), в этом списке уже нет. В среднем обнаруживается три-четыре уязвимости в месяц.
Р’ Internet Explorer 7 РЅРµ устранено 7 РёР· 21 найденной уязвимости, Рё некоторые РёР· РЅРёС… имеют статус highly critical. Р’ среднем РІ месяц обнаруживается РѕРґРЅР°-РґРІРµ уязвимости. Если учесть РІСЃРµ уязвимости, РїСЂРё которых можно удаленно выполнить РєРѕРґ РІ системе, можно сделать вывод, что СЃ этим браузером вообще опасно выходить РІ Рнтернет. Internet Explorer позволяет выполнение РєРѕРґР° РїСЂРё обработке HTML Help ActiveX, файлов HTA, SWF, ZIP, BMP Рё JPEG, архивов FTP, Cookies, тега IFRAME Рё всплывающих РѕРєРѕРЅ, то есть для проникновения РІ систему троянца достаточно зайти РЅР° сайт Рё просмотреть/сохранить СЂРёСЃСѓРЅРєРё или архив ZIP.
Внимание!
Найденные уязвимости далеко не всегда устраняются сразу, часто они присутствуют годами.
Р’ операционной системе Windows РєРѕРґ Internet Explorer используют Рё РјРЅРѕРіРёРµ РґСЂСѓРіРёРµ приложения (почтовый клиент Outlook Express, Проигрыватель Windows Media Рё РґСЂ.), отчего увеличивается вероятность поражения. Например, существует JPEG-эксплоит, который использует ошибку РІ системной библиотеке, возникающую РїСЂРё обработке графических JPEG-файлов. Рта ошибка позволяет заразить компьютер через любую программу – Outlook Р•xpress или любой РґСЂСѓРіРѕР№ почтовый клиент, показывающий JPEG-картинки.
Следует также обратить внимание на возможность вывода в адресной строке Internet Explorer адреса, не соответствующего адресу загруженного сайта (такой вид атаки называется URL-спуфинг), и отображение всплывающих окон, которые, как думает пользователь, принадлежат просматриваемой в браузере странице, а также модификация заголовка окна или информации в строке состояния.
По данным различных источников, именно Internet Explorer сегодня является самым популярным веб-браузером, так как он интегрирован в Windows. Поэтому данная программа будет привлекать внимание злоумышленников, желающих реализовать свои замыслы, ведь вероятность того, что пользователь придет на специально созданный ресурс именно с Internet Explorer, остается самой высокой.
Давайте посмотрим, что РЅР° сегодня можно сказать Рѕ самом известном РёР· бесплатных браузеров – Mozilla Firefox 2. Р’ нем обнаружено 19 уязвимостей, РёР· которых РЅРµ устранено четыре. Самая опасная РёР· РЅРёС… имеет статус less critical (ниже критического). Рспользовав эти уязвимости, получить полное управление компьютером невозможно, злоумышленник может лишь раскрыть некоторую системную информацию, поэтому следует признать, что положение этого браузера лучше, чем Internet Explorer.
Таким образом, оптимальным решением будет использование альтернативных приложений. Вместо Internet Explorer для серфинга можно применять, например, Mozilla Firefox, вместо Outlook Еxpress – The Bat! и т. д. У этих программ ситуация с безопасностью лучше.
Следует также периодически устанавливать обновления и использовать новые версии программ, в которых устранены старые ошибки (возможные новые ошибки – это уже другой вопрос). Правда, размер обновлений подчас до стигает нескольких десятков мегабайт и кроме Internet Explorer и Windows необходимо обновлять другие продукты, следовательно, трафик может быть накладным для бюджета. В таком случае следует ограничиться хотя бы обновлениями, устраняющими критические ошибки.
Наверняка вы задаетесь вопросом: неужели за столько лет никто не пытался бороться с переполнением буфера? Конечно же, пытались. Ведь разработка атакующих программ за несколько десятилетий переросла чистый энтузиазм и приняла коммерческую основу, что говорит о нарастающей опасности.
На борьбу с данной уязвимостью направлены такие утилиты, как, например, Stack-Guard. Первоначально она была разработана для Unix-систем, но в настоящее время ее аналог используется в Microsoft Visual Studio.NET и ProPolice компании IBM. В продуктах компании Microsoft, Windows XP SP2 и Server 2003 SP1 используется технология DEP (Data Execution Protection – защита от выполнения данных), которая делает секцию данных и стек неисполняемыми, что должно предотвращать подобный тип атак.
В некоторых процессорах Intel и AMD имеется специальный бит: в Intel – XD (eXecute Disable – запрет выполнения), в AMD – NX (No eXecute – нет выполнения), позволяющий аппаратно реализовать поддержку DEP.
При отсутствии поддержки на компьютере неисполняемых страниц на аппаратном уровне используется Software-enforced DEP (принудительный программный DEP). Программная защита DEP встраивается во время компиляции и поэтому работает только для пересобранных с поддержкой DEP системных библиотек и приложений.
В этих средствах можно обнаружить и недостатки. При использовании технологии DEP встал вопрос совместимости. Некоторым приложениям требуется исполняемый стек (а таких много: эмуляторы, компиляторы, защитные механизмы и пр.), поэтому по умолчанию защита включена только для системных процессов. Появление новой технологии подстегнуло хакеров, и практически одновременно были представлены методы, позволяющие обойти защиту. Атаковать стало сложнее, но все равно возможно.
Другие описанные механизмы позволяют защититься только от одного типа переполнения буфера, а их существует несколько видов, поэтому считать это полноценной защитой нельзя.
Хотелось бы немного успокоить вас: наличие ошибки не всегда позволяет реализовать атаку в полной мере: буфер может быть мал для внедрения кода (невозможно использование нулевых байтов), адреса системных функций у различных версий могут не совпадать, и человек, пытающийся использовать уязвимость, должен обладать действительно глубокими знаниями.
Неправильная настройка программ
Рљ сожалению, большинство пользователей часто сами создают проблемы. Например, браузеру часто разрешают запуск JavaScript, ActiveX Рё РґСЂСѓРіРёС… элементов управления, СЃ помощью которых легко установить шпионские программы. Некоторые почтовые клиенты умеют обрабатывать Рё выводить РЅР° экран HTML-контент, позволяющий выполнять любые действия. РР·-Р·Р° неправильных настроек почтовой программы или имеющихся РІ ней ошибок РїСЂРё просмотре содержимого полученных писем РјРѕРіСѓС‚ автоматически открываться файлы вложений. РРЅРѕРіРґР° используется следующий прием: Рє сообщению прилагается исполняемый файл, Р° РІ заголовке MIME, который указывает РЅР° тип передаваемого файла, РІ поле Content-Type указывается, что это СЂРёСЃСѓРЅРѕРє. Почтовый клиент, пытаясь загрузить СЂРёСЃСѓРЅРѕРє, запускает исполняемый файл.
Примечание
MIME – Рњultipurpose Internet Рњail Extension – почтовый стандарт Рнтернета: кодирование РІ РѕРґРЅРѕРј сообщении текстовой Рё нетекстовой информации (графики, архивов Рё РїСЂ.) для передачи РїРѕ электронной почте.
Опасность кроется не только в присылаемых EXE-файлах. Существует малоизвестная возможность выполнения сценариев в HLP– и CHM-файлах, причем эти сценарии позволяют запускать исполняемые файлы, поэтому следует остерегаться любых непрошеных сообщений электронной почты.
Если РІС‹ предпочитаете использовать для серфинга Internet Explorer, установите высокий уровень безопасности. Для этого выполните команду меню Сервис в†’ Свойства обозревателя, РІ появившемся РѕРєРЅРµ перейдите РЅР° вкладку Безопасность, выберите категорию Рнтернет, РІ нижней части РѕРєРЅР° нажмите РєРЅРѕРїРєСѓ Другой, РІ открывшемся РѕРєРЅРµ Параметры безопасности выберите РёР· СЃРїРёСЃРєР° РќР° уровень РїСѓРЅРєС‚ Высокий Рё нажмите РєРЅРѕРїРєСѓ OK.
Пользователи часто работают РІ Рнтернете СЃ правами администратора, соответственно, злоумышленник, получивший доступ Рє компьютеру посредством, например, атаки РЅР° Internet Explorer, получит те же права, поэтому для работы РІ Рнтернете следует завести отдельную учетную запись, наделив ее минимальными правами.
Червь Lovesan использовал уязвимость в сервисе Microsoft RPC (Remote Procedure Call – удаленное выполнение команд). Рхотя эта уязвимость устранена, если служба DCOM (Distributed Component Object Model – модель распределенных компонентных объектов) вам не нужна, лучше отключить ее, а заодно и остальные ненужные сервисы. Чтобы проверить список запущенных служб, следует выполнить команду меню Пуск → Выполнить и в окне Запуск программы ввести cmd. В появившемся окне командной строки введите команду net start. На рис. 1.1 показан пример списка работающих служб.
Рис. 1.1. Вывод списка запущенных служб
Чтобы отредактировать список автоматически запускающихся служб, следует выполнить команду Пуск → Панель управления, выбрать категорию Производительность и обслуживание, затем Администрирование, после чего щелкнуть на ярлыке Службы. Двойной щелчок на выбранной службе покажет информацию о ее назначении и позволит изменить статус запуска. Если вы сомневаетесь в необходимости служб, можно постепенно отключать их, наблюдая за реакцией системы.
Р’ Рнтернете существует достаточное количество руководств, РїРѕРґСЂРѕР±РЅРѕ описывающих назначение системных служб Windows. РћРґРЅРѕ РёР· РЅРёС… можно найти РїРѕ адресу http://www.oszone.net/display.php?id=2357 . Желательно отключить нулевую сессию (Null Session), позволяющую подключиться Рє системе, основанной РЅР° Windows NT, без РІРІРѕРґР° имени пользователя Рё пароля. РџСЂРё включенной нулевой сессии анонимный пользователь может получить большое количество информации Рѕ конфигурации системы, которую сможет использовать РІ дальнейших действиях (СЃРїРёСЃРѕРє ресурсов, предоставленных для общего доступа, СЃРїРёСЃРѕРє пользователей, рабочих РіСЂСѓРїРї Рё С‚. Рґ.). Открытый 139-Р№ РїРѕСЂС‚ относится Рє категории серьезных уязвимостей. Чтобы отключить нулевую сессию, необходимо выполнить команду меню РџСѓСЃРє в†’ Выполнить Рё набрать РІ строке Открыть команду regedit. Р’ разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa для Windows 2000/XP/2003 нужно задать параметру restrictanonymous значение 2 (тип – REG_DWORD), для Windows NT3.5/NT4.0 – значение 1. Для Windows 2000/XP/2003 РІ разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver нужно задать для параметра RestrictNullSessionAccess значение 1 (тип параметра – REG_DWORD), Р° для Windows NT3.5/NT4.0 это можно сделать РІ разделе системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters. Если таких параметров нет, РёС… необходимо создать.
После внесения изменений требуется перезагрузка компьютера.
Следует также запретить скрытые ресурсы C$, D$, ADMIN$. Для этого проще использовать специализированные утилиты. Например, программа LanSafety позволяет сделать это одним щелчком (рис. 1.2).
Рис. 1.2. Рабочее окно программы LanSafety
Желательно использовать файловую систему NTFS, которая позволит разграничить доступ к ресурсам вашего компьютера и усложнит процесс локального взлома базы SAM.
Ранние версии Microsoft Word и Microsoft Ехсеl вместе с открытием документа автоматически запускали сценарии, написанные на языке Visual Вasic for Аррlication, что приводило к заражению компьютера макровирусами. Последние версии этих приложений запрашивают у пользователя подтверждение запуска сценариев.
Рто далеко РЅРµ РІСЃРµ мероприятия, которые нужно выполнить для повышения СѓСЂРѕРІРЅСЏ безопасности работы РЅР° компьютере. Обязательно следует установить антивирус, включить брандмауэр Рё использовать РґСЂСѓРіРёРµ программы, Рѕ которых будет рассказано РІ следующих главах.
Социальный инжиниринг
Среди специалистов по информационной безопасности распространено мнение, что компьютерная защита – это постоянная борьба с глупостью пользователей и интеллектом хакеров. Отсюда следует, что наиболее уязвимое звено в защите – человек. Существуют и системные уязвимости, которые становятся источником массовых эпидемий (достаточно вспомнить червь Lovsan aka W32. Blaster, использовавший уязвимость в RPC DCOM). Здесь, к сожалению, пользователь бессилен, и бороться с этим можно либо постоянно устанавливая всевозможные заплатки, либо сменив операционную систему на более безопасную, а от последствий действий пользователя порой не спасет ничто.
Внимание!
Часто пользователь становится источником своих же проблем: будьте внимательны при работе с письмами неизвестных отправителей, пользуйтесь антивирусом и брандмауэром.
Разработчики вирусов используют те же приемы, что и маркетологи, и всегда найдется хотя бы один человек из ста, который, несмотря на предупреждения, сочтет полученное неизвестно от кого письмо безопасным и откроет его, понадеявшись на защиту антивируса. Для достижения цели вирусописатели (как, впрочем, и другие мошенники, в том числе и в реальном мире) используют человеческие слабости:
• недостаточную подготовку;
• желание выделиться;
• тягу мгновенно разбогатеть или получить что-то даром;
• жалость и милосердие;
• желание посмотреть «интересные» картинки;
• интерес к продукту, который нужен некоторой части населения или который невозможно достать;
• интерес к методикам быстрого обогащения с помощью финансовых пирамид, суперидеям для успешного ведения бизнеса или беспроигрышной игры в казино;
• доверие к заплаткам, якобы направленным пользователю заботливым сотрудником компании Microsoft.
Р’ последнее время начали появляться ложные сообщения РѕС‚ сотрудника антивирусной компании Рѕ РІРёСЂСѓСЃРµ, СЏРєРѕР±С‹ найденном РІ отправленном пользователем сообщении, или Рѕ начале РЅРѕРІРѕР№ эпидемии. Чтобы обезопасить пользователя, «доброжелатель» прикрепляет Рє РїРёСЃСЊРјСѓ файл, СЃ помощью которого этот РІРёСЂСѓСЃ можно удалить. После запуска этого файла РЅР° компьютере будет установлен троянец. Чтобы РЅРµ вызвать подозрение пользователя, РІ РїРёСЃСЊРјРµ часто обращаются совсем Рє РґСЂСѓРіРѕРјСѓ человеку. РџСЂРё этом РІ теме сообщения может говориться, что «найден классный сайт, продающий дешевый товар»; к самому РїРёСЃСЊРјСѓ РјРѕРіСѓС‚ прикрепляться фотографии «со студенческой вечеринки» СЃ РїСЂРѕСЃСЊР±РѕР№ «никому РЅРµ показывать»; РІВ РїРёСЃСЊРјРµ может быть ссылка РЅР° «очень нужную программу» Рё С‚. Рґ. Рто делается, чтобы убедить получателя, что РїРёСЃСЊРјРѕ попало Рє нему случайно, РЅРѕ информация может быть для него интересной.
Пожалуй, единственным путем распространения вирусов через ICQ является передача файлов, поэтому необходимо быть очень осторожным с предложениями загрузить файл от постороннего человека.
Операционная система не всегда способна правильно выдать информацию о запускаемом файле. По умолчанию Microsoft Windows не показывает зарегистрированные расширения имен. В результате имя файла foto.jpg.ехе будет показано как foto.jpg. Для маскировки реального расширения применяется двойное расширение вроде xxx.jpg.exe (в данном случае может помочь то, что некоторые почтовые серверы отказываются пропускать исполняемые файлы) или добавляется большое количество пробелов, из-за чего имя файла отображается не полностью.
Совет
Включите отображение расширения файлов, выполнив команду Сервис → Свойства папки и сняв флажок Скрывать расширение для зарегистрированных типов файлов на вкладке Вид.
Значки – это отдельная тема. Большинство пользователей РґРѕ СЃРёС… РїРѕСЂ думают, что запускаемую программу определяет значок. Щелкнув РЅР° значке СЃ изображением калькулятора, РѕРЅРё ожидают, что запустится именно калькулятор, Р° РЅРµ какой-РЅРёР±СѓРґСЊ W32.Bagle-Рђ. Ртим пользуются злоумышленники: высылают файл СЃ двойным расширением типа creditcard.doc.exe Рё значком, обычно используемым для документов Microsoft Word. Второе расширение чаще всего скрыто, Рё пользователь РЅРµ сомневается, что РїРѕ почте пришел именно текстовый документ.
В ближайшее время компьютерная грамотность вряд ли достигнет уровня, когда можно будет забыть о человеческом факторе, поэтому един ственный совет, который можно дать, – будьте бдительны и внимательны, критически относитесь к различным предложениям и не открывайте подозрительные письма.