Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Полномочия и избир политики безоп-ти

Программные и аппаратные методы обеспечения информационной безопасности

Тема: понятие политики безопасности в компьютерных системах.

Полномочия и избир политики безоп-ти

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

Основу политики безопасности составляет способ управления доступом, определяющий порядок доступа субъектов системы к объектам системы. Название этого способа, как правило, определяет название политики безопасности. В настоящее время лучше всего изучены два вида политики безопасности: избирательная и полномочная, основанные, соответственно на избирательном и полномочном способах управления доступом.

Избирательная политика безопасности. Основой избирательной политики безопасности является избирательное управление доступом, которое подразумевает, что:

- все субъекты и объекты системы должны быть идентифицированы;

- права доступа субъекта к объекту системы определяются на основании некоторого внешнего (по отношению к системе) правила (свойство избирательности).

Для описания свойств избирательного управления доступом применяется модель системы на основе матрицы доступа (МД, иногда ее называют матрицей контроля доступа). Такая модель получила название матричной. Матрица доступа представляет собой прямоугольную матрицу, в которой объекту системы соответствует строка, а субъекту - столбец. На пересечении столбца и строки матрицы указывается тип (типы) разрешенного доступа субъекта к объекту. Обычно выделяют такие типы доступа субъекта к объекту как "доступ на чтение", "доступ на запись", "доступ на исполнение" и др.

Множество объектов и типов доступа к ним субъекта может изменяться в соответствии с некоторыми правилами, существующими в данной системе. Определение и изменение этих правил также является задачей ИУД. Например, доступ субъекта к конкретному объекту может быть разрешен только в определенные дни (дата - зависимое условие), часы (время - зависимое условие), в зависимости от других характеристик субъекта (контекстно-зависимое условие) или в зависимости от характера предыдущей работы. Кроме того, субъект с определенными полномочиями может передать их другому субъекту (если это не противоречит правилам политики безопасности). Решение на доступ субъекта к объекту принимается в соответствии с типом доступа, указанным в соответствующей ячейке матрицы доступа. Обычно, избирательное управление доступом реализует принцип "что не разрешено, то запрещено", предполагающий явное разрешение доступа субъекта к объекту.

Вследствие больших размеров и разреженности МД хранение полной матрицы представляется нецелесообразным, поэтому во многих средствах защиты используют более экономные представления МД. Рассмотрим эти способы более подробно:

1. Профиль (profile). Профилем называется список защищаемых объектов системы и прав доступа к ним, ассоциированный с каждым субъектoм. При обращении к объекту профиль субъекта проверяется на наличие соответствующих прав доступа. Таким образом МД представляется своими строками. В системах с большим количеством объектов профили могут иметь большие размеры и, вследствие этого, ими трудно управлять; изменение профилей нескольких субъектов может потребовать большого количества операций и привести к трудностям в работе системы. Поэтому профили обычно используются лишь администраторами безопасности для контроля работы субъектов, и даже такое их применение весьма ограничено.

2. Список контроля доступа (access control list). Это представление МД по столбцам - каждому объекту соответствует список субъектов вместе с их правами. В современных условиях списки контроля доступа (СКД) - лучшее направление реализации ИУД, поскольку это очень гибкая структура, предоставляющая пользователям много возможностей.

3. Мандат или билет (capability или ticket). Это элемент МД, определяющий тип доступа определенного субъекта к определенному объекту (т.е. субъект имеет "билет" на доступ к объекту). Каждый раз билет выдается субъекту динамически - при запросе доступа, и так же динамически билет может быть изъят у субъекта. Поскольку распространение билетов происходит очень динамично, и они могут размещаться непосредственно внутри объектов, то вследствие этого контроль за ним очень затруднен. В чистом виде билетный механизм хранения и передачи привилегий используется редко. Однако реализация других механизмов присвоения привилегий (например с использованием СКД) часто осуществляется с помощью билетов.

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

Полномочная политика безопасности. Основу полномочной политики безопасности составляет полномочное управление доступом, которое подразумевает что:

- все субъекты и объекты системы должны быть однозначно идентифицированы;

- каждому объекту системы присвоена метка критичности, определяющая ценность содержащейся в нем информации;

- каждому субъекту системы присвоен уровень прозрачности(security clearance), определяющий максимальное значение метки критичности объектов, к которым субъект имеет доступ.

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

