Parolalara güvenmiyorsanız Bal Kelimesi mi alırsınız? Bal Hesabı mı?

İnsanlık, yüzyıllardır düşmanlarıyla nasıl baş edeceği konusunda kafa yormuş ve kurulan tuzaklar yardımı ile “ava giden avlanır” atasözünün uygulamaya nasıl geçirilebileceği ile ilgili sayısız örnekler vermiştir.

Sayısal dünyaya geldiğimizde de tuzak kurma ile ilgili ağ üzerinden yapılan saldırılarda Honeypot – Bal Küpleri teknolojisinin yaygın kullanımda olduğunu biliyoruz. Öte yandan, kimlik doğrulama sistemlerinde bu tür uygulamalar çok daha az fakat bir o kadar da gerekli.

Parola tabanlı kimlik doğrulama sistemlerine yönelik tehditlerden bir tanesi sunucudan parola dosyasını çalarak çevrimdışı saldırılar yapmak ve bu saldırılar sonrası ele geçen parolaları kullanarak kimlik hırsızlığında bulunmaktır. Çoğu zaman, kullanıcıların farklı sistemlerde aynı parolaları kullanmaları bu tür saldırıların verebileceği zararları artırmaktadır. Böyle bir saldırının önlenememesi durumunda bu saldırıların varlığının tespit edilmesi ikinci bir tedbir olarak düşünülmelidir. Bal Kelimeleri ve Bal Hesapları bu probleme çare olmak üzere önerilmiştir.

Bal Kelimeleri (Honeywords) yöntemine geçmeden önce Bal Hesapları (Honey Accounts) diye nitelenebilen ve gerçekleştirilmesi daha kolay bir teknikten kısaca bahsetmekte fayda var. Bal Hesapları yönteminde sistemdeki normal kullanıcı hesaplarının yanı sıra belli miktarda gerçek kullanıcılara ait olmayan tuzak hesaplar açılır. Bu tuzak hesapların hangileri olduğu parola dosyası dışında başka bir yerde tutulur. Saldırganın parola dosyasını çaldığı ve buradaki parolaların bir kısmını elde ettiğini varsayalım. Bu durumda saldırganın sistemde deneyeceği bir parolanın gerçek bir kullanıcıya ait olmaması ve  tuzak parolalardan bir tanesi olması durumunda sistemde bir alarm üretmek ve parolaların çalınmış olabileceğini tespit etmek mümkündür. Sayısal olarak ifade etmek gerekirse sistemde gerçek kullanıcı sayısı m ise ve tuzak hesap sayısı b ise bu durumda gerçek kullanıcı hesapları ile tuzak kullanıcı hesaplarının birbirinden ayırt edilemediği ve saldırganın sistemde bulmuş olduğu bir parolayı yine aynı sistemde denediği varsayımları yapılırsa yapılmış bir çevrim dışı saldırının tespit edilme olasılığı b/(m+b) olarak hesap edilebilir. Saklama alanlarının çok ucuz hale gelmesi gerçeğinden hareket edilecek olursa b değerini büyük seçmek (örneğin m’nin 20 katı gibi) ve dolayısıyla tespit olasılığını kabul edilebilir seviyelere (%95 gibi) çıkarmak önünde bir engel bulunmadığını düşünüyoruz.

Bal Hesapları yönteminde dikkat edilmesi gereken en önemli nokta saldırganın gerçek kullanıcı hesapları ile tuzak hesapları birbirinden ayırt edebilmesinin engellenmesidir. Saldırgan Bal hesapları yönteminin kullanıldığından şüpheleniyorsa gerçek ve tuzak kullanıcı isimleri ve/veya parolalarını analiz ederek doğru tahminde bulunmaya çalışabilir. Basit bir saldırı örneği olarak; kullanıcı hesaplarında kullanıcı ismi olarak e-posta adreslerinin kullanıldığını varsayalım. Gerçek kullanıcıların e-posta hesaplarının İnternet üzerinden basit bir arama ile gerçek kişilere ait olduğu doğrulanabiliyorsa ve eğer biz tuzak hesaplarda kullandığımız e-posta adreslerini rasgele üretmiş isek saldırganların bu söz konusu ayırt etme işlemini yapmaları zor olmayacaktır.

2013 yılında Juels ve Rivest tarafından önerilmiş Bal Kelimeleri (Honeywords) tekniği uygulanarak çevrimdışı sözlük saldırılarını tespit eden daha farklı bir süreç geliştirilebilir. Bal Kelimeleri yöntemi Bal Hesaplarındaki gibi tuzak hesapların açılması yerine sisteme kayıtlı kullanıcılara ait gerçek parolaların yanı sıra tuzak parolaların üretilmesi ve sistemde tutulması tekniğine dayanır. Yine örnekle anlatmak gerekirse; sistemdeki bir gerçek kullanıcının gerçek parolası p1 olsun. Sistemde parola dosyasında ilgili kullanıcıya ait satırda (özetlenmiş, tuzlanmış) p1 parolasının yanı sıra yerleri karıştırılmış şekilde p2, p3, … pN tuzak parolaları da (yine aynı şekilde tuzlanmış ve özetlenmiş olarak) tutulur. Hangi parolanın gerçek, hangilerinin tuzak olduğu bilgisi ise sistemde parola dosyasının bulunduğu sunucu dışında başka bir sunucuda tutulur. Böylelikle, parola dosyasının çalınması ve bir çevrim dışı saldırı yapılması durumunda saldırganın gerçek parola yerine bir tuzak parolayı denemesi ve bu sayede tespit edilmesi olasılığı N-1/N olarak hesap edilebilir (N= 20 için bu olasılık değeri %95’dir).

Bal Kelimeleri tekniğinde Bal Hesaplarına benzer şekilde saldırganın gerçek parolalar ile tuzak parolaları birbirinden ayırt edebilmesi problemi ile karşı karşıya kalmaktayız. Bu problemi ortadan kaldırmak için gerçek parolalar ile tuzak parolaların benzer özelliklere sahip olması gerekmektedir.

Peki, bu özellikleri nasıl sağlayacağız ve sistemi daha da güvenli hale nasıl getireceğiz? Bize ayrılan süre maalesef dolduğu için bu soruların cevabını başka zamana bırakıyoruz . Şirketi boşa mı kurduk, herşeyi bir blog yazısından beklemeyin lütfen 🙂