Но если функционирование блока ответной реакции может влиять на надёжность системы лишь косвенным образом, то зачастую самым слабым местом всей системы является блок сравнения характеристик среды и именно против него в первую очередь направлены атаки злоумышленников.
Системы защиты от несанкционированного копирования можно классифицировать по способу внедрения защитного механизма:
· встроенная (внедряется при создании программного продукта);
· пристыковочная (подключается к уже готовому программному продукту).
Наибольшую популярность в последнее время приобрели системы второго типа. Это обусловлено рядом преимуществ, которые даёт их использование:
· простота тиражирования программных систем защиты на объекты заказчика и разработчика;
· простота технологии применения;
· обеспечение достаточного уровня защищённости данных в силу специализации разработчиков;
· более оптимальное соотношение «надёжность функционирования/затраты на разработку» по сравнению со встроенными системами, подготовленными непрофессионалами.
Рассмотрим способы установки защитных механизмов в защищаемые программные модули.
Одним из вариантов встраивания пристыковываемого модуля в исполняемый модуль является дописывание его по вирусному принципу. (Естественно, из рассмотрения исключаются варианты, при которых программа перестаёт работать или нарушается логика её работы.) При этом код защиты дописывается в некоторую область защищаемого файла и защищаемый файл модифицируется таким образом, чтобы управление передавалось на пристыкованный модуль защиты, который проверяет легальность копии, и в случае положительного ответа передаёт управление на исполняемый модуль. Такой подход к внедрению в исполняемые файлы имеет ряд существенных недостатков. Во-первых, исходный код защищаемой программы остаётся практически в неизменном виде, что значительно упрощает нейтрализацию защиты. Во-вторых, если предполагается защищать файлы большого размера и, как следствие, со сложной (может быть и с оверлейной) структурой, то необходимо учитывать то, что код, находящийся в конце загружен не будет, а значит программный модуль не будет отработан. Некоторые недостатки можно устранить, если писать в начало программы не одну команду перехода, в весь код защиты. При этом необходимо модифицировать таблицу перемещения (которая находится в конце заголовка EXE-файла), в случае если защищается файл типа EXE.
Основным недостатком защит такого типа является то, что они могут быть нейтрализованы динамически, путём определения момента, когда защитная часть уже отработала и начал выполняться сам защищаемый код. Примером такого подхода к нейтрализации защит являются программы SNAPSHOT и INTRUDER. Основная идея метода, реализованного в подобных программах, заключается в двукратной загрузке исследуемого модуля по разным адресам памяти с последующим вычислением всей необходимой информации на основе анализа дампов памяти (под необходимой информацией здесь понимается заголовок EXE-файла, содержащий всю информацию, которая требуется операционной системе для загрузки программы).
Другим важным недостатком описанных методов внедрения является то, что существующие защитные механизмы данного типа не могут обеспечить корректную защиту самомодифицирующихся программ, которые в процессе выполнения изменяют свой образ, хранящийся на диске.
Исходя из указанных недостатков, можно сформулировать следующие требования к пристыковываемым модулям:
· пристыковываемый модуль должен подключаться к файлам любого размера;
· результирующий файл, полученный после подключения пристыковываемого модуля, должен быть устроен таким образом, чтобы максимально затруднить выделение исходной защищаемой программы;
· пристыковываемый модуль не должен накладывать ограничений на функционирование защищённой программы, в частности, он должен позволять модифицировать в процессе работы свой собственный дисковый файл.
2. Сетевые технологии как мировой информационный ресурс
Обмен информацией производится по каналам передачи информации. Каналы передачи информации могут использовать различные физические принципы. Так, при непосредственном общении людей информация передается с помощью звуковых волн, а при разговоре по телефону - с помощью электрических сигналов, которые распространяются по линиям связи. Компьютеры могут обмениваться информацией с использованием каналов связи различной физической природы: кабельных, оптоволоконных, радиоканалов и др.
Общая схема передачи информации включает в себя отправителя информации, канал передачи информации и получателя информации. Если производится двусторонний обмен информацией, то отправитель и получатель информации могут меняться ролями.
Основной характеристикой каналов передачи информации является их пропускная способность (скорость передачи информации). Пропускная способность канала равна количеству информации, которое может передаваться по нему в единицу времени.
Обычно пропускная способность измеряется в битах в секунду (бит/с) и кратных единицах Кбит/с и Мбит/с. Однако иногда в качестве единицы измерения используется байт в секунду (байт/с) и кратные ему единицы Кбайт/с и Мбайт/с.
Создание компьютерных сетей вызвано практической потребностью совместного использования информации пользователями, работающими на удаленных друг от друга компьютерах. Сети предоставляют пользователям возможность не только быстрого обмена информацией, но и совместного использования принтеров и других периферийных устройств и даже одновременной работы с документами.
Локальная сеть объединяет компьютеры, установленные в одном помещении, или в одном здании.
В небольших локальных сетях все компьютеры обычно равноправны, то есть пользователи самостоятельно решают, какие ресурсы своего компьютера (диски, каталоги, файлы) сделать общедоступными по сети. Такие сети называются одноранговыми.
Если к локальной сети подключено более 10 компьютеров, одноранговая сеть может оказаться недостаточно производительной. Для увеличения производительности, а также в целях обеспечения большей надежности при хранении информации в сети некоторые компьютеры специально выделяются для хранения файлов и программных приложений. Такие компьютеры называются серверами, а локальная сеть — сетью на основе сервера.
Каждый компьютер, подключенный к локальной сети, должен иметь специальную плату (сетевой адаптер).
Основной функцией сетевого адаптера является передача и прием информации из сети. В настоящее время наиболее часто используются сетевые адаптеры типа EtherNet, которые могут объединять в сеть компьютеры различных аппаратных и программных платформ (IBM-совместимые, Macintosh, Unix-компьютеры).
Соединение компьютеров (сетевых адаптеров) между собой производится с помощью кабелей различных типов (коаксиального, витой пары, оптоволоконного). Для подключения к локальной сети портативных компьютеров часто используется беспроводное подключение, при котором передача данных осуществляется с помощью электромагнитных волн.
Важнейшей характеристикой локальных сетей, которая определяется типом используемых сетевых адаптеров и кабелей, является скорость передачи информации по сети. Скорость передачи информации по локальной сети обычно находится в диапазоне от 10 до 100 Мбит/с.
Общая схема соединения компьютеров в локальной сети называется топологией сети. Топологии сети могут быть различными.
Вариант соединения компьютеров между собой, когда кабель проходит от одного компьютера к другому, последовательно соединяя компьютеры и периферийные устройства между собой, называется линейной шиной.
Если к каждому компьютеру подходит отдельный кабель из одного центрального узла, то реализуется локальная сеть типа «звезда».
Обычно при такой схеме соединения центральным узлом является более мощный компьютер.
Преимущество локальной сети типа «звезда» перед локальной сетью типа «линейная шина» состоит в том, что при выходе из строя сетевого кабеля у одного компьютера локальная сеть в целом продолжает нормально функционировать.
Локальные сети обычно объединяют несколько десятков компьютеров, размещенных в одном здании, однако они не позволяют обеспечить совместный доступ к информации пользователям, находящимся, например, в различных частях города. На помощь приходят региональные сети, объединяющие компьютеры в пределах одного региона (города, страны, континента).
Многие организации, заинтересованные в защите информации от несанкционированного доступа (например, военные, банковские и пр.), создают собственные, так называемые корпоративные сети. Корпоративная сеть может объединять тысячи и десятки тысяч компьютеров, размещенных в различных странах и городах (в качестве примера можно привести сеть корпорации Microsoft — Microsoft Network (MSN)).
Потребности формирования единого мирового информационного пространства привели к созданию глобальной компьютерной сети Internet. В настоящее время на более чем 150 миллионах компьютеров, подключенных к Internet, хранится громадный объем информации (сотни миллионов файлов, документов и так далее). Глобальная сеть Internet привлекает пользователей своими информационными ресурсами и сервисами (услугами), которыми пользуется около миллиарда человек во всех странах мира.
В каждой такой локальной или корпоративной сети обычно имеется, по крайней мере, один компьютер, который имеет постоянное подключение к Internet с помощью линии связи с высокой пропускной способностью (сервер Internet). В качестве таких «магистральных» линий связи обычно используются оптоволоконные линии с пропускной способностью до 20 Гбит/с и более.