Halil ÖZTÜRKCİ, MVP
CISSP, CISA,GPEN,CEH,CHFI
BT Güvenlik Hizmetleri Direktörü
halil.ozturkci@adeo.com.tr
AnkaSec Organizasyon Kurulu Üyesi-İsim
Babası☺
Microsoft MVP, Enterprise Security
Profesyonel Penetration Tester
Adli Bilişim Uzmanı
SANS Mentor (www.sans.org)
ADEO Kurucu Ortak&Güvenlik Birimi
Yöneticisi
CISSP, GPEN, CISA, CHFI, CEH
Firewall’um var, güvendeyim.
Web sunucularımızın üzerinde en güncel
antivirüs yazılımları çalışıyor.
Beni mi bulacaklar?
XSS’den ne çıkar?
Parolaları MD5 ile saklıyoruz.
...
Data thieves steal credit card data
from supermarket chain
March 18, 2008

Robert McMillan

Retailers Hannaford Brothers and Sweetbay admit to being the
targets of a massive credit-card data theft disclosed Monday…….
stealing an estimated 4.2 million credit and debit card
numbers………. some cases of identity theft had been associated
with the incident

'BusinessWeek' site hacked
September 15, 2008

By Elinor Mills

Hackers have broken into BusinessWeek's online site
….. The hackers used an increasingly common form
of attack called SQL injection, in which a small
malicious script is inserted into a database that feeds
information to the BusinessWeek
Web site.

11 March 2009

4
2009’un ilk yarısında çok fazla sayıda otomatik SQL injection saldırıları ile karşılaşıldı.
Detaylı analiz için aşağıdaki makaleler bakılabilir.
Anatomy of a SQL Injection Incident (March 14, 2008)
Anatomy of a SQL Injection Incident, Part 2: Meat (March 15, 2008)
•2009'un ilk yarısında açıklanan zafiyet oranı bir önceki yılın ikinci yarısına
oranla %28,4 azalmış durumda.
•Açıklanan işletim sistemi zafiyetleri stabil şekilde devam ediyor.
•Kaynak:Microsoft Güvenlik İstihbarat Raporu Volume 7
Uygulamalar:
İhmal Edilmiş ve Korumasız
Sunucular:
Saldırı Tespit Sistemleri tarafından
korunuyor
Network:
Firewall’lar tarafından korunuyor
Uygulamalar

Sunucular
Network

Taranan 31,373 sitenin %85’inde
hacker’lar tarafından kötüye
kullanıma sebep olacak ve
sonucundaki kritik dataların
okunmasına, değiştirilmesine
yada transfer edilmesine sebep
olacak açıklıklar tespit
edilmiştir.
-- Web Application Security Consortium
DMZ
Güvenilen
Kullanıcılar/
Müşteriler

İç Network
Sadece port 80
ve 443(SSL)
açık

Sadece Web
Server
Uygulama
Sunucusuna
erişebiliyor

Internet
(veya Intranet)

Web
Server

Hacker

Application
Server

Database
Server
“Risk”

“Güvenlik Zafiyeti”

Görev-Kritik Uygulamarın
Hizmet Verememesi

Cross-Site
Request Forgery
(CSRF)

Hasta, müşteri yada kredi
kart bilgilerinin yetkisiz
kişilerin eline geçmesi
Yansımaları

Session Hijack

Uyumluluk Kaybı
Kazanç Kaybı
Yasal Mesuliyet
Telif Hakları

Open Redirect
Insecure Data Storage

Müşteri inancının
zedelenmesi
Unvalidated Input
Broken Access Control
Broken Authentication and Authorization
Cross Site Scripting (XSS)
Buffer Overflows
Injection Flaws
Improper Error Handling
Insecure Storage
Denial of Service
Insecure Configuration Management
http://www.owasp.org/documentation/topten.html
Güvenlik
Uzmanları
-Biz yazılımdan
anlamayız ki!

Yazılım Geliştiriciler

Birisi bu boşluğu doldurmalı

-Motivayonum fonksiyonel
yazılım geliştirmek. Güvenli
yazılım nasıl geliştirilir ki!
?

?

JAVA

?

JAVA
FLASH

PHP

PHP

?

PHP

?

.NET

JAVA
ASP

FLASH

JAVA

Web
Services

.NET
Web
Services

Web
Services

FLASH
ASP

?

JavaScript

PHP
Web
Services

JavaScript
JavaScript

FLASH

?

JAVA

FLASH

?

?
PHP

JavaScript

Şirketleri ve Kurumların birçoğunda 100'lerce, 1000'lerce web uygulaması var ve bu sayı gün geçtikçe artıyor!

HANGİ uygulamalarım var?

HANGİ uygulamaların kritik/değerli veri içeriyor?

NASIL güvenlik kapsamını genişletebilirim?

NEREYE yoğunlaşmalıyım?
Gerçeklenen
Fonksiyonellik

İstenen
Fonksiyonellik
Gerçeklenen
Fonksiyonellik

İstenen
Fonksiyonellik

Sahib
Olunan
Özellikler

İstenmeden
Gerçekleştirilen ve
Dokümante Edilmemiş
Fonksiyonellik

Bug’lar
Uygulama çalışır durumdayken testler gerçekleştirilir.
Testler Uygulama Güvenlik Zafiyet Tarayıcıları tarafından
gerçekleştirilir.
Genellikle uygulamalardaki teknik hataları, sıkıntıları
black-box yöntemiyle bulma yönünde motive olmuşlardır.
Öncelikle test edilecek uygulama crawl edilerek bütün
input noktaları tespit edilir.
2006 yılında Gartner tarafından yapılan analizde Uygulama
Güvenlik Tarayıcılar için aşağıdakiler öngörülmekteydi;
2010 yılına kadar web uygulamalarını bir uygulama güvenlik
tarayıcı ile tarayan kurumlarıın uygulamalarındaki zafiyetlerin
kötüye kullanım oranı %70’e yakın azalma gösterecek.
2008 yılı sonuna kadar enterprise segmentteki firmaların %40'ı
web uygulama güvenlik tarayıcılarını geliştirme süreçlerine
entegre edecekler.
Güvenlik Uzmanı
HP
WebInspect

Web Application

Results

- “Black Box” olarak
adlandırılır
- 1 konu başlığı birden fazla
problemi işaret ediyor
olabilir
- Bir çok farklı konu başlığı
tek bir problemi işaret
ediyor olabilir.
- Yazılım Geliştiricilere Verilen
- URL’ler ve kullanılan hacking
tekniği
- Doğrulama için gerekli
değerler

Yazılımcı
21
Güvenlik Uzmanı

Yazılımcı

22
Güvenlik Uzmanı
HP
WebInspect

Web Application

Source Code

Results

Hybrid
Results

Results

Fortify
Source Code
Analysis

Yazılımcılar

23
Fortify
Runtime
Analysis

Pen Tester

HP
WebInspect

Results

Hybrid+
Results

Web Application

Source Code

Results

Fortify
Source Code
Analysis

Yazılımcı

24
•

“Runtime Data” olarak adlandırabileceğimiz Stack Trace’ler, Oturum Bilgileri,
Parametreler ve Değişken Değerleri Runtime Analysis üzerinden geliyor.

•

Fortify Runtime Analysis + WebInspect = Hybrid 2.0
• SAST/DAST sonuçlarını uygun şekilde ortüştürmek için Runtime Analysis ‘e ihtiyaç var.
• Runtime Analysis güvenlik testi yapanlara ve uygulamayı geliştirenlere tespit edilen

zafiyetlere uygulama içinden bakabilme imkanı tanır.
25
2010 yılınndan itibaren DAST ve SAST
üreticileri hibrid bir yaklaşıma olan static ve
dinamik uygulama güvenlik testi yaklaşımına
doğru kayacaklar.
2010 yılından itibaren lider uygulama
güvenlik test aracı üreticileri SaaS (Software
as a Service) yaklaşımı çerçevesinde servis
olarak müşterilerine bu hizmetleri sunmaya
başlayacaklar.
2013 yılı içerisinde SAST (Static Application
Security Testing) ürünleri markette standalone bir ürün olmaktan çıkıp teknoloji ve
servis üreticisi firmaların yazılım yaşam
döngüsü (SLC-Software Life Cycle)
platformlarına entegre ettikleri bir teknoloji
olarak yaşamlarını sürdürecekler.
Gelişmiş bir Uygulama Güvenliği Programı’nı
inşa etmek, bir uygulama zafiyet tarayıcısını alıp
çalıştırmak ya da bir WAF'ı devreye almak kadar
kolay bir süreç değildir
Güvenli yazılım geliştirmek için her adımında
güvenliği de hesaba katan birYazılım Geliştirme
Yaşam Döngüsü'ne ihtiyaç vardır.
Güvenli yazılım geliştirme sürecini sürekli hale
getirmek için gerek organizasyonun yapısından
gerek kurum kültüründen gerekse de iş
baskısından kaynalanan sıkıntılar
adreslenmelidir ve çözülmelidir.
Yazılım Güvenliği Temelleri

