- •Содержание
- •Глава 1. Операционные системы 17
- •Глава 2. Сервисное программное обеспечение 97
- •Основные понятия программного обеспечения
- •Характеристика программного продукта
- •Классификация программных продуктов
- •1. Проблемно-ориентированные ппп
- •2. Методо-ориентированные ппп
- •3. Ппп автоматизированного проектирования.
- •4. Ппп общего назначения
- •6. Офисные ппп
- •7. Настольные издательские системы
- •8. Программные средства мультимедиа
- •9. Системы искусственного интеллекта
- •Ресурсы и процессы
- •Понятие ресурса и процесса
- •Концепция прерываний процесса
- •Понятие операционной системы
- •Назначение, функции и состав ос
- •Функции операционной системы
- •Основной состав операционных систем
- •Программы-драйверы
- •Классификация операционных систем.
- •Загрузка компьютера
- •Порядок загрузки ос
- •Файловая организация данных на диске
- •Логическая структура диска
- •Системная область
- •Подкаталоги
- •Файловая структура диска
- •Иерархия данных на диске
- •Операционная система ms-dos
- •Назначение, состав и загрузка ms-dos
- •Состав операционной системы ms dos
- •Порядок загрузки ms-dos
- •Файловая система ms-dos
- •Общие сведения о командах ms-dos
- •Запуск и выполнение команд
- •Команды общесистемного назначения
- •Команды работы с каталогами
- •Команды работы с файлами
- •Программная оболочка norton commander
- •Назначение, запуск и завершение nc
- •Интерфейс nc. Назначение функциональных клавиш
- •Управляющее меню
- •Основные параметры конфигурации nc
- •Работа с архивными файлами
- •Операционная система Windows
- •Объекты файловой системы Windows Объект-файл
- •Объект — папка
- •Назначение ярлыка
- •Иерархическая структура подчиненности папок
- •Объекты пользовательского уровня – приложение и документ
- •Техника запуска программ
- •Графический интерфейс пользователя Основные понятия
- •Окна — объекты графического интерфейса
- •Назначение Рабочего стола
- •Программа Проводник
- •Навигация с помощью значка Мой компьютер.
- •Файловые операции в Windows
- •Ярлыка.
- •Создание ярлыка перетаскиванием
- •Выделение одного или нескольких объектов.
- •Роль буфера обмена
- •1 Способ
- •2 Способ
- •3 Способ
- •4 Способ
- •1 Способ
- •4 Способ
- •6 Способ (Удаление, минуя Корзину)
- •Операции с Корзиной
- •Поиск папок и файлов
- •Конфигурирование Windows
- •Конфигурирование системы с помощью Панели управления (Control Panel).
- •Шрифты для Windows
- •Терминология
- •Рубленые шрифты и шрифты с засечками
- •Равноширинные и пропорциональные шрифты
- •Масштабируемые и немасштабируемые шрифты Векторные и растровые шрифты
- •Шрифты и таблицы кодировки
- •Добавление шрифтов
- •Удаление шрифтов
- •Учетные записи в Windows nt
- •Стандартные приложения Windows
- •Графический редактор Paint
- •Текстовые редакторы Блокнот и WordPad
- •Калькулятор
- •Стандартные приложения служебного назначения
- •Внедрение и связывание объектов
- •Защита программных продуктов Лицензионные, условно-бесплатные и бесплатные программы
- •Основные понятия о защите программных продуктов
- •Установка и удаление программ
- •Общие сведения об установке программ
- •Установка и удаление приложений Особенности установки приложений ms-dos
- •Особенности установки приложений Windows
- •Удаление приложений Windows
- •Установка операционной системы Windows
- •Установка компонентов Windows
- •Программы обслуживания дисков
- •Проверка диска Физические и логические дефекты дисков
- •Дефрагментация диска Проблема фрагментации дисков
- •Восстановление удаленных файлов и каталогов
- •Архивация файлов Понятие процесса архивации файлов
- •Программы-архиваторы
- •Многофункциональный интегрированный архиватор rar Основные особенности программы
- •Вирусы и антивирусные средства
- •Вредоносные программы
- •Компьютерные вирусы и их свойства
- •Структура вируса
- •История появления компьютерных вирусов
- •Классификация компьютерных вирусов
- •Логические бомбы
- •Троянские кони
- •Бактерии
- •Антивирусная защита
- •Характеристика антивирусных программ
Классификация компьютерных вирусов
Компьютерным вирусом называется программа (некоторая совокупность выполняемого кода/инструкций), которая способна создавать свои копии (не обязательно полностью совпадающие с оригиналом) и внедрять их в различные объекты/ресурсы компьютерных систем, сетей и т.д. без ведома пользователя. При этом копии сохраняют способность дальнейшего распространения.
Вирусы можно разделить на классы по следующим признакам:
по среде обитания вируса;
по способу заражения среды обитания;
по деструктивным возможностям
по особенностям алгоритма вируса
По среде обитания вирусы можно разделить на сетевые, файловые и загрузочные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные - в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Существуют сочетания -например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы и часто применяют оригинальные методы проникновения в систему.
Способы заражения делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.
По деструктивным возможностям вирусы можно разделить на:
неопасные, т.е. никак не влияющие на работу компьютера: уменьшение свободной памяти на диске и графическими, звуковыми и пр. эффектами;
опасные вирусы, которые могут привести к серьезным сбоям в работе: замедление работы операционной системы, некорректная работа программ и др.;
очень опасные, которые могут привести к потере программ, уничтожить данные, программы, удалить информацию, записанную в системных областях памяти, вывести из строя устройство.
По особенностям алгоритма можно выделить следующие группы вирусов:
- компаньон-вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для ЕХЕ-файлов файлы-спутники, имеющие то же самое имя, но с расширением .СОМ, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в СОМ-файл и никак не изменяет ЕХЕ-файл. При запуске такого файла DOS первым обнаружит и выполнит СОМ-файл, т.е. вирус, который затем запустит и ЕХЕ-файл.
- вирусы-"черви" (worms) - вирусы, которые распространяются в компьютерной сети и, так же как и компаньон-вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти). К счастью, в вычислительных сетях IBM-компьютеров такие вирусы пока не завелись. Программы-"черви" используют сетевые соединения для распространения от одной системы к другой. Во время работы на отдельном компьютере сетевой "червь" может вести себя как компьютерный вирус или "бактерия", внедрять "троянских коней", или же выполнять какие-то другие разрушительные или подрывные действия.
Для размножения сетевой "червь" использует сетевые средства доставки информации. Примерами таких средств могут быть следующие службы.
Электронная почта. "Червь" отправляет свою копию по почте в другую систему.
Удаленный вызов программ. "Червь" запускает свою копию на выполнение в другой системе.
Доступ к удаленной системе. "Червь" входит в удаленную систему как пользователь, а затем использует команду копирования себя из одной системы в другую.
Новая копия программы-«червя» в результате оказывается запущенной в удаленной системе, где в дополнение ко всем другим предусмотренным операциям "червь" продолжает размножаться указанным выше способом.
паразитические - все вирусы, которые при распространении своих копий обязательно изменяют содержимое дисковых секторов или файлов. В эту группу относятся все вирусы, которые не являются «червями» или «компаньон».
«стелс»-вирусы (вирусы-невидимки, stealth), представляющие собой весьма совершенные программы, которые перехватывают обращения ОС к пораженным файлам или секторам дисков и "подставляют" вместо себя незараженные участки информации. Кроме этого, такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие "обманывать" резидентные антивирусные мониторы.
«полиморфик»-вирусы (самошифрующиеся или вирусы-призраки, polymorphic) - вирус, код которого изменяется при каждом новом заражении, что делает практически невозможным обнаружить его по сигнатуре. Достаточно трудно обнаруживаемые вирусы, не имеющие постоянных сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика. Полиморфный вирус создает при размножении копии, эквивалентные функциям, но существенно различающиеся по двоичному представлению. Как и в случае с вирусами-невидимками, это делается с целью противостоять программам, обнаруживающим вирусы. Для изменения представления кода вирус может вставлять в свой код генерируемые случайным образом избыточные команды или же изменять порядок следования независимых команд. Более эффективным подходом является шифрование. Часть вируса, называемая механизмом управления мутациями, генерирует случайное значение ключа, с помощью которого шифрует остальной код вируса. Ключ сохраняется вместе с вирусом, а механизм управления мутациями видоизменяется. Во время запуска инфицированной программы вирус с помощью сохраненного ключа расшифровывается. При новом инфицировании генерируется новый ключ.
макро-вирусы - вирусы этого семейства используют возможности макро-языков, встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). В настоящее время наиболее распространены макро-вирусы заражающие текстовые документы редактора Microsoft Word и рабочие листы Microsoft Excel. По сути, макрос представляет собой программу, встроенную в документ текстового процессора или файл какого-то другого типа. Обычно пользователи применяют макросы для того, чтобы автоматизировать выполнение часто повторяемых действий, что позволяет экономить время. Язык макросов чаще всего является каким-нибудь вариантом языка программирования Basic. Пользователь может записать последовательность нажатий клавиш в виде макроса, а затем настроить программу так, чтобы записанный макрос вызывался нажатием функциональной клавиши или какой-то специальной комбинации клавиш. Создание макровирусов оказывается возможным благодаря существованию автоматических макросов. Это макросы, которые выполняются автоматически, без явной активизации их пользователем. Типичными автоматически происходящими событиями являются открытие, закрытие файла, а также запуск приложения. Во время своего выполнения макрос может копировать себя в другой документ, удалять файлы и выполнять любые другие действия, разрушающие систему пользователя. В Microsoft Word существует три типа автоматических макросов:
AutoExec. Макрос с зарезервированным именем AutoExec, размещенный в шаблоне normal.dot или в глобальном шаблоне, хранящемся в каталоге запуска Word, и автоматически выполняющийся при запуске Word.
Автомакрос. Выполняется, когда происходит определенное событие, например, открытие или закрытие документа, создание нового документа или завершение работы Word.
Командный макрос. Если находящийся в глобальном файле макросов или связанный с текущим документом макрос имеет имя, совпадающее с названием команды Word, он будет выполняться при каждом вызове этой команды (например, команды FileSave) пользователем.
Загрузочный вирус. Инфицирует главную загрузочную запись или загрузочный сектор и распространяется, когда система загружается с зараженного диска.
Хотя вирусные атаки случаются не очень часто, общее число вирусов слишком велико, а ущерб от "хулиганских" действий вируса в системе может оказаться значительным. Существуют вирусы, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы информацию.
Люки
Люк, или лазейка, — это секретная точка входа в программу, позволяющая тому, кто знает о существовании люка, получить доступ в обход стандартных процедур защиты. Люки уже много лет совершенно законно используются в программистской практике для ускорения отладки и тестирования программ. Эта возможность обычно применяется программистом при создании приложения, в состав которого входит процедура аутентификации или слишком долгая программа установки, требующая от пользователя ввода множества различных параметров для запуска программы. Чтобы ускорить процесс отладки, разработчик может воспользоваться специальным уровнем привилегий или обойти процедуру установки или аутентификации. Для программиста удобно иметь возможность запустить программу тогда, когда по причине каких-то неполадок встроенная процедура аутентификации не позволяет этого сделать. Люк представляет собой программный код, реагирующий на специальную последовательность введенных с клавиатуры символов, либо активизирующийся в ответ на ввод определенного идентификатора пользователя или последовательность каких-то маловероятных событий.
Люки представляют собой угрозу, когда они позволяют недобросовестным программистам получить несанкционированный доступ. Именно люк был основной причиной угрозы, на которой построен сюжет фильма "Военные игры" (War Games). Еще одним примером является люк, использованный в рамках тестирования системы Multics, проводимого "командой тигров" (командой моделирования действий противника) ВВС США. Одним из решений была отправка на узел, на котором выполнялась Multics, ложного пакета с обновлениями системы. В этом пакете содержался "троянский конь", который активизировался через люк и позволял "тиграм" получить доступ к системе. Угроза была реализована настолько удачно, что разработчики Multics не смогли найти ее даже после того, как были информированы о ее существовании.
Реализовать выявление возможных лазеек стандартными средствами операционной системы очень трудно. Меры защиты в данном случае должны быть сфокусированы на осуществлении контроля процесса разработки программного обеспечения и его обновления.