КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Введение. Изменение выполняемого кода
Изменение выполняемого кода Наиболее часто подобный способ полиморфизма используется макро-вирусами, которые при создании своих новых копий случайным образом меняют имена своих переменных, вставляют пустые строки или меняют свой код каким-либо иным способом. Таким образом алгоритм работы вируса остается без изменений, но код вируса практически полностью меняется от заражения к заражению. Реже этот способ применяется сложными загрузочными вирусами. Такие вирусы внедряют в загрузочные сектора лишь достаточно короткую процедуру, которая считывает и диска основной код вируса и передает на него управление. Код этой процедуры выбирается из нескольких различных вариантов (которые также могут быть разбавлены "пустыми" командами), команды переставляются между собой и т.д.
Еще реже этот прием встречается у файловых вирусов - ведь им приходится полностью менять свой код, а для этого требуются достаточно сложные алгоритмы. На сегодняшний день известны всего два таких вируса, один из которых ("Ply") случайным образом перемещает свои команды по своему телу и заменяет их на команды JMP или CALL. Другой вирус ("TMC") использует более сложный способ - каждый раз при заражении вирус меняет местами блоки своего кода и данных, вставляет "мусор", в своих ассемблерных инструкциях устанавлявает новые значения оффсетов на данные, меняет константы и т.д. В результате, хотя вирус и не шифрует свой код, он является полиморфик-вирусом - в коде не присутствует постоянного набора команд. Более того, при создании своих новых копий вирус меняет свою длину.
Созданием любой компьютерной программы ее автор преследует определенную цель или цели. Иногда им могут быть допущены ошибки, и написанная программа будет делать не совсем то, что первоначально задумывалось или даже совсем не то. Однако каждая программа обязательно несет в себе некоторую смысловую нагрузку - точно в соответствии с задумками программиста или же вследствие каких-либо причин немного видоизмененную. Например, электронный словарь должен помочь пользователю быстро и точно найти перевод заданного слова, браузер - просмотреть запрошенный веб-сайт, а калькулятор - вычислить квадратный корень. Ряд программ выполняют неявную цель - примером могут служить драйвера, которые в фоновом режиме обеспечивают взаимосвязь различных устройств компьютера.
Все упомянутые выше программы предназначены для выполнения полезной нагрузки и не должны выполнять какие-либо дополнительные действия, не связанные с обеспечением возложенных на них задач - калькулятор не должен проверять орфографию введенных формул или показывать точное время. То есть в идеальном варианте все программы должны вести себя четко в соответствии с их описанием и приложенной документацией, при этом пользователь должен полностью контролировать установку и удаление программы на свой компьютер. Однако на деле это не всегда так.
Существует класс программ, которые были изначально написаны с целью уничтожения данных на чужом компьютере, похищения чужой информации, несанкционированного использования чужих ресурсов и т. п., или же приобрели такие свойства вследствие каких-либо причин. Такие программы несут вредоносную нагрузку и соответственно называются вредоносными. Вредоносная программа - это программа, наносящая какой-либо вред компьютеру, на котором она запускается, или другим компьютерам в сети.
Поскольку мало пользователей в здравом уме добровольно поставят себе на компьютер заведомо вредоносную программу, их авторы вынуждены использовать различные обманные методы или специальные технологии для несанкционированного проникновения в систему. Следовательно, классифицировать вредоносные программы удобно по способу проникновения, размножения и типу вредоносной нагрузки. Все вредоносные программы в соответствии со способами распространения и вредоносной нагрузкой можно разделить на четыре основные типа - компьютерные вирусы, черви, трояны и другие программы. Так исторически сложилось, что термином "компьютерный вирус" часто называют любую вредоносную программу. Это обусловлено в первую очередь тем, что первые широко известные вредоносные программы были именно вирусами и в течение следующих десятилетий число вирусов значительно превышало количество всех остальных вредоносных программ вместе взятых. Однако в последнее время наметились тенденции к появлению новых, невирусных технологий, которые используют вредоносные программы. При этом доля истинных вирусов в общем числе инцидентов с вредоносными программами за последние годы значительно сократилась. На сегодняшний день вредоносные программы - это уже большей частью именно не вирусы, хотя такие термины как "заражение вирусом", "вирусный инцидент" применяются по отношению ко всем вредоносным программам повсеместно. Поэтому далее в этом курсе, если не оговорено иначе, под термином "вирус" будет также пониматься и вредоносная программа.
Дата добавления: 2014-01-13; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |