Разработка программы для автоматизации проверки аудита при аттестации объектов информатизации

Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации. Средство защиты информации от несанкционированного доступа Secret Net 6.0. Разработка интерфейсной части программы, целевых функций.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 20.12.2013
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Модульный принцип реализован в программной среде Delphi на различных уровнях. В частности, предусматривается использование процедур и функций.

Каждый модуль имеет жестко заданную структуру, которая обычно автоматически генерируется системой Delphi при его создании. Модуль состоит из четырех частей: интерфейсной части, части реализации (обязательные части), части инициализации и части завершения (необязательные части) [8]. Сначала указывается заголовок модуля -- ключевое слово Unit, за ним произвольное название модуля (оно должно совпадать с названием файла, в котором модуль хранится) и точка с запятой:

Unit TestUnit;

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

Интерфейсная часть всегда идет первой и начинается с ключевого слова interface, а часть реализации начинается с ключевого слова implementation.

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

Части инициализации и части завершения необязательны. Указанные в них действия выполняются, соответственно, в самом начале и в самом конце работы программы и только один раз.

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

Например, имеются модули А и В и в главной программе они подключаются так:

uses A,B;

Первой выполнится часть инициализации модуля A, а второй -- часть инициализации модуля B. Когда программа завершит свою работу, первой выполнится завершающая часть модуля B, а второй -- завершающая часть модуля A.

Часть инициализации начинается с ключевого слова initialization, а часть завершения -- с ключевого слова finalization.

В конце модуля всегда ставится слово end и точка.

В самом общем случае структура пустого модуля будет такой:

Unit имя-модуля;

interface uses список-модулей;

implementation uses список-модулей;

initialization

finalization

end.

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

2.2 Разработка целевых функций

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

Вот некоторые из них [1]:

-вход субъекта доступа в систему;

-выход субъекта доступа из системы;

-выдача печатных (графических) выходных документов;

-запуск программ и процессов (заданий, задач);

-завершение программ и процессов (заданий, задач);

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

-доступ программ субъектов доступа к терминалам, ЭВМ, узлам сети ЭВМ, каналам связи, внешним устройствам ЭВМ, программам, томам, каталогам, файлам, записям, полям записей;

-изменение полномочий субъектов доступа;

-создание защищаемых объектов доступа;

-очистка(обнуление) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей;

-мониторинг журнала аудита безопасности.

Мы остановимся подробнее на последнем пункте. И реализуем автоматический сбор сведений из журнала безопасности.

Secret Net 6.0, хоть и является фактически надстройкой операционной системы, регистрирует события в журнале, отличном от стандартного журнала ОС Windows. Эти сведения хранятся в базе данных с названием «XE», находящейся под управлением СУБД Oracle.

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

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

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

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

Проверяем, есть ли у нас доступ к базе данных. При отсутствии такового создаем окно результата и выводим туда сообщение об ошибке (рис.6).

Рисунок 6

В противном случае, мы выбираем из таблицы, являющейся журналом безопасности, под названием «SecurityM», находящейся в базе данных «XE», строки, содержащие информацию о произошедших событиях.

Условия выборки следующие:

-дата в поле «EVENTTIME» должна совпадать с датой, поступившей на вход процедуре проверки «CheckIt»;

-идентификационный номер события в поле «EVENTNUMBER» должен совпадать с номером выполняемой в данный момент проверки.

Идентификационные номера и названия проверок можно найти в файлах «NumEvent.ksu» и «OptionList.ksu» соответственно.

Если найдется хотя бы одно событие, удовлетворяющее условиям, то проверка прошла успешно, иначе проверка завалена (рис.7).

Рисунок 7

В конечном итоге, после завершения цикла проверок результаты выводятся в созданное специально для этого окно.

Если все необходимые проверки были пройдены успешно, то выводим соответствующее сообщение (рис.8).

Рисунок 8

2.1.1 СУБД Oracle

Oracle - лидер среди поставщиков встроенных СУБД

Ведущая аналитическая фирма IDC в своем обзоре «Поставщики встроенных СУБД в 2007» назвала компанию Oracle ведущим поставщиком с долей рынка в 26.3%. IDC определяет встроенные СУБД как те, которые проданы независимым поставщикам программного или аппаратного обеспечения и затем используются как компоненты внутри более крупных программных или аппаратных продуктов, разрабатываемых компанией-партнером [10].

Следующие технологии являются уникальными, реализованными только в СУБД Oracle:

-RAC(Real Application Cluster) позволяет объединять сервера, обслуживающие СУБД в одну большую базу данных;

-RAT(Real Application Testing) позволяет значительно снизить затраты на проведение плановых изменений в конфигурации существующего программного или аппаратного обеспечения; суть технологии RAT заключается в воспроизведении нагрузки на тестовой базе данных в точном соответствии с нагрузкой на рабочем сервере;

-Active Data Guard позволяет создать резервный сервер основной базы данных с применением всех изменений, сделанных на основном сервере, получается система, где работают как минимум два сервера: основной и резервный;

-Total Recall позволяет разгрузить базу данных от информации устаревшей, но которую необходимо хранить по требованиям бизнеса или контролирующих органов с сохранением обычного доступа к этой информации;

-In Memory Database Cache за счет ряда применяемых уникальных решений позволяет увеличить скорость обработки транзакций и выдачи запросов более чем на порядок.

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

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

Механизмы масштабирования в СУБД Oracle позволяют безгранично увеличивать мощность и скорость работы сервера Oracle и своих приложений, просто добавляя новые и новые узлы кластера. Это не требует остановки работающих приложений, не требует переписывания старых приложений, разработанных для обычной, одно-машинной, архитектуры. Кроме того, выход из строя отдельных узлов кластера также не приводит к остановке приложения.

