Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8.1-8.3 9.31-9.33.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
130.95 Кб
Скачать

Раздел 8. Информационная безопасность автоматизированных систем

  1. Операционные системы: классификация операционных систем; концепция процесса, состояние процесса, алгоритм планирования процессов; процедуры синхронизации процессов по времени и по событиям; концепция семафоров; стратегия управления памятью; основные механизмы безопасности (аутентификация, разграничение доступа, аудит); управление безопасностью.

  2. Вычислительные сети: безопасность ресурсов сети (средства идентификации и аутентификации, методы разделения ресурсов и технологии разграничения доступа); безопасность локальных сетей (основные протоколы, службы, функционирование, средства обеспечения безопасности, управления и контроля); безопасность глобальных сетей (основные протоколы, службы и предоставляемые услуги, технология и механизмы обеспечения безопасности и управления распределенными ресурсами, стандарты и платформы); безопасность интранет (принципы построения и основные методы защиты).

  3. Системы баз данных: принципы обеспечения безопасности баз данных различного типа; средства обеспечения безопасности баз данных (идентификация и аутентификация объектов баз данных, языковые средства разграничения доступа), концепция и реализация механизма ролей; организация аудита событий; средства контроля целостности информации; задачи и средства администратора безопасности баз данных.

Раздел 9. Технические средства и методы защиты информации

  1. Методика оценки эффективности защиты информации от утечки ее по техническим каналам. Системный анализ объектов защиты.

  2. Методика оценки эффективности защиты информации от утечки ее по техническим каналам. Моделирование технических каналов утечки информации.

  3. Методика оценки эффективности защиты информации от утечки ее по техническим каналам. Методические рекомендации по разработке мер предотвращения утечки информации.

  4. 1. Операционные системы: классификация операционных систем; концепция процесса, состояние процесса, алгоритм планирования процессов; процедуры синхронизации процессов по времени и по событиям; концепция семафоров; стратегия управления памятью; основные механизмы безопасности (аутентификация, разграничение доступа, аудит); управление безопасностью.

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

В логической структуре типичной вычислительной системы ОС занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой.

Классификация ОС:

- одно/многозадачные;

однозадачные (MS DOS) выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.

многозадачные (Win, UNIX), к вышеперечисленному, управляют разделением совместно используемых ресурсов: процессора, ОЗУ, файлов и внешних устройств (зависимо или независимо друг от друга задачи; многопоточные или многопроцессные).

- одно/многопользовательские (отличие в наличии средств защиты информации каждого пользователя от НСД других пользователей. Пример однозадачной многопользовательской — файловый сервер (Novell Netware 3.12) )

- поддерживающие/неподдерживающие многонитевую обработку (распараллеливание вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). )

- с невытесняющей / вытесняющей многозадач-ностью (при невытесняющей механизм планирования процессов целиком сосредоточен в ОС, активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для выбора из очереди другого готового к выполнению процесса. При вытесняющей – распределен между системой и прикладными программами, решение о переключении процессора с одного процесса на другой принимается ОС, а не самим активным процессом, на основе приоритетов.

- одно/многопроцессорные (мультипроцессирова-ние приводит к усложнению всех алгоритмов управления ресурсами (примеры систем - Solaris 2.x, Windows NT, NetWare 4.1, etc). Многопроцессорные ОС классифицируются по способу организации вычислительного процесса: асимметричные и симметричные. Асимметричная целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикадными задачами.)

Характерные черты ОС:

- ядро

- интерфейс (библиотеки) – API

- сервисное и системное ПО

Модели ядра:

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

- модульные (микроядро) (ядро состоит из частей: выделяются несколько механизмов — управление процессами и памятью (микроядро), остальное — системное ПО, интерфейс определен.)

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

В многозадачной системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

Рис. 2.1. Граф состояний процесса в многозадачной среде

Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

- Non-preemptive multitasking - невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс.

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

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

Основным различием между preemptive и non-preemptive вариантами многозадачности является степень централизации механизма планирования задач.

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

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

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

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

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

Мьютекс, как и семафор, обычно используется для управления доступом к данным.

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

Работа мьютекса хорошо поясняется  в терминах «владения». Пусть поток, который, пытаясь получить доступ к критическим данным, выполнил системный вызов Wait(X), где X — указатель на мьютекс. Предположим, что мьютекс находится в сигнальном состоянии, в этом случае поток тут же становится его владельцем, устанавливая его в несигнальное состояние, и входит в критическую секцию. После того как поток выполнил работу с критическими данными, он «отдает» мьютекс, устанавливая его в сигнальное состояние. В этот момент мьютекс свободен и не принадлежит ни одному потоку. Если какой-либо поток ожидает его освобождения, то он становится следующим владельцем этого мьютекса, одновременно мьютекс переходит в несигнальное состояние.

Объект-событие (в данном случае слово «событие» используется в узком смысле, как обозначение конкретного вида объектов синхронизации) обычно используется не для доступа к данным, а для того, чтобы оповестить другие потоки о том, что некоторые действия завершены. Пусть, например, в некотором приложении работа организована таким образом, что один поток читает данные из файла в буфер памяти, а другие потоки обрабатывают эти данные, затем первый поток считывает новую порцию данных, а другие потоки снова ее обрабатывают и так далее. В начале работы первый поток устанавливает объект-событие в несигнальное состояние. Все остальные потоки выполнили вызов Wait(X), где X — указатель события, и находятся в приостановленном состоянии, ожидая наступления этого события. Как только буфер заполняется, первый поток сообщает об этом операционной системе, выполняя вызов Set(X). Операционная система просматривает очередь ожидающих потоков и активизирует все потоки, которые ждут этого события.

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

Event (событие). Event позволяет известить один или несколько ожидающих потоков о наступлении события. Event бывает:

Отключаемый вручную

Будучи установленным в сигнальное состояние, остается в нем до тех пор, пока не будет переключен явным вызовом функции ResetEvent

Автоматически отключаемый

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

Mutex (Mutually Exclusive). Мьютекс — это объект синхронизации, который находится в сигнальном состоянии только тогда, когда не принадлежит ни одному из процессов. Как только хотя бы один процесс запрашивает владение мьютексом, он переходит в несигнальное состояние и остается таким до тех пор, пока не будет освобожден владельцем. Такое поведение позволяет использовать мьютексы для синхронизации совместного доступа нескольких процессов к разделяемому ресурсу.

Semaphore (семафор). Семафор представляет собой счетчик, содержащий целое число в диапазоне от 0 до максимальной величины, заданной при его создании. Счетчик уменьшается каждый раз, когда поток успешно завершает функцию ожидания, использующую семафор, и увеличивается путем вызова функции ReleaseSemaphore. При достижении семафором значения 0 он переходит в несигнальное состояние, при любых других значениях счетчика его состояние — сигнальное. Такое поведение позволяет использовать семафор в качестве ограничителя доступа к ресурсу, поддерживающему заранее заданное количество подключений.

Waitable timer (таймер ожидания). Таймер ожидания отсутствует в Windows 95, и для его использования необходимы Windows 98 или NT 4.0 и выше. Таймер ожидания переходит в сигнальное состояние по завершении заданного интервала времени.

Концепция семафоров

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

Семафоры, Дейкстра, 1965 год, задача об обедающих философах. Семафор представляет собой целую переменную, принимающую неотрицательные значения, доступ любого процесса к которой, за исключением момента ее инициализации, может осуществляться только через две атомарные операции: P (проверить) и V (увеличить). При выполнении операции P над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1. Если оно меньше или равно 0, то процесс блокируется до тех пор, пока S не станет больше 0, после чего из S вычитается 1. При выполнении операции V над семафором S к его значению просто прибавляется 1. Соответствующая целая переменная располагается внутри адресного пространства ядра операционной системы. Операционная система обеспечивает атомарность операций P и V, используя, например, метод запрета прерываний на время выполнения соответствующих системных вызовов.

Стратегии управления памятью делятся на следующие категории:

1. Стратегии выборки определяет, когда следует «втолкнуть» очередной блок программы или данных в основную память.

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

б) стратегии упреждающей выборки - сейчас считается более перспективной

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

