Автор: Пользователь скрыл имя, 22 Октября 2012 в 13:11, курсовая работа
Современные антивирусные программы различными способами пытаются обнаружить и удалить компьютерные вирусы и другие вредоносные программы, не допустить их проникновение в систему и распространение. Они постоянно совершенствуются разработчиками, но, несмотря на это, ни одна из них не способна дать 100 % защиту.
Целью данной курсовой работы было изучение различного рода разрушающих программных воздействий (вирусов, троянских коней, руткитов и т.д.) и написание на основе полученных знаний реферата.
Происхождение термина
Компьютерный вирус был назван по аналогии с биологическими вирусами за сходный механизм распространения. По всей видимости, впервые слово «вирус» по отношению к программе было употреблено Грегори Бенфордом (Gregory Benford) в фантастическом рассказе «Человек в шрамах», опубликованном в журнале Venture в мае 1970 года. Термин «компьютерный вирус» впоследствии не раз открывался и переоткрывался — так, переменная в программе PERVADE (1975), от значения которой зависело, будет ли программа ANIMAL распространяться по диску, называлась VIRUS. Также, вирусом назвал свои программы Джо Деллинджер (Joe Dellinger), и, вероятно, — это и был первый вирус, названный собственно «вирусом».
Механизм распространения
Вирусы распространяются, копируя свое тело и обеспечивая его последующее исполнение: внедряя себя в исполняемый код других программ, заменяя собой другие программы, прописываясь в автозапуск и другое. Вирусом или его носителем может быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды — например, пакетные файлы и документы Microsoft Word и Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении (например, Adobe Flash, Internet Explorer, Outlook), для чего распространители внедряют его в обычные данные (картинки, тексты, и т. д.) вместе с эксплоитом, использующим уязвимость.
Каналы распространения
Дискеты – самый распространённый канал заражения в 1980-90 годы. Сейчас практически отсутствует из-за появления более распространённых и эффективных каналов и отсутствия флоппи-дисководов на многих современных компьютерах.
Флеш-накопители – в настоящее время USB-флешки заменяют дискеты и повторяют их судьбу — большое количество вирусов распространяется через съёмные накопители, включая цифровые фотоаппараты, цифровые видеокамеры, MP3-плееры, сотовые телефоны. Использование этого канала ранее было преимущественно обусловлено возможностью создания на накопителе специального файла autorun.inf, в котором можно указать программу, запускаемую Проводником Windows при открытии такого накопителя. В последней версии MS Windows под торговым названием Windows 7 возможность автозапуска файлов с переносных носителей была устранена. Флешки — основной источник заражения для компьютеров, не подключённых к Интернету.
Электронная почта – сейчас один из основных каналов распространения вирусов. Обычно вирусы в письмах электронной почты маскируются под безобидные вложения: картинки, документы, музыку, ссылки на сайты. В некоторых письмах могут содержаться действительно только ссылки, то есть в самих письмах может и не быть вредоносного кода, но если открыть такую ссылку, то можно попасть на специально созданный веб-сайт, содержащий вирусный код. Многие почтовые вирусы, попав на компьютер пользователя, затем используют адресную книгу из установленных почтовых клиентов типа Outlook для рассылки самого себя дальше.
Системы обмена мгновенными сообщениями. Также распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и через другие программы мгновенного обмена сообщениями.
Веб-страницы. Возможно также заражение через страницы Интернета ввиду наличия на страницах всемирной паутины различного «активного» содержимого: скриптов, ActiveX-компонент. В этом случае используются уязвимости программного обеспечения, установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (что опаснее, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей), а ничего не подозревающие пользователи, зайдя на такой сайт, рискуют заразить свой компьютер.
Классификация
Ныне существует немало разновидностей
вирусов, различающихся по основному
способу распространения и
В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:
● по поражаемым объектам (файловые вирусы, загрузочные вирусы, скриптовые вирусы, макровирусы, вирусы, поражающие исходный код);
● по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, Linux);
● по технологиям, используемым вирусом (полиморфные вирусы, стелс-вирусы);
● по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, скриптовый язык и др.).
Сетевой червь — разновидность
самовоспроизводящихся
История
Одни из первых экспериментов по использованию компьютерных червей в распределённых вычислениях были проведены в исследовательском центре Xerox в Пало Альто Джоном Шочем (John Shoch) и Йоном Хуппом (Jon Hupp) в 1978. Термин возник под влиянием научно-фантастических романов Дэвида Герролда «Когда ХАРЛИ исполнился год» и Джона Браннера «На ударной волне».
Одним из наиболее известных компьютерных червей является «Червь Морриса», написанный Робертом Моррисом младшим, который был в то время студентом Корнельского Университета. Распространение червя началось 2 ноября 1988, после чего червь быстро заразил большое количество компьютеров, подключённых к интернету.
Структура
Черви могут состоять из различных частей.
Часто выделяют так называемые ОЗУ-резидентные черви, которые могут инфицировать работающую программу и находиться в ОЗУ, при этом не затрагивая жёсткие диски. От таких червей можно избавиться перезапуском компьютера. Такие черви состоят в основном из «инфекционной» части: эксплойта (шелл-кода) и небольшой полезной нагрузки (самого тела червя), которая размещается целиком в ОЗУ. Специфика таких червей заключается в том, что они не загружаются через загрузчик как все обычные исполняемые файлы, а значит, могут рассчитывать только на те динамические библиотеки, которые уже были загружены в память другими программами.
Также существуют черви, которые после успешного инфицирования памяти сохраняют код на жёстком диске и принимают меры для последующего запуска этого кода (например, путём прописывания соответствующих ключей в реестре Windows). От таких червей можно избавиться только при помощи антивируса или подобных инструментов. Зачастую инфекционная часть таких червей (эксплойт, шелл-код) содержит небольшую полезную нагрузку, которая загружается в ОЗУ и может «догрузить» по сети непосредственно само тело червя в виде отдельного файла. Для этого некоторые черви могут содержать в инфекционной части простой TFTP-клиент. Загружаемое таким способом тело червя (обычно отдельный исполняемый файл) теперь отвечает за дальнейшее сканирование и распространение уже с инфицированной системы, а также может содержать более серьёзную, полноценную полезную нагрузку, целью которой может быть, например, нанесение какого-либо вреда (например, DoS-атаки).
Полезная нагрузка
Зачастую черви даже безо всякой полезной нагрузки перегружают и временно выводят из строя сети только за счёт интенсивного распространения. Типичная осмысленная полезная нагрузка может заключаться в порче файлов на компьютере-жертве (в том числе, изменение веб-страниц, «deface»), заранее запрограммированной DDoS-атаке с компьютеров жертв на отдельный веб-сервер, или бэкдор для удалённого контроля над компьютером-жертвой. Часто встречаются случаи, когда новый вирус эксплуатирует бэкдоры, оставленные старым.
Классификация
Основным признаком, по которому различают типы червей, является способ их распространения:
● Email-Worm – по каналам электронной почты;
● IM-Worm – по каналам систем мгновенного обмена сообщениями;
● IRC-Worm – через Internet Relay Chats;
● Net-Worm – в компьютерных сетях без участия пользователя;
● P2P-Worm – по каналам файлообменных пиринговых сетей.
Руткит (англ. rootkit, т.е. «набор root'а») — программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.
Термин Rootkit исторически пришёл из мира UNIX, и под этим термином понимается набор утилит или специальный модуль ядра, которые взломщик устанавливает на взломанной им компьютерной системе сразу после получения прав суперпользователя. Этот набор, как правило, включает в себя разнообразные утилиты для «заметания следов» вторжения в систему, снифферы, сканеры, кейлоггеры, троянские программы, замещающие основные утилиты UNIX (в случае неядерного руткита). Rootkit позволяет взломщику закрепиться во взломанной системе и скрыть следы своей деятельности путём сокрытия файлов, процессов, а также самого присутствия руткита в системе.
Классификация руткитов
По уровню привилегий выделяют:
● руткиты уровня пользователя (user-mode);
● руткиты уровня ядра (kernel-mode).
По принципу действия бывают руткиты:
● изменяющие алгоритмы выполнения системных функций (Modify execution path);
● изменяющие системные структуры данных (Direct kernel object manupulation).
Основные методы реализации
В Windows из-за Windows File Protection переписывание системных файлов затруднено (хотя и его можно обойти!), поэтому основные способы внедрения в систему — модификация памяти.
● перехват системных функций Windows API (API hooking) на уровне пользователя;
● то же на уровне ядра (перехват Native API);
● изменение системных структур данных;
● модификация MBR и загрузка до ядра операционной системы — буткиты (известный представитель BackDoor.MaosBoot).
Данный вид вредоносных кодов очень давно известен в мире Windows и с начала 90х годов прошлого столетия носит название стелс-вируса (Stealth). Кроме того, руткиту нужно как-то поставить себя на автозапуск. Нельзя не признать, что в Windows для этого существуют способы помимо «стандартных».
В UNIX:
● реализуемые подменой основных системных утилит (очень легко обнаруживаются средствами контроля целостности, кроме того, легко блокируются средствами типа SELinux (RedHat) и AppArmor (SUSE));
● реализованные в виде модуля ядра и основанные на патчинге VFS или перехвате таблицы системных вызовов (sys_call_table);
● основанные на модификации физической памяти ядра.
Дополнительные возможности
Кроме непосредственно себя руткит, как правило, может маскировать присутствие в системе любых описанных в его конфигурации каталогов и файлов на диске, ключей в реестре. По этой причине естественным образом появились «навесные» руткитные библиотеки. Многие руткиты устанавливают в систему свои драйверы и службы (они, естественно, также являются «невидимыми»).
Легальные руткиты
Руткиты могут «подкидывать» не только злоумышленники. Небезызвестен случай, когда корпорация Sony встраивала подобие руткита в свои лицензионные аудиодиски (см. Защита от несанкционированного копирования – Защита аудио компакт-дисков). Руткитами по сути является большинство программных средств защиты от копирования (и средств обхода этих защит — например, эмуляторы CD и DVD приводов). От «нелегальных» они отличаются только тем, что ставятся с ведома пользователя.
Вредоносные программы, разработанные для автоматизации создания других вирусов, червей или троянских программ, организации DoS-атак на удаленные сервера, взлома других компьютеров и т.п. В отличие от вирусов, червей и троянских программ, представители данной категории не представляют угрозы компьютеру, на котором исполняются.
Основным признаком, по которому различают вредоносные утилиты, являются совершаемые ими действия.
Constructor – предназначены для изготовления новых компьютерных вирусов, червей и троянских программ. Подобные программы позволяют генерировать исходные тексты вредоносных программ, объектные модули и непосредственно зараженные файлы. Некоторые конструкторы снабжены стандартным оконным интерфейсом, где при помощи системы меню можно выбрать тип вредоносной программы, наличие или отсутствие самошифровки, противодействие отладчику и т.п.
DoS – предназначены для проведения DoS-атаки с ведома пользователя на компьютер-жертву.
Email-Flooder, IM-Flooder, SMS-Flooder – предназначены для «забивания мусором» соответственно каналов электронной почты, интернет-пейджеров или каналов передачи SMS-сообщений.
HackTool – используются злоумышленниками при организации атак на локальный или удаленный компьютер (например, несанкционированное пользователем внесение нелегального пользователя в список разрешенных посетителей системы; очистка системных журналов с целью сокрытия следов присутствия в системе; снифферы с выраженным вредоносным функционалом и т.д.).
Hoax – не причиняют компьютеру какого-либо прямого вреда, однако выводят сообщения о том, что такой вред уже причинен, либо будет причинен при каких-либо условиях, либо предупреждают пользователя о несуществующей опасности.
Spoofer – позволяют отправлять сообщения и сетевые запросы с поддельным адресом отправителя.
VirTool – позволяют злоумышленнику модифицировать другие вредоносные программы таким образом, чтобы они не детектировались антивирусным программным обеспечением.
Программы поведений Adware, Pornware и Riskware – это программы, которые разрабатываются и распространяются абсолютно легально и могут использоваться в повседневной работе, например, системных администраторов. Но в то же время они обладают функциями, которые могут причинить вред пользователю. Например, если программа удаленного администрирования установлена на компьютер пользователя системным администратором, то ничего страшного в этом нет, т.к. администратор всего лишь получает возможность удаленно решать возникающие у пользователя проблемы. Но если та же программа установлена на компьютер пользователя злоумышленником, то он, фактически, получает полный контроль над компьютером-жертвой и в дальнейшем может использовать его по своему усмотрению. Таким образом, подобные программы могут быть использованы как во благо, так и во вред – в зависимости от того, в чьих руках они находятся.
Adware
Adware – рекламное программное обеспечение, предназначенное для показа рекламных сообщений (чаще всего, в виде графических баннеров); перенаправления поисковых запросов на рекламные веб-страницы; а также для сбора данных маркетингового характера об активности пользователя (например, какие тематические сайты посещает пользователь), позволяющих сделать рекламу более таргетированной.