Виды компьютерных вирусов и способы борьбы с ними

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 03.07.2014
Размер файла 22,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

Одной из ключевых черт наступающей постиндустриальной эпохи считается повсеместная информатизация. Её основным объектом являются вычислительные устройства информационной эры - компьютеры. Огромное количество обрабатываемой ими информации требует автоматизированного подхода к организации вычислений, уменьшающего вероятность ошибок путём снижения человеческого фактора. Как следствие такого подхода появился особый класс угроз безопасности информации - компьютерные вирусы. Наносимый ими ущерб и систематическое принятие мер по защите от них информационных систем различных типов демонстрируют высокую актуальность задачи антивирусной защиты.

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

Вышеприведённые аргументы одинаково верны для вычислительных систем всех архитектур, предусматривающих представление программного кода в качестве отдельной сущности, однако актуальность вирусных угроз сильно варьирует между отдельными системами. В числе причин такого положения традиционно называют:

- различие в популярности между системами (на более распространённую систему целесообразнее ориентироваться при написании вредоносных программ);

- высокая степень дивергенции в пределах некоторых систем (различия в программных интерфейсах затрудняют написанию вредоносного кода);

- возраст систем (чем старше система, тем больше программистов владеют навыками написания программ и тем больше документации создано энтузиастами);

- монолитность/модульность архитектуры (чем уже круг возможностей, доступных при написания программ, тем сложнее создателям вредоносного кода).

Примером существующего долгое время популярного класса систем с единым стабильным API, для которых высоко актуальна задача антивирусной защиты является семейство ОС Windows. ОС семейства Unix, считаются менее подверженными вирусным угрозам из-за их меньшего распространения и значительных различий между доступными в них наборами стабильных API. Промежуточное положение между указанными системами занимает Google Android. Основанная на коде Android Open Source Project и ядре Linux и поддерживающая обширный спектр устройств с разнообразными аппаратными возможностям, она занимает одно из ведущих (по состоянию на 2013/14 года) положение в своей нише по числу проданных устройств и распространённости среди пользователей. При противодействии вредоносному коду, ориентированному на работу в OC Google Android следует принимать во внимание её отличительные особенности:

- комбинация системной песочницы и интерпретирующего слоя для изоляции приложений друг от друга и достижения прозрачной совместимости между различными процессорными архитектурами;

- поддержка ряда специфичных типов периферийных устройств и протоколов и протоколов связи, таких как LTE и NFC;

- внесение производителями устройств значительных изменений в код ОС;

- использование единого механизма установки приложений при помощи .apk-файлов, нередко являющегося единственным способом внесения изменений в системные компоненты, доступным пользователю.

Указанные факторы в отдельности не являются эксклюзивными для Android, но их комбинация делает создание антивирусных средств для ОС Android нетривиальной задачей. Её решению и посвящена данная работа.

1. Типы и классификация вредоносного ПО.

Классификация вредоносного кода возможна по следующим признакам:

- цели и задачи вредоносного кода;

- автономность;

- способность к самовоспроизведению;

- резидентность;

- скрытность;

- способность противодействовать уничтожению;

- способ и стадия внедрения вредоносного кода в ИС;

- поражаемые компоненты ИС.

Цели вредоносного кода позволяют классифицировать его на программ-парольных воров, хакерские утилиты, дропперов и так далее, но данная классификация ортогональна понятию «вируса» как механизмы работы вредоносного ПО и рассматриваться здесь не будет.

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

Способность к самовоспроизведению - отличительная черта компьютерных вирусов. Вирусы, уничтожающие свою предыдущую копию при распространении практически не встречаются на практике.

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

Скрытность не является неотъемлемым качеством вирусов и нередко ограничивается маскировкой под поражаемый файл. Вредоносный код, производящий сокрытие от выявления путём перехвата системных вызовов, модификацией структур в памяти и так далее называется руткитами. Тем не менее, во многих современных и исторически успешных вирусах руткиты используются крайне специфичным образом, что должно учитываться при создании антивирусов.

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