3. Стратегии замещения определяет, какой блок программы или данных следует вывести («вытолкнуть») из основной памяти, чтобы освободить место для записи поступающих программ или данных.

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

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

(a) с общей очередью процессов,

(b) с отдельными очередями процессов.

Один процесс в памяти. Частный случай схемы с фиксированными разделами работа менеджера памяти однозадачной ОС. В памяти размещается один пользовательский процесс. Остается определить, где располагается пользовательская программа по отношению к ОС - сверху, снизу или посередине. Причем часть ОС может быть в ROM (например, BIOS, драйверы устройств). Главный фактор, влияющий на это решение - расположение вектора прерываний, который обычно локализован в нижней части памяти, поэтому ОС также размещают в нижней. Пример — MS-DOS. Чтобы пользовательская программа не портила кода ОС, требуется защита ОС, которая может быть организована при помощи одного регистра, содержащего адрес границы ОС.

Оверлейная структура. Т.к. размер логического адресного пространства процесса может быть больше размера выделенного ему раздела (или больше самого большого раздела), иногда используется техника, называемая оверлей или организация структуры с перекрытием. В памяти держатся только те инструкции программы, которые нужны в данный момент времени.

Потребность в таком способе загрузки появляется, если логическое адресное пространство системы мало, например 1 мегабайт (MS-DOS), а программа относительно велика. На современных 32-разрядных системах, где виртуальное адресное пространство измеряется гигабайтами, проблемы с нехваткой памяти решаются другими способами.

Организация структуры с перекрытием. Можно поочередно загружать в память ветви A-B, A-C-D и A-C-E программы.

Коды ветвей оверлейной структуры программы находятся на диске как абсолютные образы памяти и считываются драйвером оверлеев при необходимости. Для конструирования оверлеев необходимы специальные алгоритмы перемещения и связывания. Для описания оверлейной структуры обычно используется специальный несложный язык. Совокупность файлов исполняемой программы дополняется файлом (обычно с расширением.odl), описывающим дерево вызовов внутри программы. Например, для примера, приведенного на рисунке: A-(B,C), C-(D,E) Синтаксис подобного файла может распознаваться загрузчиком. Привязка к памяти происходит в момент очередной загрузки одной из ветвей программы. Оверлеи не требуют специальной поддержки со стороны ОС. Они могут быть полностью реализованы на пользовательском уровне с простой файловой структурой. ОС лишь делает несколько больше операций ввода-вывода. Типовое решение порождение линкером специальных команды, которые включают загрузчик каждый раз: когда требуется обращение к одной из перекрывающихся ветвей программы. Программист должен тщательно проектировать оверлейную структуру. Это требует полного знания структуры программы, кода, данных, языка описания оверлейной структуры. Поэтому применение оверлеев ограничено компьютерами с лимитами на память и т.д. В дальнейшем проблема оверлейных сегментов, контролируемых программистом, отпадает благодаря появлению систем виртуальной памяти со свойством локальности, которое дает возможность хранить в памяти только ту информацию, которая необходима в каждый конкретный момент вычислений.

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

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

Динамика распределения памяти между процессами. Типовой цикл работы менеджера памяти состоит в анализе запроса на выделение свободного участка, выборке его среди имеющихся в соответствие с одной из стратегий (наиболее подходящий, первый попавшийся, наименее подходящий), загрузке процесса в выбранный раздел и последующем внесении изменений в таблицы свободных и занятых областей. Аналогичная корректировка необходима и после завершения процесса. Связывание адресов может быть осуществлено на этапах загрузки и выполнения. Этот метод более гибок по сравнению с методом фиксированных разделов, присуща внешняя фрагментация из за большого числа участков свободной памяти. В худшем случае мы можем иметь участок свободной памяти между двумя процессами. Если все эти куски объединить в один блок, мы смогли бы разместить больше процессов. Одно из решений проблемы внешней фрагментации - разрешить адресному пространству процесса не быть непрерывным, что разрешает выделять процессу память в любых доступных местах. Один из способов - это paging, используемый во многих современных ОС. Другой способ — сжатие-перемещение всех занятых (свободных) участков в сторону возрастания (убывания) адресов так, чтобы вся свободная память образовала непрерывную область. Этот метод иногда называют схемой с перемещаемыми разделами. В идеале фрагментация после сжатия должна отсутствовать. Но сжатие дорогостояще, алгоритм выбора оптимальной стратегии сжатия очень труден, и сжатие осуществляется в комбинации с выгрузкой и загрузкой по другим адресам.

