Kurumsal Ağlarda Log Analizi Yöntemi İle Saldırı Tespiti - Huzeyfe Önal #SiberGuvenlikKonferansi 14.05.14
1. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Kurumsal
Ağlarda
Log
İnceleme
Yöntemiyle
Saldırı
Analizi
Huzeyfe
ÖNAL
Bilgi
Güvenliği
AKADEMİSİ
2. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Huzeyfe
ÖNAL
• Bilgi
Güvenliği
Danışmanı
&
Ağ
Güvenliği
Araş<rmacısı
@BGA
• PenetraAon
Tester
• Eğitmen
– Bilgi
Güvenliği
AKADEMİSİ
– Linux
AKADEMİ
• ÖğreAm
Görevlisi
Bilgi
/
Bahçeşehir
Üniversitesi
• Siber
Güvenlik
Derneği
3. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Amaç
• Güvenliğin
en
temel
bileşenlerinden
biri
olan
loglama
ve
saldırı
analizi
kavramlarının
ortak
noktalarının
tespiA
ve
saldırı
analizinde
kullanılacak
yöntem
ve
araçların
değerlendirilmesi.
4. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Sorularla
Güvenliğimiz…
• Kaç
kişi/kurum
son
bir
yıl
içerisinde
APT
benzeri
sofisAke
bir
saldırıya
maruz
kaldı
• Daha
da
önemlisi
kaç
kişi/kurum
bu
saldırıya
maruz
kaldığını
tespit
eV
ve
nasıl/ne
zaman?
• Daha
daha
da
önemlisi
kaç
kurum
bu
Ap
saldırıyla
karşı
karşıya
kaldığından
habersiz?
• Tüm
bu
soruların
net
cevabı
kurumun
log
altyapısı
ve
saldırı
analizi
kabiliyeAne
bağlıdır.
• BGA’dan
örnekler…
– Kamu
/
Özel
sektör
5. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Loglamanın
Saldırı
TespiA
Açısından
Önemi
• Sağlıklı
gerçekleşArilmiş
bir
log/izleme
altyapısı
yaşanmış
saldırıların
analizinde
yaşanacak
muhtemel
saldırıların
erken
farkedilmesinde
hayaA
role
sahipAr.
–
Hangi
sistemlerde
neyin
logu
alınacak
nasıl
yorumlanacak
• Kurumlar
genellikle
ürünlere
yap<kları
ya<rımları
onları
değerlendirecek
güvenlik
personeline
veya
danışman
firmaya
yapmazlar
– Saldırının
tanımını
iyi
yapmadan
1-‐0
man<ğı
ile
çalışan
güvenlik
ürünleri
birşey
katamaz.
6. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
YöneAmi
• Farklı
kaynaklarda
toplanan
farklı
Ap
ve
çeşitlerdeki
logların
tek
bir
merkeze
yönlendirilerek
değer
ifade
edecek
şekilde
işlenmesidir.
• Log
yöneAmi
ile
log
toplama
farklı
işlemlerdir.
• Log
yöneAmi
olabilmesi
için
öncelikle
sağlıklı
log
toplama
mekanizmasının
kurulu
olması
gerekir.
• Toplanan
loglardan
anlamlı
sonuçlar
üretecek
işlemler
gerçekleşAriliyorsa
log
toplamadan
log
yöneAmine
doğru
geçiş
yapılıyor
demekAr.
7. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Korelasyonu
• Log
yöneAmi
projelerinde
anahtar
bileşendir.
• Birden
fazla
kaynaktan
gelen
birden
fazla
log
kaydının
tek
bir
sa<rda
ifade
edilmesi.
• Üzerinden
en
fazla
konuşulup
gerçekleşArilemeyen
LOG
YÖNETİMİ
proje
bileşenidir.
• Aynı
anda
onlarca
porta
yönelik
gelen
SYN
paketlerinin
her
birini
ayrı
ayrı
loglamak
yerine
tek
bir
sa<rda
gösterip
Port
Tarama
olarak
yazmak...
• Örnek
korelasyon
kuralları
8. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Korelasyon
Örneği-‐SSH
Brute
Force
• SSH:
Uzaktan
UNIX/Linux
sistemleri
yönetmek
amaçlı
kullanılan
güvenli
bir
protokol.
– Ön
tanımlı
olarak
22/TCP
portundan
çalışır
• Genellikle
UNIX
sistem
yöneAcileri
her
yerden
sistemlerine
erişebilmek
icin
SSH
servisini
dışarı
açık
bırakırlar.
• Genele
açık
SSH
servisleri
hackerlarin
ilgisini
çeker
ve
SSH
parolası
bulma
saldırıları
gerçekleşArirler.
• Örnek
SSH
Brute
Force
Denemesi
hydra
192.168.1.100
ssh2
–L
users.txt
-‐P
password.txt
-‐e
s
9. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
SSH
Brute
Force
Saldırısı
Log
Örneği
10. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
SSH
Brute
Force
Log
Korelasyonu
• Her
gün
onlarca
farklı
kaynaktan
binlerce
SSH
login
denemesi
gelmektedir.
• Sistem
üzerinde
her
bir
SSH
denemesi
ayrı
bir
log
sa<rı
olarak
işlenmektedir.
• Ortalama
bir
SSH
brute
force
saldırısı
200-‐300
arası
log
sa<rı
üretmektedir.
• Korele
edilmiş
bir
log
dosyası
ilgili
bileşenleri
değerlendirerek
aşağıdaki
gibi
bir
log
üretmesi
gerekmektedir.
Unsuccessful
SSH
Login
Agemp
From
<IPS>
for
USERNAME
<USER_Listes>
between
date1-‐
date2
11. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
GörselleşArme
12. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Analizi
• Loglama
tek
başına
bir
değer
ifade
etmez.
• Nasıl
ki
tarladan
toplanan
hasat
işlenmeden
bir
işe
yaramazsa
koleksiyon
amacı
ile
toplanan
ve
izlenip
değerlendirilmeyen
loglar
da
bir
şey
ifade
etmez.
• Birçok
kurumda
loglar
sadece
kayıt
al<na
alınmaktadır
fakat
log
analizi
yapılmamaktadır.
• Bilgi
Güvenliği(BG)
YöneAm
Standardında
log(iz
kaydı)
yöneAmi
ve
analizinin
önemi
vurgulanmaktadır.
• Log
analizi
teknik
bir
işin
ötesinde
ilgili
konuya
dair
ciddi
tecrübe
ve
düşünme
yeAsi
ister.
– Hangi
saldırı
Api
gerçekleşArilmiş
sorusunun
cevabını
bulabilmek
için
saldırı
kavramını
ve
detaylarını
bilmek
gerekir.
13. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Analizi
Yazılımları
• Farklı
amaçlar
için
kullanılabilecek
onlarca
Acari
ve
açık
kaynak
kodlu
ücretsiz
log
analizi
yazılımı
bulunmaktadır.
• Log
analizi
yazılımlarının
çoğu
aynı
zamanda
log
yöneAmi
işlevini
de
gerçekleşArmektedir.
• Örnek
yazılımlar:
– File
System
Auditor,
OSSIM,
Kiwi
Syslog
Deamon,
Swatch,
Infraskope,
Manage
Engine
Event
Log
Analyzer,
OSSIM
• Log
analiz
yazılımları
genellikle
arka
planda
bir
veritabanı
uygulaması
kullanarak
işlem
yapar.
• Yazılımları
doğru
kullanabilmek
için
neyi
aradığını
bilmek
önemlidir.
– Saldırıyı
nasıl
tanımlarsınız
(web
tabanlı,
network
tabanlı)
14. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Analizi
Araçları
• Log
analizi
için
temelde
iki
seçenek
bulunmaktadır
1. Temel
linux
araçları
2. Özel
gelişArilmiş
yazılımlar
• Her
iki
yöntemin
de
kendine
has
Avantaj
ve
dezavantajları
vardır.
Büyük
verilerin
incelenmesinde
Veritabanı
kullanımı
şartdır.
-‐Benzeri
işlemler
için
kolaylık
sağlar.
• Ne
istediğinizi
biliyorsanız
basitlik
her
zaman
kazandırır.
• Çok
büyük
verileri
incelemek
için
Nosql
kullanılabilir.
15. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Linux
Araçlarıyla
Log
Analizi
• Linux
işleAm
sistemi
dosya
temelli
olması
nedeniyle
dosya
işleme
amaçlı
onlarca
araç
barındırmaktadır.
• Cut,
awk,
grep
,
ngrep,
less,
tail,
head,
cat,
sed,
sort,
uniq,
strings,
mulAtail,
urlsnarf,
• Avantajlar:
– Hız,
esnek
ve
performanslı
kullanım
• Dezavantajları:
– Veritabanı
man<ğı
olmadığı
için
her
işlemde
tekrar
aynı
süreç
yaşanır
– Çok
büyük
log
dosyalarının
işlenmesinde
zaman
kaybı
ve
performans
problemi
(Big
data)
16. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Analizi
Metodolojisi
• Log
analizinde
en
önemli
bileşen
log/loglar
içerisinde
ne
arandığının
belirlenmesidir.
• Bunun
için
daha
önce
denenmiş,
tecrübe
edilmiş
çeşitli
yöntemler
kullanılmalıdır.
KAYNAK:
hfp://faculty.ist.psu.edu/jjansen/academic/jansen_search_log_analysis.pdf
17. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Log
Analizi
Metodoloji
Adımları
I.Adım
• Log
dosyalarının
elde
edilmesi
• Log
dosyalarının
normalleşArilmesi
II.Adım
• Log
analiz
amacının
belirlenmesi
• Log
analiz
amacının
teknik
dile
çevrimi
III.
Adım
• Log
analiz
yazılımı
kullanarak
istenen
verileri
ayıklama
• Doğrulama
adımı
(istenen
sonuç
elde
edildi
mi?
18. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Örnek
Analiz:
Adım-‐1
• Hedef:Hacklenmiş
bir
web
sunucunun
log
analizi
• 1.adım:
web
sunucu
loglarının
toplanması
ve
loglar
içerisinde
encode
edilmiş
verilerin
normalleşArilmesi.
• Log
normalleşArme
yapılmadan
analiz
aşamasına
geçilirse
günümüz
saldırılarının
büyük
çoğu
farkedilemez.
19. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Encoding
• Bir
veriyi
başka
formatlarda
gösterme
işlemidir
• Geriye
çevrilebilir
algoritmalardır.
• Encoding
algoritması
ek
bir
gizlilik
sağlamaz.
• Base64
encoding,
url
encoding,
hex
encoding
en
sık
karşılaşılan
çeşitlerdir.
20. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Örnek
Analiz:
Adım-‐2
• 2.
adım:
Saldırgan
ip
adresinin
ve
saldırı
yönteminin
belirlenmesi
• Şüphelenilen
saldırı
Apleri
için
komut
sa<rı
araçlarının
hazırlanması
– Web
üzerinden
gelebilecek
saldırı
türleri
konusunda
bilgi
sahibi
olunması
gerekir.
– Saldırgan
on
farklı
yöntemle
sunucuyu
ele
geçirmiş
olabilir.
• Disk
üzerinde
ilgili
tarihe
ait
değişiklikler
izleniyor
mu?
• Gereksiz
log
sa<rlarının
ayıklanması
– Javascript,
gif,
jpg,
…
• Teknik
dile
çevirim
– Grep
–i
select,
union,
exec,
base64_encode
*.log
21. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Örnek
Analiz:
Adım-‐3
• 3.
Adım:Verilerin
ayıklanması
ve
doğrulama
aşaması.
• Bir
önceki
adımda
elde
edilen
ayıklanmış
veriler
gerçekten
saldırgan
ip
adresini
ve
saldırı
yöntemi
hakkında
net
bilgiler
içeriyor
mu?
– İlgili
ip
adresi
ve
ip
adresinin
erişAği
URL/istek
denenerek
zafiyet
olup
olmadığı
kontrol
edilebilir.
– İlgili
ip
adresine
ait
başka
sistemlerden
kayıt
alınabilir.
– İlgili
ip
adresi
internegen
araş<rılabilir.
22. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Web
Sunucu
Saldırı
Analizi
• Yapılan
araş<rmalar
siber
saldırılar
için
ilk
aşamaların
Web
ve
istemcilere
yönelik
oltalama
saldırıları
olduğunu
göstermektedir.
• Web
üzerinden
gerçekleşArilen
saldırıları
tespit
etmek
ve
aksiyon
almak
daha
kolaydır.
23. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Web
Sunucu
Log
Detayları
• Apache
ve
diğer
web
sunucular
ön
tanımlı
olarak
POST
isteklerinde
gelen
değerleri
loglamazlar.
• Bunun
için
mod_forensic
gibi
ya
da
mod_security
gibi
ek
bileşenler
kullanılmalıdır
• Web
sunuculara
yönelik
POST
üzerinden
gerçekleşArilecek
saldırıları
yakalamak
için
ek
olarak
WAF,
Load
Balancer,
IPS
gibi
ürünlerin
loglarına
başvurmak
gerekebilir.
24. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Web
Sunucu
Log
Örnekleri-‐POST
127.0.0.1
–
-‐
[04/Mar/2012:02:10:10
-‐0500]
“POST
/dvwa/login.php
HTTP/1.1″₺
302
454
“hgp://localhost/dvwa/login.php”
“Mozilla/5.0
(X11;
Linux
i686;
rv:5.0.1)
Gecko/20100101
Firefox/5.0.1″₺
• Standart
yapılandırmaya
sahip
bir
web
sunucu
logları
incelendiğinde
POST
istekleri
aşağıdaki
gibi
bir
çık<
verecekAr.
• Log
sa<rları
detaylı
incelenirse
POST
isteği
içerisinde
gönderilen
veri
kısmı
(payload)
ile
ilgili
herhangi
bir
bilginin
olmadığı
görülecekAr.
25. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
POST
isteğini
detaylı
olarak
incelendiğinde
(Network
üzerinden)
hangi
kullanıcı
adı
ve
parola
bilgilerinin
girildiği
ortaya
çıkmaktadır.
Bu
detay
web
sunucu
loglarında
gözükmeyecekAr.
Web
sunucu
loglarında
sadece
hangi
URL’e
istek
yapıldığı
bilgisi
kayıt
al<na
alınır.
T
127.0.0.1:47635
-‐>
127.0.0.1:80
[AP]
POST
/dvwa/login.php
HTTP/1.1.
Host:
localhost.
User-‐Agent:
Mozilla/5.0
(X11;
Linux
i686;
rv:5.0.1)
Gecko/20100101
Firefox/5.0.1.
Accept:
text/html,applicaAon/xhtml+xml,applicaAon/xml;q=0.9,*/*;q=0.8.
Accept-‐Language:
en-‐us,en;q=0.5.
Accept-‐Encoding:
gzip,
deflate.
Accept-‐Charset:
ISO-‐8859-‐1,uˆ-‐8;q=0.7,*;q=0.7.
ConnecAon:
keep-‐alive.
Referer:
hgp://localhost/dvwa/login.php.
Cookie:
security=high;
XpLiCo=i68o2ejvm6jnp3b9pv083i4mi7;
PHPSESSID=uvn4olrlfd6sckjhe4eea4jno4.
Content-‐Type:
applicaAon/x-‐www-‐form-‐urlencoded.
Content-‐Length:
49.
username=admin&password=hatali_parola&Login=Login
26. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
SQL
InjecAon
İncelemesi
• SQLi
saldırı
tanımı:Uygulamaların
veri
tabanı
ile
ilişkili
olan
kısımlarının
manipüle
edilerek
veritabanında
sorgu
çalış<rma
işlemi.
• Veri
tabanıyla
ilişkisi
olan
tüm
girdi
noktalarında
SQLi
zafiyeA
bulunabilir.
• Web
uygulaması
özelinde:
• GET
isteğinde
(URL’de)
• POST
isteğinin
veri(Payload)
kısmında
27. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
SQL
InjecAon
Saldırısı
-‐
Detay
• SQL
InjecAon
saldırıları
ile
hedef
sistem
ele
geçirilebilir,
hedef
sistemdeki
doğrulama
(form
based)
aşılabilir,
hedef
sistemde
kullanılan
veritabanına
ait
tablolar
ve
diğer
bilgilere
erişim
sağlanabilir.
• SQL
injecAon
saldırıları
web
üzerinden
yapılsa
da
aslında
saldırının
isAsmar
aşaması
tamamen
veritabanına
yönelikAr.
• Veritabanından
nasıl
bilgi
çekileceğini
bilmeyen
biri
için
saldırı
çok
bir
şey
ifade
etmez.
• En
fazla
görülen
ve
en
tehlikeli
saldırı
Aplerinden
biridir.
28. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Örnek
SQL
InjecAon
Saldırısı
ve
Log
Kaydı
200.96.104.241
-‐
-‐
[12/Sep/2006:09:44:28
-‐0300]
"GET
/
modules.php?name=Downloads&d_op=modifydownloadrequest&
%20lid=-‐1%20UNION%20SELECT
%200,username,user_id,user_password,name,
%20user_email,user_level,0,0%20FROM%20nuke_users
HTTP/1.1"
200
9918
"-‐"
"Mozilla/4.0
(compaAble;
MSIE
6.0;
Windows
NT
5.1;
SV1;
.NET
CLR
1.1.4322)"
29. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
GET
İsteği
Üzerinden
SQLi
İncelemesi
• HTTP
GET
kullanılarak
gerçekleşArilen
SQLi
saldırıları
loglarda
olduğu
gibi
gözükecekAr.
• Bazı
durumlarda
saldırgan
çeşitli
encoding
teknikleri
kullanarak
saldırıyı
gizlemeye
çalışır.
• Günümüzde
kriAk
SQLi
zafiyetlerinin
çoğu
POST
detaylarında
bulunur.
30. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
POST
Üzerinden
SQLi
İncelemesi
• Daha
önce
de
belirAldiği
gibi
POST
üzerinden
giden
detaylar
web
sunucu
loglarında
gözükmeyecekAr.
• Aşağıdaki
log
sa<rında
herhangi
bir
anormallik
gözükmemektedir.
• Oysa
POST
ile
gönderilen
veri
kısmı
incelenirse
SQL
I
saldırısı
olduğu
anlaşılabilir.
127.0.0.1
–
-‐
[04/Mar/2012:02:10:10
-‐0500]
“POST
/dvwa/login.php
HTTP/1.1″₺
302
454
“hgp://localhost/dvwa/login.php”
“Mozilla/5.0
(X11;
Linux
i686;
rv:5.0.1)
Gecko/20100101
Firefox/5.0.1″₺
31. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
T
127.0.0.1:47632
-‐>
127.0.0.1:80
[AP]
POST
/dvwa/login.php
HTTP/1.1.
Host:
localhost.
User-‐Agent:
Mozilla/5.0
(X11;
Linux
i686;
rv:5.0.1)
Gecko/20100101
Firefox/
5.0.1.
Accept:
text/html,applicaAon/xhtml+xml,applicaAon/xml;q=0.9,*/*;q=0.8.
Accept-‐Language:
en-‐us,en;q=0.5.
Accept-‐Encoding:
gzip,
deflate.
Accept-‐Charset:
ISO-‐8859-‐1,uˆ-‐8;q=0.7,*;q=0.7.
ConnecAon:
keep-‐alive.
Referer:
hgp://localhost/dvwa/login.php.
Cookie:
security=high;
XpLiCo=i68o2ejvm6jnp3b9pv083i4mi7;
PHPSESSID=uvn4olrlfd6sckjhe4eea4jno4.
Content-‐Type:
applicaAon/x-‐www-‐form-‐urlencoded.
Content-‐Length:
234.
.
username=ECYH%252C%2528SELECT%2520%2528CASE%2520WHEN
%2520%25282167%253D2167%2529%2520THEN%2520ECYH%2520ELSE%25
202167%252A%2528SELECT%25202167%2520FROM
%2520INFORMATION_SCHEMA.CHARACTER_SETS
%2529%2520END%2529&password=parola&Login=Login
32. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
HTTP
POST
İsteği
Veri
Kısmı
• URL
encode
edilmiş
veri
decode
edilirse
aşağıdakine
benzer
bir
SQL
sorgusu
olduğu
ortaya
çıkacak<r.
• Bu
Ap
POST
isteği
kullanılarak
gerçekleşArilen
saldırılar
Ağ
tabanlı
IPS/IDS
sistemleri
ya
da
WAF/
Load
Balancer
sistemler
kullanarak
da
belirlenebilir.
ECHO
SELECT
…
CASE
…
WHEN
…
THEN
ECYH
ELSE
SELECT
FROM
INFORMATION_SCHEMA.CHARACTER_SETS
AND
password=parola&Login
33. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
SQL
InjecAon
Denemelerini
Yakalama
• SQLi
denemelerini
web
sunucu
loglarından
yakalamak
için
genellikle
tercih
edilen
yöntem
sqli
için
kullanılan
kelimeler
ve
evasion
amaçlı
kullanılan
özel
karekterlerin
web
sunucu
loglarından
ara<lmasıdır.
• SQLi
aratmak
için
Concat,
char,
union,
select,
order
by,
group
by
gibi
komutlar
‘
denenebilir.
• Bu
kelimeleri
log
dosyasında
aratmak
false
posiAve
sonuçlar
çıkarabileceği
için
çıkan
sonuçların
teker
teker
incelenmesi
gerekir.
• Burada
yine
sadece
GET
üzerinden
denenen
sqli
saldırılarının
loglarından
anlamlı
bir
şeyler
çıkacağını
belirtmemiz
gerekiyor.
35. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Scalp
Aracı
Kullanarak
Web
Log
Analizi
• Scalp,
Web
sunucu
loglarından
denenmiş
web
saldırılarını
log
analizi
yöntemiyle
bulmaya
çalışır.
• Saldırı
analizinde
kullanacağı
değişkenleri
de
PHPIDS
projesinden
almaktadır.
hgps://dev.itratos.de/projects/php-‐ids/repository/
raw/trunk/lib/IDS/default_filter.xml
adresinden
filtreler
edinilebilir.
36. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Scalp
Komut
Sa<rı
Seçenekleri
Scalp
esnek
komut
sa<rı
seçeneklerine
sahipAr.
Bunlar
sadece
belirli
saldırı
Apleri
için
arama,
belirli
zaman
aralıkları
için
loglara
bakma
ve
çık<
Apini
değişArme
amaçlı
kullanılabilir.
37. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Belirli
Atak
Tipleri
için
Sorgulama
85.95.238.173
–
-‐
[11/Feb/2012:00:50:50
-‐0600]
“GET
/nessus............winntwin.ini
HTTP/1.1″₺
404
21816
“-‐”
“Mozilla/4.0
(compaAble;
MSIE
8.0;
Windows
NT
5.1;
Trident/4.0)”
Reason:
“Detects
basic
directory
traversal”
85.95.238.173
–
-‐
[11/Feb/2012:00:50:50
-‐0600]
“GET
/exchweb/bin/auth/owalogon.asp?
url=hgp://12345678910
HTTP/1.1″₺
404
21816
“-‐”
“Mozilla/4.0
(compaAble;
MSIE
8.0;
Windows
NT
5.1;
Trident/4.0)”
Reason:
“Detects
specific
directory
and
path
traversal”
85.95.238.173
–
-‐
[11/Feb/2012:00:50:50
-‐0600]
“GET
/%80../%80../%80../%80../%80../%80../
windows/win.ini
HTTP/1.1″₺
404
21816
“-‐”
“Mozilla/4.0
(compaAble;
MSIE
8.0;
Windows
NT
5.1;
Trident/4.0)”
Reason:
“Detects
basic
directory
traversal”
85.95.238.173
–
-‐
[11/Feb/2012:00:50:52
-‐0600]
“GET
/
%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./windows/win.ini
HTTP/1.1″₺
404
21816
“-‐”
“Mozilla/4.0
(compaAble;
MSIE
8.0;
Windows
NT
5.1;
Trident/4.0)”
Reason:
“Detects
basic
directory
traversal”
Sadece
belirli
Apteki
saldırıları
aratmak
için
–a
sqli,
xss
gibi
parametre
kullanılabilir.
38. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Basit
UNIX
Araçlarıyla
Web
Log
Analizi
• Bu
yöntemde
önemli
olan
logların
arasından
ne
Ap
özellikte
olanlarını
bulmak
istediğimizi
belirlemekAr.
• Milyonlarca
sa<r
log
arasında
ne
aradığını
bilmeyen
birinin
samanlıkta
iğne
arayandan
farkı
yoktur.
• Linux
araçlarıyla
log
analizi
yapabilmek
için
öncelikle
log
içerisinde
ne
aradığınızı
teknik
olarak
ifade
edebiliyor
olmak
gerekir.
39. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Saldırı
Olarak
Değerlendirilebilecek
Durumlar
• Saldırı
yapılan
sunucuya
özel
bazı
dizin/dosyaların
istenmesi
• Mesela
WordPress
gibi
sistemlerde
genellikle
/wp-‐
admin
gibi
dizinler
ya
da
wp-‐login.php
gibi
dosyalara
yönelik
brute
force
denemeleri
gerçekleşArilir.
• Saldırı
imzası
olarak
/wp-‐admin
ve
wp-‐login.php
gibi
kelimeleri
ara•rırsak
saldırı
yapanların
bir
kısmı
belirlenmiş
olunur.
40. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Belirli
Dizin/Dosyaların
İstenmesi
• Bazı
durumlarda
saldırganı
ulaşmaması
gereken
yerlere
ulaş<ğında
belirleyebiliriz.
– Wordpress
için
wp-‐login.php
sayfasını
normal
bir
kullanıcı
çağırmaz.
• Grep
kullanarak
belirli
dizinlerin
veya
dosyaların
istendiğini
loglar
arasından
çıkartabiliriz.
g#
grep
wp-‐login.php
mertsarica-‐access_log
|head
94.55.164.119
-‐
-‐
[15/Sep/2012:20:32:51
+0300]
"GET
/wp-‐login.php?redirect_to=hgp%3A%2F
%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1
HTTP/1.1"
200
6299
"-‐"
"Mozilla/5.0
(Macintosh;
Intel
Mac
OS
X
10.7;
rv:15.0)
Gecko/20100101
Firefox/15.0.1"
94.55.164.119
-‐
-‐
[15/Sep/2012:20:32:52
+0300]
"GET
/wp-‐admin/css/colors-‐fresh.css?ver=3.4.2
HTTP/1.1"
200
6986
"hgp://www.mertsarica.com/wp-‐login.php?redirect_to=hgp%3A%2F
%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1"
"Mozilla/5.0
(Macintosh;
Intel
Mac
OS
X
10.7;
rv:15.0)
Gecko/20100101
Firefox/15.0.1"
94.55.164.119
-‐
-‐
[15/Sep/2012:20:32:52
+0300]
"GET
/wp-‐admin/css/wp-‐admin.css?ver=3.4.2
HTTP/1.1"
200
22741
"hgp://www.mertsarica.com/wp-‐login.php?redirect_to=hgp%3A%2F
%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1"
41. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Bağlan<
Kuran
IP
Adres
ve
Bağlan<
Sayıları
• Sunucu
üzerinde
deneme
gerçekleşAren
ip
adreslerinin
normalin
üzerinde
bağlan<
sayısına
sahip
olması
beklenir.
• Aşağıdaki
komutla
Apache
loglarında
hangi
ip
adresi
kaç
adet
bağlan<
gerçekleşArmiş
(top
10)
ortaya
çıkarılabilir.
#
cat
siber-‐access_log
|awk
-‐F
”
”
‘{print
$1}’|sort
-‐n|uniq
-‐c|sort
-‐nr|head
3556
9.6.2.2
1527
9.2.4.1
1142
1.1.2.8
1055
193.2.2.1
1046
9.1.2.1
42. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Directory
Traversal
Denemelerini
Bulma
• Web
üzerinden
gerçekleşArilebilecek
önemli
saldırı
yöntemlerinden
birisi
web
üzerinden
sistemdeki
dosyaları
okuma
olarak
tanımlayabileceğimiz
LFI(Local
File
Inclusion)
saldırılarıdır.
43. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
LFI/RFI
Bulma
• Web
üzerinden
gerçekleşArilen
LFI
vs
saldırılarını
loglardan
yakalamak
için
ara
bileşen
olarak
kullanılan
../
..
gibi
özel
ifadeleri
aratmak
yeterli
olacak<r.
• Yine
burada
ha<rlanması
gereken
önemli
nokta
bu
karekterler
GET
isteği
üzerinden
taşındığı
zaman
web
sunucu
loglarında
yer
bulacak<r.
44. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
LFI
ve
Directory
Treversal
Log
Örneği
45. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Web
sunucu
Log
Analizinde
Cevaplar
• Burada
önemli
olan
bu
Ap
isteklere
web
sunucunun
döndüğü
cevap<r
.
• Web
sunucu
404
değil
300
veya
200
lü
cevap
dönüyorsa
saldırının
başarılı
olmuş
olma
ihAmali
vardır.
• 404
alınıyorsa
bu
saldırganın
denediği
atakların
başarılı
olmadığı,
sunucu
tara”nda
bulunmadığı
anlamına
gelir.
46. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Ağ
Trafiği
Üzerinde
Loglama
• Network
forensics
çalışmalarının
temeli
• İnterneAn
tamamı
loglanabilir
mi?
• Tamamen
pasif
loglama
• Silinme
riski
yok!
• Performansa
etkisi
olumsuz
yönde
yok
(pasif
loglama)
• SSL
kullanılmadığı
takdirde
tüm
sistemelere
ait
tüm
detaylar
ağ
trafiği
içerisinden
elde
edilebilir
• Örnek
yazılımlar
– Netwitness,
Ngrep
,
Xplico
,
Tcpdump,
Wireshark
47. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
TAP
• TAP
=
Traffic
Access
Point
• Paket
çoğullayıcı
• Donanımsal
• Sniffer/IDS
Kullanımında
yaygın
48. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Sniffer
Araçları
• Farklı
protokolleri
izlemek
ve
hassas
bilgileri
ayıklamak
amacıyla
çeşitli
sniffer
yazılımları
gelişArilmişAr.
• Açık
kaynak
kodlu
araçlar
– Tcpdump
– Wireshark,
Tshark
– Ngrep
– Dsniff
(urlsnarf,
mailsnarf,…..)
– Snort
– Xplico
– Suricata
49. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Ağ
Üzerinden
Saldırı
TespiA
için
Snort
Kullanımı
50. Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
Siber
Güvenlik
Konferansı
‘14
/
Istanbul
BGA
(BİLGİ
GÜVENLİĞİ
AKADEMİSİ)
|BGA.COM.TR
İleAşim
Bilgileri
• www.lifeoverip.net
• Blog.bga.com.tr
Blog
• @bgasecurity
• @huzeyfeonal
Twiger
• huzeyfe@lifeoverip.net
• Huzeyfe.onal@bga.com.tr
İleAşim