Güvenlik Açıkları ve Şifreleme

Egitim Dökümanları


Eğer switch kullanılmıyorsa gönderilen bir bilgi ağdaki bütün makinelere uğrar. Sniff olarak adlandırılan bir işlem sayesinde ağda oluşan ya da gelen giden bütün paketlerin içeriklerini izlemek mümkündür. Network’deki yada ISS’lerdeki kötü niyetli kişiler şifrelenmemiş Internet işlemlerinizi izleyebilirler. Mesela e-maillerinizi okumak, chatte konuştuklarınızı görmek, hangi sayfalara bağlandığınızı loglamak vs.


Fakat bu tür işlemleri yapabilmek için çok fazla şey bilmek yada ağ yöneticisi durumunda olmak gereklidir. Ayrıca Linux kullanarak lokal ağda her hangi bir hakka sahip olmadan bu işlemleri yapmak mümkündür. Windows NT bu tür işlemleri yapabilmek için özel sürücüler yüklenmesini gerektirir, bunu da sadece sistem yöneticileri(administrator) yapabilir. Fakat ne yazık ki çoğu şirkette Administration hakkı bir çok kullanıcıda bulunabilmektedir.

Internet Protokolünün en zayıf tarafı gelen ve giden bilginin kaynağının ve içeriğinin doğruluğunun kontrol edilememesidir. İstenirse sanki başka bir kaynaktan geliyormuş gibi istenen her hangi bir adrese herhangi bir paket gönderilebilir. Sahte bağlantılar bile kurulabilir. Ayrıca bazı “Yanlış” paketler göndererek işletim sistemleri şaşırtılabilir, hatta kilitlenmeleri sağlanabilir.Daha önceden de değindiğimiz gibi, şifreleme konusunda karar verilmesi gereken bazı hususlar vardır. Bunlardan ilki de, şifrelemenin nerede yapılacağıdır. Bu konuda iki alternatif mevcuttur. Bunlardan biri IP yığınında şifreleme yapmak, diğeri ise uygulama yazılımı seviyesinde şifreleme yapmak. Şu anda piyasada mevcut ürünlerin % 70″ ten fazlası, IP yığınınında şifreleme işlemini yapmaktadır. Bu yöntemdeki yaklaşım, kurulmuş olan bir bağlantı üzerindeki bütün verilerin şifrelenmesine dayanır. Güvenlik konusunda titiz davrananlar için (örneğin bankalar) oldukça iyi bir yaklaşımdır. Yerel ağdan dışarı giden herşey şifrelenir. Böylece mümkün olan en üst düzeyde güvenlik sağlanmaya çalışılır.
Bu yaklaşımın dezavantajı, fazla CPU zamanı almasıdır. Şifrelemeye ilişkin işlemler, karmaşık hesaplamaya dayalı işlemlerdir. Dolayısıyla, gelen ve giden her şeyin şifrelenmesi, çok fazla CPU zamanı alacaktır. Bu ağın transfer hızına da yansıyacak, birim zamanda aktarılan veri miktarını düşürecektir.
Bu olumsuzlukları minimuma indirmek için üreticiler değişik yollara başvurmuşlardır. Router” ın veya ayrı bir cihaz olarak gerçeklenen şifreleyicinin ayrı işlemcilere sahip olması bu yöntemlerden biridir.
Şifrelemenin yapılacağı yer konusundaki diğer alternatifin uygulama seviyesindeki şifreleme olduğunu söylemiştik. Bu yaklaşımın avantajı, ağ yöneticisinin, neyin şifrelenip neyin şifrelenmeyeceğine karar verebilmesidir. Böylece ağ yöneticisi, şifrelenmesine ihtiyaç olmadığını düşündüğü şeylerle ilgili zaman kaybının önüne geçebilecek, bu da CPU zamanını kazanmamızı sağlayacaktır. Ancak böyle bir çalışma düzeninde, veriyi alacak olan tarafın, nelerin şifrelenip nelerin şifrelenmediğini bilmesi gerekmektedir. Bu da, ilgili bazı parametrelerin uygun değerlere getirilmesini gerekmektedir. Bu işlem de, ağ yöneticisinin zamanını alacaktır.

Şifreleme Yöntemi