Основные механизмы безопасности

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

- то, чем пользователь владеет (ключ или магнитная карта),

- то, что пользователь знает (пароль),

- атрибуты пользователя (отпечатки пальцев, подпись, голос).

Наиболее простой подход к аутентификации — использование пароля. Когда пользователь идентифицирует себя при помощи уникального идентификатора или имени, у него запрашивается пароль. Если пароль, сообщенный пользователем, совпадает с паролем, хранимым в системе, система предполагает, что пользователь легитимен. Проблемы в трудности хранения пароля в секрете. Чаще всего хранится хеш пароля. Пароли распространены, т. к. они легки для понимания и использования.

Разграничение доступа. Компьютерная система может быть смоделирована как набор субъектов (процессы, пользователи) и объектов (процессор, сегменты памяти, принтер, диски, файлы, программы, семафоры). Каждый объект имеет уникальное имя и каждый может быть доступен через хорошо определенные и значимые операции. Операции зависят от объектов. Например, процессор может только выполнять команды. Сегменты памяти могут быть записаны и прочитаны, тогда как считыватель карт может только читать. Файлы данных могут быть записаны, прочитаны, переименованы и т.д. Желательно добиться того, чтобы субъект имел доступ только к тем ресурсам, которые ему нужны для выполнения его задачи — минимизация привилегий.

Различают дискреционный и полномочный способ управления доступом. Дискреционный описывается матрицей, в строках которой перечислены субъекты, а в столбцах — объекты. Полномочный подход заключается в том, что вся информация делится на уровни в зависимости от степени секретности, а все пользователи также делятся на группы, образующие иерархию в соответствии с уровнем допуска к этой информации. Большинство операционных систем реализуют именно дискреционное управление доступом. Главное его достоинство - гибкость, главные недостатки - рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.

Аудит. Включает, например, ведение журнала событий в системе и периодическое сканирование.

Журналы могут включать в себя события, влияющие на состояние безопасности: вход/выход из системы, операции с файлами, смена привилегий, etc. Требуется выборочное протоколирование, чтобы не переполнять носители. Сканирование может помочь выявить слабые места и бреши: слабые пароли, неавторизованные программы в системных директориях, долго выполняющиеся программы, нелогичная защита критичных данных (системные директории, файлы, драйвера), изменения в системных программах, обнаруженные при помощи контрольных сумм. Можно настроить на автоматическое исправление или оповещение.

Управление безопасностью

Под механизмами защиты ОС будем понимать все средства и механизмы защиты данных, функционирующие в составе ОС. Операционные системы, в составе которых функционируют средства и механизмы защиты данных, часто называют защищенными системами.

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

− управление всеми ресурсами системы;

− наличие встроенных механизмов, которые прямо или косвенно влияют на безопасность программ и данных, работающих в среде ОС;

− обеспечение интерфейса пользователя с ресурсами системы;

− размеры и сложность ОС.

Рассмотрим типовые функциональные дефекты ОС, которые могут привести к созданию каналов утечки данных.

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

2. Пароли. Большинство пользователей выбирают простейшие пароли, которые легко подобрать или угадать.

3. Список паролей. Хранение списка паролей в незашифрованном виде дает возможность его компрометации с последующим НСД к данным.

4. Пороговые значения. Для предотвращения попыток несанкционированного входа в систему с помощью подбора пароля необходимо ограничить число таких попыток, что в некоторых ОС не предусмотрено.

5. Подразумеваемое доверие. Во многих случаях программы ОС считают, что другие программы работают правильно.

6. Общая память. При использовании общей памяти не всегда после выполнения программ очищаются участки оперативной памяти (ОП).

7. Разрыв связи. В случае разрыва связи ОС должна немедленно закончить сеанс работы с пользователем или повторно установить подлинность субъекта.

8. Передача параметров по ссылке, а не по значению (при передаче параметров по ссылке возможно сохранение параметров в ОП после проверки их корректности, нарушитель может изменить эти данные до их использования).

9. Система может содержать много элементов (например, программ), имеющих различные привилегии.

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

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

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

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

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

Списки доступа – исключительно гибкое средство. С их помощью легко выполнить требование о гранулярности прав с точностью до пользователя. Посредством списков несложно добавить права или явным образом запретить доступ (например, чтобы наказать нескольких членов группы пользователей).

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

1) идентификатор субъекта (идентификатор пользователя, сетевой адрес компьютера и т.п.). Подобные идентификаторы являются основой произвольного (или дискреционного) управления доступом;

2) атрибуты субъекта (метка безопасности, группа пользователя и т.п.). Метки безопасности – основа мандатного управления доступом.

Непосредственное управление правами доступа осуществляется на основе одной из моделей доступа:

  • матричной модели доступа (модель Харрисона-Руззо-Ульмана);

  • многоуровневой модели доступа (модель Белла-Лападулы).

2. Вычислительные сети: безопасность ресурсов сети (средства идентификации и аутентификации, методы разделения ресурсов и технологии разграничения доступа); безопасность локальных сетей (основные протоколы, службы, функционирование, средства обеспечения безопасности, управления и контроля); безопасность глобальных сетей (основные протоколы, службы и предоставляемые услуги, технология и механизмы обеспечения безопасности и управления распределенными ресурсами, стандарты и платформы); безопасность интранет (принципы построения и основные методы защиты).

Вычислительная сеть - информационная сеть, в состав которой входит вычислительное оборудование. Компонентами вычислительной сети могут быть ЭВМ и периферийные устройства, являющиеся источниками и приемниками данных, передаваемых по сети. Эти компоненты составляют оконечное оборудование данных (ООД или DTE - Data Terminal Equipment). В качестве ООД могут выступать ЭВМ, принтеры, плоттеры и другое вычислительное, измерительное и исполнительное оборудование автоматических и автоматизированных систем. Собственно пересылка данных происходит с помощью сред и средств, объединяемых под названием среда передачи данных.

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

