| Termék/szolgáltatás |
Cikk |
|
Gép megbízhatósági határa |
|
|
Webalkalmazás |
|
|
Adatbázis |
|
|
Web API |
|
| Azure Document DB |
|
|
Azure IaaS virtuális gép megbízhatósági határa |
|
|
Service Fabric megbízhatósági határa |
|
|
Dynamics CRM |
|
|
Azure Storage |
|
|
Mobilügyfél |
|
|
WCF |
|
Győződjön meg arról, hogy a bináris fájlok el vannak rejtve, ha bizalmas információkat tartalmaznak
| Cím |
Részletek |
|
Komponens |
Gép megbízhatósági határa |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Győződjön meg arról, hogy a bináris fájlok el vannak rejtve, ha bizalmas információkat tartalmaznak, például üzleti titkokat, bizalmas üzleti logikát, amelyeket nem szabad megfordítani. Ez a szerelvények visszafejtésének megakadályozására szolgál.
CryptoObfuscator Ilyen eszközök is használhatók erre a célra. |
Fontolja meg a titkosított fájlrendszer (EFS) használatát a bizalmas, felhasználóspecifikus adatok védelmére
| Cím |
Részletek |
|
Komponens |
Gép megbízhatósági határa |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Fontolja meg a titkosított fájlrendszer (EFS) használatát a bizalmas, felhasználóspecifikus adatok védelmére a számítógéphez fizikai hozzáféréssel rendelkező támadóktól. |
Győződjön meg arról, hogy az alkalmazás által a fájlrendszerben tárolt bizalmas adatok titkosítva
| Cím |
Részletek |
|
Komponens |
Gép megbízhatósági határa |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Győződjön meg arról, hogy az alkalmazás által a fájlrendszerben tárolt bizalmas adatok titkosítottak (például DPAPI használatával), ha az EFS nem kényszeríthető |
Győződjön meg arról, hogy a bizalmas tartalom nincs gyorsítótárazva a böngészőben
| Cím |
Részletek |
|
Komponens |
Webalkalmazás |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános, Webes űrlapok, MVC5, MVC6 |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
A böngészők gyorsítótárazási és előzményadatok tárolására is képesek. Ezek a gyorsítótárazott fájlok egy mappában vannak tárolva, például az Internet Explorer esetében az Ideiglenes internetfájlok mappában. Amikor ezekre a lapokra ismét hivatkozik, a böngésző megjeleníti őket a gyorsítótárából. Ha bizalmas információk jelennek meg a felhasználó számára (például a cím, a hitelkártya adatai, a társadalombiztosítási szám vagy a felhasználónév), akkor ezek az információk a böngésző gyorsítótárában tárolhatók, és így a böngésző gyorsítótárának vizsgálatával vagy a böngésző "Vissza" gombjának megnyomásával olvashatók le. Állítsa a gyorsítótár-vezérlés válaszfejlécének értékét "nincs tároló" értékre az összes oldalon. |
Példa
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-store" />
<add name="Pragma" value="no-cache" />
<add name="Expires" value="-1" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Példa
Ez egy szűrőn keresztül valósítható meg. A következő példa használható:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext == null || (filterContext.HttpContext != null && filterContext.HttpContext.Response != null && filterContext.HttpContext.Response.IsRequestBeingRedirected))
{
//// Since this is MVC pipeline, this should never be null.
return;
}
var attributes = filterContext.ActionDescriptor.GetCustomAttributes(typeof(System.Web.Mvc.OutputCacheAttribute), false);
if (attributes == null || **Attributes**.Count() == 0)
{
filterContext.HttpContext.Response.Cache.SetNoStore();
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
if (!filterContext.IsChildAction)
{
filterContext.HttpContext.Response.AppendHeader("Pragma", "no-cache");
}
}
base.OnActionExecuting(filterContext);
}
A webalkalmazás bizalmas adatokat tartalmazó konfigurációs fájljainak szakaszainak titkosítása
| Cím |
Részletek |
|
Komponens |
Webalkalmazás |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Útmutató: Konfigurációs szakaszok titkosítása a ASP.NET 2.0-ban DPAPI használatával, Védett konfigurációs szolgáltató megadása, Azure Key Vault használata az alkalmazás titkos kulcskódjának védelméhez |
|
Lépések |
Az olyan konfigurációs fájlok, mint a Web.config, appsettings.json gyakran bizalmas adatok tárolására szolgálnak, például felhasználónevek, jelszavak, adatbázis-kapcsolati sztring és titkosítási kulcsok tárolására. Ha nem védi ezeket az információkat, az alkalmazás sebezhetővé válik a támadók vagy rosszindulatú felhasználók számára, amelyek bizalmas információkat szereznek be, például a fiók felhasználóneveit és jelszavait, az adatbázisneveket és a kiszolgálóneveket. Az üzembe helyezés típusa (azure/on-prem) alapján titkosítsa a konfigurációs fájlok bizalmas szakaszait DPAPI vagy olyan szolgáltatások használatával, mint az Azure Key Vault. |
| Cím |
Részletek |
|
Komponens |
Webalkalmazás |
|
SDL-fázis |
Felépítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
MSDN: automatikus kiegészítési attribútum, Automatikus kiegészítés használata HTML-ben, HTML-fertőtlenítő biztonsági rés, automatikus kiegészítés.,ismét?! |
|
Lépések |
Az automatikus kiegészítés attribútum azt határozza meg, hogy egy űrlapnak be- vagy kikapcsolt állapotúnak kell-e lennie. Ha az automatikus kiegészítés be van kapcsolva, a böngésző automatikusan kitölti az értékeket a felhasználó által korábban megadott értékek alapján. Ha például új nevet és jelszót ad meg egy űrlapon, és az űrlap elküldve van, a böngésző megkérdezi, hogy menteni kell-e a jelszót. Ezután, amikor az űrlap megjelenik, a név és a jelszó automatikusan kitöltésre kerül, vagy a neve beírásakor fejeződik be a kitöltés. A helyi hozzáféréssel rendelkező támadók a böngésző gyorsítótárából szerezhetik be a tiszta szöveges jelszót. Alapértelmezés szerint az automatikus kiegészítés engedélyezve van, és kifejezetten le kell tiltani. |
Példa
<form action="Login.aspx" method="post " autocomplete="off" >
Social Security Number: <input type="text" name="ssn" />
<input type="submit" value="Submit" />
</form>
Győződjön meg arról, hogy a felhasználói képernyőn megjelenő bizalmas adatok el vannak rejtve.
| Cím |
Részletek |
|
Komponens |
Webalkalmazás |
|
SDL-fázis |
Felépítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
A képernyőn megjelenő bizalmas adatokat, például jelszavakat, hitelkártyaszámokat, SSN-t stb. maszkoljuk. Ennek célja, hogy megakadályozza, hogy illetéktelen személyek hozzáférjenek az adatokhoz (például a váll fölötti betekintéssel történő jelszólopás, vagy amikor a támogató személyzet megtekinti a felhasználók személyi azonosító számát). Győződjön meg arról, hogy ezek az adatelemek nem láthatók egyszerű szövegben, és megfelelően maszkoltak. Ezt figyelembe kell venni, miközben bemenetként fogadja el őket (pl. input type="password") és vissza kell jeleníteni a képernyőn (például csak a hitelkártyaszám utolsó 4 számjegyét kell megjeleníteni). |
Dinamikus adatmaszkolás implementálása a bizalmas adatexpozíció korlátozásához nem kiemelt felhasználók számára
| Cím |
Részletek |
|
Komponens |
Adatbázis |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Sql Azure, OnPrem |
|
Attribútumok |
SQL-verzió – V12, SQL-verzió – MsSQL2016 |
|
Hivatkozások |
Dinamikus adatmaszkolás |
|
Lépések |
A dinamikus adatmaszkolás célja a bizalmas adatok expozíciójának korlátozása, megakadályozva, hogy azok a felhasználók, akik nem férhetnek hozzá az adatokhoz, ne tekinthessék meg őket. A dinamikus adatmaszkolás nem célja annak megakadályozása, hogy az adatbázis felhasználói közvetlenül csatlakozzanak az adatbázishoz, és olyan kimerítő lekérdezéseket futtasson, amelyek elérhetővé teszik a bizalmas adatok egy részét. A dinamikus adatmaszkolás kiegészíti az SQL Server egyéb biztonsági funkcióit (naplózás, titkosítás, sorszintű biztonság...), és az adatbázis bizalmas adatainak hatékonyabb védelme érdekében erősen ajánlott a funkció használata velük együtt. Vegye figyelembe, hogy ezt a funkciót csak az SQL Server támogatja 2016-tól és az Azure SQL Database-től kezdve. |
Győződjön meg arról, hogy a jelszavak sózott kivonat formátumban vannak tárolva
| Cím |
Részletek |
|
Komponens |
Adatbázis |
|
SDL-fázis |
Épít |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Jelszókivonat-készítés .NET crypto API-k használatával |
|
Lépések |
A jelszavakat nem szabad egyéni felhasználói tároló-adatbázisokban tárolni. A jelszókivonatokat inkább sóértékekkel kell tárolni. Győződjön meg arról, hogy a felhasználók jelszóhoz használt sója mindig egyedi, és a jelszó tárolása előtt alkalmazza a b-crypt, s-crypt vagy PBKDF2-t, legalább 150 000 iterációval, hogy elkerülje a brute force támadás lehetőségét. |
Győződjön meg arról, hogy az adatbázisoszlopokban lévő bizalmas adatok titkosítva lesznek
Győződjön meg arról, hogy az adatbázisszintű titkosítás (TDE) engedélyezve van
| Cím |
Részletek |
|
Komponens |
Adatbázis |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Az SQL Server transzparens adattitkosítás (TDE) ismertetése |
|
Lépések |
az SQL Server transzparens adattitkosítás (TDE) funkciója segít titkosítani az adatbázisban lévő bizalmas adatokat, és megvédeni azokat a kulcsokat, amelyek az adatok tanúsítványsal való titkosításához szükségesek. Ez megakadályozza, hogy a kulcsok nélkül bárki használja az adatokat. A TDE "inaktív állapotban" védi az adatokat, vagyis az adatokat és a naplófájlokat. Lehetővé teszi, hogy megfeleljen a különböző iparágakban létrehozott számos törvénynek, rendeletnek és irányelvnek. |
Győződjön meg arról, hogy az adatbázis biztonsági másolatai titkosítva vannak
| Cím |
Részletek |
|
Komponens |
Adatbázis |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
SQL Azure, OnPrem |
|
Attribútumok |
SQL-verzió – V12, SQL-verzió – MsSQL2014 |
|
Hivatkozások |
SQL-adatbázis biztonsági mentésének titkosítása |
|
Lépések |
Az SQL Server képes titkosítani az adatokat biztonsági mentés létrehozásakor. A titkosítási algoritmus és a titkosító (tanúsítvány vagy aszimmetrikus kulcs) megadásával biztonsági mentés létrehozásakor titkosított biztonsági mentési fájlt hozhat létre. |
Győződjön meg arról, hogy a web API-ra vonatkozó bizalmas adatok nincsenek tárolva a böngésző tárterületén
| Cím |
Részletek |
|
Komponens |
Webes API |
|
SDL-fázis |
Létrehozás |
|
Alkalmazható technológiák |
MVC 5, MVC 6 |
|
Attribútumok |
Identitásszolgáltató – ADFS, identitásszolgáltató – Microsoft Entra ID |
|
Hivatkozások |
n/a |
|
Lépések |
Bizonyos implementációkban a Web API hitelesítéséhez kapcsolódó bizalmas összetevők a böngésző helyi tárolójában vannak tárolva. Például a Microsoft Entra hitelesítési összetevők, például adal.idtoken, adal.nonce.idtoken, adal.access.token.key, adal.token.keys, adal.state.login, adal.session.state, adal.expiration.key stb. Ezek az összetevők a kijelentkezés vagy a böngésző bezárása után is elérhetők. Ha egy támadó hozzáfér ezekhez az összetevőkhöz, újra felhasználhatja őket a védett erőforrások (API-k) eléréséhez. Győződjön meg arról, hogy a Web API-val kapcsolatos bizalmas összetevők nincsenek a böngésző tárában tárolva. Ha az ügyféloldali tárolás elkerülhetetlen (például az Implicit OpenIdConnect/OAuth folyamatokat használó egyoldalas alkalmazásoknak (SPA) helyileg kell tárolniuk a hozzáférési jogkivonatokat, akkor a tárolási lehetőségeket úgy használhatja, hogy nem rendelkezik adatmegőrzéssel. Például inkább a SessionStorage-t válassza a LocalStorage-nak. |
Példa
Az alábbi JavaScript-kódrészlet egy egyéni hitelesítési kódtárból származik, amely a helyi tárolóban tárolja a hitelesítési összetevőket. Ezeket a megvalósításokat el kell kerülni.
ns.AuthHelper.Authenticate = function () {
window.config = {
instance: 'https://login.microsoftonline.com/',
tenant: ns.Configurations.Tenant,
clientId: ns.Configurations.AADApplicationClientID,
postLogoutRedirectUri: window.location.origin,
cacheLocation: 'localStorage', // enable this for Internet Explorer, as sessionStorage does not work for localhost.
};
Az Azure Cosmos DB-ben tárolt bizalmas adatok titkosítása
| Cím |
Részletek |
|
Komponens |
Azure Document DB |
|
SDL-fázis |
Épít |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Bizalmas adatok titkosítása alkalmazásszinten a dokumentum db-ben való tárolás előtt, vagy bizalmas adatok tárolása más tárolási megoldásokban, például az Azure Storage-ban vagy az Azure SQL-ben |
Az Azure Disk Encryption használata a virtuális gépek által használt lemezek titkosításához
| Cím |
Részletek |
|
Komponens |
Azure IaaS virtuális gép megbízhatósági határa |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Az Azure Disk Encryption használata a virtuális gépek által használt lemezek titkosításához |
|
Lépések |
Az Azure Disk Encryption egy új funkció, amely jelenleg előzetes verzióban érhető el. Ez a funkció lehetővé teszi az IaaS virtuális gép által használt operációsrendszer-lemezek és adatlemezek titkosítását. Windows esetén a meghajtók az iparági szabványnak megfelelő BitLocker titkosítási technológiával vannak titkosítva. Linux esetén a lemezek titkosítása a DM-Crypt technológiával történik. Ez integrálva van az Azure Key Vaulttal, így szabályozhatja és kezelheti a lemeztitkosítási kulcsokat. Az Azure Disk Encryption megoldás a következő három ügyféltitkosítási forgatókönyvet támogatja: - Engedélyezze a titkosítást az ügyfél által titkosított VHD-fájlokból és ügyfél által biztosított titkosítási kulcsokból létrehozott új IaaS virtuális gépeken, amelyeket az Azure Key Vault tárol.
- Engedélyezze a titkosítást az Azure Marketplace-ről létrehozott új IaaS virtuális gépeken.
- Engedélyezze a titkosítást az Azure-ban már futó meglévő IaaS virtuális gépeken.
|
Titkos kódok titkosítása Service Fabric-alkalmazásokban
| Cím |
Részletek |
|
Komponens |
A Service Fabric megbízhatósági határa |
|
SDL-fázis |
Épít |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
Környezet – Azure |
|
Hivatkozások |
Titkos kódok kezelése a Service Fabric-alkalmazásokban |
|
Lépések |
A titkos kódok lehetnek bizalmas információk, például tárolási kapcsolati sztringek, jelszavak vagy más értékek, amelyeket nem szabad egyszerű szövegben kezelni. Az Azure Key Vault használatával kezelheti a kulcsokat és titkos kulcsokat a Service Fabric-alkalmazásokban. |
Biztonsági modellezés végrehajtása és szükség esetén üzleti egységek/csapatok használata
| Cím |
Részletek |
|
Komponens |
Dynamics CRM |
|
SDL-fázis |
Felépítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Biztonsági modellezés végrehajtása és szükség esetén üzleti egységek/csapatok használata |
A megosztási funkcióhoz való hozzáférés minimalizálása kritikus entitásokon
| Cím |
Részletek |
|
Komponens |
Dynamics CRM |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
A megosztási funkcióhoz való hozzáférés minimalizálása kritikus entitásokon |
A Felhasználók betanítása a Dynamics CRM Share szolgáltatással kapcsolatos kockázatokra és a bevált biztonsági eljárásokra
| Cím |
Részletek |
|
Komponens |
Dynamics CRM |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
A Felhasználók betanítása a Dynamics CRM Share szolgáltatással kapcsolatos kockázatokra és a bevált biztonsági eljárásokra |
Vegyen fel egy fejlesztési szabványok szerinti szabályt, amely tiltja a konfigurációs részletek megjelenítését a kivételkezelés során.
| Cím |
Részletek |
|
Komponens |
Dynamics CRM |
|
SDL-fázis |
Telepítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
n/a |
|
Lépések |
Adjon meg egy fejlesztési szabványokra vonatkozó szabályt, amely a konfiguráció részleteit jeleníti meg a fejlesztésen kívüli kivételkezelésben. Ennek tesztelése kódvizsgálatok vagy időszakos ellenőrzés részeként. |
Az Azure Storage Service Encryption (SSE) használata inaktív adatokhoz (előzetes verzió)
| Cím |
Részletek |
|
Komponens |
Azure Storage |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
StorageType – Blob |
|
Hivatkozások |
Azure Storage Szolgáltatástitkosítás inaktív adatokhoz (előzetes verzió) |
|
Lépések |
Az Azure Storage Service Encryption (SSE) for Data at Rest segít az adatok védelmében és védelmében, hogy megfeleljen a szervezeti biztonsági és megfelelőségi követelményeknek. Ezzel a funkcióval az Azure Storage automatikusan titkosítja az adatokat a tárolás előtt, és visszafejti őket a lekérés előtt. A titkosítás, a visszafejtés és a kulcskezelés teljesen átlátható a felhasználók számára. Az SSE csak a blokkblobokra, lapblobokra és hozzáfűző blobokra vonatkozik. A többi adattípus, beleértve a táblákat, az üzenetsorokat és a fájlokat, nem lesz titkosítva. Titkosítási és visszafejtési munkafolyamat: - Az ügyfél engedélyezi a titkosítást a tárfiókon
- Amikor az ügyfél új adatokat (PUT Blob, PUT Block, PUT Page stb.) ír a Blob Storage-ba; minden írás 256 bites AES-titkosítással van titkosítva, amely az elérhető legerősebb blokk-titkosítások egyike
- Amikor az ügyfélnek hozzá kell férnie az adatokhoz (GET Blob stb.), a rendszer automatikusan visszafejti az adatokat, mielőtt visszatér a felhasználóhoz
- Ha a titkosítás le van tiltva, az új írások már nem lesznek titkosítva, és a meglévő titkosított adatok titkosítva maradnak, amíg a felhasználó újra nem írja. Amíg a titkosítás engedélyezve van, a Blob Storage-ba történő írás titkosítva lesz. Az adatok állapota nem változik, amikor a felhasználó engedélyezi vagy letiltja a tárfiók titkosítását.
- Az összes titkosítási kulcsot a Microsoft tárolja, titkosítja és kezeli
Vegye figyelembe, hogy a titkosításhoz használt kulcsokat jelenleg a Microsoft kezeli. A Microsoft eredetileg létrehozza a kulcsokat, és kezeli a kulcsok biztonságos tárolását, valamint a belső Microsoft-szabályzatban meghatározott rendszeres rotációt. A jövőben az ügyfelek kezelhetik a saját titkosítási kulcsaikat, és migrálási útvonalat biztosíthatnak a Microsoft által felügyelt kulcsoktól az ügyfél által felügyelt kulcsokig. |
Bizalmas adatok tárolása ügyféloldali titkosítással az Azure Storage-ban
| Cím |
Részletek |
|
Komponens |
Azure Storage |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Ügyféloldali titkosítás és Azure Key Vault a Microsoft Azure Storage-hoz, oktatóanyag: Blobok titkosítása és visszafejtése a Microsoft Azure Storage-ban az Azure Key Vault használatával, adatok biztonságos tárolása az Azure Blob Storage-ban Azure Encryption-bővítményekkel |
|
Lépések |
Az Azure Storage .NET NuGet-csomaghoz készült ügyfélkódtár támogatja az ügyfélalkalmazások adatainak titkosítását az Azure Storage-ba való feltöltés előtt, valamint az adatok visszafejtését az ügyfélre való letöltés során. A kódtár emellett támogatja az Azure Key Vault rendszerrel való integrálást a tárfiókkulcs-kezelés biztosítása érdekében. Az ügyféloldali titkosítás működésének rövid leírása: - Az Azure Storage ügyféloldali SDK létrehoz egy tartalomtitkosítási kulcsot (CEK), amely egyszeri használatú szimmetrikus kulcs
- Az ügyféladatok titkosítása ezzel a CEK-sel történik
- A CEK ezután be van csomagolva (titkosítva) a kulcstitkosítási kulccsal (KEK). A KEK-t kulcsazonosító azonosítja, és aszimmetrikus kulcspár vagy szimmetrikus kulcs lehet, és helyileg felügyelhető, vagy tárolható az Azure Key Vaultban. Maga a tárolási ügyfél soha nem fér hozzá a KEK-hez. Csak meghívja a Key Vault által biztosított kulcsburkoló algoritmust. Az ügyfelek dönthetnek úgy, hogy egyéni szolgáltatókat használnak a kulcsburkoláshoz/törléshez, ha szeretnék
- A titkosított adatok ezután fel lesznek töltve az Azure Storage szolgáltatásba. Az alacsony szintű megvalósítás részleteiért tekintse meg a hivatkozások szakaszban található hivatkozásokat.
|
Bizalmas vagy PII-adatok titkosítása, amelyet a telefonok helyi tárolóba írnak
| Cím |
Részletek |
|
Komponens |
Mobilügyfél |
|
SDL-fázis |
Felépítés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Az eszközök beállításainak és funkcióinak kezelése Microsoft Intune-szabályzatokkal |
|
Lépések |
Ha az alkalmazás bizalmas adatokat ír, például a felhasználó PII-jét (e-mail, telefonszám, utónév, vezetéknév, beállítások stb.)- a mobil fájlrendszerén, akkor titkosítva kell lennie, mielőtt a helyi fájlrendszerbe ír. Ha az alkalmazás vállalati alkalmazás, akkor vizsgálja meg az alkalmazás Közzétételének lehetőségét a Windows Intune használatával. |
Példa
Az Intune a bizalmas adatok védelme érdekében az alábbi biztonsági szabályzatokkal konfigurálható:
Require encryption on mobile device
Require encryption on storage cards
Allow screen capture
Példa
Ha az alkalmazás nem vállalati alkalmazás, akkor használja a platform által biztosított kulcstárat, a kulcsláncokat a titkosítási kulcsok tárolásához, amellyel titkosítási művelet végezhető el a fájlrendszeren. Az alábbi kódrészlet bemutatja, hogyan érheti el a kulcsot a kulcsláncból az iOS .NET használatával:
protected static string EncryptionKey
{
get
{
if (String.IsNullOrEmpty(_Key))
{
var query = new SecRecord(SecKind.GenericPassword);
query.Service = NSBundle.MainBundle.BundleIdentifier;
query.Account = "UniqueID";
NSData uniqueId = SecKeyChain.QueryAsData(query);
if (uniqueId == null)
{
query.ValueData = NSData.FromString(System.Guid.NewGuid().ToString());
var err = SecKeyChain.Add(query);
_Key = query.ValueData.ToString();
}
else
{
_Key = uniqueId.ToString();
}
}
return _Key;
}
}
A létrehozott bináris fájlok elrejtése a végfelhasználóknak való terjesztés előtt
| Cím |
Részletek |
|
Komponens |
Mobilügyfél |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános |
|
Attribútumok |
n/a |
|
Hivatkozások |
Crypto Obfuscation for .NET |
|
Lépések |
A generált bináris fájlokat (az APK-n belüli szerelvényeket) homályosítani kell, hogy megakadályozzák a szerelvények visszafejtését.
CryptoObfuscator Ilyen eszközök is használhatók erre a célra. |
A clientCredentialType beállítása tanúsítványra vagy Windowsra
| Cím |
Részletek |
|
Komponens |
WCF (Windows Communication Foundation) |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
.NET-keretrendszer 3 |
|
Attribútumok |
n/a |
|
Hivatkozások |
Megerősít |
|
Lépések |
Ha a UsernameToken egyszerű szöveges jelszót használ egy titkosítatlan csatornán, a jelszó elérhetővé teszi a jelszót azoknak a támadóknak, akik meg tudják szippantani a SOAP-üzeneteket. A UsernameTokent használó szolgáltatók elfogadhatják az egyszerű szövegben küldött jelszavakat. Ha egyszerű szöveges jelszavakat küld egy titkosítatlan csatornán, a hitelesítő adatokat elérhetővé teheti a támadók számára, akik meg tudják sniffenni a SOAP-üzenetet. |
Példa
Az alábbi WCF-szolgáltatói konfiguráció a UsernameTokent használja:
<security mode="Message">
<message clientCredentialType="UserName" />
A clientCredentialType beállítása tanúsítványra vagy Windowsra.
A WCF biztonsági mód nincs engedélyezve
| Cím |
Részletek |
|
Komponens |
WCF |
|
SDL-fázis |
Építés |
|
Alkalmazható technológiák |
Általános, .NET-keretrendszer 3 |
|
Attribútumok |
Biztonsági mód – Átvitel, Biztonsági mód – Üzenet |
|
Hivatkozások |
MSDN, Fortify Kingdom, A WCF Security alapjai CoDe Magazinban |
|
Lépések |
Nincs definiálva átvitel- vagy üzenetbiztonság. Azok az alkalmazások, amelyek átvitel vagy üzenetbiztonság nélkül továbbítják az üzeneteket, nem garantálhatják az üzenetek integritását vagy titkosságát. Ha egy WCF biztonsági kötés Nincs értékre van állítva, az átvitel és az üzenetbiztonság is le van tiltva. |
Példa
Az alábbi konfiguráció a biztonsági módot Nincs értékre állítja.
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name=""MyBinding"">
<security mode=""None""/>
</binding>
</bindings>
</system.serviceModel>
Példa
Biztonsági mód Az összes szolgáltatáskötéshez öt lehetséges biztonsági mód létezik: