Панель ошибок безопасности SDL (образец)

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

См. определения терминов в данном разделе.

Сервер

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

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

Сервера

Критически важно

Сводка по серверу: сетевые черви или неизбежные случаи, когда сервер «находится во владении».

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

    • Удаленный анонимный пользователь

      • Примеры:

        • Несанкционированный доступ к файловой системе: произвольная запись в файловую систему

        • Выполнение произвольного кода

        • Внедрение SQL-кода (позволяющее провести выполнение кода)

    • Все нарушения доступа для записи (AV), доступные для чтения AV или целочисленные переполнения в удаленном анонимно вызываемом коде

Важно!

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

  • Отказ в обслуживании: необходимо "легко использовать", отправляя небольшой объем данных или быстро вызывая

    • Анонимные

      • Постоянный DoS

        • Примеры:

          • Отправка одного вредоносного TCP-пакета приводит к синему экрану смерти (BSoD)

          • Отправка небольшого количества пакетов, вызывающая сбой службы

      • Временный DoS с усилением

        • Примеры:

          • Отправка небольшого количества пакетов, по причине которой система не работает в течение определенного периода времени

          • Веб-сервер (например, IIS) не работает в течение минуты или дольше

          • Один удаленный клиент, использующий все доступные ресурсы (сеансы, память) на сервере, устанавливая сеансы и оставляя их открытыми

    • Проверка подлинности выполнена

      • Устойчивый DoS против дорогостоящего объекта

        • Пример:

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

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

    • Удаленный пользователь, прошедший проверку

    • Локальный пользователь, прошедший проверку (Сервер терминала)

      • Примеры:

        • Несанкционированный доступ к файловой системе: произвольная запись в файловую систему

        • Выполнение произвольного кода

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

  • Раскрытие информации (целевое)

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

      • Примеры:

        • Раскрытие личной информации (PII)

          • Раскрытие PII (адреса электронной почты, номера телефонов, информация о кредитной карте)

          • Злоумышленник может собирать PII без согласия пользователя или скрытно

  • Спуфинг

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

      • Примеры:

        • Веб-сервер неправильно использует процедуру проверки подлинности сертификата клиента (SSL), чтобы злоумышленник мог быть идентифицирован как любой пользователь по его выбору

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

  • Незаконное изменение

    • Изменение любых данных «ценных активов» в обычном сценарии или сценарии по умолчанию, когда изменение сохраняется после перезапуска уязвимого программного обеспечения

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

      • Примеры:

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

        • Отравление кэш-посредника в рамках обычного сценария или сценария по умолчанию

        • Изменение настроек ОС или приложения без согласия пользователя в обычном сценарии или сценарии по умолчанию

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

    • Примеры:

      • Отключение или обход брандмауэра без уведомления пользователей или получения согласия

      • Перенастройка брандмауэра и разрешение подключений к другим процессам

Умеренно
  • Отказ в обслуживании

    • Анонимные

      • Временный DoS без усиления при стандартной/обычной установке.

        • Пример:

          • Несколько удаленных клиентов потребляют все доступные ресурсы (сеансы, память) на сервере, устанавливая сеансы и оставляя их открытыми

    • Проверка подлинности выполнена

      • Постоянный DoS

        • Пример:

          • Пользователь, вошедший в систему Exchange, может отправить определенное почтовое сообщение и привести к сбою Exchange Server, и сбой не из-за записи AV, доступного чтения AV или целочисленного переполнения

      • Временный DoS с усилением при стандартной/обычной установке

        • Пример:

          • Обычный пользователь SQL Server выполняет хранимую процедуру, установленную каким-либо продуктом, и потребляет 100% ЦП в течение нескольких минут

  • Раскрытие информации (целевое)

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

      • Пример:

        • Целевое раскрытие анонимных данных

        • Целевое раскрытие факта существования файла

        • Целевое раскрытие номера версии файла

  • Спуфинг

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

      • Пример:

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

  • Незаконное изменение

    • Постоянное или постоянное изменение любых пользовательских или системных данных в определенном сценарии

      • Примеры:

        • Изменение файлов данных приложений или баз данных в определенном сценарии

        • Отравление кэша-посредника в контексте определенного сценария

        • Изменение настроек ОС/приложения без согласия пользователя в контексте определенного сценария

    • Временное изменение данных в обычном сценарии или сценарии по умолчанию, которое не сохраняется после перезапуска ОС/приложения-/сеанса

  • Гарантии безопасности:

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

      • Примеры:

        • Процессы, запущенные с обычными привилегиями «пользователя», не могут получить привилегии «администратора», если пароль/учетные данные администратора не были предоставлены с помощью преднамеренно авторизованных методов.

        • Интернет-JavaScript, работающий в Internet Explorer, не может управлять какими-либо процессами в операционной системе хоста, если пользователь явным образом не изменил параметры безопасности по умолчанию.