Наиболее простой подход к аутентификации – использование пароля. Когда пользователь идентифицирует себя при помощи уникального идентификатора или имени, у него запрашивается пароль. Если пароль, сообщенный пользователем, совпадает с паролем, хранимым в системе, система предполагает, что пользователь легитимен. Проблемы в трудности хранения пароля в секрете. Чаще всего хранится хеш пароля. Пароли распространены, т. к. они легки для понимания и использования.

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

- централизованная схема авторизации, базирующаяся на сервере;

- децентрализованная схема, базирующаяся на рабочих станциях.

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

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

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

Сервер удаленного доступа предоставляет доступ на основании имеющегося у него списка прав доступа пользователя (Access Control List), а каждый отдельный сервер сети предоставляет доступ к своим ресурсам на основании хранящегося у него списка прав доступа, например ACL файловой системы.

Технология защищенного канала. Задачу защиты данных можно разделить на две подзадачи: защиту данных внутри компьютера и защиту данных в процессе их передачи из одного компьютера в другой. Для обеспечения безопасности данных при их передаче по публичным сетям используются различные технологии защищенного канала. Технология защищенного канала призвана обеспечивать безопасность передачи данных по открытой транспортной сети, например по Интернету. Защищенный канал подразумевает выполнение трех основных функций:

- взаимную аутентификацию абонентов при установлении соединения, которая может быть выполнена, например, путем обмена паролями;

- защиту передаваемых по каналу сообщений от НСД, например, путем шифрования;

- подтверждение целостности поступающих по каналу сообщений.

Существуют разные реализации технологии защищенного канала, которые могут работать на разных уровнях модели OSI. Так, функции популярного протокола SSL соответствуют представительному уровню модели OSI. Новая версия сетевого протокола IP предусматривает все функции – взаимную аутентификацию, шифрование и обеспечение целостности, – которые по определению свойственны защищенному каналу, а протокол туннелирования РРТР защищает данные на канальном уровне.

В зависимости от места расположения программного обеспечения защищенного канала различают две схемы его образования:

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

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

Разграничение доступа. Компьютерная система может быть смоделирована как набор субъектов (процессы, пользователи) и объектов (процессор, сегменты памяти, принтер, диски, файлы, программы, семафоры). Каждый объект имеет уникальное имя и каждый может быть доступен через хорошо определенные и значимые операции. Операции зависят от объектов. Например, процессор может только выполнять команды. Сегменты памяти могут быть записаны и прочитаны, тогда как считыватель карт может только читать. Файлы данных могут быть записаны, прочитаны, переименованы и т.д. Желательно добиться того, чтобы субъект имел доступ только к тем ресурсам, которые ему нужны для выполнения его задачи – минимизация привелегий.

Различают дискреционный и полномочный способ управления доступом. Дискреционный описывается матрицей, в строках которой перечислены субъекты, а в столбцах – объекты. Полномочный подход заключается в том, что вся информация делится на уровни в зависимости от степени секретности, а все пользователи также делятся на группы, образующие иерархию в соответствии с уровнем допуска к этой информации. Большинство операционных систем реализуют именно дискреционное управление доступом. Главное его достоинство - гибкость, главные недостатки - рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.

Аудит. Включает, например, ведение журнала событий в системе и периодическое сканирование. Журналы могут включать в себя события, влияющие на состояние безопаности: вход/выход из системы, операции с файлами, смена привилегий, etc. Требуется выборочное протоколирование, чтобы не переполнять носители. Сканирование может помочь выявить слабые места и бреши: слабые пароли, неавторизованные программы в системных директориях, долго выполняющиеся программы, нелогичная защита критичных данных (системные директории, файлы, драйвера), изменения в системных программах, обнаруженные при помощи контрольных сумм. Можно настроить на автоматическое исправление или оповещение. Использование систем обраружения вторжений (СОВ) – системных или сетевых, активных или пассивных, программных или аппаратных. Например, Snort.

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

В вычислительных сетях можно выделить следующие типы угроз:

- разрушение системы вирусом;

- незаконное проникновение под видом легального пользователя;

- нелегальные действия легального пользователя;

- подслушивание трафика;

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

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

Одним из наиболее эффективных методов защиты сети предприятия от внешних угроз является использование межсетевого экрана – программного или аппаратного маршрутизатора, совмещённого с firewall (особой системой, осуществляющей фильтрацию пакетов данных).

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

Настройка firewall потребует более серьёзного подхода, но также не должна вызвать затруднений: следует разрешить обмен данными с Интернетом только по тем протоколам, которые реально используются на предприятии. Например, это могут быть протоколы HTTP, HTTPS, SMTP, POP3, DNS, ICQ и т.д. Попытка обмена данными по неразрешённым протоколам должна блокироваться firewall и записываться им в журнал. Особо следует отметить, что требуется обязательно запретить обмен пакетами NETBIOS с Интернетом, так как этот протокол очень слабо защищён от взлома.

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

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

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

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

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

Следует ознакомиться с фоновыми процессами, выполняемыми на всех серверах сети, и отключить лишние. Например, в системах Unix есть много фоновых демонов, связанных с набором протоколов TCP/IP. На одних компьютерах они нужны, на других же используются, в лучшем случае, только некоторые из них.

Например, служба tftp является упрощенным вариантом FTP. Она компактна и обычно легко реализуется в виде перепрограммируемого ПЗУ. Поэтому эта служба полезна в некоторых устройствах, требующих загрузки операционной системы с хоста. Однако следует учесть, что, в отличие от FTP, служба tftp не имеет доступа к механизмам управления и, таким образом, имя пользователя и пароль для нее неприменимы. А поскольку аутентификации нет, то отсутствие правильной настройки - например, разрешения использования только в определенных целях - может привести к серьезным нарушениям системы защиты.

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

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

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

Одним из главных показателей качества сетевой службы является ее удобство.

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

