Kişisel Verilerin Korunması Kapsamında Şifre Güvenliği

6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK), 1995 yılında Avrupa Birliği’nin uygulamaya koyduğu Kişisel Verilerin Korunması Direktifi (Direktif 95/46/EC) referans alınarak hazırlanmış ve 7 Nisan 2016 tarih ve 29677 sayılı Resmî Gazetede yayımlanarak yürürlüğe girmiştir.

Hem KVKK hem de Avrupa Birliğinin 95/45/EC sayılı direktifinden sonra 25 Mayıs 2018’de yürürlüğe koyduğu Genel Veri Koruma Yönetmeliğinde (GDPR-General Data Protection Regulation) şifreleme önemli teknik tedbirler arasında yer almaktadır.

KVKK’nın 12’nci maddesinin birinci fıkrası, veri sorumlularını “uygun güvenlik düzeyini temin etmeye yönelik gerekli her türlü teknik ve idari tedbirleri almak zorunda” bırakmış ve teknik tedbir uygulamalarına açıklık getirmek amacıyla Kişisel Verileri Koruma Kurulu tarafından Kişisel Veri Güvenliği Rehberi hazırlanmış ve söz konusu Rehber’de Kullanıcı Hesap Yönetimi, Şifreleme, Anahtar Yönetimi ve diğer teknik tedbirlerin uygulamasında şifre güvenliğine atıflar yapılmıştır.

Son yıllarda büyük teknoloji şirketlerinin bile (ki bunlara sosyal medya platformları, e-posta sağlayıcıları gibi pek çok şirket dahil) kullanıcı ve müşterilerinin şifrelerini sızdırması, büyük çaplı sistem şifrelerinden kişisel kullanıcı şifrelerine kadar, şifre güvenliğinin her aşamada ciddiye alınması gerektiği göstermektedir.

Türkiye’de özel şirketlerin ve kamu kurumlarının KVKK uyumluluğu kapsamında şifre güvenliği yükümlülüğünü yerine getirirken dikkat etmesi gereken temel unsurlar, merkezi hesap yönetimi, güçlü ve uzun parola kullanımı, düzenli parola değişimi sağlanması, anahtar yönetimi olarak ele alınabilir.

 

Merkezi Kullanıcı Hesap Yönetimi

Kullanıcı hesap yönetimi, kuruluş ağında yer alan tüm kullanıcı şifrelerinin güvenlikli ve sağlam bir yapıda oluşturulmasını ve korunmasını sağlamaktadır. Kullanıcı hesap yönetimi sağlanırken Active Directory (AD), LDAP (Lightweight Directory Access Protocol), OpenLDAP, Kerberos gibi merkezi uygulama ve protokoller kullanılmalıdır. Kuruluşun hangi yazılımlarla merkezi kullanıcı hesap yönetimi yapacağı sistemin büyüklüğüne, niteliğine ve kullanılan platforma göre değişiklik gösterebilir.

Hangi yöntemle yapılıyor olursa olsun, kullanıcı hesap yönetimini sağlayan platforma ait ayrıcalıklı hesapların, kullanıcı bilgilerinin, parolaların güvenli bir şekilde saklanması en önemli adımdır.

Kişisel verilerin tutulduğu ve kişisel veri işleyen personelin kullandığı sistemlerin şifre yönetimleri merkezi kullanıcı hesap yönetim uygulamalarıyla yapılmalıdır. Böylece kullanıcı şifrelerinin yeterli uzunlukta olması, kullanılan karakter tipleri, periyodik değişimi gibi güvenlik şartları tek merkezden yönetilebilmektedir.

Kullanıcı şifrelerinin en az 8 karakter uzunluğunda olması, büyük harf, küçük harf, rakam ve sembol içermesi, periyodik olarak değiştirilmesi ve hatalı şifre denemelerinin kısıtlanması gerekmektedir. Bu şekilde kullanıcıların güçlü şifreler kullanması sağlanabilir.

Zayıf şifre kullanımı ile ilgili örnekler bu yazının devamında ele alınmaktadır.

 

Kablosuz Yerel Alan Ağlarının (WLAN) Şifre Güvenliği

