Ana SayfaBelgelerKod ÖrnekleriAPI BaşvurusuDuyurularModellerSürüm NotlarıSSSGitHubVideolar
Geliştirici MerkeziAPI DurumuDestek
Belgeler
Geliştirici MerkeziAPI DurumuDestek

Güvenlik Açığı Yönetimi

Etkili güvenlik açığı uygulamaları geliştirin.

Genel Bakış

Bu teknik belge, güvenlik açığı taramaları, sızma testleri ve kod güvenlik açığı taramaları gibi farklı güvenlik açığı yönetimi uygulamalarını kapsar. Bu makale ayrıca, bir olay nedeniyle hizmet kesintisinden sonra kullanılabilirliği ve erişimi geri yüklemek için süreçleri inceleyecektir..

Veri Koruma Politikası (DPP) şartları

Bir parçası olarak Amazon'un Veri Koruma Politikası (DPP) (DPP), geliştiricilerin güvenlik açığı taramaları en az altı ayda bir uygulamalı, yıllık penetrasyon testleri, yeni kod, özellikler veya ürünler yayınlanmadan önce güvenlik açığı taramaları uygulamalı ve Kişisel Tanımlanabilir Bilgilere (PII) saatler içinde erişilebilirliği ve erişimini geri yükleyebilmelerini sağlamak zorundadır. Bu, PII dahil olmak üzere hassas verilerin maruz kalmasını önlemek içindir. Her SP-API geliştiricisinin, herkese açık web siteleri, arayüzler, sunucular ve yeni özellikler gibi savunmasız noktaların piyasaya sürülmeden önce bile beklenen güvenlik ve koruma düzeyine sahip olmasını sağlaması gerekir.

Güvenlik Açığı Yönetimi

Geliştiriciler, güvenlik açıklarını tespit etmek ve düzeltmek için bir plan veya çalışma kitabı oluşturmalı ve sürdürmelidir. Geliştiriciler, güvenlik açığı taramaları gerçekleştirerek ve uygun şekilde düzelterek PII içeren fiziksel donanımı teknik güvenlik açıklarından korumalıdır. Geliştiriciler en az 180 günde bir güvenlik açığı taraması yapmalı, en az 365 günde bir sızma testi yapmalı ve her sürümden önce güvenlik açıkları için kod taramalıdır. Ayrıca geliştiriciler, değişiklikleri test ederek, doğrulayarak, değişiklikleri onaylayarak ve bu eylemleri kimlerin gerçekleştirebileceğine erişimi kısıtlayarak depolama donanımındaki değişiklikleri kontrol etmelidir. Geliştiriciler, fiziksel veya teknik bir olay durumunda PII'ye erişilebilirliği ve erişimi zamanında geri yüklemek için uygun prosedürlere ve planlara sahip olmalıdır.

Güvenlik açığı taramaları

Güvenlik açığı taraması, uygulamanın çalıştırdığı örnekler veya yazılımlar için ana bilgisayar erişimini, zayıflıkları ve ağ boşluklarını belirleme, keşfetme, analiz etme ve raporlama işlemidir.

Güvenlik açısından halka açık cihazların/örneklerin kötü aktörlere karşı korunduğunu doğrulamak önemlidir. İdeal bir senaryoda, risk faktörlerini ve ağ içindeki olası saldırı vektörlerini (yazılım ve donanım varlıkları dahil) tanımlamak/sınıflandırmak için taramalar güvenlik açığı tarayıcı araçları tarafından çalıştırılabilir.

İşte Açık Web Uygulaması Güvenliği Projesi'ne göre ilk on güvenlik açığı (WASP) 2021 ve ilişkili Ortak Zayıflık Numaralandırmaları (CWE) için:

CWEGüvenlik Açığı NoktasıKısa Açıklama
A01Bozuk erişim kontrolüKullanıcı, erişememesi gereken bir eylemi gerçekleştirir.
A02Şifreleme hatalarıKriptografik uygulamaların eksikliği veya zayıf.
A03EnjeksiyonBilgisayar korsanları veri ekleyebilir ve bir ağ içinde manipüle edebilir.
A04Güvensiz tasarımAğ tasarım aşamasında planlama eksikliği.
A05Güvenlik mikro yapılandırmalarıVeritabanlarındaki, kitaplıklardaki veya sunuculardaki güvenlik ayarları ayarlanmamış, bu da bir güvenlik açığına yol açabilir.
A06Savunmasız ve eski bileşenlerYazılımın veya işletim sisteminin eski veya desteklenmeyen sürümleri.
A07Tanımlama ve kimlik doğrulama hatalarıKullanıcı erişim kontrolleri ve kimlik bilgisi yönetimi eksikliği.
A08Yazılım ve veri bütünlüğü hatalarıBütünlük ihlallerine karşı koruma yok.
A09Güvenli günlük kaydı ve izleme hatasıİhlalleri ve giden saldırıları tespit etmeyi zorlaştıran izleme hizmeti yok.
A10Sunucu tarafı istek sahteciliği (SSFR)Bir uygulamayı ağ güvenliğini atlayan istekler göndermeye zorlayan bir kullanıcı tarafından sağlanan doğrulanmamış URL.

Bakınız OWASP - Güvenlik Açığı Tarama Araçları ücretsiz ve ücretli tarama araçlarının bir listesi için.

Taramalar tamamlandıktan sonra, geliştiriciler güvenlik etkisinin düzeyine göre güvenlik açıklarına öncelik vermeli ve bunları buna göre düzeltmek için çalışmalıdır.

  • Harici güvenlik açığı taramaları: Harici taramalar, bağlantı noktaları, web siteleri, ağlar ve uygulamalar gibi harici/genel noktalardaki güvenlik açıklarını kontrol etmek içindir.

  • Dahili güvenlik açığı taramaları: Dahili taramalar, özel bir ağ içindeki olası güvenlik boşluklarına ilişkin görünürlük sağlar.

  • İzinsiz ve müdahaleci olmayan taramalar: İzinsiz taramalar, ağ trafiği veya veritabanının sürümü gibi belirli bir hedefi tarar, ancak güvenlik açığından yararlanmadan yalnızca bilgileri kontrol ettiği için hizmet düzeylerini etkilemez. İzinsiz tarama, güvenlik açığından en üst düzeyde yararlanmak ve bulunan güvenlik açıkları hakkında daha fazla bilgi sağlamak içindir, ancak aynı zamanda hizmet seviyelerini de kesintiye uğratır, bu nedenle kontrollü bir ortamda kullanın.

Amazon Inspector

Amazon Müfettişi EC2 bulut sunucularını çalıştıran işletim sistemlerinde güvenlik açığı olmadığını doğrulamak için iş yüklerini ve istenmeyen ağ maruz kalmalarını tarayan ölçeklenebilir bir güvenlik açığı yönetim aracıdır.

Amazon Inspector, güncellenmiş Ortak Güvenlik Açıkları ve Maruz Kalma (CVE) faktörlerini kullanarak ve Java, Python ve Node.js gibi farklı kodlama dillerini denetleyerek neredeyse gerçek zamanlı güvenlik açığı bulma raporları sunar. Amazon Inspector'ı kullanan geliştiriciler bunu PCI, ISO ve CSA STAR sertifikaları gibi programların uyumluluk doğrulaması için kullanabilir.

The Amazon Inspector architecture.

Amazon Guard

Amazon'un Güvenlik ekibi geliştirildi Amazon'un SP-API koruması Güvenlik uyumluluğunu kontrol etmek ve değerlendirmek için AWS bulut sunucularında çalışan bir uygulama olarak Amazon'un DPP. SP-API Guard ayrıca bir gün içinde bulduğu güvenlik açığının bir S3 klasörüne bir öneri raporunu da sağlar. Bu, bulunan güvenlik açıkları için önerilen çözümler sağlarken manuel Veri Güvenliği Değerlendirmeleri ve düzeltme planı süreleri için gereken çabayı azaltır.

The Amazon Guard architecture.

Sızma testi

Penetrasyon testi (kalem testi), simüle edilmiş/kontrollü bir ortamda uygulamaların veya ağların farklı noktalarındaki herhangi bir güvenlik açığını kontrol etmenin bir yoludur. Bu, hangi güvenlik açıklarının kötü aktörler tarafından istismar edilebileceğini doğrulamak için yapılır.

Kalem testi aşağıdaki aşamalardan oluşur:

  • Planlama Aşaması: Ekip, test cihazlarının kalem testlerinin hedeflerini ve kapsamını belirler. Tüm taraflar yaklaşan testlerden haberdar olmalıdır.

  • Tarama/Keşif Aşaması: Kalem test cihazları ağ tanıma ve kod denetimi sürecini başlatır.

  • Penetrasyon Aşaması: Kalem test cihazı, güvenlik açıklarından yararlanmak için SQL enjeksiyonu, siteler arası komut dosyası oluşturma ve arka kapılar gibi farklı saldırı türlerini kullanarak ağa/örneklere erişim sağlamaya çalışır.

  • Analiz/Rapor Aşaması: Kalem test cihazı, ağ güvenliğine nüfuz etmek için alınan eylemler ve bulunan güvenlik açıkları hakkında ayrıntılı bilgi içeren bir rapor oluşturur. Kalem test cihazı raporda önerilen eylemler bölümünü içermelidir.

  • İyileştirme/Temizleme Aşaması: Sorumlu ekip liderliği üstlenir ve kalem testleri tamamlandıktan sonra bildirilen güvenlik açıklarını gidermek için çalışmaya başlar.

Güvenlik açıklarının giderilmesini veya yamalanmasını sağlamak için ekstra bir güvenlik adımı olarak geliştiriciler, geride bırakılmış veya gözetimsiz bir öğe olmadığından emin olmak için düzeltme aşamasından sonra ikinci bir test çalıştırır.

OWASP ayrıca bir penetrasyon testi kılavuzu sunar (OWASP ZAP) uygulama düzeyinde kalem testlerinin nasıl uygulanacağı ve güvenlik duvarları ve bağlantı noktaları gibi ağ bileşenleri için daha fazla bilgi edinmek isteyen geliştiriciler için.

Kod güvenlik açığı taramaları

Kod güvenlik açığı taramaları, yeni bir özellik/ürün piyasaya sürüldüğünde riskleri azaltmayı amaçlamaktadır. Geliştiriciler, aşağıdaki kod tarama araçlarını kullanarak kod dağıtıldığında hata, teknik sorun veya güvenlik açığı olmadığından emin olabilir:

  • Statik Uygulama Güvenlik Testi (SAST): Kodu çalıştırmak zorunda kalmadan kodun gözden geçirilmesi. SAST, içindeki güvenlik sorunlarını belirtmek için kodun nasıl yazıldığını kontrol eder.

  • Dinamik Uygulama Güvenlik Testi (DAST): SAST'ın aksine, DAST, kötü amaçlı yük enjeksiyonlarıyla saldırıları simüle ederek çalışan bir uygulamadaki kodu kontrol eder. DAST, geliştiricilerin çalışan bir uygulamadaki güvenlik açıklarını belirlemelerine yardımcı olur.

  • Etkileşimli Uygulama Testi (IAST): IAST, test ortamlarında uygulama işlevlerini kontrol eder. Bu, piyasaya sürülmeden önce güvenlik açıklarını gidererek olası kesinti sürelerini veya hizmet kesintilerini azaltmaya yardımcı olduğu için uygulamayı ve ölçeklenebilirliği kolaylaştırır.

Bu araçlar, uygulama güvenliğini ilk on güvenlik riskine karşı kontrol etmek için OWASP tarafından verilen standartlara uymalıdır. Geliştiriciler, ürün piyasaya sürüldükten sonra hizmeti etkileyen veya kesintiye uğratan güvenlik kusurlarını belirlemek, sınıflandırmak ve önceliklendirmek için kod tarama işlemine devam etmelidir.

Felaket kurtarma planı

Uygulama kullanıcılarının olaylardan (teknik veya fiziksel) etkilenmemesini sağlamak için geliştiricilerin, Kurtarma Süresi Hedefi (RTO) ve Kurtarma Noktası Hedefi (RPO) dikkate alınarak, PII verilerine erişilebilirlik ve erişimin kısa sürede nasıl geri yükleneceğine ilişkin eylemleri kapsayan bir plana sahip olmalıdır. AWS şu konularda rehberlik sunar Bulut Uygulamaları için RTO ve RPO Hedeflerinin Belirlenmesi.

  • RTO: Geliştiricilerin uygulama kullanıcılarına normal hizmet seviyelerini geri yüklemesi için geçen süre. Bu, uygulamanın işlevselliği için kritik olan ağ örnekleri/hizmetleri içinde yedeklilik sağlayarak gerçekleştirilebilir.

  • RPO: Geliştiricilerin verileri geri yükleyebilecekleri zaman noktası, başka bir deyişle, bir olaydan sonra ne kadar veri kaybının kabul edilebilir olduğu. Bu hedefin temel bir yönü, verilerin farklı konumlarda bir veya daha fazla yedeklemesine sahip olmak ve mümkünse bu yedeklemeleri haftada iki kez gerçekleştirmektir.

Geliştiricilerin kurtarma stratejilerini kullanmaları ve hedefleri karşılamak için test etmeleri beklenir (RTO ve RPO). AWS Dayanıklılık Merkezi RTO ve RPO hedeflerinin oluşturulmasına yardımcı olan ve uygulamaları bu hedeflere göre analiz eden bir AWS hizmetidir.

Sonuç

Güvenlik açığı yönetimi temel bir güvenlik standardıdır. Güvenlik açığı taramaları ve sızma testleri, bir ağ ortamı ve uygulama örnekleri içindeki olası riskleri belirlemeye ve azaltmaya yardımcı olur. Geliştiriciler, DPP gereksinimlerine uygun olarak yılda en az bir kez güvenlik açığı taramaları ve kalem testleri çalıştırmalıdır. Bu değerlendirmeleri yürütme uygulaması, geliştiricilerin güvenlik olgunluklarını artırmalarına ve yasal düzenlemeler veya endüstri en iyi uygulamaları gibi karşılaşabilecekleri standartlara uymalarına yardımcı olur.

Geliştiriciler, özelliklerin veya ürünlerin piyasaya sürülmesinden önce bir kod taraması çalıştırmalıdır. Yeni sürümler için güvenlik boşluğu olmadığından ve hiçbir verinin açığa çıkmadığından emin olmak için testler izole ve kontrollü bir ortamda yapılmalıdır.

Yedeklemelere, anlık görüntülere veya görüntülere sahip olmak, bir olay nedeniyle PII verilerini kaybetmenin etkisini azaltmaya yardımcı olur. Uygulama hizmetlerinizin esnekliğini sağlamak, PII verilerine erişimi ve kullanılabilirliği geri yüklemeniz için gereken süreyi azaltır.


Bu sayfa size yardımcı oldu mu?