Основные протоколы. К защищенным сетевым протоколам относиться IPsec и TLS(transport layer protocol). IPsec обеспечивает управление доступом, целостностью вне соединения, аутентификацию источников данных, защиту от воспроизведения, а также конфиденциальность и частичную защиту от анализа трафика. Назначение протокола TLS на транспортном уровне состоит в том, чтобы гарантировать конфиденциальность и целостность потока данных между взаимодействующими приложениями. Недостатком TLS является то, что приложения должны обращаться к соответствующим функциям протокола. Достоинством является большая избирательность защиты и независимость от нижележащих уровней. SSL (Secure Socket Layer) имеет встроенные механизмы шифрования, обеспечивает способ аутентификации клиента без необходимости его регистрации на сервере IIS.

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

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

Протоколы управления сетями определяют стандартный метод зондирования какого-либо устройства с целью выявления его сетевых соединений, конфигурации и общего состояния. Кроме того протоколы позволяют модифицировать часть этой информации, чтобы стандартизировать управление различными видами аппаратуры. Наиболее распространенным протоколам является SNMP (простой протокол управления сетью). Существуют и другие стандарты управления сетью: WBEM система управления предприятий основанная на WEB технологиях; DMI интерфейс управления компьютером; CIM концептуальная модель интерфейса.

Основное преимущество SNMP заключается в том, что абсолютно все типы сетевых и аппаратных средств выводятся на один уровень. При использовании этого протокола они говорят на одном языке. В пространстве имен SNMP определены 4 базовые команды операций: GET, GETNEXT, SET, TRAP.

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

Серверы – это аппаратно-программные комплексы, которые исполняют функции управления распределением сетевых ресурсов общего доступа.

Рабочие станции – это компьютеры, осуществляющие доступ к сетевым ресурсам, предоставляемым сервером.

Физическая среда передачи данных (сетевой кабель) – это коаксиальные и оптоволоконные кабели, витые пары проводов, а также беспроводные каналы связи (инфракрасное излучение, лазеры, радиопередача).

Выделяется два основных типа ЛВС: одноранговые (peer-to-peer) ЛВС и ЛВС на основе сервера (server based). Различия между ними имеют принципиальное значение, т. к. определяют разные возможности этих сетей. Выбор типа ЛВС зависит от: размеров предприятия; необходимого уровня безопасности; объема сетевого трафика; финансовых затрат; уровня доступности сетевой административной поддержки.

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

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

Рабочая группа - это небольшой коллектив, объединенный общей целью и интересами. Поэтому в одноранговых сетях чаще всего не более 10 компьютеров. Эти сети относительно просты.

В такие операционные системы, как: MS Widows NT for Workstation; MS Widows 95/98, Widows 2000 встроена поддержка одноранговых сетей. Поэтому, чтобы установить одноранговую сеть, дополнительного ПО не требуется, а для объединения компьютеров применяется простая кабельная система. Одноранговая сеть вполне подходит там, где: количество пользователей не превышает 10-15 человек; пользователи расположены компактно; вопросы защиты данных не критичны; в обозримом будущем не ожидается расширения фирмы, и, следовательно, увеличения сети.

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

С увеличением размеров сети и объема сетевого трафика необходимо увеличивать количество серверов.

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

Круг задач, которые выполняют серверы, многообразен и сложен. Чтобы приспособиться к возрастающим потребностям пользователей, серверы в ЛВС стали специализированными. Так, например, в операционной системе Windows NT Server существуют различные типы серверов:

  1. Файл-серверы и принт-серверы.

  2. Серверы приложений (в том числе сервер баз данных, WEB -сервер). На них выполняются прикладные части клиент серверных приложений (программ

  3. Почтовые серверы.

  4. Факс-серверы.

  5. Коммуникационные серверы.

  6. Сервер служб каталогов – предназначен для поиска, хранения и защиты информации в сети. Windows NT.

Глобальная сеть. (Wide Area Network) – компьютерная сеть, охватывающая большую территорию и включающую в себя десятки и сотни тысяч компьютеров в различных городах и даже странах. Служат объединением разрозненных сетей так, чтобы компьютеры и пользователи, где бы они не находились, могли взаимодействовать со всеми остальными участниками глобальной сети. Некоторые ГС построены исключительно для частных организаций, другие являются средством коммуникации корпоративных ЛВС с сетью Интернет или посредством Интернет с удалёнными сетями, входящими в состав корпоративных. Чаще всего ГС опирается на выделенные линии, на одном конце которых маршрутизатор подключается к ЛВС, а на другом концентратор связывается с остальными частями ГВС.

Основные протоколы. Основными используемы-ми протоколами являются TCP/IP, SONET/SDH, MPLS, ATM и Frame relay. Ранее был широко распространён протокол X.25, прародитель Frame relay.

Одной из глобальных сетей является Интернет. Интернет состоит из многих тысяч корпоративных, научных, правительственных и домашних компьютерных сетей. Объединение сетей разной архитектуры и топологии стало возможно благодаря протоколу IP и принципу маршрутизации пакетов данных. Любая сеть передачи цифровых данных, проводная или беспроводная, для которой существует стандарт инкапсуляции в неё IP-пакетов, может передавать и трафик Интернета.

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

Наиболее распространены протоколы DNS, FTP, HTTP, HTTPS, POP3, SSH, SNMP (прикладного уровня), SSL, TLS (Сеансового/Представительного уровня), TCP, UDP (Транспортного уровня), IP, ICMP (Сетевого уровня), Ethernet, Token Ring, Arcnet (Канального уровня). Кроме того, есть ряд нестандартизированных, но популярных протоколов — BitTorrent, Skype, OSCAR, CDDB.

Наиболее популярные услуги Интернета это форумы, блоги, социальные сети, вики-проекты, интернет магазины и аукционы, электронная почта и списки рассылки, группы новостей, файлообменные сети, электронные платежные системы, интернет радио и телевидение, IP телефония, мессенджеры, FTP серверы, поисковые системы, интернет реклама, многопользовательские игры, удаленное управление, etc.

Наиболее распространенными функциональными службами в Интернет являются:

1) Электронная почта E-mail - служба электронного общения в режиме оффлайн;

2) Распределенная система гипермедиа Word Wide Web (WWW);

3) Передача файлов - FTP;

4) Поиск данных и программ - Archie;

5) USENET, News - телеконференции, группы новостей (доски объявлений) или дискуссионные группы по различным темам;

6) Поиск данных по ключевым словам WAIS (WAIS реализует концепцию распределенной информационно-поисковой системы);

