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


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

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

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

Правило Description
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: не используйте небезопасный jsonSerializer Параметры Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные и включить в них непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
CA2328: убедитесь, что jsonSerializer Параметры защищены Небезопасные десериализаторы уязвимы при десериализации ненадежных данных. Злоумышленник может изменить сериализованные данные и включить в них непредвиденные типы для внедрения объектов с вредоносными побочными эффектами.
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: ненадежные данные DataSet или 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 Используя ненадежные входные данные, учитывайте вероятность атак путем внедрения кода XML. XAML — это язык разметки, непосредственно представляющий создание и выполнение объекта. Это означает, что элементы, созданные в XAML, могут взаимодействовать с системными ресурсами (например, сетевым доступом и операциями ввода-вывода файловой системы).
CA3011: проверка кода уязвимостей внедрения библиотеки DLL При работе с ненадежными входными данными следует учитывать возможность загрузки недоверенного кода. Если веб-приложение загружает недоверенный код, злоумышленник может внедрить вредоносные библиотеки DLL в процесс и выполнить вредоносный код.
CA3012: проверка кода для уязвимостей внедрения regex При работе с ненадежными входными данными следует учитывать вероятность атак путем внедрения кода в регулярные выражения. Злоумышленник может использовать внедрение кода в регулярное выражение для злонамеренных изменений, например чтобы регулярное выражение возвращало некорректные результаты или использовало чрезмерное количество ресурсов ЦП для создания атаки типа "отказ в обслуживании".
CA3061: не добавляйте схему по URL-адресу Не используйте небезопасную перегрузку метода Add, так как она может вызвать опасные внешние ссылки.
CA3075: обработка небезопасных DTD Если вы используете небезопасные экземпляры DTDProcessing или ссылаетесь на источники внешних сущностей, средство синтаксического анализа может принять недоверенные входные данные и раскрыть конфиденциальную информацию злоумышленникам.
CA3076: выполнение небезопасного скрипта XSLT При небезопасном выполнении XSLT в приложениях .NET обработчик может разрешить недоверенные ссылки URI, раскрывающие конфиденциальную информацию злоумышленникам, что приведет к атакам типа "отказ в обслуживании" и межсайтовым атакам.
CA3077: небезопасная обработка в структуре API средств чтения документов и текста XML При разработке API, производных от XMLDocument и XMLTextReader, обратите внимание на DtdProcessing. Использование небезопасных экземпляров DTDProcessing при ссылке на источники внешних сущностей или их разрешении, а также при задании небезопасных значений в XML может привести к раскрытию информации.
CA3147: пометьте обработчики команд с помощью ValidateAntiForgeryToken При разработке контроллера MVC ASP.NET следует учитывать атаки с подделкой межсайтовых запросов (CSRF). Атака с использованием подделки межсайтовых запросов позволяет отправлять вредоносные запросы от пользователя, прошедшего проверку подлинности, в контроллер MVC ASP.NET.
CA5350: не используйте ненадежные алгоритмы шифрования Ненадежные алгоритмы шифрования и функции хэширования еще используются сегодня по ряду причин, но они не должны использоваться для обеспечения конфиденциальности или целостности данных, которые они защищают. Это правило срабатывает при обнаружении в коде алгоритмов TripleDES, SHA1 или RIPEMD160.
CA5351: не используйте ослабленные алгоритмы шифрования Ослабленные алгоритмы шифрования не считаются безопасными, и их использование настоятельно не рекомендуется. Это правило срабатывает при обнаружении в коде хэш-алгоритма MD5 или алгоритмов шифрования RC2 или DES.
CA5358: не используйте небезопасные режимы шифров Не используйте небезопасные режимы шифрования
CA5359: не отключайте проверку сертификата Сертификат может помочь при проверке подлинности удостоверения сервера. Клиенты должны проверить сертификат сервера, чтобы обеспечить отправку запросов на нужный сервер. Если ServerCertificateValidationCallback всегда возвращает значение true, любой сертификат будет проходить проверку.
CA5360: не вызывайте опасные методы в десериализации Небезопасная десериализация — это уязвимость, которая возникает, когда недоверенные данные используются для нарушения логики приложения, проведения атаки типа "отказ в обслуживании" или даже для выполнения произвольного кода после десериализации. Злоумышленники часто могут злоупотреблять этими функциями десериализации, когда приложение десериализует недоверенные данные, которые находятся под контролем злоумышленников. В частности, они могут вызывать опасные методы в процессе десериализации. Успешные атаки небезопасной десериализации могут позволить злоумышленнику выполнять такие действия, как атаки типа "отказ в обслуживании", обходы проверки подлинности и удаленное выполнение кода.
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 для чтения XML с ненадежными данными может привести к загрузке опасных внешних ссылок, что следует ограничить, используя XmlReader с безопасным сопоставителем или отключив обработку DTD.
CA5367: не сериализуйте типы с полями указателя Это правило проверяет, существует ли сериализуемый класс с полем указателя или свойством. Элементы, которые не могут быть сериализованы, могут быть указателями, такими как статические члены или поля, помеченные атрибутом NonSerializedAttribute.
CA5368: настройка ViewStateUserKey для классов, производных от страницы Установка свойства ViewStateUserKey поможет предотвратить атаки на приложение, позволяя назначить идентификатор переменной состояния представления для отдельных пользователей, чтобы злоумышленники не могли использовать эту переменную для создания атаки. В противном случае будут обнаружены уязвимости для подделки межсайтовых запросов.
CA5369: использование XmlReader для десериализации Обработка недоверенных DTD и схем XML может разрешить загрузку опасных внешних ссылок, которые должны быть ограничены с помощью XmlReader с безопасным распознавателем или с отключенной обработкой DTD и встроенных схем DTD.
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: не используйте подписанный URL-адрес учетной записи Подписанный URL-адрес (SAS) учетной записи может делегировать доступ к операциям чтения, записи и удаления в контейнерах больших двоичных объектов, таблицах, очередях и общих папках, которые запрещены в SAS службы. Однако он не поддерживает политики уровня контейнеров и обладает меньшей гибкостью и уровнем контроля предоставленных разрешений. Если злоумышленники его получат, они смогут с легкостью взломать вашу учетную запись хранения.
CA5376: использование SharedAccessProtocol HttpsOnly SAS — это конфиденциальные данные, которые нельзя передавать в виде обычного текста по протоколу HTTP.
CA5377: использование политики доступа на уровне контейнера Политику доступа на уровне контейнера можно изменить или отозвать в любое время. Она обеспечивает большую гибкость и контроль над предоставляемыми разрешениями.
CA5378: не отключайте ServicePointManagerSecurityProtocols Задание для DisableUsingServicePointManagerSecurityProtocols значения true разрешает использовать только протокол TLS 1.0 в Windows Communication Framework. Эта версия 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: использование маркеров защиты от подделки в контроллерах MVC ASP.NET Core Обработка запроса POST, PUT, PATCH или DELETE без проверки маркера для защиты от подделки может стать уязвимой для атак с использованием подделки межсайтовых запросов. Атака с использованием подделки межсайтовых запросов позволяет отправлять вредоносные запросы от пользователя, прошедшего проверку подлинности, в контроллер MVC ASP.NET Core.
CA5392: использование атрибута DefaultDllImportSearchPaths для P/Invokes По умолчанию функции P/Invoke используют пробу DllImportAttribute нескольких каталогов, включая текущий рабочий каталог для загрузки библиотеки. Это может быть проблемой безопасности для некоторых приложений, приводящей к перехвату библиотеки DLL.
CA5393: не используйте небезопасное значение DllImportSearchPath В каталогах поиска DLL по умолчанию и каталогах сборок может находиться вредоносная библиотека DLL. Или в зависимости от того, откуда запускается приложение, в каталоге приложения может быть вредоносная библиотека DLL.
CA5394: не используйте небезопасную случайность Использование криптографически слабого генератора случайных чисел может позволить злоумышленнику предсказать, какое чувствительное к безопасности значение будет создано.
CA5395: атрибут Miss HttpVerb для методов действий Все методы действий, которые создают, изменяют, удаляют или иным образом модифицируют данные, должны быть защищены с помощью атрибута защиты от подделки межсайтовых запросов. Операция GET должна выполняться безопасным способом, то есть не иметь побочных эффектов и не изменять существующие данные.
CA5396: задайте для HttpOnly значение true для HttpCookie Для обеспечения глубокого уровня защиты HTTP-файлы cookie, чувствительные к безопасности, должны быть помечены как HttpOnly. Это означает, что веб-браузеры должны запрещать скриптам доступ к файлам cookie. Внедренные скрипты являются распространенным способом кражи файлов cookie.
CA5397: не используйте устаревшие значения SslProtocols Протокол TLS обеспечивает безопасность взаимодействия между компьютерами, чаще всего с помощью протокола HTTPS. Более ранние версии протокола TLS менее безопасны, чем TLS 1.2 и TLS 1.3, и, скорее всего, будут подвержены новым уязвимостям. Избегайте использования более ранних версий протокола, чтобы снизить риск.
CA5398: избегайте жестко закодированных значений SslProtocols Протокол TLS обеспечивает безопасность взаимодействия между компьютерами, чаще всего с помощью протокола 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 со значением по умолчанию IV Для предотвращения атак перебором по словарю в симметричном шифровании всегда нужно использовать невоспроизводимый вектор инициализации.
CA5403: не удостоверяйте сертификат жесткого кода Параметр data или rawData конструктора X509Certificate или X509Certificate2 жестко задан.
CA5404: не отключать проверки токена Свойства TokenValidationParameters, управляющие проверкой токена, не должны иметь значение false.
CA5405: не пропускать проверку токена в делегатах во всех случаях Обратный вызов, назначенный AudienceValidator или LifetimeValidator всегда возвращается true.