Çoğu kuruluş içinde kullanılan kablosuz yerel alan ağları WPA2 ile şifrelenmektedir. WEP ve WPA yöntemiyle güvenlik hiçbir şekilde sağlanmamalıdır. Ancak bazı kuruluşların ya da küçük işletmelerin farkında olmadan WPA ve WEP ile kablosuz ağ güvenliği sağlamaya çalıştığı görülebilmektedir. WPA ve WEP şifreleri uzun süredir kırılması en kolay şifreleme yöntemleri arasındadır. WPA2 ise her ne kadar mevcut kablosuz ağ protokolleri arasında en güvenlisi olarak kabul edilse de barındırdığı birtakım açıklar nedeniyle şifreleri ele geçirilebilmekte ve kırılabilmektedir.

Bir kablosuz ağ SSID olarak bilinen kablosuz ağ adını yayınlar. Kullanıcılar bağlanmak istediği ağı bu SSID ismine göre tanıyarak seçer ve bağlanır.

SSID bilgisini gizlemek bazı durumlarda bir güvenlik yöntemi olarak tercih edilmektedir. Ancak Linux işletim sisteminde kullanılan bazı araçlar (Airodump, Aircrack) kullanılarak ağa bağlanmak isteyen istemcilerin yayınladığı bilgiler üzerinden gizlenmiş SSID bilgisi kolaylıkla bulunabilmektedir.

SSID gizleme haricinde tercih edilen ikincil bir yöntem ise MAC filtreleme yapılmasıdır. Tüm ağ cihazlarının benzersiz birer MAC adresi (telefonlardaki IMEI numarası gibi) vardır. Ağa bağlanmak isteyen cihazlar MAC adreslerini de ağ cihazına gönderir. Eğer listede bulunmayan MAC adresine sahip bir cihaz bağlantı isteği gönderirse, ağ cihazı bağlantı isteğini reddeder. Ancak MAC adresleri taklit edilebilmektedir. Airodump gibi bir araçla ağa bağlı cihazların MAC adresleri tespit edilerek Macchanger gibi bir araçla ya da başka yöntemlerle MAC adresi değiştirilerek ağa dahil olabilmek mümkündür.

Kullanılan protokole göre yalnızca şifre girilmesi, kullanıcı adı ve şifre girilmesi ya da WPS (Wi-Fi Protected Setup) yöntemiyle şifre girmeden bağlantı sağlanabilir.

WPS yönteminde kullanıcı bağlanmak istediği ağ adını seçer ve bağlantı aşamasında herhangi bir şifre girmesine gerek kalmadan ağ cihazı üzerinde yer alan WPS butonuna basılarak ya da 6 haneli WPS PIN girilerek bağlantı gerçekleşir. Kuruluşlar tarafından pek tercih edilmeyen bir bağlantı yöntemi olsa da küçük işletmelerde ve ev ağlarında hala kullanılmaktadır.

WPS PIN 6 haneli olduğundan kırılması mümkündür. Linux işletim sistemlerinde kullanılan Reaver ya da Windows işletim sistemlerinde kullanılabilen Dummper/JumpStart uygulamaları ile WPS PIN kolaylıkla kırılabilmekte ve ağa bağlanılabilmektedir. Dolayısıyla WPS bir güvenlik önlemi olarak kullanılmamalıdır.

WPA2 yönteminde WPA2-Personal (Kullanıcı) ve WPA-2-Enterprise (Kuruluş) olarak iki bağlantı şekli karşımıza çıkmaktadır.

WPA2-Personal bağlantıda kablosuz ağa bağlanmak isteyen tüm kullanıcılar için tek bir şifre kullanılmakta ve tüm istemciler bu şifreyi girerek ağa dahil olmaktadır. WPA2-Enterprise bağlantıda ise, her kullanıcı için ayrı şifreler kullanılmakta ve bu şifrelerin belirlenmesinde Active Directory ya da LDAP entegrasyonu yapılabilmektedir. Böylece kullanıcılar bilgisayarlarında kullandıkları kullanıcı adı ve şifreyle kablosuz ağa bağlanabilmekte, şifre değişimlerinde tüm ağ kullanıcılarına şifre paylaşımı yapılması gerekmemektedir.

