[Owasp-turkey] Owasp-turkey Digest, Vol 52, Issue 9

Ferruh Mavituna ferruh at mavituna.com
Mon Aug 1 06:10:51 EDT 2011


Bu konu cok komplike aslinda, zamaninda bir bankada benzer bir sey
implemente etmek icin 1-2 sayfa ne yapilip ne yapilmamasini gerektigini
yazmistik ve onu yazarken dizayn surecinde bir cok atladigimiz yer
olusmustu, tekrar tekrar degistirmistik. Hersey bittiginde elimizdeki
implemente edilmesi gereken dizayn asiri komplike olmustu (*o ornek 2 step
auth vardi, durumu biraz daha karisik yapiyordu, cunku ilk adimda sadece ID
vardi).*
*
*
CAPTCHA olmayacak denmis ama CAPTCHA konusunda Google'in zekice yaptigi bir
notunu dusmek istiyorum. Normalde gostermiyor, 2-3 attempt'ten sonra
gostermeye basliyor ama en guzeli eger son X gunde ayni IP/Computer'dan (*emin
degilim hangisi ama ikisi de yapilabilir*) login olduysan baskasina o
account icin CAPTCHA gosterse bile sana gene gostermiyor. Dolayisiyla
CAPTCHA gostermemek icin kanuni bir neden yoksa (*accessibility yuzunden bir
cok ulkede devlet sitelerinde kanunen yasak olabiliyor*) CAPTCHA gayet
user-friendly sekilde implemente edilebilir.

Algoritma konusunda sana katiliyorum, kesinlikle birilerinin bu konuda
detayli ugrasip pratige dokulebilecek bir seyler uretmeleri lazim.

Basit bir ornek, birden fazla uygulama sunucusunda kosan enterprise
> bir uygulama icin gelistirilecek algoritma olusturacagi en basitinden [IP,
> hatali deneme sayisi] tablosunu nerde tutmali: ortak kullanilabilecek bir
> RAM cache? DB?


Bence CPU/Storage genelde mevzu degil, Wordpress'te tek sayfa da 47 SQL
Querysi calisiyor, o yuzden her login istegine bir DB kaydi yazmak sorun
olmayacaktir :) Tabii ki performans arttirilabilir ama ozellikle NoSQL gibi
basit storage yapilarinin da artik cok populer oldugunu dusunursek, MS
Access kullanmadikca bu konuda kimsenin bir sorun yasayacagini
zannetmiyorum.



2011/8/1 Bedirhan Urgun <bedirhanurgun at gmail.com>

