Поделиться через


Правила безопасности

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

В этом разделе

Правило Описание
CA2100: просмотрите запросы SQL на наличие уязвимостей безопасности Метод задает свойство System.Data.IDbCommand.CommandText, используя строку, которая создается из строкового аргумента, переданного в метод. Это правило предполагает, что строковый аргумент содержит входные данные пользователя. Строка команды SQL, построенная из пользовательского ввода, уязвима для атак инъекции SQL.
CA2109: обзор видимых обработчиков событий Обнаружен общедоступный или защищенный метод обработки событий. Методы обработки событий не должны предоставляться, если это не обязательно.
CA2119: методы запечатывания, удовлетворяющие частным интерфейсам Общедоступный наследуемый тип предоставляет переопределяемую реализацию метода внутреннего интерфейса (Friend в Visual Basic). Чтобы исправить нарушение этого правила, не позволяйте переопределять метод за пределами сборки.
CA2153: избегайте обработки поврежденных исключений состояния исключения поврежденного состояния (CSE) указывают на то, что в процессе существует повреждение памяти. Перехват таких случаев вместо разрешения на сбой процесса может привести к уязвимостям безопасности, если злоумышленник сможет внедрить эксплойт в поврежденный участок памяти.
CA2300: не используйте небезопасный десериализатор BinaryFormatter Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2301: не вызывайте BinaryFormatter.Deserialize, не установив сначала BinaryFormatter.Binder Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2302: Убедитесь, что BinaryFormatter.Binder установлен перед вызовом BinaryFormatter.Deserialize Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2305: не используйте небезопасный десериализатор LosFormatter Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2310: не используйте небезопасный десериализатор NetDataContractSerializer Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2311: Не десериализировать без предварительной установки NetDataContractSerializer.Binder Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2312: убедитесь, что NetDataContractSerializer.Binder установлен перед десериализацией Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2315: не используйте небезопасный десериализатор ObjectStateFormatter Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2321: не использовать десериализацию с JavaScriptSerializer и SimpleTypeResolver Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2322: обеспечьте, чтобы JavaScriptSerializer не инициализировался с помощью SimpleTypeResolver перед десериализацией Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2326: не используйте значения TypeNameHandling, отличные от None Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2327: не используйте небезопасные JsonSerializerSettings Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2328: Убедитесь, что настройки JsonSerializerSettings надежно защищены Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2329: не десериализировать с помощью JsonSerializer при небезопасной конфигурации Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2330: убедитесь, что JsonSerializer имеет безопасную конфигурацию при десериализации Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные, чтобы включить непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2350: Убедитесь, что входные данные DataTable.ReadXml() являются доверенными При десериализации DataTable с ненадежными входными данными злоумышленник может создать вредоносные входные данные для выполнения атаки типа "отказ в обслуживании". Могут возникнуть неизвестные уязвимости удаленного выполнения кода.
CA2351: убедитесь, что входные данные для DataSet.ReadXml() являются доверенными При десериализации DataSet с ненадежными входными данными злоумышленник может создать вредоносные входные данные для выполнения атаки типа "отказ в обслуживании". Могут возникнуть неизвестные уязвимости удаленного выполнения кода.
CA2352: небезопасный набор данных или DataTable в сериализуемом типе может быть уязвим для атак удаленного выполнения кода Класс или структура, помеченная SerializableAttribute, содержит DataSet или DataTable поле или свойство и не имеет GeneratedCodeAttribute.
CA2353: небезопасный набор данных или DataTable в сериализуемом типе Класс или структура, помеченная атрибутом сериализации XML или атрибутом контракта данных, содержит DataSet или DataTable поле или свойство.
CA2354: небезопасный набор данных или DataTable в графе десериализированных объектов может быть уязвим для атак удаленного выполнения кода Десериализация с объектом, сериализованным в формате System.Runtime.Serialization.IFormatter, а граф объектов приведенного типа может включать DataSet или DataTable.
CA2355: небезопасный набор данных или DataTable в графе десериализированных объектов Десериализация, когда приведенный или заданный граф объектов заданного типа может включать DataSet или DataTable.
CA2356: небезопасный набор данных или DataTable в графе объектов с десериализацией веб-объектов Метод с System.Web.Services.WebMethodAttribute или System.ServiceModel.OperationContractAttribute имеет параметр, который может ссылать на DataSet или DataTable.
CA2361: убедитесь, что автоматически созданный класс, содержащий DataSet.ReadXml(), не используется с ненадежными данными При десериализации DataSet с ненадежными входными данными злоумышленник может создать вредоносные входные данные для выполнения атаки типа "отказ в обслуживании". Могут возникнуть неизвестные уязвимости удаленного выполнения кода.
CA2362: небезопасный набор данных или DataTable в автогенерированном сериализируемом типе может быть уязвим для атак удаленного выполнения кода При десериализации ненадежных входных данных с BinaryFormatter, если в графе десериализированных объектов содержится DataSet или DataTable, злоумышленник может создать вредоносную нагрузку для выполнения атаки удалённого выполнения кода.
CA3001: проверка кода на уязвимости инъекций SQL При работе с ненадежными входными данными и командами SQL следует учитывать возможность SQL-инъекций. Атака с использованием SQL-инъекции может выполнять вредоносные команды SQL, компрометируя безопасность и целостность вашего приложения.
CA3002: Проверьте код на наличие уязвимостей XSS При работе с ненадежными входными данными из веб-запросов следует учитывать атаки, связанные с межсайтовым скриптованием (XSS). Атака XSS внедряет ненадежные входные данные в необработанные выходные данные HTML, позволяя злоумышленнику выполнять вредоносные скрипты или злонамеренно изменять содержимое на веб-странице.
CA3003: Проанализируйте код на уязвимости инъекций пути к файлам При работе с ненадежными входными данными из веб-запросов следует учитывать использование управляемых пользователем входных данных при указании путей к файлам.
CA3004: проверьте код уязвимостей раскрытия информации Раскрытие сведений об исключении дает злоумышленникам представление о внутренних компонентах приложения, что может помочь злоумышленникам найти другие уязвимости для использования.
CA3006: Проверьте код на уязвимости инъекции команд в процессе При работе с ненадежными входными данными будьте осторожны с атаками по внедрению команд. Атака внедрения команд может выполнять вредоносные команды в операционной системе, компрометируя безопасность и целостность вашего сервера.
CA3007: проверьте код на уязвимости перенаправления с открытым доступом При работе с ненадежными входными данными следует учитывать уязвимости открытого перенаправления. Злоумышленник может воспользоваться уязвимостью открытого перенаправления, чтобы создать видимость законного URL-адреса, но перенаправлять неподозревающего посетителя на фишинговую или другую вредоносную веб-страницу.
CA3008: Анализ кода на уязвимости внедрения XPath При работе с непроверенными входными данными следует учитывать опасность атак на внедрение XPath. Создание запросов XPath с помощью ненадежных входных данных может позволить злоумышленнику злонамеренно управлять запросом для возврата непреднамеренного результата и, возможно, раскрывать содержимое запрашиваемого XML.
CA3009: проверка кода уязвимостей внедрения XML При работе с ненадежными входными данными важно учитывать угрозу атак внедрения XML.
CA3010: Проверка кода на уязвимости, связанные с внедрением XAML При работе с ненадежными входными данными следует учитывать атаки на внедрение XAML. XAML — это язык разметки, который непосредственно представляет создание экземпляров объектов и исполнение кода. Это означает, что элементы, созданные в XAML, могут взаимодействовать с системными ресурсами (например, сетевым доступом и операцией ввода-вывода файловой системы).
CA3011: проверьте код уязвимостей внедрения библиотеки DLL При работе с ненадежными входными данными следует учитывать загрузку ненадежного кода. Если веб-приложение загружает ненадежный код, злоумышленник может внедрить вредоносные библиотеки DLL в процесс и выполнить вредоносный код.
CA3012: проверьте код для уязвимостей внедрения regex При работе с ненадежными входными данными следует опасаться атак на внедрение регулярных выражений. Злоумышленник может использовать внедрение регулярных выражений для злонамеренной модификации, чтобы добиться сопоставления непреднамеренных результатов или заставить регэкс избыточно использовать ресурсы ЦП, что может привести к атаке типа "Отказ в обслуживании".
CA3061: не добавляйте схему через URL Не используйте небезопасную перегрузку метода Add, так как это может вызвать опасные внешние ссылки.
CA3075: небезопасная обработка DTD Если вы используете небезопасные экземпляры DTDProcessing или ссылаетесь на внешние источники сущностей, средство синтаксического анализа может принимать ненадежные входные данные и раскрывать конфиденциальную информацию злоумышленникам.
CA3076: небезопасное выполнение скрипта XSLT Если небезопасно выполнить преобразования расширяемого языка стилевых таблиц (XSLT) в приложениях .NET, обработчик может разрешить ненадежные ссылки URI, которые могут раскрыть конфиденциальную информацию злоумышленникам, что приводит к атакам типа "отказ в обслуживании" и "межсайтовый скриптинг".
CA3077: Уязвимая обработка в дизайне API, XML Document и XML Text Reader При разработке API, производных от XMLDocument и XMLTextReader, следует учитывать DtdProcessing. Использование небезопасных модулей DTDProcessing при ссылке или разрешении внешних источников сущностей или установке небезопасных значений в XML может привести к утечке информации.
CA3147: пометьте обработчики глаголов с помощью ValidateAntiForgeryToken При разработке контроллера MVC ASP.NET следует учитывать атаки на подделку межсайтовых запросов. Атака межсайтовой подделки запроса может отправлять вредоносные запросы от аутентифицированного пользователя на контроллер MVC ASP.NET.
CA5350: не используйте слабые алгоритмы шифрования Слабые алгоритмы шифрования и хэширование функций используются сегодня по ряду причин, но они не должны использоваться для обеспечения конфиденциальности или целостности защищаемых данных. Это правило активируется при обнаружении алгоритмов TripleDES, SHA1 или RIPEMD160 в коде.
CA5351: не используйте неисправные алгоритмы шифрования Неработающие криптографические алгоритмы не считаются безопасными, и их использование должно быть настоятельно не рекомендуется. Это правило активируется при обнаружении хэш-алгоритма MD5 или алгоритмов шифрования DES или RC2 в коде.
CA5358: не используйте небезопасные режимы шифров Не используйте небезопасные режимы шифров
CA5359: не отключайте проверку сертификатов Сертификат может помочь проверить подлинность удостоверения сервера. Клиенты должны проверить сертификат сервера, чтобы убедиться, что запросы отправляются на предполагаемый сервер. Если ServerCertificateValidationCallback всегда возвращает true, любой сертификат будет проходить проверку.
CA5360: не вызывайте опасные методы при десериализации Небезопасная десериализация — это уязвимость, которая возникает, когда ненадежные данные используются для злоупотребления логикой приложения, причинения атаки типа "отказ в обслуживании" (DoS) или даже выполнения произвольного кода при десериализации. Злоумышленники часто могут злоупотреблять этими функциями десериализации, когда приложение десериализирует ненадежные данные, которые находятся под их контролем. В частности, вызов опасных методов в процессе десериализации. Успешные небезопасные атаки десериализации могут позволить злоумышленнику выполнять такие атаки, как атаки DoS, обходы проверки подлинности и удаленное выполнение кода.
CA5361: Не отключайте в SChannel использование сильного шифрования Настройка Switch.System.Net.DontEnableSchUseStrongCrypto на true ослабляет криптографию, применяемую в исходящих соединениях TLS. Слабая криптография может скомпрометировать конфиденциальность взаимодействия между приложением и сервером, что упрощает перехват конфиденциальных данных злоумышленниками.
CA5362: потенциальный цикл ссылок в графе десериализованных объектов Если выполняется десериализация ненадежных данных, то любой код, обрабатывающий десериализированный граф объектов, должен обрабатывать циклы ссылок, не допуская бесконечных циклов. Это включает как код, который является частью обратного вызова десериализации, так и кода, обрабатывающего граф объектов после завершения десериализации. В противном случае злоумышленник может выполнить атаку типа "отказ в обслуживании" с вредоносными данными, содержащими эталонный цикл.
CA5363: не отключайте проверку запросов Проверка запросов — это функция в ASP.NET, которая проверяет HTTP-запросы и определяет, содержит ли они потенциально опасное содержимое, которое может привести к атакам на внедрение, включая межсайтовые скрипты.
CA5364: не используйте устаревшие протоколы безопасности Протокол TLS защищает связь между компьютерами в сети, чаще всего с использованием протокола HTTPS. Более старые версии протокола TLS являются менее безопасными, чем TLS 1.2 и TLS 1.3 и, скорее всего, имеют новые уязвимости. Избегайте более старых версий протокола, чтобы свести к минимуму риск.
CA5365: не отключайте проверку заголовка HTTP Проверка заголовков HTTP позволяет кодировать символы возврата каретки и новой строки, \r и \n, которые находятся в заголовках ответа. Эта кодировка может помочь избежать атак внедрения, которые используют приложение, которое отражает ненадежные данные, содержащиеся в заголовке.
CA5366. Используйте XmlReader для чтения XML в DataSet Использование DataSet для чтения XML с ненадежными данными может загружать опасные внешние ссылки, которые должны быть ограничены с помощью XmlReader с безопасным резолвером или с отключенной обработкой DTD.
CA5367: не сериализируйте типы с полями указателя Это правило проверяет наличие сериализуемого класса с полем указателя или свойством. Элементы, которые не могут быть сериализованы, могут быть указателем, например статическими элементами или полями, помеченными NonSerializedAttribute.
CA5368: настройка ViewStateUserKey для классов, производных от страницы Задание свойства ViewStateUserKey поможет предотвратить атаки на приложение, позволяя назначить идентификатор переменной состояния представления для отдельных пользователей, чтобы злоумышленники не могли использовать переменную для создания атаки. В противном случае будут уязвимости для подделки запросов между сайтами.
CA5369: используйте XmlReader для десериализации Обработка ненадежных схем DTD и XML может позволять загрузку опасных внешних ссылок, которые должны быть ограничены с помощью XmlReader с безопасным резолвером или отключением встроенной обработки DTD и схем XML.
CA5370: используйте XmlReader для проверки чтения данных Обработка ненадежных схем DTD и XML может включать загрузку опасных внешних ссылок. Эта опасная загрузка может быть ограничена с помощью XmlReader с безопасным сопоставителем или с отключенной встроенной обработкой схемы DTD и XML.
CA5371: использование XmlReader для чтения схемы Обработка ненадежных схем DTD и XML может включать загрузку опасных внешних ссылок. Использование XmlReader с безопасным сопоставителем или с отключенной обработкой DTD и встроенных схем XML ограничивает возможности.
CA5372: Использование XmlReader для XPathDocument Обработка XML из ненадежных данных может загружать опасные внешние ссылки, которые можно ограничить с помощью XmlReader с безопасным сопоставителем или с отключенной обработкой DTD.
CA5373: не используйте устаревшую функцию вывода ключей Это правило обнаруживает вызов слабых методов производных ключей System.Security.Cryptography.PasswordDeriveBytes и Rfc2898DeriveBytes.CryptDeriveKey. System.Security.Cryptography.PasswordDeriveBytes использовал слабый алгоритм PBKDF1.
CA5374: не используйте XslTransform Это правило проверяет, создается ли экземпляр System.Xml.Xsl.XslTransform в коде. System.Xml.Xsl.XslTransform теперь устарел и не следует использовать.
CA5375: не используйте пользовательскую подпись для общего доступа SAS учетной записи может делегировать доступ к операциям чтения, записи и удаления в контейнерах BLOB-объектов, таблицах, очередях и общих папках, которые не разрешены с помощью SAS службы. Однако она не поддерживает политики уровня контейнера и имеет меньшую гибкость и контроль над предоставленными разрешениями. Как только злоумышленники получат его, ваша учетная запись хранения данных будет легко скомпрометирована.
CA5376: используйте SharedAccessProtocol HttpsOnly SAS — это конфиденциальные данные, которые нельзя транспортировать в виде обычного текста по протоколу HTTP.
CA5377: используйте политику доступа на уровне контейнера Политика доступа на уровне контейнера может быть изменена или отменена в любое время. Он обеспечивает большую гибкость и контроль над предоставленными разрешениями.
CA5378: Не отключайте протоколы безопасности ServicePointManagerSecurityProtocols Настройка DisableUsingServicePointManagerSecurityProtocols для true ограничивает использование защиты соединений TLS 1.0 в рамках Windows Communication Framework (WCF). Эта версия TLS будет нерекомендуемой.
CA5379: убедитесь, что алгоритм функции выведения ключей достаточно надежный Класс Rfc2898DeriveBytes по умолчанию использует алгоритм SHA1. Необходимо указать хэш-алгоритм для использования в некоторых перегрузках конструктора с характеристикой SHA256 или выше. Обратите внимание, что свойство HashAlgorithm имеет только метод доступа get и не имеет модификатора overridden.
CA5380: не добавляйте сертификаты в корневое хранилище Это правило обнаруживает код, добавляющий сертификат в хранилище сертификатов доверенных корневых центров сертификации. По умолчанию хранилище сертификатов доверенных корневых центров сертификации настроено с набором общедоступных ЦС, которые соответствуют требованиям программы корневых сертификатов Майкрософт.
CA5381: убедитесь, что сертификаты не добавляются в корневое хранилище Это правило обнаруживает код, который потенциально добавляет сертификат в хранилище сертификатов доверенных корневых центров сертификации. По умолчанию хранилище сертификатов доверенных корневых центров сертификации настроено с набором общедоступных центров сертификации (ЦС), которые соответствуют требованиям программы корневых сертификатов Майкрософт.
CA5382: использование безопасных файлов cookie в ASP.NET Core Приложения, доступные по протоколу HTTPS, должны использовать безопасные файлы cookie, которые указывают браузеру, что файл cookie должен передаваться только с помощью TLS.
CA5383. Обеспечение безопасности файлов cookie в ASP.NET Core Приложения, доступные по протоколу HTTPS, должны использовать безопасные файлы cookie, которые указывают браузеру, что файл cookie должен передаваться только с помощью TLS.
CA5384: не используйте алгоритм цифровой подписи (DSA) DSA — это слабый асимметричный алгоритм шифрования.
CA5385: используйте алгоритм Rivest-Shamir-Adleman (RSA) с достаточным размером ключа Ключ RSA меньше 2048 бит является более уязвимым для атак подбора.
CA5386: избегайте жесткого кодирования значения SecurityProtocolType Протокол безопасности транспортного уровня (TLS) обеспечивает безопасность связи между компьютерами, чаще всего с помощью протокола HTTPS. Версии протокола TLS 1.0 и TLS 1.1 устарели, а TLS 1.2 и TLS 1.3 являются текущими. В будущем протокол TLS 1.2 и TLS 1.3 могут быть устаревшими. Чтобы обеспечить безопасность вашего приложения, не жестко фиксируйте версию протокола и ориентируйтесь как минимум на .NET Framework версии 4.7.1.
CA5387: не используйте слабую функцию производной ключа с недостаточным числом итераций Это правило проверяет, был ли криптографический ключ создан Rfc2898DeriveBytes с числом итерации менее 100 000. Более высокое число итераций может помочь устранить атаки словаря, которые пытаются угадать созданный криптографический ключ.
CA5388: Убедитесь в достаточном количестве итераций при использовании слабой функции производного ключа Это правило проверяет, был ли криптографический ключ создан Rfc2898DeriveBytes с числом итераций, которое может быть менее 100 000. Большее количество итераций может помочь уменьшить риск атак по словарю, которые пытаются угадать созданный криптографический ключ.
CA5389: не добавляйте путь элемента архива в путь целевой файловой системы Путь к файлу может быть относительным и способен привести к доступу к файловой системе за пределами ожидаемого целевого пути, что может привести к вредоносным изменениям конфигурации и удаленному выполнению кода с помощью техники закладки и ожидания.
CA5390: не встраивайте ключ шифрования напрямую в код Для успешного выполнения симметричного алгоритма секретный ключ должен быть известен только отправителю и получателю. Если ключ жестко закодирован, он легко обнаруживается. Даже с компилированными бинарными файлами злоумышленники могут легко их извлечь. После компрометации закрытого ключа текст шифра можно расшифровать напрямую и больше не защищается.
CA5391: используйте маркеры защиты от подделки в контроллерах ASP.NET Core MVC Обработка POST, PUT, PATCHили DELETE запроса без проверки маркера защиты от подделки может быть уязвима для атак подделки запросов между сайтами. Межсайтовая подделка запросов может отправлять вредоносные запросы от аутентифицированного пользователя к контроллеру ASP.NET Core MVC.
CA5392: используйте атрибут DefaultDllImportSearchPaths для P/Invokes По умолчанию функции P/Invoke, используя DllImportAttribute, проверяют несколько каталогов, включая текущий рабочий каталог, для загрузки библиотеки. Это может быть проблемой безопасности для некоторых приложений, приводящей к захвату DLL-библиотек.
CA5393: не используйте небезопасное значение DllImportSearchPath В поисковых каталогах DLL по умолчанию и каталогах сборок может быть вредоносная библиотека DLL. Кроме того, в зависимости от того, откуда выполняется приложение, в каталоге приложения может быть вредоносная библиотека DLL.
CA5394: не используйте небезопасную случайность Использование криптографически слабого генератора псевдослучайных чисел может позволить злоумышленнику предсказать, какое значение, чувствительное к безопасности, будет создано.
CA5395: Отсутствует атрибут HttpVerb для методов действий Все методы действий, которые создают, редактируют, удаляют или изменяют данные, необходимо защитить с помощью атрибута защиты от подделки запросов от атак на межсайтовую подделку запросов. Выполнение операции GET должно быть безопасной операцией, которая не имеет побочных эффектов и не изменяет сохраненные данные.
CA5396: задайте для HttpOnly значение true для HttpCookie В качестве меры многоуровневой защиты убедитесь, что конфиденциальные HTTP cookie помечены как HttpOnly. Это означает, что веб-браузеры должны запретить доступ к файлам cookie скриптов. Внедренные вредоносные скрипты являются общим способом кражи файлов cookie.
CA5397: не используйте устаревшие значения SslProtocols Протокол TLS обеспечивает безопасность обмена данными между компьютерами, чаще всего при помощи HTTPS. Более старые версии протокола TLS являются менее безопасными, чем TLS 1.2 и TLS 1.3 и, скорее всего, имеют новые уязвимости. Избегайте более старых версий протокола, чтобы свести к минимуму риск.
CA5398. Избегайте жестко закодированных значений SslProtocols Протокол Transport Layer Security (TLS) обеспечивает безопасность обмена данными между компьютерами, чаще всего с помощью протокола Hypertext Transfer Protocol Secure (HTTPS). Версии протокола TLS 1.0 и TLS 1.1 устарели, а TLS 1.2 и TLS 1.3 являются текущими. В будущем протокол TLS 1.2 и TLS 1.3 могут быть устаревшими. Чтобы обеспечить безопасность приложения, избегайте жесткой кодировки версии протокола.
CA5399: Обязательно отключите проверку списка отзыва сертификатов в HttpClient Отмененный сертификат больше не является доверенным. Его могут использовать злоумышленники, передав некоторые вредоносные данные или кражу конфиденциальных данных в обмен данными HTTPS.
CA5400: убедитесь, что проверка списка отзыва сертификатов HttpClient не отключена Отмененный сертификат больше не является доверенным. Его могут использовать злоумышленники, передав некоторые вредоносные данные или кражу конфиденциальных данных в обмен данными HTTPS.
CA5401: не используйте "CreateEncryptor" с нестандартным IV Симметричное шифрование всегда должно использовать не повторяющийся вектор инициализации, чтобы предотвратить атаки словаря.
CA5402: используйте CreateEncryptor с по умолчанию Симметричное шифрование всегда должно использовать не повторяющийся вектор инициализации, чтобы предотвратить атаки словаря.
CA5403: не хардкодьте сертификат Параметр data или rawData конструктора X509Certificate или X509Certificate2 жестко закодирован.
CA5404: не отключайте проверки маркеров TokenValidationParameters свойства, которые управляют проверкой токенов, не должны устанавливаться в false.
CA5405: не следует всегда пропускать проверку токенов в делегатах Обратный вызов, назначенный AudienceValidator или LifetimeValidator, всегда возвращает true.