WPA2-Personal kullanımında tüm kullanıcılar için tek bir şifre kullanılmaktadır. WPA2 şifresi bazı zafiyetlerinden dolayı Airodump ve Aircrack araçları kullanılarak doğrulama paketleri (Handshake) ele geçirilmekte ve ağ şifresi çeşitli yöntemlerle (bruteforce, wordlist attack gibi) bulunabilmektedir. Kullanılan ağ şifresi eğer SSID bilgisini içeriyor ya da zayıf ise, bulunması çok uzun sürmemektedir. Ortak kablosuz ağ şifresinin kırıldığı tespit edildiğinde, acilen şifre değiştirme yoluna gidilir ve bu durum hem zaman hem de performans kaybına neden olur.

WPA-Enterprise yönteminde her kullanıcı için benzersiz kullanıcı adı ve kullanıcıya ait şifre kullanılmaktadır. Bu yöntemde Erişim Noktası bir veri tabanına bağlıdır. Bir kullanıcı kablosuz ağa bağlanmaya çalıştığında, veri tabanından her defasında kimlik doğrulama yapılır. Bu işlemler Radius Server üzerinden yapılır. Bağlanılan veri tabanı, kuruluş bünyesinde kullanılan Active Directory ya da LDAP gibi bir sisteme ait olabilir. Böylece kullanıcının her bağlantı isteği merkezi kullanıcı hesap yönetimindeki durumuna göre kontrol edilmiş olur. İşten ayrılan bir personelin ya da çalıntı bir cihazın şirket ağına dahil olmasını engellemek için anında tedbir alınabilmektedir. Bu yöntem her defasında ağ şifresini değiştirmekten oldukça kolay ve etkindir.

 

Anahtar Yönetimi

Bir şifreleme sisteminde, şifreleme anahtarlarının yönetimine anahtar yönetimi denir. Anahtarların yer değişimi, kullanımı, depolanması, değiş tokuşu ve üretimi anahtar yönetiminin aşamalarıdır. Sistemin tasarımında anahtar sunucuları, kullanıcı prosedürleri ve diğer ilişkili protokoller yer alır.

Şifreleme anahtarı oluşturma, bunları taşıma ve paylaşma, anahtar kullanımını izleme ve kontrol etme, anahtarın yaşam döngüsü boyunca yetkili kişiler tarafından güvenli bir şekilde saklanması, erişim ve kullanım kayıtlarının (log) tutulması ve yaşam döngüsü sonunda anahtarın kullanım dışı bırakılma süreçleri anahtar yönetiminde mutlaka planlanmalıdır.

Anahtar yönetiminde tescilli ya da açık kaynak kodlu pek çok şifreleme anahtarı yönetim sistemi kullanılmaktadır. Örneğin OpenSSH yazılımı, RSA, DSA ve ECDSA şifreleme tekniklerini destekleyen bir sistemdir. SSH presibine göre çalışan sistemde iki anahtar bulunur. Biri private (gizli) anahtar, diğerine public (açık) anahtardır. Public anahtarın yüklendiği sunucu, ilgili private anahtarına sship kişilere erişim yetkisi verir. Dolayısıyla public anahtar herkesle paylaşabilir ancak private anahtar olmadan sadece public anahtarla erişim sağlanması sisteme herkesin erişebileceği anlamına gelir.

Bu nedenle anahtar yönetimlerinde anahtar çiftleri oluşturtulmalı ve yaşam döngüsü yönetilmelidir.

 

Güvensiz Şifre Kullanımının İçerdiği Riskler ve Şifre Kırma

Şifre güvenliğinin önemli bir adımı da kullanılan anahtarın kolay elde edilmesini engellemek ve şifrenin kırılmasını zorlaştırmaktır. Şifrenin kırılmasını engellemek diye bir tabir kullanılmamasının nedeni, kırılamayacak şifrenin olmamasıdır. Yeterli süre ve ekipmanla her türlü şifre kırılabilir. Ancak şifre algoritmasının zorluğu (4096-bit’lik bir RSA anahtarı) şifrenin kırılma süresini uzatacağından ve bu süre zarfında anahtarın değişmesi şifrenin kırılmamasını sağlayacaktır.

Pek çok sistemde karmaşık şifreleme algoritmaları kullanılması sistem güvenliği açısından önemlidir. Ancak kullanıcıların Active Directory, Winrar, MS Office, Wifi ya da benzeri uygulamalar için kullanacakları şifreleri de yeterli uzunlukta ve karmaşıklıkta seçmesi ve sistem yöneticisinin kullanıcıları buna zorlaması şifre güvenliği açısından önemli bir etkendir.