Низкая
  • Раскрытие информации (нецелевое)

    • Сведения о среде выполнения

      • Пример:

        • Утечка случайной динамической памяти

  • Незаконное изменение

    • Временное изменение данных в контексте определенного сценария, которое не сохраняется после перезапуска ОС/приложения

Клиент

Обширные действия пользователя определяются как:

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

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

  • "Расширенный" включает пользователей вручную переход на определенный веб-сайт (например, ввод в URL-адрес) или нажатие кнопки "Да/нет".

  • "Не обширный" включает пользователей, щелкающих по ссылкам электронной почты.

  • Квалификатор NEAT (применяется только к предупреждениям). Очевидно, что UX:

    • Необходим (действительно ли пользователю нужно представить решение?)

    • Разъяснен (Предоставляет ли UX всю информацию, необходимую пользователю для принятия данного решения?)

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

    • Протестирован (было ли предупреждение проверено несколькими людьми, чтобы убедиться, что люди понимают, как реагировать на предупреждение?)

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

Клиента

Критически важно

Сводка клиента:

  • Сетевые вирусы или неизбежные распространенные сценарии просмотра/использования, когда клиент «принадлежит» без предупреждений или подсказок.

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

    • Примеры:

      • Несанкционированный доступ к файловой системе: запись в файловую систему

      • Выполнение произвольного кода без обширных действий пользователя

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

Важно!

Сводка клиента:

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

  • Повышение привилегий (удаленное)

    • Выполнение произвольного кода с обширными действиями пользователя

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

  • Повышение привилегий (локальное)

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

      • Все AV записи, пригодные для чтения AV или целочисленные переполнения в локальном вызываемом коде

  • Раскрытие информации (целевое)

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

    • Пример:

      • Несанкционированный доступ к файловой системе: чтение из файловой системы

      • Раскрытие PII

        • Раскрытие PII (адреса электронной почты, номера телефонов)

      • Сценарии домашнего телефона

  • Отказ в обслуживании

    • DoS повреждения системы требует переустановки системы и/или компонентов.

      • Пример:

        • Посещение веб-страницы вызывает повреждение реестра, из-за которого компьютер не загружается

    • Drive-by DoS

      • Критерии:

        • Система DoS, не прошедшая проверку подлинности

        • Экспозиция по умолчанию

        • Отсутствие функций безопасности по умолчанию или ограничения границ (брандмауэры)

        • Отсутствие взаимодействия с пользователем

        • Отсутствие аудита и наказания

        • Пример:

          • DoS-атака или SMS в мобильном телефоне с помощью системы Drive-by Bluetooth

  • Спуфинг

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

      • Примеры:

        • Отображение в адресной строке браузера URL-адреса, отличного от URL-адреса сайта, который браузер фактически отображает, в стандартном/распространенном сценарии

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

        • Отображение другого имени файла в строке «Вы хотите запустить эту программу?» диалоговое окно, как у файла, который будет фактически загружен в стандартном сценарии

        • Отображение «поддельного» запроса на вход для сбора учетных данных пользователя или учетной записи

  • Незаконное изменение

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

      • Примеры:

        • Отравление кэша веб-браузера

        • Изменение важных настроек ОС/приложения без согласия пользователя

        • Модификация пользовательских данных

  • Функции безопасности: взлом или обход любой предоставленной функции безопасности

    • Примеры:

      • Отключение или обход брандмауэра с информированием пользователя или получением согласия

      • Перенастройка брандмауэра и разрешение подключения к другим процессам

      • Использование слабого шифрования или хранение ключей в виде обычного текста

      • Обход AccessCheck

      • Обход Bitlocker; например, нешифрование части диска

      • Обход syskey, способ декодирования syskey без пароля