Yazılım Güvenliği Temelleri

  • 1.
    Halil ÖZTÜRKCİ, MVP CISSP,CISA,GPEN,CEH,CHFI BT Güvenlik Hizmetleri Direktörü halil.ozturkci@adeo.com.tr
  • 2.
    AnkaSec Organizasyon KuruluÜyesi-İsim Babası☺ Microsoft MVP, Enterprise Security Profesyonel Penetration Tester Adli Bilişim Uzmanı SANS Mentor (www.sans.org) ADEO Kurucu Ortak&Güvenlik Birimi Yöneticisi CISSP, GPEN, CISA, CHFI, CEH
  • 3.
    Firewall’um var, güvendeyim. Websunucularımızın üzerinde en güncel antivirüs yazılımları çalışıyor. Beni mi bulacaklar? XSS’den ne çıkar? Parolaları MD5 ile saklıyoruz. ...
  • 4.
    Data thieves stealcredit card data from supermarket chain March 18, 2008 Robert McMillan Retailers Hannaford Brothers and Sweetbay admit to being the targets of a massive credit-card data theft disclosed Monday……. stealing an estimated 4.2 million credit and debit card numbers………. some cases of identity theft had been associated with the incident 'BusinessWeek' site hacked September 15, 2008 By Elinor Mills Hackers have broken into BusinessWeek's online site ….. The hackers used an increasingly common form of attack called SQL injection, in which a small malicious script is inserted into a database that feeds information to the BusinessWeek Web site. 11 March 2009 4
  • 8.
    2009’un ilk yarısındaçok fazla sayıda otomatik SQL injection saldırıları ile karşılaşıldı. Detaylı analiz için aşağıdaki makaleler bakılabilir. Anatomy of a SQL Injection Incident (March 14, 2008) Anatomy of a SQL Injection Incident, Part 2: Meat (March 15, 2008)
  • 10.
    •2009'un ilk yarısındaaçıklanan zafiyet oranı bir önceki yılın ikinci yarısına oranla %28,4 azalmış durumda. •Açıklanan işletim sistemi zafiyetleri stabil şekilde devam ediyor. •Kaynak:Microsoft Güvenlik İstihbarat Raporu Volume 7
  • 11.
    Uygulamalar: İhmal Edilmiş veKorumasız Sunucular: Saldırı Tespit Sistemleri tarafından korunuyor Network: Firewall’lar tarafından korunuyor Uygulamalar Sunucular Network Taranan 31,373 sitenin %85’inde hacker’lar tarafından kötüye kullanıma sebep olacak ve sonucundaki kritik dataların okunmasına, değiştirilmesine yada transfer edilmesine sebep olacak açıklıklar tespit edilmiştir. -- Web Application Security Consortium
  • 12.
    DMZ Güvenilen Kullanıcılar/ Müşteriler İç Network Sadece port80 ve 443(SSL) açık Sadece Web Server Uygulama Sunucusuna erişebiliyor Internet (veya Intranet) Web Server Hacker Application Server Database Server
  • 13.
    “Risk” “Güvenlik Zafiyeti” Görev-Kritik Uygulamarın HizmetVerememesi Cross-Site Request Forgery (CSRF) Hasta, müşteri yada kredi kart bilgilerinin yetkisiz kişilerin eline geçmesi Yansımaları Session Hijack Uyumluluk Kaybı Kazanç Kaybı Yasal Mesuliyet Telif Hakları Open Redirect Insecure Data Storage Müşteri inancının zedelenmesi
  • 14.
    Unvalidated Input Broken AccessControl Broken Authentication and Authorization Cross Site Scripting (XSS) Buffer Overflows Injection Flaws Improper Error Handling Insecure Storage Denial of Service Insecure Configuration Management http://www.owasp.org/documentation/topten.html
  • 15.
    Güvenlik Uzmanları -Biz yazılımdan anlamayız ki! YazılımGeliştiriciler Birisi bu boşluğu doldurmalı -Motivayonum fonksiyonel yazılım geliştirmek. Güvenli yazılım nasıl geliştirilir ki!
  • 16.
    ? ? JAVA ? JAVA FLASH PHP PHP ? PHP ? .NET JAVA ASP FLASH JAVA Web Services .NET Web Services Web Services FLASH ASP ? JavaScript PHP Web Services JavaScript JavaScript FLASH ? JAVA FLASH ? ? PHP JavaScript Şirketleri ve Kurumlarınbirçoğunda 100'lerce, 1000'lerce web uygulaması var ve bu sayı gün geçtikçe artıyor! HANGİ uygulamalarım var? HANGİ uygulamaların kritik/değerli veri içeriyor? NASIL güvenlik kapsamını genişletebilirim? NEREYE yoğunlaşmalıyım?
  • 17.
  • 18.
  • 20.
    Uygulama çalışır durumdaykentestler gerçekleştirilir. Testler Uygulama Güvenlik Zafiyet Tarayıcıları tarafından gerçekleştirilir. Genellikle uygulamalardaki teknik hataları, sıkıntıları black-box yöntemiyle bulma yönünde motive olmuşlardır. Öncelikle test edilecek uygulama crawl edilerek bütün input noktaları tespit edilir. 2006 yılında Gartner tarafından yapılan analizde Uygulama Güvenlik Tarayıcılar için aşağıdakiler öngörülmekteydi; 2010 yılına kadar web uygulamalarını bir uygulama güvenlik tarayıcı ile tarayan kurumlarıın uygulamalarındaki zafiyetlerin kötüye kullanım oranı %70’e yakın azalma gösterecek. 2008 yılı sonuna kadar enterprise segmentteki firmaların %40'ı web uygulama güvenlik tarayıcılarını geliştirme süreçlerine entegre edecekler.
  • 21.
    Güvenlik Uzmanı HP WebInspect Web Application Results -“Black Box” olarak adlandırılır - 1 konu başlığı birden fazla problemi işaret ediyor olabilir - Bir çok farklı konu başlığı tek bir problemi işaret ediyor olabilir. - Yazılım Geliştiricilere Verilen - URL’ler ve kullanılan hacking tekniği - Doğrulama için gerekli değerler Yazılımcı 21
  • 22.
  • 23.
    Güvenlik Uzmanı HP WebInspect Web Application SourceCode Results Hybrid Results Results Fortify Source Code Analysis Yazılımcılar 23
  • 24.
  • 25.
    • “Runtime Data” olarakadlandırabileceğimiz Stack Trace’ler, Oturum Bilgileri, Parametreler ve Değişken Değerleri Runtime Analysis üzerinden geliyor. • Fortify Runtime Analysis + WebInspect = Hybrid 2.0 • SAST/DAST sonuçlarını uygun şekilde ortüştürmek için Runtime Analysis ‘e ihtiyaç var. • Runtime Analysis güvenlik testi yapanlara ve uygulamayı geliştirenlere tespit edilen zafiyetlere uygulama içinden bakabilme imkanı tanır. 25
  • 26.
    2010 yılınndan itibarenDAST ve SAST üreticileri hibrid bir yaklaşıma olan static ve dinamik uygulama güvenlik testi yaklaşımına doğru kayacaklar. 2010 yılından itibaren lider uygulama güvenlik test aracı üreticileri SaaS (Software as a Service) yaklaşımı çerçevesinde servis olarak müşterilerine bu hizmetleri sunmaya başlayacaklar. 2013 yılı içerisinde SAST (Static Application Security Testing) ürünleri markette standalone bir ürün olmaktan çıkıp teknoloji ve servis üreticisi firmaların yazılım yaşam döngüsü (SLC-Software Life Cycle) platformlarına entegre ettikleri bir teknoloji olarak yaşamlarını sürdürecekler.
  • 27.
    Gelişmiş bir UygulamaGüvenliği Programı’nı inşa etmek, bir uygulama zafiyet tarayıcısını alıp çalıştırmak ya da bir WAF'ı devreye almak kadar kolay bir süreç değildir Güvenli yazılım geliştirmek için her adımında güvenliği de hesaba katan birYazılım Geliştirme Yaşam Döngüsü'ne ihtiyaç vardır. Güvenli yazılım geliştirme sürecini sürekli hale getirmek için gerek organizasyonun yapısından gerek kurum kültüründen gerekse de iş baskısından kaynalanan sıkıntılar adreslenmelidir ve çözülmelidir.