Bilgisayar ve Ağ Güvenliği
Bölüm 1. Giriş
Ders bilgileri
Öğretim üyesi: Doç. Dr. Suat Özdemir E-posta: suatozdemir@gazi.edu.tr
Websayfası:
w3.gazi.edu.tr/~suatozdemir/teaching/cns
Bütün duyuru, ödev, vb. için ders web sayfasını haftada en az bir kez kontrol
etmelisiniz
Ders Bilgileri
§ Notlandırma
– Ders web sayfasında
§ Ders kitabı:
– Network Security Essentials: Applications and Standards, 6th Ed., William Stallings, Pearson.
§ Kaynak kitaplar:
– Cryptography and Network Security: Principles and Practice, 7th Ed., William Stallings, Pearson.
Ders Bilgileri
§ İş yükü:
– Haftalık okuma ödevleri (6-7 tane)
• 1 sayfalık özet çıkartılıyor – Uygulama ödevleri (1-3 tane) – Vize
– Dönem Projesi
• Kodlama – Final
§ Haftalık yaklaşık 4-5 saat zaman ayrılması gerekiyor
Dersin Amacı
§ Bilgisayar ve Ağ güvenliğinin temel konularını öğrenmek
§ Bu konularda uygulama geliştirebilmek
Ders içeriği
1. Introduction
2. Symmetric Encryption and Message Confidentiality
3. Public-Key Cryptography and Message Authentication 4. Key Distribution and User Authentication
5. Transport-Level Security 6. Wireless Network Security 7. Electronic Mail Security 8. IP Security
9. Intruders
10. Malicious Software 11. Firewalls
Bilgisayar Güvenliği
§ NISTComputer Security Handbook a göre Bilgisayar Güvenliği tanımı
§ Bilgi sistemi kaynaklarının (donanım, yazılım, bilgi / veri ve telekomünikasyon dahil) bütünlüğünü, kullanılabilirliğini ve gizliliğini korumak adına otomatik bilgi sistemine tanınan her türlü koruma.
Bilgisayar Güvenliği Amaçları
§ Gizlilik (Confidentiality)
– Veri gizliliği (Data confidentiality) - Özel veya gizli bilginin yetkisiz kişilere açıklanmadığını veya ifşa edilmediğini güvence altına alır – Gizlilik (Privacy) - Bireylerin kendileri ile ilgili hangi bilginin
toplanabileceğini ve saklanabileceğini ve hangi bilgilerin kime ve kimin tarafından ifşa edileceğini kontrol etmesini ya da etkilemesini sağlar.
§ Bütünlük (Integrity)
– Veri bütünlüğü (Data Integrity) - Bilgi ve programların yalnızca belirli ve yetkili bir şekilde değiştirildiğinden emin olmak
– Sistem bütünlüğü (System Integrity) - Bir sistemin amaçlanan işlevini, sistemin kasti veya yanlışlıkla yetkisiz olarak değiştirilmeden
bozulmamış bir biçimde yerine getirdiğini garanti eder
§ Erişilebilirlik (Availability)
– Sistemlerin anlık çalışmasını ve hizmetin yetkili kullanıcılar tarafından reddedilmemesini sağlar
CIA Üçlemesi
§ Otantiklik (Authenticity) – Kullanıcıların söylediklerini doğrulamak ve sisteme gelen her girişin güvenilir bir kaynaktan geldiğinde dair doğrulamak
§ Sorumluluk (Accountability) – Takip edilebilirlik, yapılan aksiyonların rededilemesi
Figure 1.1 Essential Network and Computer Security Requirements
Data and services
Availability
Integrity Accountability
Authenticity Confidentiality
Bilgisayar Güvenliği Amaçları - Örnek
Gizlilik
Öğrenci notları. Sadece öğreci ailesi ve okul
yetkilileri görebiliri.
Family Educational Rights and Privacy Act (FERPA) tarafından garanti altında
Bütünlük
Hastanede tutulan sağlık kayıtları. Değişiklik olması ölümcül sonuçlara
yol açabilir.
Forum sayfasında yazılan yorumlar
Erişilebilirlik
Servisin kritiklik seviyesi arttıkça erişilebilirlik
ihtiyacı da artar
Üniversite websayfası
turkiye.gov.tr
Bilgisayar Güvenliği Zorlukları
§ Basit değildir
§ Güvenlik özelliklerine yönelik olası saldırılar dikkate alınmalıdır
§ Belirli hizmetleri sunmak için kullanılan prosedürler genellikle karşıt sezgiseldir
§ Çeşitli güvenlik mekanizmalarının nerede kullanılacağına karar vermek gereklidir
§ Sürekli izlemeyi gerektirir
§ Genellikle sonradan düşünülür
§ Güvenlik mekanizmaları genel olarak belirli bir algoritma veya protokolden daha fazlasını içerir
§ Güvenlik aslında bir saldırgan ile tasarımcı arasında bir fikir savaşıdır
§ Bir güvenlik arızası ortaya çıkıncaya kadar güvenlik yatırımından az kazanç algılanır
§ Güçlü güvenlik genellikle etkin ve kullanıcı dostu işlemler için bir engel olarak görülüyor
OSI Güvenlik Mimarisi
§ Bir kuruluşun güvenlik ihtiyaçlarını etkin bir şekilde
değerlendirmek ve güvenlik ürünleri ve politikaları belirlemek için, bilgisayar ve ağ güvenliği sorumlusu sistematik bir yola ihtiyaç duyar
§ ITU X.800, OSI Güvenlik Mimarisi, böyle bir sistematik yaklaşım ortaya koyar
OSI Güvenlik Mimarisi
§ Güvenlik saldırısı
– Bir kuruluşun sahip olduğu bilgilerin güvenliğini tehlikeye atan herhangi bir işlem
§ Güvenlik mekanizması
– Bir güvenlik atağını tespit etmek, önlemek veya kurtarmak için tasarlanmış bir süreç (ya da böyle bir işlemi içeren bir aygıt)
§ Güvenlik Servisi
– Veri işleme sistemlerinin güvenliğini ve bir organizasyonun bilgi aktarımını geliştiren bir işleme veya iletişim hizmeti
– Güvenlik saldırılarına karşı koymayı amaçlar ve hizmeti sağlamak için bir veya daha fazla güvenlik mekanizması kullanırlar.
Güvenlik saldırıları
§ Hem X.800 hem de RFC 4949'da güvenlik
saldırıları pasif ve aktif saldırılar olarak
sınıflandırılmıştır
§ Pasif bir saldırı, sistemdeki bilgileri öğrenmeye veya
kullanmaya çalışır ancak sistem kaynaklarını
etkilemez
§ Aktif bir saldırı, sistem kaynaklarını değiştirmeye veya işlemlerini
(a) Passive attacks
Alice (b) Active attacks
Bob
Darth
Internet or other comms facility Bob
Darth
Alice Internet or
other comms facility
1 2
3
Pasif saldırılar
§ Saldırganın amacı, iletilen bilgiyi elde etmektir
§ İki tür pasif saldırı vardır:
– Mesaj içeriğinin yayımı – Trafik analizi
Aktif saldırılar
§ Veri akışının bir
bölümün değiştirilmesi veya sahte bir akışın yaratılması
§ Çok çeşitli fiziksel, yazılım ve ağ güvenlik açıkları nedeniyle
engellenmesi zordur
§ Hedef, saldırıları tespit etmek ve bunlardan kaynaklanan herhangi bir kesinti veya
gecikmeyi gidermektir
• Birinin başkası gibi davranması
• Genelde bir diğer aktif saldırı türünü de içerir
Maskeleme
• Ele geçirilen mesajın yetkisiz olarak tekrar gönderilmesi
Tekrarlama
• Mesajın değiştirilmesi,
geciktirilmesi veya yok edilmesi
Mesaj değiştirme
• Sistemin görev yapamaz hale getirilmesi
Servis dışı bırakma
Güvenlik Servisleri
§ Sistemlerin veya veri aktarımlarının yeterli güvenliğini sağlayan bir hizmet
§ Amacına göre bir TCP/IP protokol katmanı tarafından sağlanır
§ X.800 Servis Kategorileri
– Doğrulama - Authentication – Giriş kontrolu - Access control – Veri gizliliği - Data confidentiality – Veri bütünlüğü - Data integrity
– İnkar edilemezlik – Nonrepudiation
Kimlik Doğrulama
§ İletişimin orijinal olduğundan emin olmakla ilgilenir
§ Tek bir mesaj durumunda alıcıya, mesajın geldiğini iddia ettiği kaynaktan geldiğini garanti eder
§ Devam eden etkileşim söz konusu olduğunda, iki varlığın özgün olduğunu ve bağlantının üçüncü bir kişi tarafından taklit edebilemeyeceğini garanti eder
§ X.800'te iki özel kimlik doğrulama hizmeti tanımlanmıştır:
– Akran kimliği doğrulama: bağlantı kurulan kişinin kimliğini doğrulama (örneğin iki TCP modülü)
– Veri kökeni kimlik doğrulama: bağlantısız bir iletişimde gelen bir paketin kaynağını doğrulama
Erişim Kontrolü
§ İletişim bağlantıları yoluyla ana sistemlere ve uygulamalara erişimi sınırlama ve denetleme becerisini tanımlar
§ Bunu başarmak için, sisteme erişmeye çalışan her varlık, önce tanınmalı veya doğrulanmalıdır.
§ Bu sayede erişim yetkileri kullanıcılara göre ayarlanabilir.
Veri Gizliliği
§ Aktarılan verilerin pasif saldırılardan korunması
§ En geniş anlamda bu hizmet iki kullanıcı arasında belirli bir süre boyunca iletilen tüm verilerini korur
– TCP bağlantısı süresince
§ Daha dar hizmet biçimleri arasında, tek bir iletinin veya hatta bir iletinin içindeki belirli alanların korunması bulunmaktadır
§ Ağ trafik akışının analizden korunması da veri gizliliği kapsamında değerlendirilir. Trafiğin
– kaynak ve hedef adresleri, – frekansı
– uzunluğunu – diğer özellikleri
korunmalıdır.
Veri Bütünlüğü
§ Bir ileti dizisine, tek bir iletiye veya bir ileti içindeki seçili alanlara uygulanabilir
§ Bağlantı odaklı bütünlük hizmeti bir ileti dizisi ile ilgilenir ve iletilerin hiçbir çoğaltılma, ekleme, değiştirme, yeniden
sıralama veya yeniden gönderme olmadan gönderildiği şekilde alınmasını sağlar
§ Bağlantısız bütünlük hizmeti, daha geniş bağlamlara
bakılmaksızın bireysel mesajlarla ilgilenir ve yalnızca mesaj değişikliklerine karşı koruma sağlar
§ Veri bütünlüğü ihlali tespit edildikten sonra telafi edilmesi için otomatik düzeltme veya yeniden gönderim mekanızmaları
kullanılabilir.
İnkar edilemezlik
§ Gönderen veya alıcıların iletilen bir iletiyi reddetmesini önler
§ Bir mesaj gönderildiğinde, alıcı gönderenin gerçekten mesajı gönderdiğini kanıtlayabilir
§ Bir mesaj alındığında, gönderen alıcının gerçekten mesajı aldığını kanıtlayabilir
Erişillebilirlik
§ Erişilebilirlik
– Bir sistemin veya sistem kaynağının, sistemin performans özelliklerine göre, yetkili bir sistem kullanıcısı tarafından talep edildiğinde
erişilebilir ve kullanılabilir nitelikte olması
§ Erişilebilirlik servisi
– Bir sistemi kullanılabilirliğini sağlamak için koruyan sistemdir
– Hizmet reddi saldırıları nedeniyle ortaya çıkan güvenlik kaygılarını giderir
– Sistem kaynaklarının düzgün bir şekilde yönetilmesi ve kontrol edilmesine bağlıdır
Güvenlik mekanizmaları (X.800)
Güvenlik mekanizmaları (X.800)
Y Y
Y Y Y
Y Y
Y Y
Y
Y Y Y
Y
Y Y
Y Y
Y Peer entity authentication
SERVICE
MECHANISM
Table 1.4 Relationship Between Security Services and Mechanisms
EnchiphermentDigital signatur e
Access contr ol
Data integrityAuthentication exchangeTraffic paddingRouting contr ol
Notarization
Data origin authentication Access control
Confidentiality
Traffic flow confidentiality Data integrity
Nonrepudiation Availability
Temel güvenlik tasarım ilkeleri
§ Güvenlik mekanizmasının ekonomikliği
§ Varsayılan izinler
§ Tam arabuluculuk
§ Açık tasarım ayırma ayrımı
§ En az ayrıcalık
§ En az ortak mekanizma
§ Psikolojik kabul edilebilirlik
§ İzolasyon
§ Modülarite
Temel güvenlik tasarım ilkeleri
§ Mekanizmanın Ekonomisi - Hem donanım hem de yazılımda somutlaşan güvenlik önlemlerinin tasarımı, mümkün
olduğunca basit ve küçük olmalıdır
§ Varsayılan izinler - Erişim kararlarında dışlanma yerine izin temel alınmalıdır - varsayılan durum erişim eksikliğidir ve koruma şeması, erişime izin verilen koşulları tanımlar
§ Tam arabuluculuk - Her erişim, erişim kontrol mekanizmasına karşı kontrol edilmelidir
§ Açık tasarım - Bir güvenlik mekanizmasının tasarımı gizli değil açık olmalıdır.
§ Ayrıcalık ayrımı - Sınırlı bir kaynağa erişmek için birden çok ayrıcalık özelliği (şifre vs.) gerekirken, genel bir kaynağa tek bir ayrıcalık yeterli olmalıdır
Temel güvenlik tasarım ilkeleri
§ En az ayrıcalık - Sistemin her işlemi ve her kullanıcısı, bir görevi yerine getirmek en az ayrıcalık grubuna ihtiyaç duymalıdır
§ En az ortak mekanizma - Tasarım, farklı kullanıcılar
tarafından paylaşılan işlevleri en aza indirmeli, karşılıklı güvenliği sağlamalıdır
§ Psikolojik kabul edilebilirlik - Güvenlik mekanizmaları kullanıcı çalışmalarına gereğinden fazla müdahale etmemesi
gerekirken, aynı zamanda erişim yetkisi verenlerin ihtiyaçlarını da karşılamalıdır.
Temel güvenlik tasarım ilkeleri
§ İzolasyon - Üç bağlamda değerlendirilebilir:
– Birincisi, ortak erişim sistemleri kritik kaynaklardan izole edilmelidir – İkincisi, bireysel kullanıcıların süreçleri ve dosyaları birbirinden izole
edilmelidir
– Üçüncüsü, bu mekanizmalara erişimi engelleme anlamında güvenlik mekanizmaları izole edilmelidir
§ Modülarite - Hem ayrı, korunan modüller olarak güvenlik işlevlerinin geliştirilmesine hem de mekanizmanın
tasarlanması ve uygulanması için modüler bir mimari kullanımına değinir.
Saldırı alanları
§ Bir sistemdeki erişilebilir ve sömürülebilir güvenlik açıklarından oluşur. Örnekler:
– Dışarıya bakan Web ve diğer sunuculardaki açık bağlantı noktaları (open ports) ve bu bağlantı noktalarını dinleyen kod
– Güvenlik duvarının içinde bulunan hizmetler
– Gelen verileri, e-postayı, XLM, ofis belgelerini ve sektöre özgü özel veri alışverişi formatlarını işleyen kod
– Arayüzler, SQL ve Web formları
– Sosyal mühendislik saldırısına karşı savunmasız hassas bilgilere erişimi olan bir çalışan
Saldırı alanları
§ Aşağıdaki şekilde kategorilere ayrılabilir:
– Ağ saldırı yüzeyi - Bir kurumsal ağ, geniş alan ağı veya İnternet üzerinden güvenlik açıkları
– Yazılım saldırı yüzeyi - Uygulama, yardımcı program veya işletim sistemi kodundaki güvenlik açıkları
– İnsanın saldırı yüzeyi- Sosyal mühendislik, insan hatası ve güvenilir içerdekiler gibi personel veya yabancılar tarafından yaratılan güvenlik açıkları
Saldırı ağacı
§ Saldırı ağacı, bir güvenlik açığından yararlanmak için potansiyel teknikler içeren hiyerarşik bir veri yapısıdır.
§ Saldırının amacı olan güvenlik olayını kök düğümü ifade eder
§ Saldırganın bu amaca ulaşma yollarını tekrarlamalı olarak ve ağacın dalları ve alt düğümleri temsil eder.
§ Her alt-düğüm bir alt-hedefi tanımlar ve her alt-hedef kendi alt-hedeflerinin kümesine sahip olabilir.
§ Kökten dışa doğru olan yollarda son düğümler yani yaprak
düğümleri bir saldırıyı başlatmanın farklı yollarını temsil eder.
Figure 1.4 An Attack Tree for Internet Banking Authentication
Bank Account Compromise User credential compromise
User credential guessing
UT/U1a User surveillance UT/U1b Theft of token and handwritten notes
Malicious software
installation Vulnerability exploit
UT/U2a Hidden code UT/U2b Worms UT/U3a Smartcard analyzers
UT/U2c E-mails with malicious code UT/U3b Smartcard reader
manipulator
UT/U3c Brute force attacks with PIN calculators CC2 Sniffing
UT/U4a Social engineering
IBS3 Web site manipulation UT/U4b Web page
obfuscation
CC1 Pharming Redirection of
communication toward fraudulent site
CC3 Active man-in-the middle attacks
IBS1 Brute force attacks User communication with attacker
Injection of commands
Use of known authenticated
session by attacker Normal user authentication
with specified session ID CC4 Pre-defined session IDs (session hijacking) IBS2 Security policy
violation
Kullanılacak olan güvenlik modeli
Information Channel
Security-related transformation
Sender
Secret information
Message MessageSecure message Secure message
Recipient
Opponent Trusted third party (e.g., arbiter, distributer
of secret information)
Security-related transformation
Secret information