Vodafone da Güvenli Web Uygulamaları Geliştirme Deneyimleri Huzeyfe Önal Bilgi Güvenliği Denetim Uzmanı huzeyfe.onal@vodafone.com http://www.lifeoverip.net
Ajanda Geleneksel Güvenlik Yaklaşımı Neden Uygulama Güvenliği Uygulama Güvenliği Nedir? Vodafone Ortamı Uygulama Güvenliği Testi için Araç Seçimi IBM Appscan ile Çalışma
Geleneksel Güvenlik Yaklaşımı Network, işletim sistemi ve servis güvenliği Router(ACL), Firewall Intrusion Detection System Intrusion Prevention System >... Ağırlık Koruma tarafı için ayrılır 2000~ web uygulamalarının yaygınlaşması 2005~ Web uygulama güvenliği Koruma tarafında Application Firewall katmanı eklendi.
Geleneksel Güvenlik Yaklaşımı, devam AV Access Control And Firewall IDS/IPS Application Firewall The Enterprise DoS Web Server Databases Antispoofing Known Web Server Issues Parameter Tampering Cross Site Scripting Application Server Backend Server/System The Internet SSL Pattern- Based Attacks SQL Injection Port Scanning Cookie Poisoning
Neden Uygulama/WEB Güvenliği? Güvenlikte en büyük problem; problemi başka yerde aramak. Hizmet veren herşey bir uygulama/yazılımdır! Problemi temelinden çözmek için Yazılımlarda bulunan açıklık oranı günlük 17 olarak açıklanıyor. (CERT website March 28,2008) Tum bilişim sektörünü doğrudan ya da dolaylı olarak etkiler Uygulamalar WEB üzerine kayıyor Google office... 8000 7000 Vulnerabilities reported by CERT 6000 5000 4000 3000 2000 1000 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 Year
Neden Uygulama Güvenliği, devam Hacking Stage 6 Wikipedia, Feb 9 2007
Neden Uygulama Güvenliği, devam
Uygulama Güvenliği Nedir? Yazılım geliştiriciler en kısa sürede ortaya ürün çıkarma peşindeler. Guvenlik uzmanları yoğunlukla altyapı güvenliğine yönelmişlerdir Uygulama Güvenliği: Üretilen yazılımın fonksiyonlarını yitirmeden güvenli bir şekilde geliştirilmesini sağlama. Uygulama Güvenliği Yazılım Geliştirme IT Güvenlik
Uygulama Güvenliği Sorunları Güvenli kod geliştirme için oturmuş bir standart yok Geliştirme dilleri hala büyük açıklıklar içerebiliyor Denetim eksikliği Güncellenen kodlar daha farklı açıklıklar içerebiliyor.
Güvenli Uygulama Geliştirme Kaynakları, OWASP www.owasp.org OWASP 8 8
Güvenli Uygulama Geliştirme süreci nasıl olmalı? Security Analysis Techniques Find Vulnerabilities Using Combining All Four Find Vulnerabilities Using the Running Application Techniques is Most Effective the Source Code Manual Penetration Testing Manual Code Review Automated Vulnerability Scanning Automated Static Code Analysis OWASP 7
Web Uygulamalarının Güvenliğini sağlama yöntemleri WAF(Web Application Firewall) Html comment satırlarını yorumlamaz STA Default, kolay tahmin edilebilir parolalari engelleyemez Gizli kalması gereken dosya/dizinleri belirleyemez Application Scanner(Blackbox ) False positive sonuçlar Manual Review Insan kaynağı sorunu! Penetration Test Yazılımdaki mantıksal hataları keşfetmek zor
Vodafone Ortamı Vodafone bünyesindeki web uygulaması sayısı =x Geliştiriciler birbirinden bağımsız farklı departmanlarda Habersiz web sayfaları açılabiliyor Hemen her tür platformda geliştirme IBM Websphere, ASP.NET, PHP etc. Java, C++/C,VB/C#.NET, Perl, etc. In-house geliştirilen uygulamalar Herhangi bir gelistirme standartı yok! Outsource(dış kaynak) Kullanımı yoğun Hazır alınan ve kaynak kodu olmayan uygulamalar. Kontrolü güç bir ortam! * X=ÇOK
Vodafone Ortamı, devam... Test & live ortam birbirinden tam ayrılmamış Standart ve Uyumluluk Gereksinimleri SOX Information Security Politikaları PCI Information Security bölümü... Web uygulamalarının güvenli bir şekilde internete açılması SDLC sürecinde güvenlik bileşeninin oturtulması...
Neler Yaptık? Elinizde ne olduğunu bilmezseniz neyi koruyacağınızı da bilemezsiniz! Envanter çalışması Dışarıya açık kaç web/uygulama sunucusu var, üzerlerinde neler çalışıyor. Firewall üzerinden yeni açılacak web hizmetleri için kontrol Kimler(hangi departman) bu uygulamalardan sorumlu In-house ya da hazır alınan uygulamalar neler Yazılımcı ayrı altyapı sorumlusu ayrı? Zaafiyetler nerelerden kaynaklanabilir
Zaafiyetler nerelerden kaynaklanabilir
Neler Yaptık?, devam Hızlı aksiyon için seçeneklerimiz; Satatik kod analizi Web Application Firewall? alımı Penetration test süreci Uygulama güvenlik testleri(blackbox) Yapılacak en kolay ve hızlı iş güvenlik tarayıcıları ile sistemleri gözden geçirmek Risk oranı çeşitli kurumlarca belirlenmiş ve yüksek olan zaafiyetlerin(owasp top 10) raporlanması(app scanner) Tester/Attacker Black Box Testing Tool A.K.A. Application Scanner Application
Owasp Top 10 açıklıklarının giderilmesi
SDLC Sürecine Güvenlik Bileşenini Ekleme Update Application Firewall Config Maintenance Requirement Gathering Create a Threat Model Configure Application Firewall Black Box Testing White Box Testing Black Box Testing Deployment Testing Development Architecture Design Review and Augment Threat Model Review and Augment Threat Model White Box Testing Black Box Testing
Doğru Yöntem ve Doğru Aracın Seçilmesi Yöntem olarak uzaktan güvenlik testleri yapacak bir aracın alınmasına karar verdik. Seçim için araştırmalar başladı Đncelenen ürünler; AppScan - Watchfire (www.watchfire.com) Core Impact - Core Security (www.coresecurity.com) Hailstorm - Cenzic (www.cenzic.com) NTOSpider - NT OBJECTives (www.ntobjectives.com) WebInspect - SPI Dynamics (www.spydynamics.com) Fortify - Fortify Software (www.fortifysoftware.com) Ounce - Ounce Labs (www.ouncelabs.com) Veracode (www.veracode.com)
Doğru Aracın Seçilmesi Kriterlerimiz; Bağımsız raporlar tarafından tavsiye edilen ürün olmalı Kolay kullanım ve açık dökümantasyon Raporlama ve öneriler Ürün alımı sonrası teknik destek yeterli olmalı Appscan örneği. Genişleyebilir yapı sunabilmesi Enterprise versiyon
Güvenlik denetim politikasının oluşturulması SDLC sürecine katkı Belirlenen envanter üzerinden 15 günlük tarama peryotları belirlendi. Yazılımcı gurpları bilgilendirilerek güncellemeler sonrası ek taramalar ayarlandı Yazılımcılar güvenlik kod yazılım eğitimine tabi tutuldular.
Appscan Nedir? Explore web site to detect Identify Vulnerabilities ranked Advanced remediation, fix structure and complexity after severity recommendations and security enablement
Appscan Nasıl Çalışır? Uygulamayı bir black-box olarak değerlendirir. Site modelini çıkarmak için ön keşif çalışması yapar Seçilen tarama politikasına göre atak vektörlerini belirler Uygulamaya http istekleri gönderir ve dönen cevaplara göre zaafiyet belirleme yapar. False positive ihtimaline karşılık test sonuçları üzerinde oynama imkanı verir HTTP Request Web Application HTTP Response
AppScan Kullanımı Çalışanlarınızdan bu işe en yatkınını Appscan eğitimi aldırılır Yazılım temelli olması tercih edilmeli. Gerektiğinde manual test yapabilecek birileri tercih edilmeli Düzenli taramalar sonrası çıkan raporlar incelenerek ilgili ekiplerle toplantılar yapılmalı ve zaafiyetlerin giderilmesi için destek sağlanmalı
Tarama Sonuçları ve hataların düzeltilmesi
Sonuç Web ve uygulama güvenliği uzun bir süre daha güvenlik dünyasında popülerliğini koruyacak Tam güvenli bir yazılım hiçbir zaman geliştirilemeyecek(?) Amaç riski sıfıra indirmek değil, olabildiğince azaltmak ve açıkta kalanları kontrol etmek. Baştan alınmış önlemler her zaman daha az maliyet ve daha güvenli yapılar sunar Güvenlik bir lüks değil, gereksinimdir!
Sorularınız?
Teşekkürler... Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the ondemand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.