Meltdown spectre

KAISER, Meltdown, Spectre... Neler oluyor?

9
tongucyumruk

butch kibarca "neler oluyor?" diye sorduktan sonra kısaca son günlerde bilişim dünyasini sallayan, "bulutlarımız ne olacak?", "oyunlar da mı yavaşlayacak?" ve, "Bitcoin alalım mı?" gibi sorulara yol açan haberler üzerine kısa bir Türkçe açıklama yapma ihtiyacı hissettim.

Baştan söyleyeyim, konu üzerine çok derin bilgisi olan bir insan değilim, bu konu hakkındaki bilgim de son bir iki günde okuduğum (göz attığım diyelim) birkaç yazıdan ibaret. Bu nedenle yazıdaki her türlü hatayı yorum olarak yüzüme vurup Internet'in bir köşesindeki bir yabancının hatasını düzeltmiş olmanın rahatlığı ile uyuyabilirsiniz.

Herşeyden önce açığa kavuşturmamız gereken bir nokta: Bir değil iki güvenlik açığından bahsediyoruz. Bu açıklardan ilki, Meltdown, sadece Intel işlemcileri etkiliyor, diğeri, Spectre, ise çok daha genel bir tasarım problemi olduğu için AMD ve ARM işlemcileri dahi etkiliyor.

Meltdown ve işlemci ne yapar?

Önce Meltdown ile başlayalım ve temelden girelim konuya. En temele indiğimizde bir CPU basitçe bellekten komutları okuyup, çalıştırıp sonuçları da belleğe yazan bir cihazdır. Tek kullanıcının bir defada bir uygulama çalıştırdığı MS-DOS gibi sistemlerde bu model gayet güzel çalışır. Ne var ki, eğer bir sistemde aynı anda birden fazla uygulama çalıştırırsanız önemli bir sıkıntı ile karşılaşırsınız: Uygulamalar birbirlerinden haberdar olmadıkları için bir uygulama diğerinin belleğini okuyabilir, hatta yazabilir. Bu çok tercih edilecek bir çalışma biçimi olmadığı için işlemci ve işletim sistemi birlikte çalışarak uygulamaları birbirinden ayırırlar. Bu sayede sistem hangi uygulamanın hangi bellek bölgelerine erişimi oldugunu takip edip eğer uygulama kendine ait olmayan bir bellek bölgesine erişmeye kalkarsa uygulamaya engel olabilir.

Tabi ki bu yukarıda açıkladığım güvenlik modeli ancak 1980'lerin ortasında "modern" olarak kabul edilebilecek bir açıklama. O günden bugüne farklı güvenlik problemleri için daha pek çok teknoloji geliştirildi tabi ki. Ama Meltdown açığını anlamak icin bu temel güvenlik mekanizmasını anlamak gerekiyor: İşlemci, işletim sisteminin de desteğiyle, belleğin hangi bölgelerinin erişilebilir olduğunu takip edip yetkisiz erişimlere engel olmalıdır.

Görünüşe bakılırsa Intel işlemcilerini tasarlayan mühendisler "bu işlemciyi nasıl daha hızlı yaparız?" sorusuna odaklanırken bu temel güvenlik fonksiyonuna nasıl bir yan etkide bulunduklarını kestirememişler. Pek çok modern işlemci içinde küçük bir kahin barındırır. Bu kahin "bak birazdan şu komut çalıştırılacak galiba" diye tahminlerde bulunur (bunun temeli olan pipelining mekanizmasının açıklamasını burada bulabilirsiniz). İşlemci bu tahminlere dayanarak bazı komutları "vaktinden önce" çalıştırarak performansı artırabilir. İşte Meltdown açığı işlemcinin bu spekülasyon tabanlı komutları çalıştırırken güvenlik kontrollerini atlamasından kaynaklanıyor. Bu sayede sıradan bir uygulama, işletim sisteminin kalbi sayılan çekirdeğin belleğine erişebilmesini sağlıyor.

İyi haber: İşletim sisteminizi yamayarak bu saldırının önüne geçmek mümkün. Kötü haber, donanım seviyesinde göz açıp kapayıncaya kadar yapılan bu güvenlik kontrolünü işletim sistemi seviyesinde yapmak çok daha yavaş ve işletim sisteminin bellek yönetim mekanizmasında ciddi değişiklikler gerektiriyor. Bu yazı yazıldığı sırada Apple macOS için yamalar hazırdı. Microsoft da önümüzdeki haftalar içinde bir yama yayınlamaya hazırlanıyor. Linux içinse bu sorunu adresleyen KAISER (daha sonra KPTI olarak yeniden adlandırıldı) yama seti Linus'un ve diğer çekirdek geliştiricilerinin renkli yorumları eşliğinde yayınlanmaya hazırlanıyor.

Spectre

