Güvenlik Açığı Nedir?

Güvenlik açıkları, her türlü yazılım veya donanımda bulunan hatalardır. Bir güvenlik açığından haberdar olduktan sonra, kötü niyetli kullanıcılar bunu kullanmaya çalışır. İstismar (exploit), bilinen bir güvenlik açığından yararlanmak için yazılmış bir programı açıklamak için kullanılan terimdir. Güvenlik açığına karşı bir istismar kullanma eylemi saldırı olarak adlandırılır. Saldırının amacı, bir sisteme, barındırdığı verilere veya belirli bir kaynağa erişim sağlamaktır.

Yazılım güvenlik açıkları

Yazılım zafiyetleri genellikle işletim sistemi veya uygulama kodundaki hatalar tarafından ortaya çıkar. Üretici şirketlerin yazılım zafiyetlerini bulmak ve yamalamak için çaba sarf etmelerine rağmen, yeni zafiyetlerin yüzeye çıkması yaygındır. Microsoft, Apple ve diğer işletim sistemi üreticileri neredeyse her gün yamalar ve güncellemeler yayınlıyor. Uygulama güncellemeleri de yaygındır. Web tarayıcıları, mobil uygulamalar ve web sunucuları gibi uygulamalar genellikle üretici  şirketler veya kuruluşlar tarafından güncellenir. 2017 yılı Mayıs ayında Dünya genelinde yüz binlerce bilgisayara bulaşan ve bulaştığı bilgisayardaki dosyaları şifreleyerek şifreleri açacak anahtar karşılığında fidye talep eden WannaCry isimli zararlı bir yazılım ortaya çıktı. Bu zararlı yazılım Microsoft işletim sistemine sahip cihazlara bulaşıyordu. Aslında Microsoft 2 ay önce bu açık için yama yayınlamış olmasına rağmen yama yapılmamış bilgisayarlar bu saldırıdan zarar gördüler.

Zero day yani sıfır gün ismi ile anılan saldırılar en tehlikeli olan saldırı tiplerindendir. Yazılımda açık bulan bir siber saldırgan bunu kullandığında ortaya çıkmasına bu isim verilir. Bundan sonra ilgili yazılım üreticisi bir yama yayınlayana kadar bu zafiyet istismar edilmeye devam eder.

Yazılım güncellemelerinin amacı güncel kalmak ve güvenlik açıklarını kapatmaktır. Bazı şirketler, yazılım açıklarını daha ortaya çıkmadan  önce  bulmaya adanan sızma testi ekiplerine sahipken, üçüncü taraf güvenlik araştırmacıları da yazılımlarda güvenlik açıklarını bulma konusunda uzmanlaşmıştır.

Google’ın Proje Sıfırı (Project Zero), bu tür uygulamalara mükemmel bir örnektir. Son kullanıcılar tarafından kullanılan çeşitli yazılımlarda birkaç güvenlik açığını keşfettikten sonra, Google yazılım açıklarını bulma konusunda kararlı bir ekip kurdu.  Google gibi firmalar kendi güvenlik ekiplerini kurmanın yanında ürünlerinde zafiyet bulanları ödüllendirdikleri bug bounty denen programlar ilan etmiştir. Google yanında Yandex; Microsoft, Apple, Uber vb. birçok firmanın buna benzer programları vardır. Bug bounty yani ödül avcılığı ile bir yazılımda veya web sitesinde zafiyet bulup bunu uygun şekilde raporladığınızda binlerce dolara varan ödüller kazanmanız mümkündür. Bug bounty programları hakkında https://hackerone.com adresinden bilgi alabilirsiniz.

Donanım zayıflıkları

