Siber Güvenlik Notları
Özetle ağ ve web güvenliği
Ağların, programların ve verilerin saldırı, hasar veya yetkisiz erişime karşı korunması için kullanılan önleyici tekniklerdir.
KİŞİSEL VERİ KAVRAMI
Tanımlanan bilen yaşayan bir kişiye ait olan tüm verilerdir.
Bireyin adı ve soyadı, doğum tarihi, doğum yeri gibi kişinin kesin teşhisini sağlayan bilgiler, bu bilgilere telefon numarası, arabasının plakası, pasaport numarası veya fiziki, ailevi, ekonomik durumları da eklenebilir. Buradaki kıstas mevcut bilgilerinin bir gerçek kişi ile eşlenebilmesi veya tanımlanabilmesi durumudur.
KURUMSAL VERİ KAVRAMI
Kurumların merkezi özelliklerini, iç yapılarını, süreçlerini ve farklı sosyal ve ekonomik bağlamlarda kurumsal aktörler olarak davranışlarını tanımlar.
Kurumların kurumlarına ait verilerini koruyamaması, kurumların büyüklüklerine göre önemini arttırmaktadır.
Kurumsal Verinin Önemi şirketler için hayatı bir önem taşımaktadır.
Kurumsal veri kaybı, şirketler ve müşterileri için de ciddi finansal kayıplara neden olabilir. Bu nedenle işletmeler verilerini korumak için çok dikkatli olmalı, etkili veri modelleme, çözüm, güvenlik ve depolama alanlarında, zaman ve kaynak harcalamalıdırlar.
Kurum içerisinde bilgi güvenliği politikalarına rehberlik etmek için tasarlanmış bir modeldir.
•Confidentiality (Gizlilik)
•Integrity (Bütünlük)
•Availability (Kullanılabilirlik)
1.Confidentiality (Gizlilik): Verinin mahremiyetinin korunmasını sağlamaktadır. Verinin korunumu sağlamak için belirli kategorilere ayrılabilir (kurumsal, müşteri verileri, İK gibi…) bu sayede her verinin erişimi verinin gizliliğine göre sınıflandırılır ve gizliliğe göre tedbir alınır.
Gizliliği sağlamak için bir bilgisayara, ağ’a veritabanına veya diğer veri kaynaklarına yetkisiz erişimi engelleyen, bir dizi koruma şeması tanımlanır, bu şemaya ise erişim kontrolü denilmektedir.
Erişim Kontrolü: AAA Konsepti 3 aşamadan oluşmaktadır.
•Authentication (Kimlik Doğrulama)
•Authorization (Yetkilendirme)
Accounting (Aktivite İzlenmesi)
2.Integrity (Bütünlük): Verinin tüm yaşam döngüsü boyunca tutarlılığını ve güvenilirliğini korumayı içerir.
Bu ihtiyaç kurumlara göre değişmektedir. Bankalar müşterilerinin veri tutarlığına en çok önem veren şirketlerden biridir.
Örnek: Facebook için kullanıcılarının veri tutarlılığı önemli değil.
Örnek: Bir verinin bir yerden bir yere aktarımı hash kontrolü.
3.Availability (Kullanılabilirlik): Bilgi sistemlerinin ve hizmetlerin her zaman kullanılabilirliğini sağlamak.
•Bankalar
•Veri Merkezleri (Sunucular)
•Telekomünikasyon Şirketleri
•Çağrı Merkezleri
- Devlet Daireleri
HACKER TÜRLERİ
Siyah şapkalı hackerlar: Popüler medyanın üzerinde yoğunlaştığı hackerlara da denilebilir. Televizyonlarda duyduğumuz, hack haberlerinin sahipleri de denilebilir.
Siyah Şapkalı Hackerlar kişisel kazançlar için bilgisayarların veya ağların güvenliğini ihlal ederler.
Örnek: Kredi kartı numaralarının çalınımı, kimlik hırsızlığı için kişisel verilerin çalınımı veya bir Botnet ağı yaratarak bazı sunucuları etkisiz hale getiriyorlar, veya yine sunucuları etkisiz hale getirebilmek için DDOS atakları yapabiliyorlar.
Gri Şapkalı Hackerlar: Sistemlerdeki açıkları yine Siyah şapkalı hackerlardaki gibi kendi amaçları için kullanırlar.
İnandıkları amaçlar ve siyasi konular için hack yapabilirler. Siyah şapka veya Beyaz Şapka arasında bir yerde yer alırlar.
İyi olan yaptıkları şeyler olduğu gibi kendi çıkarları için yaptıkları şeylerde vardır.
Beyaz Şapkalı Hackerlar: Kötü adam değillerdir diyebiliriz. J
Kişilere veya kurumlara zararları yoktur. Hatta bazıları şirketlerin güvenlik açıklarını önceden bularak şirketlere bildirir. Bu sayede olası hack olaylarının önüne geçmiş olur.
Bazı Beyaz Şapkalı Hackerlar; şirketlerin güvenlik bölümünde çalışırlar.
Tarihte kimi siyah şapkalı hackerların yakalandıktan veya ceza aldıktan sonra şirketlere veya devlete güvenlik uzmanı olarak çalıştıkları görülmüştür
Tehdit Türleri
•İç Tehditler
•Dış Tehditler
Şirketler iç ve dış siber saldırıların her ikisini de dikkate almak zorundadır. Dışardan yapılan saldırılar ile sunucuya erişip, yazılımın kaynak kodları veya sunucuda bulunan veri tabanına ulaşmak veya şirket içi önemli bilgilerinin çalınması, dış tehdit olarak adlandırılabilir.
İç tehditleri; incelediğimizde ise şirket içi kullanıcıların kullanıcı hesapları çalınması, kötü niyetli çalışanların veriyi dışarıya sızdırmak istemesi, veya Kızgın Çalışanlar İç Tehditlere örnektir.
SİBER SALDIRI NASIL ANALİZ EDİLİR
- Doğrulanmış Girdi
- Race Durumları
- Güvenlik Uygulamalarındaki Zafiyetler
- Erişim Kontrol Problemleri
- Buffer Taşması
MALWARE ÇEŞİTLERİ
Malicious Software: Virüsler, solucanlar, turuva atları, casus yazılımları, reklamlar, tehtidkar yazılımlar, programları izinsiz, şifreleyen yazılımlar, kötü niyetli yazılımların tümü.
Örnek: Bitcoin Mining Virüsleri
SIZMA YÖNTEMLERİ
• Sosyal Mühendislik • Parola Keşfetme / Kırma (Kablosuz Ağlar) • Phishing (Oltalama) • Zafiyet taramasından faydalanma
Hizmeti kesintiye uğratan saldırı tipleri
- DoS • DDoS (Distributed DOS) • SEO Poisoning
VERİYİ KORUMAK
Son kullanıcı cihazlarında ki veriyi korumak için; • Firewall Cihazınızı Aktif Tutun. • Bir Anti-virüs yazılımı (endpoint protection) kullanın. • İşletim Sistemlerinizi Güncel Tutun.
AĞ GÜVENLİĞİ
Firewall
FireWall bizleri internet ağından gelebilecek tehlikelerden korumaktadır. Güvenlik Duvarının çalışma mantığı paket geçişlerine dayanmaktadır. Zararlı olmayan bir paketin geçmesine izin verir zararlı olan paketleri de bloklar.
Güvenlik Duvarları ağ trafiğini denetler iç ve dış saldırılardan korur.
Güvenlik Duvarı çeşitleri yapılarına ve mimarilerine göre ikiye ayrılmaktadır..
Yapılarına göre Güvenlik Duvarları: Yazılımsal ve Donanımsal olarak 2’ye ayrılmaktadır..
Donanımsal Güvenlik Duvarları: Donanımsal güvenlik duvarları bir donanıma bağlı olarak gelmektedir. Bu güvenlik duvarlarına modem, router vb. örnekler verilebilir.
Yazılımsal Güvenlik Duvarları: Bilgisayar ve çeşitli cihazlara manuel olarak kurulan, güvenli duvarı yazılımlarıdır. Norton, McAffee gibi güvenlik yazılımları örnek olarak gösterilebilir.
Mimarilerine göre Güvenlik Duvarları 4’e ayrılmaktadır.
•Proxy Destekli
•Devre Seviyesi
•Statik Paket Filtreleme
- Dinamik Paket Filtreleme
Proxy Destekli Güvenlik Duvarları: Proxy destekli güvenlik duvarları işlem başlangıç ve hedef arasında olmaktadır. Sistemi açmak isteyen bir kullanıcı güvenlik duvarına iletilir ve güvenlik duvarı bu iletiyi algıladığı zaman istediğini gerçekleştirir, yani paket bu şekilde başarılı bir şekilde gönderilmiş olur.
Proxy destekli güvenlik duvarları kullanılırken ftp vb. yerlere ulaşım sıkıntısı çekilebilir bu durum uptime oranının değişkenliğindendir. Proxy destekli güvenlik duvarlarını büyük şirketler kullanmaktadır ve güvenlidirler
Devre Seviyesi Güvenlik Duvarı: Seçici olarak adlandırılabilirler. Bu tip güvenlik duvarları bir talep doğrultusunda çalışmaktadır.
Devre Seviyesi Güvenlik Duvarının asıl amacı; bir paketin talep doğrultusunda geçip geçmemesidir. Bu durumdan dolayı bu güvenlik duvarı seçici güvenlik duvarı olarak ta adlandırılmaktadır.
Statik Paket Filtreleme Güvenlik Duvarı: Statik paket filtreleme TCP/UDP kontrollerinden oluşmaktadır. Kontrolierden gelen trafiği kontrol eder ve aşırı yüksekte bir yoğunluk yoksa paketi kabul eder
. Eğer aşırı bir şekilde yoğunluk var ise, paket geçişine izin vermez. Statik paket filtrelemede port bilgileri ve IP bilgileri saklanmaktadır. Böylece neyin ne olduğu açıkça görülmektedir. Statik paket filtreleme seçeneği genellikle
Ethernet türü modemlerde görülmektedir. Fakat bazı firmalar USB modem ve router’larda da bu filtreleme yöntemini kullanmaktadır. Statik paket filtrefeme yöntemleri, en çok tercih edilen filtreleme yöntemlerinden biridir.
Dinamik Paket Filtreleme Güvenlik Duvarı: Ek özellik olarak takip etme özelliği bulunmaktadır.
Dinamik paket filtreleme, daha çok büyük şirketlerde kullanılmaktadır. Bu sayede şirket bilgisayarlarının verilerini takip edebilmektelerdir. Dinamik paket filtreleme kişisel bilgisayarlarda fazla görülmemektedir. Dinamik paket filtreleme yöntemi TCP protokolüne göre çalışmaktadır.
AĞ SALDIRILARI VE AĞ SALDIRI TÜRLERİ
Arp Spoof: Arp Aldatmaları veya Arp Saldırıları; ağ saldırına örnek olarak gösterilebilir. Aşağıdaki saldırılar Arp saldırılarına örnek olarak verilebilir.
•DOS attack (Denial Of Service)
•MITM (Man in the Middle Attack)
- SSL Strip
ARP NEDİR?
ARP (Address Resolution Protocol): Bir yerel ağda Ethernet arayüzüne sahip ağ kartları; kendi aralarında haberleşmek için 48 bitlik MAC adreslerini kullanırlar. Ancak TCP/IP protokolü haberleşmek için 32 bitlik IP adresini kullanır.
Yerel ağda IP adresleri bilinen ancak MAC adresi bilinmeyen cihazların tespit edilmesi için ARP yani Adres Çözümleme Protokolü kullanılmaktadır.
Adres Çözümleme Protokolü’nün İşleyişi
Yerel ağda IP adresi bilinen ancak MAC adresi bilinmeyen bir cihazın MAC adresinin öğrenilmesi için brodcast yayını yapılır.
Yani ana makineden ağdaki tüm makinelere bir mesaj gönderir bu mesajda 3 bilgi bulunur.
•Mesajı gönderen cihazın IP adresi.
- Mesajı gönderen cihazın MAC adresi.
- MAC adresi öğrenilmek istenen cihazın IP adresi.
ARP Poisoning
Aynı Network üzerinde bulunan hacker ağ üzerinde Arp Zehirlemesi yaparken network’ü kullanan bilgisayarlara çeşitli paketler göndererek, gateway’in artık kendi olduğunu belirtir ve bu sayede arp zehirlemesi yaptığı cihazların trafiğini dinler.
Bu işlemler yine önceki slaytlarda bahsettiğimiz gibi Kali Linux ve dinlediğimiz veriyi yordamlayabileceğimiz WireShark sayesinde gerçekleşir.
Man in the Middle: Ortadaki Adam Saldırısı
•Man-in-the-middle attack ( Aradaki adam saldırısı veya Ortadaki adam saldırısı), bir network üzerinde kurban bilgisayar ile diğer ağ araçları (yönlendirici, switch, modem ya da server gibi) arasına girerek verileri yakalama ve şifrelenmemiş verileri görebilme ilkesine dayanan bir saldırı çeşididir.
- Ağ üzerinde veri paketleri serbestçe dolaşır. Özellikle brodcast olarak salınan paketler, aynı ağa bağlı tüm cihazlar tarafından görülebilir. İlkesel olarak hedefinde kendi IP’si olmayan bir paketi alan makineler, bu paketlerle ilgili herhangi bir işlem yapmamaları gerekir. Ancak istenirse bu paketlere müdahale edebilir ya da içeriğini öğrenebilirler. Aradaki adam saldırısı ağ üzerindeki paketleri yakalayarak manipüle etmek olarak özetlenebilir.
Korunma yöntemi ortak ağlarda HTTPS gibi şifrelenmiş protokoller üzerinden veri akışının sağlanması.
WireShark Nedir?
Windows, Linux, MacOS veya Solaris gibi birçok işletim sisteminde çalışabilen ve bilgisayara bağlı olan ağ kartlarına gelip giden tüm trafiği analiz edebilen bir programdır.
750'nin üzerinde protokolü analiz edebilir Paketleri yakalayıp bir dosyaya kaydedebilir.
Dos DDos Saldırıları
Denial of Service, internete bağlı bir hostun hizmetlerini geçici veya süresiz olarak aksatarak, bir makinenin veya ağ kaynaklarının asıl kullanıcılar tarafından ulaşılamamasını hedefleyen bir siber saldırıdır.
DoS (Denial of Service) saldırıları internete bağlı bir bilgisayarın sunmuş olduğu hizmetleri aksatma ya da kaynaklarını tüketerek çalışmasını durdurmak için yapılan en popüler ve tehlikeli saldırı türlerinden biridir. Servis dışı bırakma saldırısı olarak adlandırılır. //başka bir tanım.
DDOs
DDoS (Distrubuted Denial of Service Attack), yani Dağıtık Hizmet Engelleme şeklinde Türkçeye çevrilen bu saldırı tipinde, sunuculara yönelik anlık ve çok ciddi derecede bir yoğunluk oluşturularak kaynak tüketiminin doruk noktalara çıkarılması hedeflenir. Saldırganın birden fazla ve hatta binlerce benzersiz IP adresi kullanarak saniyede terabit boyutlarında veriyi göndermesine imkân veren bir siber saldırı türüdür. Genel itibarıyla ele geçirilmiş olan milyonlarca IP adresi, bu yapay trafikleri oluşturmak için çok daha yaygın olarak kullanılır. Siber saldırı modeli olarak dikkat çeken DDoS, hacker’lar tarafından oluşturulan botnet ağları yardımı ile yapılır. Sunucularda da ciddi açıklar verilmesini sağlayan saldırı tiplerinden biridir.
SSL Strip Nedir?
Kısaca HTTPS protokollü bağlantıların HTTP Protokolüne dönüştürülmesi. HTTP bağlantılar’da yapılan istekler şifrelenmeden sunucuya iletilir. Bu durum bu gibi bağlantılardan trafiğin dinlenebilmesine olanak sağlar.
Bağlantıların dinlenilmesinin önüne geçebilmek için dijital sertifikalar aracılığıyla SSL/TLS protokolü ile trafik şifreli bir hale getirilir. Trafiğinizi dinleyen kişinin şifrelenmiş uygulama katmanı seviyesindeki data içeriğini iki uç arasındaki haberleşmede kullanılan ortak anahtarın bulmasıyla çözebilir.
Genellikle bunu yapmak zor ve zahmetlidir. Bu sebeple uygulanması daha basit sslstrip yöntemi kullanılır. Strip kelime anlamıyla soymak anlamına gelmektedir. Bu kelimeden SSLStrip’in amacını da anlayabilirsiniz.
SSLtrip araçlarının temel olarak yaptığı iş bir HTTPS trafiği gördüğünde bunu HTTP’li hale getirmektir.
DNS Spoofing Nedir?
Dns Spoofing, yerel ağ saldırılarında kullanılan en yaygın yöntemlerden birisidir. Dns spoofing ile bir hacker saldırgan, kurbanı farklı sayfaya yönlendirebilir.
Kısacası localde çalışan bir dns saldırısı veya phishing saldırısıda diyebiliriz.
DNS Spoofing saldırısı yapabilmek için Kali Linux İşletim Sistemi ve EtterCap yazılımı bize yardımcı olacaktır.
Ağ Virüsleri
Ağ virüsleri yerel veya internet ağı üzerinde hızlıca yayılabilen virüslere verilen isimdir. Asıl hedefleri ağ üzerindeki belli hedeflere ulaşana dek yayılmaktır.
Bu virüs kategorisinde tarihte en çok nam salmış iki virüs Nimda ve SQLSammer’dır.
Ayrıca Virüs oluşturmak ile ilgilenenler .Bat formatlı virüsleri ve TeraBIT Virus Maker gibi yazılımları inceleyebilirler.
DrifNet Yazılımı
DriftNet yazılımı için ufak bir ağ dinleme yazılımı denilebilir. DriftNet’in özelliği hedef belirlenmiş kurbanın ziyaret ettiği sitelerdeki her türlü görselin bir kopyasını bize vermesidir.
Bu işlemi daha önce bahsettiğimiz WireShark yazılımıylada yapabiliriz fakat bu yazılım daha kolay ve spesifiktir.
Web Uygulamaları ve Güvenlik
Eski veya yeni fark etmeden, günümüze kadar geliştirilen web uygulamalarında mutlaka açıklar bulunmaktadır. Bilgisayar ortamında güvenlik açığı olmadan bir uygulama geliştirmek henüz mümkün olmamıştır.
Web tabanlı uygulamalar internette veya local bir ağda yayınlanmadan önce mutlaka oluşabilecek hatalara karşı analiz edilmeli ve test sürecinden geçmelidir.
Gerekirse test aşamasında Alfa veya Beta sürümleri yayınlanabilir.
Google’ın gmail, mail uygulamasının yıllarca beta sürümünde kalmasının nedenlerinden biri uygulamayı kullanan kişilerin tamamlanmamış beta yazılımın çıkabilecek sorunları kabul ederek kullanması gibi…
Web tabanlı olan uygulama ve web sitelerinde yazılımlar hiçbir zaman tamamen güvenli denilemez ne kadar güvenlik üst seviyelere getirilse de her zaman bir güvenlik açığı oluşacaktır.
Bu durumun asıl nedeni yazılımların ve yazılım standartlarının sürekli gelişmesidir.
Web tabanlı bir yazılım veya web sitesinin güvenlik açıklarına karşı koruyabilmenin en verimli yolu yazılımın kodların, standartlara göre sürekli güncellenmesi ve çıkabilecek hatalara karşı sürekli olarak çeşitli penetrasyon testlerinden geçirilmesi gereklidir.
Web uygulamalarındaki Önemli Güvenlik Açıkları
Web uygulamalarındaki önemli ve popüler güvenlik açıkları aşağıdaki gibidir.
•Injection (SQL Injection, XML Injection, CSV Injection, Template Injection, Text Injection, Hyperlink Injection, HTTP Header Injection/HTTP Response Splitting, Command Injection, Code Injection, HTML Injection, Meta Tag Injection)
•Cross Site Scripting
•Cross Site Reference Forgery
•Remote File Include
•Hizmet Aksatma Yöntemleri
•Brute Force
SQL Injection Nedir?
Sql injection özet olarak querystringler ile sorgulara müdahalede bulunup veritabanına erişerek veritabanındaki bilgileri görüntülemek şeklinde açıklanabilir.
Bir kullanıcı giriş formunda kullanıcı ve şifrenin doğruluğunu şu şekilde kontrol ederiz:
select * from users where uname=’”uname”’ and pass=’”pass”’
Biz eğer sql injeciton kontrolü yapmadıysak username ve pass alanına ‘ OR ‘1’=’1 sql sorgusunu şu hale getirilerek yani %100 doğru olarak kabul ettirerek kolayca sistemdeki kullanıcı adı ve şifre bilgileri çalınabilir.
select * from users where username=’”uname’OR’1'=’1”’ and pass=’”pass’OR’1'=’1”’
Bu sorguda her 2 taraftada 1=1 olduğundan ve and koşulu sağlandığından tüm kullanıcı adı ve şifreler sorgu sonucu olarak çıkmaktadır.
Sql injecitondan kontrolünün php dilindeki en temel yöntemi mysql_real_escape_string fonksiyonudur.
Bu fonksiyon gelen değerden escape karakterleri (‘,/ vb.) temizleyerek web sitesini temel düzeyde sql injectionlara karşı korur.
XSS-Cross Side Scripting(Çapraz Kod Çalıştırma) Nedir?
Cross site scripting açığı, en çok POST ve GET metotlarının kullanılmış olduğu bölümlerde meydana gelmektedir. POST ve GET metotlarının kullanım alanlarına örnek verecek olursak; arama yapma alanları, galeri alanı, yorumlar gibi alanlarda meydana gelebilmektedir.
XSS (Cross Site Scripting) script kodları üzerinden (genelde javascript) bir web sayfasına saldırı yapılmasıdır.
XSS çoğunlukla tarayıcıda saklanan bilgiler olan cookielere saldırı amacı ile kullanılmaktadır.
Örnek bir XSS saldırı kodu aşağıdadır. Bu kodda bir arama sayfasında html filtrelemesi yapılmazsa olabilecekler öngörülmüştür.
<a href=”ornek.com/arama.php?deger=<script>alert(“XSS TEST!”)</script>”>XSS testi için tıklayınız</a>
XSS testi için tıklayınız yazısına tıklandığında sanki arama textine <script>alert(“XSS TEST!”)</script> yazısı yazılması sağlanmaktadır. Eğer sitede XSS açığı varsa ekranda javascript alerti ile XSS TEST! Yazar.
XSS ataklarından korunmak için ne yapmalıyız?
XSS ataklarından korunmak için yapılacak en basit önlem açık olan kısımda filtreleme uygulamaktır. Php dilini ele alırsak strip_tags fonksiyonu kullanılarak javascript ve html etiketleri filtrelenebilir.
File Inclusion Nedir?
File Inclusion, yani dosya dahil etme saldırısı saldırganın hedef web sitesine bir dosya dahil etmesine ya da hedef web sitesinin kendinde olan ama sunmadığı bir dosyayı görüntüleyebilmesine denir.
File Inclusion açıklığını kullanan iki tür saldırı vardır: Bunlardan birincisi Local File Inclusion diye adlandırılmaktadır, ikincisi ise Remote File Inclusion diye adlandırılmaktadır. Local File Inclusion saldırısı hedef sitenin barındığı sunucudaki ziyaretçilere sunulmamış dosyanın hedef site üzerinden görüntülenebilmesine denir. Remote File Inclusion saldırısı ise hedef siteye saldırganın kendi dosyasını görüntületmesine denir.
LFI (Local File Inclusion) : Yerelden dosya ekleyerek kod çalıştırmaktır.
RFI (Remote File Inclusion) : Uzaktan dosya ekleyerek kod çalıştırmaktır.
Bu konuda ayrıntılı bir yazım bulunmakta, inceleyebilirsiniz.
Kaynak: https://alicanhazir.com/siber-guvenlik-dersi/ sunumlarından aldığım notlar şeklinde hazırlanmıştır.