Merhaba bu durum baya bir sıkıntılı süreç başlatacak bilişim dünyası için bir çok makale yazı çıkacak ve bilgi kirliliği olacak ama Gökhan Topçu arkadaş çok güzel Twitter üzerinden yazmış bende kopyaladım ve yazı çok güzel anlatıyor durumu ve şu an için neler yapılabilir şu anda en güncel çözümlerde var bilginize.
Windows 7/8/10 için KB ve Patch Yayınlandı : https://www.catalog.update.microsoft.com/Search.aspx?q=KB4056892
Daha fazla detay haberde : https://thehackernews.com/2018/01/meltdown-spectre-patches.html
"Intel işlemcilerle ilgili güvenlik zaafiyetiyle hakkında, Türkçe kaynaklar oldukça kötü durumda ve çok fazla spekülasyon var. Bulanıklığı gidermek adına konunun ne olduğuna ve olmadığına dair birkaç şey söylemek istiyorum.
Bu işlem için CPU üzerinde özel branch predictor devreler ve branch target predictor ve branch target buffer bulunur.
Bu sayede CPU kendi üzerinde akıllı bir yöntemle bir sonraki komutu bulur ve pipelina alıp işlemeye başlar.Örneğin; 1 den 1000'e kadarlık bir for döngüsünde, döngünün bitip bitmediğinin kontrolü esnasında branch predictor ilk değerleri baz alarak döngünün bitmediğini varsayarak işleme devam eder.Paralelde ise döngünün bitip bitmediği kontrolünü yapar. Predictor'ın tahmini doğruysa çok ciddi bir performans kazanımı olur, değilse CPU yaptığı işlemleri geri alır ve diğer senaryoyu işlemeye devam başlar.
Diğer kavramlarımız; user space ve kernel space. Uygulamalarımıza işletim sistemi tarafından verilen sanal bellek user space ve kernel space olarak ayrılır. User space'de uygulamaya ait memory alanı, kernel space ise işletim sistemine ait ortak bir alanı temsil eder.Uygulamalar kernel space e erişemez. Bunu gerektiren bir işlem olduğunda uygulama sistem çağrısı (syscall) yaparak bu işlemi kernel a devreder. Bu sürecin güvenliği işletim sisteminin kernel mode a geçmesi ve CPU protection ring ler sayesinde sağlanır.Kernel mode da çalışan bir işlem, işletim sisteminin -neredeyse- tüm kaynaklarına erişebilir, ve bir şeyleri değiştirebilir. Bu nedenle sadece sistem yazılımları, donanım sürücüleri ve antivirüs yazılımları gibi buna gerçekten ihtiyacı olan yazılımlar kernel mode da çalışabilir.
Konumuza dönersek; mevcut açık temel olarak, out of order execution ve speculative executiondan faydalanarak, normalde erişilememesi gereken, kernel space de yer alan bir memory alanına erişilebilmesini sağlıyor.
Bunu yaparken izlediği yöntem AFAIU; branch predictorın yanlış tahmin yapmasını sağlayarak, bu erişimin kontrolünü yapacak kodun daha geç çalıştırılmasına neden olarak, bu süre zarfında erişilmese de cachelenmiş olan kernel space e ait adres bilgilerine erişiyor.Açığın çeşitli türevleri var. Bu türevler, benzer yöntemlerle, farklı bir kod blogunun çalıştırılması(branchin manipüle edilmesi), kullanıcıya ait herhangi başka bir dataya erişilebilmesi/değiştirilebilmesi gibi yeteneklere sahipler.
Zaten bahsettiğim bu senaryolara göre kernel space e erişimi olan bir zararlı yazılım, yeterince yetenekliyse sistem genelinde istediği her şeyi yapabilir. Örneğin kendi bulunduğu disk veya memory alanını taramaya çalışan bir antivirüsü yanıltabilir.Kernel space e erişimi olan herhangi bir zararlı yazılım da aynı şeyi yapabilirken bu sefer durumu farklı kılan açığın etki alanının genişliği.Bugüne kadarki tüm açıklar bir işletim sistemini, bir uygulamayı veya bunların spesifik bir versiyon grubunu etkilerken bu açık son 10+ yıldaki modern işlemcilerin tamamını etkiliyor.Açığın hardware seviyesinde bir çözümü yok.
Çözüm olarak; işletim sistemlerinin mimarilerinin yamalarla değiştirilerek, eskiden performans için her processin virtual memorysi içerisinde yer alan kernel space in dışarıya alınması ve kernel space e ASLR uygulanması var.ASLR -> Adress space layout randomization; process in memory de her sefer farklı adreslere load edilmesi ve bu sayede saldırganın hedeflediği kısma (genelde fonksiyon adresi) ulaşmasını engelleyen bir yöntemTabi bu durumun da ilk testlere göre %5 ile %30 arasında bir performans kaybı oluşturacağı tahmin ediliyor.
Bu kaybın oranı uygulama içerisinde yapılan sistem çağrılarıyla doğru orantılı, peki bu ne anlama geliyor?Eğer uygulamanız kendi içerisinde algoritmik hesaplamalar yapan bir uygulama ise kaybınız oldukça düşük olacaktır. Ancak sistem çağrısı içeren virtualization, I/O, memory allocation gibi operasyonlara çokça ihtiyacınız performans kaybını daha ciddi biçimde hissedebilirsiniz.
Son kullanıcı ne yapmalı?
MacOS işletim sisteminin Aralık güncellemesinde açığı -kısmen- kapattığı söyleniyor.
Windows ve Linux için ise yamalar yolda. Bu yamaların çıkar çıkmaz yüklenmesi gerekiyor. Bu tarihe kadar web siteleri dahil dikkatli olmakta büyük fayda var.
Hiç yorum yok:
Yorum Gönder
Yorumunuz için teşekkürler.