Numaralandırma saldırısı tehlikesi

Web uygulamalarını denetlerken uzmanlarımız numaralandırma saldırılarına karşı bir güvenlik açığı buldu. İşte sorunun açıklaması ve bu sorunla nasıl mücadele edileceği.

Son zamanlarda, Kaspersky Blockchain Güvenlik uzmanlarımız bir blockchain platformunu güvenlik açıkları için test ederken platformun şifre kurtarma işleminin kullanıcı adı numaralandırması yoluyla gerçekleştirilen bir saldırıya karşı savunmasız olduğunu keşfetti. Web geliştiricilerinin bu tür saldırıların ve tehlikelerinin farkında olmaları gerekir.

Numaralandırma saldırısı nedir?

Şifre ve oturum açma kimlik doğrulaması içeren web uygulamaları genellikle kullanıcı veritabanıyla etkileşim kuran birkaç bileşen içerir: oturum açma penceresi (açık nedenlerle), kayıt formu (kullanıcı adlarının çoğaltılmasını önlemek için) ve şifre sıfırlama sayfası ( ilgili hesabın var olduğundan emin olmak için). Web geliştiricileri bu özellikleri yeterince güvenli bir şekilde uygulamazlarsa, saldırganlar veritabanında belirli bir kullanıcı adının bulunup bulunmadığını belirlemek için bunları kullanabilirler.

Eskiden geliştiricilerin tüm bu özellikleri herhangi bir koruma olmadan uyguluyorlardı ve saldırganlar bir kullanıcı adı listesi ve bunları tek tek giren bir program kullanabiliyordu. Zaman içinde, hackerları sistemlerinin dışında tutmak için geliştiriciler captcha, sisteme giriş sayısındaki sınırlamalar ve yanıtlarda ayrıntılarını gizlemek için yıldız işaretleri veya diğer araçlar gibi koruyucu numaralar uygulamaya başladı.

Modern Web uygulamalarında, giriş penceresi genellikle bu tür bir korumaya sahiptir. Ancak, kayıt formları ve şifre sıfırlama sayfaları bazen eksiktir. Buna ek olarak, Web geliştiricileri veritabanında bir kullanıcının varlığının veya yokluğunun sunucu yanıtının zamanlamasıyla belirlenebileceğini düşünmezler. Örneğin, kullanıcı adı veritabanında görünüyorsa, sunucunun yanıtı 2 milisaniye sürer. Değilse, yanıt iki kat daha uzun sürer. 4 milisaniye. Bir insan için, fark tespit edilemez, ancak otomatik numaralandırma araçları tarafından görülmesi kolaydır.

Kullanıcı adı numaralandırma saldırısının tehlikeleri

Numaralandırma saldırısı, hackerın veritabanında bir ad olup olmadığını kontrol etmesine olanak tanır. Bu, bilgisayar korsanının hemen oturum açmasına izin vermez, ancak hackerın ihtiyacı olan bilgilerin yarısını verir. Örneğin, kaba kuvvet saldırısı hazırlamak için hackerların ihtiyacı olan tek şey doğrulanmış kullanıcı adı ile eşleşen bir şifre. Giriş ve şifre çiftleri aramak yerine bu saldırıyı kullanarak zaman kazanırlar.

Neredeyse her hizmetin kullanıcı adı olarak e-posta adresleri kullandığını unutmayın. Bu nedenle, sıradan bir kullanıcının birçok web sitesi için tek bir girişi vardır ve tüm siteler güvenliği eşit derecede ciddiye almaz. Bu nedenle kullanıcı adı ve şifre kombinasyonu sızıntıları oldukça yaygındır. Bu sızıntılardan elde edilen birleştirilmiş veri koleksiyonları hacker mesaj panolarında bulunur. Ayrıca, insanlar farklı web siteleri için aynı şifreleri kullanma eğilimindedir. Bu nedenle web sitenizde bir kullanıcı adının bulunduğundan emin olduktan sonra, saldırgan aynı kullanıcının şifrelerin başka sitelerde olup olmadığını görmek için bu panolara göz atabilir ve ardından bu şifreleri farklı sitelerde deneyebilir.

Buna ek olarak, hedef odaklı kimlik avı operatörleri genellikle keşif aşamasında numaralandırma saldırıları uygular. Hackerlar hedeflerinin hizmetinizde bir hesabı olduğunu belirledikten sonra, sizden gelmiş gibi görünen bir e-posta göndererek kullanıcıdan şifrelerini değiştirmesini ve web sitenize benzeyen bir kimlik avı sayfasına bağlanmalarını isterler. Durumdan şüphelenmeyen müşteri yeni bir şifre girdiğinde, eski şifreyi de onaylar ve böylece dolandırıcılara ihtiyaç duydukları her şeyi sağlar.

Bir numaralandırma saldırısından kendinizi nasıl korursunuz

Modern web sitelerinin şifre sıfırlama formlarının teslim edilmesine nasıl yanıt verdiğini hiç fark ettiniz mi? Web sitelerinin eskisi gibi “Şifrenizi sıfırlamak için size bir bağlantı gönderildi” veya “Belirtilen e-posta veritabanımızda yok” demiyorlar. Bunun yerine, “Bu e-posta veritabanımızda varsa, size bağlantı içeren bir mesaj göndeririz” yazıyorlar. Başka bir deyişle, web siteleri kullanıcı adının varlığını açıkça onaylamıyor veya reddetmiyor. Web siteleri bu değişikliği özellikle de numaralandırma saldırılarına karşı korumak için yaptılar.

Aynı şekilde, giriş penceresinde kullanıcının yanlış bir şifre girdiğini veya sistemde böyle bir kullanıcı adının bulunmadığını ayrıntılı olarak açıklamanıza gerek yoktur. Sadece kullanıcı adı/şifre kombinasyonunun bulunmadığını söyleyin. Ancak, bu durum kullanıcı deneyimi (UX) açısından ideal olmayabilir. Mesela ben, kayıt için hangi e-postayı kullandığımı unuttuğumda sinirlenebiliyorum fakat şifre veya tam tersi şekilde kullanıcı adı hakkında oldukça eminim. Bu söz konusu olduğunda web sitesi hangi alanda yanlış giriş yaptığım konusunda hiçbir ipucu vermiyor. Bununla birlikte sanal ortamda güvenliği sağlamak oldukça kolaydır. Söz konusu kimlik doğrulama hizmetleri olduğunda, kullanıcıların küçük bir güvenlik önyargısı da haklı çıkar.

Tabii ki, captcha kullanımı ve giriş sayısındaki sınırlamalar da yapılması gerekenler arasındadır. Buna ek olarak, Web uygulamanızın güvenliğini sağlamak için üçüncü taraf denetimini yapmanızı da öneririz. Blockchain teknolojisindeyseniz, Kaspersky Blockchain Güvenliği‘nden meslektaşlarımız Web uygulaması güvenlik analizine yardımcı olabilir.

İpuçları