7) Whois - адресная книга сети Internet. По запросу пользователь может получить информацию о владельцах доменных имен;

8) Доступ к компьютерам в режиме удаленного терминала - Telnet;

9) Gopher - служба доступа к информации с помощью иерархических каталогов (иерархических меню).

10) Службы для электронного общения в режиме онлайн: мессенджеры и VoIP сервис.

Все услуги предоставляемые сетью Internet можно разделить на две категории: обмен информацией между абонентами сети и использование баз данных сети. Фактически все службы (услуги) сети построены по принципу клиент-сервер.

К клиентским программам относятся: браузеры - программы для просмотра Web-серверов; ftp-клиенты; telnet-клиенты; почтовые клиенты; WAIS-клиенты.

Механизмы обеспечения безопасности и управления распределенными ресурсами. Защита почты в среде Windows основана на практической реализации протокола стандартизованного безопасного формата сообщения S/MIME. Secure Multipurpose Internet Mail Extensions — многоцелевое расширение для обеспечения безопасности интернет-почты. S/MIME защищает сообщения и файлы от несанкционированного раскрытия данных, поддерживает цифровые подписи и шифрование в соответствии со стандартом PKCS. Шифрование базируется на инфраструктуре открытого ключа PKI — public-key infrastructure, то есть используются сертификаты с личным ключом и технология криптографирования открытыми ключами.

Защита связи

- Миграция на виртуальные частные сети (VPN): Многие компании переходят с выделенных линий или технологии с коммутацией пакетов (frame relay) для экономии расходов и возросшей производительности. Окупаемость инвестиций у них часто достигает 100% в год. Как вспомогательный канал, VPN через DSL (Digital Subscriber Line – цифровая абонентская линия) организовать дешевле и быстрее, чем ISDN (Integrated Service Data Network – цифровая сеть с интеграцией услуг), кроме того, такая сеть более высокоскоростная и надежная. Для того чтобы добавить защиту шифрованием между сегментами, зданиями или группами, где критически важна защита информации и время простоя, многие компании используют VPN внутри своих локальных сетей (LAN).

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

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

Защита данных и идентификационной информации

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

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

- Политика использования Интернет и фильтрация Web-контента: Фильтрация URL является одним из способов реализации и принудительного применения политик использования Интернета на всех уровнях сети – от центрального офиса до филиалов. Это помогает защитить организацию от возможных юридических последствий.

- Анализ архитектуры системы безопасности.

Защита голосовой и беспроводной связи. Если запланировано использование голосовой связи через IP (VoIP), постройте сеть так, чтобы система безопасности могла использовать как стандарт поддерживающей передачу голоса и видеоVPN (V3PN) , так и протокол SRTP (Secure Real-Time Transport Protocol).

Непрерывность бизнеса. Простои сети вследствие аварии ведут к прекращению доступа к критически важным бизнес-приложениям. Обычно при планировании непрерывности бизнеса предусматриваются вспомогательные каналы глобальной сети и защищенный удаленный доступ.

Многие клиенты используют в качестве вспомогательного канала глобальной сети IP VPN: из-за ее гибкости и выгодности с точки зрения затрат. Некоторые организации для этих целей используют ISDN и коммутируемый доступ по телефонной линии.

Некоторые из возможных атак:

Ложный ARP-сервер в сети Internet: Самое простое решение по ликвидации данной атаки – создание сетевым администратором статической ARP-таблицы в виде файла, куда вносится информация об адресах, и установка этого файла на каждый хост внутри сегмента.

Ложный DNS-сервер в сети Internet: Защититься от этого воздействия можно фильтрацией проходящих ICMP-сообщений при межсетевых экранов. Другой способ заключается в изменении сетевого ядра ОС, чтобы запретить реакцию на ICMP-сообщение Redirect.

Подмена одного из субъектов TCP-соединения в сети Internet: Для защиты от таких атак необходимо использовать ОС, в которых начальное значение идентификатора генерируется действительно случайным образом. Также необходимо использовать защищённые протоколы типа SSL, HTTPS, Kerberos и т.д.

Направленный шторм ложных TCP-запросов на создание соединения: Приемлемых способов защиты от подобных атак в сети стандарта IPv4 нет, так как невозможен контроль за маршрутом сообщений. Для повышения надёжности работы системы можно использовать по возможности более мощные компьютеры, способные выдержать направленный шторм ложных запросов на создание соединения, а также систем обнаружения вторжений.

Стандарты:

Стандарты отдельных фирм (например, стек протоколов DECnet фирмы Digital Equipment или графический интерфейс OPEN LOOK для Unix-систем фирмы Sun); стандарты специальных комитетов и объединений, создаваемых несколькими фирмами, например стандарты технологии АТМ, разрабатываемые специально созданным объединением АТМ Forum, насчитывающем около 100 коллективных участников, или стандарты союза Fast Ethernet Alliance по разработке стандартов 100 Мбит Ethernet; национальные стандарты, например, стандарт FDDI, представляющий один из многочисленных стандартов, разработанных Американским национальным институтом стандартов (ANSI), или стандарты безопасности для операционных систем, разработанные Национальным центром компьютерной безопасности (NCSC) Министерства обороны США; международные стандарты, например, модель и стек коммуникационных протоколов Международной организации по стандартам (ISO), многочисленные стандарты Международного союза электросвязи (ITU), в том числе стандарты на сети с коммутацией пакетов Х.25, сети frame relay, ISDN, модемы и многие другие.

Платформы:

Быстрое развитие информационной инфраструктуры современного делового мира, появление новых сервисов и технологий имели не только положительные стороны. К сожалению, они привели и к возникновению ряда проблем. Чрезвычайно актуальными стали вопросы совместимости программных продуктов и форматов данных, информационной безопасности и управляемости сложной ИТ-инфраструктуры современной компании.

Географическая распределенность многих организаций, огромные объемы передаваемой и обрабатываемой информации, необходимость защищенного взаимодействия в режиме реального времени и ряд других потребностей сегодняшнего бизнеса породили новые технологии высокоскоростной передачи информации, архивации данных, новые протоколы и стандарты связи. Как следствие, потребовались интегрированные решения для комплексного управления сложными гетерогенными инфокоммуникационными системами. Сегодня спектр подобных средств весьма широк, в числе их производителей и признанные гранды ИТ-рынка (Hewlett-Packard, IBM), и другие не менее известные производители (Alcatel, Enterasys, Cisco и т. д.).

Платформы управления сетью в свое время казались хорошей идеей. Когда альтернативой платформе управления было либо использование множества разрозненных программных инструментов для конфигурации, мониторинга, диагностирования или сопровождения каждого отдельного компонента, либо написание своего собственного приложения, рассматривавшего все компоненты как систему, достоинства HP OpenView, SunNet Manager, NetView 6000 или Cabletron Spectrum не подвергались сомнению.

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

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

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

Виртуальное соединение – постоянное или коммутируемое (PVC или SVC) – необходимо установить прежде, чем два узла смогут обмениваться друг с другом информацией. PVC - это постоянное соединение между двумя узлами, и оно не может быть произвольным образом разорвано. Напротив, SVC обеспечивает по требованию коммутируемый сервис между двумя узлами. Соединения функционируют на канальном уровне (второй уровень модели OSI). В сети данные делятся на кадры переменной длины (аналогично пакетам в локальной сети), содержащие адресную информацию.

Безопасность интранет. Интранет — в отличие от сети Интернет, это внутренняя частная сеть организации. Как правило, Интранет — это Интернет в миниатюре, который построен на использовании протокола IP для обмена и совместного использования некоторой части информации внутри этой организации. Это могут быть списки сотрудников, списки телефонов партнеров и заказчиков. Чаще всего под этим термином имеют в виду только видимую часть Интранет— внутренний веб-сайт организации. Основанный на базовых протоколах HTTP и HTTPS и организованный по принципу клиент-сервер, интранет-сайт доступен с любого компьютера через браузер. Intranet допускает использование публичных каналов связи, входящих в Internet, VPN, но при этом обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы.

Приложения в Intranet основаны на применении Internet-технологий и в особенности Web-технологии: гипертекст в формате HTML, протокол передачи гипертекста HTTP и интерфейс серверных приложений CGI. Составными частями Intranet являются Web-сервера для статической или динамической публикации информации и браузеры для просмотра и интерпретации гипертекста.

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

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

Недостатки Интранет: Возможность взлома, в том числе утечки данных; Возможность непроверенности инфомации, в том числе оскорбительных материалов; Расходы на разработку и администрирование.

Основой для планирования Интранет должно быть целенаправленное сокращение и оптимизация внутрикорпоративного информационного обмена. Исходя из этих целей важно выделить 2 — 3 наиболее важные составляющие, например: HTTP(HTTPS) Web Интранет сервер; SMTP/IMAP e-mail почтовый сервер.

Следующие сервисы (и серверы) уже более оптимальны, чем необходимы: Messaging сервер сообщений (MSN Messenger, Jabber); NNTP News сервер новостей; VoIP сервер внутрикорпоративной телефонии.

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

Экранирующий модуль встраивается в ядро операционной системы между канальным и сетевым уровнями. Он перехватывает все пакеты, поступающие из/в сетевой карты и обрабатывает их в соответствии со специфицированной базой правил.

Одним из важнейших фактических стандартов, обеспечивающих информационную безопасность в Интранет и Интернет, является протокол Secure Sockets Layer. Этот протокол можно отнести к сеансовому уровню эталонной модели ISO/OSI. Для приложений, опирающихся на SSL, обеспечивается аутентификация пользователей и компьютеров, а также целостность и конфиденциальность пересылаемой по сети информации, поддерживается концепция единого входа в информационную систему. Такими приложениями могут быть, например, сервисы HTTP, FTP, SMTP.

3. Системы баз данных: принципы обеспечения безопасности баз данных различного типа; средства обеспечения безопасности баз данных (идентификация и аутентификация объектов баз данных, языковые средства разграничения доступа), концепция и реализация механизма ролей; организация аудита событий; средства контроля целостности информации; задачи и средства администратора безопасности баз данных.

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

По виду модели БД классифицируются как: Картотеки; Сетевые; Иерархические; Реляционные; Объектно-ориентированные; Многомерные.

На уровне физической модели электронная БД представляет собой файл или их набор в формате TXT, CSV, Excel, DBF, XML либо в формате конкретной СУБД. Также в СУБД в понятие физической модели включают специализированные виртуальные понятия, существующие в её рамках — таблица, табличное пространство, сегмент, куб, кластер и т.д.

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

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

Основные функции СУБД:

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

- управление данными в оперативной памяти с использованием дискового кэша;

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

- поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

Классификация СУБД

1. По модели данных: Сетевые; Иерархические; Реляционные; Объектно-реляционные; Объектно-ориентированные

2. По архитектуре организации хранения данных: локальные СУБД (все части размещаются на одном компьютере); распределенные СУБД (части могут размещаться на двух и более компьютерах).

3. По способу доступа к БД: Файл-серверные, Клиент-серверные, Встраиваемые.

Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL.

Принципы обеспечения безопасности баз данных различного типа

Основные требования по безопасности данных, предъявляемые к БД и СУБД, во многом совпадают с требованиями, предъявляемыми к безопасности данных в компьютерных системах – контроль доступа, криптозащита, проверка целостности, протоколирование и т.д.

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

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

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

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

Используемая в MySQL система безопасности для всех подключений, запросов и иных операций, которые может пытаться выполнить пользователь, базируется на списках контроля доступа ACLs (Access Control Lists). Обеспечивается также некоторая поддержка SSL-соединений между клиентами и серверами MySQL. Многие из рассматриваемых здесь концепций не относятся исключительно к MySQL; те же общие соображения применимы практически ко всем приложениям.

При работе в MySQL старайтесь следовать приведенным ниже инструкциям:

- Не предоставляйте никому (за исключением пользователя mysql под именем root) доступа к таблице user в базе данных mysql! Это чрезвычайно важно. В MySQL зашифрованный пароль является реальным паролем. Узнав пароль, занесенный в таблицу user, и имея доступ к удаленному компьютеру, занесенному в соответствующую учетную запись, войти в систему под именем зарегистрированного владельца пароля легко может кто угодно.