Ağ yöneticisi şifrelemenin nerede yapılacağına karar verdikten sonra, düşünmesi gereken ikinci şey, şifrelemenin nasıl yapılacağı, hangi tekniğin kullanılacağıdır. Şu an için en iyi bilinen ve en çok kullanılan yöntem Veri Şifreleme Standardı (Data Encryption Standard – DAS)” dır. İlk olarak 1970″ lerin başlarında geliştirilmiş, Amerika Birleşik Devletleri tarafından 1977″ de son hali verilmiştir. Bu teknikte, 64 bitlik text blokları 56 bitlik anahtarlar kullanılarak şifrelenir. Bu bize trilyonlarca farklı anahtar sunar. Dolayısıyla ilk bakışta çözülmesi imkansız bir şifre gibi gözükse de aslında günümüzün güçlü bir makinası bunu çözebilir. Dolayısıyla yakın bir gelecekte 56 bitlik şifrelemenin yetersiz kalacağını söyleyebiliriz.
Bu yetersizlik karşısında “üçlü DES” denilen bir teknik geliştirilmiştir. Burada yapılan, yukarıda bahsedilen her bir bloğun şifrelenmesinde üç ayrı anahtarın kullanılmasıdır. Bu teknik günümüzde yavaş yavaş kullanılmaya başlanmıştır. Değişik üreticiler, bu tekniği kullanan ürünlerini piyasaya sumuşlardır. Bunlara örnek olarak IBM” in Securenet Gateway 2.1 firewall” unu verebiliriz. NEC, NSC ve Western Datacom da bu tekniği kullanan ürünler piyasaya sürmüşlerdir. Şifreleme yöntemi olarak DES” ten başka algoritmalar da piyasada bulunmakta ve kullanılmaktadır. Bunlar; Checkpoint tarafından üretilen FWZ1, IRE tarafından üretilen Atlas ve IBM tarafından üretilen Command Masking Data Facility (CMDF) dir. Bunların tamamı 40 bitlik algoritmalardır. Northern Telecom Ltd. tarafından geliştirilen CAST, 40 ila 64 bit aralığında değişen uzunlukta anahtar kullanmaktadır.

Private Key Ve Public Key Kavramları

Şifreleme mekanizması için karar verilmesi gereken bir nokta da, private-key mi yoksa public-key mi kullanılacağıdır. (Aslında public-key ile anlatılan bir public-key ve bir private-key içerir. Karışıklığı önlemek ve yöntemleri bir birinden ayırmak için böyle bir isimlendirme yapılmıştır.)

Esas olarak bir anahtar, aktarılacak verinin kodlanması ve kodlanmış verinin çözülmesi için kullanılan bir algoritmadır. Private-key şifreleme yaklaşımında, her iki işlem için de aynı anahtar kullanılır. Public-key şifreleme yaklaşımında ise public-key ve private-key birlikte kullanılırlar.
Private-key yaklaşımı kullanılarak geliştirilmiş ürünlerde, ağ üzerinde çalışmakta olan herkese bir anahtar verilir. Buradaki önemli nokta, bu anahtarların, istenmeyen ellere geçmesine mani olmaktır. Burada da, private-key” lerin kullanıcılara nasıl dağıtılacağı konusu gündeme gelmektedir. Çünkü bu dağıtım işlemi esnasında da anahtarlar istenmeyen ellere geçebilir. Bu iş için e-mail”den yararlanılabileceği gibi ( gerekli güvenlik önlemleri alınmak kaydıyla), telefonla da bu anahtarlar sahiplerine aktarılabilir. Tabi tüm bu işlemler sırasında güvenliğe azami derecede dikkat etmek gerekmektedir.

Şifreleri kişilere atamanın bir başka yolu da, bir sunucu vasıtasıyla dağıtma işlemini yapmaktır. Bu durumda, şifreleri ele geçirmek isteyenlere direkt bir hedef sunulmakta, burada sağlanacak yeterli bir güvenlik mekanizması ile, bu tehlike de önlenebilmektedir.
Private-key yaklaşımı ile ilgili olarak yaşanabilecek bir başka sorun da, ortak kullanılacak bir bilginin karşılıklı olarak paylaşıma açılması esnasında yaşanabilecektir. Bunun için öncelikle private-key” lerin değiş-tokuş edilmesi gerekmektedir. Bunun için e-mail sisteminin kullanıldığını düşünürsek, bu zaman alabilecek,bu gecikmeler de sorunlara sebep olabilecektir.
Public-key yaklaşımında ise, ağ üzerinde yer alan her kullanıcıya iki anahtar atanır : private-key ve public-key. Private-key” ler, yukarıda anlatıldığı gibi kullanıcılara dağıtılır. Burada gizlilik yine esastır. Bütün kullanıcılara ait public-key” ler ise, herkesin erişimine ve kullanımına açıktır.
Bu şekilde her kullanıcıya iki ayrı anahtar atamanın temel sebebi, private-key ile yaşanan, verilerin karşılıklı olarak aktarılması esnasında zorunlu olan, private-key” lerin değiş-tokuşu işleminden kurtulmak, dolayısıyla bunun getirdiği zorlukları bertaraf etmektir. Yöntemin nasıl çalıştığını anlatarak, mekanizmayı daha iyi anlayabiliriz;
Farklı yerlerde bulunan iki kullanıcıdan birinin diğerine bilgi aktarmak istediğini düşünelim. Bu durumda şifrelemede ihtiyaç duyacağı anahtarlar, göndereceği kişinin public-key”i ve kendisinin private-key” idir. Bu iki anahtarı kullanarak şifreleme işlemini yapar ve verileri karşı tarafa gönderir. Şifrelenmiş verileri almış olan kişi ise, şifreyi çözmek için, göndericinin public-key” ini ve kendisinin private-key” ini kullanır. Dolayısıyla bir kişinin public-key” ini bilmek, ancak private-key” ini de bilmekle anlamlıdır, aksi taktirde hiç bir işe yaramaz. Ayrıca bu yöntem private-key” lerin karşılıklı aktarılmasını da gerektirmez.Görüldüğü gibi public-key yaklaşımı bize büyük bir avantaj getirmiştir. Ancak bunun da dezavantajları vardır. Bunların başında da, birbirlerine şifrelenmiş veri gönderecek bilgisayarların her defa yürütmeleri gereken el sıkışma protokolleri, ilgili anahtarları kullanarak bilgileri çözme işlemlerinin CPU zamanından çok fazla almasıdır. Bu işlemler, hesap yoğunluğu olan işlemler olduğundan sistemi oldukça yavaşlatacak, ağ performansının %20 azalmasına sebep olabilecektir.
Şu an için private-key yaklaşımı ile ilgili olarak üzerinde çalışılan konuların başında, anahtar değiştirme işlemini otomatik yaparak, zaman kaybını en aza indirmektir.
Sun Microsystems Inc. tarafından geliştirilmiş olan Skip (Simple Key Exchange Internet Protocol) yaklaşımı ile de, public-key yönteminin getirdiği her seferinde güvenli erişim için el sıkışma protokollerinin koşturulması ve dolayısıyla işlemciye fazladan yük getirilmesi durumundan kurtulunmaktadır. Bunun yerine yapılan işlem şöyledir; Bir kere güvenli haberleşme oturumu başlayınca, Skip tarafından bir oturum anahtarı oluşturulur. Bu anahtar geçici bir anahtar olup, bu oturum süresince ilgili kaynaktan veri aktarımı için kullanılır.
Skip ilk bakışta gerçekten çok güzel bir yaklaşım olarak gözükmektedir. Ne yazık ki burada da güvenlik açısından bazı sorunlar vardır, şöyle ki; Oturum anahtarı kullanıcı tarafından belirlenen bir periyod boyunca geçerlidir. Bu periyod bir saat olduğu gibi, bir kaç gün de olabilir. Anahtar, network ortamında bir yerde tutulduğundan, buna ulaşacak kişiler, bu anahtarın geçerli olduğu süre zarfında, istedikleri verilere ulaşabilirler.
Skip yaklaşımından yola çıkılarak, değişik yöntemler geliştirilmiştir. Skip” in güvenlik konusundaki açığını kapatmak ve daha güvenli bir iletişim sağlamak amacıyla Photuris Session Key Management Protocol (PSKMP) geliştirilmiştir. Burada yapılan, bir kere güvenli oturum başlatıldıktan sonra oturum anahtarını sabit tutmamak, bazı rastgele sayılar, haberleşen bilgisayarların IP bilgilerinden oluşan değerlerin bir karışımını kullanarak, her yeni veri transferinde bunların belirlediği bir oturum anahtarını kullanmaktır. Bunun sayesinde de güvenlik Skip” e göre daha iyi bir düzeye getirilmiş olur, hız olarak da pek çok public-key ürününden daha iyi bir seviyeye ulaşılır.

