Набор статей и руководств по дизассемблеру IDA

             

ВИРУСЫ В СКРИПТАХ IDA - часть 6



В этом случае нарушиться оперативность пополнения антивирусных баз и эпидемия рискует охватить большое число пользователей и принести огромный убыток множеству фирм. Ведь наработки профессионала стоят значительно дороже, чем множество игрушек на компьютере "общего назначения".
К тому же если программы сегодня практически уже не копируют друг у друга, а приобретают лицензионный диск (без шуток - мы говорим о высокооплачиваемых профессионалах!) или идут непосредственно на сайт разработчика, то документы все интенсивно копируют друг и друга!
И этому воспрепятствовать никак нельзя! Сейчас стандартом для распространения документов стал формат Word, электронных таблиц - Exel_ неудивительно, что распространение макровирусов приняло характер эпидемии.
Выходом является передача данных в "чистом" виде без макросов и любых автоматически исполняемых модулей. Например, Word поддерживает RTF формат, в котором распространение вирусов невозможно.
Однако, необходимо убедиться, что это именно RTF, поскольку активный вирус может перехватить управление и сохранить файл как документ ворд с макросами, но с расширением 'rft'. Word проигнорирует несоответствие расширения с внутренним содержанием и вирус продолжит свое существование.
Но это не решает проблемы в том случае, когда требуется передача именно макросов или даже сложных программ на из основе. Например, для Exel существует много бизнес-программ, состоящих из тысяч строк кода. Затеряться в них вирусу не составит никаких трудностей. Причем, если исполняемые файлы инфицируются всего несколькими путями, то в макро-программы вирусы внедряются в любую точку кода или процедуры. Поэтому написание эвристических анализаторов представляет неразрешимую на сегодня проблему.
Браузеры так же поддерживают скриты Бацика и Java, не считая остальных команд появившихся в результате интеграции с операционной системой. Для них могут использоваться многие приведенные выше приемы прорыва за пределы виртуальной машины. И ведь Интернет и HTML вирусы уже существуют не первый день и наблюдают активное пополнение в своем полку.
Антивирусные средства не могут быть эффективными против них. Можно охватить одно-два-три распространенных приложения, но сколько при этом останутся за кадром, где вирусы смогут бесконтрольно плодится и делать все что им вздумается?
Решение проблемы заключается не в совершенствовании антивирусов, а в усилении безопасности со стороны разработчиков программных пакетов. Прежде всего необходимо раздельно сохранять макросы и содержимое документов. Причем макросы должны записываться в обычный текстовой файл, изучить которой можно средствами гарантирующими неискаженное отображение содержимого. Виртуальность интерпретаторов необходимо усилить и в первую очередь вирутализировать файловый ввод \ вывод или вообще отказаться от него перейдя к концепции синхронных и асинхронных потоков. Очень заманчиво воспользоваться появившимся в Windows 95 пространством имен. Суть его заключается в том, что приложения оперируют не с физическими файлами, а с объектами OLE. Грубо говоря можно сделать так, что при перезаписи файла потребуется разрешение от самого файла!
Но даже такие меры не позволят полностью искоренить вирусы, а только затормозить их развитие и немного обезопасить пользователя. Как бы ни совершенствовались системы защиты, всегда найдутся способы их обойти. Даже в тех случаях, когда это будет невозможно. Существуют же "психологические" вирусы. Да, на полном серьезен без шуток. Такие вирусы есть. Правда летальных исходов не было, но кто гарантирует, что для некоторых людей со слабым сердцем вирус окажется безвреден?
Разумеется, речь идет о так называемых "письмах" счастья и прочей подобной чепухе, посящей разослать себя по многочисленным адресами. И ведь рассылают. И не только рассылают! Еще форматируют жесткие диски и хватаются за сердце при сообщении "все ваши файлы заражены".
Злоумышленники часто пишут от чужого имени и предлагают выполнить команды в стиле "deltree" для удаления вируса с диска. Защититься от них практически невозможно. В IDA некоторые "насекомые" распространяются через человека, то есть сообщают какие операции стоит ему выполнить, что бы скрип заработал. Разумеется, что в ряде случаев эти требования выполняются даже высокопрофессиональными специалистами!
Что же тогда говорить о простых пользователях? В одной электронной библиотеке долгое время лежат файл в формате Word, при загрузке которого появлялось сообщение, что для его чтения нужно использовать другую версию программы или сделать такие то действия. Как нетрудно догадаться, если пользователь не был сильно продвинут в компьютерах, то скоро вирус оказывался на его жестком диске, вопреки всем системам безопасности. Вирус же сам просил пользователя совершить завуалированную последовательность действий, приводящую к их отключению.
А потому, разработчики антивирусов в равной мере должны защищаться как от вирусов, так и от самих пользователей. Впрочем, от последних даже сильнее. Необходимо по крайней мере использовать не отключаемую защиту и ни в коем случае не доверять пользователю полного контроля над системой.
Массовая компьютеризация привела к тому, что большинство пользователей не обладают даже минимальными познаниями своей вычислительной техники, да и администраторы частенько то же. До тех пор пока не повыситься уровень компьютерной грамотности ситуация не изменится к лучшему.
Вся беда заключается в том, что сложность программного обеспечения с каждым днем все растет, а вместе с ней и время необходимое для полного изучения. Если с интерфейсом кое-как методом проб и ошибок все же разбираются, то возможности интегрированных языков часто остаются "за кадром".
Известный редактор Мульти-Едит написан полностью на собственном языке и его возможности поистине безграничны. При этом редко кто хотя бы в общих чертах представляет себе, что это такое и какая опасность может грозить.
А плагины? Идея возможности наращивания функциональных возможностей приложения за счет подключения внешних модулей завоевала сердца всех разработчиков. Последние версии IDA так же поддерживают ее.
Парадоксально, что мало кто задумывается, что раз плагины содержат "голый" исполняемый код, то вирусы могут великолепно избирать их объектами для атаки. Или любой плагин может содержат закладку или троянский компонент.
Но вот только на вирусы их не поверяют. А впрочем, какие антивирусы это поддерживают? Десятки ни с чем не совместимых форматов не вызывают энтузиазма у разработчиков. А напрасно.
Широко известны случаи распространения вирусов через дополнения к самим антивирусам! Злоумышленнику не надо даже модифицировать файл, вызывая протест со стороны мониторов и дисковых ревизоров. Достаточно только скопировать его в нужный каталог или попросить об этом пользователя.
Что будет дальше? Это зависит только от фантазии и агрессивности злоумышленника. Технически противостоять ситуации антивирусная индустрия не в силах. Так закончится ли когда-нибудь это смутное время вирусных атак и эпидемий? Ведь победило же человечество чуму, холеру_ сейчас борется со СПИДом.
Чем же сложнее победить человеческие творения? Дело в том, что СПИД он один, а человечества очень много миллиардов. Как бы он ни мутировал и не изворачивался - победить его вопрос времени.
А компьютерные вирусы пишутся не один, а многими тысячами людей и еще больше хотя их писать, но в меру своих умственных способностей не могут. Вот так и рождаются все многочисленные троянские программы, банально форматирующие диск.
Специалистов по антивирусам гораздо меньше и они просто не в силах контролировать ситуацию, разрываясь между желанием раскрутить юзера на бабки, обеспечить себя работой на будущее ну и спасти человечество от эпидемии. Покупали бы люди их продукцию если бы постоянно ни слышали леденящие душу истории об очередной распространяющейся со скоростью лесного пожара, заразе?
Пока эта ситуация не измениться вирусы продолжат свое существование. Ведь мы страдаем не от программного кода, а от агрессии человеческой. Победить вирусов, это значит победить злобу на Земле. Но наступит ли такой момент, что ближний ближнему своему не возжелает зла? Ведь компьютер (вирус то есть) это просто инструмент. Точно такой как нож, кастет, пистолет.
Бессмысленно сражаться с вирусами. Бесполезно сажать и наказывать их авторов. Агрессия только умножает агрессию. Необходимо смотреть глубже и устранять те корни, от которых и идет желание причинить другому вред. Вирусы, как выход агрессии не самых худший вариант. Компьютерный террор оставляет после себя обратимые разрушения. Ведь все уничтоженные данные всего можно восстановить (ну пусть с большими или меньшими трудозатратами), а вот когда жертвами становятся живые люди, то оживить их даже усилиями всего человечества невозможно.
Но это уже не имеет отношения к компьютерам. А что антивирусы? Они должны оберегать пользователя от ошибки или неверного шага. Только тогда называться они уже будут "антиюзеры". А что? Ведь пользователь свой главный враг. Никакой вирус не оживет, пока его не запустит человеческая рука не осведомленного в тонкостях программирования пользователя.

KPNC




Содержание  Назад