Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
Здравствуйте.

Есть требование для информационных систем защиты персональных данных (5-ый класс):
"При первоначальном назначении или при перераспределении внешней памяти КСЗ должен предотвращать доступ субъекту к остаточной информации".
Т.е. должен предотвращаться доступ к освобождённой памяти на ПЗУ. Например, с помощью маскирования (обнуления) информации.
При удалении информации из БД, сам файл базы данных не изменяется в размере (это так :)?).
Файл БД ужимается при выполнении команды DBCC SHRINKDATABASE.
Маскируется ли при этом освобождённое место на диске?
Если нет, то есть ли какие-нибудь стандартные средства SQL, которыми можно обеспечить маскирование освобождённого места на диске?
Используется MS SQL.

Заранее спасибо :).
16 май 12, 11:29    [12561358]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
А зачем это нужно?
16 май 12, 12:47    [12562312]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
"При первоначальном назначении или при перераспределении внешней памяти КСЗ должен предотвращать доступ субъекту к остаточной информации".
Это требование к сертификации ФСТЭК.
Чтобы какая-нибудь вредоносная программа не смогла прочитать в освобождённой памяти данные.
Для систем более низкого класса (например, 4) требуется ещё и очистка ОЗУ перед её освобождением. Но в данном случае это не нужно.

Причём у самой MS SQL есть сертификация ФСТЭК. Значит, как я понимаю, должны быть какие-то встроенные функции для очистки памяти.
16 май 12, 12:59    [12562462]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
anonym_310,

Microsoft SQL Server 2008 является программным средством общего назначения со встроенными средствами защиты от несанкционированного доступа к конфиденциальной информации. Показатели защищенности от несанкционированного доступа к информации – по 5 классу защищенности, может использоваться при создании автоматизированных систем до класса защищенности 1Г включительно и при создании информационных систем персональных данных до 3 класса включительно.

И на всякий случай - у MS SQL имеется куча разных версий, а о какой вы говорите - не ясно... И лучше задать такой вопрос представителям компании.
16 май 12, 13:00    [12562466]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
Все же мне кажется, что вряд-ли что-то очищается. Вы можете сами провести опыт - создать в пустой базе таблицу, заполнить ее до размера в 100Гб, удалить таблицу и сделать DBCC SHRINKDATABASE. По времени шринка можно будет судить о наличии или отсутствии затирания данных.
16 май 12, 13:03    [12562500]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
Большое спасибо за ответ.

Критик
anonym_310,

Microsoft SQL Server 2008 является программным средством общего назначения со встроенными средствами защиты от несанкционированного доступа к конфиденциальной информации. Показатели защищенности от несанкционированного доступа к информации – по 5 классу защищенности, может использоваться при создании автоматизированных систем до класса защищенности 1Г включительно и при создании информационных систем персональных данных до 3 класса включительно.

И на всякий случай - у MS SQL имеется куча разных версий, а о какой вы говорите - не ясно... И лучше задать такой вопрос представителям компании.


Критик, скажите, пожалуйста, значит ли это, что если информационная система для хранения информации использует СУБД Microsoft SQL Server 2008, то защита информационной составляющей системы отвечает требованиям 5 класса защищённости?
Или всё таки просто использования СУБД мало и информацию нужно очищать дополнительно (к примеру триггерами при DELETE и DROP TABLE)?
16 май 12, 13:22    [12562678]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
anonym_310,


Мне кажется, инфобезопасность нельзя рассматривать кусочно. Сами посудите, если на MS SQL все защищено, а на клиенте - все открыто, то общая оценка инфобезопасности системы будет весьма низка.

А триггерами (по "повторной" очистке данных?!) вы вряд ли чего-то добъетесь, кроме дополнительных тормозов )
16 май 12, 13:45    [12562907]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
Критик,

в самой системе естественно есть средства аутентификации и авторизации пользователя удовлетворяющие требованию 5-го класса.
Вопрос в том, можно ли считать требование "при перераспределении внешней памяти КСЗ должен предотвращать доступ субъекту к остаточной информации" соблюдено, если используется СУБД Microsoft SQL Server 2008? Т.к. сама СУБД следит за файлом БД, в котором вся информационная составляющая системы.
16 май 12, 13:56    [12563035]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
На бумаге соблюдено (сертификат-то ПО получило), а как на практике - можно проверить с помощью специализированного ПО, сделав небольшой тест.
16 май 12, 14:47    [12563483]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
Большое спасибо за ответы :).
16 май 12, 15:02    [12563591]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
anonym_310
Есть требование для информационных систем защиты персональных данных (5-ый класс):
"При первоначальном назначении или при перераспределении внешней памяти КСЗ должен предотвращать доступ субъекту к остаточной информации".
Т.е. должен предотвращаться доступ к освобождённой памяти на ПЗУ. Например, с помощью маскирования (обнуления) информации.
Это требование реализуется ОС - очисткой диска перед выделением места для другой программы.

Не зря же всё таки у сиквела сертификация есть.
16 май 12, 15:41    [12563856]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
alexeyvg,

автор
Это требование реализуется ОС - очисткой диска перед выделением места для другой программы.

И получается, что до выделения места другой программе память не очищена?
16 май 12, 16:25    [12564277]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
anonym_310
alexeyvg,

автор
Это требование реализуется ОС - очисткой диска перед выделением места для другой программы.

И получается, что до выделения места другой программе память не очищена?
Разумеется. Так же, как и сам файл базы данных - можно прочитать, если бы ОС не мешала.
16 май 12, 16:44    [12564455]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
alexeyvg,

а как тогда устроены программы для восстановления удалённых файлов на жёстком диске (когда освобождённая память на диске не очищена)? Операционная система им не мешает.
16 май 12, 17:32    [12564904]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
anonym_310
alexeyvg,
а как тогда устроены программы для восстановления удалённых файлов на жёстком диске (когда освобождённая память на диске не очищена)? Операционная система им не мешает.


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

А как такой алгоритм?
* Удаляем данные
* Вычисляем объем свободного места в базе.
* Создаем таблицу
* Пишем в таблицу всякий бред (ровно столько сколько свободного места)
* Удаляем таблицу
* Сжимаем базу
16 май 12, 19:20    [12565656]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
anonym_310
alexeyvg,

а как тогда устроены программы для восстановления удалённых файлов на жёстком диске (когда освобождённая память на диске не очищена)? Операционная система им не мешает.
Это не освобождённая память, это файлы, в таблице файлов у них просто атрибут "удалено" проставлен. Файл может восстановить тот, у кого есть права (так же как и обратиться к нему, пока он не был удалён - это же не нарушение безопасности?).

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

Разумеется, с админскими полномочиями можно получить все данные с диска (с пустого места), но в распространённых сейчас архитектурах это всегда так - защиты от админа не существует, вся память, весь код, все данные, как стёртые, так и не стёртые, ему доступны.
16 май 12, 19:44    [12565759]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Владимир Затуливетер
А как такой алгоритм?
* Удаляем данные
* Вычисляем объем свободного места в базе.
* Создаем таблицу
* Пишем в таблицу всякий бред (ровно столько сколько свободного места)
* Удаляем таблицу
* Сжимаем базу
Уж лучьше просто тупо шифровать :-)
16 май 12, 19:47    [12565777]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
anonym_310
Guest
alexeyvg
anonym_310
alexeyvg,

а как тогда устроены программы для восстановления удалённых файлов на жёстком диске (когда освобождённая память на диске не очищена)? Операционная система им не мешает.
Это не освобождённая память, это файлы, в таблице файлов у них просто атрибут "удалено" проставлен. Файл может восстановить тот, у кого есть права (так же как и обратиться к нему, пока он не был удалён - это же не нарушение безопасности?).

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

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


Если всё так хорошо, зачем тогда вообще требовать от информационной системы очищать освобождённую память :)? За ней следит ОС и всё замечательно :).
16 май 12, 20:02    [12565841]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
anonym_310
alexeyvg
пропущено...
Это не освобождённая память, это файлы, в таблице файлов у них просто атрибут "удалено" проставлен. Файл может восстановить тот, у кого есть права (так же как и обратиться к нему, пока он не был удалён - это же не нарушение безопасности?).

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

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


Если всё так хорошо, зачем тогда вообще требовать от информационной системы очищать освобождённую память :)? За ней следит ОС и всё замечательно :).
SQLServer не работает в вакууме. Все обращения к диску, памяти и прочему идут через ОС. Если ОС будет дырявая, то можно хоть что делать на стороне сиквел сервера, но все равно получившаяся система не будет удовлетворять каким либо требованиям безопасности. Информационная система, я думаю имеется ввиду  вся система вцелом, включая сервер БД, ОС, прочие утилиты фаерволы и т.д.

Кстати, может кто объяснить, я правильно понимаю, что если у пользователя или у сиквел сервера есть права Perform Volume Maintenance Tasks, то он относительно легко прочитает те данные которые по стандарту должны быть затерты?

А для защиты иформации я бы посмотрел в сторону Transparent Data Encryption
16 май 12, 20:37    [12566016]     Ответить | Цитировать Сообщить модератору
 Re: Обнуление освобождённой памяти в БД (MS SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
anonym_310
Если всё так хорошо, зачем тогда вообще требовать от информационной системы очищать освобождённую память :)? За ней следит ОС и всё замечательно :).
Нужно требовать.

Просто информационная система - это не одна строка в программе и даже не СУБД, это весь комплекс, включая ОС.

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

Требование очищать освробождённую память не к прикладной программе, а к ИС в целом.

Может быть ещё требование к очистке памяти, что бы стёртые данные были недоступны после изъятия дисков из управления ОС (может, в данном случае имеется в виду именно это?). Для этого есть специальные средства, например утилита от небезизвестного Марка Руссиновича: http://technet.microsoft.com/ru-ru/sysinternals/bb897443
17 май 12, 08:57    [12567188]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить