18 Haziran 2015

Cookie (Çerez) Rassallık Testi

Cookie Nedir?

Cookie, kullanıcıların ziyaret ettikleri web siteleri tarafından oluşturulan, kullanıcının tanılanıp tanılanmadığının ve/veya hangi kaynaklara eriştiğinin ve hangi istekleri ilettiğinin takibi için kullanılan bir parametredir.

Cookie'ler web sunucuları tarafından atanırken expires özelliği ileriki bir zaman olarak belirlenirse bu bilgiler diske yazılır. Bu cookie'lere resident (kalıcı) cookie'de denir. Kalıcı cookie'lerin erişim kontrolü için kullanılması halinde bilgisayara fiziksel erişim veya ağ üzerinden yetkisiz erişimle bu bilgilerin gizliliğinin ihlali riski ve dolayısıyla uygulama kaynaklarına yetkisiz erişim riski bulunmaktadır.

Resident cookie'ler içlerinde hassas bilgi veya oturum çalınmasına imkan tanıyacak veri barındırmasa (yani cookie daha sonraki login işlemlerinde kullanılmasa ve yenileri atansa) bile en azından ilgili bilgisayardan söz konusu sunucuya/uygulamaya erişim yapıldığına dair işaret bırakmaktadır.


Cookie anahtar uzunluğunun bir standardı olmamakla birlikte kullanılacak olan oturum parametrelerinin anahtar genişliklerinin 128 bit'ten aşağı olmaması tavsiye edilmektedir. HTTP protokolünde oturum yönetimi için dolaylı olarak kullanılan parametrelerin (çerez, hidden parametre, URL parametresi gibi) tahmin edilebilirliğinin artması oturum güvenliğini tehlikeye düşürmektedir.

Rassallık Nedir?

Rassallık terimini, tahmin edilebilirlik yada ilgili cookie’nin algoritmasının kolay çözülme olasılığı olarak tanımlayabiliriz. Rassallığı düşük olan cookie’lerin kötü amaçlar için kullanımı söz konusu olabilir.
Web uygulamalarının oluşturduğu cookie’lerin rassallığını hesaplamak mümkündür. Yukarıda belirtildiği üzere 128 bit anahtar genişliğinin veya üstünün yakalanması olası bilgi güvenliği zafiyetlerinin ortaya çıkmasını azaltacaktır.

Anahtar genişliğinin hesaplanmasına olanak sağlayan ürünlerden olan Burp Suite uygulamasına bu yazıda değinilmekte ve kullanımı anlatılmaktadır.

Burp Suite uygulaması aşağıdaki adresten indirilebilir.

http://portswigger.net/burp/download.html

Tarayıcı tarafı

Burp Suite uygulamasının kullanımı için aşağıdaki adımlar izlenebilir.

Tarayıcı açıldıktan sonra Ayarlar butonuna basılarak Internet Options bölümüne girilmelidir.


Connections sekmesine basıldıktan sonra aşağıdaki ekranda gösterilen Lan Settings butonuna basarak ilgili ekrana geçilir.




Bu ekranda Proxy Server ayarı şekilde görüldüğü üzere yapılır ve Tamam butonuna bastıktan sonra işlem tamamlanır.

Burp Suite tarafı

Burp Suite kurulumu tamamlandıktan sonra uygulama açıldığında karşılaşılan ekran aşağıdaki gibidir.



Bu ekranda Proxy sekmesine basılır ve Intercept kısmı On olarak ayarlanmalıdır.



Sonrasında ise tarayıcı açılarak bir web sitesine istekte bulunulur. Ardından Burp Suite uygulamasına geçilir. Burp Suite uygulamasında cookie bilgisini elde edene kadar Forward butonuna basılır ve sayfada belirtilen cookie bilgisine sağ tıklayıp Send to Sequencer sekmesine basılıp üst sekmedeki Sequencer butonuna basılır.



Karşılaşılan ekran aşağıdaki gibidir.



Bu ekrana geldikten sonra Start Live Capture butonuna basılır ve istenilen sayıda örnek toplanır. Sonrasında Analyze Now butonu ile aşağıdaki ekrana erişilip anahtar genişliğine dair bilgi elde edilir.


Sonuçta görülen 109 bit anahtar genişliği test sonucu olarak görülmektedir.