Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Механизм защиты от угрозы отказа в обслуживании.

Поиск

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

Несмотря на эти преграды в области отказа в обслуживании были сделаны некоторые предварительные шаги. В этом параграфе рассмотрим понятия, связанные с описанием и предотвращением угрозы отказа в обслуживании(ОВО). В частности, определим ряд терминов, среди которых важное место занимает понятие максимального времени ожидания, впервые введенное Virgil и Gligor. Требования ОВО будут рассмотрены с использованием утверждений временной логики. Далее представлим мандатную модель ОВО "никаких отказов вверх" (NDU) и сравним ее с аналогичными уровневыми моделями безопасности. Параграф завершает краткое описание модели распределения ресурсов Миллена, которую можно использовать для описания моделей и стратегий ОВО.

Основные понятия ОВО.

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

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

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

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

Дав определение MWT, мы можем теперь ввести точное определение угрозы ОВО. А именно, будем говорить, что имеет место угроза ОВО, всякий раз когда услуга с соответствующим максимальным временем ожидания (MWT) запра­шивается зарегистрированным пользователем в момент времени t и не предоставляется этому пользователю к моменту времени (t + MWT). Это означает, что ответы на запросы зарегистрированных пользователей не должны опаздывать.

При более тщательном рассмотрении угрозы ОВО и предложенного понятия MWT возникают некоторые вопросы. Например, угрозы ОВО можно полностью избежать, если определить MWT для всех услуг равным бесконечности. Од­нако, этот подход не годится для тех случаев, когда величи­на MWT определяется некоторой значимой операционной характеристикой среды (например, как в ситуации с измере­нием инерции самолета). Кроме того, значение MWT можно определить только для конкретного набора услуг, для кото­рых оно необходимо. То есть, можно определить некоторое подмножество активов системы как особенно критическое; тогда значения MWT будут соответствовать услугам, связан­ным с этими критическими активами.

2.2.3.2. Выражение требований ОВО во временной логике.

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

Требование ОВО будет выражено по отношению к системе, которая состоит из набора субъектов, активно инициирующих запросы услуг в различных состояниях системы. Значение MWT для каждого запроса услуги r может быть получено вычислением функции mwt(r), областью определения которой являются все запросы услуг, а областью значений — множество положительных целых чисел. Если максимальное время ожидания услуги равняется некоторому целому числу n, то удовлетворение запросов этой услуги должно происходить раньше, чем через n + 1 единицу времени.

Требование заключается в том, что если mwt(r) = n, то удовлетворение запроса услуги r в момент времени t должно произойти к моменту времени t+n. Это требование легrj формализуется в терминах временной логики использованием эвентуального оператора (обозначаемого а). Этот оператор определяется следующим образом: если Р — предикат в логике первого порядка, то аР — утверждение во временной логике. Если утверждение аР истинно для некоторого состояния s, это означает, что Р должно быть истинно для состояния s или для некоторого состояния, имеющего место после s. Можно установить простые временные границы, определяя оператор а следующим образом: если a(t)P истинно для некоторого состояния, это означает, что Р должно быть истинно в некотором последующем состоянии, которое достигается раньше, чем через t единиц времени.

Для заданных операторов можно определить требование в приведенном выше примере. Предположим, что всякий раз когда субъект производит запрос услуги r в некотором состоянии, предикат REQ(r) является истинным. Можно предположить, что этот предикат не будет истинным в последующих состояниях, в которых ответ на запрос может все еще ожидаться. Более того, предположим, что всякий раз когда запрос услуги r удовлетворяется в некотором состоянии, истинным является предикат GRANT(r). Для упрощения примера предположим далее, что каждый запрос услуги единственен (это позволит облегчить измерение времени от запроса до завершения). Наш пример можно описать следующим образом:

REQ(r) → a (mwt(r)) GRANT(r)

Мандатная модель ОВО.

Теперь опишем в общих чертах мандатную модель ОВО, включающую в себя многие характеристики моделей БЛМ и Biba. Система услуг, которая будет использоваться для представления этой модели ОВО, выражается в знако­мых терминах субъектов и объектов, которые использова­лись для описания моделей БЛМ и Biba.

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

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

Рассмотрим правила, описыващие мандатную модель ОВО. Эти правила описывают взаимоотношения субъектов, аналогичные отношениям между субъектами и объектами в моделях БЛМ и Biba. Первое правило — "никаких отказов вверх" (NDU) — основано на том наблюдении, что никаким объектам с более низким приоритетом не позволено отказывать в обслуживании субъектам с более высокими приоритетами. Однако, некоторым субъектам с более высоким приоритетом (например, администраторам системы) должна предоставляться возможность отказывать в обслуживании объектам с более низким приоритетом, если первые того желают.

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

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

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

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

Недостаток этих правил заключается в том, что они имеют смысл только для систем, в которых можно определить несколько приоритетов. Если это не так, тогда должны быть определены подходящие аналогичные правила внутри уров­ня с одним приоритетом. Например, формулировка этих правил для ПЭВМ с одним единственным пользователем не будет иметь большого смысла. Кроме того, как это было в случае модели Clark-Wilson, реализация методов, необходи­мых для гарантии того, что провозглашенные правила имеют силу, нетривиальна.

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

