Методы защиты от программных закладок
Одним из возможных методов защиты от программных закладок является использование принципа минимальных полномочий, в соответствии с которым каждому субъекту (процессу или пользователю) всегда предоставляются в системе минимальные права.
Для обнаружения присутствия в системе программной закладки могут применяться следующие способы:
просмотр списка активных процессов с помощью диспетчера задач операционной системы;
просмотр состояния IP-портов с помощью системной программы netstat;
просмотр разделов реестра для обнаружения дополнительно установленных программ, которые автоматически выполняются при загрузке операционной системы;
просмотр файла аудита для поиска попыток доступа неизвестных процессов к критичным объектам КС или объектам с конфиденциальной информацией;
контроль обращений процессов к объектам файловой системы, разделам реестра и используемым сетевыми программами портам (например, с помощью известных программ FileMon, RegMon и PortMon) и др.
Некоторые антивирусные программы (сканеры и мониторы) могут обнаруживать инсталляторы закладок и сами закладки.
Наиболее эффективным методом защиты от программных закладок является использование организационных мер, к которым можно отнести следующие:
минимизация времени работы в КС с полномочиями администратора;
создание специальной учетной записи пользователя КС для выхода в сеть Интернет с минимальными полномочиями (запуск обозревателя и сохранение файлов в специальной папке);
аккуратное использование почтовых и офисных программ привилегированными пользователями (например, запрет доступа администратора к отдельным папкам и файлам).
Помимо организационных мер для выявления программных закладок эффективными могут оказаться методы семантического анализа исполнимого кода системных и прикладных модулей с целью поиска небезопасных для КС участков и (или) недокументированных функций. Для этого должны применяться дисассемблирование кода и эмуляции его выполнения с помощью специальных отладчиков.
Эффективным методом защиты от вредоносных программ является создание изолированной программной среды, обладающей следующими свойствами:
на компьютере с проверенной BIOS установлена проверенная операционная система;
достоверно установлена целостность модулей операционной системы и BIOS для данного сеанса работы пользователя;
исключен запуск любых программ в данной программно-аппаратной среде, кроме проверенных;
исключен запуск проверенных программ вне проверенной среды их выполнения (т.е. в обход контролируемых проверенной средой событий).
Но в соответствии с комплексным подходом к обеспечению информационной безопасности универсальных приемов, сохраняющих постоянную эффективность, быть не может. Требуется тщательный анализ новой информации о типах программных закладок и способах их внедрения в КС для выбора адекватных методов защиты.
Принципы построения систем защиты
От копирования
Подсистемой защиты от несанкционированного использования и копирования понимается комплекс программных или программно-аппаратных средств, предназначенных для усложнения или запрещения нелегального распространения, использования и (или) изменения программных продуктов и иных информационных ресурсов.
Термин «нелегальное» означает производимое без согласия правообладателя. Нелегальное изменение информационного ресурса может потребоваться нарушителю для того, чтобы измененный им продукт не попадал под действие законодательства о защите авторских прав.
Под надежностью системы защиты от несанкционированного копирования понимается ее способность противостоять попыткам изучения алгоритма ее работы и обхода реализованных в ней методов защиты.
Можно выделить следующие принципы создания и использования систем защиты от копирования.
1. Учет условий распространения программных продуктов:
распространение дистрибутивных файлов на магнитных носителях через сеть торговых агентов или через сеть Интернет с последующей установкой самим пользователем. В этом случае пользователь может попытаться скопировать дистрибутивные магнитные диски, исследовать алгоритм работы системы защиты при помощи специальных программных средств (отладчиков и дисассемблеров), попытаться нарушить условия лицензионного соглашения и установить продукт на большем числе компьютеров;
установка программного продукта официальным представителем правообладателя. В данном случае пользователь может попытаться нарушить условия лицензионного соглашения или исследовать алгоритм работы системы защиты;
приобретение и использование программного продукта лицами или организациями, не заинтересованными в его нелегальном распространении среди их коммерческих конкурентов. В этом случае возможны только попытки несанкционированного использования продукта другими лицами;
приобретение программного продукта только для снятия с него системы защиты.
4. Учет возможностей пользователей программного продукта по снятию с него системы защиты (наличие достаточных материальных ресурсов, возможность привлечения необходимых специалистов и т.п.).
5. Учет свойств распространяемого программного продукта (предполагаемого тиража, оптовой и розничной цены, частоты обновления, специализированности и сложности продукта, уровня послепродажного сервиса для легальных пользователей, возможности применения правовых санкций к нарушителю и др.).
6. Оценка возможных потерь при снятии защиты и нелегальном использовании.
7. Учет особенностей уровня знаний и квалификации лиц, снимающих систему защиты.
8. Постоянное обновление использованных в системе защиты средств.
При добавлении к программному продукту системы его защиты от копирования возможен выбор уже имеющейся системы, что минимизирует издержки на установку системы защиты. Однако имеющаяся система защиты от копирования будет более легко сниматься с программного продукта в силу ее известности, а также может оказаться несовместимой с защищаемой программой и имеющимся у пользователя программно-аппаратным обеспечением. Поэтому более целесообразной является разработка специализированной системы защиты от копирования конкретного программного продукта, что, однако, более заметно увеличит затраты на его производство.
Существуют следующие основные компоненты системы защиты программных продуктов от несанкционированного копирования:
модуль проверки ключевой информации (некопируемой метки на дистрибутивном диске, уникального набора характеристик компьютера, идентифицирующей информации для легального пользователя). Данный модуль может быть добавлен к исполнимому коду защищаемой программ по технологии компьютерного вируса, в виде отдельного программного модуля или в виде отдельной функции проверки внутри защищаемой программы;
модуль защиты от изучения алгоритма работы системы защиты;
модуль согласования с работой функций защищаемой программы в случае ее санкционированного использования;
модуль ответной реакции в случае попытки несанкционированного использования.