Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Meltdown ve Spectre’a Hızlı Bir Bakış

İnsanlığın elektronik bilgisayarlar ile tanıştığı ilk günden bu yana karşılaşılan en büyük güvenlik açığı. Meltdown (Erime) ve Spectre (Hayalet). İki farklı güvenli araştırmacısı grup tarafından aynı tarihlerde açıklanmış, CPU (işlemci) tasarımının kötüye kullanılmasına izin veren donanım tabanlı bir güvenlik açığı. Intel, AMD ve ARM firmalarının modern işlemcilerinin tamamının etkilendiği bu güvenlik açığını tam olarak kapatmanın bir yolu yok. İlk başlarda CVE rapolarında yazılan ve sonradan geri adım atılan edilen tek yol “işlemciyi değiştirmek” ibaresi oldukça ciddi. Lakin şuan böyle bir işlemci yok. İşte bu güvenlik açığını insanlık tarihinin en büyük açığı haline getiren durum da bu. İnsanlığın tüm dijital varlığı yazılımla kapatılamayacak bir şekilde tehdit altında.

Bu güvenlik açığı tam olarak nedir?

İşletim sistemleri programları CPU’ya gönderip çalıştırmadan önce diskten okuyarak belleğe kopyalarlar. Programı oluşturan byte’lar, teker teker bellekten okunarak işlemciye gönderilir ve çalıştırılır. Bu esnada; işletim sistemi (daha doğrusu işletim sisteminin çekirdeği) belleği iki ana kısma ayırarak yönetir. Kernel space ve user space. İşletim sistemi kullanıcı programlarının kendi bellek alanlarında çalışmalarını ve dışarıya çıkamamalarını garanti eder. Bu güvenlik için çok gerekli bir konudur. Yani çekirdeğin RAM’de çalışmakta olduğu, kernel-space adı verilen alanı koruma altındadır. Kernel buranın user space programlardan korunmasını garanti eder. Eğer bir user-space program kernel-space’e erişebilirse (okuma/yazma) işletim sistemi genelinde herşeyi yapabilir. Bu açık CPU’nun donanımsal bir tasarım hatasını (aslında meltdown ve spectre keşfedilene kadar bu bir feature’dı) kullanarak erişilmemesi gereken bellek alanlarına erişilebilmeyi mümkün kılıyor. Spectre grubunun bulduğu güvenlik açığı ile kernel-space’e erişilebilirken, Meltdown grubunun açığı ile tüm fiziksel belleğe (RAM) erişmek mümkün oluyor. Dolayısıyla açıklar herhangi bir işletim sistemi veya yazılımdan kaynaklanmıyor.

Açık kullanılarak neler yapılabilir?

  • Yetki yükseltmesi yapılabilir. İşletim sisteminden bağımsız olarak sıradan bir kullanıcı yönetici yetkilerine sahip olabilir.
  • Antivirüsler kernel-space’de çalıştıklarından devre dışı bırakılabilir veya atlatılabilir.
  • Meltdown ile bir sanal sunucu içinden diğer sanal sunuculara ve hatta fiziksel makineye zıplanabilir.
  • Bir javascript kodu ile sistemde en yüksek düzeyde yetkiye sahip olup, kötücül yazılım yüklenebilir.
  • Kısaca tüm dijital varlığınız şuan kesin bir çözümü olmayan bu zafiyet ile tehdit altındadır. Kişisel fikrim bilgisayarınızın fişini çekmenin zamanının geldiğidir.

Hangi işlemciler etkileniyor?

Kabaca son 20 yılda üretilmiş pipelining  kullanan tüm modern işlemciler bu açıklardan etkileniyor. En büyük üreticilerin etkilenen işlemcilerini görmek için aşağıdaki bağlantıları kullanabilirsiniz. Bu açığın en büyük özelliği belli bir micro-code’u ya da kod zafiyetini hedef alması değil bir mikro işlemci tasarım modelini ya da mimarisini hedef alması. Stackoverflow kaynaklarından gözlemlediğim kadarıyla, henüz açığı suistimal eden bir kod olmadığı için özellikle AMD ve ARM açıklama yapmaktan kaçınıyorlar.

  • INTEL
  • AMD
  • ARM

İşlemci (CPU) üreticileri ne diyor?

Söylentilere göre işlemciler üzerindeki bu açık 1 yıl kadar önce ilgili firmalara bildirilmiş fakat firmalar gerekli önlemleri almamışlar. Bu akla, NSA ve muadili kuruluşların erişimi için bilinçli bir arka kapı bırakıldığı fikrini getiriyor. Büyük işlemci üreticileri ortak istişare ile soruna micro-code güncellemesi ile geçici bir çözüm bulmaya çalışıyor. Kişisel fikrim: açık bir feature’ı hedef aldığından ki bu feature donanımsal bir tasarıma karşılık geliyor (pipelining ve speculative execution) micro code güncellemeleri ile sağlanan çözüm de kısa sürede hacker’lar tarafından aşılacaktır. Bence çözüm işlemcilerin değiştirilmesi ya da %30’a varan başarım kayıplarına razı olarak yamalı bir işletim sistemi kullanmaya devam etmek. Intel buradan micro-code güncellemelerini yayınlıyor. Listedeki Linux işletim sistemi dağıtımları güncellemeleri CPU’ya uygulayabiliyor.

İşletim sistemi üreticileri ne diyor?

Microsoft’un açıklamasına buradan bakabilirsiniz. Kısaca özetlemek gerekirse; Şu anda bu açığı suistimal eden bir atak raporlanmadı. cloud servilerimiz için gerekli aksiyonları aldık. Windows için gerekli yamaları yayınladık ancak firmware ve antivirus update’lerinizi (micro code güncellemelerini) yapmayı unutmayın deniyor.

