Thursday, August 13, 2015

Intel İşlemcilerde Rowhammer Zafiyeti

Belirli aralıklarla “seksi” zafiyetler çıkıyor. Bunlardan bazıları Heartbleed ve Shellshock gibi etkileri veya hedef aldıkları sistemlerin yaygınlığı ile dikkat çeker (ki hatırlayalım Heartbleed’in logosu vadı), bazıları ise istismar kolaylıkları ile. Geçtiğimiz aylarda iPhone’ları bir SMS ile kilitleyen bir zafiyet çıkmıştı, yakın zamanda ise Android telefonların MMS mesajıyla ele geçirilmesini sağlayan bir zafiyet çıktı.



Ne olursa olsun, magazin medyası gibi pek çok güvenlik ürünü satan şirket bunları “korku hikayesi” anlatmak için kullanmayı seviyorlar. Neredeyse “tek MMS’le Android hackleniyormuş, gelin firewallunuzu yenileyin” diyecekler. Hele bir de “APT” kelimesini aynı cümle içine yerleştirmenin yolu bulunursa, ilgili ofislerde öyle bir bayram havası eser ki, sanırsınız Ankara’dan abileri gelmiş.

Yazılımlar olduğu sürece bu tür zafiyetler çıkacak, tıpkı başka bir ülkenin “siber ordusuna” bağlı hackerların istedikleri sisteme sızabilecekleri gerçeği gibi, bu kabullenmek zorunda olduğumuz bir şey. Bunlardan kaynaklı riskleri kabul edip, yönetmemiz gerekiyor.

MMS ile Android hacklemenin magazinsel boyutunu bir yana bırakarak, özellikle benim hizmet verdiğim kurumsal müşteri profilinde, daha çok can yakabileceğini düşündüğüm başka bir zafiyete dikkat çekmek istiyorum. Henüz 1 milyara yakın Android işletim sistemini kullanan cihazın olabileceğinin şokunu atlatamamışken, Intel işlemcileri etkileyebilecek bir zafiyet duyuruldu.

“Rowhammer” adı verilen bu zafiyeti istismar eden saldırganlar hedef sistem üzerinde yetkilerini yükseltebiliyorlar. Bilindiği kadarıyla uzaktan istismar edilebilen ve yazılımın donanımı etkilediği ilk zafiyet bu. Kötü haberi hemen vereyim; bu donanımsal bir zafiyet olduğu için 2009 yılından beri üretilen bütün Intel işlemcilerde olma ihtimali var.

Rowhammer nedir?
Kısaca; DRAM (Dynamic Random Access Memory) işlemcilerde iki hafıza parçasına (saldırgan) sıkça ve sürekli erişerek üçüncü bir hafıza parçasında (kurban) bit değişikliğine neden olan bir zafiyettir. Konu hakkında yayınlanmış makaleye http://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf adresinden ulaşabilirsiniz. Kurban olarak belirlenen hafıza parçasının saldırgan tarafından kullanılan prosesin emrindeki hafıza parçasının dışında olması nedeniyle bu zafiyet istismar edilerek yetki yükseltilebiliyor.

Zafiyet işlemcilerin boyutlarının sürekli küçülmesinin doğal bir sonucu olarak karşımıza çıkmaktadır. İşlemci küçülürken işlemci bileşenleri birbirlerine yaklaşıyor ve kullandıkları elektrik akımının bir başka bloğa atlamasını engellemek zorlaşıyor. Bu elektrik “kaçakları” kullanılarak da hafızanın, kullanıcı yetkilerimiz veya uygulamalarımız itibariyle, bizimle hiç alakası olmayan bir hafıza bloğuna etki etmemiz mümkün oluyor. Konuyu çok dağıtmadan anlatmak adına aşağıdaki görseli hazırladım;


Rowhammer
Bu örnekte DRAM hücresi olan A’ya saldırgan kendi yetkileriyle yazabildiğini varsayalım, bu kısım yetkisiz bir kullanıcının kullanabildiği bir yazılımın ulaşabildiği blok olsun. B ise kullanmaya yetkimiz olmayan bir hafıza bloğu. A’ya kısa sürede belli miktarda veri yazarsam (bkz. 1’i devamlı 0, 1, 0, 1, 0, vb… değiştirmek) oluşturduğum elektrik akımıyla bir süre sonra B’deki değer de değişebiliyor (0 ise 1, 1 ise 0 oluyor). Google tarafından test edilen 29 laptop işlemcisinin önemli bir kısmının bu zafiyetten etkilendiği görülmüş. Kullandığınız sistemlerde bu zafiyetin olup olmadığını anlamak için, yine Google’un geliştirdiği bir test yazılımına https://github.com/google/rowhammer-test adresinden ulaşabilirsiniz.