В зависимости от способа и стадии внедрения выделяют следующие группы вредоносных программ:

- загрузочные (поражающие код начальной загрузки системы);

- поражающие исходный код программ;

- поражающие объектный код программ;

- поражающие двоичный код программ;

- поражающие образ программы в памяти;

- поражающие сетевой трафик;

- поражающие архивированный исполняемый код

и многие другие. В настоящее время не существует элементов компьютерной системы, не поражавшихся компьютерными вирусами на какой-либо стадии их работы.

Из вышесказанного выведем следующие признаки вирусов, важные в рамках задачи написания антивирусной программы (в порядке убывания важности):

- вирусы являются вредоносным ПО и наследуют все его общие черты (несанкционированный доступ у информации, разрушительные свойства);

- вирусы способны к созданию, как правило, долгоживущих копий своего кода в постоянной памяти вычислительных устройств;

- вирусы автономны, способны выполнять функции распространения и часть вредоносных действий, включая заражение элементов системы, без вмешательства создателя;

- вирусы могут скрывать себя от обнаружения путём внедрения в существующие файлы, а также другими способами.

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

Разновидности вирусов и способы борьбы с ними.

При классификации вирусов традиционно опираются на следующие функции:

- типы поражаемых файлов;

- способ внедрения в файл;

- шифрование;

- полиморфность;

- метод выбора жертв;

- средства создания.

По типу поражаемых файлов вирусы делятся на

- загрузочные;

- кроссплатформенные (макровирусы, Java-, Python-, PHP- вирусы и так далее);

- поражающие исполняемые файлы и разделяемые файлы библиотек (или и те и другие);

- поражающие файлы драйверов;

- поражающие файлы исходного кода, объектного кода и системы контроля версий.

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

Шифрованные вирусы затрудняют своё обнаружение и анализ путём использования обратимых преобразований криптографического характера над своим кодом. Их легче всего обнаруживать эмуляцией кода расшифровки или эвристически - путём сравнения энтропии файла (которая возрастает при шифровании) с энтропией похожих файлов данного типы.

Полиморфность основана на технологии шифрования и представляет собой тот же самый шифрованный вирус, но с тем лишь различием, что расшифровщик этого вируса не постоянный. Расшифровщик постоянно мутирует, что позволяет обманывать сигнатурные сканеры. От мутации к мутации в вирусе в идеале не должно оставаться постоянных байт. Другими словами, каждый раз мутируя, вирус полностью изменяется. Если сравнить две его различные мутации, то в идеале не должно быть никакого сходства. В отличии от обычных шифрованных вирусов обнаружение полиморфов возможно только эмуляцией (хотя она может быть затруднена) и эвристическими методами.

Метод выбора жертв сильно влияет на последствия заражения системы вирусами, однако ограничен возможностями операционной системы и полномочиями вируса. В ОС Android число файлов-жертв, доступных вирусу невелико, поэтому данная особенность вирусов подробно рассматриваться не будет.

Алгоритмы идентификации кроссплатформенных вирусов осложнены большим числом платформ, пригодных для их создания. К счастью, возможности таких вирусов ограничены, а программы, осуществляющие их выполнение как правило содержат дополнительные встроенные меры защиты. Стоит заметить, что по причинам, описываемым далее, существенная часть программ для Android являются де-факто кроссплатформенными, что делает задачу вирусописателей нетривиальной по сравнению с другими распространёнными ОС.

Значительное влияние на алгоритмы работы вируса оказывают требования, предъявляемые к нему характером полезной нагрузки. Вирусы, играющие роль дропперов для более сложного кода обычно вынуждены хранить его в секциях ресурсов, тогда как вирусы-модули ботнет-сетей нередко используют руткиты для сокрытия своей деятельности. Таким образом, наличие в антивирусном продукте хотя-бы возможности

вредоносный программный кроссплатформенный

2. Проблема вредоносного кода в ОС семейства Unix

Одной из отличительных особенностей всех ОС семейства Unix является концепция "всё - файл", заключающаяся в представлении большинства аспектов системы, включая процессы и память в виде файлов. Казалось бы, подобная архитектура должна упрощать создание вирусов однако на практике произошло обратное. Изначальная ориентация на работу с файлами привела к появлению в файловых системах POSIX-совместимых ОС таких концепций, как «исполняемый бит», «suid-бит» и file capabilities.

Рассмотрим механизмы файловой безопасности, реализованные в ключевом компоненте множества современных вариантов Unix - ядре Linux. Системой поддерживается два типа дискреционного контроля доступа на основе списков контроля доступа (ACL): базовый, соотносящий с каждым файлом одного пользователя и одну группу и расширенный (так называемые, POSIX ACL), позволяющий соотнести с файлом произвольные разрешения для неограниченного количества пользователей и групп. Кроме того в Linux поддерживается своеобразный механизм механизм управления доступом к функциям системы на основе «file capabilities» - расширенных атрибутов файлов, регламентирующих конкретные полномочия, связанные с исполняемыми файлами на уровне ядра. С большинством процессов уровня пользователя связаны исполняемые файлы в соотношении один-к-одному: права процессов определяются характеристиками файлов, инициирующих их запуск. Наибольшую роль при этом традиционно играют следующие два битовых идентификатора.

Когда для запускаемой программы установлен бит «set user ID» (SUID), она будет работать от имени владельца исполняемого файла, а не от имени того, кто запустил программу. Типичное применение данного бита - запуск программы с правами root непривилегированным пользователем может использоваться как хакерами для несанкционированного доступа к информации, так и пользователями и компонентами информационной системы для обеспечения контролируемого повышения привилегий. «Set group ID» (SGID) работает похожим образом. Она позволяет программе наследовать права доступа группы, а не текущего пользователя.

Стоит заметить, что хранение параметров безопасности в атрибутах файлов в Linux является скорее данью традиции, чем неотъемлемым компонентом системы. Описанные правила могут быть дополнены и перезаписаны как при использовании мандатных механизмов управления доступом AppArmor и SELinux, так и различными модулями расширяемой системы PAM, используемой для реализации базовых механизмов безопасности в большинстве серверных дистрибутивов Linux. В первом случае настройки хранятся в виде файлов в файловой системе; во втором - где угодно, в том числе на контролёре домена или в базе данных в памяти при использовании соответствующих модулей PAM.

Вредоносное ПО в ОС Android.

Будучи основанным на ядре Linux, Android наследует большинство положительных и негативных сторон архитектуры безопасности данной системы. Также в Android присутствуют дополнительные механизмы обеспечения безопасности, отсутствующие в большинстве дистрибутивов Linux:

- общесистемная песочница и дополнительный механизм контроля допуска к важным системным ресурсам и (Интернет-трафик, SMS, GPS) на базе файловых прав Linux;

- собственный механизм IPC с поддержкой объявления каждым приложением собственных защищаемых ресурсов и разрешений на доступ к ним в рамках системной дискреционной модели управления доступом;

- система обязательного цифрового подписывания приложений.

Хотя большинство приложений в Android запускаются и завершаются при помощи виртуальной машины на основе байт-кода Dalvik, песочница в Android использует иные механизмы, в первую очередь систему групп и пользователей Linux. Каждое приложение запускается с правами отдельного специально созданного для него пользователя (в отличие от классических дистрибутивов Unix, где с правами одного пользователя запускаются большинство приложений в системе). Только ядро и небольшая часть встроенных сервисов работают с правами системного администратора (пользователя root). В системе отсутствует встроенный способ запуска с правами root пользовательских приложений. При помощи групп доступа контролируется и доступ к большинству периферийных устройств связи, включая кроме вышеупомянутых сетевых карт, GPS и сотового модулей также Bluetooth, NFC и другие. С этой системой прозрачно интегрирован механизм защиты отдельных компонентов приложений при IPC. С точки зрения пользователя с каждой важной функцией, выполняемой отдельным компонентом системы связан ряд «привилегий Android», отображаются пользователю при интерактивной установке использующего её приложения. Также приложения могут производить гибкое управление доступом к информации при помощи «интентов» - межпроцессного средства коммуникации высокого уровня, позволяющего более приложениям с разными уровнями доступа осуществлять работу с общими данными.

