Bu yazıda(dökümanda) sistem güvenliğine basit anlamda bir giriş ile anlatmaya calişacagim. Sunucu/İstemci mimarisinin yaygınlaşması, hacker ve crackerlari sistem yöneticilerinin korkulu rüyası haline getirmiştir.
Her bilgisayar sisteminin güvenlik açıklıkları vardır. Hackers ve crackler bu açıkları bularak, sisteme zarar vermek için uğraşırlarken, sistem yöneticileri de onların bu saldırılarına karşı sistemi ayakta tutmaya çalışırlar. Mükemmel yazılımı ya da mükemmel donanımı üretmek imkansızdır. Her ürünün (yazılım ya da donanım ürünün) çeşitli eksikleri ve hataları vardır. Hacker ve crackerlar bu eksikleri bulmaya ve bunları kullanarak sistemlere zarar vermeye çalışırlar. Bu yazımızda öncelikle, güvenliğin ne olduğunu ve neden bu kadar önemli olduğuna değineceğiz, ve bilgisayar güvenliğine ait genel terimlerden bahsedeceğiz.
Her sistem de bir güvenlik açığı vardır; kusursuz bir sistemi üretmek imkansızdır. Pekala, bu güvenlik açıkları neden önemli? Öncelikle konuya biraz daha ticari açıdan yaklaşalım. Şirketlerin geliştirmiş oldukları ürünlerin özellikleri, geliştirilirken izlenen yöntemlerden tutun da kullanılan araçlara kadar bir çok şey o şirketin koruması gereken en önemli bilgisidir. Serbest piyasa ekonomisinin yaygın olduğu günümüzde, bu bilgilerin rakip firmaların eline geçmesi, sizi onlarla yarışamayacak bir hale getirebilir, ve bu şirketinizin sonu olabilir.
Olaya askeri açıdan bakarsak, ülkelerin izledikleri savaş taktikleri, geliştirdikleri teknolojik silahlar ve donanımlar o ülkenin savunmasının mihenk taşlarıdır. Verilen eğitimlerin türlerinin dahi diğer ülkelerce bilinmemesi o ülkenin bağımsızlığı ve askeri gücünün devamlılığı açısından büyük önem taşımaktadırlar. Örneğin, Sezar savaş sırasında komutanlarına gönderdiği bilgilerin başkalarının eline geçmemesi gönderdiği bilgileri bir beze yazdırtırmış, ancak bu bezin önemi ancak belirli bir sopaya belirli bir şekilde sarıldığında okunabilmesiydi. Sezar, sopayı ve bezi ayrı ayrı askerlerle ayrı yollardan göndererek kendince güvenliği biraz daha arttırmıştır.
Ancak Sezar’ın bu yöntemi kendisine ihanet eden askerleriyle kırılmıştır. Yüzyıllar önce Sezar’ın geliştirdiği bu güvenlik mekanizması da bu sorunun yüzyıllardan beri varolduğu ve bu sorunun gelişen teknolojiyle daha da önem kazandığını söyleyebiliriz.
Yine tarihten bir örnek daha vermek gerekirse, İkinci dünya savaşının kaderinin Almanların geliştirdikleri Enigma’nın şifresinin çözülmesiyle değiştiğini hatırlatmak isteriz. Almanların Enigma ile şifreledikleri ve kırılması çok zor olan bu güvenlik sisteminin de batan bir Alman denizaltısındaki yok etmeyi unuttukları bir Enigma makinesinin İngilizlerin eline geçmesiyle kırıldığını ve bu gelişmeyle savaşın yön değiştirdiğini ve bu yüzden Almanların hezimetiyle sonuçlandığını söylemek herhalde abartı olmaz.
Sanırız ki, en çok saldırılara maruz kalan ve güvenlik konusunu bir paranoya haline getirmiş bankalar, için güvenlik sistemlerinin neden önemli olduğunu söylemeye gerek yok. Büyük firmaların, ordunun ve bankaların sıkı birer güvenlik sistemine ihtiyaçları var ama ben sıradan bir ev kullanıcısıyım, bilgisayarımda devletin gizli belgelerini, ya da bankaların hesap kayıtlarını tutmuyorum. Benim için bilgisayar güvenliğini neden önemli olsun ki, şeklinde bir soru aklınıza gelebilir.
Düşünün bir kere arkadaşlarımız arasında gönderdiğiniz e-postalarda nelerden bahsetmiyoruz? Bırakın e-postalarda bahsettiklerimizi, bilgisayarınızdaki özel dosyalarınızın başka birilerinin eline geçmesi sizi ne kadar da çok rahatsız edecektir. Her insanın kendine ait bir özel yaşantısı vardır. Hiç kimse bu özel yaşantısına başka birinin girmesini ya da müdahale etmesini istemez.
Sonuç olarak diyebiliriz ki, bilgilerimizin güvenliği bizim için çok önemli bir anlam teşkil etmektedir. Ayrıca, hiç kimse tanımadığı bir kimse tarafında sistemine zarar verilmesini istemez. Günümüzde bilgisayar güvenliğine yapılan saldırılar o kadar çok arttı ve gelişti ki, Amerikadaki dikkatsiz bir kullanıcının bilgisayarı, Japonyadaki bir hacker tarafından formatlanabilmekte, ve sistemine fiziksel zararlar verilebilmektedir.
Sistemlerdeki bütün güvenlik açıkları kullanılan yazılım ya da donanım ürünlerinde ki çeşitli hatalar (buglar) üzerine kuruludur. İsteseniz de istemeseniz de bu hatalar olacaktır. Önemli olan bu hataları birileri sisteminize zarar vermeden farketmek ve buna karşı önlem almanızdır. Tamamiyle güvenli bir sisteme sahip olmak aslında imkansız değil. Öncelikle, bilgisayarınızı yalıtımlı bir çelik kasa içerisine koyun, sonra bu kasayı, hiç kimsenin bilmediği haritalarda bile yer almayan ıssız bir adaya götürüp gömün. Artık sisteminiz %99.99 güvenli diyebiliriz. Dikkat edin %100 değil. Çünkü geriye kalan ihtimalde bir başkasının sizi izlemesi ya da bilgisayarınızı bulma ihtimalidir. Her gün yüz binlerce sistem güvenlik açıklarıyla kırılmakta ve zarar görmektedir. Dünya üzerinde bilgisayar sistemlerini kırmak için can atan yüz binlerce hacker ve cracker’ın olduğu düşünülürse tehlikenin ne kadar önemli boyutlarda olduğunu ve verdiğimiz güvenli sistem çözümünün hiç de abartı olmadığını anlayacaksınız.
O halde ne yapacaksınız, sisteminizin kırılmaması, zarar görmemesi için ne yapmalısınız? Bundan sonraki yazılarımızda neler yapmalıyız ve neler yapmamalıyız konusunda sizlere detaylı bilgiler vereceğiz. İsterseniz öncelikle sistem güvenliğinin türlerini inceleyelim.
Bilgisayar Güvenliği, bilgisayarınıza yapılan birebir saldırılar ve bunlara karşı geliştirilen savunma mekanizmalarını içerir.
Ağ(Network) Güvenliği, birden fazla bilgisayarın yeraldığı ve belirli protokol ve donanımla birbirine bağlanmış bilgisayarların yer aldığı ağ güvenliğine karşı yapılan her türlü saldırı ve bunlara karşı geliştirilmiş savunma mekanizmalarını içerir.
Internetwork Güvenliği, köprüler veya yönlendiriciler ile bağlanmış iki veya daha fazla sayıda ağlara karşı yapılan her türlü saldırı ve bunlara karşı geliştirilmiş savunma mekanizmalarını içerir (Internetwork’e verebileceğimiz en güzel örnek en büyük Internetwork olan Internettir).
İsterseniz, sistem güvenliğinin türlerinden sonra bir de güvenlik servisleri ve bunların genel terminolojisine bir göz gezdirelim.
Authentication(Kimlik Denetimi): Belirli işlemlerin yapılabilmesi için sisteme daha önceden tanımlanmış bilgilerin doğrulanması ve kullanıcının kendisini sisteme tanıtması anlamına gelmektedir. Bunun için web ortamında kullanıcı adı ve şifreler yaygın olarak kullanılmaktadır. Şimdi genelde bilim kurgu filmlerinde gördüğümüz retina kontrolü ve DNA testleri yaparak kullanıcıları tanıyan kimlik denetim servisleri bulunmaktadır.
Confidentiality(Gizlilik): Sistemdeki önceden tanımlanmış ya da belirlenmiş metinlerin ya da mesajların sadece yetkili kişilerce görülebilmesidir. Sistemler gizliliği sağlayabilmek için çeşitli güvenlik mekanizmaları geliştirmişlerdir. Örneğin, Windows NT tabanlı işletim sistemlerinde kullanıcının bir başka kullanıcının dosyalarına erişmesi önceden tanımlanmış güvenlik mekanizmalarıyla sağlanmaktadır (Aslında verdiğimiz bu örnek erişim kontrolüne de girmektedir).
Access Control(Erişim Kontrolü): Kullanıcıların sistemde erişebilecekleri ve değiştirebilecekleri sistem kaynakları ve sistemde yer alan diğer nesnelere kimlik denetimi gibi bir başka güvenlik servisini kullanarak kullanıcıların haklarına göre erişimlerin denetlenmesi ve gerektiğinde sınırlandırılmasıdır.
Integrity(Bütünlük): Sistemdeki önceden tanımlanmış ya da belirlenmiş metinlerin ya da mesajların sadece yetkili kişilerce değiştirilebilmesidir. Sistemlerin sahip olması gereken en önemli servistir. Zaten, çoğu saldıralar da bu servis üzerine yapılmaktadırlar.
Non-repudation: Sistemler birbiriyle sürekli mesajlar göndererek iletişim kurarlar. İnsanların da birer sistem olduğu düşünüldüğünde, biz sizinle kullandığımız ortak bir dil ve iletişim kuralları içerisinde iletişim kurarak bilgilerimizi paylaşıyoruz. Tam bir Türkçe karşılık bulamadığımız bu güvenlik servisi, mesajı gönderenin, mesajı gönderdiğini, mesajı alanın da bu mesajı aldığını inkar edememesi prensibi üzerine kuruludur.
Availability(Kullanılırlık): Sunucu sistemlerinin belirli bir hizmet almayı isteyen izin verilmiş kullanıcıların kendilerine izin verilen sistemdeki kaynakları her zaman kullanabilmesidir. Daha sonraları çokça bahsedeceğimiz DoS(Denial of Service) saldırılarının, bu güvenlik servisi üzerine yoğunlaştıklarını ve ne yazıkki DoS saldırılarından tam olarak korunmanın mümkün olmadığını üzülerek belirtmek isteriz.
Yine yukarıdaki açıklamalardan da anlaşılacağı üzere sistemlerin güvenliği sağlanırken bu servislerden bir çoğu kullanılmaktadır. Aslında bunlar işletim sistemlerinin de temelini oluşturan kullanıcı mekanizmasının da kurallarını belirlemektedirler. Verdiğimiz örneklerden de anlaşılacağı üzere, genellikle bu servisler birbiriyle bütünleşik olarak kullanılmaktadırlar.
Her sistemin güvenlik açıkları vardır. Ve bu güvenlik açıklarının temeli yazılımsal ve donanımsal hatalardır. Yazılım ya da donanım alanında mükemmeli yakalamanın imkansızlığı düşünüldüğünde, bu güvenlik açıklarının her zaman var olacağını söyleyebiliriz. Bu güvenlik açıklarını bulmaya çalışan ve bunları kullanarak sistemlere saldıran milyonlarca hacker’ın ve cracker’in varlığı durumun vahamiyetini daha iyi gözler önüne sermektedir. Dediğimiz gibi önemli olan bu saldıralara karşı sisteminizi hazır tutmak ve gereken önlemleri alarak sisteminizi korumanızdır. Burada yadsınamayacak bir gerçek daha var ki, sistem güvenliğini sürekli tehdit eden hacker ve crackerların teknolojinin gelişmesine olan katkılarıdır. Bu sayede daha iyi yazılım ve donanım üretmenin önemi ortaya çıkmaktadır.
Dipnot: Alıntıdır.