Şimdi gelelim ikinci açığa... Spectre. Özünde Spectre de Meltdown ile aynı mekanizmaları kullanıyor. Ancak Meltdown'ın aksine Spectre sadece çekirdeğin bellek alanına erişimi değil diğer uygulamaların bellek alanlarına da doğrudan olmayan bir erişim yolu sağlıyor. Aralarındaki bir diğer fark ise Meltdown sadece Intel işlemcilerini etkilerken Spectre'nin farklı işlemci markaları ve farklı işlemci mimarilerini de etkileyebiliyor olması. Özünde Meltdown ile en önemli farkı Meltdown'ın farklı yetki seviyelerindeki bellek bölgeleri arasında çalışabiliyorken Spectre'nin aynı seviyedeki uygulamalar arasinda etkili olması.

BIr "implementasyon" hatasından çok "spekulatif çalıştırma" fikrinin kendisi ile ilgili bir sorun olduğu için ne yazık ki Spectre için tek bir yama yapmak mümkün değil. Tek çözüm Spectre tabanlı açıklar yayınlandıkça onları teker teker yamamak.

Peki şimdi ne olacak?

Şimdi işletim sistemi üreticileri Meltdown için yamalarını yayınlayacaklar, yükleyeceksiniz (işletim sisteminizi daima güncel tutuyorsunuz, değil mi?) ve bilgisayarınız biraz yavaşlayacak. Ardından insanlar Spectre'yi kullanan açıklar bularak bulut sağlayıcılarına saldırmaya başlayacaklar. Sizin evdeki bilgisayarınızın aksine "bulut" sistemlerinde aynı donanım üzerinde pek çok müşterinin hizmetleri çalışıyor olabilir. Bu uygulamalar normalde işletim sistemi ve donanım platformunun onlara sunduğu güven ortamında rahat rahat çalışırlar. Şimdi bu bariyerlerin yıkılması ile uygulamalar birbirlerinin gizlisine saklısına erişebilir olacaklar. Bu noktada bizi çok eğlenceli günlerin beklediğini görmek çok da zor degil.

Çözüm?

Şimdilik kolay bir çözüm yok. İlgili CERT duyurusunda da dediği gibi: Tek gerçek çözüm donanımınızı değiştirmek. Tabi önce bütün işlemci üreticilerinin donanım mimarilerini bu tip saldırılara engel olacak şekilde güncellemeleri gerekecek. Bütün bu hareketliliğin dünya ekonomisine etkisini ise hep birlikte göreceğiz.

Kaynaklar:

Görüşler

2
butch

Bu açıklar sayesinde Intel iyice zenginleşecek diye anlıyorum.

Öte yandan henüz garantisi bitmemiş, elma logolu, intel işlemcili bilgisayarım yavaşladığında şikayetçi olma hakkım var gibi düşünüyorum.

1
tongucyumruk

Ya iyice zenginlesecek, ya da acilacak davalarin sonucunda batma noktasina gelecek. Her durumda global ekonominin bundan etkilenecegi kesin. Zira islemci ureticileri yepyeni bir talep silsilesi ile karsi karsiya kalsalar bile bu talebin altindan kalkip kalkamayacaklari belli degil.

2
kakkoyun

21 . yuzyil basinda cikan bir mikro islemci mimari hatasi bilinen dunyanin sonunu getirmisti...

2
auselen

Surekli donanim sirketlerinde calisan bir yazilimci olarak tahminim...

Ya durum Dieselgate gibi birilerinin kontrolunde performans olcumlerini (benchmark) arttirmak icin bazi kontrollerin ciddiye alinmamasidir.

Ya da, gelismis guvenlik saldirilarinin zavalli muhendislerin normal dunyalarini zorlamasi. Istatistik tabanli saldirilari (~side-channel) dusunmek normal is duzeninin pek parcasi degil.

Ama buyuk ihtimalle durum bu ikisinin karisimidir. Donanim dunyasinin gecer akcesi performans. Dogal olarak herkes buna yukleniyor ve böyle durumlar bonus hedefli gelistirme dongulerinin icinde olusuyor.

Tabi yazilim dunyasinda böyle durumlarin telafisi kolay da bakalim donanim/bulut dunyasi buna nasil yaklasacak.

Ustelik konsol dunyasi gibi anahtar tabanli sistemlerin, isleri cok cok daha zorlasacak. Dusunsenize birileri xbox icin XDK/UWP ile kolayca uygulama hazirlayip anahtar kesifleri icin yola cikabilir. Netflix vs icin de kabus gibi durumlar olabilir.

Hala kafasi karisik olanlara resimli anlatim: https://twitter.com/twitter/statuses/948706387491786752

1
kakkoyun

Bu da guzel anlatmis orneklerle bilal'e anlatir gibi http://blog.cyberus-technology.de/posts/2018-01-03-meltdown.html

1
auselen

Problem çözümlerin sistem performanslarını etkileyecek olması...

1
butch

Evet. Apple'in kapisina dayanmak icin bir sonraki guncellemeyi bekliyorum.

1
hb

Apple cok buyuk bir performans kaybi olmadigini aciklamis: https://support.apple.com/en-us/HT208394

1
Zakkum

Apple biraz daha bekleseymis ozur dilemek yerine sucu donanim ureticilerine atabilirdi.

https://www.theguardian.com/technology/2017/dec/21/apple-admits-slowing-older-iphones-because-of-flagging-batteries

1
butch

