Как сделать разграничение доступа и защита данных

Обновлено: 07.07.2024

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

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

Некоторые термины

Конфиденциальная информация (sensitive information) - информация, которая требует защиты.

Доступ к информации (access to information) - ознакомление с информацией, ее обработка (в частности, копирование), модификация, уничтожение.

Субъект доступа (access subject) - лицо или процесс, действия которого регламентируются правилами разграничения доступа.

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

Правила разграничения доступа (security policy) - совокупность правил, регламентирующих права субъектов доступа к объектам доступа.

Санкционированный доступ (authorized access to information) - доступ к информации, который не нарушает правил разграничения доступа.

Несанкционированный доступ (unauthorized access to information) - доступ к информации, который нарушает правила разграничения доступа с использованием штатных средств, предоставляемых средствами вычислительной техники или автоматизированными системами.

Идентификатор доступа (access identifier) - уникальный признак объекта или субъекта доступа.

Идентификация (identification) - присвоение объектам и субъектам доступа идентификатора и (или) сравнение предъявляемого идентификатора с перечнем присвоенных идентификаторов.

Пароль (password) - идентификатор субъекта, который является его секретом.

Аутентификация (authentification) - проверка принадлежности субъекту доступа предъявленного им идентификатора, подтверждение подлинности.

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

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

Модель нарушителя правил разграничения доступа (security policy violator model) - абстрактное (формализованное или неформализованное) описание нарушителя правил разграничения доступа.

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

Метка конфиденциальности (sensitivity label) - элемент информации, характеризующий конфиденциальность объекта.

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

Пользователи СУБД

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

Дискреционная защита

В современных СУБД достаточно развиты средства дискреционной защиты.

Дискреционное управление доступам (discretionary access control) — разграничение доступа между поименованными субъектами и поименованными объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту.

Дискреционная защита является многоуровневой логической защитой.

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

В данных предложениях отражен необходимый набор атрибутов, а также показано различие синтаксиса. Формат атрибута база_данных, как правило, определяется производителем СУБД, так же как и имя пользователя, имеющего по умолчанию системные привилегии (SYSDBA/SYSOPER в случае Oracle).

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

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

  • CONNECT — конечные пользователи. По умолчанию им разрешено только соединение с базой данных и выполнение запросов к данным, все их действия регламентированы выданными им привилегиями;
  • RESOURCE — привилегированные пользователи, обладающие правом создания собственных объектов в базе данных (таблиц, представлений, синонимов, хранимых процедур).
    Пользователь — владелец объекта обладает полным набором привилегий для управления данным объектом;
  • DBA — категория администраторов базы данных. Включает возможности обеих предыдущих категорий, а также возможность вводить (удалять) в систему (из системы) субъекты защиты или изменять их категорию.

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

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

Подсистема безопасности IBM DB2 может использовать идентификаторы пользователей операционной системы; ее синтаксис SQL не содержит предложения, аналогичного предложению CREATE USER. Microsoft SQL Server может использовать аутентификацию как базы данных, так и операционной системы. Но мы не станем здесь обсуждать достоинства и недостатки выбранных производителями способов аутентификации — все они позволяют строить корректные схемы определения подлинности пользователей. Использование дополнительных средств аутентификации в рамках информационной системы не запрещается.

Привилегии конкретному пользователю могут быть назначены администратором явно и неявно, например через роль. Роль — это еще один возможный именованный носитель привилегий. С ролью не ассоциируют перечень допустимых пользователей — вместо этого роли защищают паролями, если, конечно, такая возможность поддерживается производителем СУБД. Роли удобно использовать, когда тот или иной набор привилегий необходимо выдать (или отобрать) группе пользователей. С одной стороны, это облегчает администратору управление привилегиями, с другой — вносит определенный порядок в случае необходимости изменить набор привилегий для группы пользователей сразу. Нужно особо отметить, что при выполнении хранимых процедур и интерактивных запросов может существовать зависимость набора привилегий пользователя от того, как они были получены: явно или через роль. Имеют место и реализации, например в Oracle, где в хранимых процедурах используются привилегии, полученные пользователем явно. Если используемая вами реализация обладает подобным свойством, то изменение привилегий у группы пользователей следует реализовать как набор команд или как административную процедуру (в зависимости от предпочтений администратора).

  • назначение привилегии:
  • отмена привилегии:

Если субъект=пользователь, то привилегия назначается ему явно. Если субъект=роль, то для управления привилегиями используются соответственно:

Назначение привилегии всем пользователям системы осуществляется следующим образом:

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

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

При управлении доступом к таблицам и представлениям набор привилегий в реализации СУБД определяется производителем.

Привилегии выборки и модификации данных:

SELECT — привилегия на выборку данных;
INSERT — привилегия на добавление данных;
DELETE — привилегия на удаление данных;
UPDATE — привилегия на обновление данных (можно указать определенные столбцы, разрешенные для обновления).

Привилегии изменения структуры таблиц:

ALTER — изменение физической/логической структуры базовой таблицы (изменение размеров и числа файлов таблицы, введение дополнительного столбца и т.п.);
INDEX — создание/удаление индексов на столбцы базовой таблицы;
ALL — все возможные действия над таблицей.

В реализациях могут присутствовать другие разновидности привилегий, например:

CONTROL (IBM DB2) — комплексная привилегия управления структурой таблицы,
REFERENCES — привилегия создания внешних ключей,
RUNSTAT — выполнение сбора статистической информации по таблице и другие.

Мандатная защита

Средства мандатной защиты предоставляются специальными (trusted) версиями СУБД.

Мандатное управление доступом (mandatory access control) — это разграничение доступа субъектов к объектам данных, основанное на характеризуемой меткой конфиденциальности информации, которая содержится в объектах, и на официальном разрешении (допуске) субъектов обращаться к информации такого уровня конфиденциальности.

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

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

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

За исключением атрибута собственности (логическая защита), разбивающего данные (таблицы) на собственные (принадлежащие данному субъекту) и чужие, физическая защита разбивает данные более тонко. Но можно ли обойтись без физической защиты или, по крайней мере, попытаться, реализовав, например, сложный набор хранимых процедур. В общем-то некоторое подобие такой защиты реализуемо в случае, когда метки добавляются в таблицу в качестве дополнительного атрибута, доступ к таблицам запрещается вообще и ни одно приложение не может выполнить интерактивный SQL-запрос, а только хранимую процедуру и т.п. Ряд реализаций подобного уровня защиты использует вызов набора хранимых процедур с весьма абстрактными (что очень желательно) именами. Система реализации защиты информации в данном случае достаточно сложна и предполагает определенный уровень доверия к администратору безопасности, так как он имеет право изменять структуру базы данных, а значит, и хранимые процедуры, представления. Физически же администратор безопасности в данном случае не изолирован от управления секретными данными.

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

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

  1. Группа субъекта, который внес данный объект.
  2. Уровень доступа на чтение — RAL (Read Access Level).
  3. Уровень доступа на запись — WAL (Write Access Level).
  1. Группа, к которой принадлежит субъект.
  2. RAL-уровень субъекта, который представляет собой максимальный RAL-уровень доступной субъекту информации.
  3. WAL-уровень субъекта, то есть минимальный RAL-уровень объекта, который может быть создан этим субъектом.
  1. Для пользователя (субъекта):
  • RAL — уровень доступа; пользователь может получать (читать) информацию, RAL-уровень которой не выше его собственного уровня доступа;
  • WAL — уровень доверия на понижение уровня конфиденциальности; пользователь не может вносить информацию с уровнем доступа (RAL-уровнем) более низким, чем данный WAL-уровень пользователя. Иными словами, пользователь не может сделать доступную ему информацию менее конфиденциальной, чем указано в данном параметре.
  1. Для информации:
  • RAL — уровень чтения; пользователь может получать (читать) информацию, RAL-уровень которой не выше его собственного RAL-уровня (может читать менее конфиденциальные данные);
  • WAL — уровень ценности или уровень доступа на запись (модификацию, удаление); пользователь может модифицировать (удалять) информацию, WAL-уровень которой не выше его RAL-уровня.

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

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

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

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

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

