Bilgisayar güvenliğinde, soğuk önyükleme saldırısı (veya daha az ölçüde, platform sıfırlama saldırısı), bir bilgisayara fiziksel erişimi olan bir saldırganın, hedef makineyi sert bir şekilde sıfırlayarak bilgisayarın rastgele erişim belleğinin (RAM) bellek dökümünü gerçekleştirdiği bir yan kanal saldırısı türüdür. Tipik olarak, soğuk önyükleme saldırıları, kötü niyetli veya cezai soruşturma nedenleriyle çalışan bir işletim sisteminden şifreleme anahtarlarını almak için kullanılır. Saldırı, güç kapatıldıktan sonraki saniyeler ila dakikalar içinde okunabilir kalan bellek içeriğini almak için DRAM ve SRAM’ın veri kalıcılığı özelliğine dayanır.
Çalışan bir bilgisayara fiziksel erişimi olan bir saldırgan tipik olarak makineyi soğuk başlatarak ve önyükleme öncesi fiziksel belleğin içeriğini bir dosyaya dökmek için çıkarılabilir bir diskten hafif bir işletim sistemi başlatarak bir soğuk başlatma saldırısı gerçekleştirir. Saldırgan daha sonra çeşitli anahtar bulma saldırılarını kullanarak anahtarlar gibi hassas verileri bulmak için bellekten dökülen verileri analiz etmekte serbesttir. Soğuk önyükleme saldırıları rastgele erişimli belleği hedef aldığından, tam disk şifreleme şemaları, güvenilir bir platform modülü yüklü olsa bile, bu tür saldırılara karşı etkisizdir. Bunun nedeni, sorunun temelde bir yazılım sorunu değil, bir donanım (güvensiz bellek) olmasıdır. Bununla birlikte, fiziksel erişimi sınırlandırarak ve hassas verileri rastgele erişimli bellekte saklamaktan kaçınmak için modern teknikler kullanarak kötü niyetli erişim önlenebilir.
Teknik Detaylar
DIMM bellek modülleri güç kaybettikçe zaman içinde kademeli olarak veri kaybeder, ancak güç kesildiğinde tüm verileri hemen kaybetmez. Belirli bellek modüllerinde, dondurucu sprey ve sıvı nitrojen ile soğutularak bir saldırı için zaman aralığı saatler hatta bir haftaya kadar uzatılabilir. Ayrıca, bitler zaman içinde bellekte kaybolurken, tahmin edilebilir bir şekilde yok olduklarından yeniden yapılandırılabilirler. Sonuç olarak, bir saldırgan soğuk önyükleme saldırısı gerçekleştirerek içeriğinin bellek dökümünü yapabilir. Soğuk önyükleme saldırısını başarılı bir şekilde gerçekleştirme yeteneği farklı sistemler, bellek türleri, bellek üreticileri ve anakart özellikleri arasında önemli ölçüde değişiklik gösterir ve yazılım tabanlı yöntemlerden veya DMA saldırısından daha zor olabilir. Mevcut araştırmanın odak noktası disk şifreleme olsa da, bellekte tutulan tüm hassas veriler saldırıya karşı savunmasızdır.
Saldırganlar, hedef makineyi zorla ve aniden yeniden başlatarak ve ardından önceden yüklenmiş bir işletim sistemini bir USB flash sürücüden, CD-ROM’dan veya ağ üzerinden önyükleyerek soğuk önyükleme saldırıları gerçekleştirir. Hedef makineyi sıfırlamanın pratik olmadığı durumlarda, bir saldırgan alternatif olarak bellek modüllerini orijinal sistemden fiziksel olarak çıkarabilir ve bunları hızlı bir şekilde saldırganın kontrolü altındaki uyumlu bir makineye yerleştirebilir, bu makine daha sonra belleğe erişmek için önyüklenir. Daha sonra RAM’den dökülen verilere karşı daha fazla analiz yapılabilir.
Benzer bir saldırı türü, fiziksel belleğe FireWire gibi yüksek hızlı bir genişleme portu üzerinden erişilmesini sağlayan bir DMA saldırısı gibi bellekten veri çıkarmak için de kullanılabilir. Donanım hasarı riskinin yüksek olduğu durumlar gibi belirli durumlarda soğuk önyükleme saldırısı tercih edilebilir. Yüksek hızlı genişletme bağlantı noktasının kullanılması bazı durumlarda donanıma kısa devre yaptırabilir veya fiziksel olarak zarar verebilir.
Kullanım Alanları
Cold boots saldırıları genellikle dijital adli araştırmalar, hırsızlık gibi kötü niyetli amaçlar ve veri kurtarma için kullanılır.
Dijital Adli Tıp
Bazı durumlarda, soğuk önyükleme saldırısı dijital adli tıp disiplininde bellekte bulunan verileri adli delil olarak korumak için kullanılır. Örneğin, bellekteki verileri başka yollarla korumak pratik olmadığında, rastgele erişimli bellekte bulunan verilerin dökümünü yapmak için soğuk önyükleme saldırısı kullanılabilir. Örneğin, bir sistemin güvenliğinin sağlandığı ve bilgisayara erişimin mümkün olmadığı durumlarda soğuk önyükleme saldırısı kullanılır. Bir sabit disk tam disk şifreleme ile şifrelendiğinde ve disk potansiyel olarak suç faaliyeti kanıtı içerdiğinde de soğuk önyükleme saldırısı gerekli olabilir. Soğuk önyükleme saldırısı, hangi programların çalıştığı gibi sistemin o andaki durumu hakkında bilgi sağlayabilen belleğe erişim sağlar.
Soğuk önyükleme saldırısı, saldırganlar tarafından finansal bilgiler veya ticari sırlar gibi şifrelenmiş bilgilere kötü niyetle erişmek için kullanılabilir.
Tam Disk Şifrelemesini Atlatma
Soğuk önyükleme saldırılarının ortak bir amacı yazılım tabanlı disk şifrelemesini atlatmaktır. Anahtar bulma saldırılarıyla birlikte kullanıldığında soğuk önyükleme saldırılarının, Güvenilir Platform Modülü (TPM) güvenli şifreleme işlemcisinin kullanıldığı durumlarda bile çeşitli satıcıların ve işletim sistemlerinin tam disk şifreleme şemalarını atlatmanın etkili bir yolu olduğu gösterilmiştir.
İşletim sisteminin önyükleme öncesi PIN girilmeden veya bir donanım anahtarı olmadan önyükleme yapmasına izin verecek şekilde yapılandırılabilen disk şifreleme uygulamaları söz konusu olduğunda (örneğin, iki faktörlü kimlik doğrulama PIN’i veya USB anahtarı olmadan TPM kullanan basit bir yapılandırmada BitLocker), saldırı için zaman çerçevesi hiç sınırlayıcı değildir.
BitLocker
BitLocker varsayılan yapılandırmasında, diskin şifresini çözmek için ne bir PIN ne de harici bir anahtar gerektiren güvenilir bir platform modülü kullanır. İşletim sistemi açıldığında, BitLocker herhangi bir kullanıcı etkileşimi olmadan TPM‘den anahtarı alır. Sonuç olarak, bir saldırgan sadece makineyi açabilir, işletim sisteminin önyüklemeye başlamasını bekleyebilir ve ardından anahtarı almak için makineye karşı bir soğuk önyükleme saldırısı gerçekleştirebilir. Bu nedenle, varsayılan BitLocker uygulamasındaki bu güvenlik açığını aşmak için önyükleme öncesi PIN veya TPM ile birlikte bir başlangıç anahtarı içeren çıkarılabilir bir USB cihazı gibi iki faktörlü kimlik doğrulama kullanılmalıdır. Ancak bu geçici çözüm, bir saldırganın bellekten hassas verileri almasını veya bellekte önbelleğe alınan şifreleme anahtarlarını almasını engellemez.
Hafifletme
Soğuk önyükleme saldırısı gerçekleştirilerek bellek dökümü kolayca yapılabildiğinden, tam disk şifreleme için şifreleme anahtarları gibi hassas verilerin RAM’de depolanması güvenli değildir. Şifreleme anahtarlarını rastgele erişimli bellek dışındaki alanlarda saklamak için çeşitli çözümler önerilmiştir. Bu çözümler tam disk şifrelemesinin kırılma olasılığını azaltabilirken, bellekte saklanan diğer hassas veriler için hiçbir koruma sağlamaz.
Kayıt Tabanlı Anahtar Depolama
Şifreleme anahtarlarını bellek dışında tutmaya yönelik çözümlerden biri kayıt tabanlı anahtar depolamadır. Bu çözümün uygulamaları TRESOR ve Loop-Amnesia‘dır. Bu uygulamaların her ikisi de bir işletim sisteminin çekirdeğini değiştirir, böylece CPU kayıtları (TRESOR‘un durumunda x86 hata ayıklama kayıtları ve Loop-Amnesia‘nın durumunda AMD64 veya EMT64 profilleme kayıtları) şifreleme anahtarlarını RAM yerine depolamak için kullanılabilir. Bu seviyede saklanan anahtarlar kullanıcı alanından kolayca okunamaz ve bilgisayar herhangi bir nedenle yeniden başlatıldığında kaybolur. TRESOR ve Loop-Amnesia, kriptografik belirteçleri bu şekilde saklamak için mevcut alanın sınırlı olması nedeniyle anında yuvarlak anahtar üretimi kullanmalıdır. Güvenlik için, her ikisi de şifreleme veya şifre çözme gerçekleştirilirken anahtar bilgilerinin CPU kayıtlarından belleğe sızmasını önlemek için kesintileri devre dışı bırakır ve her ikisi de hata ayıklama veya profil kayıtlarına erişimi engeller.
Modern x86 işlemcilerde anahtarları saklamak için iki potansiyel alan vardır: Tüm SSE talimatlarını (ve zorunlu olarak bunlara dayanan tüm programları) devre dışı bırakarak ayrıcalıklı hale getirilebilecek SSE kayıtları ve çok daha küçük olan ancak böyle bir sorunu olmayan hata ayıklama kayıtları.
SSE kayıt yöntemine dayanan ‘paranoix‘ adlı bir kavram kanıtı dağıtımı geliştirilmiştir. Geliştiriciler, “TRESOR’u AES-NI’yi destekleyen 64 bit CPU üzerinde çalıştırmanın, AES’in genel bir uygulamasına kıyasla performans cezası olmadığını, ve anahtar yeniden hesaplama ihtiyacına rağmen standart şifrelemeden biraz daha hızlı çalıştığını” iddia etmektedir. Loop-Amnesia‘nın TRESOR‘a kıyasla birincil avantajı çoklu şifrelenmiş sürücülerin kullanımını desteklemesidir; birincil dezavantajları 32-bit x86 için destek eksikliği ve AES-NI‘yi desteklemeyen CPU’larda daha kötü performanstır.
Önbellek Tabanlı Anahtar Depolama
“Dondurulmuş önbellek” (bazen “RAM olarak önbellek” olarak da bilinir), şifreleme anahtarlarını güvenli bir şekilde saklamak için kullanılabilir. Bir CPU’nun L1 önbelleğini devre dışı bırakarak çalışır ve anahtar depolama için kullanır, ancak bu, genel sistem performansını çoğu amaç için çok yavaş olacak kadar önemli ölçüde düşürebilir.
Benzer bir önbellek tabanlı çözüm Guan ve diğerleri tarafından, verileri önbelleklerde tutmak için WB (Geri Yazma) önbellek modunu kullanarak, açık anahtar algoritmalarının hesaplama sürelerini azaltarak önerilmiştir.
Mimosa IEEE S&P 2015‘te soğuk önyükleme saldırılarına ve DMA saldırılarına karşı açık anahtarlı kriptografik hesaplamalar için daha pratik bir çözüm sunmuştur. Mimosa, çok iş parçacıklı uygulamaların performansını artırmak için spekülatif bir bellek erişim mekanizması olarak önerilen donanım işlem belleğini (HTM) kullanmaktadır. HTM tarafından sağlanan güçlü atomiklik garantisi, hassas veriler içeren bellek alanına yasadışı eşzamanlı erişimleri yenmek için kullanılır. RSA özel anahtarı, TRESOR tarafından korunan bir AES anahtarı ile bellekte şifrelenir. Talep üzerine, bir HTM işlemi içinde bir RSA özel anahtar hesaplaması gerçekleştirilir: özel anahtar önce belleğe şifresi çözülür ve ardından RSA şifre çözme veya imzalama işlemi gerçekleştirilir. Düz metin bir RSA özel anahtarı bir HTM işleminde yalnızca değiştirilmiş veri olarak göründüğünden, bu verilere yönelik herhangi bir okuma işlemi işlemi iptal eder – işlem başlangıç durumuna geri döner. RSA özel anahtarının ilk durumda şifrelenmiş olduğunu ve yazma işlemlerinin (veya AES şifre çözme) bir sonucu olduğunu unutmayın. Şu anda HTM, her ikisi de harici RAM yongalarında değil CPU’larda bulunan önbelleklerde veya depolama tamponlarında uygulanmaktadır. Böylece soğuk önyükleme saldırıları engellenir. Mimosa, hassas verileri bellekten okumaya çalışan saldırılara (soğuk önyükleme saldırıları, DMA saldırıları ve diğer yazılım saldırıları dahil) karşı koyar ve yalnızca küçük bir performans ek yükü getirir.
Şifrelenmiş Disklerin Sökülmesi
En iyi uygulama, çoğu disk şifreleme yazılımı kullanımdan sonra bellekte önbelleğe alınan anahtarları güvenli bir şekilde silmek için tasarlandığından, kullanılmadığında şifrelenmiş, sistem dışı disklerin sökülmesini önerir. Bu, bir saldırganın soğuk önyükleme saldırısı gerçekleştirerek şifreleme anahtarlarını bellekten kurtarabilme riskini azaltır. İşletim sistemi sabit diskindeki şifrelenmiş bilgilere erişimi en aza indirmek için, başarılı bir soğuk önyükleme saldırısı olasılığını azaltmak amacıyla makine kullanılmadığında tamamen kapatılmalıdır. Ancak veriler, makinedeki fiziksel RAM aygıtına bağlı olarak onlarca saniyeden birkaç dakikaya kadar okunabilir kalabilir ve potansiyel olarak bazı verilerin bir saldırgan tarafından bellekten alınmasına izin verebilir. Bir işletim sistemini uyku modunu kullanmak yerine kullanılmadığında kapanacak veya hazırda bekletilecek şekilde yapılandırmak, başarılı bir soğuk önyükleme saldırısı riskini azaltmaya yardımcı olabilir.
Akıllı Telefonlar
Soğuk önyükleme saldırısı Android akıllı telefonlara uyarlanabilir ve benzer bir şekilde gerçekleştirilebilir. Akıllı telefonlarda sıfırlama düğmesi bulunmadığından, telefonun bataryasının bağlantısını keserek sert sıfırlamaya zorlayarak soğuk önyükleme gerçekleştirilebilir. Akıllı telefon daha sonra bellek dökümü gerçekleştirebilen bir işletim sistemi görüntüsüyle flaşlanır. Tipik olarak akıllı telefon bir USB portu kullanılarak saldırganın makinesine bağlanır.
Tipik olarak Android akıllı telefonlar, telefon kilitlendiğinde şifreleme anahtarlarını rastgele erişimli bellekten güvenli bir şekilde siler. Bu, bir saldırganın telefona karşı soğuk önyükleme saldırısı gerçekleştirmeyi başarsa bile anahtarları bellekten geri alabilme riskini azaltır.