Файл: Классификация систем защиты программного обеспечения (Основные виды, средства и методы защиты информации).pdf
Добавлен: 01.05.2023
Просмотров: 125
Скачиваний: 3
СОДЕРЖАНИЕ
Глава 1. Основные виды, средства и методы защиты информации
Глава 2. Методы анализа безопасности программного обеспечения
2.1 Контрольно-испытательные методы
2.2 Логико-аналитические методы
Глава 3. Процесс сопоставления методик информационной защиты и объектов защиты
3.3 Средства защиты ПО с электронными ключами
3.4 Средства защиты ПО с ключевыми дисками
Системную классификацию технических средств защиты удобно провести по следующей совокупности показателей:
1) функциональное назначение, то есть основные задачи защиты объекта, которые могут быть решены с их применением;
2) сопряженность средств защиты с другими средствами объекта обработки информации (ООИ);
3) сложность средства защиты и практического его использования;
4) тип средства защиты, указывающий на принципы работы их элементов;
5) стоимость приобретения, установки и эксплуатации.
В зависимости от цели и места применения, выполняемых функций и физической реализуемости технические средства можно условно разделить на физические и аппаратные:
Физические средства – механические, электрические, электромеханические, электронные, электронно-механические и тому подобные устройства и системы, которые функционируют автономно, создавая различного рода препятствия на пути дестабилизирующих факторов.
- внешняя защита – защита от воздействия дестабилизирующих факторов, проявляющихся за пределами основных средств объекта (физическая изоляция сооружений, в которых устанавливается аппаратура автоматизированной системы, от других сооружений);
- внутренняя защита – защита от воздействия дестабилизирующих факторов, проявляющихся непосредственно в средствах обработки информации (ограждение территории вычислительных центров заборами на таких расстояниях, которые достаточны для исключения эффективной регистрации электромагнитных излучений, и организации систематического контроля этих территорий);[18, c.156]
- опознавание – специфическая группа средств, предназначенная для опознавания людей и идентификации технических средств по различным индивидуальным характеристикам (организация контрольно-пропускных пунктов у входов в помещения вычислительных центров или оборудованных входных дверей специальными замками, позволяющими регулировать доступ в помещения).
Аппаратные средства – различные электронные, электронно-механические и тому подобные устройства, схемно встраиваемые в аппаратуру системы обработки данных или сопрягаемые с ней специально для решения задач по защите информации. Например, для защиты от утечки по техническим каналам используются генераторы шума.
- нейтрализация технических каналов утечки информации (ТКУИ) выполняет функцию защиты информации от ее утечки по техническим каналам;
- поиск закладных устройств – защита от использования злоумышленником закладных устройств съема информации;
- маскировка сигнала, содержащего конфиденциальную информацию, – защита информации от обнаружения ее носителей (стенографические методы) и защита содержания информации от раскрытия (криптографические методы).
Особую и получающую наибольшее распространение группу аппаратных средств защиты составляют устройства для шифрования информации (криптографические методы).
Программные средства – специальные пакеты программ или отдельные программы, включаемые в состав программного обеспечения автоматизированных систем с целью решения задач по защите информации. Это могут быть различные программы по криптографическому преобразованию данных, контролю доступа, защите от вирусов и др. Программная защита является наиболее распространенным видом защиты, чему способствуют такие положительные свойства данного средства, как универсальность, гибкость, простота реализации, практически неограниченные возможности изменения и развития и т.п. По функциональному назначению их можно разделить на следующие группы:[19]
- идентификация технических средств (терминалов, устройств группового управления вводом-выводом, ЭВМ, носителей информации), задач и пользователей,
- определение прав технических средств (дни и время работы, разрешенные к использованию задачи) и пользователей,
- контроль работы технических средств и пользователей,
- регистрация работы технических средств и пользователей при обработке информации ограниченного использования,
- уничтожения информации в ЗУ после использования, сигнализации при несанкционированных действиях, вспомогательные программы различного назначения: контроля работы механизма защиты, проставления грифа секретности на выдаваемых документах.
Неформальные средства делятся на организационные, законодательные и морально-этические.
Организационные средства – специально предусматриваемые в технологии функционирования объекта организационно-технические мероприятия для решения задач по защите информации, осуществляемые в виде целенаправленной деятельности людей.[22]
Глава 2. Методы анализа безопасности программного обеспечения
Программное обеспечение (ПО) является одной из основных составляющих любой современной ИС: отдельного ПК, вычислительных и телекоммуникационных сетей различного размера и назначения, от небольших локальных до глобальных.
Современные средства программного обеспечения осуществляют реализацию все более сложных и эффективных ИТ во всех сферах человеческой деятельности. Однако само ПО подвержено воздействию большого числа дестабилизирующих факторов. Существенный урон программным продуктам наносят такие несанкционированные действия, как несанкционированное копирование программ, их незаконное распространение и использование, в результате чего снижается его качество, вплоть до полного прекращения его функционирования и наносит значительный материальный ущерб фирмам-изготовителям программного обеспечения.[1, c.120]
В настоящее время разработано достаточно много средств защиты программного обеспечения: программные, технические, правовые и т.д. Однако реально существует проблема выбора наиболее эффективных методов и средств защиты ПО в конкретных ИС.
2.1 Контрольно-испытательные методы
программный обеспечение защита лицензирование
Контрольно-испытательные методы - это методы, в которых критерием безопасности программы служит факт регистрации в ходе тестирования программы нарушения требований по безопасности, предъявляемых в системе предполагаемого применения исследуемой программы. Тестирование может проводиться с помощью тестовых запусков, исполнения в виртуальной программной среде, с помощью символического выполнения программы, ее интерпретации и другими методами [4, c.220].
Контрольно-испытательные методы делятся на те, в которых контролируется процесс выполнения программы и те, в которых отслеживаются изменения в операционной среде, к которым приводит запуск программы. Эти методы наиболее распространены, так как они не требуют формального анализа, позволяют использовать имеющиеся технические и программные средства и быстро ведут к созданию готовых методик.
Контрольно-испытательные методы анализа безопасности начинаются с определения набора контролируемых параметров среды или программы. Необходимо отметить, что этот набор параметров будет зависеть от используемого аппаратного и программного обеспечения (от операционной системы) и исследуемой программы. Затем необходимо составить программу испытаний, осуществить их и проверить требования к безопасности, предъявляемые к данной программе в предполагаемой среде эксплуатации, на запротоколированных действиях программы и изменениях в операционной среде, а также используя методы экстраполяции результатов и стохастические методы.
Очевидно, что наибольшую трудность здесь представляет определение набора критичных параметров программы и операционной среды. Они очень сильно зависят от специфики операционной системы и определяются путем экспертных оценок. Кроме того в условиях ограниченных объемов испытаний, заключение о выполнении или невыполнении требований безопасности как правило будет носить вероятностный характер.
2.2 Логико-аналитические методы
При проведении анализа безопасности с помощью логико-аналитических методов строится модель программы и формально доказывается эквивалентность модели исследуемой программы и модели РПС. В простейшем случае в качестве модели программы может выступать ее битовый образ, в качестве моделей вирусов множество их сигнатур, а доказательство эквивалентности состоит в поиске сигнатур вирусов в программе. Более сложные методы используют формальные модели, основанные на совокупности признаков, свойственных той или иной группе РПС [4, c.340].
Для проведения логико-аналитического анализа безопасности программы необходимо, во-первых, выбрать способ представления и получения моделей программы и РПС. После этого необходимо построить модель исследуемой программы и попытаться доказать ее принадлежность к отношению эквивалентности, задающему множество РПС.
На основании полученных результатов можно сделать заключение о степени безопасности программы. Ключевыми понятиями здесь являются «способ представления» и «модель программы». Дело в том, что на компьютерную программу можно смотреть с очень многих точек зрения - это и алгоритм, который она реализует, и последовательность команд процессора, и файл, содержащий последовательность байтов и т.д. Все эти понятия образуют иерархию моделей компьютерных программ. Можно выбрать модель любого уровня и способ ее представления, необходимо только чтобы модель РПС и программы были заданы одним и тем же способом, с использованием понятий одного уровня. Другой серьезной проблемой является создание формальных моделей программ, или хотя бы определенных классов РПС.[14, c. 29]
В целом полный процесс анализа ПО включает в себя три вида анализа:
а) лексический верификационный анализ - предполагает поиск, распознавание и классификацию различных лексем объекта исследования (программы), представленного в исполняемых кодах. При этом лексемами являются сигнатуры. В данном случае осуществляется поиск сигнатур следующих классов:
- сигнатуры вирусов;
- сигнатуры элементов РПС;
- сигнатуры (лексемы) «подозрительных функций»;
б) синтаксический верификационный анализ - предполагает поиск, распознавание и классификацию синтаксических структур РПС, а также построение структурно - алгоритмической модели самой программы;
в) семантический анализ - предполагает исследование программы, изучение смысла составляющих ее функций (процедур) в аспекте операционной среды компьютерной системы. В отличие от предыдущих видов анализа, основанных на статическом исследовании, семантический анализ нацелен на изучение динамики программы - ее взаимодействия с окружающей средой. Процесс исследования осуществляется в виртуальной операционной среде с полным контролем действий программы и отслеживанием алгоритма ее работы по структурно-алгоритмической модели.[12, c.167]
Семантический анализ является наиболее эффективным видом анализа, но и самым трудоемким. По этой причине методика сочетает в себе три перечисленных выше анализа. Выработанные критерии позволяют разумно сочетать различные виды анализа, существенно сокращая время исследования, не снижая его качества.
Глава 3. Процесс сопоставления методик информационной защиты и объектов защиты
3.1 Парольная защита
Этот класс СЗПО, на сегодняшний день, является самым распространённым. Основной принцип работы данных систем заключается в идентификации и аутентификации пользователя ПО путём запроса дополнительных данных, это могут быть название фирмы и/или имя и фамилия пользователя и его пароль либо только пароль/регистрационный код. Эта информация может запрашиваться в различных ситуациях, например, при старте программы, по истечении срока бесплатного использования ПО, при вызове процедуры регистрации либо в процессе установки на ПК пользователя.
Процедуры парольной защиты просты в реализации и, поэтому, очень часто применяются производителями ПО. Большинство парольных СЗПО использует логические механизмы, сводящиеся к проверке правильности пароля/кода и запуске или не запуске ПО, в зависимости от результатов проверки. Существуют так же системы, шифрующие защищаемое ПО и использующие пароль или производную от него величину как ключ дешифрации, большинство таких систем использует слабые или простейшие алгоритмы шифрования, нестойкие к направленным атакам. Лишь в последнее время разработаны парольные СЗПО, реализующие стойкие криптоалгоритмы типа DES и RSA, они реализованы в виде защитного модуля и вспомогательных библиотек и устанавливаются на уже скомпилированные модули ПО [2, c. 346].
Слабым звеном парольных защит является блок проверки правильности введённого пароля/кода. Для такой проверки можно сравнивать введённый пароль с записанным в коде ПО правильным либо с правильно сгенерированным из введённых дополнительных данных паролем. Путём анализа процедур проверки можно найти реальный пароль, записанный в коде ПО, найти правильно сгенерированный пароль из введённых данных либо создать программу для перебора паролей для определения пароля с нужной ХЭШ - суммой. Кроме того, если СЗПО не использует шифрования, достаточно лишь принудительно изменить логику проверки для получения беспрепятственного доступа к ПО.