2.2.3.4. Модель Миллена распределения ресурсов (МРР).

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

Джонатан Миллен представил модель распределения ресурсов, позволяющую определить правила и стратегии отказа в обслуживании в терминах детального распределе­ния ресурсов, включающего предоставление услуг пользо­вателям вычислительных систем. Модель Миллена отлича­ется от традиционных уровневых правил в моделях БЛМ и Biba, поскольку в ее основе лежит идея о том, что для выпол­нения нужного задания субъектам необходимы определен­ные пространственные и временные требования к ресурсам. Отказ в обслуживании происходит в том случае, если распределение пространства и времени для некоторого про­цесса не отвечает соответствующим требованиям. Миллен показал, что применительно к его модели можно легко объяснить такие понятия, как конечное время ожидания (FWT) и максимальное время ожидания (MWT).

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

Пусть Р — множество активных процессов, R — множество пассивных ресурсов, с — некоторая фиксированная граница, используемая для обозначения общего максимального числа единиц всех типов ресурсов, доступных в исследуемой системе. Через вектор распределения Ар обозначим для каждого ресурса число единиц ресурса, выделенных для процесса р в некотором состоянии. Таким образом, вектор распределения можно рассматривать как своего рода отображение выделения ресурсов для процесса. Для формирования информации о том, является ли процесс текущим или застывшим, используется особый тип ресурсов -ресурс ЦПУ. В частности, всякий раз когда Aр (CPU) =1, будем говорить, что истинным является running(p), а всякий раз когда Ap(CPU) = 0, будем говорить, что истинным является asleep(p).

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

Ниже перечислены восемь правил, составляющих модель Миллена. Каждое правило ограничивает семейство систем, соответствующих этой модели. Прежде чем вводить эти правила, важно заметить, что "помеченные" переменные (например, running(p)) показывают значение переменной после одного перехода.

(R1) S Ap ≤ c

{рOP

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

(R2) if running(p) then sQp=0

Правило R2 утверждает, что текущие процессы должны иметь нулевые пространственные требования. Миллен аргументирует это тем, что если процесс не обладает всеми ресурсами, которые необходимы ему в некотором состоянии, то не имеет смысла продолжать этот процесс, пока требования не будут выполнены. "Зависание" происходит, когда процесс имеет ненулевые пространственные требования, которые никогда не будут выполнены (или будут выполнены поздно).

(R3) if running(p) and running(p)' then Ар' = Ар

Конструкция " running(p) and running(p)' " в правиле R3 означает, что в некотором состоянии процесс р является текущим и остается текущим и в следующем состоянии. Это правило утверждает, что для текущих процессов распределение ресурсов не меняется. Это действительно мощное предположение, поскольку из него следует, что во время выполнения текущие процессы не выгружаются, в случае если произойдет какое-либо перераспределение ресурсов (в отличие от перераспределения ресурсов ЦПУ).

(R4) if Ap(CPU)' =Ap(CPU) then T(p)' = Т(р)

Правило R4 утверждает, что часы процесса изменяются только с изменением распределения ЦПУ. Предполагается, что единицы времени — это положительные целые числа, всегда возрастающие с изменением времени (как будет определено ниже).

(R5) if Ap(CPU)' ≠ Ap(CPU) then T(p)' > Т(р)

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

(R6) if asleep(p) then sQр'= sQp + Ар — Ар'

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

(R7) if asleep(p) then tQp'= tQp

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

(R8) if running(p) and asleep(p)' then Aр ' = Aр — CPU

Правило R8 утверждает, что переходы, в результате которых процесс останавливается, перераспределяют только ресурсы ЦПУ. Другие изменения в pacпpeдeлении должны происходить после возобновления процесса.

Миллен использует данную модель pacпpeдeления ресурсов для описания некоторых стратегий. Hanpимер, применяя МРР, можно выразить стратегию конечного времени ожидания (FWT). Для указания интервалов, которые могут возникнуть после многократных переходов, мы используем оператор временной логики leads_to (т.е. А leads_to В означает, что во всех последующих состояниях из А в конце концов следует В). Для указания интервалов, которые могут возникнуть после многократных переходов можно выразить максимальное время ожидания (MWT) аналогичным образом.

FWT: " р, s: ∃ s': s'(running(p)) and s leads_to s'

В выражении, приведенном выше, s(x) означает, что х истинно для состояния s, a s leads_to s' означает, что "s,s': s((T(p) =n)) и s'((T(p) =m)) и m>n. FWT утверждает, что пользователи в конце концов получат запрашиваемые ресурсы (т.е. они в конечном итоге получат ЦПУ для выполнения работы). Аналогичным образом можно выразить максимальное время ожидания (MWT).

MWT: $ b: "p, s: ∃ s': s'(running(p)) and s leads_to (b) s'

В этом выражении s leads_to (b) s' означает, что "s, s': s((T(p) = n)) и s'((T(p) =m)) и m-n ≤ b. MWT отличается от FWT тем, что здесь накладывается ограничение на время ожидания пользователями возможности продвижения в выполнении задания.

2.3. Разработка формальной модели анализа безопасности программного обеспечения.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 366; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.2.191 (0.008 с.)