Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A biztonsági szabályok támogatják a biztonságosabb kódtárakat és alkalmazásokat. Ezek a szabályok segítenek megelőzni a program biztonsági hibáit. Ha letiltja bármelyik szabályt, egyértelműen meg kell jelölnie az okot a kódban, és tájékoztatnia kell a fejlesztési projekthez kijelölt biztonsági tisztviselőt is.
Ebben a szakaszban
| Szabály | Leírás |
|---|---|
| CA2100: Sql-lekérdezések áttekintése biztonsági rések esetén | Egy metódus a System.Data.IDbCommand.CommandText tulajdonságot egy sztringargumentumból a metódusba épített sztring használatával állítja be. Ez a szabály feltételezi, hogy a sztring argumentum felhasználói bemenetet tartalmaz. A felhasználói bemenetből létrehozott SQL-parancssztring sebezhető az SQL-injektálási támadásokkal szemben. |
| CA2109: Látható eseménykezelők áttekintése | A rendszer nyilvános vagy védett eseménykezelési módszert észlelt. Az eseménykezelési módszereket csak akkor szabad felfedni, ha feltétlenül szükséges. |
| CA2119: Privát felületeknek megfelelő tömítési módszerek | Az örökölhető nyilvános típus egy belső (Barát a Visual Basicben) felület felülírható metódusát biztosítja. A szabály megsértésének kijavításához megakadályozza, hogy a metódus felül legyen bírálva a szerelvényen kívül. |
| CA2153: Sérült állapotú kivételek kezelésének elkerülése | A sérült állapotkivételek (CSE) azt jelzik, hogy a folyamatban memóriasérülés van jelen. Ha ezeket észleli ahelyett, hogy lehetővé tenné a folyamat összeomlását, biztonsági résekhez vezethet, ha a támadó biztonsági réseket helyezhet el a sérült memóriaterületen. |
| CA2300: Ne használjon nem biztonságos deszerializáló binárisformattert | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2301: Ne hívja meg a BinaryFormatter.Deserialize parancsot a BinaryFormatter.Binder első beállítása nélkül | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2302: Győződjön meg arról, hogy a BinaryFormatter.Binder be van állítva a BinaryFormatter.Deserialize hívása előtt | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2305: Ne használjon nem biztonságos deszerializáló LosFormatter | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2310: Ne használjon nem biztonságos deszerializáló NetDataContractSerializert | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2311: Ne deszerializáljon a NetDataContractSerializer.Binder első beállítása nélkül | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2312: Győződjön meg arról, hogy a NetDataContractSerializer.Binder be van állítva a deszerializálás előtt | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2315: Ne használjon nem biztonságos deszerializáló ObjectStateFormattert | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2321: Ne deszerializáljon JavaScriptSerializer használatával SimpleTypeResolver használatával | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2322: Győződjön meg arról, hogy a JavaScriptSerializer nincs inicializálva a SimpleTypeResolverrel a deszerializálás előtt | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2326: Ne használjon TypeNameHandling értékeket a None értéken kívül | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2327: Ne használjon nem biztonságos JsonSerializerSettings-t | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2328: Győződjön meg arról, hogy a JsonSerializerSettings biztonságos | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2329: Ne deszerializálja a JsonSerializert nem biztonságos konfiguráció használatával | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2330: Győződjön meg arról, hogy a JsonSerializer biztonságos konfigurációval rendelkezik a deszerializáláskor | A nem biztonságos deszerializálók sebezhetők a nem megbízható adatok deszerializálásakor. A támadó úgy módosíthatja a szerializált adatokat, hogy váratlan típusokat is tartalmazzon, hogy kártékony mellékhatásokkal rendelkező objektumokat injektáljon. |
| CA2350: Győződjön meg arról, hogy a DataTable.ReadXml() bemenete megbízható | A nem megbízható bemenettel rendelkező adatok deszerializálásakor DataTable a támadó rosszindulatú bemeneteket hozhat létre a szolgáltatásmegtagadásos támadás végrehajtásához. Előfordulhat, hogy ismeretlen távoli kódvégrehajtási biztonsági rések vannak. |
| CA2351: Győződjön meg arról, hogy a DataSet.ReadXml() bemenete megbízható | A nem megbízható bemenettel rendelkező adatok deszerializálásakor DataSet a támadó rosszindulatú bemeneteket hozhat létre a szolgáltatásmegtagadásos támadás végrehajtásához. Előfordulhat, hogy ismeretlen távoli kódvégrehajtási biztonsági rések vannak. |
| CA2352: A nem biztonságos adathalmaz vagy a szerializálható típusú DataTable sebezhető lehet a távoli kódvégrehajtási támadásokkal szemben | A megjelölt SerializableAttribute osztály vagy struktúra egy vagy több DataSet mezőt vagy DataTable tulajdonságot tartalmaz, és nem rendelkezik GeneratedCodeAttribute. |
| CA2353: Nem biztonságos dataSet vagy DataTable szerializálható típusban | Az XML-szerializálási attribútummal vagy adatszerződési attribútummal megjelölt osztály vagy szerkezet tartalmaz egy vagy DataSet több DataTable mezőt vagy tulajdonságot. |
| CA2354: A nem biztonságos dataSet vagy DataTable deszerializált objektumdiagramon sebezhető lehet a távoli kódvégrehajtási támadásokkal szemben | Szerializált deszerializálás System.Runtime.Serialization.IFormatter , és a leadott típus objektumdiagramja tartalmazhat egy DataSet vagy DataTable. |
| CA2355: Nem biztonságos adathalmaz vagy DataTable deszerializált objektumgráfban | Deszerializálás, ha a leadott vagy a megadott típus objektumgráfja tartalmazhat egy DataSet vagy DataTable. |
| CA2356: Nem biztonságos adathalmaz vagy adattábla a webes deszerializált objektumdiagramon | Egy metódus olyan System.Web.Services.WebMethodAttributeSystem.ServiceModel.OperationContractAttribute paraméterrel vagy paraméterrel rendelkezik, amely hivatkozhat egy DataSet vagy DataTable. |
| CA2361: Győződjön meg arról, hogy a DataSet.ReadXml() tulajdonságot tartalmazó automatikusan létrehozott osztály nem használható nem megbízható adatokkal | A nem megbízható bemenettel rendelkező adatok deszerializálásakor DataSet a támadó rosszindulatú bemeneteket hozhat létre a szolgáltatásmegtagadásos támadás végrehajtásához. Előfordulhat, hogy ismeretlen távoli kódvégrehajtási biztonsági rések vannak. |
| CA2362: A nem biztonságos adathalmaz vagy az automatikusan szerializálható típusú DataTable sebezhető lehet a távoli kódvégrehajtási támadásokkal szemben | Ha a nem megbízható bemenetet BinaryFormatter deszerializálja, és a deszerializált objektumdiagram tartalmaz egy DataSet vagy DataTable, a támadó rosszindulatú hasznos adatokat hozhat létre egy távoli kódvégrehajtási támadás végrehajtásához. |
| CA3001: Az SQL-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemeneti és SQL-parancsokkal dolgozik, ügyeljen az SQL-injektálási támadásokra. Az SQL-injektálási támadások rosszindulatú SQL-parancsokat hajthatnak végre, veszélyeztetve az alkalmazás biztonságát és integritását. |
| CA3002: Az XSS biztonsági réseinek kódjának áttekintése | A webes kérések nem megbízható bemeneteivel való munka során ügyeljen a helyek közötti szkriptelési (XSS-) támadásokra. Az XSS-támadások nem megbízható bemenetet injektálnak a nyers HTML-kimenetbe, így a támadó rosszindulatú szkripteket hajthat végre vagy rosszindulatúan módosíthatja a tartalmat a weblapon. |
| CA3003: Fájlútvonal-injektálási biztonsági rések kódjának áttekintése | A webes kérésekből származó nem megbízható bemenetek használatakor ügyeljen arra, hogy a fájlok elérési útjainak megadásakor felhasználó által vezérelt bemenetet használjon. |
| CA3004: Az információfeltárás biztonsági réseinek kódjának áttekintése | A kivételinformációk közzététele betekintést nyújt a támadóknak az alkalmazás belső elemeibe, ami segíthet a támadóknak a biztonsági rések kihasználásában. |
| CA3006: A folyamatparancs-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen a parancsinjektálási támadásokra. A parancsinjektálási támadások rosszindulatú parancsokat hajthatnak végre a mögöttes operációs rendszeren, ami veszélyezteti a kiszolgáló biztonságát és integritását. |
| CA3007: Nyílt átirányítási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen a nyílt átirányítási biztonsági résekre. A támadók kihasználhatják a nyílt átirányítási biztonsági rést, hogy a webhelyet használva valódi URL-címet jelentessenek meg, de a gyanútlan látogatót adathalász vagy más rosszindulatú weblapra irányíthatják át. |
| CA3008: XPath-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen az XPath-injektálási támadásokra. Az XPath-lekérdezések nem megbízható bemenettel történő létrehozása lehetővé teheti, hogy a támadó rosszindulatúan manipulálja a lekérdezést, hogy nem kívánt eredményt adjon vissza, és esetleg közzétehesse a lekérdezett XML tartalmát. |
| CA3009: Az XML-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen az XML-injektálási támadásokra. |
| CA3010: XAML-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen az XAML-injektálási támadásokra. Az XAML egy olyan korrektúranyelv, amely közvetlenül az objektumok példányosítását és végrehajtását jelöli. Ez azt jelenti, hogy az XAML-ben létrehozott elemek képesek együttműködni a rendszererőforrásokkal (például a hálózati hozzáféréssel és a fájlrendszer IO-jával). |
| CA3011: A DLL-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen a nem megbízható kód betöltésére. Ha a webalkalmazás nem megbízható kódot tölt be, a támadók rosszindulatú DLL-eket szúrhatnak be a folyamatba, és rosszindulatú kódot hajthatnak végre. |
| CA3012: Regex-injektálási biztonsági rések kódjának áttekintése | Ha nem megbízható bemenettel dolgozik, ügyeljen a regex injektálási támadásokra. A támadó regex-injektálással rosszindulatúan módosíthatja a regex-kifejezést, nem várt eredményeket érhet el, vagy hogy a regex túlzott processzorhasználatot használjon, ami szolgáltatásmegtagadási támadást eredményez. |
| CA3061: Ne adjon hozzá sémát URL-cím alapján | Ne használja az Add metódus nem biztonságos túlterhelését, mert veszélyes külső hivatkozásokat okozhat. |
| CA3075: Nem biztonságos DTD-feldolgozás | Ha nem biztonságos DTDProcessing-példányokat használ, vagy külső entitásforrásokra hivatkozik, az elemző elfogadhatja a nem megbízható bemeneteket, és bizalmas információkat tehet közzé a támadók számára. |
| CA3076: Nem biztonságos XSLT-szkript végrehajtása | Ha nem biztonságos módon hajtja végre az Extensible StyleSheet Language Transformations (XSLT) szolgáltatást a .NET-alkalmazásokban, a processzor feloldhatja a nem megbízható URI-hivatkozásokat, amelyek bizalmas információkat tehetnek közzé a támadók számára, ami szolgáltatásmegtagadáshoz és helyek közötti támadásokhoz vezethet. |
| CA3077: Nem biztonságos feldolgozás az API-tervezésben, az XML-dokumentum és az XML-szövegolvasóban | Ha XMLDocumentből és XMLTextReaderből származó API-t tervez, ügyeljen a DtdProcessingre. A nem biztonságos DTDProcessing-példányok használata külső entitásforrásokra való hivatkozáskor vagy feloldásakor, illetve az XML-ben nem biztonságos értékek beállításakor információ felfedéséhez vezethet. |
| CA3147: Igekezelők megjelölése az ValidateAntiForgeryToken használatával | ASP.NET MVC-vezérlő tervezésekor ügyeljen a helyek közötti hamisítási támadásokra. A helyek közötti hamisítási támadások rosszindulatú kéréseket küldhetnek egy hitelesített felhasználótól a ASP.NET MVC-vezérlőnek. |
| CA5350: Ne használjon gyenge titkosítási algoritmusokat | A gyenge titkosítási algoritmusokat és kivonatolási függvényeket ma számos okból használják, de nem használhatók a védett adatok bizalmasságának vagy integritásának garantálására. Ez a szabály akkor aktiválódik, ha tripleDES, SHA1 vagy RIPEMD160 algoritmusokat talál a kódban. |
| CA5351: Ne használjon hibás titkosítási algoritmusokat | A hibás titkosítási algoritmusok nem tekinthetők biztonságosnak, és használatukat erősen el kell kerülni. Ez a szabály akkor aktiválódik, ha megkeresi az MD5 kivonatoló algoritmust, vagy a DES vagy RC2 titkosítási algoritmusokat a kódban. |
| CA5358: Ne használjon nem biztonságos titkosítási módokat | Ne használjon nem biztonságos titkosítási módokat |
| CA5359: Ne tiltsa le a tanúsítványérvényesítést | A tanúsítvány segíthet a kiszolgáló identitásának hitelesítésében. Az ügyfeleknek ellenőriznie kell a kiszolgálótanúsítványt, hogy a kérések a kívánt kiszolgálóra érkezhessenek. Ha a ServerCertificateValidationCallback mindig visszaadja true, minden tanúsítvány megfelel az ellenőrzésnek. |
| CA5360: Ne nevezz veszélyes módszereket a deszerializálásban | A nem biztonságos deszerializálás olyan biztonsági rés, amely akkor fordul elő, ha nem megbízható adatokat használnak egy alkalmazás logikájának visszaélésére, szolgáltatásmegtagadási (DoS-) támadás végrehajtására, vagy akár tetszőleges kód végrehajtására az alkalmazás deszerializálásakor. Gyakran előfordulhat, hogy a rosszindulatú felhasználók visszaélnek ezekkel a deszerializálási funkciókkal, ha az alkalmazás az irányításuk alá tartozó nem megbízható adatokat deszerializálja. A deszerializálás folyamatában különösen veszélyes módszereket hívhat meg. A sikeres nem biztonságos deszerializálási támadások lehetővé tehetik, hogy a támadók olyan támadásokat hajtsanak végre, mint a DoS-támadások, a hitelesítési megkerülések és a távoli kódfuttatás. |
| CA5361: Ne tiltsa le az erős titkosítás SChannel használatát |
Switch.System.Net.DontEnableSchUseStrongCrypto A kimenő true Transport Layer Security (TLS) kapcsolatokban használt titkosítás gyengítése. A gyengébb titkosítás veszélyeztetheti az alkalmazás és a kiszolgáló közötti kommunikáció bizalmasságát, így a támadók könnyebben lehallgathatják a bizalmas adatokat. |
| CA5362: Lehetséges referenciaciklus deszerializált objektumgráfban | Ha nem megbízható adatokat deszerializál, akkor a deszerializált objektumgráfot feldolgozó kódnak végtelen ciklusok nélkül kell kezelnie a referenciaciklusokat. Ez magában foglalja mind a deszerializálási visszahívás részét képező kódot, mind az objektumgráfot a deszerializálás befejezése után feldolgozó kódot. Ellenkező esetben a támadó szolgáltatásmegtagadásos támadást hajthat végre hivatkozási ciklust tartalmazó rosszindulatú adatokkal. |
| CA5363: Ne tiltsa le a kérések érvényesítését | A kérelmek érvényesítése a ASP.NET egyik funkciója, amely megvizsgálja a HTTP-kéréseket, és meghatározza, hogy tartalmaznak-e potenciálisan veszélyes tartalmakat, amelyek injektálási támadásokhoz vezethetnek, beleértve a helyek közötti szkriptelést is. |
| CA5364: Ne használjon elavult biztonsági protokollokat | A Transport Layer Security (TLS) biztosítja a számítógépek közötti kommunikációt, leggyakrabban a Hypertext Transfer Protocol Secure (HTTPS) használatával. A TLS régebbi protokollverziói kevésbé biztonságosak, mint a TLS 1.2 és a TLS 1.3, és nagyobb valószínűséggel vannak új biztonsági rések. A kockázat csökkentése érdekében kerülje a régebbi protokollverziókat. |
| CA5365: Ne tiltsa le a HTTP-fejlécek ellenőrzését | A HTTP-fejléc-ellenőrzés lehetővé teszi a kocsivissza és a válaszfejlécekben található új vonal karakterek (\r és \n) kódolását. Ez a kódolás segíthet elkerülni az olyan injektálási támadásokat, amelyek olyan alkalmazásokat használnak ki, amelyek a fejlécben található nem megbízható adatokat tükrözik. |
| CA5366: Az XmlReader használata adathalmaz olvasási XML-fájljához | DataSet Ha nem megbízható adatokat tartalmazó XML-t olvas, veszélyes külső hivatkozásokat tölthet be, amelyeket biztonságos feloldóval vagy letiltott DTD-feldolgozással kell korlátozniXmlReader. |
| CA5367: A típusok nem szerializálása mutatómezőkkel | Ez a szabály ellenőrzi, hogy van-e szerializálható osztály mutatómezővel vagy tulajdonsággal. A szerializálni nem tudó tagok lehetnek mutatók, például statikus tagok vagy a velük NonSerializedAttributemegjelölt mezők. |
| CA5368: ViewStateUserKey beállítása lapról származtatott osztályokhoz | ViewStateUserKey A tulajdonság beállítása segíthet megelőzni az alkalmazással kapcsolatos támadásokat, ha lehetővé teszi, hogy azonosítót rendeljen az egyes felhasználók nézetállapot-változójához, hogy a támadók ne tudják használni a változót támadás létrehozásához. Ellenkező esetben biztonsági rések lépnek fel a helyek közötti kérelemhamisításhoz. |
| CA5369: Az XmlReader használata deszerializáláshoz | A nem megbízható DTD- és XML-sémák feldolgozása lehetővé teheti a veszélyes külső hivatkozások betöltését, amelyeket korlátozni kell egy biztonságos feloldóval rendelkező XmlReaderrel, vagy letiltott DTD- és XML-beágyazott sémafeldolgozással. |
| CA5370: Az XmlReader használata az olvasó ellenőrzéséhez | A nem megbízható DTD- és XML-sémák feldolgozása veszélyes külső hivatkozások betöltését teheti lehetővé. Ezt a veszélyes betöltést egy biztonságos feloldóval rendelkező XmlReaderrel, vagy a DTD és az XML beágyazott sémafeldolgozás letiltásával korlátozhatja. |
| CA5371: Az XmlReader használata sémaolvasáshoz | A nem megbízható DTD- és XML-sémák feldolgozása veszélyes külső hivatkozások betöltését teheti lehetővé. Ezt korlátozza, ha egy XmlReader biztonságos feloldóval vagy letiltott DTD- és XML-beágyazott sémafeldolgozással rendelkezik. |
| CA5372: Az XmlReader használata XPathDocumenthez | Az XML nem megbízható adatokból való feldolgozása veszélyes külső hivatkozásokat tölthet be, amelyek korlátozhatók egy biztonságos feloldóval rendelkező XmlReaderrel vagy a DTD-feldolgozás letiltásával. |
| CA5373: Ne használjon elavult kulcs származtatási függvényt | Ez a szabály észleli a gyenge kulcs származtatási módszereinek System.Security.Cryptography.PasswordDeriveBytes és Rfc2898DeriveBytes.CryptDeriveKeya .
System.Security.Cryptography.PasswordDeriveBytes a PBKDF1 gyenge algoritmust használt. |
| CA5374: Ne használja az XslTransformot | Ez a szabály ellenőrzi, hogy System.Xml.Xsl.XslTransform a kód példányosítva van-e. System.Xml.Xsl.XslTransform elavult, és nem szabad használni. |
| CA5375: Ne használjon megosztott hozzáférésű fiók aláírását | A fiók sasa delegálhatja az olvasási, írási és törlési műveleteket a blobtárolókon, táblákon, üzenetsorokon és fájlmegosztásokon, amelyek nem engedélyezettek a szolgáltatás SAS-jével. Ez azonban nem támogatja a tárolószintű szabályzatokat, és kevésbé rugalmas és szabályozható a megadott engedélyek felett. Ha a rosszindulatú felhasználók megkapják, a tárfiók könnyen megsérül. |
| CA5376: A SharedAccessProtocol HttpsOnly használata | Az SAS olyan bizalmas adatok, amelyek nem szállíthatók egyszerű szövegben HTTP-n. |
| CA5377: Tárolószintű hozzáférési szabályzat használata | A tárolószintű hozzáférési szabályzat bármikor módosítható vagy visszavonható. Nagyobb rugalmasságot és ellenőrzést biztosít a megadott engedélyek felett. |
| CA5378: A ServicePointManagerSecurityProtocols letiltása |
DisableUsingServicePointManagerSecurityProtocols A Windows Communication Framework (WCF) Transport Layer Security (TLS) kapcsolatainak TLS 1.0-s használatára való korlátozásának beállításatrue. A TLS e verziója elavult lesz. |
| CA5379: Győződjön meg arról, hogy a kulcs származtatási függvény algoritmusa kellően erős | Az Rfc2898DeriveBytes osztály alapértelmezés szerint az SHA1 algoritmust használja. Meg kell adnia azt a kivonatoló algoritmust, amelyet a konstruktor SHA256 bizonyos túlterheléseinél használjon. Vegye figyelembe, hogy HashAlgorithm a tulajdonság csak tartozékokkal get rendelkezik, és nem rendelkezik overridden módosítóval. |
| CA5380: Ne adjon hozzá tanúsítványokat a legfelső szintű tárolóhoz | Ez a szabály észleli azokat a kódot, amelyek tanúsítványt adnak hozzá a megbízható legfelső szintű hitelesítésszolgáltatók tanúsítványtárolójába. Alapértelmezés szerint a megbízható legfelső szintű hitelesítésszolgáltatók tanúsítványtárolója olyan nyilvános hitelesítésszolgáltatókkal van konfigurálva, amelyek megfelelnek a Microsoft főtanúsítvány-program követelményeinek. |
| CA5381: Győződjön meg arról, hogy a tanúsítványok nincsenek hozzáadva a gyökértárolóhoz | Ez a szabály észleli azokat a kódot, amelyek tanúsítványt adhatnak hozzá a megbízható legfelső szintű hitelesítésszolgáltatók tanúsítványtárolójába. Alapértelmezés szerint a megbízható legfelső szintű hitelesítésszolgáltatók tanúsítványtárolója olyan nyilvános hitelesítésszolgáltatókkal van konfigurálva, amelyek megfelelnek a Microsoft főtanúsítvány-program követelményeinek. |
| CA5382: Biztonságos cookie-k használata a ASP.NET Core-ban | A HTTPS-en keresztül elérhető alkalmazásoknak biztonságos cookie-kat kell használniuk, amelyek jelzik a böngészőnek, hogy a cookie-t csak a Transport Layer Security (TLS) használatával kell továbbítani. |
| CA5383: Győződjön meg arról, hogy biztonságos cookie-kat használ a ASP.NET Core-ban | A HTTPS-en keresztül elérhető alkalmazásoknak biztonságos cookie-kat kell használniuk, amelyek jelzik a böngészőnek, hogy a cookie-t csak a Transport Layer Security (TLS) használatával kell továbbítani. |
| CA5384: Ne használjon digitális aláírási algoritmust (DSA) | A DSA egy gyenge aszimmetrikus titkosítási algoritmus. |
| CA5385: A Rivest–Shamir–Adleman (RSA) algoritmus használata megfelelő kulcsmérettel | A 2048 bitesnél kisebb RSA-kulcs sebezhetőbb a találgatásos támadásokkal szemben. |
| CA5386: A SecurityProtocolType érték korlátozásának elkerülése | A Transport Layer Security (TLS) biztosítja a számítógépek közötti kommunikációt, leggyakrabban a Hypertext Transfer Protocol Secure (HTTPS) használatával. A TLS 1.0 és a TLS 1.1 protokollverzió elavult, míg a TLS 1.2 és a TLS 1.3 aktuális. A jövőben a TLS 1.2 és a TLS 1.3 elavult lehet. Annak érdekében, hogy az alkalmazás biztonságos maradjon, kerülje a protokollverzió keménykódolását, és legalább .NET-keretrendszer 4.7.1-es verziót célozz meg. |
| CA5387: Ne használjon gyenge kulcs származtatási függvényt elégtelen iterációszámmal | Ez a szabály ellenőrzi, hogy a titkosítási kulcsot 100 000-nél kisebb iterációs számmal hozták-e létre Rfc2898DeriveBytes . A magasabb iterációs szám segíthet enyhíteni a létrehozott titkosítási kulcsot kitaláló szótári támadásokat. |
| CA5388: Gondoskodjon a megfelelő iterációszámról gyenge kulcs származtatási függvény használatakor | Ez a szabály ellenőrzi, hogy a titkosítási kulcsot 100 000-nél kisebb iterációs számmal hozták-e létre Rfc2898DeriveBytes . A magasabb iterációs szám segíthet enyhíteni a létrehozott titkosítási kulcsot kitaláló szótári támadásokat. |
| CA5389: Ne adja hozzá az archív elem elérési útját a cél fájlrendszer elérési útjához | A fájl elérési útja relatív lehet, és a fájlrendszer a várt célelérési útvonalon kívülre is elérheti a fájlrendszert, ami kártékony konfigurációs módosításokhoz és távoli kódvégrehajtáshoz vezethet a lay-and-wait technikával. |
| CA5390: Ne használj kemény kódú titkosítási kulcsot | Ahhoz, hogy egy szimmetrikus algoritmus sikeres legyen, a titkos kulcsot csak a feladónak és a fogadónak kell ismernie. Ha egy kulcs nehezen kódolt, könnyen felderíthető. Még a lefordított bináris fájlok esetén is könnyen kinyerhetik a kártékony felhasználók. A titkos kulcs feltörése után a titkosító szöveg közvetlenül visszafejthető, és többé nem védett. |
| CA5391: Antiforgery tokenek használata ASP.NET Core MVC-vezérlőkben | A POST, , PUT, PATCHvagy DELETE kérések antiforgery jogkivonat érvényesítése nélkül történő kezelése sebezhető lehet a helyek közötti hamisítási támadások ellen. A helyek közötti hamisítási támadások rosszindulatú kéréseket küldhetnek egy hitelesített felhasználótól a ASP.NET Core MVC-vezérlőnek. |
| CA5392: A DefaultDllImportSearchPaths attribútum használata P/Invokes esetén | Alapértelmezés szerint a P/Invoke függvények több könyvtár mintavételét használják DllImportAttribute , beleértve a betöltendő tár aktuális munkakönyvtárát is. Ez biztonsági probléma lehet bizonyos alkalmazások esetében, ami DLL-eltérítéshez vezethet. |
| CA5393: Ne használjon nem biztonságos DllImportSearchPath értéket | Rosszindulatú DLL lehet az alapértelmezett DLL keresési könyvtárakban és szerelvénykönyvtárakban. Vagy attól függően, hogy honnan futtatja az alkalmazást, az alkalmazás címtárában rosszindulatú DLL is lehet. |
| CA5394: Ne használjon nem biztonságos véletlenszerűséget | A kriptográfiailag gyenge pszeudo-véletlenszerű számgenerátor használatával a támadó előre jelezheti, hogy milyen biztonsági szempontból érzékeny érték jön létre. |
| CA5395: Miss HttpVerb attribútum a műveleti módszerekhez | Az adatokat létrehozó, szerkesztendő, törölhető vagy egyéb módon módosító összes műveletmetelyt az antiforgery attribútummal kell védeni a helyek közötti kérelemhamisítási támadásoktól. A GET művelet végrehajtásának olyan biztonságos műveletnek kell lennie, amelynek nincsenek mellékhatásai, és nem módosítja a tárolt adatokat. |
| CA5396: HttpOnly beállítása true for HttpCookie | Mélységi védelmi intézkedésként győződjön meg arról, hogy a biztonsági szempontból érzékeny HTTP-cookie-k HttpOnlyként vannak megjelölve. Ez azt jelzi, hogy a webböngészőknek le kell tiltania a szkriptek hozzáférését a cookie-khoz. Az injektált rosszindulatú szkriptek gyakran ellopják a cookie-kat. |
| CA5397: Ne használjon elavult SslProtocols-értékeket | A Transport Layer Security (TLS) biztosítja a számítógépek közötti kommunikációt, leggyakrabban a Hypertext Transfer Protocol Secure (HTTPS) használatával. A TLS régebbi protokollverziói kevésbé biztonságosak, mint a TLS 1.2 és a TLS 1.3, és nagyobb valószínűséggel vannak új biztonsági rések. A kockázat csökkentése érdekében kerülje a régebbi protokollverziókat. |
| CA5398: A merevlemezes SslProtocols értékek elkerülése | A Transport Layer Security (TLS) biztosítja a számítógépek közötti kommunikációt, leggyakrabban a Hypertext Transfer Protocol Secure (HTTPS) használatával. A TLS 1.0 és a TLS 1.1 protokollverzió elavult, míg a TLS 1.2 és a TLS 1.3 aktuális. A jövőben a TLS 1.2 és a TLS 1.3 elavult lehet. Annak érdekében, hogy az alkalmazás biztonságos maradjon, kerülje a protokollverziók keménykódolását. |
| CA5399: Határozottan tiltsa le a HttpClient-tanúsítványok visszavonási listájának ellenőrzését | A visszavont tanúsítványok már nem megbízhatók. Ezt használhatják a támadók, akik rosszindulatú adatokat adnak át, vagy ellopják a bizalmas adatokat a HTTPS-kommunikációban. |
| CA5400: Győződjön meg arról, hogy a HttpClient-tanúsítványok visszavonási listájának ellenőrzése nincs letiltva | A visszavont tanúsítványok már nem megbízhatók. Ezt használhatják a támadók, akik rosszindulatú adatokat adnak át, vagy ellopják a bizalmas adatokat a HTTPS-kommunikációban. |
| CA5401: Ne használja a CreateEncryptort nem alapértelmezett IV-es verzióval | A szimmetrikus titkosításnak mindig nem ismételhető inicializálási vektort kell használnia a szótártámadások megelőzése érdekében. |
| CA5402: A CreateEncryptor használata az alapértelmezett IV-vel | A szimmetrikus titkosításnak mindig nem ismételhető inicializálási vektort kell használnia a szótártámadások megelőzése érdekében. |
| CA5403: Ne használj kemény kódú tanúsítványt | Egy data vagy rawData több konstruktor vagy X509Certificate konstruktor paramétere X509Certificate2 szigorúan kódolt. |
| CA5404: Ne tiltsa le a jogkivonat-érvényesítési ellenőrzéseket |
TokenValidationParameters a jogkivonat érvényesítését vezérlő tulajdonságok nem állíthatók be a következőre false: . |
| CA5405: Ne hagyja ki mindig a tokenérvényesítést a meghatalmazottakban | A visszahíváshoz rendelt AudienceValidator vagy LifetimeValidator mindig visszaadott truevisszahívás. |