Классификация вирусов по среде обитания I. Файловый нерезидентный вирус.
Объектами заражения являются файлы, содержащие исполняемые команды. Наиболее просто осуществляется заражение СОМ файлов. В общем случае последовательность действий вируса следующая:
• восстановление первых байт зараженной программы; поиск файлов для заражения; чтение первых байт заражаемой программы и запись в тело вируса;
• формирование команд перехода на тело вируса;
• дозапись тела вируса в заражаемую программу;
• передача управления программе-вирусоносителю
В случае файлов типа ЕХЕ меняются значения точки входа в программу на тело вируса. Методы заражения файлов типа СОМ и ЕХЕ:
• вставка тела вируса в начало файла. В этом случае заражаемая программа либо сдвигается по адресам на величину вируса, либо первые ее блоки переписываются в конец, а поверх них записывается тело вируса. При этом после отработки вирус должен восстановить первые блоки.
• вставка в конец файла.
• вставка в середину файла. Этот способ используется вирусами, поражающими определенный класс программ, особенности структуры которых заранее известны. Например, возможно перекрытие телом вируса части программы, содержащей описание символьных данных.
Вирусы, заражающие драйверы должны модифицировать адреса процедур стратегии и прерывания. При заражении файлов других структур вирус должен быть настроен на эти структуры и знать особенности передачи им управления. Такие вирусы более специализированы и ,следовательно, имеют небольшую инфицирующую способность. Файловые нерезидентные вирусы активны только в момент передачи управления зараженной программе.
2. Файловый резидентный вирус
Файловые резидентные вирусы наряду с файлами заражают ОП. Резидентный вирус состоит из двух частей:
• инсталлятор;
• модуль обработки прерываний.
Инсталлятор получает управление при выполнении зараженной программы и в свою очередь активизирует вирус в ОП. Модуль обработки прерываний получает управление при возникновении перехваченного прерывания и выполняет действия по размножению и проявлению. Инсталлятор выполняет следующие действия:
• восстановление измененных байт зараженной программы;
• проверка зараженности ОП;
• установка модуля обработки прерываний в заданный участок ОП;
• передача управления зараженной программы.
Для маскировки своих действий такие вирусы используют различные участки ОП, находящиеся за пределами той области, которую используют прикладные программы.
3. Бутовый вирус
Бутовый вирус является специализированной разновидностью файлового резидентного вируса. При заражении он может использовать следующие два способа:
• полная замена стандартной загрузочной записи. Для этого вирус должен содержать в своем теле команды, соответствующие стандартному загрузчику для нормальной загрузки ОС;
• замена стандартной загрузочной записи с сохранением ее в другом месте диска. В этом случае вирус состоит из двух частей - головы и хвоста. Голова располагается на месте загрузочной записи. Хвост может располагаться в следующих участках винчестера: в кластерах, помеченных как сбойные; в последних секторах винчестера; в неиспользованных блоках FAT -таблицы или каталога; на инженерных дорожках винчестера..Как правило, хвост содержит в себе оригинальную загрузочную запись. Действия бутового вируса: перехват управления при загрузке ОС; проверка зараженности ОП; перехват соответствующих прерываний (обычно всегда 13Н); перезапись стандартной загрузочной записи в ОП и передача ей управления; перехват управления по обращению к диску; проверка зараженности диска и перезапись тела вируса..
3. Файлово-бутовый вирус
В связи с незначительной разницей в механизме действий файловых резидентных и бутовых вирусов существуют смешанные вирусы, заражающие как файлы, так и загрузочные записи. Они имеют наибольшую инфицирующую способность.
4. Макро-вирус
При работе с документом Word (Ехсеl) при выполнении различных действии ищет и выполняет соответствующие макросы - при сохранении файла вызывается макрос FileSave при сохранении по команде СОХРАНИТЬ КАК – FileSaveAs -, при печати документов - FilePrint и т.д. Вирусы семейства Масго.Word содержат в себе как минимум один из автоматических макросов или один из стандартных макросов. Если документ заражен, то при открытии документа Word вызывает зараженный автоматический макрос и, таким образом, запускает код вируса. Если же вирус содержит макросы со стандартными именами, то они получают управление при вызове соответствующего пункта меню (Открыть, Закрыть и т.д. )
Контрольные вопросы
- Поясните понятия: физическая, логическая и социальная безопасность информационных систем.
- Укажите источники угроз и группы каналов утечки информации.
- Перечислите направления защиты информации.
- В чем заключается правовое регулирование вопросов защиты информации?
- Что определяет патент?
- В чем заключается авторское право?
- Что регулирует лицензия?
- Каковы основные свойства защищаемой информации?
- Укажите обязательные элементы всех типов защиты информации от несанкционированного доступа.
- Поясните назначение диспетчера доступа и укажите требования к диспетчеру.
- Приведите классификация моделей защиты и поясните их назначение.
- Каковы функции систем разграничения доступа?
- Укажите особенности защиты информации в каналах связи.
- Что такое «чистый канал»?
- Приведите классификацию алгоритмов шифрования.
- Каково назначение и реализация цифровой (электронной) подписи?
- Какова классификация мер защиты то исследования логики работы программы?
- Что обозначает статическая атака на систему?
- Что включает динамическая атака на исследование логики работы программы?
- Что такое сигнатура вычислительной системы?
- В чем заключаются сигнатурные методы защиты от несанкционированного копирования?
- В чем заключаются аппаратные методы защиты от несанкционированного копирования?
- Поясните классификацию вредоносных программ.
- Приведите классификацию вирусов.
- В чем отличие вирусов от червей?
- Перечислите симптомы заражения компьютерным вирусом.
Глава 18. Инструментарий технологии программирования.
CASE - технологии
- Классификация инструментальных средств
В настоящее время обращает на себя внимание обилие средств, относящихся к инструментарию технологии программирования. Это связано со сложностью разработки программного продукта.
Для разработки программы в целях решения конкретной прикладной задачи сложилась традиционная технология, показанная на рисунке:
Здесь связи означают:
1 – заказчик на естественном (например, русском) языке объясняет математику или системотехнику (аналитику), какую прикладную задачу он хочет решить. Эта задача из некоторой предметной области, например, задача бухгалтерского учета или зачисления абитуриентов в ВУЗ;
2 – математик (или системотехник - аналитик)) формализует задачу, представляя ее в виде математической модели или составляя строгое формальное описание процедуры ее решения, входных и выходных данных. Этот этап называется формализацией задачи;
3 - программист на основании математической модели или другого формального описания поставленной задачи разрабатывает программу. Он выполняет также отладку программы, используя для этого компьютер. Этот этап называется программированием задачи;
4 – результаты решения задачи на ЭВМ сообщаются заказчику для определения того, удовлетворен ли он решением. Результаты решения задачи, будучи доведены до заказчика, могут его не удовлетворить в силу ряда причин. Это означает, что процесс, изображенный на рисунке, является циклическим: он завершается тогда, когда заказчик примет результаты решения задачи автоматизированным образом. В этом случае оформляется документация на эксплуатацию программного продукта. В ней описываются следующие характеристики программного продукта:
• основные характеристики программы, сведения об ее эксплуатации;
• сведения о назначении программы, области ее применения, используемых методах решения, ограничениях на применение, минимальной конфигурации технических средств;
• сведения для проверки работоспособности и корректности выполнения программы, для обеспечения функционирования и настройки программы на условия конкретного применения;
• сведения о необходимых запросах со стороны программы и форматах ответов пользователя;
• данные о нештатных ситуациях и поведении пользователя в них.
Этот этап называется сдачей программы в эксплуатацию.
Как видно, все связи на рисунке двунаправлены. Это означает, что в процессе проектирования программы идет диалог, в ходе которого уточняется и/или корректируется предмет общения.
Инструментарий технологии программирования - это совокупность программ, обеспечивающих технологию разработки, отладки и внедрения программных продуктов. Инструментарий технологии программирования делится на два больших класса инструментальных средств:
· для создания отдельных приложений (программ)
· для создания информационных систем и технологий.
1. Средства для создания отдельных приложений включают
локальные средства (языки программирования, системы программирования, инструментальные среды пользователя)
интегрированные среды разработки программ, основное назначение которых повышение производительности труда программистов за счет автоматизации создания кодов программ, обеспечивающих интерфейс пользователя графического типа, а также автоматизации разработки запросов и отчетов (например, Delphi).
Локальные средства:
Языки программирования делятся на следующие виды:
операторные. Используются для кодирования алгоритмов, а потому также называются алгоритмическими. Имеют в составе:
• машинно-зависимые (ассемблер). Применяются для написания программ, явно использующих специфику конкретной аппаратуры. Каждый компьютер имеет такую систему программирования, которая изготавливается и поставляется фирмой-изготовителем вместе с компьютером;
• машинно-ориентированные (язык С). Объединяет идеи ассемблера и алгоритмического языка. Программы компактны и работают очень быстро.
• универсальные (Турбо-Паскаль, Бэйсик). Приближены максимально, насколько это возможно, к естественному английскому языку: название каждой команды – английское слово;
функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:
• проблемно-ориентированные . Моделируют систему с помощью последовательности событий. Применяются, в частности, при проектировании вычислительных комплексов;
• объектно-ориентированные . Имеют встроенные средства для моделирования новых объектов программирования;
• логико-ориентированные . Отдельно описываются правила предметной области, по которым затем выводятся новые факты.
Системы программирования включают:
• интегрированную среду разработчика программы, состоящую, в частности, из текстового редактора, позволяющего создавать и корректировать исходные тексты программ, средств поддержки интерфейса программиста с системными средствами для выполнения различных сервисных функций (например, сохранения или открытия файла);
• транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;
• отладчик – программу для трассировки и анализа выполнения прикладных программ. Позволяет отслеживать выполнение программы в пооператорном режиме, идентифицировать место и вид ошибок в программе, наблюдают за изменением значений переменных, выражений и т.д.;
• компоновщик– программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
• справочные системы.
Инструментальная среда пользователя – это специальные программные средства, встроенные в ППП:
библиотеки функций, процедур, объектов и методов обработки;
макрокоманды;
программные модули-вставки;
конструкторы экранных форм и отчетов;
языки запросов высокого уровня.
2. Средства для создания информационных систем и технологий поддерживают полный цикл проектирования сложной информационной системы или технологии от исследования объекта автоматизации до оформления проектной и прочей документации на информационную систему или технологию. Они позволяют вести коллективную работу над проектом за счет возможности работы в локальной сети, экспорта – импорта любых фрагментов проекта, организации управления проектом. Это, прежде всего, разнообразные CASE - средства. Подробнее CASE-технологии будут рассмотрены далее.
|