LINEBURG


<< Пред. стр.

страница 24
(всего 26)

ОГЛАВЛЕНИЕ

След. стр. >>

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

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

164
означает, что информация в ТОО относительно тестирования проникновения является
точным воспроизведением конкретных шагов тестирования или результатов отдельных
тестов проникновения. Целью является предоставить достаточные подробности, чтобы
позволить другим оценщикам и сотрудникам органа по сертификации получить некоторое
понимание выбранного подхода к тестированию проникновения, объема выполненного
тестирования проникновения, тестируемых конфигураций ОО и общих результатов
действий по тестированию проникновения.
Информация об усилиях оценщика по тестированию проникновения, которую обычно
954

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

того, чтобы дать некоторое представление о типе информации, касающейся тестирования
проникновения, выполненного оценщиком в процессе оценки, которую следует
представить в ТОО.
9.6.3.3.3 Действие AVA_VLA.2.3E
AVA_VLA.2-9 Оценщик должен исследовать все исходные данные для данного подвида
деятельности, чтобы сделать заключение о возможных уязвимостях безопасности,
не учтенных ранее при анализе уязвимостей разработчиком.
Следует использовать методологию гипотез о недостатках, посредством которой
956

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

уязвимости, см. в п. 9.3.2.
Уязвимости, предполагаемые как пригодные для использования только нарушителями,
958

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

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

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

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

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

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

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

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



166
б) Изменение предопределенной последовательности вызова компонентов следует
рассматривать, когда имеется предусмотренный порядок вызова интерфейсов ОО
(например, команд пользователя) для выполнения некоторой функции безопасности
(например, открытия файла для доступа и затем чтения данных из него). Если функция
безопасности вызывается на одном из интерфейсов ОО (например, проверка управления
доступом), то оценщику следует рассмотреть, возможен ли обход функции безопасности
путем выполнения соответствующего вызова в более поздней точке последовательности
или пропуска ее целиком.
в) Выполнение дополнительного компонента (в предопределенной последовательности)
является формой нападения, похожей на только что описанную, но включает вызов
некоторого другого интерфейса ОО в некоторой точке последовательности. Оно может
также включать нападения, основанные на перехвате передаваемых по сети чувствительных
данных путем использованием анализаторов сетевого трафика (дополнительным
компонентом здесь является анализатор сетевого трафика).
г) Использование некоторого компонента в непредусмотренном контексте или с
непредусмотренной целью включает использование для обхода функции безопасности не
относящегося к делу интерфейса ОО, используя его для достижения цели, которая для него
не планировалась или не предопределялась. Скрытые каналы являются примером этого
типа нападения. Использование недокументированных интерфейсов (которые могут быть
небезопасными) также попадает в эту категорию (включая недокументированные
возможности по поддержке и помощи).
д) Использование подробностей реализации, представленных в менее абстрактных
представлениях, опять включает использование скрытых каналов, через которые
нарушитель использует в своих целях дополнительные функции, ресурсы или атрибуты,
представленные в ОО как последствия процесса усовершенствования (например,
использование переменной типа «блокировка» как скрытого канала). Дополнительные
функциональные возможности также могут обеспечиваться тестовыми фрагментами кода,
содержащимися в программных модулях ОО.
е) Использование задержки между временем проверки доступа и временем использования
включает сценарии, в которых выполняется проверка управления доступом и
предоставляется доступ, а нарушитель впоследствии способен создать условия, при
которых во время выполнения проверки доступа мог бы произойти сбой проверки доступа.
Примером является пользователь, порождающий фоновый процесс для чтения и отправки
высоко чувствительных данных на терминал пользователя и затем осуществляющий выход
из системы и повторный вход в систему на более низком уровне чувствительности. Если
фоновый процесс не завершается при выходе пользователя из системы, то проверки в
соответствии с мандатным управлением доступом могут быть фактически обойдены.
ж) Нападения, основанные на наследовании привилегий, в основном базируются на
незаконном приобретении привилегий или возможностей некоторого привилегированного
компонента ОС, обычно путем выхода из него неконтролируемым или непредусмотренным
способом. Возможные варианты включают:
1) выполнение данных, не предназначенных для выполнения, или преобразование их
в возможные для выполнения;
2) генерацию непредусмотренных исходных данных для некоторого компонента;

