Biztonsági áttekintés

Az alkalmazások biztonságossá tétele folyamatban van. Soha nem lesz olyan pont, ahol a fejlesztők garantálhatják, hogy egy alkalmazás minden támadástól biztonságos legyen, mert lehetetlen megjósolni, hogy az új technológiák milyen jövőbeli támadásokat fognak eredményezni. Ezzel szemben csak azért, mert még senki sem talált (vagy tett közzé) biztonsági hibákat a rendszerben, nem jelenti azt, hogy egyik sem létezik vagy létezhet. A projekt tervezési fázisában meg kell terveznie a biztonságot, valamint meg kell terveznie, hogyan tartható fenn a biztonság az alkalmazás teljes élettartama alatt.

Tervezés a biztonsághoz

A biztonságos alkalmazások fejlesztésének egyik legnagyobb problémája, hogy a biztonság gyakran utógondolat, amit egy projekt kódvégzése után kell megvalósítani. Ha nem építi ki a biztonságot egy alkalmazásba a kezdettől számítva, az nem biztonságos alkalmazásokat eredményez, mert nem sokat gondolkodott azon, hogy mi teszi biztonságossá az alkalmazást.

Az utolsó pillanatban történő biztonsági implementáció további hibákat eredményez, mivel az új korlátozások értelmében a szoftver leáll, vagy át kell írni a nem várt funkciók érdekében. A módosított kód minden sora tartalmaz egy új hiba bevezetésének lehetőségét. Ezért a fejlesztési folyamat korai szakaszában érdemes megfontolnia a biztonságot, hogy az új funkciók fejlesztésével párhuzamosan haladjon.

Fenyegetésmodellezés

A rendszer támadásokkal szembeni védelme csak akkor lehetséges, ha tisztában van azokkal a potenciális támadásokkal, amelyeknek ki van téve. A biztonsági fenyegetések kiértékelésének folyamata, az úgynevezett fenyegetésmodellezés szükséges a biztonsági incidensek valószínűségének és következményeinek meghatározásához az ADO.NET alkalmazásban.

A fenyegetésmodellezés három magas szintű lépésből áll: a támadó nézetének megértése, a rendszer biztonságának jellemzése és a fenyegetések meghatározása.

A fenyegetésmodellezés iteratív módszer az alkalmazás biztonsági réseinek felmérésére, hogy megtalálja azokat, amelyek a legveszélyesebbek, mert a legérzékenyebb adatokat teszik közzé. Miután azonosította a biztonsági réseket, súlyossági sorrendbe állítja őket, és rangsorolt ellenintézkedéseket hoz létre a fenyegetések ellen.

További információt a következő források tartalmaznak:

Erőforrás Leírás
A fenyegetésmodellezési webhely a biztonságtechnikai portálon Az ezen a lapon található erőforrások segítségével megismerheti a fenyegetésmodellezési folyamatot, és létrehozhat fenyegetésmodelleket, amelyekkel biztonságossá teheti saját alkalmazásait

A minimális jogosultság elve

Az alkalmazás tervezésekor, létrehozásakor és üzembe helyezésekor feltételezni kell, hogy az alkalmazást megtámadják. Ezek a támadások gyakran rosszindulatú kódokból származnak, amelyek a kódot futtató felhasználó engedélyeivel futnak. Mások olyan jó szándékú kódból származhatnak, amelyet egy támadó kihasznált. A biztonság tervezésekor mindig a legrosszabb forgatókönyvet kell feltételezni.

Az egyik ellenintézkedés, amit alkalmazhat, hogy a lehető legtöbb falat próbálja meg a kód körül felépíteni, a lehető legkisebb jogosultsággal futtatva. A minimális jogosultság elve azt mondja, hogy minden adott jogosultságot a feladat elvégzéséhez szükséges legrövidebb ideig szükséges minimális kódmennyiségnek kell biztosítani.

A biztonságos alkalmazások létrehozásának ajánlott eljárása az, ha egyáltalán nem rendelkezik engedélyekkel, majd hozzáadja a legszűkebb engedélyeket az éppen végrehajtott feladathoz. Ezzel szemben az összes engedélytől kezdve az egyes engedélyek megtagadásán át a nem biztonságos alkalmazások nehezen tesztelhetők és karbantarthatók, mivel előfordulhat, hogy a biztonsági rések a szükségesnél több engedély akaratlan megadásából származnak.

Az alkalmazások biztonságossá tételével kapcsolatos további információkért tekintse meg az alábbi forrásokat:

Erőforrás Leírás
Alkalmazások biztonságossá tétele Általános biztonsági témakörökre mutató hivatkozásokat tartalmaz. Az elosztott alkalmazások, webalkalmazások, mobilalkalmazások és asztali alkalmazások biztonságossá tételéhez kapcsolódó témakörökre mutató hivatkozásokat is tartalmaz.

Kódelérési biztonság (CAS)

A kódhozzáférési biztonság (CAS) egy olyan mechanizmus, amely segít korlátozni a kód által védett erőforrásokhoz és műveletekhez való hozzáférést. A .NET-keretrendszerben a CAS a következő funkciókat hajtja végre:

  • Olyan engedélyeket és engedélykészleteket határoz meg, amelyek a különböző rendszererőforrásokhoz való hozzáférés jogát képviselik.

  • Lehetővé teszi a rendszergazdák számára a biztonsági szabályzat konfigurálását úgy, hogy az engedélyek csoportjait kódcsoportokhoz (kódcsoportokhoz) társítják.

  • Lehetővé teszi, hogy a kód kérje le a futtatáshoz szükséges engedélyeket, valamint azokat az engedélyeket, amelyek hasznosak lennének, és meghatározza, hogy a kódnak mely engedélyekkel kell soha rendelkeznie.

  • Engedélyeket ad minden betöltött összeállításnak a kód által kért engedélyek és a biztonsági házirend által engedélyezett műveletek alapján.

  • Lehetővé teszi, hogy a kód megkövetelje a hívóktól a meghatározott engedélyek birtoklását.

  • Lehetővé teszi, hogy a kód megkövetelje, hogy a hívói digitális aláírással rendelkezzenek, így csak egy adott szervezet vagy webhely hívói hívják meg a védett kódot.

  • A futásidőben érvényes kódkorlátozásokat úgy kényszeríti ki, hogy összehasonlítja a hívásverem minden hívójának megadott engedélyeit a hívók engedélyével.

A támadások sikeressége esetén esetlegesen előforduló károk minimalizálása érdekében válasszon egy biztonsági környezetet a kódhoz, amely csak azokhoz az erőforrásokhoz biztosít hozzáférést, amelyekre szüksége van ahhoz, hogy elvégezhesse a munkáját, és többé nem.

További információt a következő források tartalmaznak:

Erőforrás Leírás
Kódhozzáférés biztonsága és ADO.NET A kódelérési biztonság, a szerepköralapú biztonság és a részben megbízható környezetek közötti interakciókat ismerteti egy ADO.NET alkalmazás szempontjából.
Kódhozzáférési biztonság A CAS-t a .NET-keretrendszerben leíró további témakörökre mutató hivatkozásokat tartalmaz.

Adatbázis biztonsága

A minimális jogosultság elve az adatforrásra is vonatkozik. Az adatbázis-biztonság néhány általános irányelve:

  • Hozzon létre a lehető legalacsonyabb jogosultságokkal rendelkező fiókokat.

  • Ne engedélyezze a felhasználóknak a rendszergazdai fiókokhoz való hozzáférést csak a kód működéséhez.

  • Ne adja vissza a kiszolgálóoldali hibaüzeneteket az ügyfélalkalmazások számára.

  • Ellenőrizze az összes bemenetet az ügyfélen és a kiszolgálón is.

  • Használjon paraméteres parancsokat, és kerülje a dinamikus SQL-utasításokat.

  • Engedélyezze a biztonsági naplózást és ellenőrzést az Ön által használt adatbázishoz, hogy riasztást kapjon a biztonsági rések esetén.

További információt a következő források tartalmaznak:

Erőforrás Leírás
AZ SQL Server biztonsága Áttekintést nyújt az SQL Server biztonságáról olyan alkalmazásforgatókönyvekkel, amelyek útmutatást nyújtanak az SQL Servert célzó biztonságos ADO.NET alkalmazások létrehozásához.
Javaslatok adatelérési stratégiákhoz Javaslatokat tesz az adatok elérésére és az adatbázis-műveletek végrehajtására.

Biztonsági szabályzat és felügyelet

A kódhozzáférési biztonsági (CAS) szabályzat helytelen felügyelete biztonsági hiányosságokat okozhat. Az alkalmazás üzembe helyezése után a biztonság figyelésére szolgáló technikákat kell használni, és új fenyegetések megjelenésekor kockázatokat kell kiértékelni.

További információt a következő források tartalmaznak:

Erőforrás Leírás
Biztonsági politika irányítása A biztonsági szabályzatok létrehozásáról és felügyeletéről nyújt tájékoztatást.
Biztonsági szabályzat legjobb gyakorlatai A biztonsági szabályzat felügyeletét leíró hivatkozásokat tartalmaz.

Lásd még