Aklımıza hemen gelen Intel işlemci kullanan PC’lerin dışında Apple’ların veya Cisco gibi ağ ve güvenlik cihazlarının da Intel marka işlemci kullanmaları bu tehdidin çok geniş bir kitleyi etkilemesine neden olmaktadır.

Neden Şimdi?
Yukarıda okuduklarınız geçen senenin sonu ve bu senenin başında belirli çevrelerde konuşulan bir konuydu. Genelde bunun gibi, henüz yaygınlaşmamış veya çok özel koşulların oluşmaması durumunda istismar edilemeyecek zafiyetleri, biraz da yok yere uykumuz kaçmasın diye, çok dillendirmiyorum. Geçtiğimiz hafta Avusturya Graz Üniversitesinden araştırmacılar tarafından yayınlanan bir makalede (http://arxiv.org/pdf/1507.06955v1.pdf) Rowhammer zafiyetinin bir JavaScript betiği ile nasıl istismar edilebileceği gösterildi.

Normal şartlar altında, saldırganın doğrudan işlemciyle konuşabileceği durumlarda istismar edilebilecek bu zafiyet herhangi bir websayfasının içine saklanabilecek hale geldi. Teorik bir saldırı bir anda karşımıza, “kurban buraya tıklıyor ve işleri bitiyor” senaryosu ile, çıktı. Rowhammer zafiyetine karşı bir süredir üreticiler BIOS güncellemeleri yayınlıyorlar ancak kullanıcıların ne kadar azının düzenli olarak BIOS güncellemesi yaptığını düşünürsek tehdidin internet kökenli olması nedeniyle tarayıcı üreticilerinin de bir çözüm üzerinde çalışmalarında fayda olacak gibi görünüyor.

Süper Zafiyet’e Hazır Olmak
Android “Stagefright”, “Heartbleed”, “POODLE” ve “Shellshock” gibi internete bağlı pek çok sistemi etkileyebilecek bir “Süper Zafiyet” ile daha karşı karşıyayız. Son zamanlarda bu tür zafiyetlerin sıkça çıkması nedeniyle kuruluşların bu ölçekteki zafiyetlere karşı hazır olmaları gerekiyor. Bu amaçla aşağıdaki noktaları dikkate alarak “bir sonraki geniş çaplı zafiyete” hazırlık yapmamızda fayda var;

“Bununla yaşamayı öğrenmeliyiz”
Deprem zamanı sıkça duyduğumuz bu söz bilgi güvenliği konusunda da geçerlidir. Er yada geç, bu geniş çaplı “süper zafiyetlerden” birisi kuruluşumuzda bulunan sistemleri etkileyecek (kayıtlara geçmesi açısından, şu ana kadar yazıda adı geçenlerin hepsi, büyük ihtimalle zaten etkiledi veya etkiliyor).

Takip Etmek
Bilinmeyen bir zafiyetin istismar edilmesini engelleyemeyiz. Mesela Rowhammer, kumhavuzu (sandbox) teknolojisinin atlatılması için de rahatlıkla kullanılabileceği için savunma hattımız etkisini yitirecektir. Bu nedenle sadece savunmaya odaklanmak yerine savunmanın aşıldığı senaryoları da dikkate alarak, örneğin kuruluş ağından çıkan internet trafiği izlenmelidir.

Hazır Olmak
Kuruluş içerisinde bilgi güvenliğinden sorumlu birimlerin hazır olması gerekmektedir. Böyle bir durumla karşılaştıklarında nasıl tepki verecekleri kuruluşun olaydan asgari kayıpla çıkmasını sağlayabilecek önemli bir etkendir. SOME (Siber Olaylara Müdahale Ekibi) süreçlerine ve hazırlık senaryolarına bu tarz “süper zafiyet” durumlarının da eklenmesi şarttır.

Evanteri Bilmek
Kuruluş bünyesinde kullanılan bütün yazılım ve donanımların listesinin olması Rowhammer örneğinden de anlaşılacağı gibi çok önemlidir. Bu yazıyı okurken ya kuruluş ağınızdaki Intel işlemcileri biliyordunuz veya yarın ilk iş bunları çıkartmak için uğraşacaksınız. Kriz durumları yaşanmadan bu envanter çalışmasını yapmakta fayda var.

En kötüsüne Hazır Olmak 
Üreticinin güncelleme yayınladığı durumlarda işimiz nispeten kolay ancak üreticinin güncelleme veya yama yayınlamadığı durumlarda da ne yapacağımızı bilmemiz şarttır. Üreticinin size yardımcı olamadığı (en azından an itibariyle) durumlar için de bir kontrol listesi hazırlamamız gerekiyor.

No comments:

Post a Comment