Несмотря на внутреннее использование механизма пользователей, и групп Linux, первые версии Android не имели поддержки работы с более чем одним пользователем единовременно. В последующих версиях это было исправлено, но в Android до сих пор отсутствует концепция суперпользователя. Хотя получение UID 0 возможно и не предотвращается системой при определённых обстоятельствах, его поддержка не регламентируется разработчиками системы и большинство производителей устройств отключают эту возможность. Как следствие, пользователи большинства устройств с Android лишены возможности установки и модификации системного ПО, включая исправление программных ошибок и уязвимостей. Эту задачу должны выполнять производители устройств при помощи Over-The-Air обновлений (OTA), но многие из них не выпускают таких обновлений даже в течении действия гарантийного срока устройств. Как следствие, эксплуатация давно известных уязвимостей системы является основным способом несанкционированного доступа к информации в Android, используемым множеством программ-эксплойтов для получения root-доступа.

С целью повышения безопасности системы и облегчения идентификации приложений и разработчиков в Android используется механизм обязательного подписывания приложений. Установка версии приложения поверх установленной версии с другой цифровой подписью запрещается на уровне установщика пакетов. Ряд возможностей системы, такие как использование общего UID несколькими приложениями доступны только при их цифровой подписи одним секретным ключом. Такие меры позволяют пользователю однозначно идентифицировать пару «приложение-разработчик» и обеспечивают защиту от распространённых методик социальной инженерии при условии, что доверенная версия приложения уже установлена в системе. По умолчанию приложения могут быть установлены только из источников, определённых как «доверенные» производителем устройства путем включения соответствующих приложений установщиков (например, Google Play) в заводскую прошивку, но в большинстве устройств пользователи могут поменять данную настройку. Тем не менее, сторонние программы даже после установки приложений не могут производить фоновую установку приложений: пользователю каждый раз будет отображён диалог с запросом подтверждения и информацией о полномочиях, требуемых устанавливаемым приложением для работы.

На основе вышеперечисленных особенностей ОС Android можно сделать вывод, что, так как создание вредоносного кода и средств борьбы с ним являются более чем нетривиальными задачами, при разработке антивирусных средств для данной ОС необходимо ясное понимание образа мышления среднестатистического разработчика вредоносного ПО для Android. Ориентироваться следует на создание максимально совместимого (то есть, использующего преимущественно документированные части API) и легко расширяемого базового комплекта средств, способного быть доработанным и настроенным для использования в различных конфигурациях. Будучи недавно созданной, ОС Android динамически развивается: некоторые API меняются и устаревают добавляются новые для их замены. Как следствие, необходимо разрабатывать модули защиты с минимальным использованием высокоуровневого системного функционала и преимущественной опорой на собственную кодовую базу. Некоторые возможности в Android недоступны пользовательскому ПО, для их использования требуется интеграция программы в прошивку производителем устройства или пользователем, производящим модификацию системных компонентов, в том числе с целью получения root-доступа. Любой функционал, использующий такие возможности должен быть выделен в отдельные модули. Кроме того, следует заметить, что в последнее время наблюдается тенденция по уменьшению возможностей изменения системы со стороны ведущего разработчика ОС (Goggle Inc.) и производителей устройств. Для обхода создаваемых ограничений может понадобиться использовать некоторые недокументированные возможности системы, такие как факт использования ядра Linux и наличие в абсолютном большинстве устройств на основе Android ряда системных сервисов со стабильным API, таких как установщик пакетов.