- Изучите систему прав доступа MySQL. Для управления доступом к MySQL служат команды GRANT и REVOKE. Предоставляйте ровно столько прав, сколько необходимо, и не больше.

- Никогда не предоставляйте права всем хостам.

- Применяйте для шифрования MD5(), SHA1() или другие односторонние хеш-функции. Не используйте в качестве пароля слова из словарей

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

- Разместите MySQL за брандмауэром или в демилитаризованной зоне (demilitarised zone - DMZ).

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

Проверяйте размер данных перед тем, как они будут переданы в MySQL.

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

- Не предоставляйте своим приложениям больше прав доступа, чем это необходимо.

Средства обеспечения безопасности баз данных. Управление доступом в БД

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

Пользователей СУБД можно разделить на три группы:

  1. Прикладные программисты - отвечают за создание программ, использующих базу данных.

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

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

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

В современных СУБД достаточно развиты средства дискреционной защиты. Дискреционное управление доступам (discretionary access control) — разграничение доступа между поименованными субъектами и поименованными объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту. Дискреционная защита является многоуровневой логической защитой. Логическая защита в СУБД представляет собой набор привилегий или ролей по отношению к защищаемому объекту.

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

Управление целостностью данных. Нарушение целостности данных может быть вызвано рядом причин:

  • сбои оборудования, физические воздействия или стихийные бедствия;

  • ошибки санкционированных или умышленные действия несанкционированных пользователей;

  • программные ошибки СУБД или ОС;

  • ошибки в прикладных программах;

  • совместное выполнение конфликтных запросов пользователей и др.

Нарушение целостности данных возможно и в хорошо отлаженных системах. Поэтому важно не только не допустить нарушения целостности, но и своевременно обнаружить факт нарушения целостности и оперативно восстановить её после нарушения.

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

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

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

Выделим три основных уровня восстановления:

  1. Оперативное восстановление, которое характеризуется возможностью восстановления на уровне отдельных транзакций при ненормальном окончании ситуации манипулирования данными (например, при ошибке в программе).

  2. Промежуточное восстановление. Если возникают аномалии в работе системы (системно-программные ошибки, сбои программного обеспечения, не связанные с разрушением БД), то требуется восстановить состояние всех выполняемых на момент возникновения сбоя транзакций.

  3. Длительное восстановление. При разрушении БД в результате дефекта на диске восстановление осуществляется с помощью копии БД. Затем воспроизводят результаты выполненных с момента снятия копии транзакций и возвращают систему в состояние на момент разрушения.

Транзакция и восстановление: Прекращение выполнения транзакции вследствие появления сбоя нарушает целостность БД. Если результаты такого выполнения транзакции потеряны, то имеется возможность их воспроизведения на момент возникновения сбоя. Таким образом, понятие транзакции играет важную роль при восстановлении.

Для восстановления целостности БД транзакции должны удовлетворять следующим требованиям:

  1. необходимо, чтобы транзакция или выполнялась полностью, или не выполнялась совсем;

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

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

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

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

Языковые средства разграничения доступа. Составной частью языка SQL является язык, позволяющий описывать и устанавливать те или иные назначения доступа и другие необходимые установки политики безопасности в конкретной АИС. Впервые подобные возможности были реализованы в языках SEQUEL и языка QUEL. Они послужили в дальнейшем основой для языка SQL.

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

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

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

Дискреционный принцип обладает большой гибкостью по настройке системы РД на особенности предметной области базы данных и потребности пользователей, но не обеспечивает эффективной управляемости и затрудняет проведение какой-либо целенаправленной политики безопасности в системе. Преодоление этого недостатка достигается двумя путями — использованием техники «представлений» и специальными расширениями языка SQL.

Другим подходом являются специальные расширения языка SQL, основанные на событийно-процедурной идеологии с введением специальных правил (RULE) безопасности.

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

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

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

Концепция и реализация механизма ролей. Обычно после создания логина и пользователя базы данных следующее нужно предоставить пользователю разрешения в базе данных. Один из способов сделать это — воспользоваться ролями базы данных.

Роли базы данных — это специальные объекты, которые используются для упрощения предоставления разрешений в базах данных. В отличие от серверных ролей, которые могут быть только встроенными, роли баз данных могут быть как встроенными, так и пользовательскими. Встроенные роли баз данных обладают предопределенным набором разрешений, а пользовательские роли можно использовать для группировки пользователей при предоставлении разрешений. Обычно пользовательские роли используются только для логинов SQL Server. Для группировки логинов Windows обычно удобнее и проще использовать группы Windows.

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

Встроенным ролям назначены предопределенные права, изменить которые невозможно. Предоставление прав пользовательским ролям производится точно так же, как и обычным пользователям базы данных.

Аудит. Аудит экземпляра SQL Server или базы данных SQL Server включает в себя отслеживание и протоколирование событий, происходящих в системе. Для аудита в SQL Server можно использовать несколько методов, описанных в разделе Аудит (компонент Database Engine). Начиная с версии SQL Server 2008 Enterprise можно также настроить автоматический аудит с помощью подсистемы аудита SQL Server.

В SQL Server доступно несколько уровней аудита, применение которых зависит от существующих требований или стандартов установки. Подсистема аудита SQL Server предоставляет средства и процессы, необходимые для включения, хранения и просмотра аудитов на различных объектах серверов и баз данных.

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

Аудит — это сочетание нескольких элементов в одном пакете для определенной группы действий сервера или базы данных. Компоненты подсистемы аудита SQL Server совместно формируют выходные данные, называемые аудитом, аналогично тому, как определение отчета в сочетании с элементами графики и данных формируют отчет.

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

Средства администратора БД:

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

2. Средства диагностики: превращают младшего АБД в старшего, позволяя последнему сконцентрироваться на других задачах.

3. Средства анализа: помогают при планировании роста БД и будущих затрат.

4. Средства технического обслуживания: помогают при резервном копировании и восстановлении данных, сокращая время операции и уменьшая число ошибок, помогают при реорганизациях, экономя время, уменьшая количество ошибок и длительность профилактических окон (maintenance window), способствуют высокой доступности данных, создавая “незаметные” с точки зрения системы профилактические окна и помогая при резервировании / восстановлении системы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]