Владелец объекта – субъект, который создал объект несет ответственность за конфиденциальность информации, содержащейся в объекте, и за доступ к нему.

Право доступа к объекту – право на доступ к объекту по одному или нескольким методам доступа.

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

Модели разграничения доступа

Наиболее распространенные модели разграничения доступа:

  • дискреционная (избирательная) модель разграничения доступа;
  • полномочная (мандатная) модель разграничения доступа.

Дискреционная модель характеризуется следующими правилами:

Готовые работы на аналогичную тему

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

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

Полномочная модель характеризуется следующими правилами:

  • каждый объект обладает грифом секретности. Гриф секретности имеет числовое значение: чем оно больше, тем выше секретность объекта;
  • у каждого субъекта доступа есть уровень допуска.

Допуск к объекту в этой модели субъект получает только в случае, когда у субъекта значение уровня допуска не меньше значения грифа секретности объекта.

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

Методы разграничения доступа

Виды методов разграничения доступа:

Разграничение доступа по спискам

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

Использование матрицы установления полномочий

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

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

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

Разграничение доступа по уровням секретности и категориям

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

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

Парольное разграничение доступа

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

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

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

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

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

Какими бывают политики управления доступом к данным

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

Сегодня наиболее распространены следующие:

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

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

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

Принципы управления политикой доступа

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

Стандартные принципы разграничения выглядят следующим образом:

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

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

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

  • разрешение;
  • запрет;
  • не определено (не относится ни к одному из вышеперечисленных);
  • неприменимо (не относится ни к одному из вышеперечисленных).

Комбинации правил

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

Они могут быть следующими:

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

Полнофункциональное ПО без ограничений по пользователям и функциональности.

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

Доступ на базу клиентов

Например, самое сокровенное из самого распространенного — клиентская база. Каждый уважающий себя руководитель беспокоится за то, чтобы конкурент не получил эту базу, еще и не дай бог со всей историй сношений, они же пожелания и предпочтения клиентов. Риск того, что уходящий менеджер прихватит с собой базу, это даже не как то ружье на стене, что стрельнет — это 100% гарантия.

Для того, чтобы усложнить эту задачу придумано множество способов, которые обязательно надо применять. Даже простейшие CRM-системы имеют некое подобие ролей доступа, которыми настраиваются так, что Иван Иванов может видеть только своих клиентов, и никак не может выгрузить их себе во внешний файл. Он, конечно, может сфотографировать на телефон карточки всех своих клиентов, но от этого уже точно, кроме угрозы перелома ног, никак не защититься. Хранение данных клиентов просто в файле Excel на сетевом диске равносильно предложению “забирайте, кто хочет”.

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

Без вариантов

А точнее, без ограничения доступа. Каждый может скопировать и увидеть всё содержимое. Это относится, например, ко хранению данных в файлах. Если не вырвать из системного блока все порты и дисководы, отключив предварительно Интернет, то данные уплывут.

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

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


А если серьезно, то есть такое, в реальной жизни. Когда файл Excel лежит на сетевом диске и с ним работает много человек. Excel замечательный инструмент для бизнеса, но во-первых, не для задач работы с клиентами, во-вторых, не для обеспечения безопасного хранения. Бывает вариант, когда вместо Excel используются Google-таблицы. Более продвинутый вариант, с защитой путем определения доступа нескольких пользователей, но это уже второй вариант — “Единый доступ”.

Единый доступ

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

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

Разделение по данным

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