Умеренно
  • Отказ в обслуживании

    • Постоянный DoS требует холодной перезагрузки или вызывает синий экран/проверку ошибок.

      • Пример:

        • Открытие документа Word вызывает синий экран/проверку ошибок.

  • Раскрытие информации (целевое)

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

      • Примеры:

        • Целевое существование файла

        • Номер целевой версии файла

  • Спуфинг

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

      • Примеры:

        • Отравление кэша веб-браузера

        • Изменение важных настроек ОС/приложения без согласия пользователя

        • Модификация пользовательских данных

Низкая
  • Отказ в обслуживании

    • Временный DoS требует перезапуска приложения.

      • Пример:

        • Открытие HTML-документа приводит к сбою Internet Explorer

  • Спуфинг

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

      • Пример:

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

  • Незаконное изменение

    • Временное изменение любых данных, которое не сохраняется после перезапуска ОС/приложения.

    • Раскрытие информации (нецелевое)

      • Пример:

        • Утечка случайной динамической памяти

Определение терминов

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

анонимное
Любая атака, для завершения которой не требуется проверка подлинности.

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

по умолчанию/обычное
Любые функции, которые активны из окна или охватывают более 10 процентов пользователей.

scenario
Любые функции, для включения которых требуется особая настройка или варианты использования, охватывают менее 10 процентов пользователей.

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

Критически
Уязвимость безопасности, которая будет оценена как самая высокая вероятность повреждения.

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

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

Низкая
Уязвимость безопасности, которая будет оценена как низкая вероятность повреждения.

целевое раскрытие информации
Умение намеренно выбирать (таргетировать) желаемую информацию.

временный DoS
Временный DoS представляет собой ситуацию, при которой выполняются следующие критерии:

  • Цель не может выполнять нормальные операции по причине атаки.

  • Ответ на атаку примерно такой же, как и размер атаки.

  • Цель возвращается к нормальному уровню функциональности вскоре после завершения атаки. Точное определение «в ближайшее время» следует оценивать для каждого продукта.

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

временный DoS с усилением

Временный DoS с усилением представляет собой ситуацию, при которой выполняются следующие критерии:

  • Цель не может выполнять нормальные операции по причине атаки.

  • Ответ на атаку намного превосходит размер атаки.

  • После завершения атаки цель возвращается к нормальному уровню функциональности, но это занимает некоторое время (возможно, несколько минут).

Например, если вы можете отправить вредоносный 10-байтовый пакет и вызвать в сети ответ 2048 КБ, вы делаете DoS-атаки на полосу пропускания, усиливая наши усилия по атаке.

постоянный DoS

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

Матрица отказа в обслуживании (сервер)

Аутентифицированная и анонимная атака Стандартные и сценарии Временный DoS против постоянного Оценка
Проверка подлинности выполнена По умолчанию/Обычный Постоянный Умеренно
Проверка подлинности выполнена По умолчанию/Обычный Временный DoS с усилением Умеренно
Проверка подлинности выполнена По умолчанию/Обычный Temporary DoS Низкая
Проверка подлинности выполнена Сценарий Постоянный Умеренно
Проверка подлинности выполнена Сценарий Временный DoS с усилением Низкая
Проверка подлинности выполнена Сценарий Temporary DoS Низкая
Анонимные По умолчанию/Обычный Постоянный Важно!
Анонимные По умолчанию/Обычный Временный DoS с усилением Важно!
Анонимные По умолчанию/Обычный Temporary DoS Умеренно
Анонимные Сценарий Постоянный Важно!
Анонимные Сценарий Временный DoS с усилением Важно!
Анонимные Сценарий Temporary DoS Низкая

Заявление об отказе от ответственности за содержание

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

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

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

© Корпорация Майкрософт (Microsoft Corporation), 2018. Все права защищены.

Лицензировано вразделе Creative Commons Attribution-nonCommercial-ShareAlike 3.0 Unported