Saldırı Tespit Teknikleri ve Makine Öğrenmesi ile Saldırı Tespit Sistemi

 

1. Giriş

Ağ teknolojisi hızla arttıkça, bu teknolojinin güvenliği bir kuruluş için hayatta kalma ihtiyacı haline gelmiştir. Bilgisayar ve internet altyapı sistemleri bankacılık, finans, eğitim, sağlık, elektronik devlet uygulamaları gibi güvenlik yönünden kritik birçok sistemde yaygın bir şekilde kullanılmaktadır. Teknolojideki hızlı büyüme ve internetin yaygın kullanımı nedeniyle, sistemin kritik bilgileri ağlar içinde veya ağlar arasında güvenceye almak için birçok farklı sorunla karşılaşılır. Kritik bilgiler elde etmek veya zarar vermek amacıyla sistemlere saldıran milyonlarca kişi bulunmaktadır. Saldırı tespit ve önleme sistemleri, sistemin kritik bilgilerini koruyarak bu saldırılara karşı önemli bir rol oynar. Güvenlik duvarı ve anti virüsler sisteme tam koruma sağlamak için yeterli olmadığından, kuruluşlar kritik bilgilerini çeşitli saldırı türlerine karşı korumak için saldırı tespit ve önleme sistemlerini uygulamak zorundadırlar.

NIST, saldırıyı gizlilik, bütünlük ve erişilebilirlikten taviz vermek veya bir bilgisayarın, ağın güvenlik mekanizmalarını atlatmak için bir girişim olarak tanımlarken, saldırı tespit sistemini ise bir bilgisayar sisteminde veya ağda meydana gelen olayları izleme ve bunları analiz etme işlemi olarak tanımlar. [1] Özellikle, kablosuz ağlar son zamanlarda yaygın bir şekilde kullanılmakta ve saldırı düzenlemek kablolu ağlara göre daha kolaydır. Saldırı tespit sistemi (Intrusion Detection System), saldırı tespit sürecini otomatikleştiren yazılım veya donanım sistemidir. [1] Saldırı önleme sistemi (Intrusion Prevention System), saldırı tespit sistemine sahip olan ve olası olayları durdurmaya çalışan bir sistemdir.  [1] Bu yazıda saldırı tespit teknikleri ve gerçekleştirilen makine öğrenmesi tabanlı saldırı tespit sistemi uygulaması anlatılmaktadır.

Okumaya devam et “Saldırı Tespit Teknikleri ve Makine Öğrenmesi ile Saldırı Tespit Sistemi”

gRPC

gRPC yüksek performanslı, açık kaynak evrensel RPC (Remote Procedure Call) frameworktür. Google tarafından geliştirilmiştir. C++, Java, Python, Go, Ruby, C#, Node.js, Android, Objective-C ve Php dillerinde desteklenmektedir. Http/2 temellidir. Remote procedure call, istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlanmıştır.

gRPC ile bir  istemci uygulaması, sunucu uygulamasındaki metodu çağırabilir, istemci sunucu arasında haberleşme sağlanarak dağıtık uygulamalar ve servisler kolayca oluşturulabilir. Varsayılan olarak gRPC yapılandırılmış verileri serialize etmek için protocol buffer kullanır. Protocol buffer evrensel olarak serialization sağlar. gRPC protobuf üzerine kuruludur. gRPC REST’e göre daha hızlıdır. REST ve gRPC karşılaştırması için bu sunumu inceleyebilirsiniz. Çalışma yapısı resimde yer almaktadır. java server-client ve python client grpc uygulama örnekleri yapılarak yazıda anlatılmaktadır.

gRPC-1

Okumaya devam et “gRPC”

Python Matplotlib ile Veri Görselleştirme

Bu yazımda Python da Matplotlib kütüphanesi ile Data Visualization (Veri Görselleştirme) işlemini anlatacağım.Python Bilimsel(Scientific) programlama için oldukça uygun bir programlama dilidir.

Numpy, bilimsel çalışmalar için dizi tabanlı işlemlerde fazlaca kullanılan bir kütüphanedir.

Data Visualization işlemleri için Python’da  Altair, Bokeh, ggplot, Matplotlib, PyQtGraphSeabornVisPy gibi kütüphaneler kullanılır.

dogru

İlk olarak şekildeki gibi ışık yoğunluğu ve renk yoğunluna bağlı bir doğrusal grafik elde edilecek.

Okumaya devam et “Python Matplotlib ile Veri Görselleştirme”

Python SQLite Veritabanı Programlama

sqlite-python

Bu yazımda Python ile SQLite veritabanı kullanımını anlatacağım.

SQLite, Dünya’da en çok dağıtılan ve tavsiye edilen kaynak kodları halka açık C/C++ programlama dilleriyle geliştirilmiş bir veritabanıdır.  Diğer veritabanları gibi yazılım veya sunucu kurulumu gerektirmez birçok programlama dili ile kullanılabilir.

Python 3 sürümünde ile SQLite’ı Python’daki modüllerle içe aktarabilir ve kullanmaya başlayabilirsiniz. Okumaya devam et “Python SQLite Veritabanı Programlama”

Shell Scripting

shellscripting

Shell Scripting(Kabuk Programlama), programlama özellikleriyle istenilen programların yazılmasına olanak sağlar. Programı oluşturan komutlar bir dosyaya yazılır ve bu dosya çalıştırılır. Windows’ta .bat uzantılı Linux’ta ise genellikle .sh uzantılı dosyalardır.

Yazılacak script ne ile çalışılması isteniyorsa script dosyasının başına onun yolu belirtilmelidir.

Örneğimde bash ile çalışacağım için #!/bin/bash komutunu script dosyasının başına eklenmeli.

Bourne Shell ile çalışmış olsaydım #!/bin/sh komutunu ekleyecektim. Okumaya devam et “Shell Scripting”

RSA Şifreleme Algoritması

Kriptoloji

haber-10-940

Şifreleme Algoritmaları (Encryption Algorithms)

Kriptoloji şifreleme bilimidir. Çeşitli iletilerin, verilerin belirli bir sisteme göre şifrelenmesi, bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifre edilmesidir. Kriptoloji; askeri kurumlardan, kişiler arası veya devlet kurumları arasındaki iletişimden, sistemlerdeki güvenlik boşluklarına kadar tüm dallarla alakalıdır.

Şifreleme Algoritmalarında 2 çeşit şifreleme algoritması bulunur. Simetrik ve Asimetrik şifreleme algoritmaları. Ben bu yazımda Asimetrik RSA şifreleme algoritmasını anlatacağım. Okumaya devam et “RSA Şifreleme Algoritması”