Одной из составляющих успеха СУБД Oracle является многоплатформенность, так как она поставляется практически для всех существующих на сегодня операционных систем. Работая под Sun Solaris, Linux, Windows или на другой операционной системе, с продуктами Oracle не будет возникать никаких проблем в работе. СУБД Oracle одинаково хорошо работает на любой платформе. Таким образом, компаниям, начинающим работу с продуктами Oracle не приходится менять уже сложившееся сетевое окружение. Существует лишь небольшое количество отличий при работе с СУБД, обусловленных особенностями той или иной операционной системы. В целом же это всегда та же самая безопасная, надежная и удобная СУБД Oracle.

Также нельзя не сказать о грамотной миграционной политике Oracle. Понимая, что переход с более старой версии СУБД на новую довольно трудоемкая процедура, связанная с тестированием работы существующих приложений в новом окружении, Oracle, при выпуске новых продуктов уделяет особое внимание совместимости снизу-вверх, делая этот переход практически безболезненным. Помимо этого, для переноса данных из СУБД других фирм в СУБД Oracle, имеется специальный инструментарий. Обладая удобным графическим интерфейсом, Oracle Migration Workbench в пошаговом режиме, полуавтоматически, поможет выполнить довольно непростую процедуру миграции [11].

Все варианты сервера Oracle имеют в своем основании один и тот же код и функционально идентичны за исключением некоторых опций.

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

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

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

После изложения всех этих достоинств СУБД Oracle не остается никаких вопросов относительно того, почему создатели Secret Net заставили свое детище так тесно контактировать с данной СУБД.

Теперь попробуем выбрать интересующую нас информацию из таблицы «SecurityM» базы данных «XE», путем отправки запроса через Delphi.

Сделаем это с помощью компонента TQuery. Сперва динамически создадим окно выдачи результатов, а затем на него прикрепим вышеупомянутый компонент.

Теперь мы можем собирать информацию посредствам этого компонента. Больше всего нас интересует два столбца: EVENTTIME и EVENTNUMBER. Выборку по первому столбцу мы делаем для того, чтобы не принять запись об устаревших событиях за только что совершенные. А, выборку по второму мы совершаем, чтобы найти интересующую нас запись о произошедшем событии. Если найдется хоть одно поле, удовлетворяющее нашим требованиям, значит проверка прошла успешно. Если же нет, проверка провалена, что означает, чтоаудит данного события не ведется.

Заключение

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

Также мы получше познакомились с такими полезными продуктами, как СУБД Oracle и Embarcadero Delphi 2010.

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

Кроме того, при выборе соответствующей карьеры, он может облегчить мою собственную работу при аттестации объектов информатизации.

Список использованных источников

1. Руководящий документ: «Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация Автоматизированных систем и требования по защите информации». Руководящий документ разработан в дополнение ГОСТ 34.003-90, ГОСТ 34.601-90, РД 50-680-88, РД 50-34.680-90 и других документов.

2. ГОСТ Р 50739-95. СВТ. Защита от несанкционированного доступа к информации. Введен в действие: 01.01.1996. Дата издания: 01.08.2006 - переиздание.

3. ФЗ-№98 ("о коммерческой тайне"). Принят Государственной Думой 9 июля 2004 года. Одобрен Советом Федерации 15 июля 2004 года. В ред. Федеральных законов от 02.02.2006 N 19-ФЗ, от 18.12.2006 N 231-ФЗ, от 24.07.2007 N 214-ФЗ, от 11.07.2011 N 200-ФЗ.

4. ФЗ-№152 ("о персональных данных"). Первоначальный текст документа опубликован в изданиях "Российская газета", N 165, 29.07.2006, "Собрание законодательства РФ", 31.07.2006, N 31 (1 ч.), ст. 3451. Федеральный закон от 27.07.2006 N 152-ФЗ (ред. от 05.04.2013).

5. ФЗ-№5485-1 ("о государственной тайне"). В ред. Федеральных законов от 06.10.1997 N 131-ФЗ,от 30.06.2003 N 86-ФЗ, от 11.11.2003 N 153-ФЗ, от 29.06.2004 N 58-ФЗ, от 22.08.2004 N 122-ФЗ, от 01.12.2007 N 294-ФЗ, от 01.12.2007 N 318-ФЗ, от 18.07.2009 N 180-ФЗ, от 15.11.2010 N 299-ФЗ, от 18.07.2011 N 242-ФЗ, от 19.07.2011 N 248-ФЗ, от 08.11.2011 N 309-ФЗ, с изм., внесенными Постановлением Конституционного Суда РФ от 27.03.1996 N 8-П, определениями Конституционного Суда РФ от 10.11.2002 N 293-О, от 10.11.2002 N 314-О.

6. http://www.securitycode.ru/ Официальный сайт компании «Код безопасности».

7. http://www.cbi-info.ru/ Официальный сайт компании «Центр безопасности информации».

8. Borland Delphi 6. Руководство разработчика. Тейксейра Стив, Пачеко Ксавье. : Пер. с англ. -- М.:Издательский дом “Вильямс”, 2002. -- 1120 с. : ил. -- Парал. тит. англ. ISBN 5-8459-0305-X (рус.).

9. http://informatcorp.ru Информационный сайт.

10. http://www.plab.ru Лаборатория программных продуктов. Официальный партнер Oracle.

11. Программирование баз данных Oracle для профессионалов. Рик Гринвальд, Роберт Стаковьяк, Гэри Додж, Дэвид Кляйн, Бен Шапиро, Кристофер Дж. Челья -- М.: «Диалектика», 2007. -- 784 с. -- ISBN 978-5-8459-1138-4

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.