dc.description.abstract | Dağıtık Hizmet Engelleme (DDoS) saldırı tespiti, siber savunma alanında zorlu bir konudur. Bu tür bir saldırının erken aşamalarda tespiti yararlı olabilir. Bu tezde, DDoS ataklarında kullanılan kaynakları tespit etmek için Destek Vektör Makinesi (SVM) sınıflandırma yöntemini kullanarak entropi tabanlı bir algılama çerçevesi öneriyoruz.Bu yöntem, bir Denial of Service (DoS) saldırısının bir DDoS botnet saldırısında yer alan kaynak cihazlarda ilerlemesini önleyebilir. Bir Android cihazdan giden paketleri arayarak, önerilen çerçeve belirli bir zaman penceresinde paket özelliklerini ayıklamak için önerdi. Bir kullanıcının normal ve anormal ağ davranışları kaydedilir ve SVM algoritması kullanılarak analiz edilir. Elde edilen model, zararlı faaliyetler için bir tespit sistemi olarak kullanılacaktır.DDoS saldırısı, karlılıkları hizmet kullanılabilirliğine bağlı olan şirketler için bir tehlike türüdür. DDoS'un tespiti son 20 yılda bilgi güvenliği için ciddi bir konu haline geldi. DDoS, sunucuların kaynaklarını tüketmek için Internet'in protokollerinin zayıflığını kullanır ve böylece meşru kullanıcılara hizmet etmelerini önler.Sunucular tarafında birçok izinsiz giriş tespit yöntemi uygulanmaktadır, ancak bu prosedür zaman alıcı ve pahalıdır ve meşru kullanıcılara cevap olarak gecikmeye neden olabilir. Bir DDoS botnet'inde, bir usta zombi cihazlarına aynı anda hareket etmelerini ve hedefe kötü niyetli paketler göndermelerini emrederek saldırıyı düzenler. Normal erişimin sunucu tarafındaki anormal durumdan ayırt edilmesi, gelen paketlerin çok fazla olması nedeniyle etkili olmayabilir.Botnet uygulaması, birkaç cihazı tehlikeye atarak bir saldırı ağı oluşturur. Ajanların çoğu, uygun İzinsiz Giriş Tespit Sistemleri (IDS) olmamasından dolayı DDoS saldırısına katılmasının farkında olmayabilir. Bu çalışmanın amacı kaynak cihazlarda DDoS faaliyetlerini tespit etmektir. Uç nokta sistemlerindeki anormal faaliyetler ağ davranışları analiz edilerek tespit edilebilir.Tespit teknikleri, uygulama maliyetine ve tespit hızına bağlı olarak değişebilir. DDoS saldırıları, mağdurlara makine kaynaklarını kısa sürede tüketebilir. Böylece, anında algılama, mağdurun tıkanmasını önleyebilir. İşleme aşaması, saldırının ilerlemesini önleyecek kadar hızlı olmalıdır. Bu faktör, tespit prosedüründe kullanılacak üstün bir parametreye ihtiyaç duyar. Bu tez, bir sınıflandırma modeli elde etmek için makine öğrenme yöntemlerini kullanan bir entropi tabanlı algılama çerçevesi önermektedir.Bu tezin amacı, DDoS saldırılarında kullanılan kaynak cihazları tespit etmektir. Bu yöntem, DDoS saldırılarına bağlı anomalileri tespit etmek için uç nokta sistemlerinde uygulanabilir. Botnet'lerde, bir botmaster savunmasız cihazları bulmak için belirli bir ağı tarar ve bunlardan ödün verir. Seçilen saldırı stratejisine dayanarak, köle cihazları bir hedefe yönelik koordineli bir DDoS saldırısına katılır. Cihazlardaki anormal aktiviteleri tespit etmek için, denetimli bir makine öğrenme modeli kullanarak entropi tabanlı bir tespit yöntemi öneriyoruz. Buna göre, önerilen sistem anormal davranışı tanımlamak için bir cihazdan giden ağ trafiğini analiz eder.Bu tezde Android cihazlarda TCP SYN saldırı tespiti ele alınacaktır. Bununla birlikte, aynı yöntem UDP sel ve ICMP sel için de optimize edilebilir. TCP taşkınında bir saldırgan, belirli bir kurbana sürekli olarak önemli miktarda TCP SYN paketi gönderir. Hedef sunucu, istemciye SYN + ACK paketi göndererek yanıt verir ve son el sıkışması olan ACK paketini bekler. Yarı açık bağlantılar sonunda sunucunun kaynaklarını tüketecektir. Üç ana DDoS saldırı senaryosu vardır: Sabit hız saldırısı, artan hız saldırısı ve pulsing saldırısı.Bir cihazın ağ faaliyetlerini analiz etmek için bir Android cihazın ağ paketlerinin yakalanması gerekir. Bu tür cihazlarda yüksek ayrıcalık erişiminin yetersiz olması nedeniyle, paketler doğrudan ağ arayüzünden yakalanamadı. Bu nedenle, istemci cihazında bir Sanal Özel Ağ (VPN) kurulması gerekir. Paketler VPN sunucusuna yönlendirilirken, paket başlıkları yakalanabilir. VPN sunucusu, istemci portundan gelen paketleri sunucunun ağ arayüzüne gönderir ve cevabı istemciye yönlendirir. Bu şekilde, müşterinin trafik bilgisine hem müşterinin hem de sunucunun tarafında erişilebilir. Android kullanıcısı, bir kullanıcı adı ve kayıt aşamasında verilen bir şifre kullanılarak VPN programına giriş yapacaktır.VPN sunucusuna bir bağlantı kurulduktan sonra, saldırı tespit prosedüründe pratik olan bazı paket başlık alanlarından bazıları aşağıdaki şekilde kaydedilecektir: Günün zaman damgası (saniye olarak), Hedef IP, Hedef Bağlantı Noktası, İletim Protokolü ve Bayrak, Paket Uzunluğu .Göz önünde bulundurulması gereken bir nokta, kaynak IP yerine, verilen kullanıcı adının cihazın log tanımlayıcısı olarak kaydedileceğidir.Ağ paketlerinin tek tek analiz edilmesi, fazla miktarda trafik çekmesi nedeniyle mümkün değildir. Bu nedenle,özellik çıkarma modülü paketleri T sabit bir zaman penceresi kullanarak toplar. Bir TCP saldırısını algılamak için, paketler protokol türlerine ve bayraklarına göre kategorilere ayrılır. Paket başlık alanlarının entropisi, cihazların ağ davranışının analizinde yardımcı olabilir.Dağılımların rastgelelik derecesi, entropi, özellik seçimi bileşeni için ölçüm ölçüsü olarak kullanılacaktır.Paketlerin sayısı bir zaman penceresinde değişebildiğinden, normalize edilmiş entropinin karşılaştırılabilir bir metriğe sahip olması için kullanılması gerekir.Hedef IP'nin normalleştirilmiş entropisi ve seçilen paketlerin portu hesaplanabilir. Ayrıca, SYN paketlerinin iletim hızı N/ olarak hesaplanacaktır. Bu üç parametre bir android cihazda bir ağın normal ve anormal aktivite profilini belirlemek için kullanılacaktır. Tüm SYN paketleri için paket uzunluğunun eşit olduğunu ve standart sapmanın sıfır olacağını belirtmekte fayda var, bu nedenle bu özellik analiz bileşeninde kullanılacak ayırıcı bir parametre olamaz. Bu özellik değerleriyle birlikte en çok istenen hedef IP adresi, port numarası ve oluşum yüzdesi kaydedilecektir. Bu bilgileri kullanarak, hangi IP adreslerinin DDoS saldırısı altında olduğunu onaylayabiliriz.DoS saldırı davranışına dayanarak, entropi değerleri spesifik olabilir. DoS saldırısının yaygın bir senaryosu olarak, saldırgan sabit bir hedef IP ve port numarasına odaklanır ve TCP paketlerini belirli bir oranda gönderir. Saldırı sırasında, hedef IP ve port numarasının normalleştirilmiş entropisi için beklenen değerler düşük olacak ve iletim hızı özellik değeri daha yüksek olacaktır. Ancak, normal trafik için bu değerler değişebilir ve algılama için tam eşiği bilmek pratik değildir. Bu nedenle, normal ve saldırı verilerini sınıflandırmak için bir makine öğrenme yöntemi uygulanmalıdır.`Makine Öğrenmesi` bileşeninde, kullanıcının normal ve anormal davranış modelini elde etmemiz gerekir. Özellik çıkarma modülünden elde edilen verileri kullanarak sistemi eğitiyoruz. Bir Destek Modeli oluşturmak için Destek Vektör Makinesi (SVM) kullanılır. SVM, regresyon ve sınıflandırma problemleri için kullanılabilecek denetimli bir algoritmadır.Sınıflandırılması gereken sadece iki küme vardır: normal ve saldırı. Makine öğrenme modelimizi eğitmek için, kullanıcının davranışını temel alan eğitim veri setini ve etiket girdilerini ikili biçimde hazırlamamız gerekir.Bir Android kullanıcısının normal ağ etkinlikleri yakalandı ve bu süre zarfında devam eden bir saldırı olmamasını sağladı. Toplanan normal verilerde özellik çıkarma işleminden sonra, girişler normal olan, sıfır olan etiketlenir.Kötü amaçlı paketler kullanıcının ağına enjekte edilmiştir ve özellik seti edinilecektir. Özellik değerleri, bir saldırı olarak etiketlenecektir.Test veri seti ayrıca doğru etiketleme ile eğitim veri seti ile aynı şekilde toplanabilir ve modeli test etmek için kullanılabilir.Ağ paketlerini yakalamak için sırasıyla Java ve C++ 'da bir Android VPN istemci uygulaması ve bir VPN sunucu programı uygulanmaktadır. Android uygulaması, cihaz ile VPN Sunucusu arasında Sanal Özel Ağ oluşturmak için VPN servisini kullanır. Diğer tarafta, VPN sunucusu gelen paketleri mobil cihazdan ağ arayüzüne yönlendirir ve yanıtı istemciye gönderir. Bu arada, paketler sunucudan ayrılmadan önce yakalanabilir ve veritabanı sunucusunun dosya sistemine kaydedilebilir.Bir Android cihazının ağ etkinliklerini yakalamak için, bir kullanıcı belirtilen bir IP adresini, port numarasını ve giriş bilgilerini kullanarak VPN programına giriş yapmalıdır. Kullanıcı İnternette gezinmeye başladığında, Android cihazındaki VPN portundan giden ağ paketlerinin IP başlığı bilgileri yakalanacaktır.VPN sunucusundaki müşteri portundan gelen paketlerin başlık bilgisi günlük olarak her kullanıcı için virgülle ayrılmış bir dosyaya kaydedilir.DoS saldırı davranışını simüle etmek için, saldırı senaryolarını uygulayan `Paket Gönderen` adlı bir Android uygulaması oluşturduk. Hedef IP adresini ve port numarasını, saldırı süresini, türünü (sabit, artan, pulsing) ve giriş olarak değerlendiriyor. TCP SYN paketlerini, seçilen senaryoda göre [25,50] pps aralığında değişebilen, seçilen orandaki hedefe sürekli gönderir. Paketler yakalanırken, kullanıcı paket gönderen programını açar ve belirli bir IP ve port numarası seçerek, kurbana, belirlenen saldırı oranına göre seçilen senaryoya göre saldırır.Özellik çıkarma modülü Python'da uygulanır. Hedef bir IP ve port entropisini ve belirli bir zaman aralığında iletim hızıyla birlikte hesaplar. Pencerenin özellik değerleri ve en çok istenen hedef bilgileri eğitim ve test dosyalarına yazılacaktır. Bu testte, zaman penceresi değeri göz önünde bulundurulur, T = 2 saniye. Ayarlanan özellik değerleri, `Paket Gönderen` uygulamasında en çok talep edilen IP seçilen hedef IP ise saldırı olarak etiketlenir. Saldırı simülasyonunda en çok talep edilen IP hedef IP değilse, diğer özellik değeri kümeleri normal olarak adlandırılır.Machine Learning modülü ayrıca Python'da Spyder yazılımı kullanılarak açık bir şekilde tanıtılmak üzere yazılmıştır. Sistemi modellemek için Scikit-learn kütüphanesinin SVM yöntemini kullanır. Doğrusal Çekirdek Destek Vektör Sınıflandırması (SVC) Algoritması, sınıflandırma metodu olarak kullanılır. Program, eğitim verilerine göre SVM Modeline uyacaktır.Eğitim verilerini sınıflandırmak için iki yaklaşım kullanılmaktadır. İlk senaryoda, verileri sınıflandırmak için veri kümesinin üç özelliğini kullanır. İkinci yaklaşım olarak, özellik sayısını ikiye indirmek için Temel Bileşen Algoritmasını (PCA) kullanır. | |