Вывод

В отчёте были приведены основные типы вредоносных компьютерных программ, выделен из них и разбит на подгруппы класс вирусов, рассмотрены проблемы защиты информации, связанные с ними и применяющиеся в настоящее время способы их решения.

Список литературы

1. Уголовно-процессуальный кодекс Российской Федерации. - М. : Омега-Л, 2014.

2. ГОСТ Р 51275-2006 «Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения» от 1 февраля 2008 г.

3. ГОСТ Р 51188-98 «Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство» от 1 января 2003 г.

4. Гошко, С. В. Энциклопедия по защите от вирусов / С.В. Гошко - М.: СОЛОН-Пресс, 2010.

Размещено на Allbest.ru


Подобные документы

  • Зарождение компьютерных вирусов. Пути проникновения вирусов в компьютер и механизм распределения вирусных программ. Признаки появления вирусов. Обезвреживание вирусов. Меры профилактики. Классификация вирусов по деструктивным возможностям.

    реферат [16,7 K], добавлен 01.12.2006

  • Особенности и принципы безопасности программного обеспечения. Причины создания вирусов для заражения компьютерных программ. Общая характеристика компьютерных вирусов и средств нейтрализации их. Классификация методов защиты от компьютерных вирусов.

    реферат [21,7 K], добавлен 08.05.2012

  • Понятие, классификация компьютерных вирусов. Описание типов вирусов-шпионов. Интернет и локальные сети (черви). Механизм распространения вредоносного программного обеспечения и методы борьбы с ним. Профилактические мероприятия. Способы решения проблемы.

    реферат [30,9 K], добавлен 13.11.2016

  • Описания вредоносного программного обеспечения. Анализ классических компьютерных вирусов. Особенности троянских программ и сетевых червей. Среда существования вирусов. Признаки появления и способы заражения вирусами. Программные антивирусные средства.

    презентация [934,7 K], добавлен 23.09.2015

  • История появления компьютерных вирусов как разновидности программ, особенностью которых является саморепликация. Классификация компьютерных вирусов, пути их распространения. Меры предосторожности от заражения компьютера. Сравнение антивирусных программ.

    курсовая работа [2,8 M], добавлен 06.08.2013

  • Краткий экскурс в историю развития вирусов. Социальные аспекты проблемы компьютерных вирусов. Способы противодействия компьютерным вирусам. Термины, применяемые при обсуждении антивирусных программ. Вирусы, их классификация. Отношение к авторам вирусов.

    курсовая работа [39,0 K], добавлен 21.03.2011

  • Понятие компьютерных вирусов и причины, заставляющие программистов их создавать. Виды и особенности вредоносных программ, пути их распространения. Общие средства защиты информации, профилактические меры и специализированное ПО для борьбы с вирусами.

    контрольная работа [24,6 K], добавлен 06.08.2013

  • История возникновения компьютерных вирусов, их разновидности, способность мутировать и маскироваться. Типичные симптомы вирусной атаки. Каналы проникновения вирусов, их распознавание. Устройство антивирусных программ. Проверка файлов и способы лечения.

    реферат [22,3 K], добавлен 10.11.2009

  • История создания компьютерных вирусов, их свойства и классификация. Пути проникновения компьютерных вирусов в компьютер и способы защиты от них. Понятие антивирусной программы. Типы специализированных программ для защиты. Обзор существующих приложений.

    курсовая работа [417,3 K], добавлен 05.08.2013

  • Понятие, признаки, классификация и характеристика вредоносных программ. Разнообразие компьютерных вирусов и классификация антивирусных программ. Способы и общие признаки заражения компьютера вирусом. Коммерциализация индустрии написания вирусов.

    курсовая работа [128,1 K], добавлен 24.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.