Kullanışlı Güvenlik Ne? Neden? Nasıl?

Transkript

Kullanışlı Güvenlik Ne? Neden? Nasıl?
Kullanışlı Güvenlik
Ne? Neden? Nasıl?
Doç. Dr. Kemal BIÇAKCI
TOBB Ekonomi ve Teknoloji Üniversitesi
ANKARA
E-posta Güvenliği - PGP
• PGP güvenlik yazılımı: amaç e-posta mesajlarını imzalamak ve
şifrelemek.
• 1999 yılında Whitten ve Tygar PGP 5.0’ın kullanışlılığını ölçerler.
Alma Whitten and J. D. Tygar. Why johnny can’t encrypt: A usability evaluation of PGP 5.0. In
Proceedings of the 8th USENIX Security Symposium, August 1999.
• Eğitimli ve e-posta konusunda tecrübeli 12 kullanıcının sadece
üçte biri 90 dakikalık süre içerisinde PGP 5.0 kullanarak şifreli ve
imzalı e-posta gönderebilmeyi başarabilmişler.
Bilgi Güvenliği ve İnsan
“İnsanoğlu yüksek kalitede kriptografik anahtar
saklama kabiliyetinden yoksundur ve kripto
işlemlerini yapmada kabul edilemez ölçüde
yavaştır. İnsanlar iri, bakımı zor, yönetimi
pahalı varlıklardır ve ayrıca çevreyi de devamlı
kirletirler.
Şaşılacak bir durumdur ki bütün bunlara
rağmen bu aygıtlar devamlı üretilirler ve
kullanılırlar. O kadar her tarafa yayılmışlardır ki,
protokol tasarlarken bu varlıkların sınırlı
yeteneklerini dikkate almak zorunluluğu vardır.”
Kaufman, Perlman, Speciner, 2002.
Örnekler ve Rakamlar
1. Olta Saldırıları (Phishing)
2008’de kurban sayısı bir önceki yıla göre
%40 artmış durumda.
2. Sosyal Mühendislik Saldırıları
“Hiçbir zaman şifre kırmak zorunda
kalmadım, şifrenin ne olduğunu sadece
uygun bir dille sahibine sormak gerekti.”
Kevin Mitnick
3. 2006 yılında yapılan bir anket:
güvenlik problemlerinin %60’ının insan
kaynaklı olduğunu ortaya koymakta (bir
önceki yıl bu oran %47)
Kullanışlı Güvenlik Neden
Gereklidir?
• İnsan öğesini barındıran güvenlik problemlerinin
doğru ve etkin çözümü
• Yanlış/eksik kullanım veya kullanılmama
kaynaklı güvenlik sorunlarının giderilmesi
• Güvenlik konusunda bilinçsiz fakat güvenlik
ihtiyaçları olan kullanıcıların güvenlik kararlarını
doğru ve mantıklı bir şekilde verebilmeleri
Ancak güvenliğin kullanışlı olması şartı ile
sağlanabilir.
Kullanışlı Güvenlik Nedir?
TANIM: Bir (güvenlik) yazılımı (donanım,sistem);
o yazılımı kullanması beklenilen kişilerce
– güvenilir ve gerekli bulunuyorsa
– yapılması gerekenler doğru bir şekilde anlaşılıyor ve
güvenli bir şekilde yapılabiliyorsa
– devamlı kullanımda yeteri kadar rahat ve sorunsuz
kullanılabiliyorsa
bu yazılım (donanımı, sistemi)
Kullanışlı Güvenlik özelliğine sahiptir.
Kullanışlı Güvenlik Nasıl Sağlanır?
KURAL #1: Kullanıcıyı güvenlik çemberinin
dışına çıkararak
Örnek: İletim aşamasındaki E-posta güvenliği mail protokollerinin SSL üzerinde
çalışması yolu ile belli oranda sağlanıyor. Fakat halen e-postalarımız sunucularda
şifrelenmeden saklanmakta.
38 adet manuel adım gerektiren güvenli kablosuz ağ konfigürasyonu
(ortalama harcanan süre 140 dakika)
Aynı işlemin otomasyona kavuşturulması
(ortalama harcanan süre 1 dakika 39 saniye)
Kaynak: D. Balfanz et al., “Network-in-a-Box: How to Set up a Secure Wireless Network in under a Minute,” Proc.
13th Usenix Security Symp., Usenix Assoc., 2004, pp. 207–221.
Güvenlik Çemberi ve İnsan
• Bugün
artık
güvenlik
zafiyetlerinin
büyük
çoğunluğunun insan kaynaklı olduğundan eminiz.
• Güvenliği artırma adına takip edilebilecek en cazip
yöntem
insanı
güvenlik
çemberinin
dışına
çıkarmaktır.
• Bu prensip bilhassa güvenlik kararlarının kullanıcıya
danışılmadan uygulanabileceği durumlarda titizlikle
takip edilmelidir.
• Fakat günümüz teknolojisi ile bazı kritik güvenlik
işlemlerinin tamamen otomatik hale getirilmesi
mümkün değildir.
(veya
sözkonusu
otomasyon
kullanışlılığı
azaltmaktadır).
Kullanışlı Güvenlik Nasıl Sağlanır?
KURAL #2: Kullanışlı güvenlik için güvenlik
uzmanlığı ve yenilikçi çözümler gerektiğini
anlayarak
Problem: Açık Anahtar Kriptografisinin güvenli
çalışabilmesi için açık anahtarların
güvenli bir şekilde paylaşılması gerekli
Geleneksel Çözüm: Güvenilir Sertifika
Otoritelerince imzalanmış sertifikalar
Geleneksel Çözümün Problemi: Kullanışsızlık
Kablosuz Ağ Kayıt Odası
Yenilikçi Çözüm:
(1) Açık anahtarların yer sınırlı kanallar (infrared gibi) üzerinden taşınması
(2) Bu işlemin fiziksel olarak girişi kontrol altında tutulan kayıt odasında yapılması
Kullanışlı Güvenlik Nasıl Sağlanır?
KURAL #3: Kullanışsız güvenlik sebebiyle
suçu kullanıcıya atmayarak (Herkes benim
gibidir yanılgısından kurtularak)
Güvenlik Eğitimi
• Güvenlik eğitimi önemlidir. Ama Kullanışlı
Güvenliğin alternatifi değildir.
• Bir şirket çalışanlarını eğitmek belki
mümkün peki ya İnternet kullanıcılarını?
• Sözkonusu eğitimin hangi şartlarda
verilebileceği, ne zaman ve nasıl verildiği
sorgulanmalıdır.
• Örnek: Olta Saldırısı Kurbanları ve Eğitim
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #4: Teorideki en iyi güvenliğin
pratikte en iyi güvenlik olmadığını bilerek.
ÖRNEK:
Teori: Şifreler güvensizdir, şifre yerine başka bir teknik
kullanılmalıdır.
Pratik: Başka teknikleri kullanan (SSL gibi PKI
teknolojisine dayalı) protokoller şifreleri ortadan
kaldırmadığı gibi şifreleri daha da güvensiz hale
getirmiştir.
Çözüm: Güçlü Şifre Protokolleri – Sıfır Bilgi İspatı (Zero
Knowledge Proof) (TLS SRP gibi)
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #5: Güvenliği sağlamanın
kullanıcıların çoğu için birincil amaç
olmadığını hesaba katarak
Internet Explorer Active X Dialoğu
orijinal hali
Internet Explorer Active X Çubuğu
Windows XP SP 2
Kullanışlı Güvenlik Nasıl Sağlanır?
“Sorma, Savun” prensibi
• Yazılım geliştirici olarak
sizin veremediğiniz güvenlik
kararlarını kullanıcının
vermesini beklemeyerek
• Sizin güvenlik adına
yaptığınız işleri takdir etmesi
için güvenliği gereksiz yere
görünür hale getirmekten
kaçınarak
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #6: Kullanıcıyı güvensiz kullanıma
iten şartlandırmalardan kaçınarak
Güvenlik mesajı
Mesajın ne anlama geldiği
Kullanışlı Güvenlik Nasıl Sağlanır?
Kullanıcılar Güvenlik Kararlarını Nasıl
Veriyorlar?
Problemi farket ve tanı
Devam etmemi engelleyen bir diyalog kutusu var
Problemi tanımla, daha önceki
bilinenleri kullanarak
bir çözüm stratejisi oluştur
Bu kutudan kurtulmazsam işime devam edemem
Buna benzer kutularda kapat kutusuna (veya OK/Cancel
Düğmesine) basınca problem çözülmüştü
Akli/fiziki kaynakları problemin
çözümüne tahsis et
Uygulanan çözümün
çalışıp çalışmadığını
kontrol et
El, Hareket Et!
Mükemmel, kutu kayboldu. Nerde kalmıştım?
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #7: Kullanıcıya anlayacağı dil ile
hitap ederek (Basitlik ilkesi)
Güvenlik mesajı
Kullanıcının mesajı nasıl gördüğü
İnternet Kullanıcılarının % kaçı
DSA & Elgamal’ı biliyor olabilir?
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #8: Güvenliği ölçen metrikler
arasında kullanışlılığa yer vererek ve
kullanışsızlığın bir risk unsuru olduğunun
farkına vararak
• Kullanışlılık (usability) kelimesinin ISO/IEC 27001:2006 standardında ve
NIST tarafından yayınlanan 800-30 no’lu risk yönetim dökümanında bahsi
bile geçmemektedir.
Kolay Metriklere Örnekler:
Zor Metriklere Örnek:
1. Anahtar uzunluğu ?
2. Saniyede kaç paket işlenebiliyor?
3. Kripto algoritması kaç saniyede
şifrelemeyi gerçekleştiriyor?
Kullanışlılık
(Nasıl Ölçeceğiz? )
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #9: Kullanıcıların zihinlerindeki
güvenlik modeline uygun davranarak /
doğru metaforlar kullanarak
Geri Dönülmeyen Silmeyi Anlatabilmek
İçin Kağıt Kırpma Makinesi Metaforu
Masaüstü (Ofis) Metaforu
Tasarlanırken Çizilmiş Taslaklar
Kullanışlı Güvenlik Nasıl Sağlanır?
• KURAL #10: Hızlı prototip ve küçük
kullanıcı çalışmaları ile veya
DENEY, DENEY, DENEY,…
Günümüz Fare öncesi Tasarlanmış Bazı Fare Prototipleri
Bazı Çarpıcı Deney Sonuçları
• Nobel ödüllü Kahneman ve Tversky’nin yapmış oldukları deney:
– İnsanların %84’ü garanti 500 $’ı %50 kazanma şanslarının olduğu 1000
$’a tercih ediyor.
– Aynı soru 1000 $’ın 500 $’ını kesin kaybetmek mi yoksa 1000 $’ın
hepsini %50 ihtimal ile kaybetmek mi diye sunulunca aynı oran %31’e
iniyor.
• Site-tanıma resimlerinin başarı oranı: % 8.
– 25 kullanıcıdan 23′ü kendilerine ait gerçek bir e-bankacılık işleminde
seçtikleri resim yerine “xxx bankası ödüllü STR teknolojisini şu anda
iyileştiriyor. Eğer seçtiğiniz resim 24 saat içerisinde gözükmezse müşteri
servisi ile bağlantıya geçiniz.” şeklinde bir uyarı mesajı çıkmasına
rağmen bankacılık işlemlerine devam ediyorlar.
• İnternet’te Kimlik Doğrulama İşlemi için bedava dağıtılan Akıllı
Kartları kullanmak isteyenlerin oranı: % 0.
Kullanışlılık Çalışmaları
• Kullanıcı Çalışmalarındaki Etik Sorunlar
• ÖRNEK 1: Gerçek Zamanlı Olta (Phishing)
Saldırıları
Ne zaman başlayacak? Başlayınca mı önlem alacağz?
• ÖRNEK 2: SMS Tek Kullanımlık Şifreler
Niye hareket kimlik kanıtlama (transaction authentication)
için kullanılmıyor?
Orijinal E-Bankacılık Sitesi
Phishing Sitesi
TÜBİTAK 1001 - Resim-Şifre Projesi
Tecrübeler - Kazanımlar
• Projenin amacı: hepimizin kullana geldiği ve
problemlerinin artık hemen herkes tarafından bilindiği
metin tabanlı şifrelere (parolalar) alternatif olabilecek
kullanışlı ve güvenli çözümler önermek.
• Bilişsel psikoloji bilimi insanların resim hafızasının metin
hafızasından üstün olduğunu ortaya koymakta
(1. fotoğraf 1000 sözcüğe bedeldir.).
• Peki bu prensibi problemimizin çözümü için nasıl ve ne
şekilde kullanacağız?
Veya bu prensip doğruysa hala niye resim-şifreler günlük
hayatta yaygınlaşmıyor?
Projede Yapılanlar
• 6 Laboratuar Deneyi (Toplam 174 katılımcı)
• Uzun Dönem (3 ay) Alan Çalışmaları
– Ders Web Sayfası Giriş Uygulamaları
• Uzun Dönem (1.5 ay) Alan Çalışması
– Şifre yönetim eklentisi ile farklı web sitelerine giriş
• 3 uluslararası konferans, 1 poster ve 2
(hazırlıkları devam eden) dergi makale
çalışması.
• GPEX (Graphical Passwords as Browser
EXtension) açık kaynak kodlu Firefox şifre
yönetim eklentisi
– http://myuceel.etu.edu.tr/gpexV2.0.xpi adresinden son
sürümü elde edilebilir.
Parolalar ve Problemleri
•
•
•
•
Unutma
Tahmin edilebilirlik (Düşük Entropi)
Çalınma – Paylaşma
Farklı sitelerde aynı parolayı kullanma
– Parola gerektiren site sayısındaki artış
– Hangi site için hangi güvenlik seviyesinde
parola gerekir?
– Her sitede farklı parola kullanılmasını
bekleyebilir miyiz? (Unutma – Karıştırma)
GPEX Eklentisi
1. Kullanıcı password alanına çift tıklar.
2. Açılan pencerede resim-şifresini girer.
GPEX (devamı)
Kullanıcı oluşturulacak mevcut web
sitesine özgü şifreyi görmek isterse
3. Enter Password düğmesine basılması ile
birlikte password alanı üretilen şifre ile doldurulur
GPEX’in Avantajları
1. Tek sabit bir kullanıcı şifresi (master
password) ile her web sayfasına (örneğin:
gmail) farklı şifre üretebilme özelliği
Web sayfası şifresi = Hstr(Web sayfası URL || Master Password)
H
Str
||
URL
: güvenli bir özet işlevi (hash function)
: Şifre güçlendirme sabiti (açıklanacak)
: birbirine bağlama (concatenation)
: örneğin gmail.com
GPEX’in Avantajları
2. Şifre tekrar kullanım problemlerini ve Olta
Saldırılarını (Phishing Attacks) engelleme
özelliği
Phishing sayfasının URL’i farklı olacağı için
bu sayfaya iletilen şifre farklı bir şifre olacaktır.
Web sayfası şifresi = Hstr(Web sayfası URL || Master Password)
H
Str
||
URL
: güvenli bir özet işlevi (hash function)
: Şifre güçlendirme sabiti (açıklanacak)
: birbirine bağlama (concatenation)
: örneğin gmail.com
GPEX’in Avantajları
3. İstenilen şifre türünü ayarlayabilme
özelliği
GPEX’in Avantajları
4. Çevrim dışı ataklara karşın ayarlanabilir
şifre güçlendirme özelliği
Her web sayfası için kullanılan özet işlevi “str” kez tekrar ettiriliyor,
böylece çevrimdışı ataklar “str” kadar zorlaştırılıyor.
Web sayfası şifresi = Hstr(Web sayfası URL || Master Password)
GPEX’in Avantajları
5. Ziyaret edilen web sitesinin şifre
kurallarına uygun şifre üretimi
Parola Oluşturma Politikası
XML dosyası
Ziyaret edilen sitenin
kurallarına uygun şifre politikası
GPEX’in Avantajları
6. Üretilen şifrelerin gözlemlenebilmesi ile
kullanıcının güvenini kazanma
GPEX’in Avantajları
7. Web sitelerini güvenlik seviyelerine ayırma ve güvenlik
seviyesi düşük siteler için master password’ün
tamamını veya bir kısmını kullanmama
ÖRNEK: Ziyaret edilen web sayfası oyun indirmek için kayıt olmayı gerektiriyor
ÇÖZÜM:
1.
Web sayfasının güvenlik seviyesinin 0 olarak atanması.
2.
Web sayfası şifresi = Hstr(Web sayfası URL || Master Password)
formülü yerine
Web sayfası şifresi = Hstr(Web sayfası URL) formülünün kullanılması.
GPEX’in Avantajları
8. Farklı şifre yöntemlerini güvenliğin önemli
olduğu gerçek hayat uygulamalarında
deneme ve karşılaştırma imkanı
GPEX Alan Çalışması ve Sonuçları
• 20 üniversite öğrencisi GPEX’i ortalama 1.5 aylık süre
boyunca ziyaret ettikleri toplamda 7 farklı site için 1197 kez
kullandılar.
–
–
–
–
–
Hatasız giriş oranı: % 98.5 (19 hatalı giriş).
Şifresini unutanların oranı: % 0
Ortalama giriş süresi: 6.24 saniye.
GPEX’in kullanışlılığına verilen puan: 4,525 / 5.
GPEX’in güvenliğine verilen puan: 4,75 / 5.
• Çalışma sonrasında günlük kullanımda GPEX’i kullanmaya
devam edenlerin oranı: % 5.
• Sebepler:
–
–
–
–
–
Klavyeden girmeye alışkınım.
Zaten güvenli şifre kullanıyorum.
Güvenlik benim için o derece önemli değil.
Programın yüklenmesindeki zaman kaybı
Taşınabilirlik problemi
Son Söz
“6th Principle: Finally, it is necessary, given the
circumstances that command its application, that the
system be easy to use, requiring neither mental strain
nor the knowledge of a long series of rules to observe.”
“6. Prensip: Son olarak, uygulamaya hükmeden koşullar
bağlamında, sistemin zihinsel zorlama veya uzun
kurallar silsilesi izleme bilgisine gereksinim duymayan
kolay kullanılabilir bir sistem olması gerekir.”
Auguste Kerckhoffs, 1883.
Bazı Kaynaklar
1.
2.
3.
4.
5.
Peter Gutmann: Security Usability,
http://www.cs.auckland.ac.nz/~pgut001/pubs/usability.pdf,
February 2008. Draft.
L.F. Cranor and S. Garfinkel: Security and Usability: Designing
Secure Systems that People Can Use, O’ReillyMedia, Inc.,
Sebastopol, CA, USA, August 2005.
L.F.Cranor: A framework for reasoning about the human in the
loop. In Proceedings of the 1st Conference on Usability,
Psychology, and Security, pages 1-15, Berkeley, CA, USA, 2008.
USENIX Association.
Alma Whitten and J. D. Tygar: Why Johnny can’t encrypt: A
usability evaluation of PGP 5.0. In 8th USENIX Security
Symposium, pages 169 – 184. Usenix, 1999.
Akademik Güvenlik Bloğu,
http://akademikguvenlik.wordpress.com/

Benzer belgeler