Site icon BGA Cyber Security – Siber Güvenlik Çözümleri

Web Uygulama Güvenliği Pentest Nasıl Yapılır?

Web Uygulama Güvenliği Pentest Nasıl Yapılır?

Web Uygulama Güvenliği Pentest Nasıl Yapılır? Günümüz bilgi güvenliğinde iki tür yaklaşım vardır. Bunlarda kabul göreni proaktif yaklaşımdır. Pentest yani sızma testleri ve vulnerability assessment yani zayıflık tarama konusu proaktif güvenliğin en önemli bileşenlerinden biridir.

Pentest (sızma testleri) ve vulnerability assessment (zayıflık tarama) birbirine benzeyen fakat farklı kavramlardır. Zayıflık tarama hedef sistemdeki güvenlik açıklıklarının çeşitli yazılımlar kullanarak bulunması ve raporlanması işlemidir.

Pentest çalışmalarında ise amaç sadece güvenlik açıklıklarını belirlemek değil, bu açıklıklar kullanılarak hedef sistemler üzerinde gerçekleştirilebilecek ek işlemlerin (sisteme sızma, veritabanı bilgilerine erişme) belirlenmesidir. BGA Bilgi Güvenliği Web Uygulama sızma testleri ile bu noktada ön plana çıkmaktayız.

Zayıflık tarama daha çok otomatize araçlar kullanılarak gerçekleştirilir ve kısa sürer. Pentest çalışmaları ise zayıflık tarama adımını da kapsayan ileri seviye tecrübe gerektiren bir süreçtir ve zayıflık tarama çalışmalarına göre çok daha uzun sürerek tespit edilen zafiyetler incelenir ve müşterilere özel raporlar sunulur.

BGA “Web Application Security Assessment Framework” hazırlanırken konu hakkındaki uluslararası standartlar incelenmiş ve azami ölçüde faydalanılmıştır. Aşağıda ise bu makalenin hazırlanmasında kaynak olarak kullanılan dokümanların isimleri yer almaktadır.

Gerçekleştirilen testler uluslararası standart ve yönetmeliklere (HIPPA, Sarbanes-Oxley, Payment Card Industry (PCI), ISO 27001) tam uyumludur. İstenildiği takdirde ilgili standart ve yönetmeliğe uygun ek rapor hazırlanabilmektedir. Dilerseniz BGA Bilgi Güvenliği A.Ş. olarak müşterilerimize sunmuş olduğumuz örnek sızma testi sonuç raporumuzu inceleyebilirsiniz.

Sızma Testleri (Pentest) Süreci

Kapsam belirleme aşamasında firmadan test edilecek sistemlere ait detay olmayan bilgiler talep edilir. Firma vereceği bilgilerin hassaslığı konusunda tereddütlere sahipse hızlıca NDA (gizlilik sözleşmesi) imzalanarak bir sonraki adımdan devam edilir. Belirlenen kapsam sonrası çalışmanın ne olacağı belirlenir ve kaç gün süreceği ve fiyat gibi ek detaylar belirlenerek firmaya bildirilir. Gizlilik sözleşmesi, gerçekleştirilecek pentest çalışmasının detaylarının kesinlikle üçüncü parti firma/kişilerle paylaşılmayacağı, pentest sürecinde elde edilen bulguların sistemlerde şifreli saklanacağı ve kesinlikle farklı amaçlarla kullanılmayacağı gibi adımları belirleyen önemli bir dokümandır.

Pentest Hizmeti

Kapsam belirleme ve NDA imzalanması sürecini takiben pentest çalışmaları başlayacaktır. Gerçekleştirilecek olan pentest çalışması BGA’nın cloud sistemlerinden gerçekleştirileceği için tüm yapılan denemelerin loglanması ve gerçek saldırı ile pentest denemelerinin ayırt edilmesi mümkün olmaktadır. İstenildiği takdirde pentest çalışmasını takip eden iki gün içerisinde tüm pentest çalışmalarının detaylarını içeren özel eğitim verilebilmektedir. Aşağıda web application pentest süreçlerinde kullandığımız teknik detaylar yer almaktadır.

Web Pentest Nasıl Yapılır?

Testlerimiz hedef sistemde kullanılan platform ve geliştirme dilinden (PHP, Ajax, JavaScript, JSP, Java, ASP, ASP.NET, Cold Fusion, Perl, Flash ve Ruby) bağımsız olarak gerçekleştirilmektedir. Pentest çalışmalarında daha çok elle yapılan testler ön plana çıkmaktadır. Otomatize araçlar genellikle işlemleri hızlandırmak ve post exploitation olarak adlandırılan sisteme sızma sonrası ek bilgi edinme (Sqli sonrası veritabanı yapısının belirlenmesi ve verilerin indirilmesi gibi) amaçlı kullanılmaktadır. Gerçekleştirilecek testler firmanın isteğine göre iki farklı şekilde olabilmektedir.

BlackBox Web Pentest Yöntemi

Test edilecek uygulama ile ilgili tek bilgi uygulamaya ait web sayfasıdır. Bu yöntemde amaç web uygulamasının tamamen dışarıdan üçüncü bir gözle incelenmesi ve açıklıkların belirlenerek ne tip saldırılara açık olduğunun ortaya çıkartılmasıdır.

Whitebox Web Pentest Yöntemi

Bu yöntemde hedef uygulama hakkında olabildiğince detay bilgi alınarak testlere başlanır. Test yaptıracak firmadan alınması gereken en önemli bilgi teste tabi tutulacak web uygulaması test kullanıcı adı ve test şifresi alınır.

Web Sızma Testleri Detayları Uygulama Keşif ve Bilgi Toplama Adımı

İlk olarak uygulamanın keşfi gerçekleştirilmektedir. Bu aşamada amaç hedef web uygulamasına ait doğrudan bulunabilen ve doğrudan link verilmemiş dosya ve dizinlerin çıkarılması, hedef sistemdeki uygulamanın tam olarak tanımlanmasıdır. Adım adım bilgi toplama aşaması aşağıdaki gibidir.

Web Pentest Saldırı Denemeleri

Web Pentest saldırı denemelerinde dokuz farklı kategoride 66 saldırı denemesi gerçekleştirilmektedir.

Kimlik Doğrulama Testleri

Oturum Yönetimi Testleri

Yetkilendirme Testleri

İş Mantığı Denetim Testleri

Veri Doğrulama Testleri

Hizmet Dışı Bırakma Testleri

Web Servisi Testleri

Ajax Testleri

Web Uygulama Güvenlik Sistemlerinin Testleri

Web Pentest Risk Seviyelendirme

Risk analizi prosedürüne direk katkıda bulunacak bu teknik rapor, risk hesaplamada kullanılan aşağıdaki klasik formülü referans almaktadır.

VARLIK DEĞERİ x (TEHDİT x OLASILIK x ZAFİYET)

Yukarıdaki hesaplamada varlığın değeri çarpanı risk analiz prosedürüne bırakılıp, parantez içindeki ikinci çarpan bu teknik raporda bulunan açıklıkların seviyelendirmelerinde kullanılacaktır. Tehdit, Olasılık ve Zafiyet olguları aşağıda tanımlanmıştır.

TEHDİT x OLASILIK x ZAFİYET hesaplaması ile, penetrasyon ve denetim çalışmalarında bulunan açıklar seviyelerin okunma kolaylığı açısından beş risk aralığında değerlendirilmişlerdir. Bu şekilde bu değerler, mesela, PCI-DSS güvenlik tarama prosedürleri dokümanında kullanılan beşli seviye risk değerleri ile örtüşmelidir.

Web Application Pentest Çalışmalarında Kullanılan Yazılımlar

BGA Pentest ekibi olarak ticari, açık kaynak kodlu ve kendi geliştirdiğimiz yazılım/araçları kullanıyoruz. Kendi geliştirdiğimiz araçlar daha çok genel amaçlı kullanılan yazılımlarla gerçekleştirilemeyecek kadar özel olan durumlarda tarafımızdan, Python, bash, C#, C ve PHP dilleri kullanılarak geliştirilmektedir.

Kullanılan Ticari Yazılımlar

Kullanılan Açık Kaynak Kodlu/Ücretsiz Yazılım ve Bileşenler

Web Pentest Raporlama

Pentest çalışmasının en önemli bileşenlerinden biri raporlama kısmıdır. BGA pentest ekibi olarak raporlama konusuna özel önem veriyoruz ve rapora yazılan tüm bulguların false positive olmamasını sağlamaya özen gösteriyoruz. Raporu sadece teknik değil, yöneticilerin de okuyacağı düşüncesiyle raporun giriş kısmı yönetici özeti olarak kısa ve öz yapılan çalışma ve çalışmanın sonucunu içerecek şekilde hazırlanmaktadır. Raporda ayrıca tüm açıklıklara ait referans bilgileri, varsa sisteme sızma adımlarının detayları ve kullanılan komut/araçlar ve açıklığın kapatılması için yapılması gerekenler raporu okuyanları sıkmayacak ve kafa karıştırmayacak sadelikte yazılmaktadır.

Neden BGA Web Pentest Hizmeti?

BGA Bilgi Güvenliği A.Ş. Pentest hizmetini tercih etmeniz için bazı önemli nedenler.

Detaylı bilgi ve fiyat teklifi için bilgi@bga.com.tr adresimizden iletişime geçebilir veya Pentest Hizmeti sayfamızdan teklif alabilirsiniz.

Exit mobile version