Каждый субъект кроме уровня прозрачности имеет текущее значение уровня безопасности, которое может изменяться от некоторого минимального значения до значения его уровня прозрачности. Для принятия решения на разрешение доступа производится сравнение метки критичности объекта с уровнем прозрачности и текущим уровнем безопасности субъекта. Результат сравнения определяется двумя правилами: простым условием защиты (simple security condition) и *-свойством (*-property). В упрощенном виде, они определяют, что информация может передаваться только "наверх", то есть субъект может читать содержимое объекта, если его текущий уровень безопасности не ниже метки критичности объекта, и записывать в него, - если не выше (*-свойство). Простое условие защиты гласит, что любую операцию над объектом субъект может выполнять только в том случае, если его уровень прозрачности не ниже метки критичности объекта.

Изначально полномочная политика безопасности была разработана в интересах министерства обороны США для обработки информации с различными грифами секретности. Ее применение в коммерческом секторе сдерживается следующими основными причинами:

- отсутствием в коммерческих организациях четкой классификации хранимой и обрабатываемой информации, аналогичной государственной классификации (грифы секретности сведений);

- высокой стоимостью реализации и большими накладными расходами.

Принципы реализации политики безопасности. Как уже отмечалось выше, настройка механизмов защиты дело сугубо индивидуальное для каждой системы и даже для каждой задачи. Поэтому дать ее подробное описание довольно трудно. Однако существуют общие принципы, которых следует придерживаться, чтобы облегчить себе работу, так как они проверены практикой. Рассмотрим их.

1. Группирование. Это объединение множества субъектов под одним групповым именем; всем субъектам, принадлежащим одной группе, предоставляются равные права. Принципы объединения пользователей в группы могут быть самые разные: ссылки на одни и те же объекты, одинаковый характер вычислений, работа над совместным проектом и т.д. При этом один и тот же субъект может входить в несколько различных групп, и, соответственно, иметь различные права по отношению к одному и тому же объекту. Механизм группирования может быть иерархическим. Это означает, что каждый субъект является членом нескольких групп, упорядоченных по отношению "быть подмножеством". Контроль за состоянием групп очень важен, поскольку члены одной группы имеют доступ к большому числу объектов, что не способствует их безопасности. Создание групп и присвоение групповых привилегий должно производиться администратором безопасности, руководителем группы или каким-либо другим лицом, несущим ответственность за сохранность групповых объектов.

2. Правила умолчания. Большое внимание при назначении привилегий следует уделять правилам умолчания, принятым в данных средствах защиты; это необходимо для соблюдения политики безопасности. Во многих системах, например, субъект, создавший объект и являющийся его владельцем, по умолчанию получает все права на него. Кроме того, он может эти права передавать кому-либо. В различных средствах защиты используются свои правила умолчания, однако принципы назначения привилегий по умолчанию в большинстве систем одни и те же.

3. Минимум привилегий. Это один из основополагающих принципов реализации любой политики безопасности, используемый повсеместно. Каждый пользователь и процесс должен иметь минимальное число привилегий, необходимое для работы. Определение числа привилегий для всех пользователей, с одной стороны, позволяющих осуществлять быстрый доступ ко всем необходимым для работы объектам, а, с другой, - запрещающих доступ к чужим объектам - проблема достаточно сложная. От ее решения во многом зависит корректность реализации политики безопасности.

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

5. Объединение критичной информации. Во многих системах сбор, хранение и обработка информации одного уровня производится в одном месте (узле сети, устройстве, каталоге). Это связано с тем, что проще защитить одним и тем же способом большой массив информации, чем организовывать индивидуальную защиту для каждого набора. Для реализации этого принципа могут быть разработаны специальные программы, управляющие обработкой таких наборов данных. Это будет простейший способ построения защищенных областей.

6. Иерархия привилегий. Контроль объектов системы может иметь иерархическую организацию. Такая организация принята в большинстве коммерческих систем. При этом схема контроля имеет вид дерева, в котором узлы – субъекты системы, ребра - право контроля привилегий согласно иерархии, корень - администратор системы, имеющий право изменять привилегии любого пользователя. Узлами нижележащих уровней являются администраторы подсистем, имеющие права изменять привилегии пользователей этих подсистем (в их роли могут выступать руководители организаций, отделов). Листьями дерева являются все пользователи системы. Вообще говоря, субъект, стоящий в корне любого поддерева, имеет право изменять защиту любого субъекта, принадлежащего этому поддереву. Достоинство такой структуры - точное копирование схемы организации, которую обслуживает КС. Поэтому легко составить множество субъектов, имеющих право контролировать данный объект. Недостаток иерархии привилегий - сложность управления доступом при большом количестве субъектов и объектов, а также возможность получения доступа администратора системы (как высшего по иерархии) к любому набору данных.

7. Привилегии владельца. При таком контроле каждому объекту соответствует единственный субъект с исключительным правом контроля объекта – владелец. Как правило, это его создатель. Владелец обладает всеми разрешенными для этого типа данных правами на объект, может разрешать доступ любому другому субъекту, но не имеет права никому передать привилегию на корректировку защиты. Однако такое ограничение не касается администраторов системы - они имеют право изменять защиту любых объектов. Главным недостатком принципа привилегий владельца является то, что при обращении к объекту, пользователь должен предварительно получить разрешение у владельца (или администратора). Это может приводить к сложностям в работе (например, при отсутствии владельца или просто нежелании его разрешить доступ). Поэтому такой принцип обычно используется при защите личных объектов пользователей.

8. Свободная передача привилегий. При такой схеме субъект, создавший объект, может передать любые права на него любому другому субъекту вместе с правом корректировки СКД этого объекта. Тот, в свою очередь, может передать все эти права другому субъекту. Естественно, при этом возникают большие трудности в определении круга субъектов, имеющих в данный момент доступ к объекту (права на объект могут распространяться очень быстро и так же быстро исчезать), и поэтому такой объект легко подвергнуть несанкционированной обработке. В силу этих обстоятельств подобная схема применяется достаточно редко – в основном в исследовательских группах, работающих над одним проектом (когда все имеющие доступ к объекту заинтересованы в его содержимом).

В чистом виде рассмотренные принципы реализации политики безопасности применяются редко. Обычно используются их различные комбинации.

Достоверная вычислительная база. Для того, чтобы корректно воплотить в жизнь разработанную политику безопасности необходимо иметь надежные механизмы ее реализации. Естественно предположить, что все средства, отвечающие за реализацию политики безопасности, сами должны быть защищены от любого вмешательства в их работу. В противном случае говорить о надежности защиты будет трудно. Можно изменять их параметры, но в своей основе они должны оставаться в неприкосновенности. Поэтому все средства защиты и управления должны быть объединены в так называемую достоверную вычислительную базу.

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

ДВБ совместно используется всеми пользователями КС, однако ее модификация разрешена только пользователям со специальными полномочиями. К ним относятся администраторы системы и другие привилегированные сотрудники организации. Процесс, функционирующий от имени ДВБ, является достоверным. Это означает, что система защиты безоговорочно доверяет этому процессу и все его действия санкционированы политикой безопасности.

Для поддержки политики безопасности и собственной защиты ДВБ должна обеспечить защиту субъектов (процессов) системы и защиту объектов системы в оперативной памяти и на внешних носителях. Защита ДВБ строится на основе концепции иерархической декомпозиции системы. Сущность концепции заключается в том, что реальная система представляется как совокупность иерархически упорядоченных абстрактных уровней; при этом функции каждого уровня реализуются компонентами более низкого уровня. Компоненты определенного уровня зависят только от компонентов более низких уровней и их внутренняя структура полагается недоступной с более высоких уровней. Связь уровней организуется через межуровневый интерфейс.

Структура компонентов системы и связи между ними являются жестко фиксированными; их изменение, дублирование, уничтожение невозможны. Компоненты более высоких уровней привязаны к компонентам более низких уровней, те, в свою очередь, к элементам физической реализации (устройствам ввода-вывода, процессору и др.). Связи между различными компонентами определяются спецификациями межуровневого интерфейса и также не могут изменяться.

Компоненты верхних уровней обычно описывают интерфейс пользователя. Сюда входят различные редакторы, компиляторы, интерпретаторы командных языков, утилиты и т.д. Средние уровни обычно реализуют ввод-вывод на уровне записей, работу с файлами и виртуальной памятью. Компоненты нижних уровней реализуют планирование и диспетчеризацию процессов, распределение ресурсов, ввод-вывод на физическом уровне, обработку прерываний и т.д. Компонентами нулевого уровня можно считать элементы физической реализации: особенности архитектуры процессора, состав и назначение регистров (общих и привилегированных), физическую реализацию некоторых функций и т.д. Множество компонентов всех уровней, кроме верхнего, а также средства управления ими и составляют ДВБ.

 

Механизмы защиты в составе достоверн вычислит базы

Достоверная вычислительная база состоит из ряда механизмов защиты, позволяющих ей обеспечивать поддержку реализации политики безопасности. Основой ДВБ является ядро безопасности – элементы аппаратного и программного обеспечения, защищенные от модификации и проверенные на корректность, которые разделяют все попытки доступа субъектов к объектам. Основными функциями, которые должно выполнять ядро безопасности, являются:

1. Идентификация, аутентификация и авторизация субъектов и объектов системы. Эти функции необходимы для подтверждения подлинности субъекта, законности его прав на данный объект или на определенные действия, а также для обеспечения работы субъекта в системе. Идентификация - процесс распознавания элемента системы, обычно с помощью заранее определенного идентификатора или другой априорной информации; каждый субъект или объект должен быть однозначно идентифицируем. Аутентификация - проверка идентификации пользователя, процесса, устройства или другого компонента системы (обычно осуществляется перед разрешением доступа); а также проверка целостности данных при их хранении или передаче для предотвращения несанкционированной модификации. Авторизация - предоставление субъекту прав на доступ к объекту. Эти функции необходимы для поддержания разрешительного порядка доступа к системе и соблюдения политики безопасности: авторизованный (разрешенный) доступ имеет только тот субъект, чей идентификатор удовлетворяет результатам аутентификации. Они выполняются как в процессе работы (при обращении к наборам данных, устройствам, ресурсам), так и при входе в систему. Во втором случае имеются отличия, которые мы рассмотрим в следующем пункте.

2. Контроль входа пользователя в систему и управление паролями. Эти функции являются частным случаем перечисленных выше: при входе в систему и вводе имени пользователя осуществляется идентификация, при вводе пароля - аутентификация и, если пользователь с данными именем и паролем зарегистрирован в системе, ему разрешается доступ к определенным объектам и ресурсам (авторизация). Однако при входе в систему существуют отличия при выполнении этих функций. Они обусловлены тем, что в процессе работы система уже имеет информацию о том, кто работает, какие у него полномочия (на основе информации в базе данных защиты) и т.д. и поэтому может адекватно реагировать на запросы субъекта. При входе в систему это все только предстоит определить. Вход пользователя в систему - одно из наиболее уязвимых мест защиты; известно множество случаев взлома пароля, входа без пароля, перехвата пароля и т.д. Поэтому при выполнении входа и пользователь, и система должны быть уверены, что они работают непосредственно друг с другом, между ними нет других программ и вводимая информация истинна.

3. Регистрация и протоколирование. Аудит. Эти функции обеспечивают получение и анализ информации о состоянии ресурсов системы с помощью специальных средств контроля, а также регистрацию действий, признанных администрацией потенциально опасными для безопасности системы. Кроме того, почти все эти средства контроля могут не только обнаружить какое-либо событие, но и фиксировать его. Например, большинство систем имеет средства протоколирования сеансов работы отдельных пользователей (всего сеанса или его отдельных параметров). Большинство систем защиты имеют в своем распоряжении средства управления системным журналом. Содержимое системного журнала и других наборов данных, хранящих информацию о результатах контроля, должны подвергаться периодическому просмотру и анализу (аудит) с целью проверки соблюдения политики безопасности.

4. Противодействие "сборке мусора". После окончания работы программы обрабатываемая информация не всегда полностью удаляется из памяти. Части данных могут оставаться в оперативной памяти, на дисках и лентах, других носителях. Они хранятся на диске до перезаписи или уничтожения. При выполнении этих действий на освободившемся пространстве диска находятся их остатки. Хотя при искажении заголовка файла эти остатки прочитать трудно, однако, используя специальные программы и оборудование, такая возможность все-таки имеется. Этот процесс называется "сборкой мусора". Он может привести к утечке важной информации. Для защиты от "сборки мусора" используются специальные средства, которые могут входить в ядро безопасности ОС или устанавливаться дополнительно.

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

 

Основным объектом внимания средств контроля доступа являются совместно используемые наборы данных и ресурсы системы. Совместное использование объектов порождает ситуацию "взаимного недоверия" при которой разные пользователи одного объекта не могут до конца доверять друг другу. Тогда, если с этим объектом что-нибудь случиться, все они попадают в круг подозреваемых. Существует четыре основных способа разделения субъектов к совместно используемым объектам:

1. Физическое - субъекты обращаются к физически различным объектам (однотипным устройствам, наборам данных на разных носителях и т.д.).

2. Временное - субъекты с различными правами доступа к объекту получают его в различные промежутки времени.

3. Логическое - субъекты получают доступ к совместно используемому объекту в рамках единой операционной среды, но под контролем средств разграничения доступа, которые моделируют виртуальную операционную среду "один субъект - все объекты"; в этом случае разделение может быть реализовано различными способами разделение оригинала объекта, разделение с копированием объекта и т.д.

4. Криптографическое - все объекты хранятся в зашифрованном виде, права доступа определяются наличием ключа для расшифрования объекта.

Контроль доступа субъектов системы к объектам (не только к совместно используемым, но и к индивидуальным) реализуется с помощью тех же механизмов, которые реализуют ДВБ и осуществляется процедурами ядра безопасности.

 

Защита программ от несанкционированного использования

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

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

Методы, затрудняющие считывание скопированной информации. Создание копий программных средств для изучения или несанкционированного использования осуществляется с помощью устройств вывода или каналов связи. Одним из самых распространенных каналов несанкционированного копирования является использование накопителей на съемных магнитных носителях. Угроза несанкционированного копирования информации блокируется методами, которые могут быть распределены по двум группам: методы, затрудняющие считывание скопированной информации, и методы, препятствующие использованию информации.

Методы из первой группы основываются на придании особенностей процессу записи информации, которые не позволяют считывать полученную копию на других накопителях, не входящих в защищаемую КС. Таким образом, эти методы направлены на создание совместимости накопителей только внутри объекта. В КС должна быть ЭВМ, имеющая в своем составе стандартные и нестандартные накопители. На этой ЭВМ осуществляется ввод (вывод) информации для обмена с другими КС, а также переписывается информация со стандартных носителей на нестандартные, и наоборот. Особенности работы накопителей на съемных магнитных носителях должны задаваться за счет изменения программных средств, поддерживающих их работу, а также за счет простых аппаратных регулировок и настроек. Такой подход позволит использовать серийные образцы накопителей.

Самым простым решением является нестандартная разметка (форматирование) носителя информации. Изменение длины секторов, межсекторных расстояний, порядка нумерации секторов и некоторые другие способы нестандартного форматирования дискет затрудняют их использование стандартными средствами операционных систем. Нестандартное форматирование защищает только от стандартных средств работы с накопителями. Использование специальных программных средств (например, DISK EXPLORER) позволяет получить характеристики нестандартного форматирования.

Перепрограммирование контроллеров ВЗУ, аппаратные регулировки и настройки вызывают сбой оборудования при использовании носителей на стандартных ВЗУ, если форматирование и запись информации производились на нестандартном ВЗУ. В качестве примеров можно привести изменения стандартного алгоритма подсчета контрольной суммы и работы системы позиционирования накопителей на гибких магнитных дисках. В контроллерах накопителей подсчитывается и записывается контрольная сумма данных сектора. Если изменить алгоритм подсчета контрольной суммы, то прочитать информацию на стандартном накопителе будет невозможно из-за сбоев.

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

Методы, препятствующие использованию скопированной информации. Эта группа методов имеет целью затруднить использование полученных копированием данных. Скопированная информация может быть программой или данными. Данные и программы могут быть защищены, если они хранятся на ВЗУ в преобразованном криптографическими методами виде. Программы, кроме того, могут защищаться от несанкционированного исполнения и тиражирования, а также от исследования.

Наиболее действенным (после криптографического преобразования) методом противодействия несанкционированному выполнению скопированных программ является использование блока контроля среды размещения программы. Блок контроля среды размещения является дополнительной частью программ. Он создается при инсталляции (установке) программ. В него включаются характеристики среды, в которой размещается программа, а также средства получения и сравнения характеристик.

 

