Güvenliği Kullanıcıya Yüklemek: Uyarı Tasarımının Sınırı
Arayüzde çözülmeyen güvenlik problemi genellikle kullanıcı eğitimine devredilir. Oysa her uyarı penceresi, tasarımcının almak istemediği kararı kullanıcıya geri atar; kullanıcı da o kararı günde onlarca kez veremez. Mesele bilgi eksikliği değil, kararın yanlış yerde duruyor olması.
Uyarı, kararı kullanıcıya iade eder
Sertifika hatası veren bir sitede çıkan ekran kullanıcıya şunu sorar: bu bağlantıdaki sertifika zinciri hakkında bir yargıya var ve devam edip etmeyeceğine karar ver. Bu soruyu cevaplayabilecek kişi sayısı çok az. Geri kalan herkes ya vazgeçer ya da devam eder, ikisi de bilgiye dayalı bir seçim değildir.
Dahası, uyarı sıklaştıkça tıklama otomatikleşir. Haftada bir kez gördüğünüz tam sayfa kırmızı ekran sizi durdurur; her gün gördüğünüz aynı ekranın üzerinden iki saniyede geçersiniz. Tarayıcıların son on yılda yaptığı şey uyarı metnini güzelleştirmek değildi, kullanıcının o kararı vermesini zorlaştırmaktı: uyarı tam sayfaya çıktı, devam etme yolu bir alt menüye gömüldü, metin sertifika terminolojisinden arındırıldı.
Varsayılan, metinden ağır basar
HTTPS yaygınlaşması bunun en temiz örneği. Kullanıcılara adres çubuğundaki kilit simgesini öğretme çabası yıllarca sürdü ve işe yaramadı. Sonuç veren şey tarafların değişmesiydi: sertifika bedava ve otomatik kurulabilir hale geldi, tarayıcılar şifresiz bağlantıyı açıkça "güvenli değil" diye etiketledi. Google 2018'de adres çubuğundaki pozitif "güvenli" etiketini kaldırdı, çünkü kullanıcı bir şeyin varlığını değil yokluğunu fark ediyor.
Aynı mantık parolada da çalışıyor. Sızdırılmış parola listelerine karşı kontrol, kayıt formunun arkasında sunucu tarafında birkaç satırla kurulur ve kullanıcının tek bir şey öğrenmesini gerektirmez. Formun yanında renk değiştiren parola gücü çubuğu ise kullanıcıya ders vermeye çalışır (o çubukları süs sayıyorum).
Kararı arayüzden almanın yolları
Kullanıcıyı eğitmeden önce bakılacak yerler sırayla şunlar:
- Tehlikeli yolu varsayılandan çıkar. Kullanıcının hiçbir ayara dokunmadan ulaştığı durum en güvenli durum olsun.
- Onay sormak yerine geri almayı mümkün kıl. "Emin misiniz?" penceresi okunmaz, "geri al" bağlantısı kullanılır.
- Kullanıcının göremediği bir şeyi ona sorma. Sertifika zinciri, dosya imzası, betik kaynağı bu kategoride.
- Kararı tek seferlik hale getir. Her oturumda tekrar sorulan izin, üçüncü seferde refleksle verilir.
Phishing'de de durum böyle. Eğitim kullanıcıya alan adını kontrol etmeyi öğretir, saldırgan da benzer görünen bir alan adı alır, bu yarışı kullanıcı kazanmıyor. Donanım anahtarına veya platform kimlik doğrulamasına geçtiğinizde ise kimlik bilgisi kaydedildiği alan adına bağlanır ve sahte alan adında çalışmaz. Aynı problemi biri insan dikkatine, diğeri protokole yüklüyor; hangisinin daha dayanıklı olduğu ortada.
Uyarı yazmak zorunda kalırsan
Her riski tasarımla kapatamazsınız, bazı yerlerde uyarı kalır. O zaman üç şeye dikkat edin. Uyarı nadir olsun; sıklaşan uyarı duvar kağıdına dönüşür. Ne olduğunu değil ne yapılacağını söyleyin. Ve kaybı adıyla anın: "sertifika doğrulanamadı" kimseye bir şey ifade etmez, "bu sayfaya yazdığınız parola başka birine gidebilir" eder.
Metni yazarken bir ölçüt var: uyarıyı okuyan kişi, uyarıyı yazan kişinin bildiği hiçbir şeyi bilmiyor olsa bile doğru eylemi seçebiliyor mu? Cevap hayırsa, uyarı değil kaydırılmış sorumluluktur.
Eğitim nerede gerçekten işe yarar
Eğitimi tümden silmiyorum, ama yeri dar. Arayüzün göremediği bağlamda işe yarar: telefonla arayıp kendini bilgi işlem diye tanıtan birisi, bir yöneticinin ağzından yazılmış acil ödeme talebi, ofiste birinin omzunun üzerinden bakması. Bunların hiçbirinde devreye girecek bir ekran yok.
Pratik sonuç şu: genel farkındalık sunumuna harcanan zamanı kısın, o zamanı hem bu dar senaryoları çalışmaya hem de uyarı gerektiren akışları uyarı gerektirmeyecek biçimde yeniden kurmaya ayırın. İkincisi daha pahalı görünür, bir kez yapılır.