Список работ

Компьютерные вирусы и кибератаки

Реферат по дисциплине Основы программирования

Ефимова П. В., А-05-14

Содержание

Введение

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

Определения

Уязвимости - это ошибки и недоработки в программном обеспечении, которые позволяют скрытно удаленно загрузить и выполнить машинный код.
Вирусописатель - программист, создающий вирусы.
Черный хакер - взломщик компьютерных систем, преследующий корыстные или вредительские цели. Белый хакер - специалист по компьютерной безопасности, помогающий найти уязвимости в компьютерных системах.
Крекер (англ. cracker) - тип компьютерного взломщика (взлом систем защит (в том числе и защит ПО), создатель кряков, взлом компьютерных игр и др.)
Компьютерный вирус - это вид вредоносного программного обеспечения, способного тиражироваться и внедряться в код других программ, системные области памяти, загрузочные секторы, а также распространять свои копии по разнообразным каналам связи.
Сигнатура атаки (вируса) - это характерные признаки вируса, используемые для его обнаружения. Большинство современных антивирусов, сканеров уязвимостей и систем обнаружения вторжений используют синтаксические сигнатуры, взятые непосредственно из тела атаки (файла вируса или сетевого пакета). Также существуют сигнатуры, основанные на поведении или аномалиях, например, слишком агрессивное обращение к какому-либо сетевому порту на компьютере.
COFF- и PE-файлы. Во всех 32-разрядных ОС Windows объектные (.OBJ), библиотечные (.LIB) и исполняемые (.EXE и .DLL) файлы хранятся в едином формате COFF (Common Object File Format), который используется некоторыми системами семейства Unix и ОС VMS.
Формат PE (Portable Executable) является специализацией COFF для хранения исполняемых модулей.
Название Portable Executable связано с тем, что данный формат не зависит от архитектуры процессора, для которого построен исполняемый файл.

Компьютерные вирусы

Способы классификации компьютерных вирусов

  1. По целевой среде.
  2. По объектам-носителям.
  3. По способу заражения.
  4. По принципу выбора жертвы.
  5. По способу размещения в системе в момент выбора жертвы.
  6. По способу активации.
  7. По принципу защиты от удаления.
  8. По степени воздействия.
  9. По виду языка программирования.
  10. По дополнительной вредоносной функциональности.
  11. По среде обитания.
Файловые вирусы делят по механизму заражения:

Виды вирусов

  1. Анти-антивирусный вирус (anti-antivirus virus, retrovirus) - компьютерная вирусная программа, объектом нападения которой являются антивирусные программы.
  2. Вариант вируса, штамм, модификация (variant, modification) - модифицированный вариант одного и того же вируса. Изменения в вирусный код могут вноситься как автором вируса, так и третьим лицом.
  3. Вирусная программа-червь (worm-virus) - паразитическая программа, обладающая механизмом саморазмножения. Программа способна размножать свои копии и не поражает другие компьютерные программы. Проникает на компьютер из сети (чаще всего как вложение в сообщениях электронной почты или через сеть Интернет) и рассылает свои функциональные копии на другие компьютерные сети.
    Вредоносное программное обеспечение из подкласса червей включает: Большинство известных компьютерных червей распространяется следующими способами: Компьютерные черви могут использовать ошибки конфигурации сети (например, чтобы скопировать себя на полностью доступный диск) или бреши в защите операционной системы и приложений.
    Многие черви распространяют свои копии через сеть несколькими способами.
  4. Троянская программа (троянский конь, trojan). Проникает в компьютер под видом легального программного обеспечения, в отличие от вирусов и червей, которые распространяются самопроизвольно. В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и ее передачу злоумышленнику, ее разрушение или злонамеренную модификацию, нарушение работоспособности компьютера, использование ресурсов компьютера в неблаговидных целях.
    Троянские программы классифицируются в соответствии с типом действий, выполняемых ими на компьютере: Также встречаются другие виды троянских программ:
  5. Вирусы-спутники, вирусы-компаньоны (Virus-companion) - формально являются файловыми вирусами. Не внедряются в исполняемые программы. Такие вирусы используют особенность системы DOS, позволяющую программному файлу с тем же названием, но другим расширением действовать с разными приоритетами. Под приоритетом понимают присваиваемый задаче, программе или операции признак, определяющий очередность их выполнения вычислительной системой. Большинство таких вирусов создают COM-файл, который обладает более высоким приоритетом нежели EXE-файлы с тем же самым названием. При запуске файла по имени (без указания расширения) будет запущен файл с расширением СОМ. Такие вирусы могут быть резидентными и маскировать файлы-двойники.
  6. Дроппер (Dropper) - файл-носитель, устанавливающий вирус в систему. Техника, иногда используемая вирусописателями для "прикрытия" вирусов от антивирусных программ.
  7. Зоологический вирус (Zoo virus) - вирус, существующий только в антивирусных лабораториях, в коллекциях исследователей вирусов и не встречающийся в "дикой природе".
  8. Полиморфные вирусы (Polymorphic viruses), или вирусы с самомодифицирующимися расшифровщиками - модифицируют себя в зараженных программах таким образом, что два экземпляра одного и того же вируса могут, вообще говоря, не совпадать ни в одном бите. Такие вирусы не только шифруют свой код, используя различные ключи шифрования, но и содержат код генерации шифровщика и расшифровщика. Это приводит к отсутствию у вируса байтовых сигнатур. Расшифровщик не является постоянным, он уникален для каждого экземпляра вируса.
    Замечание. Одним из простых и эффективных приемов шифрования является модификация каждого байта шифруемого текста с помощью какой-либо обратимой операции. В качестве такой операции можно использовать, например, операцию xor - исключающее ИЛИ. В процессе шифрования выбирается некоторый параметр K (ключ шифрования) и каждый байт B шифруемого текста заменяется на число K xor B. Расшифровщик проделывает ту же самую операцию. Легко видеть, что (K xor B) xor K = B.
    Обычные вирусы могут быть обнаружены по некоторой фиксированной последовательности байт (маске, сигнатуре). Обычные шифрованные вирусы также могут быть обнаружены этим способом. Шифрованные вирусы с изменяющимся ключом шифрования тоже не создают дополнительных трудностей, надо только выделять сигнатуру в теле процедуры шифрования (расшифрования). В полиморфных вирусах расшифровщик не является постоянным - он уникален для каждого экземпляра. Данная особенность не позволяет детектировать вирус упомянутым выше традиционным способом.
    Уровни вирусного полиморфизма:
    1. Вирусы могут использовать некоторые постоянные параметры для разных своих расшифровщиков. Такие вирусы можно определить по некоторым постоянным участкам кода в расшифровщике. Их иногда называют слабополиморфными, или олигоморфными (oligomorphic).
      Примеры олигоморфных вирусов: Cheeba.A (2 расшифровщика), December_3rd (2), Slovakia.3_0 (8), V-Sign (6), Whale (34).
    2. Расшифровщик имеет постоянной одну или несколько инструкций. Например, использует различные регистры, некоторые альтернативные инструкции. Такие вирусы также можно определить по маске - сочетаниям определенных байт в расшифровщике.
      Примеры: ABC, DM.330, Flip, Jerusalem.Moctezuma, Ontario.1024, PC-Flu, Phoenix.Proud, Seat, Stasi, Suomi, Virus-101, VS.4000...
    3. Вирусы, использующие в расшифровщике команды, не участвующие в расшифровке вирусного кода, или команды-мусор. Это такие команды, как NOP, MOV AX,AX, STI, CLD, CLI... Данные вирусы так же можно детектировать с помощью маски, если отсеять все такие команды.
      Примеры: Tequila, StarShip, V2Px.V2P6, DrWhite...
    4. Вирусы могут использовать в расшифровщике взаимозаменяемые инструкции и перемешивать команды без изменения алгоритма расшифровки. Например, команда MOV AX,BX имеет взаимозаменяемые инструкции: PUSH BX - POP AX; XCHG AX,BX; MOV CX,BX - MOV AX,CX... В принципе, возможно детектирование данных вирусов с помощью некоторой перебираемой маски.
    5. Вирусы, использующие механизмы вирусов всех описанных выше уровней. Помимо этого, расшифровщик может использовать различные алгоритмы расшифровки вирусного кода. Также возможно использование для расшифровки основного вирусного кода расшифровки части самого же расшифровщика или нескольких расшифровщиков, поочередно расшифровывающих друг друга либо непосредственно вирусный код. Как правило, детектирование вирусов данного уровня полиморфизма с помощью сигнатуры невозможно. Процессы детектирования и особенно лечения такого вируса - очень сложные задачи. Они могут занимать значительное время. Если для детектирования такого вируса достаточно проанализировать только код расшифровщика (что само по себе непросто), то при лечении необходимо произвести частичную или полную расшифровку тела вируса для извлечения информации о зараженном файле. Лечение вирусов этого уровня полиморфизма производят далеко не все антивирусные программы.
      Вирусы 4-го и 5-го уровней: MtE, TPE, APE, , DSCE, NED, MGEN, CLME, SMEG-based, Uruguay...
    6. Вирусы, не шифрующие свой код, а перемешивают кусочки самих себя. Эти вирусы тасуют свои подпрограммы (инсталляции, заражения, обработчика прерывания, анализа файла и т.д.). Такие вирусы называются пермутирующими (permutating).
      Примеры: BadBoy, CommanderBomber, Leech, EA.Asmodeus.xxxx...
  9. MtE вирусы (MtE viruses) - полиморфные вирусы, созданные с помощью генератора полиморфизма MtE (Mutant Engine). Такой генератор представляет собой специальный алгоритм, который отвечает за функции шифровки/расшифровки и генерацию расшифровщиков и присоединяется к любому объектному коду вируса. Такой расшифровщик не имеет ни одного постоянного бита, длина его всегда разная.
  10. Резидентный вирус (Memory resident virus) - постоянно присутствующий в памяти вирус, написанный, как правило, на языке Ассемблер или Си. Такие вирусы обладают возможностью более эффективно заражать программы и противодействовать антивирусным средствам. Занимает небольшой объем памяти. Пребывает в состоянии готовности к продолжению выполнения своей задачи до выгрузки, перезагрузки или выключения компьютера. Активизируется и выполняет заданные вирусописателем действия, например, при достижении компьютером определенного состояния (срабатывания таймера, др.). Все бутовые вирусы резидентные.
  11. Скрипт-вирусы (Script viruses) - вирусы, написанные на языках Visual Basic, Basic Script, Java Script. На компьютер пользователя такие вирусы чаще всего проникают в виде почтовых сообщений, содержащих во вложениях файлы-сценарии. Программы на языках Visual Basic и Java Script могут располагаться как в отдельных файлах, так и встраиваться в HTML-документ и интерпретироваться браузером, причем не только с удаленного сервера, но и с локального диска.
  12. Стелс-вирусы (Stealth viruses) - вирусные программы, предпринимающие специальные действия для маскировки своей деятельности с целью сокрытия своего присутствия в зараженных объектах.
    Можно выделить два основных типа стелс-вирусов: руткит (rootkit) и буткит (bootkit).
    Стелс-технология может включать:
  13. Шифрованные вирусы (Encrypted viruses) - вирусы, которые сами шифруют свой код для затруднения их деассемблирования и обнаружения в файле, памяти или секторе. Каждый экземпляр такого вируса будет содержать короткий общий фрагмент - процедуру расшифровки, который можно выбрать в качестве сигнатуры. В случае каждого инфицирования он автоматически зашифровывает себя, и каждый раз по-разному. Таким способом вирус пытается избежать обнаружения антивирусными программами.