В качестве характеристик используются характеристики ЭВМ или носителя информации, или совместно, характеристики ЭВМ и носителя. С помощью характеристик программа связывается с конкретной ЭВМ и (или) носителем информации. Программа может выполняться только на тех ЭВМ или запускаться только с тех носителей информации, характеристики которых совпадут с характеристиками, записанными в блоке контроля среды выполнения. В качестве характеристик ЭВМ используются особенности архитектуры: тип и частота центрального процессора, номер процессора (если он есть), состав и характеристики внешних устройств, особенности их подключения, режимы работы блоков и устройств и т. п. Сложнее осуществляется привязка программ к носителям информации, так как они стандартны и не имеют индивидуальных признаков. Поэтому такие индивидуальные признаки создаются искусственно путем нанесения физических повреждений или изменением системной информации и структуры физических записей на носителе. Например, на гибких магнитных дисках могут прожигаться лазером отверстия, используется нестандартное форматирование, пометка некоторых секторов как дефектных. Приведенные средства защиты от несанкционированного использования дискет эффективны против стандартных способов создания копий (СОРY, ХСОРY, Diskсорy, Pctools, Norton Utilities и др.).

Однако существуют программные средства (СОРYWRIТЕ, DISK EXPLORER), позволяющие создавать полностью идентичные копии дискет с воспроизведением всех уникальных характеристик. Все же приведенный метод защиты нельзя считать абсолютно неэффективным, так как трудоемкость преодоления защиты велика и требования, предъявляемые к квалификации взломщика, высоки.

Для защиты от несанкционированного использования программ могут применяться и электронные ключи. Электронный ключ «НАSР» имеет размеры со спичечный коробок и подключается к параллельному порту принтера. Принтер подключается к компьютеру через электронный ключ. На работу принтера ключ не оказывает никакого влияния. Ключ распространяется с защищаемой программой. Программа в начале и в ходе выполнения считывает контрольную информацию из ключа. При отсутствии ключа выполнение программы блокируется.

 

Противодействие изучению программного кода. Изучение логики работы программы может выполняться в одном из двух режимов: статическом и динамическом. Сущность статического режима заключается в изучении исходного текста программы. Для получения листингов исходного текста выполняемый программный модуль дизассемблируют, то есть получают из программы на машинном языке программу на языке Ассемблер. Динамический режим изучения алгоритма программы предполагает выполнение трассировки программы. Под трассировкой программы понимается выполнение программы на ЭВМ с использованием специальных средств, позволяющих выполнять программу в пошаговом режиме.

Существует несколько методов противодействия дизассемблированию:

- шифрование;

- архивация:

- использование самогенерирующих кодов;

- «обман» дизассемблера.

Архивацию можно рассматривать как простейшее шифрование. Причем архивация может быть объединена с шифрованием. Комбинация таких методов позволяет получать надежно закрытые компактные программы. Зашифрованную программу невозможно дизассемблировать без расшифрования. Зашифрование (расшифрование) программ может осуществляться аппаратными средствами или отдельными программами. Такое шифрование используется перед передачей программы по каналам связи или при хранении ее на ВЗУ. Дизассемблирование программ в этом случае возможно только при получении доступа к расшифрованной программе, находящейся в ОП перед ее выполнением (если считается, что преодолеть криптографическую защиту невозможно).

Другой подход к защите от дизассемблирования связан с совмещением процесса расшифрования с процессом выполнения программ. Если расшифрование всей программы осуществляется блоком, получающим управление первым, то такую программу расшифровать довольно просто. Гораздо сложнее расшифровать и дизассемблировать программу, которая поэтапно расшифровывает информацию, и этапы разнесены по ходу выполнения программы. Задача становится еще более сложной, если процесс расшифрования разнесен по тексту программы.

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

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

Трассировка программ обычно осуществляется с помощью программных продуктов, называемых отладчиками. Основное назначение их – выявление ошибок в программах. При анализе алгоритмов программ используются такие возможности отладчиков как пошаговое (покомандное) выполнение программ, возможность останова в контрольной точке. Покомандное выполнение осуществляется процессором при установке пошагового режима работы. Контрольной точкой называют любое место в программе, на котором обычное выполнение программы приостанавливается, и осуществляется переход в особый режим, например, в режим покомандного выполнения. Для реализации механизма контрольной точки обычно используется прерывание по соответствующей команде ЭВМ. В современных процессорах можно использовать специальные регистры для установки нескольких контрольных точек при выполнении определенных операций: обращение к участку памяти, изменение участка памяти, выборка по определенному адресу, обращение к определенному порту ввода-вывода и т. д. При наличии современных средств отладки программ полностью исключить возможность изучения алгоритма программы невозможно, но существенно затруднить трассировку возможно. Основной задачей противодействия трассировке является увеличение числа и сложности ручных операций, которые необходимо выполнить программисту-аналитику.

 

Под компьютерным вирусом (или просто вирусом) понимается автономно функционирующая программа, обладающая спос

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...