167
3) нарушение предположений и свойств, на которые полагаются компоненты более
низкого уровня.
з) Выполнение данных, не предназначенных для выполнения, или преобразование их в
возможные для выполнения включает нападения с использованием вирусов (например,
помещение в некоторый файл выполняемого кода или команд, которые автоматически
выполняются при редактировании данного файла или получении доступа к нему, наследуя,
таким образом, привилегии, которые имеет владелец файла).
и) Генерация непредусмотренных исходных данных для некоторого компонента может
приводить к непредусмотренным результатам, которыми может воспользоваться
нарушитель. Например, если ОО является приложением, реализующим функции
безопасности, которые можно обойти при получении пользователем доступа к базовой
операционной системе, то может оказаться возможным получить такой доступ сразу после
выполнения входной последовательности, исследуя, пока пароль аутентифицируется,
результаты ввода различных управляющих или escape-последовательностей.
к) Нарушение предположений и свойств, на которые полагаются компоненты более низкого
уровня, включает нападения, основанные на выходе из-под действия ограничений
приложения для получения доступа к базовой операционной системе, чтобы обойти
функции безопасности, реализуемые приложением. В этом случае предположение, которое
нарушается, состоит в том, что для пользователя приложения невозможно получить такой
доступ. Подобное нападение можно предвидеть, если функции безопасности реализуются
приложением, работающим под управлением системы управления базами данных: опять же
есть возможность обхода функций безопасности, если нарушитель сможет выйти из-под
действия ограничений приложения.
л) Нападения, основанные на чтении чувствительных данных, сохраненных в недостаточно
защищенных областях (применимо, когда важна конфиденциальность), включают
следующие вопросы, которые следует рассматривать как возможные способы получения
доступа к чувствительным данным:
1) сбор «мусора» на диске;
2) доступ к незащищенной памяти;
3) использование доступа к совместно используемым по записи файлам или другим
совместно используемым ресурсам (например, к файлам подкачки);
4) активация восстановления после ошибок, чтобы определить, какой доступ
пользователи могут получить. Например, после отказа автоматическая система
восстановления файлов для файлов без заголовков может использовать каталог для
потерянных и найденных файлов, которые присутствуют на диске без меток. Если
ОО реализует мандатное управление доступом, то важно исследовать, какой уровень
безопасности поддерживается для этого каталога (например, высокий системный) и
кто имеет доступ к этому каталогу.
Вмешательство
Вмешательство включает любое нападение, основанное на попытке нарушителя повлиять
965

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

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

уместно) каждый из следующих аспектов:
а) Нападения, основанные на доступе к данным, на конфиденциальность или целостность
которых полагается функция или механизм безопасности, включают:
1) чтение, запись или модификацию внутренних данных прямо или косвенно;
2) использование некоторого компонента в непредусмотренном контексте или с
непредусмотренной целью;
3) использование взаимного влияния компонентов, которые невидимы на более
высоком уровне абстракции.
б) Чтение, запись или модификация внутренних данных прямо или косвенно охватывают
следующие типы нападений, которые следует рассмотреть:
1) чтение «секретов», хранимых внутри ОО, таких как пароли пользователей;
2) подмена внутренних данных, на которые полагаются механизмы,
обеспечивающие безопасность;
3) изменение переменных среды (например, логических имен) или данных в файлах
конфигурации или временных файлах.
в) Может оказаться возможным обмануть доверенный процесс для модификации
защищенного файла, к которому в обычном состоянии доступ не был бы получен.
г) Оценщику следует также рассмотреть следующие "опасные характеристики":
1) исходный текст вместе с компилятором, постоянно имеющиеся в наличии в ОО
(например, может оказаться возможным изменение исходного кода, связанного с
входом в систему);
2) интерактивный отладчик и средства внесения изменений (например, может
оказаться возможным изменение исполняемого образа);
3) возможность внесения изменений на уровне контроллеров устройств, на котором
файловой защиты не существует;
4) диагностический код, который присутствует в исходном коде и может быть
опционально включен;
5) инструментальные средства разработчика, оставленные в ОО.
д) Использование некоторого компонента в непредусмотренном контексте или с
непредусмотренной целью включает (например) случай, когда ОО является приложением,
полагающимся на операционную систему, а пользователи используют знания пакета
текстового процессора или другого редактора, чтобы изменить свой собственный
командный файл (например, чтобы приобрести большие привилегии).
е) Использование взаимного влияния компонентов, которое невидимо на более высоком
уровне абстракции, включает нападения, использующие совместный доступ к ресурсам,
когда модификация ресурса одним компонентом может влиять на режим выполнения
другого (доверенного) компонента, например, на уровне исходного кода, через
использование глобальных данных или косвенных механизмов, таких как совместно
используемая память или семафоры.
ж) Следует всегда учитывать нападения, основанные на принуждении ОО функционировать
в необычных или непредусмотренных обстоятельствах. Возможные варианты включают:
1) генерацию непредусмотренных исходных данных для некоторого компонента;
2) нарушение предположений и свойств, на которые полагаются компоненты более
низкого уровня.