Этот уровень разделения доступа используется и в распространенных SaaS решениях для автоматизации, и даже в CMS (системах управления содержимым сайтов). При этом, как правило, подразумевается, что пользователь имеет доступ на всю систему, но не всё может менять.

Роли, интерфейсы и функции

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

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


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

Функциональный подход

Это когда в системе задаются не роли-должности, а функции, выполняемые в рамках бизнес-процессов. Такая модель организации доступа еще лучше ролевой, потому что, как правило, на практике сотрудники выполняют по несколько функций, замещают друг друга на время отпусков и болезней. В случае функционального подхода выдается доступ на функцию добавления заказов, создания клиентов, обработки входящих звонков, утверждения заказа на производство и других действий в системе. А сотруднику настраивается доступ на набор функций. Это работает в сочетании с едиными интерфейсами с разными элементами. Например, карточка заказа. Если у пользователя включена функция на утверждение заказа на производство, то у него есть соответствующая кнопка. В некоторых системах мы делали с помощью такого подхода процессы согласования заказов у всех руководителей, “руководитель производства”, “коммерческий директор”, “финансовый директор” и так далее. При этом у генерального директора есть разрешение на выполнение всех функций и за любого из заместителей он может поставить утверждение. Конечно, в систему заносится кто и когда нажал одобрение, не только роль, но и данные пользователя. При данном подходе каждый пользователь в системе — отдельный человек, а не просто роль, то есть это конкретное ответственное лицо со своим ФИО.

Функции в ролях

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

Доступ на практике

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

Разберем разные способы и конкретные средства защиты информации, которые сейчас применяют чаще всего.

Как можно защищать корпоративную информацию

Есть два основных способа защиты информации:

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

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

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

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

Это средства защиты конфиденциальной информации, направленные против:

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

Такие средства защищают саму информацию — не дают получить к ней доступ, прочитать данные, изменить их или повредить.

Разберем разные виды защиты информации подробнее.

Нетехнические способы защиты: правовые и организационные

Правовые методы защиты информации. Законы, связанные с информацией, которые государство устанавливает и обязывает соблюдать. Например, в России к таким правовым методам относится 152-ФЗ, устанавливающий правила работы с персональными данными, или статья 272 УК РФ, описывающая ответственность за неправомерный доступ к информации.

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

Кроме того, законы устанавливают меры защиты, которые компании обязаны обеспечить при работе с информацией. Например, государство может ввести лицензирование и сертификацию средств защиты информации — проверять, действительно ли программы и физические инструменты безопасны. В России этим занимается ФСТЭК .

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

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

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

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

Техническая защита информации

Физические средства защиты информации

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

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

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

Программные средства защиты информации

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

К программным средствам защиты относят, например :

Аппаратные средства защиты информации

Аппаратные средства занимают промежуточное положение между физическими и программными:

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

К аппаратным средствам защиты относят, например :

  • Аппаратные межсетевые экраны. Они установлены между сегментами сети, например там, где локальные сети подключены к интернету, и обеспечивают межсетевое экранирование. Соединения серверов с внешними сетями проходят через эти экраны и фильтруются — система не пропускает посторонние соединения, например от неизвестных источников.
  • Генераторы шума. Эти устройства создают информационный шум, маскируют беспроводные каналы связи и шифруют данные.
  • Аппаратные регистры паролей — физические устройства, которые хранят и передают пароли. Например, специальная флешка, которую нужно обязательно вставить в компьютер, чтобы получить доступ к информации. Даже если хакер подберет пароль, без этой флешки он ничего не сможет сделать.
  • Аппаратные модули доверенной загрузки. Они не позволяют загрузить на компьютер, например, постороннюю операционную систему, из которой можно получить доступ к информации на жестком диске.

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

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

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

Криптографические методы защиты информации

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

Криптографическая защита выполняет две функции :

Криптографические методы защиты еще называют математическими, потому что они работают на основе формул.

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

Читайте также: