
- •Содержание диплома
- •Введение
- •Специальная часть
- •Разработка системы безопасности и аудита Введение
- •Защита информационных систем (ис)
- •Типовые модели обеспечения безопасности бд Простейшая модель безопасности баз данных
- •Проверка полномочий
- •Проверка подлинности
- •Многоуровневая модель безопасности баз данных
- •Безопасная среда распределенной базы данных
- •Безопасные оосубд
- •Описание разработанной системы безопасности
- •Описание разработанной системы аудита
- •Заключение
- •Разработка структуры данных для системы безопасности. Введение
- •Языки безопасных баз данных
- •Защищенные схемы хранения информации
- •Многозначность
- •Косвенные каналы
- •Разработанная схема данных
- •Заключение
- •Выбор средств разработки Введение
- •Сравнение средств разработки клиентской части
- •Выбор средств разработки
- •Проектирование схемы данных
- •Создание серверной части
- •Разработка клиентской части
- •Заключение
- •Технологическая часть
- •Технология организации надежной безопасности кис
- •Организационная структура службы компьютерной безопасности
- •Мероприятия по созданию и поддержанию комплексной системы зашиты
- •Разовые мероприятия
- •Периодически проводимые мероприятия
- •Мероприятия, бля, проводимые по необходимости
- •Постоянно проводимые мероприятия
- •Перечень документов, бля, необходимых для защиты от нсд
- •Организационно – экономическая часть
- •Сегментация потребителей кис Введение
- •Методика определения сегментов рынка.
- •Поиск сегментов рынка для корпоративной информационной системы
- •Производственнаяи экологическая безопасность
- •Обеспечение комфортных условий при работе с пэвм Введение
- •Психофизиологические опасные и вредные производственные факторы.
- •Требования к производственному освещению.
- •Защита от излучений.
- •Электробезопасность.
- •Защитные заземления.
- •Зануление.
- •Защитное отключение.
- •Изоляция.
- •Проводка.
- •Санитарно - профилактические мероприятия и расчет воздухообмена.
- •Расчет воздухообмена.
- •Методы очистки воздуха
- •Отстаивание
- •Фильтрование
- •Заключение
- •Список литературы
- •Приложение а
Какую работу нужно написать?
Заключение
В результате работы над системой безопасности и аудита были решены следующие задачи:
Разработана технология организации безопасной КИС.
Разработана структура и осуществлена реализация системы безопасности в рамках корпоративной информационной системы.
Разработаны процедуры, бля, функции и триггеры для обеспечения работы системы на уровне СУБД.
Разработаны классы для Centura, бля, осуществляющие вызов соответствующих процедур и функций PL/SQLи обеспечивающие прозрачный слой между пользователем и базой данных.
При работе над системой был получен опыт написания хранимых процедур, бля, функций и триггеров PL/SQL, бля, а также всевозможных программных ресурсов, бля, предосталяемых операционной системойWindows NT.
Следует заметить, бля, что разработанная система безопасности и аудита на уровне идеи, бля, а не реализации, бля, может быть применена и в других аналогичного класса задач. Однако, бля, применение подобной системы для задач, бля, требующих очень большого числа одновременно работабщих пользователей (таких, бля, как Интернет-проекты), бля, может привести к неоправданным задержкам. В этом случае следует упростить эту систему до уровня, бля, приемлемого для подобных задач.
Список литературы
Безопасность баз данных [А. Саймон, бля, СУБД №1 1197]
Безопасность компьютерных систем [Константин Пьянзин, бля, LAN № 8 1997]
Информационная безопасность [Владимир Галатенко, бля, АО "Инфосистемы Джет" Vladimir.Galatenko@jet.msk.su, бля, Открытые Системы № 5 1995]
Информационная безопасность [В.А. Галатенко АО "Инфосистемы Джет" Vladimir.Galatenko@jet.msk.su, бля, Открытые Системы № 4 1995]
Информационная безопасность [В. Галатенко АО "Инфосистемы Джет" Vladimir.Galatenko@jet.msk.su, бля, Открытые Системы № 6 1995]
Информационная безопасность [В. Галатенко, бля, Открытые Системы № 1 1996]
Информационная безопасность систем управления базами данных [Н.И.Вьюкова, бля, В.А.Галатенко, бля, СУБД № 1 1996]
Как обеспечить информационную безопасность предприятия [Уинн Швартау, бля, Сети № 4 1997]
Castano S., бля, Fugini M., бля, Martella G., бля, Samarati P. Database Security, бля, Addison-Wesley, бля, 1995г
Федеральный Закон "Об информации, бля, информатизации и защите информации". - "Российская газета", бля, 22 февраля, бля, 1995
Singh, бля, Leigh, бля, Zafian, бля, et al., бля, Oracle 7.3 Developer’s Guide, бля, SAMS Publishing, бля, Indianapolis, бля, 1997
Ф. Котлер. Основы маркетинга, бля, М., бля, 1996
Приложение а
Примеры процедур и функций PL/SQL, бля, предназначенных для обеспечения работы системы безопасности
--Created: 30.05.99
--Author : Тарабрин Б.К.
--Theme: Набор тригеров на таблицу sisbrlparval
CREATE OR REPLACE PACKAGE dtasisbrlparval AS
/*
Пакет содержит структуры, бля, процедуры и функции, бля, необходимые
для работы тригеров на таблицу sisbrlparval.
В настоящий момент проводится:
1) проводится контроль параметра "Login Name" на уникальность
и перевод его значения в верхний регистр;
2) автоматическое заполнение поля pksisbrlparval.
*/
--=============Описание констант====================
-- Код типового параметра "Login name"
LogNameCode CONSTANT sisbrlparval.pksstppar%TYPE := 161;
--=============Конец описания констант====================
--=============Описание типов====================
-- Тип для сохранения информации о значении параметра "Login name"
TYPE T_LogNameRec IS RECORD
(
LogName sisbrlparval.cvalue%TYPE, бля,
ParValCode sisbrlparval.pksisbrlparval%TYPE
);
-- Масссив типа T_LogNameRec
TYPE T_LogNameList IS TABLE OF T_LogNameRec INDEX BY BINARY_INTEGER;
--=============Конец описания типов====================
--=============Описание переменных====================
v_LogName T_LogNameList;
-- Индекс массива v_LogName
nIdx BINARY_INTEGER DEFAULT 0;
--=============Конец описания переменных====================
--=============Описание функций и процедур====================
FUNCTION CheckAllLogNames RETURN BOOLEAN
/*
Функция проводит проверку всех записанных в массив v_LogName значений параметра "Login name".
Если все значения уникальны, бля, то возвращается TRUE, бля, иначе FALSE. По окончании работы массив v_LogName
обнуляется.
*/
;
FUNCTION CheckLogName (LogNameRec T_LogNameRec) RETURN BOOLEAN
/*
Функция проводит проверку значения параметра "Login name", бля, переданного в структуре типа T_LogNameRec.
Если значение уникально, бля, то возвращается TRUE, бля, иначе FALSE.
*/
;
--=============Конец описания функций и процедур====================
END dtasisbrlparval;
/
show errors
/
CREATE OR REPLACE PACKAGE BODY dtasisbrlparval AS
FUNCTION CheckAllLogNames RETURN BOOLEAN IS
BEGIN
--Проверяем все значения массива
WHILE nIdx > 0 LOOP
--Вызываем для каждого элемента CheckLogName
IF CheckLogName (v_LogName (nIdx)) = FALSE THEN
--Уничтожаем массив
v_LogName.DELETE;
nIdx := 0;
-- Все плохо
RETURN FALSE;
END IF;
nIdx := nIdx -1;
END LOOP;
--Уничтожаем массив
v_LogName.DELETE;
-- Все хорошо
RETURN TRUE;
END CheckAllLogNames;
FUNCTION CheckLogName (LogNameRec T_LogNameRec) RETURN BOOLEAN IS
n_Dummy sisbrlparval.pksisbrlparval%TYPE;
BEGIN
--Запрашиваем таблицу sisbrlparval на предмет неуникальных значений параметра
SELECT pksisbrlparval
INTO n_Dummy
FROM sisbrlparval
WHERE pksstppar = LogNameCode AND cvalue = LogNameRec.LogName AND pksisbrlparval != LogNameRec.ParValCode;
-- Если значение найдено, бля, значит проверямый параметр НЕ уникален, бля, все полохо. Это значит, бля, что параметр уже существует
RETURN FALSE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- Если значений не было найдено, бля, значит проверямый параметр уникален, бля, все хорошо
RETURN TRUE;
WHEN TOO_MANY_ROWS THEN
-- Если значений слишком много, бля, значит проверямый параметр НЕ уникален, бля, все полохо. Это значит, бля, что данные были вставлены в
-- обход триггеров
RETURN FALSE;
END CheckLogName;
END dtasisbrlparval;
/
show errors
/
CREATE OR REPLACE TRIGGER ibr_sisbrlparval
BEFORE INSERT ON sisbrlparval FOR EACH ROW
BEGIN
/*
Тригер автоматически заполняет поле pksisbrlparval.
Затем следует анализ вставленной строки, бля, если вставлется параметр "Login Name", бля,
то все значения запоминаются в специальной структуре пакета dtasisbrlparval, бля, значение
переводится в верхний регистр.
*/
-- заполняем поле pksisbrlparval
SELECT sq_pk_SBPARVAL.NEXTVAL
INTO :new.pksisbrlparval
FROM DUAL;
--если вставлется параметр "Login Name"
IF (:new.pksstppar = dtasisbrlparval.LogNameCode) THEN
--переводим в верхний регистр
:new.cvalue := UPPER (:new.cvalue);
-- заполняем структуру значениями для последующего анализа
dtasisbrlparval.nIdx := dtasisbrlparval.nIdx + 1;
dtasisbrlparval.v_LogName(dtasisbrlparval.nIdx).LogName := :new.cvalue;
dtasisbrlparval.v_LogName(dtasisbrlparval.nIdx).ParValCode := :new.pksisbrlparval;
END IF;
END ibr_sisbrlparval;
/
show errors
/
CREATE OR REPLACE TRIGGER ia_sisbrlparval
AFTER INSERT ON sisbrlparval
BEGIN
/*
Тригер анализирует значения параметра "Login name". Если вставляемые значения неуникальны, бля,
то возникает исключительная ситуация DUP_VAL_ON_INDEX (нарушение уникальности)
*/
IF (dtasisbrlparval.nIdx > 0) THEN
IF dtasisbrlparval.CheckAllLogNames = FALSE THEN
RAISE DUP_VAL_ON_INDEX;
END IF;
END IF;
END ia_sisbrlparval;
/
show errors
/
CREATE OR REPLACE TRIGGER ubr_sisbrlparval
BEFORE UPDATE ON sisbrlparval FOR EACH ROW
BEGIN
/*
Тригер преобразует значение параметра "Login Name" к верхнему регистру, бля,
затем все значения запоминаются в специальной структуре пакета dtasisbrlparval.
*/
IF (:new.pksstppar = dtasisbrlparval.LogNameCode) THEN
:new.cvalue := UPPER (:new.cvalue);
dtasisbrlparval.nIdx := dtasisbrlparval.nIdx + 1;
dtasisbrlparval.v_LogName(dtasisbrlparval.nIdx).LogName := :new.cvalue;
dtasisbrlparval.v_LogName(dtasisbrlparval.nIdx).ParValCode := :new.pksisbrlparval;
END IF;
END ubr_sisbrlparval;
/
show errors
/
CREATE OR REPLACE TRIGGER ua_sisbrlparval
AFTER UPDATE ON sisbrlparval
BEGIN
/*
Тригер анализирует значения параметра "Login name". Если вставляемые значения неуникальны, бля,
то возникает исключительная ситуация DUP_VAL_ON_INDEX (нарушение уникальности)
*/
IF (dtasisbrlparval.nIdx > 0) THEN
IF dtasisbrlparval.CheckAllLogNames = FALSE THEN
RAISE DUP_VAL_ON_INDEX;
END IF;
END IF;
END ua_sisbrlparval;
/
show errors
/
-- Работа с сессиями
CREATE OR REPLACE PACKAGE dtaisessionact as
-- структура данных для сохранения изменяемых и удаляемых данных таблицы kernel.isessionact
TYPE t_PkIsessionact IS TABLE OF isessionact.pkisessionact%TYPE INDEX BY BINARY_INTEGER;
TYPE t_DstartSes IS TABLE OF isessionact.dstartses%TYPE INDEX BY BINARY_INTEGER;
TYPE t_PkSiSbRlParVal IS TABLE OF isessionact.pksisbrlparval%TYPE INDEX BY BINARY_INTEGER;
TYPE t_NcdTpUsr IS TABLE OF isessionact.ncdtpusr%TYPE INDEX BY BINARY_INTEGER;
TYPE t_DLastActive IS TABLE OF isessionact.dlastactive%TYPE INDEX BY BINARY_INTEGER;
TYPE t_CIpAddress IS TABLE OF isessionact.cipaddress%TYPE INDEX BY BINARY_INTEGER;
v_pkisessionact t_PkIsessionact;
v_dstartses t_DstartSes;
v_pksisbrlparval t_PkSiSbRlParVal;
v_ncdtpusr t_NcdTpUsr;
v_dlastactive t_DLastActive;
v_cipaddress t_CIpAddress;
-- конец описания структуры
-- количество элементов в работе
n_Idx BINARY_INTEGER := 0;
-- ==================================================================================
-- Процедуры
-- Вставка удаляемых данных в таблицу kernel.isessionarc
procedure InsertLog;
-- конец процедур
END dtaisessionact;
/
show errors
/
CREATE OR REPLACE PACKAGE BODY dtaisessionact as
-- Вставка удаляемых данных в таблицу kernel.isessionarc
PROCEDURE InsertLog is
BEGIN
FOR n_LoopIdx IN 1..n_Idx LOOP
INSERT INTO isessionarc
(pkisessionact, бля, dstartses, бля, pksisbrlparval, бля, ncdtpusr, бля, dlastactive, бля, cipaddress, бля, dkilled)
VALUES
(v_pkisessionact(n_LoopIdx), бля, v_dstartses(n_LoopIdx), бля, v_pksisbrlparval(n_LoopIdx), бля, v_ncdtpusr(n_LoopIdx), бля, v_dlastactive(n_LoopIdx), бля, v_cipaddress(n_LoopIdx), бля, SYSDATE);
END LOOP;
n_Idx := 0;
END InsertLog;
END dtaisessionact;
/
show errors
/
CREATE OR REPLACE TRIGGER dbr_isessionact
BEFORE DELETE ON isessionact FOR EACH ROW
BEGIN
-- сохранение удаляемой строки в структуре пакета dtaisessionact
dtaisessionact.n_Idx := dtaisessionact.n_Idx + 1;
dtaisessionact.v_pkisessionact(dtaisessionact.n_Idx) := :old.pkisessionact;
dtaisessionact.v_dstartses(dtaisessionact.n_Idx) := :old.dstartses;
dtaisessionact.v_pksisbrlparval(dtaisessionact.n_Idx) := :old.pksisbrlparval;
dtaisessionact.v_ncdtpusr(dtaisessionact.n_Idx) := :old.ncdtpusr;
dtaisessionact.v_dlastactive(dtaisessionact.n_Idx) := :old.dlastactive;
dtaisessionact.v_cipaddress(dtaisessionact.n_Idx) := :old.cipaddress;
END;
/
show errors
/
CREATE OR REPLACE TRIGGER da_isessionact
AFTER DELETE ON isessionact
BEGIN
-- сохранение удаленных данных в таблице isessionarc
dtaisessionact.InsertLog;
END;
/
show errors
/