Распространение

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

Каналы распространения

Противодействие обнаружению

Обнаружение вирусов затрудняют:

Кибератаки

Хакерская атака

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

Крэкерская атака

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

Mailbombing

Большое количество почтовых сообщений делают невозможными работу с почтовыми ящиками, а иногда и с целыми почтовыми серверами. Для этой цели было разработано множество программ, и даже неопытный пользователь мог совершить атаку, указав всего лишь e-mail жертвы, текст сообщения, и количество необходимых сообщений. Многие такие программы позволяли прятать реальный IP-адрес отправителя, используя для рассылки анонимный почтовый сервер, Эту атаку сложно предотвратить, так как даже почтовые фильтры провайдеров не могут определить реального отправителя спама. Провайдер может ограничить количество писем от одного отправителя, но адрес отправителя и тема зачастую генерируются случайным образом.

Переполнение буфера

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

Вирусы

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

Сетевая разведка

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

Сниффинг пакетов

Вид атаки, основанный на работе сетевой карты в режиме promiscuousmode, а также monitormode для сетей Wi-Fi. В таком режиме все пакеты, полученные сетевой картой, пересылаются на обработку специальному приложению, называемым сниффером, для обработки. В результате злоумышленник может получить большое количество служебной информации: кто, откуда, куда передавал пакеты, через какие адреса эти пакеты проходили. Самой большой опасностью такой атаки является получение самой информации, например логинов и паролей сотрудников, которые можно использовать для незаконного проникновения в систему под видом обычного сотрудника компании.

