Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Надежные вычисления — это инициатива Майкрософт по обеспечению производства защищенного кода. Ключевым элементом инициативы "Надежные вычисления" является жизненный цикл разработки безопасности Майкрософт (SDL). SDL — это инженерная практика, которая используется в сочетании со стандартными процессами проектирования для упрощения доставки защищенного кода. SDL состоит из десяти этапов, которые объединяют лучшие методики с формализацией, измеримостью и дополнительной структурой, в том числе:
Анализ проектирования безопасности
Проверки качества на основе инструментов
Тестирование на проникновение
Окончательный обзор безопасности
Управление безопасностью продуктов после выпуска
Особенности WPF
Команда инженеров WPF применяет и расширяет SDL, сочетание которых включает следующие ключевые аспекты:
Средства анализа безопасности и редактирования
управление критически важным кодом
Моделирование угроз
Моделирование угроз является основным компонентом SDL и используется для профилирования системы для определения потенциальных уязвимостей безопасности. После выявления уязвимостей моделирование угроз также гарантирует, что существуют соответствующие меры по устранению рисков.
На высоком уровне моделирование угроз включает в себя следующие ключевые шаги, используя продуктовый магазин в качестве примера:
идентификация ресурсов. Активы продуктового магазина могут включать сотрудников, сейф, кассовые аппараты и товарные запасы.
Перечисление Точек Входа. Точки входа продуктового магазина могут включать передние и задние двери, окна, погрузочную площадку и установки кондиционирования воздуха.
Исследование атак на ресурсы с помощью точек входа. Одна из возможных атак может нацелиться на сейфовый актив через входную точку кондиционера, кондиционер может быть откручен, чтобы позволить сейф вытянуть через него и вынести из магазина.
Моделирование угроз применяется в WPF и включает в себя следующее:
Как средство синтаксического анализа XAML считывает файлы, сопоставляет текст с соответствующими классами объектной модели и создает фактический код.
Как создается дескриптор окна (hWnd), как отправляет сообщения и как используется для отрисовки содержимого окна.
Как привязка данных добывает ресурсы и взаимодействует с системой.
Эти модели угроз важны для определения требований проектирования безопасности и устранения угроз во время процесса разработки.
Средства анализа и редактирования источников
Помимо элементов проверки кода безопасности вручную в SDL команда WPF использует несколько средств для анализа источников и связанных изменений для уменьшения уязвимостей безопасности. Используется широкий спектр исходных инструментов, который включает следующее:
Предупреждение
Безопасность доступа к коду (CAS) не поддерживается современной платформой .NET, это концепция только для .NET Framework. Все функциональные возможности, связанные с CAS, обрабатываются при предположении полного доверия. Дополнительные сведения см. в разделе "Различия с WPF .NET — безопасность доступа к коду".
FXCop: находит распространенные проблемы безопасности в управляемом коде, начиная от правил наследования и до использования безопасности доступа для безопасного взаимодействия с неуправляемым кодом. См. FXCop.
префикс/префаст: находит уязвимости системы безопасности и распространенные проблемы безопасности в неуправляемом коде, например переполнение буфера, проблемы с строками форматирования и проверка ошибок.
Запрещенные API: выполняет поиск по исходному коду для выявления случайного использования функций, известных тем, что вызывают проблемы с безопасностью, таких как
strcpy
. После идентификации эти функции заменяются альтернативами, которые более безопасны.
Методы тестирования
WPF использует различные методы тестирования безопасности, в том числе:
Whitebox Testing: тестировщики просматривают исходный код, а затем создают тесты эксплойтов.
Blackbox Testing: тестировщики пытаются найти эксплойты безопасности путем изучения API и функций, а затем пытаются атаковать продукт.
Возврат к проблемам безопасности из других продуктов: Где это уместно, проверяются проблемы безопасности в связанных продуктах. Например, были определены соответствующие варианты примерно шестидесяти проблем безопасности для Internet Explorer и были проверены для их применимости к WPF.
Tools-Based тестирование на проникновение через нечеткоефайла: нечеткость файлов — это использование диапазона входных данных средства чтения файлов с помощью различных входных данных. Одним из примеров в WPF, где используется этот метод, является проверка сбоя в коде декодирования изображений.
Управление критически важным кодом
Для XAML-браузерных приложений (XBAP) WPF создает песочницу безопасности, используя возможности .NET Framework для отметки и отслеживания кода, критически важного для безопасности, который повышает привилегии (см. методологию
Предупреждение
Для работы XBAPs требуются устаревшие браузеры, такие как Internet Explorer и старые версии Firefox. Эти старые браузеры обычно не поддерживаются в Windows 10 и Windows 11. Современные браузеры больше не поддерживают технологию, необходимую для приложений XBAP из-за рисков безопасности. Плагины, позволяющие использовать XBAP, больше не поддерживаются. Дополнительные сведения см. в статье Часто задаваемые вопросы о приложениях, размещенных в браузере WPF (XBAP),.
См. также
.NET Desktop feedback