Share via


Säkerhetsregler

Säkerhetsregler stöder säkrare bibliotek och program. Dessa regler hjälper till att förhindra säkerhetsbrister i ditt program. Om du inaktiverar någon av dessa regler bör du tydligt markera orsaken i koden och även informera den utsedda säkerhetsansvarige för ditt utvecklingsprojekt.

I detta avsnitt

Regel beskrivning
CA2100: Granska SQL-frågor om säkerhetsrisker En metod anger egenskapen System.Data.IDbCommand.CommandText med hjälp av en sträng som har skapats från ett strängargument till metoden. Den här regeln förutsätter att strängargumentet innehåller användarindata. En SQL-kommandosträng som skapats från användarindata är sårbar för SQL-inmatningsattacker.
CA2109: Granska synliga händelsehanterare En offentlig eller skyddad händelsehanteringsmetod har identifierats. Händelsehanteringsmetoder bör inte exponeras om det inte är absolut nödvändigt.
CA2119: Tätningsmetoder som uppfyller privata gränssnitt En ärverbar offentlig typ ger en övergripande metodimplementering av ett internt gränssnitt (Vän i Visual Basic). Om du vill åtgärda en överträdelse av den här regeln förhindrar du att metoden åsidosättas utanför sammansättningen.
CA2153: Undvik hantering av skadade tillståndsfel Skadade tillståndsfel (CSE) indikerar att minnesskada finns i din process. Att fånga dessa i stället för att låta processen krascha kan leda till säkerhetsrisker om en angripare kan placera en exploatering i den skadade minnesregionen.
CA2300: Använd inte osäker deserializer BinaryFormatter Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2301: Anropa inte BinaryFormatter.Deserialize utan att först ange BinaryFormatter.Binder Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2302: Kontrollera att BinaryFormatter.Binder har angetts innan du anropar BinaryFormatter.Deserialize Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2305: Använd inte osäker deserializer LosFormatter Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2310: Använd inte osäker deserializer NetDataContractSerializer Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2311: Deserialisera inte utan att först ange NetDataContractSerializer.Binder Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2312: Kontrollera att NetDataContractSerializer.Binder har angetts innan deserialisering Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2315: Använd inte osäker deserializer ObjectStateFormatter Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2321: Deserialisera inte med JavaScriptSerializer med hjälp av en SimpleTypeResolver Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2322: Kontrollera att JavaScriptSerializer inte initieras med SimpleTypeResolver innan deserialisering Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2326: Använd inte andra TypeNameHandling-värden än Ingen Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2327: Använd inte osäker JsonSerializer Inställningar Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2328: Kontrollera att JsonSerializer Inställningar är säkra Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2329: Deserialisera inte med JsonSerializer med en osäker konfiguration Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2330: Kontrollera att JsonSerializer har en säker konfiguration vid deserialisering Osäkra deserialiserare är sårbara när deserialisera ej betrodda data. En angripare kan ändra serialiserade data så att de innehåller oväntade typer för att mata in objekt med skadliga biverkningar.
CA2350: Se till att DataTable.ReadXml()-indata är betrodda När en angripare deserialiserar en DataTable med ej betrodda indata kan den skapa skadliga indata för att utföra en överbelastningsattack. Det kan finnas okända sårbarheter för fjärrkörning av kod.
CA2351: Se till att DataSet.ReadXml()-indata är betrodda När en angripare deserialiserar en DataSet med ej betrodda indata kan den skapa skadliga indata för att utföra en överbelastningsattack. Det kan finnas okända sårbarheter för fjärrkörning av kod.
CA2352: Osäkra datauppsättningar eller datatabeller i serialiserbar typ kan vara sårbara för fjärranslutna kodkörningsattacker En klass eller struct markerad med SerializableAttribute innehåller ett fält eller DataTable en DataSet egenskap och har GeneratedCodeAttributeingen .
CA2353: Osäker datauppsättning eller DataTable i serialiserbar typ En klass eller struct markerad med ett XML-serialiseringsattribut eller ett datakontraktsattribut innehåller ett fält eller DataTable en DataSet egenskap.
CA2354: Osäkra datauppsättningar eller datatabeller i deserialiserat objektdiagram kan vara sårbara för fjärrkörning av kod Deserialisera med en System.Runtime.Serialization.IFormatter serialiserad och objektdiagrammet för den gjutna typen kan innehålla en DataSet eller DataTable.
CA2355: Osäker datauppsättning eller datatabell i deserialiserat objektdiagram Deserialisering när den gjutna eller angivna typens objektdiagram kan innehålla en DataSet eller DataTable.
CA2356: Osäker datauppsättning eller datatabell i webbdeserialiserat objektdiagram En metod med en System.Web.Services.WebMethodAttribute eller System.ServiceModel.OperationContractAttribute har en parameter som kan referera till en DataSet eller DataTable.
CA2361: Se till att den automatiskt genererade klassen som innehåller DataSet.ReadXml() inte används med ej betrodda data När en angripare deserialiserar en DataSet med ej betrodda indata kan den skapa skadliga indata för att utföra en överbelastningsattack. Det kan finnas okända sårbarheter för fjärrkörning av kod.
CA2362: Osäkra datauppsättningar eller datatabeller i autogenererad serialiserbar typ kan vara sårbara för fjärranslutna kodkörningsattacker När deserializing untrusted input with BinaryFormatter and the deserialized object graph contains a DataSet eller DataTable, kan en angripare skapa en skadlig nyttolast för att utföra en fjärrkodkörningsattack.
CA3001: Granska koden för sårbarheter vid SQL-inmatning När du arbetar med ej betrodda indata och SQL-kommandon bör du tänka på SQL-inmatningsattacker. En SQL-inmatningsattack kan köra skadliga SQL-kommandon, vilket äventyrar programmets säkerhet och integritet.
CA3002: Granska koden för XSS-sårbarheter När du arbetar med ej betrodda indata från webbbegäranden bör du tänka på XSS-attacker (cross-site scripting). En XSS-attack matar in obetrodda indata i råa HTML-utdata, vilket gör att angriparen kan köra skadliga skript eller ändra innehåll på webbsidan på ett skadligt sätt.
CA3003: Granska koden för sårbarheter för filsökvägsinmatning När du arbetar med ej betrodda indata från webbbegäranden bör du tänka på att använda användarkontrollerade indata när du anger sökvägar till filer.
CA3004: Granska koden för sårbarheter för informationsutlämnande Att avslöja undantagsinformation ger angripare insikt i det interna i ditt program, vilket kan hjälpa angripare att hitta andra sårbarheter att utnyttja.
CA3006: Granska koden för sårbarheter för processkommandoinmatning När du arbetar med ej betrodda indata bör du tänka på kommandoinmatningsattacker. En kommandoinmatningsattack kan köra skadliga kommandon på det underliggande operativsystemet, vilket äventyrar serverns säkerhet och integritet.
CA3007: Granska koden för sårbarheter med öppen omdirigering När du arbetar med ej betrodda indata bör du tänka på sårbarheter med öppen omdirigering. En angripare kan utnyttja en öppen omdirigeringsrisk för att använda din webbplats för att ge utseendet på en legitim URL, men omdirigera en intet ont anande besökare till en nätfiskewebbplats eller en annan skadlig webbsida.
CA3008: Granska koden för XPath-inmatningssårbarheter När du arbetar med ej betrodda indata bör du vara medveten om XPath-inmatningsattacker. Om du skapar XPath-frågor med ej betrodda indata kan en angripare manipulera frågan på ett skadligt sätt för att returnera ett oavsiktligt resultat och eventuellt avslöja innehållet i den efterfrågade XML-koden.
CA3009: Granska koden för sårbarheter vid XML-inmatning När du arbetar med ej betrodda indata bör du tänka på XML-inmatningsattacker.
CA3010: Granska koden för XAML-inmatningssårbarheter När du arbetar med ej betrodda indata bör du tänka på XAML-inmatningsattacker. XAML är ett markeringsspråk som direkt representerar instansiering och körning av objekt. Det innebär att element som skapas i XAML kan interagera med systemresurser (till exempel nätverksåtkomst och filsystems-I/O).
CA3011: Granska koden för säkerhetsproblem med DLL-inmatning När du arbetar med ej betrodda indata bör du tänka på att läsa in kod som inte är betrodd. Om ditt webbprogram läser in obetrodd kod kan en angripare kanske mata in skadliga DLL:er i processen och köra skadlig kod.
CA3012: Granska koden för sårbarheter vid regex-inmatning När du arbetar med ej betrodda indata bör du tänka på regex-inmatningsattacker. En angripare kan använda regex-inmatning för att ändra ett reguljärt uttryck på ett skadligt sätt, för att få regex att matcha oavsiktliga resultat eller för att göra regex-användningen överdriven CPU som resulterar i en Denial of Service-attack.
CA3061: Lägg inte till schema efter URL Använd inte den osäkra överlagringen av metoden Lägg till eftersom den kan orsaka farliga externa referenser.
CA3075: Osäker DTD-bearbetning Om du använder osäkra DTDProcessing-instanser eller refererar till externa entitetskällor kan parsern acceptera ej betrodda indata och lämna ut känslig information till angripare.
CA3076: Osäker XSLT-skriptkörning Om du kör XSLT (Extensible StyleSheet Language Transformations) i .NET-program på ett osäkert sätt kan processorn lösa obetrodda URI-referenser som kan avslöja känslig information för angripare, vilket leder till Denial of Service- och Cross-Site-attacker.
CA3077: Osäker bearbetning i API-design, XML-dokument och XML-textläsare När du utformar ett API som härletts från XMLDocument och XMLTextReader bör du tänka på DtdProcessing. Om du använder osäkra DTDProcessing-instanser när du refererar till eller löser externa entitetskällor eller anger osäkra värden i XML kan det leda till att information avslöjas.
CA3147: Markera verbhanterare med ValidateAntiForgeryToken När du utformar en ASP.NET MVC-styrenhet bör du tänka på förfalskningsattacker mellan webbplatser. En förfalskningsattack mellan webbplatser kan skicka skadliga begäranden från en autentiserad användare till din ASP.NET MVC-styrenhet.
CA5350: Använd inte svaga kryptografiska algoritmer Svaga krypteringsalgoritmer och hashfunktioner används idag av ett antal skäl, men de bör inte användas för att garantera konfidentialiteten eller integriteten för de data som de skyddar. Den här regeln utlöses när den hittar TripleDES-, SHA1- eller RIPEMD160-algoritmer i koden.
CA5351: Använd inte brutna kryptografiska algoritmer Brutna kryptografiska algoritmer anses inte vara säkra och deras användning bör starkt avskräckas. Den här regeln utlöses när den hittar MD5-hashalgoritmen eller antingen DES- eller RC2-krypteringsalgoritmerna i koden.
CA5358: Använd inte osäkra chifferlägen Använd inte osäkra chifferlägen
CA5359: Inaktivera inte certifikatverifiering Ett certifikat kan hjälpa dig att autentisera serverns identitet. Klienter bör verifiera servercertifikatet för att säkerställa att begäranden skickas till den avsedda servern. Om ServerCertificateValidationCallback alltid returnerar godkänns truevalideringen av alla certifikat.
CA5360: Anropa inte farliga metoder vid deserialisering Osäker deserialisering är en säkerhetsrisk som uppstår när obetrodda data används för att missbruka logiken i ett program, orsaka en DoS-attack (Denial-of-Service) eller till och med köra godtycklig kod när den deserialiseras. Det är ofta möjligt för skadliga användare att missbruka dessa deserialiseringsfunktioner när programmet deserialiserar ej betrodda data som är under deras kontroll. Mer specifikt anropar du farliga metoder i processen för deserialisering. Lyckade osäkra deserialiseringsattacker kan göra det möjligt för en angripare att utföra attacker som DoS-attacker, förbikoppling av autentisering och körning av fjärrkod.
CA5361: Inaktivera inte SChannel-användning av stark kryptografi Inställningen Switch.System.Net.DontEnableSchUseStrongCrypto för att true försvaga kryptografi som används i utgående TLS-anslutningar (Transport Layer Security). Svagare kryptografi kan äventyra konfidentialiteten för kommunikationen mellan ditt program och servern, vilket gör det lättare för angripare att tjuvlyssna känsliga data.
CA5362: Potentiell referenscykel i deserialiserat objektdiagram Om deserialisera ej betrodda data måste all kod som bearbetar det deserialiserade objektdiagrammet hantera referenscykler utan att gå in i oändliga loopar. Detta inkluderar både kod som ingår i ett återanrop till deserialisering och kod som bearbetar objektdiagrammet när deserialiseringen har slutförts. Annars kan en angripare utföra en Överbelastningsattack med skadliga data som innehåller en referenscykel.
CA5363: Inaktivera inte validering av begäran Validering av begäranden är en funktion i ASP.NET som undersöker HTTP-begäranden och avgör om de innehåller potentiellt farligt innehåll som kan leda till inmatningsattacker, inklusive skript mellan webbplatser.
CA5364: Använd inte inaktuella säkerhetsprotokoll Transport Layer Security (TLS) skyddar kommunikationen mellan datorer, oftast med Hypertext Transfer Protocol Secure (HTTPS). Äldre protokollversioner av TLS är mindre säkra än TLS 1.2 och TLS 1.3 och är mer benägna att ha nya säkerhetsrisker. Undvik äldre protokollversioner för att minimera risken.
CA5365: Inaktivera inte HTTP-rubrikkontroll HTTP-rubrikkontroll möjliggör kodning av vagnreturen och nya radtecken, \r och \n, som finns i svarshuvuden. Den här kodningen kan bidra till att undvika inmatningsattacker som utnyttjar ett program som ekar ej betrodda data som ingår i rubriken.
CA5366: Använda XmlReader för datauppsättningens läs-XML Om du använder en DataSet för att läsa XML med ej betrodda data kan farliga externa referenser läsas in, vilket bör begränsas med hjälp av en XmlReader med en säker lösning eller med DTD-bearbetning inaktiverad.
CA5367: Serialisera inte typer med pekarfält Den här regeln kontrollerar om det finns en serialiserbar klass med ett pekarfält eller en egenskap. Medlemmar som inte kan serialiseras kan vara en pekare, till exempel statiska medlemmar eller fält markerade med NonSerializedAttribute.
CA5368: Ange ViewStateUserKey för klasser som härleds från sidan ViewStateUserKey Om du anger egenskapen kan du förhindra attacker mot ditt program genom att låta dig tilldela en identifierare till visningstillståndsvariabeln för enskilda användare så att angripare inte kan använda variabeln för att generera en attack. Annars kommer det att finnas säkerhetsrisker för förfalskning av begäranden mellan webbplatser.
CA5369: Använda XmlReader för Deserialize Bearbetning av obetrodda DTD- och XML-scheman kan göra det möjligt att läsa in farliga externa referenser, vilket bör begränsas med hjälp av en XmlReader med en säker lösning eller med DTD- och XML-infogad schemabearbetning inaktiverad.
CA5370: Använd XmlReader för att validera läsare Bearbetning av obetrodda DTD- och XML-scheman kan möjliggöra inläsning av farliga externa referenser. Den här farliga inläsningen kan begränsas med hjälp av en XmlReader med en säker lösning eller med DTD- och XML-infogad schemabearbetning inaktiverad.
CA5371: Använd XmlReader för schemaläsning Bearbetning av obetrodda DTD- och XML-scheman kan möjliggöra inläsning av farliga externa referenser. Om du använder en XmlReader med en säker lösning eller med DTD- och XML-inline-schemabearbetning inaktiverad begränsas detta.
CA5372: Använda XmlReader för XPathDocument Bearbetning av XML från ej betrodda data kan läsa in farliga externa referenser, som kan begränsas med hjälp av en XmlReader med en säker lösning eller med DTD-bearbetning inaktiverad.
CA5373: Använd inte föråldrad nyckelhärledningsfunktion Den här regeln identifierar anrop av svaga nyckelhärledningsmetoder System.Security.Cryptography.PasswordDeriveBytes och Rfc2898DeriveBytes.CryptDeriveKey. System.Security.Cryptography.PasswordDeriveBytes använde en svag algoritm PBKDF1.
CA5374: Använd inte XslTransform Den här regeln kontrollerar om System.Xml.Xsl.XslTransform instansieras i koden. System.Xml.Xsl.XslTransform är nu föråldrad och bör inte användas.
CA5375: Använd inte signatur för delad åtkomst för kontot Ett KONTO-SAS kan delegera åtkomst till läs-, skriv- och borttagningsåtgärder på blobcontainrar, tabeller, köer och filresurser som inte tillåts med en tjänst-SAS. Den stöder dock inte principer på containernivå och har mindre flexibilitet och kontroll över de behörigheter som beviljas. När skadliga användare får det kommer ditt lagringskonto att komprometteras enkelt.
CA5376: Använd SharedAccessProtocol HttpsOnly SAS är känsliga data som inte kan transporteras i oformaterad text på HTTP.
CA5377: Använd åtkomstprincip på containernivå En åtkomstprincip på containernivå kan ändras eller återkallas när som helst. Det ger större flexibilitet och kontroll över de behörigheter som beviljas.
CA5378: Inaktivera inte ServicePointManagerSecurityProtocols Inställning DisableUsingServicePointManagerSecurityProtocols för att true begränsa TLS-anslutningar (WCF) TLS (Transport Layer Security) till att använda TLS 1.0. Den versionen av TLS kommer att vara inaktuell.
CA5379: Se till att algoritmen för nyckelhärledningsfunktionen är tillräckligt stark Klassen Rfc2898DeriveBytes använder som standard algoritmen SHA1 . Du bör ange den hash-algoritm som ska användas i vissa överlagringar av konstruktorn med SHA256 eller högre. Observera att HashAlgorithm egenskapen bara har en get accessor och inte har någon overridden modifierare.
CA5380: Lägg inte till certifikat i rotarkivet Den här regeln identifierar kod som lägger till ett certifikat i certifikatarkivet Betrodda rotcertifikatutfärdare. Som standard konfigureras certifikatarkivet Betrodda rotcertifikatutfärdare med en uppsättning offentliga certifikatutfärdare som uppfyller kraven i Microsoft Root Certificate Program.
CA5381: Kontrollera att certifikat inte läggs till i rotarkivet Den här regeln identifierar kod som potentiellt lägger till ett certifikat i certifikatarkivet Betrodda rotcertifikatutfärdare. Som standard konfigureras certifikatarkivet betrodda rotcertifikatutfärdare med en uppsättning offentliga certifikatutfärdare som uppfyller kraven i Microsoft Root Certificate Program.
CA5382: Använda säkra cookies i ASP.NET Core Program som är tillgängliga via HTTPS måste använda säkra cookies, vilket anger för webbläsaren att cookien endast ska överföras med Transport Layer Security (TLS).
CA5383: Se till att använda säkra cookies i ASP.NET Core Program som är tillgängliga via HTTPS måste använda säkra cookies, vilket anger för webbläsaren att cookien endast ska överföras med Transport Layer Security (TLS).
CA5384: Använd inte algoritmen för digital signatur (DSA) DSA är en svag asymmetrisk krypteringsalgoritm.
CA5385: Använd algoritmen Rivest–Shamir–Adleman (RSA) med tillräcklig nyckelstorlek En RSA-nyckel som är mindre än 2 048 bitar är mer sårbar för råstyrkeattacker.
CA5386: Undvik hårdkodning av SecurityProtocolType-värde Transport Layer Security (TLS) skyddar kommunikationen mellan datorer, oftast med Hypertext Transfer Protocol Secure (HTTPS). Protokollversionerna TLS 1.0 och TLS 1.1 är inaktuella, medan TLS 1.2 och TLS 1.3 är aktuella. I framtiden kan TLS 1.2 och TLS 1.3 vara inaktuella. Undvik att hårdkoda en protokollversion och rikta in dig på minst .NET Framework v4.7.1 för att säkerställa att programmet förblir säkert.
CA5387: Använd inte funktionen för svag nyckelhärledning med otillräckligt iterationsantal Den här regeln kontrollerar om en kryptografisk nyckel genererades av Rfc2898DeriveBytes med ett iterationsantal på mindre än 100 000. Ett högre iterationsantal kan bidra till att minska risken för ordlisteattacker som försöker gissa den genererade kryptografiska nyckeln.
CA5388: Se till att det finns tillräckligt med iterationsantal vid användning av svag nyckelhärledningsfunktion Den här regeln kontrollerar om en kryptografisk nyckel genererades av Rfc2898DeriveBytes med ett iterationsantal som kan vara mindre än 100 000. Ett högre iterationsantal kan bidra till att minska risken för ordlisteattacker som försöker gissa den genererade kryptografiska nyckeln.
CA5389: Lägg inte till arkivobjektets sökväg till målfilens systemsökväg Filsökvägen kan vara relativ och kan leda till filsystemåtkomst utanför den förväntade målsökvägen för filsystemet, vilket leder till skadliga konfigurationsändringar och fjärrkodkörning via lay-and-wait-teknik.
CA5390: Hårdkoda inte krypteringsnyckeln För att en symmetrisk algoritm ska lyckas måste den hemliga nyckeln endast vara känd för avsändaren och mottagaren. När en nyckel är hårdkodad identifieras den enkelt. Även med kompilerade binärfiler är det enkelt för skadliga användare att extrahera den. När den privata nyckeln har komprometterats kan chiffertexten dekrypteras direkt och skyddas inte längre.
CA5391: Använda antiforgery-token i ASP.NET Core MVC-styrenheter Hantering av en POST, PUT, PATCHeller DELETE begäran utan att verifiera en antiforgery-token kan vara sårbart för förfalskningsattacker mellan webbplatser. En förfalskningsattack mellan webbplatser kan skicka skadliga begäranden från en autentiserad användare till din ASP.NET Core MVC-styrenhet.
CA5392: Använd attributet DefaultDllImportSearchPaths för P/Invokes P/Invoke-funktioner använder DllImportAttribute som standard avsökning av ett antal kataloger, inklusive den aktuella arbetskatalogen som biblioteket ska läsa in. Detta kan vara ett säkerhetsproblem för vissa program, vilket leder till DLL-kapning.
CA5393: Använd inte osäkert DllImportSearchPath-värde Det kan finnas en skadlig DLL i standardkatalogerna för DLL-sökning och sammansättningskataloger. Eller, beroende på var ditt program körs från, kan det finnas en skadlig DLL i programmets katalog.
CA5394: Använd inte osäker slumpmässighet Om du använder en kryptografiskt svag pseudo-slumptalsgenerator kan en angripare förutsäga vilket säkerhetskänsligt värde som ska genereras.
CA5395: Miss HttpVerb-attribut för åtgärdsmetoder Alla åtgärdsmetoder som skapar, redigerar, tar bort eller på annat sätt ändrar data måste skyddas med antiforgery-attributet från förfalskningsattacker mellan webbplatser. Att utföra en GET-åtgärd bör vara en säker åtgärd som inte har några biverkningar och inte ändrar dina bevarade data.
CA5396: Ange HttpOnly till true för HttpCookie Som ett djupskyddsmått kontrollerar du att säkerhetskänsliga HTTP-cookies är markerade som HttpOnly. Detta indikerar att webbläsare inte bör tillåta skript från att komma åt cookies. Inmatade skadliga skript är ett vanligt sätt att stjäla cookies.
CA5397: Använd inte inaktuella SslProtocols-värden Transport Layer Security (TLS) skyddar kommunikationen mellan datorer, oftast med Hypertext Transfer Protocol Secure (HTTPS). Äldre protokollversioner av TLS är mindre säkra än TLS 1.2 och TLS 1.3 och är mer benägna att ha nya säkerhetsrisker. Undvik äldre protokollversioner för att minimera risken.
CA5398: Undvik hårdkodade SslProtocols-värden Transport Layer Security (TLS) skyddar kommunikationen mellan datorer, oftast med Hypertext Transfer Protocol Secure (HTTPS). Protokollversionerna TLS 1.0 och TLS 1.1 är inaktuella, medan TLS 1.2 och TLS 1.3 är aktuella. I framtiden kan TLS 1.2 och TLS 1.3 vara inaktuella. Undvik att hårdkoda en protokollversion för att säkerställa att programmet förblir säkert.
CA5399: Inaktivera definitivt kontrollen av listan över återkallade HttpClient-certifikat Ett återkallat certifikat är inte längre betrott. Det kan användas av angripare som skickar vissa skadliga data eller stjäl känsliga data i HTTPS-kommunikation.
CA5400: Kontrollera att kontrollen av listan över återkallade HttpClient-certifikat inte är inaktiverad Ett återkallat certifikat är inte längre betrott. Det kan användas av angripare som skickar vissa skadliga data eller stjäl känsliga data i HTTPS-kommunikation.
CA5401: Använd inte CreateEncryptor med icke-standard IV Symmetrisk kryptering bör alltid använda en icke-repeterbar initieringsvektor för att förhindra ordlisteattacker.
CA5402: Använd CreateEncryptor med standard-IV Symmetrisk kryptering bör alltid använda en icke-repeterbar initieringsvektor för att förhindra ordlisteattacker.
CA5403: Hårdkoda inte certifikat Parametern data eller rawData för en X509Certificate konstruktor X509Certificate2 är hårdkodad.
CA5404: Inaktivera inte tokenverifieringskontroller TokenValidationParameters egenskaper som styr tokenverifiering bör inte anges till false.
CA5405: Hoppa inte alltid över tokenverifiering i ombud Återanropet som tilldelats till AudienceValidator eller LifetimeValidator returnerar truealltid .