> Merhaba,
> ilki guzel, "canary accounts" yani. Ama ayni IP kullanan gecerli
> kullanicilarda DoS'a sebep olabilir.
> ikincisinde ise IP adresini bloklamak, yukaridaki gibi, NAT yapan
> yerlerde DoS'a sebep olabilir.
>
> Bu durumlarda bloklamak yerine CAPTCHA cikarilabilir dedigin gibi. Ama
> hangi durumlarda? Yani istemcinin CAPTCHA girmesini zorunlu tutma (ve sonra
> kaldirma) islemi hangi kriterlere, ne kadar bagli olmali sorusu.
>
> Kullanabilecegimiz kriterler;
>
> 1. IP adresi
> 2. Username
> 3. Hatali Deneme Sayisi
> 4. Hatali Deneme Sayisi Zaman Penceresi (A suresinde 20 hatali deneme gibi)
> ...
>
> 3 ve 4'u iyi optimize etmek lazim diye dusunuyorum. Uygulamaya gelen
> trafige ne kadar bagli, ne oranda degismeli yani adaptif olabilir mi?
>
> 1 ve 2 icin ise; CAPTCHA gosterme kriteri olarak sadece IP kullanirsak,
> NATlanmis kullanicilardan iyileri ve kotuleri ayirdedemeyebiliriz, detay
> vermeyebilir. Sadece Username kullanirsak, cok mantikli olmaz cunku sifre
> sabit, username degisken saldirilarini engellememis oluruz. IP ve Username
> kullansak, yine ayni durum, cunku sifre sabit, username degisken
> saldirilarini engellememis oluruz. Birden fazka katmanli, hibrid bisey
> lazim.
>
> Dusunmeye baslayinca (hem brute-force hem DoS'a karsi) etkili bir onlem
> icin kompleks bir algoritma gerekiyormus gibi geliyor. Bir de bu
> algoritmanin data structure buyuklugunun ve CPU harcama oraninin dusuk
> olmasi gerekir. Basit bir ornek, birden fazla uygulama sunucusunda kosan
> enterprise bir uygulama icin gelistirilecek algoritma olusturacagi en
> basitinden [IP, hatali deneme sayisi] tablosunu nerde tutmali: ortak
> kullanilabilecek bir RAM cache? DB?
>
> Bitirme projesi, veya MS tezinin bir parcasi olarak boyle bir algoritma
> gelistirilebilir. ;)
>
> Not: Google sanirim sadece IP adresine bakiyor.
>
> bedirhan
>
> *- administrator, admin, editor vs. gibi muhtemel username'leri
> veritabanına kaydederdim fakat kullanıcılara tahsis etmezdim. Bu
> username'ler ile istek geldiği zaman direk saldırı olduğunu / olabileceğini
> anlar ve X süresi boyunca o IP adresini bloklardım.
>
> - Kullanıcılara tahsis edilmiş kullanıcı adlarına yapılan saldırılarda ise
> kullanıcının hesabı kilitlenmesin isteniyorsa 10 tane yanlış deneme sonrası
> yine IP adresini bloklamak, 3 yanlış deneme sonrası CAPTCHA çıkarmak
> mantıklı olacaktır.*
>
>
> 30 Temmuz 2011 01:15 tarihinde Onur Yilmaz <contact at onuryilmaz.info>yazdı:
>
> Selam,
>>
>> - HTTPS vurgusu yapıldığından ötürü öncelikli olarak protokol kontrolü
>> şart, bunu da login sayfasını da HTTPS üzerinden çalıştırarak yapmalı ve
>> HTTP üzerinden gelen istekler dikkate alınmamalıdır.
>>
>>
>> https://docs.google.com/a/mavitunasecurity.com/Doc?id=d2qjp94_78f96rxdgq#_ye_Giri_Formunu_HTTP_adresine
>>
>> - Ek olarak cookie kullanımı var ise cookiler 'mark as secure' olarak
>> işaretlenmeli ve HTTPS üzerinden taşınmalıdır.
>>
>> - Hata mesajları noktasında, hatalardan kullanıcı adı 'enumerate'
>> edilmemesi için daha generic, bilgi sızmayan hata mesajları tercih
>> edilmelidir. Kullanıcı adı ya şifre de yanlış olsa hata mesajı 'kullanıcı
>> adınız / şifreniz yanlış' şeklinde verilirse enumeration yapılamaz.
>>
>>
>> https://www.owasp.org/index.php/Testing_for_user_enumeration_%28OWASP-AT-002%29
>>
>> İstenilenler ve bu bilgiler ışığında ben olsam;
>>
>> - administrator, admin, editor vs. gibi muhtemel username'leri
>> veritabanına kaydederdim fakat kullanıcılara tahsis etmezdim. Bu
>> username'ler ile istek geldiği zaman direk saldırı olduğunu / olabileceğini
>> anlar ve X süresi boyunca o IP adresini bloklardım.
>>
>> - Kullanıcılara tahsis edilmiş kullanıcı adlarına yapılan saldırılarda ise
>> kullanıcının hesabı kilitlenmesin isteniyorsa 10 tane yanlış deneme sonrası
>> yine IP adresini bloklamak, 3 yanlış deneme sonrası CAPTCHA çıkarmak
>> mantıklı olacaktır.
>>
>> CAPTCHA kullanılması istenmez ise bir çözüm önerim yok :) bir üstteki
>> maddeyi yine uygulardım.
>>
>>
>>> merhaba,
>>> asagidaki senaryo ve istenenlere gore yaziliminizda nasil bir algoritma
>>> gelistirirdiniz?
>>>
>>> *Senaryo:*
>>> * Client-server uygulamasinin (klasik web uygulamasi olmayabilir) kimlik
>>> dogrulama ekraninda username/password aliniyor.
>>> * Bir username icin X defa yanlis password girilirse hesap kilitleme
>>> (lockout) politikasi var.
>>> * http*s* kullaniliyor.
>>> * Yanlis kimlik dogrulama sonrasi hata mesaji genel bir mesaj (orn:
>>> username
>>> veya sifre hatali).
>>> * Muhtemel usernameleri bulmak zor degil.
>>>
>>> *Istenenler:*
>>> * Username ve sifre brute force saldirilarina karsi onlemler alinmak
>>> isteniyor;
>>>  ** username sabit, sifre degisken
>>>  ** username degisken, sifre sabit
>>> * bulk sekilde hesap kilitleme saldirilarina karsi onlemler alinmak
>>> isteniyor.
>>>  * Ilk giriste CAPTCHA cikmasi istenmiyor. Kullaniciyi kaciriyor cunku...
>>> :)
>>> * OTP gibi cozumler uygulama icin hantal geliyor.
>>>
>>> *Ek Not:*
>>> * Eger yukarida istenenler icinde "captcha kullanilmamalidir" maddesi
>>> olsaydi, algoritmaniz nasil olurdu?
>>>
>>> bedirhan
>>> -------------- next part --------------
>>> An HTML attachment was scrubbed...
>>> URL:
>>> https://lists.owasp.org/pipermail/owasp-turkey/attachments/20110729/0114c8f6/attachment-0001.html
>>>
>>> ------------------------------
>>>
>>> _______________________________________________
>>> Owasp-turkey mailing list
>>> Owasp-turkey at lists.owasp.org
>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>
>>>
>>> End of Owasp-turkey Digest, Vol 52, Issue 9
>>> *******************************************
>>>
>>
>>
>>
>> _______________________________________________
>> Owasp-turkey mailing list
>> Owasp-turkey at lists.owasp.org
>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>
>>
>
>
> --
> Bedirhan Urgun
> http://www.webguvenligi.org
> http://www.owasp.org/index.php/Turkey
>
> Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
> _______________________________________________
> Owasp-turkey mailing list
> Owasp-turkey at lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
>


-- 
.fm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20110801/ab68f6ab/attachment.html 


More information about the Owasp-turkey mailing list