2014-12-30 19 views
5

Çok sayıda önbellek modu (dolma modu) hakkında okudum ve bir numara olup olmadığını, yürütülebilir kodun yazılıp atlanıp atlanamayacağını merak ediyorum. yani, bir seviye önbelleğinin yarısı ile sınırlı olan yürütülebilir koddur (önbellek gerçekten sadece sram olduğundan).Önbellek-as-Ram (dolgu modu yok) Yürütülebilir Kod

cevap

4

Coreboot aslen L1 veri önbelleği C grubunu kaydetmek için CAR kullandı: http://rere.qmqm.pl/~mirq/cache_as_ram_lb_09142006.pdfhttp://www.coreboot.org/images/6/6c/LBCar.pdf

kodu çalıştırmak için, ARAÇ moduna birleşik L2 geçmesi gerektiğini daha sonra L1i (en modern masaüstü/uygulama CPU'lar sahip olduğunu bilmeli ayrıldı L1: veri için bir tane - L1d - okuma/yazma ve diğer - salt okunur L1i ile kod için) CAR L2'den kod okuyabilecektir. Böyle mod hayata geçirildi - (akeo) "UBRX x86 PC'ler için Evrensel BIOS Kurtarma konsoluna" olmak üzere iki ayrı L1 önbellekleri vardır ondie http://pete.akeo.ie/2011/08/ubrx-l2-cache-as-instruction-ram.html

: talimat biri ile, talimatlar için bir veri ve başka varlık salt okunur . Bu nedenle, coreboot'tan gelen CAR kurulum yöntemi sadece L1 veri önbelleğine erişim sağlar, talimatı değil, bu yüzden kodumuzu sadece L1-Data'ya yükleyemeyiz ve çalışmasını bekleyemeyiz.

da Frozen memory attacks gelen kodu korumak için ürünü yarattı ticari şirket oldu (saldırgan DRAM dondu zaman, DRAM modülü çeker ve çoğu veri on saniye ve kaydedilir okumak için başka PC'ye taşımak). Ürünü tüm os/hypervisor çekirdeğini ön belleğe yükler, hem kod hem de veri CPU içinde saklanır. Ürün PrivateCore dan vCage idi (Reverse engineering a Docker deployment on private cloud ve Preventing reverse engineering with binary code and secret key yoluyla bilgi için AdamNYC user sayesinde):

("vCage konak bir RAM disk üzerinde bir vatansız canlı görüntü Linux KVM olarak paketlenir").

https://security.stackexchange.com/questions/53165/is-it-possible-to-boot-an-encrypted-server-remotely-and-securely

, comment security.SE user northox tarafından:

"temelde sadece Intel ve özel Çekirdek güven gerekiyor Kısaca, vCage uzak onay ile doğrulanmış bir L3 ikamet hypervisor'ı sağlamak vCage durumunda.."

Kontrol slayt 36 https://forum.stanford.edu/events/2014/2014slides/plenary/Oded%20Stanford%20Annual%20Forum%202014.pdf#page=36

ait

Görüntü yüklenen "Fiziksel güvenlik • hesaplama çevresi olarak CPU önbelleğine vatansız bir görüntü yüklemek • CPU paketi kendisidir" CPU önbellek (L3); ve işletim sistemi Linux! (Slayt 39)

Büyük zorluklar • < 10MB süre içine Linux çekirdeği sıkın - tüm sanallaştırma özelliklerini tutulması - bu kararlı (No OOM izin verilir) tutulması •

Bu araçlar bizim kontrolümüz altında işlemci önbelleği tutun vCage önbellekten kod yürütme yeteneğine sahipti; ancak şirket artık Facebook'un halka açık bir parçası değil, dolayısıyla yeni detaylar veya linux yamaları açık kaynağı yok.

+0

https://www.blackhat.com/docs/us-14/materials/us-14-Weis-Protecting anlamları-In-Use-From-Firmware-And-Physical-Attacks-WP.pdf "PrivateCore (BH 2014) 'den Weis tarafından verilen" Firmware ve Fiziksel Saldırılardaki Kullanım Verilerinin Korunması ", kod için diğer birçok önbellek koruma projelerini de listelemektedir:" CARMA [68], anahtarları ve güvenilir kodu tamamen tutan başka bir yaklaşımdır CPU önbelleğinde .. .. ana belleği desteklemez, Yazılım Kripto işlemi [36] .. Tüm anahtar malzeme ve çekirdek kodu L3 önbelleğinde kalır ve asla düz metin olarak bellekte gösterilmez. (ve yakın metin) – osgx

+0

Mükemmel cevap! Teşekkürler! – Hatrick