- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Защита от хакеров корпоративных сетей - Коллектив авторов
Шрифт:
Интервал:
Закладка:
Но сам по себе код – это еще не все. Ведь для активизации вируса как минимум должно выполниться его декодирование. А принцип работы антивирусных программ основан на просмотре известных механизмов декодирования, которые применяются в вирусах. Программа сообщает об обнаружении объекта, механизм декодирования которого совпадет с найденным в списке. Что остается делать злым гениям, пишущим вирусы? Можно создать механизм декодирования, также способный к мутациям, или же использовать порядок декодирования, встречающийся в других приложениях. Последний способ создает дополнительные проблемы для антивирусной программы, так как ей приходится отличать фальсифицированный механизм от настоящего.
Этот метод не очень надежен, так как основывается на предположении, что пользователю рано или поздно надоест реагировать на ложные срабатывания антивирусной системы и он ее отключит. А вот первый из упомянутых методов весьма интересен. Рассмотрим следующий порядок действий.
1. Вирус выполняется, используя стандартный механизм декодирования.
2. После декодирования вируса запускается на выполнение зашифрованная часть кода. С этого момента выполняемый код теоретически нераспознаваем антивирусной программой.
3. Затем вирус по случайному механизму конструирует алгоритмы кодирования и декодирования. Этот механизм может представлять собой всего лишь оператор, который выбирает между двумя слегка отличными друг от друга операциями, скомбинированными со случайными числами. В итоге из подобных комбинаций могут получиться очень длинные списки.
4. Вирус зашифровывает свою копию с помощью нового алгоритма, полученного в процессе выполнения шага 3.
5. Вместе с новым кодом вирус получает новый алгоритм расшифровки.
В результате каждый раз используется новый механизм кодирования, что затрудняет распознавание вируса. Однако чтобы действительно спрятать вирус от антивирусной программы, нужно гарантировать, что собственно код, необходимый для выполнения «полезной нагрузки» вируса, будет иметь небольшой объем. Наилучшим сценарием является практически немедленный запуск алгоритма кодирования, генерируемого случайным образом. Небольшая задержка требуется всего лишь для активизации кода, который до этого был зашифрован. В принципе, можно воспользоваться уже имеющимися в операционной системе механизмами кодирования. При этом величина кода вируса уменьшится (соответственно снизится вероятность его распознавания антивирусной программой), но вам придется полагаться на ресурсы операционной системы, которые могут и отсутствовать.
Инфицирование различных платформ
Самой большой проблемой, с которой создатели вирусов сталкиваются в наши дни, является невозможность заражения всех возможных компьютеров. Несмотря на монополию фирмы Microsoft, существуют пользователи, работающие в операционных системах, отличных от Windows 9x, кроме того, далеко не все пользователи работают с приложениями от Microsoft. Впрочем, существуют эффективные способы распространения вирусов в различной операционной среде. Нужно просто использовать современные технологии.
Java
Обсуждение различных платформ невозможно без упоминания исполняемой среды Java. Именно она используется при написании программного обеспечения для прокрутки баннеров, так как дает возможность создавать сценарии, выполняемые в любом браузере и на любой платформе. Но при этом Java также служит независимым от платформы распространителем вирусов и червей. Если не верите мне на слово, самостоятельно поищите информацию о существующих Java-вирусах. Вирус StrangeBrew поражает файлы с расширением. class, которые являются подключаемыми библиотеками. На их основе и пишутся апплеты. Заражение этих файлов приведет к тому, что любой созданный на их основе апплет будет активировать вирус. Впрочем, избежать разрушительного действия этих вирусов или, по крайней мере, ослабить их эффект, можно, ограничив функциональные возможности виртуальной машины Java на своем компьютере. Также можно отключить поддержку Java в браузере. Среди распространенных в наше время Java-вирусов стоит упомянуть Beanhive, CrashComm и DiskHog.
Макровирусы
Напомним, что макровирусы обычно связаны с определенным приложением; соответственно, они действуют на всех платформах, для которых существуют версии требуемого приложения-жертвы. В частности, различные программы из офисной системы (например, программы Word и Outlook) работают и на платформе MacOS. Это значит, что вредоносный макровирус для приложения Outlook потенциально может инфицировать как PC, так и Macintosh. После решения фирмы Microsoft не ограничивать пакет Office исключительно операционной системой Windows появились различные приложения, например Word, работающие вместе со всеми выполняемыми макросами в операционной системе UNIX.
Перекомпиляция
Замечательную вещь проделывает червь Морриса. Он загружает копию собственного кода с ранее инфицированного компьютера, компилирует ее и затем выполняет полученный таким способом код. Подобный порядок действий позволяет червю хорошо адаптироваться к системе, так как он компилируется именно под нее. Однако это возможно лишь при наличии в системе компилятора – впрочем, они всегда встречаются в различных модификациях UNIX.
Shockwave Flash
Первый вирус для технологии Shockwave Flash появился в конце 2001 года. Он назывался SWF/LFM-926 и имел ограниченную сферу действия, потому что требовал для активизации определенную версию проигрывателя ShockWave Flash. Этот вирус служит замечательным примером того, как вредоносный код может распространяться через безвредные на вид графические апплеты. Вирус SWF/LFM-926 заражает все файлы с расширением SWF, обнаруженные в системе.
Поводы для беспокойства
В прошлом было множество эпидемий вирусов и червей, и ожидается появление новых версий вредоносного кода. Чтобы разубедить тех, кто верит, что постепенно проблема решится сама собой, поговорим о некоторых современных тенденциях.
Червь Морриса
2 ноября 1988 года различные рабочие станции VAX и SUN стали жертвой первой эпидемии Интернет-червя. Этот червь, названный по фамилии своего создателя Роберта Морриса (Robert Morris), используя переполнение буфера в демоне finger, а также недокументированные команды отладки в почтовой системе sendmail, проник на компьютеры с операционной системой Berkeley UNIX. Результат деятельности данного червя впечатляет. Он подбирает зашифрованные пароли, находящиеся в файле /etc/password (в современных UNIX-системах пароли больше не хранятся в этом файле – прим. перев.), с помощью собственной версии программы crypt() (которая работает примерно в четыре раза быстрее аналогичной системной программы), оснащенной словарем из 432 слов. Затем червь сканирует систему, анализирует базу данных полномочий, используемых для обеспечения безопасности rlogin (для этого используется сканирование файлов. rhosts и hosts.equiv), и пытается атаковать систему, указанную в качестве маршрута по умолчанию в таблицах маршрутизации. Если учесть также различные способы, которые использовались, чтобы воспрепятствовать обнаружению червя, без преувеличения можно сказать, что этот первый опыт в области создания червей производит грандиозное впечатление! Настолько грандиозное, что ему посвящен отдельный документ RFC (RFC 1135).
Для самостоятельного изучения червя его код можно загрузить с сайта www.worm.net/worm-src.tar.gz.
ADMw0rm
Популярная группа хакеров ADM, творения которой в свое время создали проблемы многим пользователям, выпустила червя, использующего переполнение буфера в механизме управления запросами BIND (Berkeley Internet Name Domain – служба доменных имен в сети Internet). Копию этого червя можно бесплатно получить на официальном FTP-сайте группы ADM: ftp:// adm.freelsd.net/ADM.
К счастью для Интернета, этот червь предназначен только для компьютеров с операционной системой Linux; впрочем, вполне может найтись человек, который модифицирует его под другие платформы.
Черви Melissa и I love you
Макровирусы Melissa и I love you часто обсуждались в печатных изданиях. Ведь их воздействие было массированным и привело к огромным денежным потерям (8 млрд долл.!). Каким же образом была достигнута подобная эффективность? Тактика их распространения основывалась на знании психологии пользователей. Черви маскировались под письма от друзей и знакомых, потому что для рассылки своих копий они использовали адресную книгу жертвы. Получая письмо с известным обратным адресом, пользователь обычно испытывает определенное доверие к присланному вложению, поэтому вряд ли будет проверять его антивирусной программой.
Червь Melissa имеет достаточно простой код небольшого размера. На его примере мы покажем, насколько простыми могут быть черви:
Private Sub Document Open()On Error Resume Next
Червь Melissa инфицирует макрос Document_Open() в файлах приложения Microsoft Word. Ведь при открытии файла Word выполняется любой код, помещенный в процедуру Document_Open(). То есть для распространения червя Melissa требуется, чтобы пользователь открыл инфицированный документ, присланный по электронной почте.