Hızlı bir aksiyon almak için neler yapılabilir?

  • Antivirüs yazılımınızı güncelleyin. Bu açığa karşı aksiyon alan AV’lerin listesini buradan takip edebilirsiniz. Bu listede Windows yamasının yapılmasına engel olmayan AV’ler yer alıyor. Ancak bundan sonra Windows’u güncellenebiliyor.
  • Derhal update desteği olan bir işletim sistemine geçin ve işletim sisteminizi güncelleyin. Linux’larda bu işlemi yaptığınızda güncel micro-code update‘leri boot sırasında CPU’ya yazılıcak. Microsoft server sürümleri için gerekli yamaları yayınladı. Windows 10 gibi son kullanıcı sistemler için ise bir advisory yayınladı.
  • Anakart üreticisinin yayınladığı BIOS firmware’ini sisteminize uygulayın. Güncel cpu micro-code’lar firmware update ile CPU’ya yazılacak. Tarih olarak 3 Ocak 2018 ve sonrası tarihli güncellemeler olması önemli.
  • Buraya tıklayarak Chrome’un strict site isolation seçeneğini enable yapın ve chrome’u yeniden başlatın.
  • Buraya tıklayarak Firefox’un privacy.firstparty.isolate seçeneğini anable yapın ve Firefox’u yeninden başlatın.
  • Android cihazlar için, telefon üreticinizin sunduğu güncellemeyi yüklemelisiniz. Google’un kendi ürettiği telefonlar için sunduğu güncelleme talimatı şu adreste. Bu noktada neden Google marka bir telefon satın almanın önemini anlayabiliyoruz. Markalar azami 2 yıl kadar güncelleme desteği veriyorlar.

Yama kontrolünü yapın?

  1. Microsoft hali hazırda açık için bir yama yayınlamış durumda ve bu windows update ile dağılıyor. Microsoft, açığa karşı sisteminizin yamasının olup olmadığını kontrol etmek için bir powershell eklentisi yayınlamış durumda. Powershell’i kurduktan sonra Install-Module SpeculationControl komutu ile ilgili modülü yükleyip, Get-SpeculationControlSettings komutu ile işletim sisteminin bu açıklara karşı savunmasının olup olmadığını sorgulatabilirsiniz. Korunaklı sistemlerin aşağıdaki gibi bir rapor görüntülemesi gerekiyor:PS C:\> Get-SpeculationControlSettings
    Speculation control settings for CVE-2017-5715 [branch target injection]
    Hardware support for branch target injection mitigation is present: True
    Windows OS support for branch target injection mitigation is present: True
    Windows OS support for branch target injection mitigation is enabled: True
    Speculation control settings for CVE-2017-5754 [rogue data cache load]
    Hardware requires kernel VA shadowing: True
    Windows OS support for kernel VA shadow is present: True
    Windows OS support for kernel VA shadow is enabled: True
    Windows OS support for PCID optimization is enabled: True
  2. https://ionescu007.github.io/SpecuCheck/ adresindeki SpecuCheck adlı uygulamayı çalıştırarak sisteminizin CVE-2017-5754 ve CVE-2017-5715 açıklarına karşı yamalı  olup olmadığını görebilirsiniz.

Açık hakkında teknik detaylar

Meltdown ve Spectre açıklarını yayınlayan grubun sayfasında detaylı bir dökümantasyon var. Şuan bu konuda bir exploit yayınlamış değil fakat açık hakkında ilk uyarı haziran ayında yapılmış. 3 ocakta yayınlanan teknik detaylar ışığında kısa sürede suistimal kodunun yazılabileceğine eminim. Açığı bulan grupların yayınladığı demostrasyonları şu videolardan görebilirsiniz: Demo-1, Demo-2

İlk video’da user-mode bir programın kernel-space’deki verileri okuyabildiği gösteriliyor (Bunu ali kullanicisinin Administrator’un veya Root’un home dizinini okuyabileceği olarak düşünün ve bu hatanın yazılım yoluyla düzeltilemeyeceğini hayal edin) Diğerinde ise çalışmakta olan bir parola yöneticisinin giriş anahtarı bellekten simultane olarak okunuyor. Bu da user-mode bir ve görüldüğünü gibi belleğinin istediği bir alanını okuyabiliyor. Yukarıdaki başlıkta belirttiğim üzere bunun pratikteki en tehditkar karşılığı şu: Diyelimki bir VPS kiraladınız. VPS fiziksel makine üzerinde oluşturulan sanal işletim sistemleridir. Bu VPS üzerinde çalıştıracağınız bir exploit ile aynı fiziksel makinede çalışan diğer sanal bilgisayarlara (VPS’ler) sınırsız erişebiliyorsunuz. Kullanıcı hesapları, kişisel veriler, veritabanları vb…

Açıklar hakkındaki CVE sayfalarının bağlantıları şöyle:

CVE-2017-5715 (branch target injection)
CVE-2017-5753 (bounds check bypass)
CVE-2017-5754 (rogue data cache load)

Nasıl oluyor da böyle bir zafiyet mümkün olabiliyor?

Olurum:https://www.kb.cert.org/vuls/id/584653

Micro-code nedir?

http://www.wikizero.net/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWljcm9jb2Rl

Türk Basınında Meltdown ve Spectre

  • https://www.evrensel.net/yazi/80621/bitmeyecek-kriz-meltdown-ve-spectre
  • http://www.milliyet.com.tr/apple-hangi-cihazlarinin-meltdown-teknoloji-haber-2585566/


This post first appeared on Tankado.com, please read the originial post: here

Share the post

Meltdown ve Spectre’a Hızlı Bir Bakış

×

Subscribe to Tankado.com

Get updates delivered right to your inbox!

Thank you for your subscription

×