[Owasp-turkey] Php session id de yabanci karakterler

Hakan Can gogreenbecool at gmail.com
Sat Dec 15 23:28:08 UTC 2012


On 12/14/2012 10:41 AM, Ozer, Mesut wrote:
> Uygulamaya gelen istekte belirtilen session id nin, gerçekten bizim “o
> kullanıcıya” verdiğimiz session id olup olmadığını anlamak için session
> id ler ile kullanıcılar arasında bir bağlantı kurmamız gerekir. Ama
> aşağıdaki sayfada da açıklandığı gibi bunu yapmanın garantili bir yolu yok:
>
> http://stackoverflow.com/questions/12233406/preventing-session-hijacking
>
> - Mesut
Mesut arkadaşıma iyi niyetle bilgisini paylaştığı için teşekkür ederim.

Fakat bu cevap OWASP ana fikri ile çelişiyor.(uygulama güvenliğinin 
geliştirilebilirliğini reddeden bir yaklaşımla uygulama güvenliği 
sağlanamaz) session yani cookie güvenliğinin çalınmaya karşı 
koruyamayacağınızı söylemek yeni arkadaşlar ve uygulama güvenliği 
bilgisi yetersiz arkadaşlar için yanlış bir başlangıç noktası 
oluşturabilir.Cookie yada session çalınabilir ama saldırı için 
kullanılamaz.Kullanılsa bile sistem tarafından tespit edilip 
engellenebilir.
Bazı arkadaşlarım içinden mutlak güvenliğin sağlanamayacağını 
geçirdiğini tahmin etmek güç olmaz. Mutlak güvenliğe ulaşılması 
imkansızdır. Buna ulaşmaya ÇALIŞMAK burada bulunan arkadaşlarımın 
çoğunun ana hedefleri arasında olduğunu düşünüyorum.Uygulama güvenliği 
için Cookie ler nasıl kullanılabilir.
1-Cookie güvenliğini arttırmak için atılan her adım kullanıcı tarafında
kısıtlamalar yarattığı için hedeflenen güvenlik düzeyine göre cookie 
güvenlik düzeyi belirlenmelidir.
2-yerel UniqId metotları cookielerin oluşturulmasında tek başına 
kullanılmamalıdır.UniqId lerin ana amacı güvenlik değildir hız ve 
eşsizliktir ve tahmin edilebilirliği çok yüksek düzeydedir.Sadece 
Cookilerin eşsiz olması için oluşturulan cookie lere eklenmelidir.
3-Cookiler kullanıcı bilgileri ile  sunucu tarında saklanmalıdır.Böylece 
cokilerin herhangi bir şekilde maniple edilmesi engellenebilir.
3-Kullanıcıların Ip ve tarayıcı bilgileri mutlak takip edilmelidir.
bu saldırının alanını tahmin edilenden daha çok daraltır.cookie ele 
geçse bile sadece aynı İnternet gateway üzerinde olmadığı sürece 
kullanılamaz.(ssl vb. güvenli bağlantı kurulduğu varsayılıyor)
4- saldırgan aynı network üzerinde ve aynı tarayıcıyı kullanıyor olsa 
dahi isteklerin geldikleri sayfalar takip edildiği ve her istekte yeni 
cookie oluşturulduğu durumlarda saldırı alanı çok daha daraltılabilir.
bu durumda saldırgan cookie elinde olsa bile önceki istek yapılan 
sayfayı hatta isteği oluşturan butonun hangisi olduğunu bilmesi gerekir.
5- yüksek riskli işlemlerin belirli bir zaman gecikmesi ile 
gerçekleşmesini sağlamak; Yukarıdaki tüm önlemlerin aşıldığını 
varsayarsak. Gerçek kullanıcı sayfada herhangi bir istekte bulunduğunda 
sistem önceki isteklerin şüpheli olduğunu anlayacak ve işlemler için ek 
onay isteyecek.
Bu durum yerel ağdaki bilgisayarların saldırı yapan tarafından ele 
geçirildiği durumlarda oluşabilir buda cookie güvenliği ile 
karıştırılmamalıdır.
Not:Yerel ağınızdaki saldırgan 5 nolu önlemi gerçek kullanıcının işlem 
yapmasını engellemek için kullanılabilir.

kullanıcıların eğitilmesi yüksek güvenlik için gerekli ve cookie yada 
session açıklarından daha kritiktir.
İşmem yapılmayacağı zaman sistemden çıkış yapılmalıdır.
bu önlem saldırgana sadece iki tıklama arasında yukarıdaki tüm şartları 
sağlaması koşulu ile işlem yetkisi verir gerçek kullanıcı ikinci 
tıklamayı yaptığında saldırgan açığa çıkar.Iki tıklama arasında geçen 
zaman bekleme süresini(5 nolu madde) aşmadığı durumlarda hiç bir şekilde 
  uygulama düzeyinde güvenlik açığı oluşturmaz.
Herkese açık ağlardan, yüksek güvenlikli şifreleme olmadan yüksek 
güvenlik gereken uygulamalara bağlanılmamalıdır.
mobil aygıtlar için güvenlik kısıtlamaları getirilmelidir.tek 
kullanımlık şifre gibi.(yüksek güvenlik gerektiren uygulamalar için)

Ağ Uygulaması güvenliği güvenli-ağ katmanına dayanır. Ağ güvenliği 
arttırılarak uygulama güvenliği arttırılabilir. ağın güvensiz olması 
ayrı session yada cookie nin güvensiz olması ayrıdır.Ağ güvensiz ise
daha session oluşmadan şifreniz yada güvenlik sertifikanız saldırgan 
tarafından çoktan ele geçirilebilir.Bu uygulamanın güvensiz olduğunu 
göstermez.

Mutlak güvenliğe ulaşılması teoride imkansızdır. Bizler işi teoriden 
pratiğe döküyoruz. Saldırganda bizimle aynı durumda teoride aşabileceği 
güvenlik önlemlerini pratikte aşmak için zaman ve enerjiye ihtiyaç var. 
Onların işini ne kadar zorlaştırırsanız saldırı alanını daraltırsanız 
uygulamanız o kadar güvenli ve caydırıcı olur.

İyi Hafta Sonları Dileği ile....

HakanCan







More information about the Owasp-turkey mailing list