Şifrelere Bir De Bu Gözle Bakın
Hergün kullandığımız şifreler hakkında bu inanılmaz gerçekleri öğrenince kafanız biraz karışacak...
Hayatımızın, özellikle de dijital hayatımızın en önemli ve rahatsız edici şeylerinden biridir şifreler. Bilgisayarınızı mı açacaksınız? Lütfen şifre giriniz. Facebook mu güncelleyeceksiniz? Şifre! Banka hesabınıza mı erişeceksiniz? Şifre gerekli!
Peki ama iyi bir şifreyi nasıl bulacaksınız? Daha doğrusu iyi şifre nasıl olmalı? Şifreleri nasıl hatırlayacaksınız?
Her gün kendimizi sistemlere tanıtmak için şifreler kullanıyoruz. Bu şifre, sadece bizimtarafımızdan bilinen ve sisteme sadece bizim girmemizi sağlayan bir anahtar oluyor. Facebook, Twitter, posta sağlayıcınız, bankanız ve şifre kullandığınız diğer her yer şifrenizi bir sır olarak saklıyor ve 3. şahıslarla paylaşmıyor. Peki özelinizin sır olarak kaldığından ve ona dokunulmadığından nasıl emin olacaksınız?
Şimdi bir de soruya, sizin özel bilgilerinizin peşinde olan bir "siyah şapkalı hacker" gözünden bakalım. Diyelim ki banka hesabınıza erişeceksiniz ve hacker da sizin şifrenizin peşinde, şifrenizi nasıl ele geçirecek?
İlk ve en kolay yol, şifrenizi yazarken sizi izlerler. Şifrenizin kolay ya da zor olmasının hacker için hiçbir önemi yoktur, sadece şifreyi girmenizi izler. Peki ama bir hacker sizi nasıl "izler"?
Mart ayında, RSA (ABD Savunma Departmanı'nın kullandığı SecurID sisteminin üreticisi) hack'lendi. Birisi iç sistemlere ve ağlara sızdı ve SecurID'ye ait iki-faktör tanımlama anahtarını çaldı. Birkaç ay sonra bu sefer de Lockheed Martin'i hack'leme girişimleri gerçekleşti. Nasıl mı? Basit, phishing (oltalama) ataklarıyla.
RSA'ın alt birim çalışanlarına, sanki firmadan geliyormuş gibi 2011 Geliştirme Planı başlığında bir excel dosyası gönderdiler. Dosya içinde saklı, 0-gün (zero-day) açıklarından yararlanan bir Flash dosyası vardı. Excel dosyası açıldığı anda zararlılar bilgisayara yüklendi ve bilgisayarda bir arka kapı açtılar, bu sayede hackerlar bilgisayarlara ve oradan da ağa erişim sağlamış oldu.
İşte bu andan sonra hacker kontrolü ele alır ve sisteminize keylogger yükleyerek, yazdığınız her şeyi görebilir ve kaydedebilir. Ve eğer sistem şifrenizi ele geçirirse, Sistem Hesap Yöneticisini, Oph***** gibi programlarla kırabilir ve işte tüm şifreleriniz artık saldırganın elinde...
Bir diğer hızrsılık yöntemi daha...
Bir başka yöntem ise - ki en çok kullanılan yöntemdir - ilk aşamada algoritmalar kullanarak şifreler yaratmak ve bu şifreleri sistemde deneyerek doğruyu bulmak... Buna "brute force attack" (tam güç saldırı) adı veriliyor. Sistemlerin bu saldırıya karşı savunma taktikleri var. Genellikle şifrenizi üst üste yanlış girdiğiniz zaman hesabınız kilitlenir veya bazen hatalı şifre girdiğinizde, giriş ekranı gecikmeli olarak karşınıza getirilir ve böylece üst üste denemeler çok uzun süre alır. Bilmenizde fayda var; Windows 7'li bilgisayarlarda, otomatik hesap kilitlemesi varsayılan olarak gelmez. Ve bu dosyalarınızı, özellikle de şifrelerinizin saklandığı dosyaları çalmak isteyen hackerlar'ın işini çok daha kolay hale getirir.
Aslında online koruyucular (kısıtlı şifre deneme hakkı, gecikmeli sayfalar gibi) artık pek işe yaramıyorlar, hackerlar buldukları açıklar sayesinde istedikleri kadar şifreyi bu engellere takılmadan sistemde deneyebiliyorlar. İşte tam bu sırada niçin güçlü bir şifre kullanmamız gerektiği sorusunun cevabı da ortaya çıkıyor.
Numaralardaki güç...
Yeni bir hesap açtığımızda bizden bir şifre belirlememiz istenir ve genellikle şifremizin ne kadar güçlü olduğunu gösteren, bize yardımcı olan bir ekran bulunur. Bu yardımcı ekran, şifrenin uzunluğuna, büyük - küçük harf, numara ve sembol kullanıp kullanmadığımıza göre bize yol gösterir.
Şifrelerin gücü entropi ile ölçülür; yani içerdiği bit miktarı... Yüksek bit miktarına sahip, fazla entropili şifrelerin kırılması daha zordur.
Entropi, bir olayın öngörülebilmesinin ölçütüdür. Mesela bir bozuk parayı fırlattığınızda kesinlikle yazı ya da tura geleceğini bilemezsiniz. Yani bu işlem maksimum entropiye sahiptir. Fakat bir yazı okurken sırada gelecek olan şeyleri tahmin edebilirsiniz ve çeşitli yargılarda bulunabilirsiniz; A harfi Z harfinden daha çok görünür gibi...
Tahminen şu anda okuduğunu bu yazının entropisi karakter (8bit) başına 1 ile 1.5 bit arasındadır. Yani entropi, bir mesajın gerçek anlamını kaybetmeden ne kadar sıkıştırılabilir olduğudur. Bir yazıyı yaklaşık yüzde 80 oranında kayıpsız sıkıştırabiliriz, bu da bize yazının entropisini verir.
Şifre entropisi
Örneğin ATM'lerde kullandığımız PIN'leri ele alalım; yani sadece rakam kullanabildiğimiz şifreleri... Her karakter 0-9 arasında bir rakam olmak zorunda. Bilgisayar ortamında şifrelerin gücü, boyutuyla yani bit miktarıyla ölçülür. ASCII karakter setinde, her karakter teoride 8 bit alan kaplar fakat çoğu bit sıkıştırılarak "sayının esas niteliği" bozulmadan göz ardı edilebilir. Mesela, 0 için 0000 veya 1 için 0001 gösterimi kullanılabilir. Bu durumda karakter başına gerçek boyut 3.3 bit olur. Ve her rakamı farklı rastgele 4 rakamlı bir şifre ortalama 13bit boyutunda olur.
Yani 4 rakamlı bir PIN'i tahmin etmek bir bozuk parayı üst üste 13 kere yazı ya da tura atmakla eşdeğer şansta. Ufak bir hesaplamayla 2^13=8.192 farklı yolu olduğunu görüyoruz bunun. Bunca farklı kombinasyon arasından doğru şifreyi bulmak zor gözüküyor.
Şimdi tekrar hacker'ın bakış açısından bakalım. Çeşitli şifre yaratma programları saniyede bir milyon şifre yaratıp deneyebiliyor. Bir milyon yaklaşık 2^20 ediyor, yani hacker saniyede 20bit veri deneyebiliyor. 13 bitlik PIN'imiz bir saniyeden daha kısa sürede hacker'ın eline geçti bile...
Önlemler var ama yeterli mi?
Neyse ki buna karşı alınan çeşitli önlemler var, mesela şifrenizi 3 kere üst üste yanlış girdiğinizde sistem kitleniyor. Yeterli mi dersiniz? Bir senede yaklaşık 2^25 saniye var. Yani bu koşullarda hacker yılda 45 bit veri deneyebilir. Yani 45bit boyutundaki şifreniz bile ancak 1 yıl için güvenli sayılır. Şifreye eklenen her bit, şifreyi kırma süresini 2 kat artırır, yani 50 bitlik bir şifreyi kırmak 32 sene sürer diye düşünebiliriz. Fakat şifre kırma hızı 2 katına çıkarsa, zamanı da yarıya düşer. Yani daha hızlı bir program kullanan hacker karşısında yine başladığımız yere dönmüş oluruz.
PIN'lerin yapısı ve sağlamlığı hakkında bilgi sahibi olduk. Şifreleri oluştururken başka karakter setlerinden de yararlanabiliriz. Örneğin bir zamanlar kablosuz modemlerimizin güvenliğini sağlayan WEP şifrelerini ele alalım. A-F arası harflerden oluşan bu şifre 10 karakter içeriyordu. Her karakter 4 bit boyutunda ve 10 karakterden oluştuğu için 40 bitlik bir şifremiz oluyor. Brute force attack (tam güç saldırı) ile 220 saniyede (toplam 11 gün) şifre kırılabilir. Gerçi WEP'in başka güvenlik zaafları da olduğu için brute force attack'a pratikte ihtiyaç duyulmaz.
Ne kadar karışık, o kadar iyi
Bir de tüm alfabe harflerinden oluşan şifreler var. İngiliz alfabesinde 26 harf var ve her karakter 4.7 bit alan kaplıyor. Senelik -bir sene boyunca kırılmayacak- bir şifre istiyoruz. Eğer büyük - küçük harf ve rakam kullanacak olursak toplamda 62 karakterlik setimiz oluyor ve 8 karakterli rastgele bir şifre yeterli oluyor. Eğer noktalama ve özel işaretleri de katarsak bu bize fazladan 16 karakter katıyor ve 7 karaterli bir şifre yeterli oluyor.
Tabi şifre ne kadar karışık olursa hatırlamak da o kadar zorlaşıyor. Bunun üstesinden gelmek için "rastgele gözüken" şifreler seçebilirsiniz. Mesela 2.000 kelimeden oluşan bir tablo düşünün, senelik bir şifre yaratmak için kaç tane kelimeyi ard arda dizmeniz gerekir? Şaşırtıcı ama cevap 4. Ortalama 7 harften oluşan 4 kelime 28 karakterlik bir şifre yapar. Sıralı ve mantıklı 4 kelimeyi hatırlamak rakamları hatırlamaktan çok daha kolaydır.
Yazıyı okuduktan sonra şifrenizi değiştirmeyi ve mümkünse her 6 ayda bir şifre değiştirmeyi düşünmeye başlamış olmalısınız. Umarız bunu sağlamayı başarmışızdır...
Esen kalın
Teşekkürler