Yeni Başlayanlar İçin Kriptoloji
Günümüzde bilginin korunması, güvenliğinin sağlanması ve ihtiyaç halinde kayıpsız bir şekilde geri getirilmesi ciddi derecede önemli görülmektedir. Bilgi güvenliği, eldeki veriyi şifrelemek,korumak, iletmek ve paylaşmakla mümkündür. Günümüzün güvenlik sorunlarından biri olan veri kaçakçılığı beraberinde şirketlere ve siber güvenlik uzmanlarına aldırmıgüvenlik önlemleri ştır. Bunoktada kriptoloji konusu gündeme gelmektedir. Şifre bilimi olan kriptoloji, herhangi bir metni belli bir tekniğe göre şifrelenmesi ve bu mesajların güvenli bir şekilde alıcıya iletilmesi işlemlerini kapsamaktadır.
İnternet kullanımının her geçen gün yaygınlaşmasıyla birlikte bilişim teknolojilerinde yer alan güvenlik zafiyeti veya açıklarda artmaya başlamıştır. Bilişim teknolojilerinde gizlilik, bütünlük ve sürekliliğin sağlanması amacıyla güvenlik konusuyla ilgili birçok ürün ve proje geliştirilmektedir. Bu durum, bilgi güvenliği konusunun önemini açıkça ortaya koymaktadır. Bilgi güvenliği, yetkisiz erişimlerden bilgiyi koruyarak sözkonusu bilginin gizliliğini (confidentiality), bütünlüğünü(entirety),doğruluğunu (integrity) ve erişilebilirliğini (availability) sağlamaktır. Bilgi güvenliği; teknoloji (yazılım ve donanım), insan, süreç, yöntem ve metodoloji gibi bir çok kavramı kapsamaktave bilişim dünyası için oldukça önemli görülmektedir.
Hadi gelin biraz temel atalım;
Öncelikle insanların kriptolojide en çok dikkatini çektiğini düşündüğüm saldırı yöntemleri nedir, ne değildir?
Günümüzün Şifre ve Paralolara Saldırı Yöntemleri
Rainbow Table
Rainbow table, şifre karmalarını kırarak sistemlere giriş yapmak için
kullanılan bir veri tabanını temsil eder. Teknik olarak önceden
hesaplanmış düz metin, şifreler ile karşılıklarını temsil eden karma
değerlerin yer aldığı bir sözlüğü ifade eder. Böylece hangi düz metin
şifrenin hangi özel karmayı temsil ettiği bulunabilir. Bir karmayı
birden fazla metin oluşturabildiği için orijinal şifrenin ne olduğunu
bilmek aslında önem taşımaz. Önemli olan, düz metnin kullanılarak aynı
şifreyi temsil eden karmayı oluşturmaktır.
Rainbow table saldırısı nasıl uygulanır?
Rainbow table saldırıları bir kripto analizin çok hızlı ve etkin yapılması ile gerçekleştirilir. Karma fonksiyonunun içerdiği her dizinin hesaplanması ile kullanılan brute-force saldırısı yöntemine kıyasla, rainbow table saldırısında karma değeri hesaplanır ve bilgisayardaki karma değeri ile karşılaştırılır. Veri tabanında yer alan geniş dizin stoku sayesinde hesaplama basamağı otomatik olarak atlanır ve şifre kırılır. Bu aşamada rainbow table yönteminde iki adım kullanılır:
1- Bir tablo oluşturmak
Bu adıma bir dizinin karması alınır ve yeni bir dizin oluşturmak için kullanılır. Bu işlem defalarca tekrarlanır. MD5 karma fonksiyonu kullanılarak en temel (ve asla önerilmeyen) şifreyi temsil eden 12345678 kullanılarak bu işlemin ilk sekiz karakter kullanılarak nasıl yapıldığı aşağıdaki gibidir.
İlk olarak dizin alınır ve md5 karma fonsiyonundan geçirilir:
hashMD5(12345678) = 25d55ad283aa400af464c76d713c07ad
Ardından ilk sekiz karakter alınarak dizin kırpılır ve yeni bir dizin oluşturulur:
hashMD5(25d55ad2) = 5c41c6b3958e798662d8853ece970f70
Bu işlemler veri tabanında yeterince karma birikinceye kadar tekrarlanır. Elde edilen “çıktı zinciri” üzerinde oynanan ilk düz metinden başlar ve en son karmada sona erer.
Yeterince zincir biriktikten sonra, her biri bir tabloda toplanır.
2- Şifrenin kırılması
Karmalanmış metnin (şifrenin ta kendisi) veri tabanında yer alıp almadığı kontrol edilir. Eğer yer alıyorsa, zincirin başına gidilir ve bir eşleşme olana kadar tüm karmalar denenir. Eşleşme olduğu anda bu süreç otomatik olarak sonlanır ve sisteme giriş kırılmış olur.
Brute-force attack (Kaba Kuvvet Saldırısı)
Kaba kuvvet saldırısı, sonunda doğrusunu bulma umuduyla deneme yanılma yönetimi kullanarak bir parola veya kullanıcı adını ele geçirme, gizli bir web sayfasını bulma ya da bir mesajı şifrelemek için kullanılan anahtarı arama girişimidir. Bu, eski ancak hâlâ etkili ve korsanlar arasında popüler bir saldırı yöntemidir.
Çoğu kaba kuvvet saldırısı otomatiktir, bu yüzden her ölçekten işletme hedef olabilir.
Bir kaba kuvvet saldırısı nasıl çalışır?
Bir giriş sayfası (veya herhangi bir şifre koruması) olan her site bu tür saldırılar için potansiyel bir hedeftir.
Saldırganlar
bir web sitesine, kullanıcı hesabına veya başka bir şifrelenmiş bilgiye
erişmek istediğinde, öncelikle bu bilgilerin şifresini çözmek veya
kilidini açmak için bir şeyler yapmalıdır.
Bu süreç, farklı olası
şifre kombinasyonlarının denenmesiyle başlar ve erişmek istedikleri
yerin şifresini çözene kadar da devam eder. Yalnızca tek bir hesap için
binlerce olası şifre kombinasyonu mevcuttur. Standart en kısa şifre
uzunluğu sekiz karakterdir.
Birçok web sitesi ayrıca kullanıcı şifrelerine karmaşıklık eklemek amacıyla ek gereklilikler getirir (büyük ve küçük harfe duyarlılık, alfanümerik kombinasyonlar, özel karakterler vb.). Bu tarz basit yönergeler, standart bir şifrenin binlerce olan kombinasyonunu trilyonlara çıkartabilir.
Tabii ki doğru araçlarla ve nasıl yapılacağını biliyorsa bir hacker için bu, küçük bir rahatsızlıktır. Günümüzde binlerce olası şifre kombinasyonunu oluşturup bunları saniyeler içerisinde deneyebilecek bir sürü araç mevcuttur.
Güvenlik ekipleri ve kullanıcıların almaları gereken önlemeler;
Sistem yöneticileri genelde kaba kuvet saldırılarına karşı zaman zaman canımızı çok sıkan CAPTCHA ((Bilgisayarları ve İnsanları Ayırmak için Tamamen Otomatik Halka Açık Turing testi)
önlemini
almak yanı sıra; Sistem yöneticileri, kaba kuvvet saldırılarının
başarıya ulaşmasını zorlaştırmak için sistemlerindeki parolaların mümkün
olan en yüksek oranda (örneğin 256 bit şifreleme) şifrelendiğinden emin
olmalıdır. Şifreleme düzeninde ne kadar çok bit varsa parolayı kırmak o
kadar zor olacaktır.
Yöneticiler aynı zamanda karmayı daha karmaşık hale getirmeli, yani parolanın kendisine denk gelen harf ve rakamlar dizisi ekleyerek parola karmalarını rastgele hale getirmelidir. Bu dizi ayrı bir veritabanında saklanmalı ve karmaşık hale getirilmeden önce alınıp parolaya eklenmelidir. Bu sayede, aynı parolaya sahip olan kullanıcıların farklı karmaları olur. Ayrıca yöneticilerin iki aşamalı kimlik doğrulaması yapması ve kaba kuvvet saldırılarını algılayan bir izinsiz giriş algılama sistemi yüklemesi gerekebilir.
Kullanıcılar mümkünse semboller veya rakamlar içeren 10 karakterli bir parola seçmelidir. Böylece olasılıkların sayısını 171,3 kentilyona (1,71 x 1020) çıkarılmış olunur. Bir süper bilgisayarın bu parolayı kırması birkaç hafta sürebilir ancak saniyede 10,3 milyar karma deneyen bir GPU işlemcisi kullanıldığında parolanın kırılması yaklaşık 526 yıl sürecektir.
Tüm siteler bu kadar uzun parolaları kabul etmez ancak bu da, kullanıcıların tek bir kelime yerine karmaşık parolalar seçmesi gerektiği anlamına gelir. Yaygın parolalardan kaçınmak ve parolaları sık sık değiştirmek önemlidir.
Network nedir,Bilgisayarlar Ve Ağ Cihazları Arasında İletişim Nasıl Sağlanır?
İnternet, çeşitli yerlerdeki NAP’lerin birbirlerine bağlanmaları ve Trilyonlarca byte’ın kişisel ağlardan akışı ile gerçekleşir.Yani İnternet, NAP’ler vasıtasıyla birbirleriyle ilişki kurmak konusunda anlaşmış devasa ağların bir toplamıdır.
Neden Bilgisayar Ağlarına İhtiyaç Duyulur?
Kaynak paylaşımına ve iletişime ihtiyaç duyulan her yerde bilgisayar ağları kullanılmaktadır. Böylece dosyaların, donanımların ve yazılımların güvenli ve verimli kullanımı sağlanabilir. Bilgisayarlar arasında ağ kurulması ayrıca yönetim ve destek görevlerinin de kolayca yapılmasını sağlar. Ağ yöneticisi tek bir yerden ağ üzerindeki diğer bilgisayarları yönetebilir. Örneğin bir programı yüklemek ya da kullanıcının bir sorunu gidermek için kullanıcının bilgisayarına gitmeye gerek kalmadan ağ üzerinden (uzaktan) müdahale edilebilir.
Sunucu (Server): Bir ağdaki kaynakları yöneten ana bilgisayara verilen isimdir. Bir ağ içinde yönettikleri işlemlere göre farklısunucu bilgisayarlar bulunabilir. Dosya sunucusu, Uygulama sunucusu, Veri tabanı sunucusu, E-posta sunucusu, Web sunucusu, FTP sunucusu vb. Sunucular sürekli çalıştıklarından genellikle özel olarak tasarlanmış bilgisayarlar kullanılır. Büyük ölçekli ağlarda farklı görevler için farklı bilgisayarlar kullanılmaktadır. Sunucu donanımı belirlenirken aynı zamanda sunucuda kurulacak ağ işletim sistemine de karar verilir. Ağ işletim sistemleri Microsoft Windows Server, UNIX, Linux, Novell Netware vb. gibidir.
İş istasyonları (Workstations): Bilgisayar ağında yönetici olmayan bilgisayarlardır. Terminal veya istemci (client) olarak da isimlendirilir. Eskiden sunucu ve istemcinin aynı işletim sistemine sahip olmasışartken şu anda bu zorunluluk ortadan kalkmıştır.
Sunucu tabanlı ağ (Server-based Network)
İstemci/Sunucu (Client/Server) Bu tip ağlarda ana bilgisayar olarak sunucu vardır. Ana makine üzerinde ağ yönetimi yapılır. Ayrıca ağa girecek ya da bağlanacak her bilgisayar bu ana makine üzerinde yer alan kullanıcı hesaplarına göre kontrol edilerek bağlantı gerçekleştirilir. Böylece kullanıcı ve dosya temelinde güvenlik sağlanmış olur. Bunun dışında kullanıcının girişinde kimlik bilgilerinin kontrolü (authentication) işlemi yapılmış olur. Dosya, yazıcıları ve diğer kaynakları paylaşabilir. Yalnızca yetkili kullanıcılar ağa erişebilir. Merkezi dosya depolama vardır. Merkezi güvenlik kontrolü sağlanabilir. Daha karmaşık kurulum ve bakım gerektirir. Yüksek maliyetlidir. Sınırsız genişleme imkânı vardır. İstemciler diğer istemcilerle değil yalnızca sunucularla iletişim kurarlar. İstemcilerde standart işletim sistemleri ya da özel işletim sistemleri bulunur. Her sunucu belli bir iş üzerinde uzmanlaşabilir.( Dosya sunucusu, Yazıcı Sunucusu, E-posta sunucusu vb.)
Geniş alan ağları (Wide Area Networks)
Geniş
alan ağları ülkenin veya dünyanın çeşitli yerlerine dağılmış yerel alan
ağlarını ya da metropolitan alan ağlarını birbirlerine bağlar.
Kullanım amaçlarına göre ağlar farklı isimler ile gruplandırılabilir: Eğitim amaçlı bilgisayar ağı, Güvenlik amaçlı bilgisayar ağı, Ticari amaçlı bilgisayar ağı, Özel amaçlı bilgisayar ağı, vb.
OSI NEDİR?
OSI 7 katmandan oluşur
I. Physical (Fiziksel Katman)
II. Data Link (Veri Bağlantı Katmanı)
III. Network (Ağ Katmanı)
IV. Transport (Taşıma Katmanı)
V. Session (Oturum Katmanı)
VI. Presentation (Sunu Katmanı)
VII. Application (Uygulama Katmanı)
OSI Modeline göre verilerimizi sunum (6) aşamasında şifrelernir.
TCP/IP (Transmission Control Protocol/Internet Protocol)
bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla
standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi
temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen
veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.
TCP/IP Protokol Yapısı
Application Layer (Uygulama Katmanı)
Host to host or Transport Layer (Taşıma Katmanı)
İnternet Katmanı
Ağ Erişim Katmanı
Fiziksel Katman
TCP/IP ile OSI arasındaki Farklar
⦁
TCP/IP haberleşme görevini karmaşık bir iş olarak niteleyerek daha
basit alt görevlere böler.Her bir alt görev diğer alt görevler için
belirli servisler sunar ve diğer alt görevin servislerini kullanır. OSI
modeli de aynı kavramı kullanır ,ancak OSI modelinde her bir katmandaki
protokollerin özellikleri ve birbiri ile ilişkileri kesin bir dille
tanımlanmıştır. Bu özellik OSI modeli ile çalışmayı daha verimli kılar.
⦁
OSI modelinde katmanların görevlerinin kesin bir şekilde belirlenmiş
olması yeni bir protokol geliştirmeyi kimi zaman güçleştirebilir.
TCP/IP ise böyle bir kısıtlama getirmediğinden,gerektiğinde yeni bir protokol mevcut katmanlar arasına rahatlıkla yerleştirilebilir.
⦁
OSI modelinde gerekmeyen bir katmanın kullanılmaması gibi esnek bir
yapıya izin verilmemektedir. TCP/IP ise katı kurallarla tanımlı
olmadığından gereksinim duyulmayan katmanların kullanılmamasına izin
verir. Örneğin uygulama katmanında olmasına rağmen doğrudan IP üzerinden
kullanılabilen protokoller mevcuttur.
Günümüzde veriler nasıl şifreleniyor?
⦁ Simetrik şifreleme(Simetrik anahtar algoritmaları)
Simetrik anahtar algoritmaları aynı ya da benzer kripto-grafik şifreleri kullanarak hem encrypt hem de decrypt yapan bir kripto-grafik algoritma grubudur. Şifreler ya birebir aynı ya da basit bir yöntemle birbirine dönüştürülebilir olmalıdır. Pratikte anahtarlar gizli bağlantının devam ettirilmesinde kullanılan iki ya da daha fazla taraf ile paylaşılmış bir şifreyi temsil ederler. Açık anahtarlı şifrelemeye göre ana dezavantajlarından biri iki partinin de gizli anahtara erişiminin olması gerekliliğidir
Simetrik şifrelerin inşası:
Birçok modern blok şifreleme yöntemi
Birçok modern blok şifreleme yöntemi Horst Feistel’in önerdigi Feistel şifresine dayanmaktadır. Feistel’in önerdiği bu yapı geri dönüştürülemez fonksiyonlardan geri dönüştürülebilir fonksiyonlar oluştumayı mümkün kılar.
Simetrik şifrelerin güvenliği
Simetrik şifrelerin kullanıldıkları süre içinde bilinen düz metin saldırısı, seçilmiş düz metin saldırısı, diferansiyel kriptanaliz ve lineer kriptanaliz gibi saldırı yöntemlerine karşı zayıf olabilecekleri anlaşılmıştır. Her adımda kullanılacak fonksiyonların dikkatli inşa edilmesi saldırıların başarılı olma şansını büyük ölçüde düşürebilir.
En popüler standartlar;
⦁ Data Encryption Standart (DES)
Açılımı Data Encryption Standart olan simetrik şifreleme algoritmasıdır. 1997'de resmi bilgi şifreleme standardı olarak kabul edilirken, 2000'de yerini AES’e bırakmıştır. DES, gizli anahtarlı bir şifreleme türüdür, büyük boyutlu verilerin şifrelenmesinde kullanılır.
Modern bir bilgisayarın yapacağı Brute Force denemeleriyle DES ile şifrelenmiş verileri er ya da geç kırabilir. DES’i kırmak, Brute Force ile mümkün olunca 3DES adı verilen bir güvenlik arttırma yöntemi geliştirilmiştir.
Triple DES (3DES)
Üçlü DES, 1978 yılında IBM tarafından geliştirilmiş olan bir şifreleme algoritmasıdır. Kaba Kuvvet saldırılarına karşı koymakta zorlanan DES algoritmasının üzerine geliştirilmiştir. Öncelikle DES algoritmasının en zayıf noktası olan S-Kutuların açıkları bu şifreleme algoritmasında giderilmiştir.
Üçlü DES (3DES) — Üçlü Veri Şifreleme Algoritması (TDEA) olarak da bilinir — DES şifrelemesini üç kez kullanmanın bir yoludur. Ancak Üçlü DES’in bile kaba kuvvet saldırılarına karşı etkisiz olduğu kanıtlanmıştır
Advanced Encryption Standard (AES)
AES elektronik verinin şifrelenmesi için sunulan bir standarttır. AES, uluslararası alanda da şifreleme (kripto) standardı olarak kullanılmaktadır.
⦁ Asimetrik Şifreleme (Açık anahtarlı şifreleme)
Açık anahtarlı şifreleme, şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir. Haberleşen taraflardan her birinde birer çift anahtar bulunur. Bu anahtar çiftlerini oluşturan anahtarlardan biri gizli anahtar diğeri açık (gizli olmayan) anahtardır. Bu anahtarlardan bir tanesiyle şifreleme yapılırken diğeriyle de şifre çözme işlemi gerçekleştirilir. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır
Süper!
YanıtlaSil