Donanım zayıflıkları genellikle donanım tasarımı kusurları olarak adlandırılır. Örneğin bir RAM bellekte birbirlerine çok yakın monte edilmiş kapasitörlerin yakınlık nedeniyle, komşu kapasitörleri etkileyebileceği keşfedilmiştir. Bu tasarım kusuruna dayanarak, Rowhammer adlı bir istismar oluşturuldu. Aynı adreslerdeki bellekleri tekrar tekrar yazarak, Rowhammer’ın yaptığı hücreler korunsa bile verilerin yakındaki adres bellek hücrelerinden alınmasına izin verir.

Donanım güvenlik açıkları, cihaz modellerine özeldir ve genellikle rastgele  girişimlerle istismar edilmez. Son derece hedefli saldırılarda donanımsal istismarlar daha yaygın olsa da, geleneksel kötü amaçlı yazılım koruması ve fiziksel güvenlik, günlük kullanıcı için yeterli korumadır.

Güvenlik Açığı Kategorileri

Çoğu yazılım güvenliği güvenlik açığı aşağıdaki kategorilerden birine girmektedir:

Arabellek taşması (Buffer overflow) : Bu güvenlik açığı, bir arabelleğe sınırlarının ötesinde veri yazıldığı zaman ortaya çıkar. Tamponlar, bir uygulamaya tahsis edilen hafıza alanlarıdır. Bir arabelleğin sınırlarının ötesindeki verileri değiştirerek, uygulama diğer işlemlere ayrılan belleğe erişir. Bu, bir sistem çökmesine, veya saldırganın ayrıcalıklarının artmasına neden olabilir.

Onaylanmamış giriş : Programlar genellikle veri girişi ile çalışır. Zararlı bir program, programın istenmeyen bir şekilde davranmasını zorlamak için tasarlanmış kötü amaçlı içeriğe sahip olabilir. Görüntü işleme için kullanılan bir programda kötü niyetli bir kullanıcı, geçersiz resim boyutlarına sahip bir resim dosyası oluşturabilir. Kötü amaçlarla hazırlanmış boyutlar, programı hatalı ve beklenmeyen boyutlarda arabellekleri ayırmaya zorlayabilir.

Yarış koşulları -:Bu güvenlik açığı, bir olayın çıkışının sıralı veya zamanlanmış çıktılara bağlı olduğu zamandır. Bir yarış koşulu, gereken sıralı veya zamanlanmış olaylar doğru sırada veya doğru zamanlamada meydana gelmediğinde bir güvenlik açığı haline gelir.

Güvenlik uygulamalarındaki zayıflıklar : Sistemler ve hassas veriler, kimlik doğrulama, yetkilendirme ve şifreleme gibi tekniklerle korunabilir. Geliştiriciler, güvenlik açıkları oluşturacağı  için kendi güvenlik algoritmalarını oluşturmaya çalışmamalıdır. Geliştiricilerin önceden oluşturulmuş, test edilmiş ve doğrulanmış güvenlik kitaplıklarını kullanmaları şiddetle tavsiye edilir.

Erişim denetimi sorunları : Erişim denetimi, kimin, bir dosya veya fiziksel kaynağa eriştiğini  yönetmek ve  kimin ne gibi şeyler yaptığını denetleme işlemidir. Örneğin, bir dosyaya erişimi olan ve okuma ve yazma hakkı olan biri erişim kontrollerinin uygunsuz kullanımıyla birçok güvenlik açığı oluşturabilir.

Neredeyse tüm erişim kontrolleri ve güvenlik uygulamaları, saldırganın hedef ekipmana fiziksel erişimi olduğunda aşılabilir. Örneğin, bir dosyanın izinlerinin nasıl  ayarlandığına bakılmaksızın, cihaza fizksel olarak erişen birisine karşı işletim sistemi, verileri doğrudan diskten okumasını engelleyemez. Makineyi ve içerdiği verileri korumak için, fiziksel erişim kısıtlanmalı ve verilerin çalınması veya bozulmasını önlemek için şifreleme teknikleri kullanılmalıdır.

About The Author

One Response

  1. berk 15 Eylül 2019 Yanıtla

Reply