Durumun sanallaştırılmış ortamlardaki Redis üzerindeki etkisi için bir çalışma. Özet: Yavaşlayacağız.

2
butch

İlk yavaşlama haberleri gelmeye başladı. Epicgames duyurusu burada.

2
butch

Meltdown'un AWS üzerindeki etkisi hakkında bir inceleme burada.

1
murat

@butch AWS bu durumdan kullanıcılara fatura çıkartıyor mu?

1
kakkoyun

@murat AWS bu durumu Intel'e fatura etmeli bence 😂

1
murat

@kakkoyun doğru olan o tabi ama... gerçekler nasıl acaba.

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Live CD'ler ve read-only mount

e2e

GNU/Linux'un en büyük katkılarından biri de Live CD'ler oldu. Knoppix ile başlayan Live CD serisi şimdilerde epey bir arttı. Live CD'lerin en temel kullanım alanlarından biri de "forensic", yani "kırılmış" bir sistem üzerinde iz sürme, kanıt bulma vs. Live CD'lerin makinadaki disk bölümlerini read-only mount etme özelliği sayesinde diskte herhangi bir kanıt kaybına neden olmadan bu işlem rahatlıkla yapılabiliyor, ya da en azından öyle düşünülüyordu.

Linux-Forensics.com'da yer alan bu incelemeye göre bu konuda istisnalar var. Yazar, EXT3 ve Reiserfs dosya sistemi olan disklerde read-only mount edilmesine rağmen disklerdeki hash değerlerinin değiştiğini belirtiyor. Bunun bu dosya sistemlerinin journaling özelliğinden kaynaklanıyor olabileceğini de ekleyen yazar, bunun sadece Knoppix'in değil, denediği başka Live CD GNU/Linux'larda da olduğunu söylüyor.

GnuPG Sisteminde Kullanılan El-Gamal İmza Anahtarlarında Problem

FZ

(FM kurucu editörlerinden sundance´in uyarısına göre:) Phong Nguyen isimli uzmanın tespitine göre GnuPG sayısal şifreleme ve belge imzalama sisteminde kullanılan ve sistemin belge imzalama kısmını ilgilendiren ElGamal anahtar oluşturma kısmında ciddi bir problem mevcut. Bu ciddi açıktan yola çıkarak ElGamal imzalı belgelerde değişiklik yapmak ve daha da önemlisi bunlardan yola çıkarak belgeyi imzalayan kişinin sahip olduğu özel (private) sayısal anahtarı birkaç saniyede öğrenmek mümkün.

Konu ile ilgili ilk resmi yazışmalardan birini bu adreste okuyabilirsiniz.

Merhaba DRM, Güle Güle Özgürlük

tongucyumruk

Ve sonunda gerçekleşti... Intel 26 Mayıs'ta yeni çift çekirdekli işlemcisi Pentium D ve onunla birlikte piyasaya giren yeni i945 yonga setini duyurdu. Duyurulmayan veya satır aralarında geçiştirilen ise işlemci ve yonga setinin donanıma gömülü DRM teknolojileri içeriyor olduğuydu.

DRM (Digital Rights Management - Dijital Hak Yönetimi) telif hakkı sahiplerinin kendilerine ait içeriğin kullanımını donanım seviyesinde kısıtlayabilmelerini sağlayan bir teknoloji. Bu sayede telif hakkı sahibi elinizdeki CD'yi kaç defa dinleyebileceğinizden tutun kimlere ödünç verebileceğinize kadar her türlü konuda söz hakkına sahip oluyor.

Evet, bilgisayarını özgürce kullanmak isteyenler için son çağrı.

Fazlamesai bir zavallıyı takdim eder...

sundance

Bugün irc.freenode'daki #fazlamesai kanalında arkadaşlarla sohbet ederken, kanalın müdavimlerinden Xybernaut'un nickine benzeyen nickli biri bana özelden mesaj attı, bu ve ardından gelişen zavallı muhabbeti okumanızı isterim. Görün bakın ülkemizde social engineering ne kadar zavallı durumlarda, ne salaklar var :)

Xyber[busy]] cc varmi elinde ?
[sundance] cc ne be ?
[sundance] kredi kartı mı ?
[Xyber[busy]] kredi karti
[sundance] var nolcak ?
[Xyber[busy]] bilgileri ver az
[Xyber[busy]] cok lazim
[Xyber[busy]] neyse oderim
[sundance] :)) haaa, sen benden kaçak kredi karti numarası istedin ?
[sundance] vay çakal vay, rezil etmez miyim ben seni simdi FM camiasına :))

Bir efsane: Phrack

sundance

Hatırlıyorum da ilk Phrack Magazine'i okuduğumda Amiga kulanıyordum. Elemanın teki BlueBox kullanarak yabancı bir BBS`ten indirmişti (Jason of Bronx) Okudum ve bayıldım.

Phrack taaa 1985`te başlamış, temel olarak telefon sistemlerinin özelliklerini keşfetmeyi ve bu bilgileri paylaşmayı hedef edinmiş bir underground dergi. Sadece dijital ortamda dağıtılıyor, taa 1985'te akustik kuplör kullanan (300 bps) BBS`lerden beri...