3.1. Назначение системы безопасности

Назначение системы безопасности: обеспечение целостности, управляемости, доступности и контроля.

Целостность

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

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

Целостность данных системы может нарушаться по ряду причин, среди которых главными являются следующие:

· ошибки человека;

· физические сбои во время передачи данных;

· аппаратные сбои (например, разрушение жесткого диска);

· программные ошибки;

· стихийные бедствия (наводнения, ураганы);

· злой умысел (вирусы, «троянские кони», искажение данных и программного кода).

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

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

1) целостность данных, хранящихся на сервере;

2) целостность передаваемых данных;

3) целостность программного кода операционной системы;

4) целостность программного кода приложений.

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

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

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

Для того чтобы обеспечить решение этих задач, необходимо применить два сле­дующих механизма защиты:

1) обнаружение ошибок. Были ли какие-то данные потеряны или повреждены во время передачи вследствие искажения или сбоя?

2) защиту передаваемых данных. Можно ли предотвратить искажение или потерю данных?

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

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

Windows 2000 обладает встроенными средствами обеспечения целостности данных. Используя для аутентификации протокол Kerberos, встроенную шифрующую файло­вую систему, а также средства избирательного управления разрешениями файлов и папок, можно защитить данные, хранящиеся в компьютерных системах. Встроенная поддержка служб сертификатов (Certificate Services), протокола IP Security (IPSecInternetпротокола безопасного межсетевого обмена) и защищенных виртуальных частных сетей (VPNvirtual private network) способствует обеспечению целостности передаваемых данных.

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

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

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

Windows 2000 выполняет программный код операционной системы в защищенном режиме процессора, а защиту файлов операционной системы осуществляет посредст­вом установки разрешений файлов и папок. Кроме того, в Windows 2000 имеется до­полнительное средство защиты – система Windows File Protection (WFP), которая препятствует перезаписи или удалению защищенных системных файлов.

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

Управляемость

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

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

В Windows 2000 можно создать широкий спектр ролей и делегируемых полномочий, которые базируются на полномочиях учетной записи Administrator (Администратор), соз­даваемой при установке системы. Если компьютеры Windows 2000 объединяются в ло­гическую единицу, называемую доменом (domain), управление системами строится на основе полномочий учетной записи Administrator (Администратор) первого контроллера домена (контроллер домена – это компьютер, на который возложены функции обеспе­чения централизованного управления доменом).

Несколько доменов могут объединяться в иерархическую структуру, называемую лесом (forest). Хотя в такой структуре защищаемыми единицами являются домены (администратор одного домена по умолчанию не имеет никаких прав или привилегий в другом домене), существует группа Enterprise Admins (Администраторы предприятия), участники которой имеют право управлять любыми доменами леса. Первым участни­ком группы Enterprise Admins (Администраторы предприятия) по умолчанию становит­ся учетная запись Administrator (Администратор) первой системы леса (так называемый корневой домен).

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

Доступность

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

Доступность часто обозначается такими терминами, как «24 x 7» (произносится как «двадцать четыре – семь»), которые означают, что система должна быть доступной авторизованным пользователям двадцать четыре часа в сутки семь дней в неделю. Это не значит, что всем без исключения пользователям таких систем действительно нужно иметь к ним доступ, скажем, в два часа ночи в воскресенье. Но независимо от того, каким образом формулируется доступность, время, когда система должна быть дос­тупной, обязательно нужно соблюдать.

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

Аудит

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

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

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

· работающих средств аудита (некоторые операционные системы не могут функ­ционировать без набора определенных включенных средств аудита).

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

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