- •Преимущества дискретной формы
- •Представление информации в цифровых автоматах. Информация и алфавит. Кодирование.
- •Код Шеннона-Фано
- •Код Хаффмана Кодирование Хаффмана[править | править вики-текст]
- •Кодирование в компьютере чисел со знаком Прямой код
- •Дополнительный код
- •Операция сложения положительного числа и отрицательного числа, представленного в прямом коде
- •Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде
- •Кодирование вещественных чисел. Нормализованное представление числа
- •Описание[править | править вики-текст]
- •Преимущества и недостатки[править | править вики-текст] Преимущества[править | править вики-текст]
- •Недостатки[править | править вики-текст]
- •1) Классификация моделей по области использования:
- •2) Классификация моделей по фактору времени:
- •Особенности алгоритмов управления ресурсами
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •Монолитное ядро[править | править вики-текст]
- •Модульное ядро[править | править вики-текст]
- •Микроядро[править | править вики-текст]
- •Экзоядро[править | править вики-текст]
- •Наноядро[править | править вики-текст]
- •Гибридное ядро[править | править вики-текст]
- •Физическая организация памяти компьютера
- •Классификация процессоров:
- •Классификация по назначению
- •Классификация по характеру временной организации работы
- •Классификация по количеству выполняемых программ
- •Конвейеризация - способ обеспечения параллельности выполнения команд
- •O Аппаратное обеспечение компьютера – это группа взаимосвязанных устройств, предназначенных для приема, преобразования и выдачи информации.
- •Ускорение вычислений.
- •Вычислительные системы с программируемой структурой
- •Требования, предъявляемые к инфологической модели
- •Архитектура odmg
- •1.2. Домен
- •1.3. Схема отношения, схема базы данных
- •1.4. Кортеж, отношение
- •7.2.1. Общие определения
- •7.2.2. Замыкание множества функциональных зависимостей. Аксиомы Армстронга. Замыкание множества атрибутов
- •Пересечение
- •Разность
- •Структура памяти эвм
- •По порядку сортировки
- •По источнику данных
- •По воздействию на источник данных
- •По структуре
- •По количественному составу
- •По характеристике содержимого
- •По механизму обновления
- •По покрытию индексируемого содержимого
- •3.3. Виды привилегий
- •Стандарт iso 7498
- •Асинхронная передача.
- •Синхронная передача.
- •Кабельные линии связи
- •Беспроводные (радиоканалы наземной и спутниковой связи) каналы передачи данных
- •Технология скремблирования
- •Селективные методы
- •Методы случайного доступа
- •Методы резервирования времени
- •Технология доступа[править | править вики-текст]
- •Обнаружение коллизий[править | править вики-текст]
- •Формат кадра
- •Разновидности Ethernet
- •Структура Fast Ethernet
- •Подуровень управления логической связью (llc)
- •Новые интерфейсы и модель физического уровня
- •Типы спецификаций 10-гигабитного Ethernet
- •Объединение сетей в интерсеть. Удаленный мост
- •Формат сообщения протокола rip 1
- •Формат сообщения протокола rip 2
- •1.1. Назначение протокола arp. Arp-таблицы. Статические и динамические записи arp-таблиц, arp-кэш
- •3.2. Формат icmp-пакета
По механизму обновления
Полностью перестраиваемый — при добавлении элемента заново перестраивается весь индекс.
Пополняемый (балансируемый) — при добавлении элементов индекс перестраивается частично (например одна из ветви) и периодически балансируется.
По покрытию индексируемого содержимого
Полностью покрывающий (полный) индекс — покрывает всё содержимое индексируемого объекта.
Частичный (partial) индекс — это индекс, построенный на части таблицы, удовлетворяющей определенному условию самого индекса. Данный индекс создан для уменьшения размера индекса.
Инкрементный (Delta) индекс — индексируется малая часть данных(дельта), как правило, по истечении определённого времени. Используется при интенсивной записи. Например, полный индекс перестраивается раз в сутки, а дельта-индекс строится каждый час. По сути это частичный индекс по временной метке.
Real-time индекс — особый вид delta индекса в Sphinx, характеризующийся высокой скоростью построения. Предназначен для часто-меняющихся данных.
Индекс B-tree
Построим подобное дерево для нашего примера и рассчитаем для него количество уровней и, соответственно, количество обращений к диску.
На первом уровне число блоков равно числу блоков основной области, это нам известно, — оно равно 12 500 блоков. Второй уровень образуется из неплотного индекса, мы его тоже уже строили и вычислили, что количество блоков индексной области в этом случае равно 172 блокам. А теперь над этим вторым уровнем снова построим неплотный индекс.
Мы не будем менять длину индексной записи, а будем считать ее прежней, равной 14 байтам. Количество индексных записей в одном блоке нам тоже известно, и оно равно 73. Поэтому сразу определим, сколько блоков нам необходимо для хранения ссылок на 172 блока.
КIВ3 = KIB2/KZIB = 172/73 = 3 блока
Мы снова округляем в большую сторону, потому что последний, третий, блок будет заполнен не полностью.
И над третьим уровнем строим новый, и на нем будет всего один блок, в котором будет всего три записи. Поэтому число уровней в построенном дереве равно четырем, и соответственно количество обращений к диску для доступа к произвольной записи равно четырем (рис. 9.9). Это не максимально возможное число обращений, а всегда одно и то же, одинаковое для доступа к любой записи.
Тд= Rуравн. =4
1 уровень 12500 блоков
2 уровень 172 блоков
3 уровень 3 блоков
4 уровень 1 блоков
Рис. 9.9. Построенное В-дерево
Механизм добавления и удаления записи при организации индекса в виде В-дерева аналогичен механизму, применяемому в случае с неплотным индексом.
И наконец, последнее, что хотелось бы прояснить, — это наличие вторых названий для плотного и неплотного индексов.
В случае плотного индекса после определения местонахождения искомой записи доступ к ней осуществляется прямым способом по номеру записи, поэтому этот способ организации индекса и называется индексно-прямым.
В случае неплотного индекса после нахождения блока, в котором расположена искомая запись, поиск внутри блока требуемой записи происходит последовательным просмотром и сравнением всех записей блока. Поэтому способ индексации с неплотным индексом называется еще и индексно-последовательным.
Защита данных, целостность и сохранность БД
Защита информации в базах данных, в отличие от защиты данных в файлах, имеет и свои особенности:
необходимость учета функционирования системы управления базой данных при выборе механизмов защиты;
разграничение доступа к информации реализуется не на уровне файлов, а на уровне частей баз данных.
При создании средств защиты информации в базах данных необходимо учитывать взаимодействие этих средств не только с ОС, но и с СУБД. При этом возможно встраивание механизмов защиты в СУБД или использование их в виде отдельных компонент. Для большинства СУБД придание им дополнительных функций возможно только на этапе разработки СУБД. В эксплуатируемые системы управления базами данных дополнительные компоненты могут быть внесены путем расширения или модификации языка управления. Таким путем можно осуществлять наращивание возможностей, например, в СУБД СА-Сliрреr 5.0.
В современных базах данных довольно успешно решаются задачи разграничения доступа, поддержания физической целостности и логической сохранности данных. Алгоритмы разграничения доступа к записям и даже к полям записей в соответствии с полномочиями пользователя хорошо отработаны, и преодолеть эту защиту злоумышленник может лишь с помощью фальсификации полномочий или внедрения вредительских программ. Разграничение доступа к файлам баз данных и к частям баз данных осуществляется СУБД путем установления полномочий пользователей и контроля этих полномочий при допуске к объектам доступа.
Полномочия пользователей устанавливаются администратором СУБД. Обычно стандартным идентификатором пользователя является пароль, передаваемый в зашифрованном виде. В распределенных КС процесс подтверждения подлинности пользователя дополняется специальной процедурой взаимной аутентификации удаленных процессов. Базы данных, содержащих конфиденциальную информацию, хранятся на внешних запоминающих устройствах в зашифрованном виде.
Физическая целостность баз данных достигается путем использования отказоустойчивых устройств, построенных, например, по технологии RAID. Логическая сохранность данных означает невозможность нарушения структуры модели данных. Современные СУБД обеспечивают такую логическую целостность и непротиворечивость на этапе описания модели данных.
В базах данных, работающих с конфиденциальной информацией, необходимо дополнительно использовать криптографические средства закрытия информации. Для этой цели используется шифрование как с помощью единого ключа, так и с помощью индивидуальных ключей пользователей. Применение шифрования с индивидуальными ключами повышает надежность механизма разграничения доступа, но существенно усложняет управление.
Возможны два режима работы с зашифрованными базами данных. Наиболее простым является такой порядок работы с закрытыми данными, при котором для выполнения запроса необходимый файл или часть файла расшифровывается на внешнем носителе, с открытой информацией производятся необходимые действия, после чего информация на ВЗУ снова зашифровывается. Достоинством такого режима является независимость функционирования средств шифрования и СУБД, которые работают последовательно друг за другом. В то же время сбой или отказ в системе может привести к тому, что на ВЗУ часть базы данных останется записанной в открытом виде.
Второй режим предполагает возможность выполнения СУБД запросов пользователей без расшифрования информации на ВЗУ. Поиск необходимых файлов, записей, полей, групп полей не требует расшифрования. Расшифрование производится в ОП непосредственно перед выполнением конкретных действий с данными. Такой режим возможен, если процедуры шифрования встроены в СУБД. При этом достигается высокий уровень защиты от несанкционированного доступа, но реализация режима связана с усложнением СУБД. Придание СУБД возможности поддержки такого режима работы осуществляется, как правило, на этапе разработки СУБД.
При построении защиты баз данных необходимо учитывать ряд специфических угроз безопасности информации, связанных с концентрацией в базах данных большого количества разнообразной информации, а также с возможностью использования сложных запросов обработки данных. К таким угрозам относятся:
инференция;
агрегирование;
комбинация разрешенных запросов для получения закрытых данных.
Под инференцией понимается получение конфиденциальной информации из сведений с меньшей степенью конфиденциальности путем умозаключений. Если учитывать, что в базах данных хранится информация, полученная из различных источников в разное время, отличающаяся степенью обобщенности, то аналитик может получить конфиденциальные сведения путем сравнения, дополнения и фильтрации данных, к которым он допущен. Кроме того, он обрабатывает информацию, полученную из открытых баз данных, средств массовой информации, а также использует просчеты лиц, определяющих степень важности и конфиденциальности отдельных явлений, процессов, фактов, полученных результатов. Такой способ получения конфиденциальных сведений, например, по материалам средств массовой информации, используется давно, и показал свою эффективность.
Близким к инференции является другой способ добывания конфиденциальных сведений - агрегирование. Под агрегированием понимается способ получения более важных сведений по сравнению с важностью тех отдельно взятых данных, на основе которых и получаются эти сведения. Так, сведения о деятельности одного отделения или филиала корпорации обладают определенным весом. Данные же за всю корпорацию имеют куда большую значимость.
Если инференция и агрегирование являются способами добывания информации, которые применяются не только в отношении баз данных, то способ специального комбинирования запросовиспользуется только при работе с базами данных. Использование сложных, а также последовательности простых логически связанных запросов позволяет получать данные, к которым доступ пользователю закрыт. Такая возможность имеется, прежде всего, в базах данных, позволяющих получать статистические данные. При этом отдельные записи, поля, (индивидуальные данные) являются закрытыми. В результате запроса, в котором могут использоваться логические операции AND, OR, NOT, пользователь может получить такие величины как количество записей, сумма, максимальное или минимальное значение. Используя сложные перекрестные запросы и имеющуюся в его распоряжении дополнительную информацию об особенностях интересующей записи (поля), злоумышленник путем последовательной фильтрации записей может получить доступ к нужной записи (полю).
Управление доступом к БД
Пользователей СУБД можно разбить на три категории:
администратор сервера баз данных. Он ведает установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т.п. Администратор сервера имеет имя ingres. Прямо или косвенно он обладает всеми привилегиями, которые имеют или могут иметь другие пользователи.
администраторы базы данных. К этой категории относится любой пользователь, создавший базу данных, и, следовательно, являющийся ее владельцем. Он может предоставлять другим пользователям доступ к базе и к содержащимся в ней объектам. Администратор базы отвечает за ее сохранение и восстановление. В принципе в организации может быть много администраторов баз данных. Чтобы пользователь мог создать базу и стать ее администратором, он должен получить (вероятно, от администратора сервера) привилегию creatdb.
прочие (конечные) пользователи. Они оперируют данными, хранящимися в базах, в рамках выделенных им привилегий.
В последующих разделах будет детально проанализирована система привилегий СУБД INGRES. Здесь мы отметим только, что администратор сервера баз данных, как самый привилегированный пользователь, нуждается в особой защите. Компрометация его пароля фактически означает компрометацию сервера и всех хранящихся на нем баз данных. Поручать администрирование различных баз данных разным людям имеет смысл только тогда, когда эти базы независимы и по отношению к ним не придется проводить согласованную политику выделения привилегий или резервного копирования. В таком случае каждый из администраторов будет знать ровно столько, сколько необходимо. Можно провести аналогию между пользователем ingres и администраторами баз данных с одной стороны, и суперпользователем операционной системы (root в случае ОС UNIX) и служебными пользователями (в ОС UNIX это могут быть bin, lp, uucp и т.д.) с другой стороны. Введение служебных пользователей позволяет администрировать функциональные подсистемы, не получая привилегий суперпользователя. Точно так же информацию, хранящуюся на сервере баз данных, можно разделить на отсеки, так что компрометация администратора одного отсека не означает обязательной компрометации другого.
