На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Хакеры и безопасность » Вирусы

Архитектура для вируса

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

                Победить вирусов, все равно что победить злобу человеческую. Агрессивность, желание насолить ближнему своему. Может быть когда-нибудь в будущем это и наступит, но нам приходиться жить в мире, где каждый скаченный из Сети файл может нести угрозу и за поворотом следующей гиперссылки рискует упокоится во прахе жужжащих головок наш жесткий диск (какие именно производители позволяют перешивать микрокод ППЗУ контроллера - читай забивать его мусором - мы промолчим. Но поверьте на слово. По крайне мере один сегодня уже есть). Да еще и CIH вспоминается. Не к добру это. Особенно если перед сном, когда последние наработки еще не зарезервированы, но уже так хочется спать.

                Никто не хочет добровольно ограничивать себя в общении. Хочется всем верить. Обмениваться файлами, документами, интересными и полезными программами. Да не тут-то было! Риск подхватить вируса при такой жизни очень велик и при всей ее привлекательности, приходиться все же десять раз подумать, чем кликнуть мышем по иконке.

                Нет, конечно, в действительности все не так страшно. Существуют антивирусы. И они стало быть стоят на страже нашего порядка и спокойствия. Но стало быть плохо стоят? Ни смотря ни на что эпидемию Чиха антивирусная индустрия предотвратить не могла. Сколько сотен тысяч машин вышло из строя? А за этим можно вспомнить еще свежее в памяти победное шествие Ван-Халфа. И нет никакой надежды (можно даже сказать наоборот) что подобных ситуаций больше никогда не повториться.

                Пока вирусы можно писать их будут писать! Разумеется для этого должна быть определенная продержка со стороны самого компьютера, иначе у злоумышленника ничего не получиться. Разве можно, например, вообразить вирус для игровой приставки <Денди>? Разумеется, нет. Ибо поражать ему будут абсолютно нечего. Картриджи пока еще строят не по флеш технологии и записать в них программно ничего нельзя даже при большом желании.

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

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

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

                Но пока с вирусами бороться приходится другими путями. Однако, большинство из них (те же антивирусы) уничтожают именно следствие, а не причину, то есть вирусописателей. Впрочем, как уже отмечалось в <КТ> со слов Евгения Касперского, некоторые вирусописатели все же уничтожаются:. Как вирусописатели. Говорилось же выше, что это не правильный путь. Этим господа разработки антивирусного обеспечения только освобождают места для новых и вовлекают в уже ставшей азартной игру тех, кто раньше был вообще безразличен к этой проблеме.

                Агрессией стало быть с людьми не справиться. Это лишь вызовет в них ответную агрессию и кровную вражду. Ведь не любят вирусописатели своих коллег-программистов, пусть и с другой стороны баррикады. Ой как не любят. В каждом втором своем творении передают им пару ласковых фраз. Порой и вирус пишут только, что бы сказать <Мужик (нужное вписать), ты не прав!>

                А вот если сделать так, что бы писать вирусы было не интересно? Многие ли тогда продолжат свои занятия? Обратим внимание под какую архитектуру написано больше всего вирусов? Разумеется это Intel 80x86. Для остальных компьютеров вирусы не представляют серьезной угрозы. Счастливые их пользователи, даже слова такого -  антивирус не все слышали

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

                Знали ли они, что знания ассемблера окажутся невостребованными и неконкурентоспособными на сегодняшнем рынке программного обеспечения? Наверняка да! Не могли не знать! Зачем же тогда изучали ассемблер?

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

                Словом он интересен. Это факт. Что бы ни говорили противники       этой фирмы, но раз люди изучают его и программируют, значит,  в нем есть то, что зажигает сердца. Ведь почему-то массово никто не рвется программировать на низком уровне PowerPC, скажем. Ну не лежит к ним сердце вирусописателей и все тут!

                Действительно, как уже отмечалось в трех предыдущих статьях RISC архитектура не представляет ничего интересного на низком уровне. Она создавалась для не для людей, а компиляторов. Человеку невероятно скучно и трудоемко их программировать.

                Вот их и не программируют! Конечно, вирусы есть. Они пишутся на языках высокого уровня, на макросредствах того же Ворда и многих других приложений. Да, они там есть! Но не в таких количествах, как на PC! И возникают гораздо реже, а не с завидным постоянством по несколько штук в день.

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

                Но не скрыт ли в таком прекрасном с виду будущем невидимый издалека, но от этого не менее острый риф? Ведь по сути как действуют антивирусы? Разработчик получает копию вируса в свое распоряжение, после чего снимает с вируса <фас> и <профиль> и добавляет эту информацию в базу, после чего периодически отправляет  пользователям обновление.

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

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

                А как пользователь может обнаружить никак не проявляющего себя вируса? Поэтому разработчики и включили в свои продукты такую <вкусность> как <эвристические анализаторы>. Иными словами возможность обнаружить новые,  дотоле неизвестные науке вирусы.

                Как бы ни был критикуем этот механизм, он все же не так плох, и очень часто срабатывает и выручает. Ведь в CISC архитектурах трудно что либо скрыть. Любой код (ну или почти любой) можно найти по характерным для него инструкциям и последовательностям команд. Иными словами эврестический анализатор - наследует те же идеи, которые впервые применили хакеры в своих автоматических вскрывателях защит (см статью <Хакеры выбирают CISC>)

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

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

                Некоторые фирмы (не будем называть конкретных имен) в погоне за числом поддерживаемых вирусов просто выбирают уникальную последовательность (сигнатуру) на глаз не вникая как этот вирус работает. Иногда это сходит им с рук и вирус действительно успешно обнаруживается и даже корректно лечиться. Но некоторые <насекомые> способны видоизменять свое тело по прошествии определенного времени. И тогда новый клон окажется невидимым для антивируса.

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

                Но при этом трудности следующие -

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

-          увеличиться число ложных срабатываний ибо в RISC ассемблерах инструкции не образуют сколь - нибудь характерных и уникальных последовательностей

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

И быть может в чем-то хорошо, что IBM PC позволяет выливать зло написанием вирусов, а не надеванием на руку кастета и поджиданием  одинокого прохожего в темном переулке? Ведь уничтоженные данные можно восстановить, испорченную материнскую плату заменить новой. Не такая уж большая плата за ненависть, не так ли?

Крис Касперски
Internet Security

Рассылки Subscribe.Ru
Все о защите данных на Идваре
Другие разделы
Прочие опасности
Вирусы
Хакеры
Киберпреступность
Уязвимость ПО
Новое в разделе
Защита данных
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100