Автор работы: Пользователь скрыл имя, 16 Мая 2012 в 20:45, курсовая работа
Чтобы эффективно бороться с вирусами, необходимо иметь представление о «привычках» вирусов и ориентироваться в методах противодействия вирусам. Вирусом называется специально созданная программа, способная самостоятельно распространяться в компьютерной среде. Если вирус попал в компьютер вместе с одной из программ или с файлом документа, то через некоторое время другие программы или файлы на этом компьютере будут заражены. Если компьютер подключен к локальной или глобальной сети, то вирус может распространиться и дальше, на другие компьютеры. Авторы вирусных программ создают их из разных побуждений, однако результаты работы вирусов оказываются, как правило, схожими: инфекции портят программы и документы, находящиеся на компьютере, что часто приводит к их утрате.
Введение……………………………………………………………….……….3
Компьютерные вирусы, их свойства и классификация………......................6
. Свойства компьютерных вирусов ...…………...………………………7
. Классификация компьютерных вирусов ……………….……………..8
Методы защиты от компьютерных вирусов..……………………..………..10
. Сканирование…………………………………………………………..11
. Обнаружение изменений, или контроль целостности……………....12
. Эвристический анализ…………………………………………………13
. Метод резидентного сторожа…………………………………………13
. Вакцинирование программ………………………………………...….13
Типы антивирусных средств………………………………………………..14
4.1. Программы-детекторы………………………………………………...14
4.2. Программы-мониторы………………………………………………....16
4.3. Программы-ревизоры……………………………………………….....19
Защита на основе штатного функционирования…………………….……21
5.1. Защита от сторонних процессов……………………………………...25
5.2 Защита от атак со стороны санкционированных процессов ………..29
Заключение……… …………………………………………………………41
Литература…………………………………………………………………..43
Ревизоры могут обнаружить
любые вирусы, даже ранее неизвестные.
Но для этого необходимо "поставить
на учет” заведомо чистые от вирусов
возможные объекты нападения. Кроме
этого, ревизор не обнаружит вирус,
который попал с новым
В этих случаях у ревизоров один общий недостаток с программами-мониторами: пользователь должен хорошо разбираться во всех таких случаях и сам принимать решения - является ли изменение результатом действия вируса или нет. То есть программы-ревизоры не предназначены для рядового пользователя.
Правда, в последнее время ревизоры дополняются базами сигнатур вирусов, и при подозрении на вирус ревизор тут же осуществляет сканирование в поисках вирусов. Такие ревизоры уже более пригодны для использования рядовыми пользователями.
Простейшая программа-ревизор Microsoft Anti-Virus (MSAV) входит в состав операционной системы MS-DOS. Более известна программа-ревизор Advanced Dikinfoscope (Adinf), созданная Дмитрием Юрьевичем Мостовым. Эта программа, кроме выявления новых вирусов, способна обнаруживать еще и Stelth-вирусы.
5. Защита на основе штатного функционирования.
Прежде всего, приведем известную
укрупненную классификацию
1. "Вредные программы" (трояны).
Отдельные программы, которые
выполняют те или иные деструктивные/
2. «Вирусы».
Программы, обычно не имеющие собственного исполняемого модуля и "живущие" (как правило, заражение осуществляется по средством их присоединения к исполняемому файлу) внутри другого файлового объекта или части физического носителя.
3. «Черви».
Разновидность 1,2,4, использующая
сетевые возможности для
Программы, для исполнения которых требуется определенная среда выполнения (командный интерпретатор, виртуальная машина и т.п.). В эту же группу можем отнести и офисные приложения, позволяющие создавать и подключать макросы.
Что же следует из этой классификации? Да то, что угрозу вирусной атаки несет в себе процесс, по каким-то причинам реализующий то действие, от которого необходимо защититься.
А теперь введем классификацию процессов, или причин, обусловливающих наше недоверие к определенным группам процессов:
- Несанкционированные (сторонние) процессы. Это процессы, которые не требуются пользователю для выполнения своих служебных обязанностей, и которые могут несанкционированно устанавливаться на компьютер (локально, либо удаленно) с различными целями (эксплойты, реализующие атаки на выявленные в системном и прикладном ПО ошибки, вредоносные, шпионские и т.д. программы);
- Критичные процессы. К ним мы отнесем две группы процессов.
К процессам первой группы отнесем те, которые запускаются в системе с привилегированными правами, например, под учетной записью System, для которой механизмы защиты ОС не реализуют разграничительную политику доступа к ресурсам в полном объеме, к процессам второй группы те, которые наиболее вероятно могут быть подвержены атакам, например, это сетевые службы. Атаки на процессы первой группы наиболее критичны, что связано с возможностью расширения привилегий, в пределе – получения полного управления системой, атаки на процессы второй группы наиболее вероятны;
- Скомпрометированные процессы – процессы, содержащие ошибки (уязвимости), ставшие известными, использование которых позволяет осуществить атаку. Отнесение данных процессов в отдельную группу обусловлено тем, что с момента обнаружения уязвимости и до момента устранения ее разработчиком системы или приложения, может пройти несколько месяцев(известны случаи, что и лет). В течение всего этого времени в системе находится известная уязвимость, поэтому система не защищена;
- Процессы, априори обладающие недекларированными (документально не описанными) возможностями. К этой группе мы отнесем процессы, являющиеся средой исполнения (прежде всего, это виртуальные машины, являющиеся средой исполнения для скриптов и апплетов, и офисные приложения, являющиеся средой исполнения для макросов).
Итак, мы выделили группы
процессов, действия которых
- Для упрощения доступа к параметрам в диалоговых окнах;
- Для автоматизации обработки
сложных последовательных
Другими словами, пользователь
может произвольно расширить
возможности используемого
Во-первых, это высокое распространение объектов их поражения, т.е. офисных приложений. Сегодня практически нет таких людей, которые бы не использовали в своей повседневной работе текстовый процессор, электронные таблицы, систему обработки базы данных или мастер презентаций.
Во-вторых, простота создания макро-вирусов. Для того чтобы написать вирус, например, для MS Word, достаточно изучить азы языка программирования VBA. Несмотря на то, что он является самым простым и доступным среди всех остальных языков, вместе с тем, данный язык предоставляет злоумышленникам достаточно возможностей для того, чтобы похитить или уничтожить важную информацию, либо надолго вывести компьютер из строя.
В-третьих, возможность быстрого и широкого распространения макро-вирусов с использованием средств телекоммуникаций, например, по электронной почте.
Стоит также сказать,
что в последнее время макро-
5.1. Защита от сторонних процессов
Очевидно, что наиболее общим и при этом, на мой взгляд, единственно эффективным решением задачи антивирусной защиты в данном случае является предотвращение возможности запуска любого стороннего процесса. Отвечу на вопрос, почему именно защиту от запуска несанкционированных программ, основанную на реализации разграничительной политики доступа к ресурсам, я рассматриваю в качестве единственно возможного эффективного решения проблем, а не какой-либо контроль исполняемого кода (отмечу, что именно такой подход сегодня наиболее широко реализуется представленными на рынке средствами защиты, отсюда, наверное, в первую очередь, и не снимаемая актуальность рассматриваемых проблем ИТ-безопасности). Об этом можно долго говорить, однако, на мой взгляд, ответ очевиден. Во-первых, никогда механизмами контроля никакая задача защиты не может быть решена эффективно в принципе по одной простой причине – даже теоретически невозможно обеспечить полноту базы деструктивного кода. Во-вторых, как мы видим, атаки с использованием деструктивного кода разнородны по своей сути, причем для некоторых их разновидностей (например, эксплойты) сама возможность создания базы деструктивного кода проблематична (если принципиально возможна).
В подтверждение сказанному приведу достаточно наглядную аналогию. Есть самостоятельная задача защиты – контроль программ на наличие в них недекларированных (не описанных в документации) возможностей (НДВ). Проводится подобный контроль НДВ, посредством анализа исходного текста программы. Известно, что трудоемкость проведения подобного анализа сопоставима с трудоемкостью разработки программы, и может составлять месяцы, а иногда и годы. Самое интересное, что и в результате проведения подобного контроля, никто не поручится за то, что программа не содержит НДВ. Антивирусные же средства предлагают нам провести подобный контроль программ в реальном времени, на основании некоего сигнатурного анализа. Если бы все было бы так просто!
Следовательно, остается
только одна возможность
эффективного решения рассматриваемой
задачи защиты, состоящая
в предотвращении на защищаемом
компьютере (непосредственно
на защищаемом компьютере, любые
фильтрующие средства сетевого
трафика в этом случае просто
бессмысленны) запуска любой иной
программы, кроме тех, которые
отнесены к санкционированным
Общий подход к решению состоит в локализации на защищаемом компьютере возможности запуска программ механизмом контроля доступа к ресурсам (разграничения прав доступа к файловым объектам), при условии выполнения требований к полноте и к корректности реализации разграничительной политики доступа.
Под полнотой реализации разграничительной политики доступа в данном случае понимается возможность разграничить доступ ―на выполнение для всех компьютерных ресурсов, с которых возможен запуск программы.
Под корректностью реализации
разграничительной политики доступа
в данном случае понимается предотвращение
любой возможности модификации
разрешенных к запуску
Очевидно, что при реализации на защищаемом компьютере подобного решения, любая сторонняя программа, в том числе, и любая вредоносная программа, не сможет быть запущена. Общность данного решения состоит в том, что не требуется какого- либо анализа (сравнения с эталоном) кода, который в общем случае не может быть осуществлен корректно, не требуется каких-либо выявления сигнатур, составления баз и т.д., т.к. все, что не разрешено, то запрещено, а разрешается только то, в чем мы уверены. Заметим, что при таком решении уже становится неважно, что несанкционированная программа каким-либо способом занесена на компьютер – ее все равно невозможно запустить! Другими слова, не требуется противодействовать занесению вредоносного кода на защищаемый компьютер, что существенно упрощает задачу защиты.
Однако не следует
забывать о разнородности
Как же должна быть реализована защита от запуска деструктивных программ в общем виде, позволяющая эффективно противодействовать их запуску под любой учетной записью, в том числе, и под системной? Напрашивается решение, состоящее в том, чтобы отказаться от реализации разграничительной политики доступа к ресурсам для учетных записей, а реализовать его для процессов (приложений), ведь, в конечном счете, именно работу программ (в том числе, их запуск) мы хотим контролировать.
Видим, что речь зашла об инновационных подходах. Такой подход, например, реализован в Комплексной системе защиты информации (КСЗИ) «Панцирь-К» для ОС Windows 2000/XP/2003 (разработчик ЗАО «НПП «Информационные технологии в бизнесе»), и состоит он в следующем.
Для решения рассматриваемой задачи (и иных задач защиты, которые будут рассмотрены далее) при управлении доступом к ресурсам в КСЗИ (в большинстве механизмов контроля доступа к ресурсам) различаются два самостоятельных субъекта доступа – «пользователь» и «процесс». При этом реализованы следующие схемы задания разграничительной политики доступа к ресурсам:
- Разграничение прав доступа к объектам процессов вне разграничений пользователей (эксклюзивный режим обработки запросов процессов - доступ к объекту разрешается, если он разрешен процессу);
- Разграничение прав доступа к объектам пользователей, вне разграничений процессов (эксклюзивный режим обработки запросов пользователей - доступ к объекту разрешается, если он разрешен пользователю);
- Комбинированное разграничение прав доступа - разграничение прав доступа к объектам процессов в рамках разграничений пользователей (доступ к объекту разрешается, если он разрешен и пользователю, и процессу).
Таким образом, в
качестве субъекта доступа
5.2. Защита от атак со стороны санкционированных процессов