Şifre kırmak için kullanılan yazılımlar çeşitli algoritmalar kullanmaktadır. Bunlara örnek olarak Bruteforce (kaba kuvvet), Wordlist (sözlük), Word, Mask, Combination ve Hybrit saldırı örnekleri verilebilir.

Bruteforce saldırısında her bir şifre karakteri için tek tek karakter denemesi yapılır ve istenilen haneye kadar tüm olasılıklar denenir. Örneğin “12345” olan bir şifre için sadece rakam denemesi yaparak sırayla “00001, 00002, … 12344, 12345” denemesi ile şifre bulunmuş olur. Bruteforce saldırısında deneme yapma sıklığı işlemcinin hızına bağlı olarak değişir ve dolayısıyla hızlı bir işlemci ya da paralel çalışan birden fazla işlemci ile şifre daha hızlı kırılır.

Wordlist saldırısında, önceden tanımlı kelime, sayı ya da karmaşık karakterlerden oluşan bir metin dosyasındaki (sözlük gibi) tüm şifreler kırılmak istenen şifre için denenir. Sözlük içerisinde yer alan anahtar şifre ile eşleşince şifre kırılmış olur. Çeşitli platformlarda içerisinde herhangi bir dil, ülke, en çok kullanılan şifreler, isimler, şehirler gibi bilgilerin bulunduğu wordlist dosyaları bulmak oldukça kolaydır.

Word ve Mask saldırısında ise şifrenin içerdiği olası bir kelime seçilerek bundan türetmeler yapılarak şifre elde edilir. Örneğin Wifi SSID bilgisi “elite” kelimesini içeren bir işletme için şifrenin “Elite06” olduğu varsayılsın. Word saldırısında kullanılan yazılıma kelime bilgisi olarak “elite” verilmekte ve yazılımın bu kelimeden türeteceği rakam, harf ve simge kombinasyonları ile şifre kırma işlemi başlayacak ve “Elite06” şifresi kısa sürede bulunacaktır. Mask saldırısında da benzer şekilde anahtarın nasıl türetileceğine ilişkin seçenekler saldırgan tarafından belirlenebilmektedir.

Combination saldırı tipinde birden fazla kelime ve sayı öbeği belirlenerek ya da iki farklı sözlük dosyası karşılaştırılarak şifre kırma çalışması yapılmaktadır. Örneğin birinci sözlükte yer alan kelimeler “elite, pizza, burger” diğer sözlükte ise “ankara, 06, 312” olduğu varsayılsın. Bu atak türünde “eliteankara, elite06, elite312, pizzaankara, … burger312” şeklinde tüm kombinasyonlar denenerek şifre kırılmaya çalışılmaktadır.

Hybrit saldırısı aslında bir Combination saldırısıdır. Ancak bu saldırıda çok sayıda sözlük dosyası ve kural dosyası seçilerek şifre kural dosyasının içerisinde yer alan büyük/küçük harf, sayı yer değiştirme, harfe karşılık gelen sayı deneme, sayı ya da harfe benzeyen sembolleri deneme gibi seçenekler kullanılmaktadır. Örneğin “3L!T3” şeklinde belirlenmiş bir şifre için e yerine 3, “i” yerine ünlem kullanılması kuralı barındıran bir saldırı ile şifre kolaylıkla bulunabilmektedir.

Şifre güvenliği için Elcomsoft ile test yapılabilir
Elcomsoft’a ait bazı yazılımlar pek çok kırma yöntemini sunmaktadır

Yukarıda yer alan şifre kırma yöntemlerinden görülebileceği gibi az karakter, kolay tahmin edilen kelime ya da şahıs veya kuruluş ismini barındıran şifreler sosyal mühendislik çalışmaları ve deneme yanılma yoluyla kolaylıkla kırılabilmektedir. Şifre güvenliği açısından kullanılan şifre anahtarlarında kişinin adı, soyadı, memleketi, yaşadığı yer, sosyal medya hesaplarında yer alan bilgiler, çocuklarının adı gibi bilgiler asla kullanılmamalıdır. Bu durum domain yapısında bulunan kullanıcı şifreleri, Wifi şifreleri ve dosya şifreleri gibi her türlü alan için uygulanmalı ve periyodik şifre değişimi yapılmalıdır.

 

Bir yanıt yazın