| Ürün/Hizmet |
Makale |
| Makine Güven Sınırı |
|
| Web Uygulaması |
|
| Veritabanı |
|
| Web API'si |
|
| Azure Belge VERITABANı |
|
| Azure IaaS VM Güven Sınırı |
|
| Service Fabric Güven Sınırı |
|
| Dynamics CRM |
|
| Azure Depolama |
|
| Mobil İstemci |
|
| WCF |
|
Hassas bilgiler içeren ikili dosyaların karartıldığından emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Makine Güven Sınırı |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Ticari gizli diziler, ters çevrilmemesi gereken hassas iş mantığı gibi hassas bilgiler içeriyorsa ikili dosyaların karartıldığından emin olun. Bu, derlemelerin tersine mühendisliğini durdurmaktır. gibi CryptoObfuscator araçlar bu amaçla kullanılabilir. |
Gizli kullanıcıya özgü verileri korumak için Şifrelenmiş Dosya Sistemi 'nin (EFS) kullanıldığını göz önünde bulundurun
| Başlık |
Ayrıntılar |
| Bileşen |
Makine Güven Sınırı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Gizli kullanıcıya özgü verileri bilgisayara fiziksel erişimi olan saldırganlardan korumak için Şifrelenmiş Dosya Sistemi 'ni (EFS) kullanmayı göz önünde bulundurun. |
Dosya sisteminde uygulama tarafından depolanan hassas verilerin şifrelendiğinden emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Makine Güven Sınırı |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
EFS zorlanamazsa, dosya sisteminde uygulama tarafından depolanan hassas verilerin şifrelendiğinden emin olun (örneğin DPAPI kullanarak). |
Hassas içeriğin tarayıcıda önbelleğe alınmadığından emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Web Uygulaması |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel, Web Forms, MVC5, MVC6 |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Tarayıcılar bilgileri önbelleğe alma ve geçmiş amacıyla depolayabilir. Önbelleğe alınan bu dosyalar, Internet Explorer örneğinde Geçici İnternet Dosyaları klasörü gibi bir klasörde depolanır. Bu sayfalara yeniden başvurulduğunda, tarayıcı bunları önbelleğinden görüntüler. Kullanıcıya hassas bilgiler (adresi, kredi kartı ayrıntıları, Sosyal Güvenlik Numarası veya kullanıcı adı gibi) gösteriliyorsa, bu bilgiler tarayıcının önbelleğinde depolanabilir ve bu nedenle tarayıcının önbelleği incelenerek veya yalnızca tarayıcının "Geri" düğmesine basılarak alınabilir. Önbellek denetimi yanıt üst bilgisi değerini tüm sayfalar için "depo yok" olarak ayarlayın. |
Örnek
<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>
Örnek
Bu bir filtre aracılığıyla uygulanabilir. Aşağıdaki örnek kullanılabilir:
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);
}
Web App yapılandırma dosyalarının hassas veriler içeren bölümlerini şifreleme
| Başlık |
Ayrıntılar |
| Bileşen |
Web Uygulaması |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Nasıl Yapılır: ASP.NET 2.0'da Yapılandırma Bölümlerini Şifreleme DPAPI Kullanarak, Korumalı Yapılandırma Sağlayıcısı Belirtme, Uygulama gizli dizilerini korumak için Azure Key Vault Kullanma |
| Adımlar |
Web.config, appsettings.json gibi yapılandırma dosyaları genellikle kullanıcı adları, parolalar, veritabanı bağlantı dizesi ve şifreleme anahtarları gibi hassas bilgileri tutmak için kullanılır. Bu bilgileri korumazsanız, uygulamanız hesap kullanıcı adları ve parolaları, veritabanı adları ve sunucu adları gibi hassas bilgileri alan saldırganlara veya kötü amaçlı kullanıcılara karşı savunmasızdır. Dağıtım türüne (azure/şirket içi) bağlı olarak, DPAPI veya Azure Key Vault gibi hizmetleri kullanarak yapılandırma dosyalarının hassas bölümlerini şifreleyin. |
| Başlık |
Ayrıntılar |
| Bileşen |
Web Uygulaması |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
MSDN: otomatik tamamlama özniteliği, HTML'de Otomatik Tamamlama Kullanma, HTML Temizleme Güvenlik Açığı, Otomatik Tamamlama.,yeniden?! |
| Adımlar |
Otomatik tamamlama özniteliği, formun otomatik tamamlama özelliğinin açık mı yoksa kapalı mı olması gerektiğini belirtir. Otomatik tamamlama açık olduğunda tarayıcı, kullanıcının daha önce girdiği değerlere göre değerleri otomatik olarak tamamlar. Örneğin, forma yeni bir ad ve parola girildiğinde ve form gönderildiğinde, tarayıcı parolanın kaydedilmesi gerekip gerekmediğini sorar. Bundan sonra form görüntülendiğinde, ad ve parola otomatik olarak doldurulur veya ad girilirken tamamlanır. Yerel erişimi olan bir saldırgan, tarayıcı önbelleğinden temiz metin parolasını alabilir. Varsayılan olarak otomatik tamamlama etkindir ve açıkça devre dışı bırakılmalıdır. |
Örnek
<form action="Login.aspx" method="post " autocomplete="off" >
Social Security Number: <input type="text" name="ssn" />
<input type="submit" value="Submit" />
</form>
Kullanıcı ekranında görüntülenen hassas verilerin maskelendiğinden emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Web Uygulaması |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Parolalar, kredi kartı numaraları, SSN gibi hassas veriler ekranda görüntülendiğinde maskelenmelidir. Bu, yetkisiz personelin verilere erişmesini engellemektir (örneğin, omuzlarda gezinen parolalar, kullanıcıların SSN numaralarını görüntüleyen personeli destekleme). Bu veri öğelerinin düz metinde görünmediğinden ve uygun şekilde maskelenmiş olduğundan emin olun. Bunları giriş olarak kabul ederken (ör. giriş türü="parola") ve ekranda yeniden görüntülenirken (örneğin, kredi kartı numarasının yalnızca son 4 basamağını görüntüler) bu işlem dikkate alınmalıdır. |
Hassas verilerin ayrıcalıklı olmayan kullanıcılara maruz kalmasını sınırlamak için dinamik veri maskeleme uygulama
| Başlık |
Ayrıntılar |
| Bileşen |
Veritabanı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Sql Azure, OnPrem |
| Öznitelikler |
SQL Sürümü - V12, SQL Sürümü - MsSQL2016 |
| Başvurular |
Dinamik Veri Maskeleme |
| Adımlar |
Dinamik veri maskelemenin amacı hassas verilerin açığa çıkmasını sınırlandırmak ve verilere erişimi olmaması gereken kullanıcıların verileri görüntülemesini engellemektir. Dinamik veri maskeleme, veritabanı kullanıcılarının doğrudan veritabanına bağlanmasını ve hassas verilerin parçalarını kullanıma sunan kapsamlı sorgular çalıştırmasını engellemeyi hedeflemez. Dinamik veri maskeleme, diğer SQL Server güvenlik özelliklerine (denetim, şifreleme, satır düzeyi güvenlik...) tamamlayıcı niteliktedir ve veritabanındaki hassas verileri daha iyi korumak için bu özelliğin bunlarla birlikte kullanılması kesinlikle önerilir. Bu özelliğin yalnızca 2016 ve Azure SQL Veritabanı ile başlayarak SQL Server tarafından desteklendiğini unutmayın. |
Parolaların tuzlu karma biçiminde depolandığından emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Veritabanı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
.NET Şifreleme API'lerini kullanarak Parola Karması Oluşturma |
| Adımlar |
Parolalar özel kullanıcı deposu veritabanlarında depolanmamalıdır. Parola karmaları bunun yerine tuz değerleriyle depolanmalıdır. Kullanıcının tuzunun her zaman benzersiz olduğundan emin olun ve parolayı depolamadan önce b-crypt, s-crypt veya PBKDF2 uyguladığınızda deneme yanılma olasılığını ortadan kaldırmak için en az 150.000 döngü çalışma faktörü yineleme sayısı kullanılır. |
Veritabanı sütunlarındaki hassas verilerin şifrelendiğinden emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Veritabanı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
SQL Sürümü - Tümü |
| Başvurular |
SQL Server'da hassas verileri şifreleme, Nasıl yapılır: SQL Server'da Veri Sütununu Şifreleme, Sertifikaya Göre Şifreleme |
| Adımlar |
Kredi kartı numaraları gibi hassas verilerin veritabanında şifrelenmeleri gerekir. Veriler sütun düzeyinde şifreleme kullanılarak veya şifreleme işlevleri kullanılarak bir uygulama işlevi tarafından şifrelenebilir. |
Veritabanı düzeyinde şifrelemenin (TDE) etkinleştirildiğinden emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Veritabanı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
SQL Server Saydam Veri Şifrelemesi (TDE) anlama |
| Adımlar |
SQL server'daki Saydam Veri Şifrelemesi (TDE) özelliği, veritabanındaki hassas verilerin şifrelenmesine ve verileri bir sertifikayla şifrelemek için kullanılan anahtarların korunmasına yardımcı olur. Bu, anahtarları olmayan herkesin verileri kullanmasını engeller. TDE verileri "bekleyen" olarak korur, yani verileri ve günlük dosyalarını korur. Çeşitli sektörlerde oluşturulan birçok yasa, düzenleme ve yönergeye uyma olanağı sağlar. |
Veritabanı yedeklemelerinin şifrelenmesini sağlama
| Başlık |
Ayrıntılar |
| Bileşen |
Veritabanı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
SQL Azure, OnPrem |
| Öznitelikler |
SQL Sürümü - V12, SQL Sürümü - MsSQL2014 |
| Başvurular |
SQL veritabanı yedekleme şifrelemesi |
| Adımlar |
SQL Server, yedekleme oluştururken verileri şifreleme özelliğine sahiptir. Yedekleme oluştururken şifreleme algoritmasını ve şifrelayıcıyı (Sertifika veya Asimetrik Anahtar) belirterek şifrelenmiş bir yedekleme dosyası oluşturabilirsiniz. |
Web API'sine uygun hassas verilerin tarayıcının depolama alanında depolanmadığından emin olun
| Başlık |
Ayrıntılar |
| Bileşen |
Web API'si |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
MVC 5, MVC 6 |
| Öznitelikler |
Kimlik Sağlayıcısı - ADFS, Kimlik Sağlayıcısı - Microsoft Entra Id |
| Başvurular |
Yok |
| Adımlar |
Bazı uygulamalarda, Web API'lerinin kimlik doğrulamasıyla ilgili hassas yapıtlar tarayıcının yerel depolama alanında depolanır. Örneğin, adal.idtoken, adal.nonce.idtoken, adal.access.token.key, adal.token.keys, adal.state.login, adal.session.state, adal.expiration.key gibi Microsoft Entra kimlik doğrulama yapıtları. Tüm bu yapıtlar, oturumu kapattıktan veya tarayıcı kapatıldıktan sonra bile kullanılabilir. Bir saldırgan bu yapıtlara erişim elde ederse, korumalı kaynaklara (API' ler) erişmek için bunları yeniden kullanabilir. Web API'sine ilişkin tüm hassas yapıtların tarayıcının depolama alanında depolanmadığından emin olun. İstemci tarafı depolamanın kaçınılmaz olduğu durumlarda (ör. Örtük OpenIdConnect/OAuth akışlarından yararlanan Tek Sayfalı Uygulamalar (SPA) erişim belirteçlerini yerel olarak depolamak zorundaysa), kalıcılığı olmayan depolama seçeneklerini kullanın. Örneğin, SessionStorage'ı LocalStorage olarak tercih edin. |
Örnek
Aşağıdaki JavaScript kod parçacığı, yerel depolamada kimlik doğrulama yapıtlarını depolayan özel bir kimlik doğrulama kitaplığından alınıyor. Bu tür uygulamalardan kaçınılmalıdır.
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.
};
Azure Cosmos DB'de depolanan hassas verileri şifreleme
| Başlık |
Ayrıntılar |
| Bileşen |
Azure Belge VERITABANı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Belge veritabanında depolamadan önce hassas verileri uygulama düzeyinde şifreleme veya herhangi bir hassas veriyi Azure Depolama veya Azure SQL gibi diğer depolama çözümlerinde depolama |
Sanal Makineler tarafından kullanılan diskleri şifrelemek için Azure Disk Şifrelemesi kullanma
| Başlık |
Ayrıntılar |
| Bileşen |
Azure IaaS VM Güven Sınırı |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Sanal makineleriniz tarafından kullanılan diskleri şifrelemek için Azure Disk Şifrelemesi kullanma |
| Adımlar |
Azure Disk Şifrelemesi, şu anda önizleme aşamasında olan yeni bir özelliktir. Bu özellik, bir IaaS Sanal Makinesi tarafından kullanılan işletim sistemi disklerini ve Veri disklerini şifrelemenizi sağlar. Windows için sürücüler endüstri standardı BitLocker şifreleme teknolojisi kullanılarak şifrelenir. Linux için diskler DM-Crypt teknolojisi kullanılarak şifrelenir. Bu, disk şifreleme anahtarlarını denetlemenize ve yönetmenize olanak sağlamak için Azure Key Vault ile tümleşiktir. Azure Disk Şifrelemesi çözümü aşağıdaki üç müşteri şifreleme senaryosını destekler: - Azure Key Vault'ta depolanan müşteri tarafından şifrelenmiş VHD dosyalarından ve müşteri tarafından sağlanan şifreleme anahtarlarından oluşturulan yeni IaaS VM'lerinde şifrelemeyi etkinleştirin.
- Azure Market oluşturulan yeni IaaS VM'lerinde şifrelemeyi etkinleştirin.
- Azure'da zaten çalışan mevcut IaaS VM'lerinde şifrelemeyi etkinleştirin.
|
Service Fabric uygulamalarında gizli dizileri şifreleme
| Başlık |
Ayrıntılar |
| Bileşen |
Service Fabric Güven Sınırı |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Ortam - Azure |
| Başvurular |
Service Fabric uygulamalarında gizli dizileri yönetme |
| Adımlar |
Gizli diziler depolama bağlantı dizesi, parolalar veya düz metin olarak işlenmemesi gereken diğer değerler gibi hassas bilgiler olabilir. Service Fabric uygulamalarında anahtarları ve gizli dizileri yönetmek için Azure Key Vault'ı kullanın. |
Gerektiğinde güvenlik modellemesi gerçekleştirme ve İş Birimlerini/Teams'i kullanma
| Başlık |
Ayrıntılar |
| Bileşen |
Dynamics CRM |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Gerektiğinde güvenlik modellemesi gerçekleştirme ve İş Birimlerini/Teams'i kullanma |
Kritik varlıklarda paylaşım özelliğine erişimi en aza indirme
| Başlık |
Ayrıntılar |
| Bileşen |
Dynamics CRM |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Kritik varlıklarda paylaşım özelliğine erişimi en aza indirme |
Dynamics CRM Share özelliği ve iyi güvenlik uygulamalarıyla ilişkili riskler konusunda kullanıcıları eğitin
| Başlık |
Ayrıntılar |
| Bileşen |
Dynamics CRM |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Dynamics CRM Share özelliği ve iyi güvenlik uygulamalarıyla ilişkili riskler konusunda kullanıcıları eğitin |
Özel durum yönetiminde yapılandırma ayrıntılarını gösteren bir geliştirme standartları kuralı ekleme
| Başlık |
Ayrıntılar |
| Bileşen |
Dynamics CRM |
| SDL Aşaması |
Dağıtım |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Yok |
| Adımlar |
Geliştirme dışında özel durum yönetimindeki yapılandırma ayrıntılarını gösteren bir geliştirme standartları kuralı ekleyin. Kod incelemeleri veya düzenli denetim kapsamında bunu test edin. |
Bekleyen Veriler için Azure Depolama Hizmeti Şifrelemesi (SSE) kullanma (Önizleme)
| Başlık |
Ayrıntılar |
| Bileşen |
Azure Depolama |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
StorageType - Blob |
| Başvurular |
Bekleyen Veriler için Azure Depolama Hizmeti Şifrelemesi (Önizleme) |
| Adımlar |
Bekleyen Veriler için Azure Depolama Hizmeti Şifrelemesi (SSE), kurumsal güvenlik ve uyumluluk taahhütlerinizi yerine getirmek için verilerinizi korumanıza ve korumanıza yardımcı olur. Bu özellik ile Azure Depolama, verilerinizi depolama alanında kalıcı hale gelmeden önce otomatik olarak şifreler ve alınmadan önce bunların şifresini çözer. Şifreleme, şifre çözme ve anahtar yönetimi kullanıcılar için tamamen şeffaftır. SSE yalnızca blok blobları, sayfa blobları ve ekleme blobları için geçerlidir. Tablolar, kuyruklar ve dosyalar gibi diğer veri türleri şifrelenmez. Şifreleme ve Şifre Çözme İş Akışı: - Müşteri, depolama hesabında şifrelemeyi etkinleştirir
- Müşteri Blob depolamaya yeni veriler (PUT Blobu, PUT Bloğu, PUT Sayfası vb.) yazdığında; her yazma, kullanılabilir en güçlü blok şifrelemelerinden biri olan 256 bit AES şifrelemesi kullanılarak şifrelenir
- Müşterinin verilere (GET Blob vb.) erişmesi gerektiğinde, kullanıcıya dönmeden önce verilerin şifresi otomatik olarak çözülür
- Şifreleme devre dışı bırakılırsa, yeni yazma işlemleri artık şifrelenmez ve kullanıcı tarafından yeniden yazılana kadar mevcut şifrelenmiş veriler şifrelenmiş olarak kalır. Şifreleme etkinleştirildiğinde Blob depolamaya yazma işlemleri şifrelenir. Kullanıcının depolama hesabı için şifrelemeyi etkinleştirme/devre dışı bırakma arasında geçiş yaptığı için verilerin durumu değişmez
- Tüm şifreleme anahtarları Microsoft tarafından depolanır, şifrelenir ve yönetilir
Şu anda şifreleme için kullanılan anahtarların Microsoft tarafından yönetildiğini lütfen unutmayın. Microsoft anahtarları ilk olarak oluşturur ve anahtarların güvenli depolama alanını ve iç Microsoft ilkesi tarafından tanımlanan normal döndürmeyi yönetir. Gelecekte müşteriler kendi şifreleme anahtarlarını yönetme ve Microsoft tarafından yönetilen anahtarlardan müşteri tarafından yönetilen anahtarlara geçiş yolu sağlama olanağına sahip olacak. |
Hassas verileri Azure Depolama'da depolamak için İstemci Tarafı Şifrelemesi'ni kullanma
| Başlık |
Ayrıntılar |
| Bileşen |
Azure Depolama |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
Microsoft Azure Depolama için İstemci Tarafı Şifrelemesi ve Azure Key Vault, Öğretici: Azure Key Vault kullanarak Microsoft Azure Depolama blobları şifreleme ve şifresini çözme, Azure Şifreleme Uzantıları ile verileri güvenli bir şekilde Azure Blob Depolama depolama |
| Adımlar |
.NET Nuget için Azure Depolama İstemci Kitaplığı paketi, Azure Depolama'ya yüklemeden önce istemci uygulamalarındaki verilerin şifrelenmesi ve istemciye indirilirken verilerin şifresinin çözülmesini destekler. Kitaplık ayrıca depolama hesabı anahtarı yönetimi için Azure Anahtar Kasası ile tümleştirmeyi destekler. İstemci tarafı şifrelemesinin nasıl çalıştığı hakkında kısa bir açıklama aşağıdadır: - Azure Depolama istemci SDK'sı, tek seferlik kullanılan bir simetrik anahtar olan bir içerik şifreleme anahtarı (CEK) oluşturur
- Müşteri verileri bu CEK kullanılarak şifrelenir
- CEK daha sonra anahtar şifreleme anahtarı (KEK) kullanılarak sarmalanır (şifrelenir). KEK bir anahtar tanımlayıcısı ile tanımlanır ve asimetrik anahtar çifti veya simetrik anahtar olabilir ve yerel olarak yönetilebilir veya Azure Key Vault'ta depolanabilir. Depolama istemcisinin kendisi keke hiçbir zaman erişemez. Yalnızca Key Vault tarafından sağlanan anahtar sarmalama algoritmasını çağırır. Müşteriler, isterlerse anahtar sarmalama/açma için özel sağlayıcılar kullanmayı tercih edebilir
- Şifrelenmiş veriler daha sonra Azure Depolama hizmetine yüklenir. Alt düzey uygulama ayrıntıları için başvurular bölümündeki bağlantıları denetleyin.
|
Telefon yerel depolama alanına yazılan hassas veya PII verilerini şifreleme
| Başlık |
Ayrıntılar |
| Bileşen |
Mobil İstemci |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel, Xamarin |
| Öznitelikler |
Yok |
| Başvurular |
Microsoft Intune ilkeleri, Anahtarlık Valesi ile cihazlarınızdaki ayarları ve özellikleri yönetme |
| Adımlar |
Uygulama kullanıcının PII'sı (e-posta, telefon numarası, ad, soyadı, tercihler vb.) gibi hassas bilgiler yazıyorsa- mobilin dosya sisteminde, yerel dosya sistemine yazmadan önce şifrelenmelidir. Uygulama kurumsal bir uygulamaysa, Windows Intune kullanarak uygulama yayımlama olasılığını keşfedin. |
Örnek
Intune, hassas verileri korumak için aşağıdaki güvenlik ilkeleriyle yapılandırılabilir:
Require encryption on mobile device
Require encryption on storage cards
Allow screen capture
Örnek
Uygulama kurumsal bir uygulama değilse, şifreleme anahtarlarını depolamak için platform tarafından sağlanan anahtar deposunu, anahtarlıkları kullanın ve dosya sisteminde hangi şifreleme işleminin gerçekleştirilebileceğini kullanın. Aşağıdaki kod parçacığı, xamarin kullanarak anahtar zincirinden anahtara nasıl eriş yapılacağını gösterir:
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;
}
}
Son kullanıcılara dağıtmadan önce oluşturulan ikili dosyaları gizleme
| Başlık |
Ayrıntılar |
| Bileşen |
Mobil İstemci |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel |
| Öznitelikler |
Yok |
| Başvurular |
.NET için ŞifrelemeYi Gizleme |
| Adımlar |
Oluşturulan ikili dosyalar (apk içindeki derlemeler), derlemelerin tersine mühendisliğini durdurmak için karartılmalıdır. gibi CryptoObfuscator araçlar bu amaçla kullanılabilir. |
clientCredentialType değerini Sertifika veya Windows olarak ayarlama
| Başlık |
Ayrıntılar |
| Bileşen |
WCF |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
.NET Framework 3 |
| Öznitelikler |
Yok |
| Başvurular |
Kuvvetlendirmek |
| Adımlar |
Şifrelenmemiş bir kanal üzerinde düz metin parola ile UsernameToken kullanılması, parolayı SOAP iletilerini koklayan saldırganlara gösterir. UsernameToken kullanan Hizmet Sağlayıcıları düz metin olarak gönderilen parolaları kabul edebilir. Şifrelenmemiş bir kanal üzerinden düz metin parolaları göndermek, kimlik bilgilerini SOAP iletisini koklayan saldırganların kullanımına açabilir. |
Örnek
Aşağıdaki WCF hizmet sağlayıcısı yapılandırması UsernameToken'i kullanır:
<security mode="Message">
<message clientCredentialType="UserName" />
clientCredentialType değerini Sertifika veya Windows olarak ayarlayın.
WCF-Güvenlik Modu etkin değil
| Başlık |
Ayrıntılar |
| Bileşen |
WCF |
| SDL Aşaması |
Derleme |
| Geçerli Teknolojiler |
Genel, .NET Framework 3 |
| Öznitelikler |
Güvenlik Modu - Aktarım, Güvenlik Modu - İleti |
| Başvurular |
MSDN, Fortify Kingdom, WCF Security CoDe Dergisinin Temelleri |
| Adımlar |
Aktarım veya ileti güvenliği tanımlanmadı. İletileri aktarım veya ileti güvenliği olmadan ileten uygulamalar, iletilerin bütünlüğünü veya gizliliğini garanti edemez. WCF güvenlik bağlaması Yok olarak ayarlandığında, hem aktarım hem de ileti güvenliği devre dışı bırakılır. |
Örnek
Aşağıdaki yapılandırma, güvenlik modunu Yok olarak ayarlar.
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name=""MyBinding"">
<security mode=""None""/>
</binding>
</bindings>
</system.serviceModel>
Örnek
Güvenlik Modu Tüm hizmet bağlamalarında beş olası güvenlik modu vardır: