Ağlar küçük ya da büyük yapılar halinde karşımıza çıkmaktadır. İki veya daha fazla bilgisayarın birbirine bağlanması ile küçük bir ağ oluşturulur. Ağlar küçük veya büyük farketmeksizin veri paylaşımı amacıyla çeşitli cihazları birbirine bağlayan bir altyapı (LAN) teknolojisidir. Küçük ağlar birleşerek WAN adını verdiğimiz geniş alan ağlarını, geniş ağlar çok daha büyük ağları ve büyük ağlar da birleşerek İnterneti oluşturur.
Teknolojinin gelişimi ve internetin büyük bir hızla tüm dünyaya yayılmas Artık İnternet sayesinde tüm ihtiyaçlarımızı karşılayabilir ve hayatımızı sanal dünyaya aktarmış durumdayız. İnternet dünyası hava, su gibi değişilmez ve yeri doldurulamaz bir ihtiyaç haline gelmiştir.
Ağ yapılarının ne kadar büyük veya küçük olduğundan çok bizler için en önemli olan husus siber güvenliğinin yani ağınızın güvende olmasını sağlamaktır. Ağ güvenliğini incelemeye çalışmadan önce temel ağları ve yapılarını tam olarak anlamak önemlidir. Ayrıca, bu bilgilerin temel ağ kavramlarına kısa bir giriş olduğunu hatırlatmak isteriz.
Ağ, bilgisayarların, sunucuların, mobil cihazların veya IOT gibi cihazların birbirleri ile iletişim kurmasının bir yoludur.
Fiziksel olarak bu yapılar, bağlamak istediğiniz tüm makinelerden ve bunları bağlamak için kullandığınız cihazlardan oluşur. Bireysel cihazlar, (telefon, tablet, dizüstü gibi) fiziksel bir bağlantı veya kablosuz olarak diğer bilgisayarlar ile bağlanır. Birden fazla makineyi birbirine bağlamak için, her makine bir hub veya swich adını verdiğimiz cihazlar ile bağlanmalı ve ardından bu hublar veya swichler birbirine bağlanır. Daha büyük ağlarda ise işin içerisine router adını verdiğimiz yönlendirici cihazları girer ve her alt ağ diğerlerine bir router cihazı ile bağlanır. Ağların çalışma prensibi genelde, bir makinenin başka bir makineyle iletişim kurmasına izin veren iletişimdir.
Ağ Güvenliği ve Temel Ağ Yapısı
Ağınız ile dış dünya arasında bazı sınır noktaları olmalıdır. Bu bağlantı noktalarına örnek vermek gerekirse, kurumsal ağlarda en çok kullanılan bağlantı noktası olarak Firewall cihazlarını düşünebilirsiniz. Bu cihazlar güvenlik duvarı olarak adlandırılır. Ağınız ile dış ağ veya internet arasında bir bariyer oluşturarak, yetki sınırlaması yaparlar. Yetkili erişimler veri iletişiminde bulunabilir, yetkisiz erişimler ise kesilir. Bu yetkilendirmeler ise Firewall cihazlarına tanımlanan kurallar dizisinden oluşmaktadır. Bu kurallar sayesinde bilgisayarlar ve ağlarınız arasında belirli sınırlamalar koyabilmenize imkân sağlanmış olur.
İnternet veya iç iletişimde her bağlantı metodunun legal bir bağlantı olmadığını ve bu bağlantılar arasında bir siber saldırı olasılığının her zaman olduğunu hatırlatmak isteriz. Günümüz siber güvenlik dünyasında büyük veya küçük hedef gözetmeksizin her saniye bir saldırı geldiğini unutmamalıyız!
Bir ağı nasıl koruyacağınızı öğrenmenin ve hayata geçirmenin ilk adımı, bilgisayarların bir ağ üzerinden nasıl iletişim kurduklarını ayrıntılı olarak anlayabilmektir. Kurumsal ağlar etnernet kartları, swichler, routerlar, hublar ve firewall cihazlarından oluşturulur. Bu aygıtlar kurumsal bir ağın temel fiziksel parçalarıdır. Bağlantı şekilleri ve iletişim için kullandıkları biçim ise ağ mimarisini olarak tanımlanır.
Veri Paketi Nedir?
Fiziksel veya kablosuz bir bağlantı ile ağa dahil olduğunuz zaman bir ağ bağlantısı kurulmuş olur. Bu bağlantı kurulduktan sonra iki bilgisayar arasında veri göndermeye başlayabilirsiniz.
İlk önce veriyi hangi cihaza ya da bilgisayara göndereceğinizi belirlemeniz gerekmektedir.
Tüm ağ cihazlarının ve bilgisayarların bir ağa katılımı sırasında TC Kimlik numarası gibi benzersiz bir kimliği olmalıdır. Bu kimliğe IP adresi adı verilir. 0 – 255 arasında dört bloktan oluşan 192.168.1.123 gibi benzersiz bir IP adresi vardır. Bu ip adresleri her bilgisayar veya ağ cihazı için ağa dahil olurken atanması gerekir. Bu kimlikler vasıtası ile bilgisayarlar arasında iletişim başlar. IP adresi ataması otomatik ya da manuel olarak yapılabilir. Ağda çalışan bir Network cihazı üzerinden otomatik veya manuel olarak ağa dahil olanlara IP adresi atanabileceği gibi, bu işlemi yazılımsal olarak yapan sistemlerde mevcuttur.
İkinci kısımda veri gönderebilmek için, veri iletişim biçiminizi belirlemeniz gerekir.
Bilgisayarlar temelde yalnızca 0 ve 1 rakamlarını okuyabilir. Bilgisayarlarda bulunan elektronik devrelerde 0 elektrik yok, 1 ise elektrik sinyali var manasına gelir. Tüm veriler bilgisayar dilinde aslında ikilik (binary) sistemde oluşturulur ve iletilir.
Bizler normal yaşantımızda 10’luk sayı sistemini kullanmaktayız. Onluk sayı sisteminde 0, 1, 2, 3, 4, 5, 6, 7, 8 ve 9 rakamlarından oluşmaktadır. Onluk sayı sistemidne tek haneli rakamlar 9’dan sonra çift haneye ulaşarak ikinci basamağa geçilir. İkilik sayı sisteminde ise 0 ve 1 rakamlarının dışında rakam olmadığı için, 1 rakamından sonra bir üst basamağa geçilir.
Basamaklar ise 10⁰, 10¹, 10², 10³, 10⁴… şeklinde ilerler. Gerçek yaşamımızda 123 rakamını 10’luk sisteme göre basamaklarına ayırdığımızda sağdan sola doğru (3×10⁰)+(2×10¹)+(1×10²) şeklindedir. Yani (3×1) + ( 2×10) + ( 1×100) = 123 rakamını ifade eder.
Matematikte 10’luk sayı sistemleri olduğu gibi Hexadesimal adı verilen onaltılık sayı sistemleri, Octal adı verilen sekizlik sayı sistemleri ve Binary adı verilen ikilik sayı sistemleri de bulunmaktadır. Bilgisayarlar da matematikle yani ikilik sayı sistemleri ile çalışırlar.
Bilgisayarlardaki elektronik devreler elektriği ya iletir, yada iletmezler. Bu durumda 0 elektrik sinyali yok, 1 rakamı ise elektrik sinyali var manasına gelir. Doğal olarak bilgisayar dili aslında sadece ve sadece 0 ve 1’lerden oluşan Binary ikilik sayı sistemidir. Bilgisayar dili için elektrik sinyalleri doğası gereği hiçbir zaman üçüncü bir tanımlama olmamıştır.
İkilik sistemde de yalnızca 0 ve 1 rakamları bulunmaktadır. Bir rakamı 8 bitlik bilgisayar dilinde tanımlanırken 00000001 şeklinde, sıfır rakamı tanımlanırken 00000000 ile ifade edilir. Bu ifadede her karakter bir biti nitelerken 8 karakter toplamda 8 bitlik bir boyut oluşturur. Bilgisayarlardaki 8 bitlik rakamlar ise 1 byte’a karşılık gelir.
- 1 byte 8 bit’e eşittir.
- 1 kilobyte 1024 byte’a eşittir.
- 1 megabyte 1024 kilobyte’a eşittir.
- 1 gigabyte ise 1024 megabyte’a eşittir.
Mesela Onluk sistemdeki 21 rakamını bilgisayar dilinde (ikilik sistemde) yazmak istersek karşımıza 8bite tekabül eden 00010101 rakamı gelir. İkilik sistemdeki sayıyı onluk sisteme çevirirken yine üslü sayılardan faydalanarak basamaklarına ayırırız. Basamaklar ise 2⁰, 2¹, 2², 2³, 2⁴… şeklinde ilerler.
21 rakamı onluk sistemde = (1X1) + (2×10) sağdan dola doğru şekilde basamaklarına ayrılırken; 00010101 rakamı ikilik sistemde aşağıdaki gibi çevrilir.
00010101 = Sağdan sola doğru (1x2⁰) + (0x2¹) + (1x2²) + (0x2³) + (1x2⁴) + (0x2⁵) + (0x2⁶) + (0x2⁷) şeklindedir. Bu rakamların toplamı da onluk sistemde (1) + (0) + (4) + (0) + (16) + (0) + (0) + (0) = 1+4+16 = 21 rakamını vermektedir.
Kısacası her rakamı ikik sisteme çevirerek bilgisayar dilinde veri olarak kayıt edebilir, işleyebilir veyahut gönderebiliriz. Elbette ki bu sadece rakamlar için geçerli değildir. Harfler için önce Unicode sonrasında UTF gibi çevirme standartları geliştirilmiştir. Mesela klavyeden bastığınız A harfinin ondalık sistemdeki Unicode karşılığı 65 rakamına denk gelir. A harfine klavyeden bastığınız zaman onluk sistemdeki 65 rakamı, ikilik sistemde yani bilgisayar dilinde 01000001 olarak kayıt edilir ve işlenir. Harfler, renkler, fotoğraflar, belgeler ve diğer her türlü veri belirli standartlar halinde rakamlara dönüştürülür ve ikilik sistemde bilgisayar diline çevrilir. İlk başlarda belirtmiş olduğumuz 8 karakter yani 8 bit, sonrasında (daha büyük rakamların kullanılması) 16bit, 32bit, 64bit, 128bit gibi geliştirmeleri doğurmuştur.
Dönelim konumuz olan veri paketlerine…
Bu ikili verilerin hepsi 65.000 bayttan küçük olacak şekilde paketlere yerleştirilir. Bu paketlerde ilk birkaç bayt başlık bilgisini oluşturmaktadır. Başlık (header) kısımları bu paketin nereye gideceğini ve nereden geldiğinin bilgisini barındırır. Aynı zamanda arkasından gelen paketlerin de öncüsü ve bir parçası olduğunu gösterir. Tüm bu bilgiler paketin header dediğimiz başlık kısmında yer almaktadır. Basit anlatımla bu şekilde olsa da teknik olarak birden fazla başlık olduğunun da altını çizmek isteriz.
IP Spoofing Nedir?
Bazı siber saldırganlar IP Address Spoofing adını verdiğimiz saldırı yöntemlerinde paketin başlığını değiştirebilir ve Spoof adını verdiğimiz saldırı türü ile paketleri yönlendirebilirler. Kısacası veri paketinde yer alan kaynak adres (veriyi gönderen bilgisayar) değiştirilerek karşı tarafa iletilebilir. Bu sayede kaynak gizlenmiş, hatta başkası gösterilerek cevabın ona iletilmesi sağlanır.
IP spoofing, değiştirilen kaynak IP adresi ile oluşturulan veri paketleridir. IP spoofing kavramı, ilk olarak 1980’li yıllarda akademik çevrelerde tartışılmıştır.
Saldırgan, farklı bir adresi içerecek şekilde IP başlığını değiştirilerek, paketin farklı bir makine tarafından gönderilmiş gibi görünmesini sağlayabilir. Saldırının gerçekleştirildiği bilgisayar gerçek kaynağı göremez ve cevap dönerken başlık bilgisinde yazan (değiştirilen) ip adresine dönüş yapılır. Ip spoofing teorik olarak tüm protokollerde gerçekleştirilebilir. Pratikte ise UDP kullanan uygulamalarda gerçekleştirilebilirken , TCP kullanan uygulamalarda gerçekleştirilemez. Bunun nedeni TCP’de üçlü el sıkışmanın zorunlu olması ve paket başlık bilgisindeki sıra numarasının tahmin edilemez olmasıdır. TCP üçlü el sıkışma konusuna daha sonra değineceğiz.
IP spoofing sıklıkla DDoS saldırılarında kullanılır. Bu tür saldırılardaki amaç, hedef bilgisayarın cevap vermesini engelleyecek ve kapasitesini dolduracak kadar aşırı miktarda yüklenmektir. Her sahte paket farklı bir adresten geliyormuş gibi görünür bu sebeple filtrelemek daha zor bir hale gelir.
IP Spoofing Tekniğinin Legal Kullanımı
Sahte IP paketlerinin tamamı kötü niyetli değildir. Web siteleri performans testi olarak, yüzlerce “Vusers” (sanal) kullanıcılar hatta binlerce oluşturulabilir, her test edilen Web sitesine karşı bir test komut dosyası yürütme,sistemi “live” gider ve çok sayıda kullanıcının en az bir kez oturum açtığında ne olacağını taklit eden simülasyon uygulamaları veyahut yük testi uygulamalarında kullanılabilir.
Diğer saldırı tekniklerinde ise genel olarak paketi ele geçirmek veya paketin içeriğini okumak odaklıdır ve bu durum daha tehlikeli sonuçlar doğurabilir. Genel iletişim metotlarında bir paketin birden fazla başlığı bulunmaktadır. Çoğu paketin ise en az 3 veya daha fazla başlığı bulunabilir. Bu başlıklarda IP üst bilgisi, kaynak ve hedef IP adresleri gibi paketin hangi protokolü kullandığı gösterilmektedir.
TCP paketlerinin üstbilgisinde yer alan bağlantı noktası ve numarası gibi bilgiler de bulunmaktadır. Aynı zamanda Ethernet başlıklarında kaynak ve hedef için MAC adresi gibi özel bilgilere de yer verilmektedir. Güvenli iletişim protokollerinde de özel bir başlık konulur. Örnek olarak bir paket güvenlik (Örnek TLS) için şifrelenmişse bir TLS başlığına sahip olmalıdır.
Not: Bir sonraki makalemiz Ağ Güvenliği ve IP Adresleri ile devam edeceğiz.
Yazar: Hamza Şamlıoğlu