Суббота, 23.11.2024, 21:21

Приветствую Вас Гость | RSS

Главная » 2009 » Декабрь » 24 » Компьютерная безопасность: вирусы
15:34
Компьютерная безопасность: вирусы
Дату, когда появился самый первый вирус, наверное, уже никто и не помнит. Но задолго до этого предсказывали изобретение компьютерных программ, способных размножаться. По-настоящему громко вирусы заявили о себе на машинах IBM PC, от которых и ведет свою историю современная настольная компьютерная техника.

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

Файловые вирусы были довольно примитивными и распространялись достаточно медленно - ведь чтобы произошло заражение, нужно было запустить уже "инфицированную" программу. Очевидно, если работать с ней редко или вообще не использовать, вы будете в безопасности. Другое дело, если в качестве жертвы выбирался часто запускаемый файл, например COMMAND.COM. Эта программа автоматически загружается при старте системы, а значит является наиболее желанной жертвой. Если вирус заражал COMMAND.COM и имел функции поиска по дереву каталогов, то вскоре весь компьютер "заболевал". Однако COMMAND.COM всегда на виду, поэтому многие "продвинутые" пользователи постоянно проверяли, не изменился ли его размер. Да и антивирусы приносили большую пользу. Следовательно, появились даже такие вирусы, которые сознательно обходили стороной COMMAND.COM - чтобы не "засветиться".

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

Резидентные вирусы "за бесплатно" получили "stealth" возможности: отслеживая обращения к зараженным программам, можно выдавать ложные сведения о размере и даже на время "выкусывать" из них вирусный код. То есть "продвинутый" юзер мог сколько угодно рассматривать COMMAND.COM - резидентный stealth-вирус маскировал все изменения. Не очень умные антивирусы тоже оказывались не у дел - stealth следил за зараженными файлами, при открытии из них самоудалялся, а при закрытии устанавливался обратно.

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

Почему же DOS'овые вирусы чувствовали себя так вольготно? Да потому, что ОС DOS не имела никаких механизмов защиты: хочешь - садись в память, хочешь - записывайся в файлы или хоть вовсе стирай их. Впрочем, винить во всех грехах DOS будет несправедливо. Ведь он проектировался для слабеньких компьютеров, в которых каждый байт памяти и каждый такт процессора были на счету. Возможно, поэтому разработчики не осмелились внедрять модули мониторинга системы. С другой стороны, ввести элементарные пароли и разграничение прав доступа к файлам на диске не помешало бы.

После массового перехода на Windows думалось: "Все, вирусам конец". Обо всех старых подходах и разработках можно было сразу забыть. Дело в том, что Windows работает в защищенном режиме, где принцип работы с памятью в корне отличается от DOS'овского. Ни о каких резидентах не могло быть и речи - ну что это за вирус, который будет висеть на панели задач ? (Конечно, я немного утрирую, сделать программу относительно невидимой можно и в Windows, но тотально контролировать систему не получится, в принципе). Но болезни настигли и Windows. Сравнивать их с "ужасами" файлово-бутово-резидентных stealth-вирусов язык не поворачивается. Тем не менее, выяснилось, что и в Windows есть некоторые лазейки.

Считалось аксиомой, что текстовый файл заразить нельзя, ни при каких условиях. То ли дело файлы Word'а, которые могут содержать макросы на Visual Basic'е. Программа открывает файл и сразу же может выполнить записанные в нем макросы. По-моему, такого рода вирусы распространились по двум причинам. Во-первых, народ не привык проверять текстовые файлы и до поры до времени просто этого не делал. Во-вторых, Visual Basic простой и понятный язык, программировать на котором гораздо проще, чем на Ассемблере. Если практически любой резидентный DOS-вирус был "произведением искусства", то макрос на Visual Basic'е ничего особенного из себя не представляет. Basic в школе проходили почти все - вот и получили инфекции для Word'а, Excel'я и теоретически для всех программ, файлы которых могут содержать автоматически выполняемые команды.

И еще один момент: "продвинутый" пользователь, работая в DOS'е, внимательно следил за винтом и дисководом. И если при запуске внешне безобидной программы наблюдалось подозрительно долгое шуршание диска, сразу вставал вопрос об антивирусе. Что же мы происходит в Windows? Ни с того ни с сего заработал винт? Так это ж винда свопится, разве непонятно?! Признайтесь честно, обращали ли Вы внимание на то, что происходит внезапное обращение к жесткому диску? Я уже не говорю о том, что отследить скорость загрузки программы или документа в Windows нереально - спасибо хитрому кэшированию. Нет, я не ругаю Винду (вон даже с большой буквы написал ), просто "мысли вслух".

Ладно, и с Word'овским вирусами все постепенно свыклись, стали проверять документы перед загрузкой, в общем, относиться к ним с подобающей серьезностью. И получили новый удар в виде Интернет-червей. О подобных программах известно давно - они существовали еще задолго до Windows'а и Outlook'а. Однако в последнее время их поминают все чаще и чаще.

Принцип "работы" червя предельно прост - он рассылается по электронной почте в виде прикрепленного файла, написанного, например, на Visual Basic'е. Windows 95 OSR2 и Windows 98 с установленным Internet Explorer'ом 4-й версии и выше содержат специальный модуль, который может выполнять скрипты на Visual Basic'е. По большому счету, "писателю" не нужно заранее знать, какая система установлена на компьютере, с каким почтовым клиентом работает пользователь и т. п. Все эти данные заблаговременно прописаны в реестре .

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

А теперь самое время перейти к вопросу, в чем же секрет такого бешеного распространения червя ILOVEYOU? На мой взгляд, причина кроется не в технической продвинутости вируса, а... в названии письма и аттачмента! Ну действительно, как не открыть файл с любовным посланием? Даже если он пришел от неизвестного адресата. А вдруг это прекрасная фотомодель, которая всю жизнь мечтала о встрече, но только сейчас решилась написать ? К тому же, аттач, в котором, собственно, и содержался код червя, назывался очень хитро "love-letter-for-you.txt.vbs". При установках "по умолчанию" Windows отображает следующее имя "love-letter-for-you.txt", т. е. создается иллюзия самого обычного текстового файла, в котором вирусов быть не может по определению. Дополнительные комментарии излишни…

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

Очевидно, что с DOS'овских времен изменилась сама концепция вирусописательства, методы и технические приемы распространения. Связано это с переходом на Winodws и скорее всего с широким распространением Интернета. Конечно же, по сравнению с DOS'ом, Windows гораздо больше защищена, однако и в ней, особенно в версии 95/98, содержится масса лазеек для вирусов, червей и прочей компьютерной заразы.

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

А быть может, о чудо, выйдет совершенная операционная система Windows 2010, в которой вирус не сможет существовать по определению. Поживем - увидим…
Категория: Взлом и защита | Просмотров: 743 | Добавил: romalex | Теги: вирус | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]