Neler Şifrelenmeli?

Şifreleme konusunda karar verilmesi gereken konulardan biri de, nelerin şifreleneceğidir; Sadece bilgi içeren kısımlar mı şifrelenecektir yoksa bunların yanında kaynak ve hedef IP” lerini içeren başlık kısımları da şifrelenecek midir? Eğer sadece veri içeren kısımlar şifrelenirse – Cisco, Cylink ve NEC tarafınfan bu yaklaşım kullanılmaktadır – kaynak ve hedef IP adresleri değişmeden internet ortamına çıkarılacaktır. Bu paketlerden birini ele geçirecek kişi, adres bilgilerini elde edebilecektir. Bu bilgilerin başkaları tarafından ele geçirilmesi sorun yaratmayacakmış gibi gözükse de, bu bilgilerden yararlanılarak, firewall” un diğer tarafında yer alan routerlara veya başka cihazlara ilişkin bilgiler elde edilebilinir. Bu bilgiler de kullanılarak firewall” u kandırmak, sanki şirket içinden bir makineymiş gibi ağa ulaşmak mümkün olabilecektir.
Tüm paketlerin şifrelenmesi durumunda böyle bir olasılık olmayacaktır. Şu an için bu işi yapan bir ürün IP Encapsulating Security Payload (ESP)” dir. Kısaca buradaki yaklaşım; Bir güvenlik aygıtı vasıtasıyla IP adres paketlerine yeni kaynak ve hedef adreslerinin eklenmesidir. Yalnız bu adresler, sadece firewall” ları adreslerler. Dolayısıyla dışarıdan birisinin, firewall” un arkasında yer alan herhangi bir cihaza ilişkin bilgileri elde edebilmesi mümkün değildir. ESP yaklaşımını destekleyen şirketler; Border, Checkpoint, IBM, Raptor, V_One ve Western Datacom” dur.
Fakat bu yaklaşım için de bir problem mevcuttur. IP paketine sürekli yeni adreslerin eklenmesi, bu paketin oldukça fazla büyümesine, hatta müsaade edilen sınırı aşmasına sebep olabilecektir. Böyle bir durumda da bu paketi bölmek gerekecektir.Bölmelenmiş paketlerin hedefe ulaştığında kodlarının çözülmesi biraz daha zor olacaktır. Ayrıca bölünmüş paketler hedefe uygun sırada gelmeyebileceklerinden bunlar da sorunlara sebebiyet verebilecektir.
IP şifrelemesi yukarıda bahsedilen sorunu önlerken aynı zamanda çalma (hijacking) olaylarının da önüne geçecektir. Burada yapılan işlem şudur; Dışarıdan ağa müdahale etmek isteyen kişi, düğümler arasında giden paketleri takip ederek, amacına uygun bir düğüme ilişkin bir paket yakalamaya çalışır. Böyle bir paket yakaladığında da, haberleşen iki düğümün arasına girip, hedef düğüm ile konuşmaya başlar. Hedeflenen düğüm hala daha kendi ağından bir makine ile haberleştiğini sanarak, veri alış – verişini sürdürür. Bu sayede de bu düğüm tarafından üretilen paketler alınırken, hedef düğüme de kendi kodlarını göndererek, bunların burada koşması, dolayısıyla buraya zarar verilmesine sebep olunabilir. IP şifrelemesi vasıtasıyla, bu sorunların da önüne geçilmiş olunur.

Kullanıcı Belirleme

Güvenli bir iletişim için sadece şifreleme yeterli olmayacaktır. Şifrelenmiş veriler gönderilmeden önce, kiminle irtibat halinde olunduğu bilinmeli, bunun için de karşı taraftaki kişinin kendini tanıtıcı bilgileri göndermesi istenmelidir. Bu işlem güvenlik mekanizmasının önemli aşamalarından biri olup Kullanıcı Belirleme (authentication) olarak bilinir. Şu an için en yaygın kullanılan Kullanıcı Belirleme aracı Security Dynamics Inc. tarafından geliştirilmiş olan SecurID” dir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.