KİMLİK VE ERİŞİM YÖNETİMİ TEMEL ERİŞİM KONTROL KAVRAMLARI • Identification: Bir subject’in bir kimliğin (identity) sahibi olduğunu belirtmesi / iddia etmesidir. Bir kimliğin (badge, ID card) belirtilmesi / sunulması bir kullanıcı adının girilmesi, bir manyetik kartın okutulması, kullanıcının yüzünü, elini ya da parmağını bir biyometrik okuyucuya yerleştirmesi olabilir. • Authentication: Bir subject’in kimliğinin yanında sunduğu bir veya daha fazla faktörün saklanan / hesaplanan erişim bilgileri ile karşılaştırılması suretiyle kimliğinin doğruluğunun teyit (verify) edilmesidir. • Authorization: Kimliği doğrulanan bir kullanıcının bir kaynağa erişim izninin verilmesidir. • Accountability: Erişilen sistemler üzerindeki değiştirilemezliği güvence altına alınmış denetim izleri ile (audit logs) kullanıcının aktiviteleri (ör: okuma, yazma, silme, v.d.) kayıt altına alınır. Ayrıca erişimlerde kişiye özel (unique) kullanıcı kodları kullanılmalı, ortak hesap kullanımından kaçınılmalıdır. Bu şekilde hesap verebilirlik güvence altına alınır. AUTHENTICATION FAKTÖRLERİ 3 Authentication Faktörü aşağıdaki gibidir: • Type 1 – Something You Know: En çok kullanılan kullanıcı tanılama faktörü olan parola, PIN numarası gibi kullanıcının girdiği sabit erişim bilgileridir. • Type 2 – Something You Have: Kullanıcılara tanılama için yardımcı olan fiziksel araçlardır. Örneğin: smart card, hardware token gibi. • Type 3 – Something You Are / Something You Do: Kullanıcının biyolojik biyometrik özellikleri veya belli davranış biyometrik özellikleridir. Örneğin parmak izi, retina pattern, yüz şekli, el geometrisi something you are’a, imza ve keyboard kullanım dinamikleri something you do’ya örnek verilebilir. AUTHENTICATION FAKTÖRLERİ Multifactor Authentication Nedir?: 2 veya daha fazla faktörün kullanıcı tanılama (authentication) amacıyla bir arada kullanıldığı durumlara multifactor authentication denir. Multifactor authentication olabilmesi için seçilen faktörler farklı tiplerden olmalıdır, aynı tipten 2 veya daha fazla faktör yeterli değildir. PAROLALAR (PASSWORDS) Type 1 (something you know) authentication faktörleri arasında en yaygın kullanılanıdır. Genellikle statik’tirler. Parolaların güçlü bir kullanıcı doğrulama mekanizması olmamasının nedenlerinden bazıları şunlardır: • Kullanıcıların genellikle hatırlanması kolay parolalar seçmeleri ve bu yüzden kolay kırılabilir olmaları • Rastgele üretilen parolaların hatırlanmalarının zor olmasından dolayı bir ortama yazılarak saklanmaları • Kullanıcıların parolalarını paylaşmaları ve unutmaları • Saldırganların parolaları çeşitli yöntemlerle ele geçirmeleri (ör: izleyerek – shoulder surfing, ağı dinleyerek - sniffing, erişim bilgilerini barındıran veritabanlarını ele geçirerek) PAROLALAR (PASSWORDS) • Parolaların bazı durumlarda açıkta – cleartext veya zayıf algoritmalarla kriptolanmış veya encode edilmiş olarak iletilmeleri • Parolaların tutulduğu veritabanlarının bazen tehlikeli ağlara açık ortamlarda bulunmaları • Basit parolaların sözlük – dictionary ve kaba kuvvet – bruteforce saldırıları ile hızlıca ele geçirilebilmeleri PAROLALAR (PASSWORDS) Güçlü Parola Politikası Güçlü parolalar makul bir zaman içinde tespit edilmesi mümkün olmayan parolalardır. Güçlü parola politikasının içermesi gereken şartlara şunlar örnek verilebilir: • Maximum age: Belli bir parola belli bir süre boyunca kullanılabilmelidir. Bu parolanın sızması halinde halen geçerli olma riskini azaltacaktır. • Password complexity: Parolalarda kullanılan karakter setleri ne kadar genişletilirse parola anahtar genişliği o kadar artacak, dolayısıyla parola kırma süresi de üssel olarak artacaktır. • Password length: Parola karmaşıklığında olduğu gibi parola kırma süresinin artması için gereklidir. • Password history: Parola değişiklik politikasının etkinliğinin korunabilmesi için kullanıcıların eski parolalarını kullanmaları zorlaştırılmalıdır. Ayrıca minimum password use politikası uygulanırsa kullanıcıların parola değiştirme dönemlerinde hemen 5-6 parola değişikliği yaparak son kullandığı parolasına dönmesi engellenmelidir. PAROLALAR (PASSWORDS) Güçlü Parolayı Zayıflatmamak İçin Güçlü parola politikalarına uygun olsa da kullanıcıların parolalarının tahmin edilebilirliğini azaltmak için sakınması gereken bazı durumlar bulunmaktadır. Çünkü bunlar aynı zamanda parola saldırılarını düzenleyenlerin parola sözlüklerini oluştururken de esas aldıkları durumlardır: • Parolaların içeriğinde kullanıcıya ait isim, soyisim, doğum tarihi, vatandaşlık numarası, telefon numarası v.b. bulunmamalıdır. • Sosyal medyadan elde edilebilecek bilgiler, örneğin aile fertlerinin isimleri, evcil hayvanının ismi, tuttuğu spor takımının ismi v.b. kullanılmamalıdır. • Sözlükte geçen sözcükler, argo deyimler, endüstriyel kısaltma ve kelimeler kullanılmamalıdır. PAROLALAR (PASSWORDS) Güçlü Parolayı Zayıflatmamak İçin (devamı) • Anlamlı bir kelimenin içindeki bazı harfler rakam veya sembol benzerleri ile değiştirilebilir (örneğin E -3, i – 1, t – 7, O – 0, a - @ gibi), ancak bu yöntemin saldırganlar tarafından da iyi bilindiği unutulmamalıdır. Bu gibi durumlarda mutlaka ek bölümlerle rassallık artırılmalıdır. • Bir kullanıcı oluşturulurken kullanılabilecek hatırlanması kolay kompozisyon parolalar (örneğin iki ilgisiz kelime ve aralarında 2 rakamlı bir sayı gibi) ilk kullanımda değişikliğe zorlanmalı ve geçerlilik süre sınırları mümkün olduğunca sınırlandırılmalıdır. PAROLALAR (PASSWORDS) Password Phrase’ler (Passphrases) Password phrase’ler bir cümlenin karakterlerinin veya belli kelimelerin söylenişlerinin dönüştürülerek parola olarak kullanılmasıdır. Normal bir paroladan daha uzun olacaklarından kaba kuvvet saldırılarına karşı daha dayanıklı, anlamlı olduklarından dolayı da daha hatırlanabilir olacaklardır. Örneğin; • Erken kalkan yol alır – 3rk3nK@lk@nY0lAl1r gibi Ancak passphrase’lerin çok uzun olmaları yaygınlaşmalarını engellemektedir. PAROLALAR (PASSWORDS) Cognitive Passwords Bir tür “Knowledge Base Authentication” aracı olan cognitive parolalar daha çok ek doğrulama faktörü olarak veya self servis parola sıfırlama güvenlik aracı olarak kullanılırlar. Genellikle kullanıcı kayıt sürecinde belirlenen sorular ve cevapları hesap yönetimi ile ilgili sonraki aşamalarda kullanılabilirler. Bu sorulara örnekler şunlar olabilir: • Annenizin kızlık soyadı • İlk yöneticinizin adı • İlk evcil hayvanınızın adı, v.d. Cognitive password’lerin en büyük riski kullanıcıya özel ve sorulduğunda hatırlayacağı nitelikteki soruların cevaplarının internet ve sosyal medya üzerinden toplanabilmesidir. 2008’de ABD başkan yardımcılığı adayı Sarah Palin’in yahoo hesabının ele geçirilmesi Sarah Palin’in sosyal medyada paylaşılan biyografisini okuyan bir saldırgan tarafından gerçekleştirilmiştir. AKILLI KARTLAR (SMARTCARDS) Akıllı kartlar Type-2 authentication faktörlerine örnek olarak verilebilir. Genellikle tek başına kullanılmaz ve güçlü kullanıcı tanılama için 2. faktör olarak kullanılır. Akıllı kartlar kredi kartı büyüklüğünde olup üzerlerinde bir çip taşırlar. Çip bir microprocessor taşır ve bir veya daha fazla sertifika barındırabilirler. Bu çip üzerindeki işletim sisteminde barındırdığı özel anahtarı sorgulamak için bir komut bulunmamaktadır. Akıllı kartlar sadece authentication için değil üzerlerine basılmış personel resmi ve bilgileri ile identification amaçlı olarak da kullanılabilir. Smartcard okuyucu ile kullanılan smartcard’ların kullanılabilmesi için genellikle bir PIN ya da password daha istenir. HARDWARE TOKENS Hardware token’lar da bir Type-2 (Something you have) authentication faktör örneğidir ve yine bir multifactor authentication altyapısında yer alırlar. Bu token’lar offline olarak parola üretirler ve 2 tür parola üretme yöntemini kullanırlar: • Event Based (Asychronous Dynamic Password Tokens): Kullanılan cihaz ve parola doğrulayıcı sunucu bir initialization vector ile ilişkilendirilirler ve bir sayaç (counter) değerini de algoritmaya katarak parola hesaplarlar. İstemcinin kullandığı sayaç değeri sunucu tarafında tüketilmiş sayılır ve bir daha kullanılamaz (dolayısıyla bu parolalar tek kullanımlıktır - OTP). Ancak istemci tarafında yanlışlıkla parola üretme ve kullanmama gibi durumları dikkate alıp genellikle son kullanılan değerden sonra 5-10 veya daha fazla değer sunucu tarafında kabul edilebilir. HARDWARE TOKENS • Time Based (Synchronous Dynamic Password Tokens): Aslında event based token’lardan tek farkı bir counter yerine zaman bilgisinin kullanılmasıdır. Bu cihazlarda da kritik olan konu zaman bilgisinin yavaş artan bir sayaç olması ihtiyacıdır, bu yüzden genellikle zaman bilgisi 30’ar saniyelik bölümlere bölünerek bölüm bilgisi sayaç olarak kullanılır. Parolanın kullanımı veya iletiminde yaşanabilecek gecikmeler, token’daki ve sunucudaki zaman saplamaları ve son saniye kullanımı gibi durumları dikkate almak için genellikle bir önceki ve bir sonraki 30 sn.’lik parolalar da sunucu tarafından hesaplanarak geçerli sayılır. SOFTWARE TOKENS Bir mobil cihaz veya bilgisayar üzerinde bir aktivasyon kodu kullanılarak yine event based veya time based OTP üretme çözümleridir. Bunlara çok bilinen bir örnek olarak Google Authenticator verilebilir. Google Authenticator uygulaması event tabanlı olan HMAC-based One- time Password Algorithm (HOTP) ve zaman tabanlı (TOTP) algoritmalarını uygulayabilir. BIOMETRICS Type-3 (Something you are) authentication faktörü olan biyometrik yöntemler genellikle hem identification hem de authentication yöntemi olarak kullanılırlar. Biyometrik karakteristikler fizyolojik veya davranışsal olabilir. • Parmak izi (fingerprint) • Yüz tarama (face scan) • Retina tarama: Göz yuvarlağının arka yüzeyindeki damar yapısını (blood vessels) kullanır. İkizler arasında bile ayrım yapılabilmesiyle birlikte yüksek tansiyon, hamilelik gibi sağlık durumlarını ortaya çıkarabildiğinden kabul edilebilirliği azdır. • İris tarama: En uzun süre kullanılabilir biyometrik özelliktir çünkü yaşam boyunca çok az değişikliğe uğrar. Ancak bazı tarayıcılar yüksek çözünürlüklü resimlerle aldatılabilmektedir. • Avuç içi tarama (palm scan): Near-infrared ışınları ile avuçtaki damar yapılarını tarar. • El geometrisi (hand geometry): Elin fiziksel boyutlarını dikkate alır, damar yapısı ya da parmak izi gibi özellikleri kullanmaz. Dolayısıyla bir bireyi tekil olarak bu şekilde tespit edebilmek zordur. BIOMETRICS • Kalp ritmi (heart/pulse patterns): Authentication amacıyla güvenilir bir metod olarak kullanılamamakla birlikte biyometrik ölçümü yapılanın gerçek bir kişi olduğunu güvence altına almak için kullanılabilmektedir. • Ses karakteristik tanıma (voice pattern recognition): Bir ifadenin kaydedilmiş hali kullanıcının bu ifadeyi tekrar etmesiyle karşılaştırılır, ancak genellikle tek başına kullanılmaz ve ek bir tanılama faktörü olarak kullanılır. Voice Pattern Recognition, Speech Recognition ile karıştırılabilir, Speech Recognition kişiler arası ayrım yapmayı hedeflemez. • İmza dinamikleri (signature dynamics) • Klavye dinamikleri (keystroke patterns - dynamics): Varyasyon oranları yüksek olduğundan çok güvenilir değildir, ancak kullanıcı için transparan bir yöntem olarak kullanılabilir. BİYOMETRİK FAKTÖR HATA TÜRLERİ Biyometrik ölçüm yöntemleri ve araçları performanslarına (hızlarına) ve hata oranlarının seviyesine bakılarak değerlendirilir. • Type-1 Error (False Rejection Rate – FRR): Bir subject’in (kullanıcının) geçerli olmasına rağmen reddedilmesidir. Bir diğer deyişle False Negative hata oranıdır. • Type-2 Error (False Acceptance Rate – FAR): Geçersiz bir subject’in (kullanıcının) kabul edilmesidir. Bir diğer deyişle False Positive hata oranıdır. Biyometrik aracın hassasiyeti artırıldığında Type-1 hataları artacaktır, azaltıldığında ise Type-2 hataları artacaktır. BİYOMETRİK FAKTÖR HATA TÜRLERİ Crossover Error Rate (CER): İki biyometrik aracın kalitesi Type-1 ve Type-2 hatalarının eşit olduğu düzeyler karşılaştırılarak ölçülebilir. Bu orana CER (Crossover Error Rate) veya EER (Equal Error Rate) adı verilir. Bununla birlikte hassasiyetin iki hata oranının eşit olduğu seviyede olması gibi bir yaklaşım söz konusu değildir. BİYOMETRİK KONTROLLERLE İLGİLİ DİĞER KAVRAMLAR Biyometrik kontrollerin etkin olup olmaması aşağıdaki faktörlere bağlıdır: • Enrollment (Registration) Süreci: Kayıt süreci kullanıcının kimliğini kanıtladıktan sonra biyometrik ölçümü veritabanına kaydedilir. Bu sürecin zorluğu ve alacağı zaman biyometrik kontrolün etkili biçimde uygulanması ve kabul görürlüğünü etkileyecektir. 2 dakikadan uzun süreler kabul edilemez sayılmaktadır. • Throughput Rate: Sistemin subject’in biyometrik özelliğini tarama ve geçişin onaylanması veya reddedilmesi için geçen süre ile ilgilidir. Kontrol süresinin uzun olması biyometrik kontrolün kabul edilebilirliğini azaltacaktır. 6 saniye ve altı kabul edilebilir sayılmaktadır. • Kabul Edilebilirlik: Biyometrik tarama şeklinin rahatsız edici olması veya biyometrik tarama sonucu subject ile ilgili sağlık verileri gibi yan bilgilerin elde edilebilir olması kullanıcıların bu kontrolü kabullenmesini olumsuz etkileyebilir. BİYOMETRİK KONTROLLERLE İLGİLİ DİĞER KAVRAMLAR Reference Profile (Reference Template): Kullanıcı tanılama için karşılaştırılmak üzere saklanan örnek biyometrik verilere reference profile adı verilir. MERKEZİ KİMLİK YÖNETİMİ VE MERKEZİ AUTHENTICATION KAVRAMLARI Merkezi (Centralized) Erişim Yönetiminin Faydaları • Daha küçük bir ekip tarafından gerçekleştirilebilir • Yönetsel süreç maliyetleri daha azdır, çünkü değişiklikler ve kontroller tek bir noktada gerçekleştirilir MERKEZİ KİMLİK YÖNETİMİ VE MERKEZİ AUTHENTICATION KAVRAMLARI Single Sign On (SSO) Nedir? SSO bir kullanıcının (subject’in) bir sistem’e authenticate olduktan sonra erişim hakkı bulunan diğer kaynaklara tekrar authenticate olmadan erişebilmesidir. Merkezi kimlik yönetimi ve authentication’ın en ileri seviyesi olup çeşitli teknolojilerle uygulanabilir. Bir güvenlik yöneticisinin bu teknolojileri ve çalışma prensiplerini anlaması gereklidir. SSO’nun Dezavantajı: SSO’nun olumsuz yönü erişim bilgilerinin ele geçirilmesi halinde çok sayıda sisteme yetkisiz erişim yapılabilecek olmasıdır. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Dizin (Directory) Teknolojileri ve LDAP (Lightweight Directory Access Protocol) • Directory (dizin) teknolojisi bir elektronik rehber teknolojisi olup aslında bir ağaç yapısı içinde veri saklamak için kullanılan bir tür veritabanı teknolojisidir. İlk geliştirilen dizin teknolojisi standardı X.500 olup içinde çeşitli protokoller barındırmaktadır (X.509 PKI standardı ile karıştırmayınız). • LDAP daha basit bir protokol olup Active Directory Domain Services (ADDS) dahil pek çok güncel ürünün temel aldığı protokoldür. • LDAP servis portları: TCP-389, Secure (SSL/TLS) LDAP TCP-636 MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Dizin (Directory) Teknolojileri ve Distinguished Names (DN) Dizin yapısı içinde yer alan object’leri tanımlayan isim formatına Distinguished Name (DN) adı verilir. DN formatındaki isimler virgül ile ayrılmış bileşenlerden (Relative Distinguished Names – RDNs) oluşur. Bu RDN’ler bir özellik (attribute) adı ve bu özelliğin değerinden oluşur. (RDN teknik olarak kendinden bir üst sınıf içinde tekil olan alt üyelerden birisinin adıdır) Sık kullanılan özelliklere örnekler aşağıdaki gibidir: • CN – Common Name (User) • OU – Organizational Unit • DC – Domain Component MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Dizin (Directory) Teknolojileri ve Distinguished Names (DN) (devamı) DN’in bileşenleri soldan sağa doğru ilerledikçe daha genel bir kitleyi işaret eder.
LDAP protokolündeki DN formatına bir örnek de aşağıdaki gibidir (son
bölümde hem com, hem de org domain bileşenleri kapsanmaktadır): • ou=example,dc=example,dc=com+dc=org MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Windows Security Domain’leri ve Trust İlişkileri Microsoft’un Active Directory teknolojisinde de görebileceğiniz gibi Security Domain’leri belli bir güvenlik politikasına tabi subject ve object’leri kapsar. Ancak domain’ler de birbirleri ile Trust ilişkisi kurabilirler, yani bir domain diğer bir domain’in kullanıcılarına güvenebilir. Bu ihtiyacın uygulanması için Kerberos gibi SSO teknolojilerinin uygulanması gereklidir. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Forest ve Domain Kavramları: Microsoft Active Directory teknolojisi karmaşık güvenlik yönetim yapılarına imkan tanımaktadır. Örneğin Forest (orman) yapısı içinde domain’ler birbirlerinin çocukları (child domain) olacak şekilde tanımlanabilmektedir. Forest’lar arasında ve domain’ler arasında trust ilişkileri kurulabilmektedir. Bu yapı sayesinde birbirine doğrudan güvenmeyen domainler arasında Transitive Trust ilişkisi denen güven ilişkileri de desteklenmektedir. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Kerberos Kerberos bir ticket bazlı merkezi kimlik doğrulama sistemidir. Microsoft tarafından da esas alınmış ve Windows network’lerinde uygulanmış olan metod Kerberos’tur. Kerberos üç bileşenden oluşur: • İstemci (principal): bir kullanıcı, uygulama veya sistem olabilir • Erişim yapılacak sunucu • Kerberos Distribution Server (KDS) veya Key Distribution Center (KDC) Kerberos realm’ine dahil olacak her bileşenin Kerberos sunucusu ile paylaşılmış bir gizli anahtarı olmalıdır. Bu anahtar kullanıcılar için kullanıcı parolasından elde edilen bir hash değeridir. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Kerberos MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Kerberos Kerberos kullanıcı logon süreci: • Kullanıcı istemci uygulamaya (ör: Windows PC logon ekranına) kullanıcı kodu ve parolasını girer • İstemci uygulama kullanıcı kodunu AES ile kriptolayarak KDC sunucusuna iletir • KDC kullanıcı adının mevcut olduğunu doğrular • KDC istemci ve Kerberos sunucusu arasında kullanılmak üzere bir Simetrik anahtar üretir. Bu anahtar’ı logon olacak olan kullanıcının parolasının hash’i ile kriptolar. KDC ayrıca kriptolanmış ve zaman damgalı (time-stamped) TGT’yi üretir. • KDC kriptolanmış Simetrik anahtarı ve TGT’yi istemciye gönderir. • İstemci Simetrik anahtarı kullanıcının parolasının hash’i ile açar. Ayrıca TGT’yi de daha sonra kullanmak üzere saklar. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Kerberos Önemli: TGT’nin zaman damgalı olması ve kullanım süre kısıtı nedeniyle Kerberos realm’indeki tüm sistemlerin zamanlarını senkronize etmiş olmaları kritik öneme sahiptir. MERKEZİ KİMLİK VE ERİŞİM YÖNETİM TEKNOLOJİLERİ Kerberos Kullanıcının bir domain kaynağına erişme süreci: • İstemci TGT ile birlikte KDC’ye (bu defa Ticket Granting Server bileşenine) bir domain kaynağına erişim talebini gönderir. • KDC, TGT’ın geçerliliğini kontrol ettikten sonra kullanıcının talep edilen domain kaynağına erişim yetkisi bulunup bulunmadığını kontrol eder. • KDC kriptolu bir Service Ticket (ST) üreterek istemciye gönderir. • İstemci ST’ı erişim istediği domain kaynağına (ör: bir sunucuya) gönderir. • Sunucu ST’ın geçerliliğini daha önce KDC ile paylaşmış olduğu anahtar ile kontrol eder ve erişimi sağlar. KİMLİK YÖNETİMİNDE FEDERASYON Federated Identity Management Kimlik yönetiminde federasyonu ülkeler arası seyahat gibi düşünün. Yurtdışına gideceğiniz zaman emniyete pasaport başvurusunda bulunursunuz, emniyet kimlik kontrolü yapar, parmak izinizi alır ve güvenlik incelemenizi yaptıktan sonra size pasaport verir. Bu pasaport ile başka ülkelere seyahat edebilirsiniz, ama bu ülkeler Türkiye’nin verdiği pasaporta güvenir ve buna göre işlem yapar. Türkiye’ye gelen yabancılar için de durum buna benzer şekilde işler. Ülkeler arasındaki bu güven (trust) ilişkisi sayesinde seyahat ettiğiniz ülkelerin emniyet organizasyonlarına kimliğinizi ispat etmek zorunda kalmazsınız. Benzer biçimde kimlik doğrulamada federated bir altyapı kurabilmek için birbirine güvenen organizasyonların bir araya gelmesi lazımdır. Örneğin kurumunuzun online eğitim hizmeti veren bir şirket ile anlaştığını varsayın. Kurumunuzun bu şirket ile kuracağı altyapı sayesinde kendi Windows ağınıza logon olduktan sonra kurum portalinizdeki eğitim linkine tıkladığınızda tekrar logon olmadan size atanmış olan eğitimlere erişebilirsiniz. KİMLİK YÖNETİMİNDE FEDERASYON Federated Identity Management (devamı) Böyle bir mekanizmanın web tabanlı teknolojilerde nasıl çalışabileceğine şöyle bir örnek verebiliriz: • Kullanıcı kendi ağında bir web uygulamasına (örneğin bir kurumsal portale) logon olur. • Bu portaldeki bir düğmeye basarak farklı bir kurumun yönettiği bir eğitim portaline erişmek ister. Kurumsal portal uygulaması HTTP 302 yanıtı ile browser’ınızı diğer kurumun web uygulama alan adına yönlendirir. • Ancak yönlendirme için oluşturulan URL içinde bir parametre olarak kriptolu bir veri yer alır. Bu verinin açılabilmesi için gerekli anahtar diğer kurum sunucusunda da tanımlıdır. • Diğer kurum sahip olduğu anahtar ile kriptolu veriyi açarak kullanıcının bağlı olduğu kurumun kullanıcıyı doğruladığını ve kullanıcı profili ile ilgili bilgileri görür. Buna göre kullanıcıya gerekli kaynakları açar. KİMLİK YÖNETİMİNDE FEDERASYON Federated Identity Management (devamı) Web tabanlı örneğimiz özel bir uygulamanın nasıl olabileceği ile ilgili idi. Farklı sistemler arasında federated yapıda single sign-on’u uygulamak için ortak dil olarak aşağıdaki XML formatlarını sayabiliriz: • SAML (Security Assertion Markup Language): Browser tabanlı federated kullanıcı tanılama altyapılarında Authentication ve Authorization verilerinin taşınması için kullanılır. • SPML (Service Provisioning Markup Language): Daha yeni bir XML formatıdır, Directory Service Markup Language (DSML) baz alınarak geliştirilmiş olup LDAP tabanlı dizin servis bilgisi taşır. • XACML (Extensible Access Control Markup Language): Software Defined Network altyapılarında kullanılan rol tabanlı erişim kontrol politikalarının tanımlanması için kullanılan bir XML formatıdır. KİMLİK YÖNETİMİNDE FEDERASYON DİĞER SSO TEKNOLOJİLERİNE ÖRNEKLER • OAuth ve OpenID: Google tarafından da desteklenen web tabanlı SSO teknolojisidir. • Logon script’leri: Script’lerin güvenliğine dikkat edilmelidir, çünkü erişim bilgileri barındıracaklardır. • SESAME (Secure European System for Applications in a Multivendor Environment) • KryptoKnight DİĞER SSO TEKNOLOJİLERİNE ÖRNEKLER DİĞER SSO TEKNOLOJİLERİNE ÖRNEKLER CREDENTIAL MANAGEMENT SYSTEMS SSO altyapısının bulunmadığı bazı durumlarda kullanım kolaylığı sağlaması için kimileri (kullanılan browser teknolojisine bağlı olarak) web uygulamaları ve/veya platformuna bağlı olarak bazı desktop uygulamaları için, kimileriyse sadece offline olarak erişim bilgilerini kriptolu olarak saklayan erişim bilgileri yönetim sistemleri bulunmaktadır. Örnek olarak aşağıdakiler verilebilir: • Windows Credential Manager: Windows Vault’ta Internet Explorer tarafından web uygulamalarına erişimlerde ve aynı domain’de olmadığınız (veya local account logon ile erişmek istediğiniz) Windows sistemlerde kullanılabilecek kullanıcı adı ve parolaların saklanması için kullanılabilir. CREDENTIAL MANAGEMENT SYSTEMS • Keychain: MacOS ve iOS işletim sistemlerinde parolaların saklanması ve uygulamalar tarafından hassas verilerin saklanması için kullanılır. • KeePass: Bu uygulamanın belli tuş kombinasyonları ile harekete geçirilebilen auto-type fonksiyonalitesi ile web uygulamalarına erişim parolası otomatik olarak yazdırılabilir ve logon işlemi yarı otomatik şekilde gerçekleştirilebilir. CREDENTIAL MANAGEMENT SYSTEMS Windows Credential Manager CREDENTIAL MANAGEMENT SYSTEMS MacOS Keychain IDaaS (IDENTITY AS A SERVICE) Bulut Tabanlı SSO Çözümleri Genellikle bulut tabanlı uygulamalara erişimlerde SSO fonksiyonalitesi sağlayan üçüncü parti çözümlerdir. Örneğin: • Bulut tabanlı Microsoft Office365 ürünlerini kullanan bir kurum Centrify ürününü kullanarak kurumun domain’ine logon olmuş bir personel tekrar logon olmadan Office365 servislerine erişebilir. • Google’ın bulut tabanlı ürünlerini kullanan bir kullanıcı Google hesabına bir defa logon olduktan sonra diğer Google uygulamalarına logon olmadan erişebilir. ÜÇÜNCÜ TARAF KULLANICI DOĞRULAMA VE FARKINDALIK Üçüncü taraf kullanıcı doğrulama yaptığını iddia eden bir web uygulaması hedef kişinin parolasını çalmak için kullandığı güvenilir bir siteye (ör: gmail, facebook, linkedin, v.d.) benzer sahte bir siteye yönlendirme yapabilir. Kullanıcıların bu tehdide karşı farkındalıklarının yüksek olması gerekir. KURUMSAL IDENTITY MANAGEMENT (IDM) ÇÖZÜMLERİ KAVRAMLARI • Authoritative Source / Identity Store: Kullanıcıların kimlikleri için esas alınan ve rol bilgisini barındıran sunucular olup IDM çözümleri tarafından kullanıcının yaşam döngüsü için tetikleyici olarak esas alınan kaynaklardır. Örneğin İK uygulamaları yeni bir personel tanımlandığında görev aldığı bölüme ve role uygun olarak otomatik olarak erişim haklarını tanımlayabilir. Benzer biçimde işten ayrıldığında da yine İK uygulamasını esas alarak erişim haklarını kaldırabilir. • Self Service: Kullanıcı parolasını unuttuğunda böyle bir platform üzerinden daha önce tanımladığı güvenlik sorularını yanıtlayarak (cognitive passwords) parolasını kendisi sıfırlayabilir. • Password Synchronization: Single SignOn imkanının bulunmadığı sistemler için IDM çözümleri kendi üzerinden belirlenen parolaları bağlı sistemler üzerinde de güncelleyebilir. Yani aynı parola tüm sistemlere otomatik olarak tanımlanabilir. • Role Based Access Control ve IDM: Kimlik yönetim çözümlerinin erişim haklarını tanımlayabilmesi için üzerinde rol tanımları ve bu rollerin sahip olması gereken erişim hakları tanımlanmalıdır. Bu rol tabanlı erişim yönetimi ile sağlanabilir. OTURUM ZAMAN AŞIMI (SESSION TIMEOUT) KONTROLLERİ Erişim kontrolleri içinde Authentication tek başına yeterli değildir, kullanıcı tanılama sonrasında oturum zaman aşımı kontrolüne de personel farkındalık eksikliği ve diğer saldırılara karşı ihtiyaç bulunmaktadır. Bu tür kontrollere aşağıdaki örnekleri verebiliriz: • Windows’un ekran koruyucusu ile parola kontrolünü aktif hale getirmesi • Hassas web uygulamalarının (hem istemci tarafında hem de sunucu tarafında) oturum zaman aşımı kontrolünü uygulaması • VPN bağlantılarında zaman aşımı kontrolünün uygulanması HTTP VE WEB UYGULAMALARI ERİŞİM KONTROL PROTOKOL VE YÖNTEMLERİ • Form Based Authentication: En sık görülen authentication yöntemidir. Kullanıcı kodu ve parolası uygulama geliştiricinin tasarladığı bir form aracılığı ile alınır ve bu bilgiler POST parametreleri olarak gönderilirler. • Basic Authentication: HTTP protokolünün native olarak desteklediği bir yöntemdir, yani protokolün içine tanımlıdır. Erişim kontrolü uygulanan bir sayfaya erişilmek istendiğinde HTTP server 401 Unauthorized yanıtı döner ve WWW-Authenticate: Basic realm="btrisk" şeklinde de bir başlık barındırır. Buna karşılık browser kullanıcı adı ve parolasının girileceği bir pop-up çıkartır, kullanıcıdan aldığı bilgileri de isteğin Authorization başlığı içinde Base-64 Encoding ile iletir. • NTLM Authentication: IIS sunucularda basic authentication’a benzer şekilde ama bu defa NTLM’in challenge response yöntemine göre authentication yapılır. KİMLİK VE ERİŞİM YÖNETİMİ YAŞAM DÖNGÜSÜ Kimlik ve erişim yönetiminde yaşam döngüsü sürecinde uygulanması gereken temel aktiviteler aşağıdaki gibidir: • Provisioning (kullanıcı tanımlama, erişim haklarının – entitlements - verilmesi ve erişim değişiklik yönetimi) • Account Review (hesap ve erişim gözden geçirme) • Account Revocation (işten ayrılma, izne çıkma ve görev değişikliği yönetimi) • Re-Provisioning (izne çıkan bir personel geri döndüğünde kaldırılan haklarının geri verilmesi) Tüm bu aktivitelerin daha sağlıklı işleyebilmesi için İK süreçlerinin yürütüldüğü uygulama ile kimlik yönetim altyapısının entegrasyonu ile sağlanabilir. Böylece işe girişlerde rol tabanlı erişim sağlama, görev değişikliği ve işten ayrılma durumlarında erişim haklarının zamanında kaldırılması desteklenebilir. KİMLİK VE ERİŞİM YÖNETİMİ YAŞAM DÖNGÜSÜ Least privilege kavramına aykırı durumlar ve ortaya çıkma halleri: • Excessive Privilege: Kullanıcıya işinin / görevinin gerektirdiğinden fazla erişim haklarının atanması sonucu oluşan durumdur. • Creeping Privileges (ya da Privilege Creep): Uzun yıllar aynı kurumda çalışan ancak farklı görevlere atanan personelin görev değişiklikleri sırasında eski erişim haklarının iptal edilmemesi sonucunda kullanıcıya atanmış gereğinden fazla erişim hakkının birikmesidir. Not: Creep kelimesi sarmak, kaplamak, yavaş ve sessizce ilerlemek gibi anlamlara gelir. TEMEL SUİSTİMALİ ÖNLEME AMAÇLI ERİŞİM KONTROLLERİ • Least Privilege: Bir personelin görevini yerine getirmesi için gerekli bilgi kaynaklarına erişim haklarının minimumudur. Suistimal ihtimalinin azaltılabilmesi için gerekli bir prensiptir. • Need to know: Bilmesi gereken prensibi least privilege ile karıştırılabilmektedir, ancak aralarında bir nüans vardır. Örneğin bir danışmanlık şirketinin proje doküman yönetim sistemi olduğunu varsayalım Bu danışmanlık şirketinin ortakları ilgili sistem üzerinde en üst gizlilik seviyesindeki müşteri bilgilerine erişebilir diyelim. Ancak kendi müşterisi olmayan ve diğer ortakların projeleri ile ilgili müşteri bilgilerine erişmeleri gerekli olmadığı gibi bazı durumlarda çıkar çatışması da doğurabileceğinden danışmanlık şirketinin gelirlerini olumsuz etkileyebilecektir. İşte bilmesi gereken prensibi least privilege’ın da bir alt detayında uygulanabilecek prensip olup compartmentalization yaklaşımının bir diğer adıdır. TEMEL SUİSTİMALİ ÖNLEME AMAÇLI ERİŞİM KONTROLLERİ • Seperation of Duties and Responsibilities: Görevler ayrılığı prensibi least privilege ve need to know prensipleri ile uyumludur, ancak farklı bir boyutu daha bulunmaktadır. Asıl hedefi suistimal riskini azaltmak olan görevler ayrılığı prensibi her iş alanında suistimale yol açabilecek yetki toplanma senaryoları değerlendirilerek bu bir araya gelmemesi gereken yetkilerin aynı kullanıcıya atanmasını engellemeyi amaçlar. Rol tabanlı erişim yönetiminin uygulandığı organizasyonlarda öncelikle belli bir role atanan erişim haklarının kendi içlerinde görevler ayrılığı prensiplerine aykırı olmaması gerekir. TEMEL SUİSTİMALİ ÖNLEME AMAÇLI ERİŞİM KONTROLLERİ • Seperation of Duties and Responsibilities (devamı): SOD matris örneği DİĞER ERİŞİM KONTROL VE AUTHORIZATION KAVRAMLARI • Access Control List (ACL): Tüm subject’lerin erişmek istedikleri object bilgileri ile birlikte sırasıyla karşılaştırıldığı kontrol kurallarından geçirilmesi için kullanılan kural listeleridir. En tipik örnekleri Router’lar üzerinde tanımlanan ACL’lerdir. • Default Deny / Implicit Deny (Deny All All - bazen ACL’lerde görünür bazen görüntülenmez ama uygulanır): Firewall gibi rule based access control uygulayan kontrol sistemlerinde, eğer subject’in tabi tutulduğu Access Control List filtrelerinden herhangi birisine uygunluk görülmediyse (access veya deny olarak) son kural olarak implicit deny kuralı uygulanır ve subject’in geçişine/erişimine izin verilmez. • Access Control Matrix: Subject’ler, object’ler ve atanmış privilege’leri barındıran bir tablodur. Örneğin object’ler dosyalar, subject’ler kullanıcılar ve her ikisinin kesiştiği noktalarda da belli bir dosya için belli bir kullanının erişim haklarını barındıran bir tablodur. Bu nedenle bir ACL’den çok daha kapsamlıdır, matristeki her bir dosyanın kendisine özgü ACL’i vardır. • Capability Tables: ACL’in tersi şeklinde ifade edebiliriz, çünkü capability tables subject odaklıdır. Örneğin Satın Alma iş rolü için hazırlanmış olan Capability Table bu role atanmış olan object’lerin listesini ve bu rolün bu object’lere erişim yetkilerini içerir. DİĞER ERİŞİM KONTROL VE AUTHORIZATION KAVRAMLARI • Constrained Interface: Kullanıcıların erişim haklarına göre uygulama menülerinin gizlenmesi veya kullanıcının yetkisinin bulunmadığı fonksiyonların pasif halde görüntülenmesi şeklinde uygulanan kontroldür. • Restricted Shell: Unix / Linux shell bağlantılarında çalıştırılabilecek komutların ve ziyaret edilebilecek dizinlerin sınırlandırıldığı shell’lerdir. • Content Dependent Control: Bir object’e olan erişim yetkilerinin object’in içerdiği verilere göre daha da granüler biçimde kısıtlanmasıdır. Örneğin veritabanı tabloları için tanımlanan view’lar bu tür kontrollere güzel bir örnektir. Örneğin bir müşteri tablosu müşteri adı, telefon numarası ve kredi kartı bilgilerini barındırabilir. Ancak müşteri temsilcileri için tanımlanan bir View sadece müşteri adı ve telefon numarası kolonlarına erişim sağlayabilir, kredi kartı bilgisine erişim imkanı vermez. • Context Dependent Control: Erişimin sağlanması için belli çevresel şartlar veya ön aktivitelerin gerçekleşmesi kontrollerinin uygulanmasıdır. Örneğin bir kullanıcının internet şube uygulaması erişimlerini hafta içi ile sınırlandırması gibi. DİĞER ERİŞİM KONTROL VE AUTHORIZATION KAVRAMLARI • Dial-Up Callback Kontrolü: PSTN ağları üzerinden kurulan PPP bağlantılarda uygulanan eski bir kontroldür. Bu kontrolde modem kullanıcı doğrulama yaptıktan sonra hattı düşürür ve tanımlı telefon numarasını geri arayarak bağlantıyı kendisi başlatır. Böylece istenmeyen bir telefon hattından şifre ele geçirilmiş olsa da bağlantı kurulmaması sağlanmaya çalışılır. Ancak bu hat call-forwarding ile farklı bir telefona yönlendirilmişse farklı bir numaradan bağlantı sağlanabilir. • Resource Based Access Control: Kaynak (object) bazında hangi kullanıcıların (subject) hangi haklara sahip olduğunun tanımlandığı ve kontrol edildiği erişim yönetim yöntemidir. • Identity Proofing - Knowledge Based Authentication: Çağrı merkezlerinde kullanılan kullanıcının statik bilgilerinin veya ürün / hizmet kullanımı ile ilgili dinamik bilgilerin sorgulanması veya şifre sıfırlama kontrollerinde sorulan yine kullanıcının önceden belirlediği bilgilerin sorgulanması şeklinde yapılan kullanıcı kimlik doğrulama kontrolleridir. • Out of Band Authentication: Farklı bir kanaldan iletilen erişim bilgilerinin kullanıcı tanılama kontrolü için kullanılması (ör: internet şubesine giriş yaparken SMS ile iletilen tek kullanımlık parolanın sorgulanması) kontrolüdür. YÜKSEK YETKİLİ (PRIVILEGED) ERİŞİMLER Güvenlik ve sistem yönetimi açısından bilgisayar sistemleri üzerindeki bazı aktiviteler yüksek yetkili kullanıcılarca yapılmalıdır. Bu yetkilerin gözden geçirilmesi ve kısıtlanması altyapı güvenliği açısından çok daha önemlidir. Privileged Hesaplar Gözden Geçirme: Periyodik yapılacak gözden geçirmelerin yanında privileged haklara sahip bir kullanıcı işten ayrıldığında, görevi değiştiğinde bu kişiye ait haklar gözden geçirilmelidir. Privileged erişim yetkilerine aşağıdakiler örnek verilebilir: • Kullanıcı oluşturma, silme, v.d. • Sistem log ayarlarını değiştirme • Log kayıtlarını silme • Yedekten geri dönme • Sistemi kapatma (shutdown etme), yeniden başlatma • Bir servis kurma, başlatma, servisi kapatma ACCESS CONTROL MODELLERİ • Discretionary Access Controls (DAC): Discretionary access control modelinde her object’in bir sahibi vardır ve bu object üzerinde tam kontrol sahibidir. Object erişim izinleri (permissions) bir ACL’de tutulur ve object’in sahipleri bu izinleri dilediği gibi düzenleyebilir. Modelin bu özelliği esnekliğini ve ölçeklenebilirliğini çok artırır, ancak aynı zamanda da non-discretionary control’lere nazaran daha kontrolsüz bir ortama imkan tanır, zira administrator yetkisi delege edilmiştir. • Non-Discretionary Access Controls (Non-DAC): Aslında Discretionary olmayan tüm modeller Non-Discretionary Access Control modelidir. Bu modellerin temel özellikleri merkezi olarak yönetilmeleri ve yapılan kontrol değişikliklerin tüm ortamı etkilemesidir. Non-DAC modeller esnek olmasa da merkezi olarak yönetildiklerinden daha kolay yönetilebilirler. Rule-based, role based ve lattice based kontrol modelleri Non-DAC’dir. NON-DISCRETIONARY ACCESS CONTROL MODELLERİ • Role-Based Access Control (role-BAC): Least Privilege ilkesinin uygulanmasını kolaylaştıran ve privilege creep riskini de azaltan bir erişim yöntemidir, çünkü rol yapıları iş tanımı gereklerine göre oluşturulur. Kullanıcılar görev tanımları ile ilgili görevlerle ilişkilendirilerek erişim hakları atanır. • Rule-Based Access Control (rule-BAC): Rule based aceess control’ün ayırt edici özelliği tüm subject’leri etkileyen global kurallara sahip olmasıdır. Rule- BAC’e en tipik örneklerden birisi firewall’dur. Paketler kural filtrelerinden (ACL) geçerek geçişlerine karar verilir. Herhangi bir kuralla ilişkilendirilemeyen bir paket son kural olan default deny (deny all all) kuralına tabi tutularak engellenir. • Attribute Based Access Control (ABAC): Rule-based access control’leri detaylandırır. Rule-BAC tüm subject’leri etkilerken ABAC ile etkilenecek subject’ler daraltılabilir. Örneğin “Yöneticilerin akıllı telefonlar ve tabletler’le VPN bağlantısı kurabilmesi” kuralı erişim kuralını daha detaylandırmaktadır. NON-DISCRETIONARY ACCESS CONTROL MODELLERİ • Mandatory Access Control (MAC): MAC’ın ayırt edici özelliği etiket (label) kullanılmasıdır. Her bir etiket bir “security domain” ya da “realm of security” ifade eder. Bir security domain aynı güvenlik politikası ile yönetilen object’ler ve subject’ler kümesinden oluşur. Object’lerin etiketleri, subject’lerin ise clearence’ları bulunur. Sistem erişim kararlarını etiket ve clearence seviyelerine bakarak verir. MAC sıklıkla “lattice based” bir model olarak anılır. Aşağıdaki örnekte aynı seviyedeki veriler “need to know” ilkesinin de uygulanabilmesi için daha da ayrıştırılmıştır (compartmentalization). NON-DISCRETIONARY ACCESS CONTROL MODELLERİ • Mandatory Access Control (MAC) (devamı) NON-DISCRETIONARY ACCESS CONTROL MODELLERİ • Mandatory Access Control (MAC) (devamı)
MAC modeli 3 tür sınıflandırma ortamı kullanır:
• Hierarchical Environment: Hiyerarşik ortamda belli bir clearence seviyesindeki kullanıcılar daha alt seviyedeki verilere de erişir. Örneğin Top Secret clearence seviyesindeki bir kullanıcı Secret ve Confidential verilere erişebilir. • Compartmentalized Environment: Her security domain diğerlerinden izoledir ve bir kullanıcının bir seviyeye erişmesi için özellikle o seviye için yetkilendirilmiş ve o seviyeye özel clearence sahibi olması gerekir. • Hybrid Environment: En granüler erişim kontrol ortamıdır. Kullanıcının belli bir seviye için clearence’ı olması yetmez ayrıca o seviyedeki compartmentalized alana da erişim izni olması gerekir. Need to know prensibini destekleyen “lattice based model”in tam uygulanış hali budur. ERİŞİM KONTROL SALDIRILARI Parola Saldırıları (Yapıldığı Yere Göre) • Online (çevrimiçi) saldırılar: Parola saldırısı canlı bir uygulamaya veya ağ servisine yönelik olarak yapılır. Canlı servise yönelik yapılan parola saldırıları ağ üzerinden verilerin iletilmesi ve servisin yanıt dönmesinde yaşanan gecikmeler nedeniyle yavaştır. Canlı sistemlere yapılan parola saldırılarındaki en büyük risk (pentest ekipleri için) veya engel (saldırganlar için) ise hesap kilitleme kontrolüdür. Bir pentest sırasında online parola kırma saldırısı gerçek bir hizmet kesintisi ile sonuçlanabilir. Online saldırı araçları arasında çeşitli protokolleri destekleyen hydra ve brutus sayılabilir. ERİŞİM KONTROL SALDIRILARI Parola Saldırıları (Yapıldığı Yere Göre) (devamı) • Offline (çevrimdışı) saldırılar: Bilindiği üzere parolaların saklanması için en iyi uygulama parolaların açık olarak saklanması değil, parolaların hash değerlerinin saklanmasıdır. Hatta parolası aynı olan kişilerin parola hash’leri de aynı olacağından parola hash’leri salt’lanarak saklanmalıdır. Salt kullanımı rainbow (daha sonra değineceğiz) saldırılarına karşı da güvenceyi artıracaktır. Offline saldırılar elde edilen parola hash’lerine yönelik gerçekleştirilir. Bu parolaların kırılma hızı parolaların kolaylığına, bir sözlükte bulunma ihtimaline, salt değeri kullanılmasına, parola kırmak için kullanılan platformun gücüne bağlıdır. ERİŞİM KONTROL SALDIRILARI Parola Saldırıları (Parola Deneme Şekline Göre) • Dictionary Attacks: Adı üzerinde sözlükte bulunan parolaların (offline attack ise parola hash’lerinin hesaplanması, online attack ise parolaların bir kullanıcı adıyla birlikte) denenmesi şeklinde yapılan saldırı türüdür. Her ne kadar adı sözlük saldırısı olsa da pratikte çok kullanılan parolalardan hazırlanmış listelerin, hedefe özel hazırlanmış kelimelerden oluşan listelerin ve hack’lenen parola veritabanlarından elde edilen listelerin sıklıkla kullanıldığı saldırı türüdür. • Brute-Force Attacks: Belli uzunlukta (veya uzunluğa kadar), belli karakter setleri için olabilecek tüm kombinasyonların denendiği saldırı türüdür. Doğal olarak çok uzun zaman alabilir, bu nedenle parola karmaşıklığının ve uzunluğunun yüksek olduğu durumlarda bir sonuca ulaşmak mümkün olmayabilir. ERİŞİM KONTROL SALDIRILARI Parola Saldırıları (Parola Deneme Şekline Göre) (devamı) • Hybrid Attacks: Hibrit saldırılar bir sözlüğün esas alınarak sözlükteki parolaların dönüştürülmüş alternatiflerinin (ör: sonuna 2 rakam eklenen parolalar, belli harfleri rakam benzerleri ile değiştirilmiş parolalar gibi) kullanıldığı saldırılardır. • Rainbow Table Attacks: Offline parola saldırılarıyle ilgili bir tür olan bu saldırıda daha önceden hash’leri hesaplanmış parolalar için oluşturulmuş bir tablo kullanılır. Yani her defasında baştan brute-force saldırı yapmak yerine bir defa yapılan bir çalışmanın sonuçları defalarca kullanılabilir. PAROLA HASH’LERİNDE SALT KULLANIMI Salt kullanıldığında parolanın yanı sıra bir salt değeri de eklenerek hash değeri hesaplanır. Bunun 2 ana sonucu vardır: • Parolası aynı olsa da salt değerleri farklı olacağından 2 kullanıcının parola hash değerleri farklılaşacaktır. • Salt değerlerinin kullanılması Rainbow tablo hazırlamanın maliyetini çok artıracaktır. Örneğin 8 karakterlik bir salt değeri kullanıldığında parola uzunluğu kırılması çok zor bir değere ulaşacaktır. PAROLA HASH’LERİNDE SALT KULLANIMI Linux ve Windows Parola Hash’lerinde Salt Kullanım Durumu • Unix / Linux parola hash’lerinde salt kullanılır. Bu nedenle bu hash’leri elimize geçirdiğimizde ancak dictionary attack ile saldırı gerçekleştirebiliriz. • Windows LM ve NTLM parola hash’lerinde salt kullanılmaz. Bu nedenle Windows parola hash’lerini ele geçirdiğimizde online rainbow table’ları kullanabiliriz (ör: www.hashkiller.co.uk, www.crackstation.net gibi) PAROLA ANAHTAR GENİŞLİĞİ VE PAROLANIN GÜCÜ Soru: Parola anahtar genişliği aşağıdaki gibi ise parola uzunluğu 1 karakter artırıldığında parolanın gücü kaç kat artar? • Büyük (İngilizce) harf: 26 karakter • Küçük (İngilizce) harf: 26 karakter • Rakam: 10 karakter • TOPLAM: 26 + 26 + 10 = 62 karakter Cevap: 62 kat artar Soru: Yukarıdaki anahtar genişliğine sahip 5 karakterden oluşan bir parolayı bruteforce saldırısıyla kırmak için en fazla kaç deneme yapılmalıdır? Cevap: 62 x 62 x 62 x 62 x 62 = 62 üzeri 5 = 916.132.832 ERİŞİM KONTROL SALDIRILARI Hash Kırma Saldırılarında Birthday Attack Yönteminin Etkisi Birthday attack fenomeni bir odada 23 kişi bulunması halinde doğum günü aynı olan 2 kişi bulunma ihtimalinin %50 olması durumudur. Belli bir kişinin doğum günüyle aynı doğum gününe sahip bir başka kişinin %50 ihtimalle bulunması içinse 253 kişi bulunmalıdır. Bu istatistik fenomen hashing algoritmalarının aleyhine çalışmaktadır. Bir hashing algoritmasının güvenli kabul edilebilmesi için collision (aynı hash’i üreten farklı bir veri bulma durumu) ihtimalinin çok düşük olması gerekir. Bu ihtimal işlemci güçlerinin artmasıyla da doğru orantılı olarak artmaktadır. Günümüzde MD5 algoritması ve SHA-1 algoritması bu nedenle güvensiz kabul edilmektedir. ERİŞİM KONTROL SALDIRILARI Sniffer Saldırıları Daha önce de değindiğimiz üzere sniffer ile cleartext olarak iletilen parolalar ele geçirilebilir. Bir ağı dinleyebilmek için yapılması gereken ön çalışmalara da daha önce değinmiştik. Challenge-Response Authentication: Ayrıca kriptolu iletilse dahi araya girme saldırıları ile (MITM) parolaların ele geçirilmesi mümkündür. Bu tür bir saldırıya karşı dayanıklılık ancak bir challenge-response mekanizması ile mümkündür, çünkü sunucu tarafından iletilen challenge bir defalık olacak ve her defasında değişeceğinden response’ta ele geçirilecek olan (ve muhtemelen bir kriptografik işleme tabi tutulmuş olan) parola kanıtı saldırganın bir işine yaramayacaktır. ERİŞİM KONTROL SALDIRILARI Spoofing Saldırıları Daha önce Communications and Network Security bölümünde IP, DNS ve MAC spoofing konularına değinmiştik. Burada ise masquerading, yani başkasının yerine geçme yoluyla etkili sosyal mühendislik saldırıları düzenlemeye imkan veren spoofing saldırı türlerine değineceğiz. • E-mail Spoofing: E-posta gönderen (From) alanının spoof edilmesi yöntemiyle gelen e-posta mesajının yetkili veya tanıdık bir kişiden geliyormuş gibi gösterilmesidir. Bu yolla phishing senaryosu daha etkili bir hale gelecektir. • Phone Number Spoofing: Caller ID bilgisinin farklı bir telefon numarası gibi gösterilmesidir. Sesli iletişimlerde sinyalleşme ve ses bağlantıları birbirleriyle ilişkili ancak farklı iki bağlantıdır. Yukarıdaki iki spoofing saldırısı da from ve arayan caller ID gibi bilgilerin protokolün çalışabilmesi için gerekli olmamasından kaynaklanmaktadır. ERİŞİM KONTROL SALDIRILARI Smart Kart Saldırıları Smart kart’lar tamper proof olduklarından ve genellikle bir PIN ile birlikte kullanıldıklarından parolalardan çok daha güvenlidirler. Smart kart’lara yönelik bir saldırının amacı içindeki anahtarı ele geçirmeye yönelik olacaktır. Smart kart’lara yönelik saldırılar side-channel (yan kanal) attack’larıdır. Bu tür saldırılarda kriptolama işlemleri ile ilgili yan veriler incelenerek ve fark analizleri ile anahtar tahmini yapılmaya çalışılır. Örneğin: • Çipin güç kullanımının izlenmesi (power monitoring attack) • İşlem zamanlarının izlenmesi (timing attack) • Çipe yetersiz güç vererek oluşacak hatalarda ortaya çıkabilecek hassas verilerin incelenmesi (fault analysis) • Çipin yaydığı elektromanyetik dalgaların izlenmesi (electromagnetic analysis) ERİŞİM KONTROL SALDIRILARI APT (Advanced Persistent Threat) Saldırıları Doğrudan bir erişim kontrol saldırısı olmasa da genellikle erişim kontrollerini bypass eden bir saldırı türüdür APT. APT sabırlı ve ileri düzey saldırganların belli bir organizasyonu hedef aldıkları, sosyal mühendislik ve fiziksel yöntemleri de kullanarak son derece etkili biçimde hedef ağa sızdıkları ve kalıcı bir erişim sağladıkları (genellikle backdoor ve malware yöntemleri ile), kimi zaman endüstriyel casusluk, kimi zaman hedef sistemi sekteye uğratarak fidye istemek amacıyla yapılan saldırı türüdür. Genellikle hedef kuruma özel yazılmış bir RAT (Remote Access Trojan) malware’inin bir phishing mail’i ile hedef organizasyon kullanıcılarına gönderilmesi, bir USB bellek ile hedef organizasyona bulaştırılması, v.b. şekiller ile başlar. Özel yazılan bir malware anti-malware üreticileri tarafından henüz tanınmamış olacağından yakalanma ihtimali de oldukça düşük olacaktır. ERİŞİM KONTROL SALDIRILARI Windows İşletim Sistemlerine Özel Parola Saldırıları • Bellekten Cleartext Parolaların Elde Edilmesi: Normalde Windows kullanıcı parolalarının hash’leri disk üzerinde saklanır. Ancak uygulama ihtiyaçları gereği logon olmuş kullanıcıların cleartext parolaları bellekte tutulur. Bir sistemi Administrator veya System hakları ile ele geçirdiğinizde Mimikatz, Windows Credential Editor (WCE) gibi saldırı araçlarını kullanarak bellekteki parolaları elde edebilirsiniz. Örneğin ele geçirdiğiniz bir Windows sunucuya aynı zamanda Domain Administrator hesabı ile de logon olunmuşsa bu kullanıcının parolasını çalabilirsiniz. • Pass the Hash (PTH) Saldırısı: Windows authentication protokolleri parolayı kırmamış olsak bile parola hash’i ile SMB servisi üzerinden diğer sistemlere erişmemize imkan vermektedir. Metasploit’un PSEXEC modülü gibi araçlarla parola hash’i çalınmış bir kullanıcının hesabı ile sistemlere erişim mümkün olabilir. ERİŞİM KONTROL SALDIRILARINA KARŞI ÖNLEMLER Erişim kontrollerinin etkinliğini artırmaya yönelik pek çok önlem bulunmaktadır. Ancak bunlardan önde gelenlerini hatırlamak gerekirse: • Sistemlere fiziksel erişimler kontrol edilmelidir • Parola dosyalarına ve veritabanlarına erişimler kontrol edilmelidir • Parola dosyaları kriptolanmalıdır • Güçlü parola politikası uygulanmalıdır • Parola girilen ekranlarda (shoulder surfing’e karşı) maskeleme (***** gibi) uygulanmalıdır • Gerekli durumlarda multifactor authentication kullanılmalıdır • Hesap kilitleme (account lockout) kontrolü uygulanmalıdır • Kullanıcı erişimlerinde son başarılı ve başarısız logon bilgileri verilmelidir • Kullanıcılara farkındalık eğitimleri sağlanmalıdır