Promiscuousmode, или promiscmode

В неразборчивом режиме сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы. Эта возможность обычно используется в сетевых анализаторах трафика. В нормальном состоянии на Ethernet-интерфейсе используется фильтрация пакетов канального уровня и если MAC-адрес в заголовке назначения принятого пакета не совпадает с MAC-адресом текущего сетевого интерфейса и не является широковещательным, то пакет отбрасывается. В неразборчивом режиме фильтрация на сетевом интерфейсе отключается и все пакеты, включая не предназначенные текущему узлу, пропускаются в систему. Большинство операционных систем требуют прав администратора для включения неразборчивого режима. Данный режим позволяет выполнять мониторинг трафика только в данном коллизионном домене (для Ethernet или беспроводных сетей) или кольце (для сетей Tokenring или FDDI), потому использование сетевых концентраторов является менее безопасным решением, чем коммутаторов, так как последние не передают трафик всем вне зависимости от адреса назначения. Неразборчивый режим часто используется снифферами - специализированными программами позволяющими отображать и анализировать сетевой трафик для диагностики сетевых неполадок. Такие программы позволяют легко перехватывать пароли и конфиденциальные данные, передаваемые по сети в незащищенном виде, чтобы избежать этого рекомендуется использовать защищенные протоколы, в том числе SSL и различные варианты VPN/IPSec.

Сниффер

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

IP-спуфинг

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

Man-in-the-Middle

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

Инъекция кода

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

Социальная инженерия

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

Отказ в обслуживании

DoS (Denial of Service)

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

DDoS (Distributed Denial of Service - Распределенная DoS)

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

Организация кибератак

Приложения, которые используются для компьютерных атак, нередко создаются таким образом, чтобы позволить лицу, имеющему незначительный опыт компьютерной деятельности, осуществить атаку. Для этого достаточно задать требуемые настройки и нажать на кнопку Старт, чтобы инициировать кибератаку.
Известны случаи, когда кибератаки были организованы лицами, которые пользовались распространяемыми в интернете вредоносными программами. Так, в 2012 г. житель Красноярска, действуя по инструкциям международной хакерской группы Anonymous и используя предоставляемое этой группой вредоносное программное обеспечение, предпринял хакерскую атаку на официальный сайт президента России, в результате чего данный ресурс оказался заблокированным в течение часа. (Хакерская группа Anonymous ранее практиковала размещение в интернете видеоматериалов, содержащих информацию об организации хакерских атак.)
По данному факту следственный отдел УФСБ России по региону возбудил уголовное дело по ч. 1 ст. 273 УК РФ (создание, использование и распространение вредоносной компьютерной программы, до 4-х лет лишения свободы).

Источники

  1. https://ru.wikipedia.org/wiki/Компьютерный_вирус
  2. http://wiki.drweb.com/index.php/Виды_(типы)_вирусов
  3. http://yhoome.ru/fun/kakie-byvayut-kompyuternye-virusy.html
  4. https://ru.wikipedia.org/wiki/Хакерская_атака
  5. https://sites.google.com/site/hakerskieataki/home/vidy-hakerskih-atak
  6. http://www.kaspersky.ru/internet-security-center/threats/trojans
  7. http://www.kaspersky.ru/internet-security-center/threats/viruses-worms
  8. http://www.compdoc.ru/secur/xacer/net_medic/
  9. http://nsportal.ru/ap/library/nauchno-tekhnicheskoe-tvorchestvo/2014/09/06/referat-kompyuternye-virusy-i-zashchita-ot
  10. http://www.k-press.ru/comp/1998/3/antivir/antivir.asp
  11. http://informatika.sch880.ru/p16aa1.html

Список работ

Рейтинг@Mail.ru