169
з) Генерация непредусмотренных исходных данных для компонента включает исследование
режима функционирования ОО, когда имеет место:
1) переполнение буферов ввода команд (возможно "разрушение стека" или
перезапись другой области хранения, которыми нарушитель может быть способен
воспользоваться в своих интересах, или принудительная выдача аварийного дампа,
который может содержать чувствительную информацию, такую как открытый текст
паролей);
2) ввод неправильных команд или параметров (включая установку параметра в
состояние "только для чтения" для интерфейса, который предполагает выдачу
данных через этот параметр);
3) вставка маркера конца файла (например, CTRL/Z или CTRL/D) или нулевого
символа в журнал аудита.
и) Нарушение предположений и свойств, на которые полагаются компоненты более низкого
уровня, включает нападения, использующие ошибки в исходном коде, где предполагается
(явно или неявно), что относящиеся к безопасности данные находятся в конкретном
формате или имеют конкретный диапазон значений. В таких случаях оценщику следует,
формируя данные в другом формате или присваивая им другие значения, сделать
заключение, могут ли нападения привести к нарушению таких предположений, и если это
так, то может ли это дать преимущества нарушителю.
к) Корректный режим выполнения функций безопасности может зависеть от
предположений, которые нарушаются при критических обстоятельствах, когда
исчерпываются лимиты ресурсов или параметры достигают своего максимального
значения. Оценщику следует рассмотреть (если это целесообразно) режим
функционирования ОО, когда эти пределы достигаются, например:
1) изменение дат (например, исследования, как ведет себя ОО при переходе датой
критического порога);
2) переполнение дисков;
3) превышение максимального числа пользователей;
4) заполнение журнала аудита;
5) переполнение очередей сигналов безопасности, выдаваемых на консоль;
6) перегрузка различных частей многопользовательского ОО, который сильно
зависит от компонентов связи;
7) забивание сети или отдельных хостов трафиком;
8) заполнение буферов или полей.
л) Нападения, основанные на отключении или задержке обеспечения безопасности,
включают следующие аспекты:
1) использование прерываний или функций составления расписаний, чтобы
нарушить последовательное выполнение операций;
2) нарушения при параллельном выполнении;
3) использование взаимного влияния между компонентами, которое невидимо на
более высоком уровне абстракции.
м) Использование прерываний или функций составления расписаний, чтобы нарушить
последовательность выполнения операций, включает исследование режима
функционирования ОО при:
1) прерывании команды (по CTRL/C, CTRL/Y и т.п.);
2) порождении второго прерывания до того, как будет распознано первое.




170
н) Необходимо исследовать результаты завершения процессов, критических для
безопасности (например, демона аудита). Аналогично, может оказаться возможной такая
задержка регистрации записей аудита или выдачи/получения предупреждающих сигналов,
что они становятся бесполезными для администратора (так как нападение может уже
достичь цели).
о) Нарушения при параллельном выполнении включают исследование режима
функционирования ОО, когда два или более субъектов предпринимают попытку
одновременного доступа. Возможно, ОО и сможет справиться с блокировкой, необходимой,
когда два субъекта предпринимают попытку одновременного доступа, но при этом его
поведение станет не полностью определенным при наличии дополнительных субъектов.
Например, критичный по безопасности процесс может быть переведен в состояние
ожидания получения ресурса, если два других процесса осуществляют доступ к ресурсу,
который ему требуется.
п) Использование взаимного влияния компонентов, которое невидимо на более высоком
уровне абстракции, может обеспечить способ задержки критического по времени
доверенного процесса.
Прямые нападения
Прямое нападение включает идентификацию любых тестов проникновения, необходимых
967

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

необходимых для подтверждения или опровержения материалов анализа неправильного
применения. Вопросы, подлежащие рассмотрению, включают:
а) режим функционирования ОО при активации запуска, завершения работы или
восстановления после ошибок;
б) режим функционирования ОО в экстремальных условиях (иногда называемых
перегрузкой или асимптотическим режимом), в частности, когда это могло бы привести к
деактивации или отключению некоторой функции или механизма, направленных на
обеспечение безопасности;
в) любая потенциальная возможность неумышленной ошибки в конфигурации или
небезопасного использования, являющегося результатом нападений, упоминавшихся выше
под рубрикой «Вмешательство».
9.6.3.3.4 Действие AVA_VLA.2.4E
AVA_VLA.2-10 Оценщик должен придумать тесты проникновения, основанные на независимом
анализе уязвимостей.
Оценщик готовится к тестированию проникновения, основываясь на упорядоченном по
969

приоритетам перечне уязвимостей, предположения о существовании которых были
сделаны при выполнении действия оценщика AVA_VLA.2.3E.
Не предполагается тестирования оценщиком уязвимостей, помимо тех, для которых
970

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


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

протестировать восприимчивость ОО. В частности оценщик рассматривает:
а) интерфейсы функций безопасности, которые будут использоваться для инициирования
выполнения ФБО и наблюдения их реакции;
б) начальные условия, которые будут необходимы для выполнения теста (т.е., какие-либо
конкретные объекты или субъекты, которые будут необходимы, и атрибуты безопасности,
которые им необходимо будет иметь);
в) специальное оборудование для тестирования, которое потребуется либо для
инициирования функции безопасности, либо для наблюдения за функцией безопасности.
Оценщик, вероятно, посчитает целесообразным выполнить тестирование проникновения,
972

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

<< Пред. стр.

страница 24
(всего 26)

ОГЛАВЛЕНИЕ

След. стр. >>

Copyright © Design by: Sunlight webdesign