Güvenilir Yürütme Ortamları (TEE'ler), blok zinciri mimarilerinden bulut hizmetlerine, yapay zeka ve finans işlemlerinden savunma sanayisine kadar her alanda yaygın olarak kullanılıyor. Özellikle Nvidia'nın Confidential Compute, AMD'nin SEV-SNP'si ve Intel'in SGX ve TDX'i, hassas verilerin ve işlemlerin işletim sistemi çekirdeği tam olarak ele geçirilmiş olsa bile görüntülenemeyeceği veya değiştirilemeyeceği yönünde güvenceler sunuyor.
Ancak, son zamanlarda ortaya çıkan üç yenilikçi fiziksel saldırı, bu TEE'lerin sunduğu gerçek güvenliğin sorgulanmasına yol açıyor ve bu teknolojileri kullanan firmaların abartılı vaatleri ve yanlış bilgilendirmeleri hakkında şüphe uyandırıyor.
Salı günü açıklanan en yeni saldırı olan TEE.fail, üç büyük çip üreticisinin en güncel TEE korumalarını etkisiz hale getiriyor. Düşük maliyetli ve karmaşıklığı az olan bu saldırı, tek bir fiziksel bellek çipi ile anakart yuvası arasına küçük bir donanım yerleştirilerek gerçekleştiriliyor. Saldırının başarılı olması için ayrıca işletim sistemi çekirdeğinin de ele geçirilmesi gerekiyor. Bu üç dakikalık saldırı tamamlandıktan sonra, Confidential Compute, SEV-SNP ve TDX/SDX artık güvenilir olmaktan çıkıyor. Geçtiğimiz ay ortaya çıkan ve yalnızca DDR4 belleği kullanan işlemcileri etkileyen Battering RAM ve Wiretap saldırılarının aksine, TEE.fail DDR5 belleği de etkileyebiliyor ve böylece en yeni TEE'lere karşı da çalışabiliyor.
Bazı Terimler Geçerli
Üç çip üreticisi de TEE'lerinin veya bilinen diğer adıyla güvenli alanlarının tehdit modellerinde fiziksel saldırıları dışlıyor. Bunun yerine, sunulan güvenceler, çekirdek işletim sisteminin ele geçirilmiş olması durumunda bile verilerin ve işlemlerin görüntülenmesi veya kurcalanmasından korunmasına sınırlı. Çip üreticilerinden hiçbiri bu istisnaları öne çıkarmıyor ve bazen sundukları TEE korumaları hakkında kafa karıştırıcı açıklamalar yapabiliyorlar.
Bu TEE'leri kullanan birçok kullanıcı, yanlış, yanıltıcı veya belirsiz beyanlarda bulunuyor. Üç çip üreticisi ve birçok TEE kullanıcısı, alanların ağ kenarındaki sunucuları korumak için uygunluğuna odaklanıyor; bu sunucular genellikle fiziksel erişimin en büyük tehdit olduğu uzak konumlarda bulunuyor.
Güvenlik araştırmacısı ve runZero'nun kurucusu ve CEO'su HD Moore, "Bu özellikler kırılmaya devam ediyor, ancak bu satıcıların bu kullanım durumları için satmalarını engellemiyor ve insanlar hala onlara inanmaya ve onları kullanmaya devam ediyor," diyor.
Moore, bu beyanları verenlerin bulut sağlayıcılarından yapay zeka motorlarına, blok zinciri platformlarına ve hatta çip üreticilerinin kendisine kadar uzandığını belirtiyor. İşte bazı örnekler:
- Cloudflare, sunucudan çalınması durumunda hassas verilerin çıkarılmasını engellemek için SEV tarafından desteklenen Secure Memory Encryption'ı kullandığını belirtiyor.
- Hassas bilgilerin sohbet oturumlarında korunma olasılığını detaylandıran bir yayında Anthropic, alanın "fiziksel saldırılara karşı korumalar içerdiğini" ifade ediyor.
- Microsoft'un pazarlaması, TEE korumalarını tartışırken bu istisnalardan hiç bahsetmeden bolca yer ayırıyor.
- Meta, Alan Güvenliği'nin donanıma fiziksel erişimi olan kötü niyetli sistem yöneticilerine veya alty yapısına sahip kişilere karşı koruma sağladığını belirtiyor. SEV-SNP, Meta'nın WhatsApp Messenger'ının güvenliğinin temel taşı olarak öne çıkıyor.
- Nvidia bile TEE güvenliğinin, bulut sağlayıcıları gibi altyapı sahiplerine veya sunuculara fiziksel erişimi olan kişilere karşı koruma sağladığını iddia ediyor.
- Signal özel mesajlaşma uygulamasının geliştiricisi, SGX kullanımının şifreleme ile ilişkili anahtarların asla CPU'nun dışına çıkmadığı, bu nedenle sunucu sahipleri veya sunucu altyapısına erişimi olan kişiler tarafından erişilemeyeceği konusunda kullanıcılara güvence veriyor. Signal, uzun süredir kişi keşfi verilerini korumak için SGX'e güveniyor.
Bunun gibi on iki kuruluşu daha benzer şekilde kafa karıştırıcı, yanıltıcı veya yanlış güvenceler sağladığını tespit ettim. HD Moore, otuz yılı aşkın deneyime sahip bir güvenlik uzmanı olmasına rağmen, "Intel/AMD'nin fiziksel erişimin kapsam dışı olduğunu beyan etmesi benim için şaşırtıcı, çünkü bu amacın ta kendisi," diyor.
Adil olmak gerekirse, bazı TEE kullanıcıları, TEE'lerin üzerine ek korumalar inşa ediyor. Örneğin Meta, WhatsApp'ın SEV-SNP uygulamasının, TEE.fail saldırganlarının sunucularını taklit etmesini engelleyecek korumalar kullandığını belirtti. Şirket, TEE.fail'in AMD TEE'den sırları çekebileceğini reddetmedi.
Cloudflare'in hırsızlık koruması ise SEV-SNP şifrelemesini yönlendiren motor olan SME'ye dayanıyor. Araştırmacılar SME'yi doğrudan TEE.fail'e karşı test etmediler. SME'nin üç TEE'nin de başarısız olmasına neden olan deterministik şifreleme kullandığını belirttiler.
TEE'lerin korumalarını yanlış beyan eden diğerleri, başka yerlerde daha doğru açıklamalar yapıyor. Tüm bu çelişkili bilgiler göz önüne alındığında, kafa karışıklığının olması şaşırtıcı değil.
Sunucunun Nerede Olduğunu Nasıl Biliyorsunuz? Bilmiyorsunuz.
Birçok TEE kullanıcısı altyapısını AWS, Azure veya Google gibi bulut sağlayıcıları içinde çalıştırıyor; burada tedarik zinciri ve fiziksel saldırılara karşı korumalar son derece sağlam. Bu, TEE.fail tarzı bir saldırı için çıtayı önemli ölçüde yükseltiyor. (Hizmetlerin geçerli celpnamelerle devletler tarafından kendi TEE'lerine saldırmaya zorlanıp zorlanamayacağı açık değil.)
Tüm bu uyarıların yanı sıra, genellikle (1) ucuz, fiziksel saldırıların artan uygulanabilirliği hakkında çok az tartışma, (2) henüz (henüz) üç saldırıya karşı savunmasız olmayan uygulamaların takip eden araştırmalara yenik düşmeyeceğine dair kanıt yok, veya (3) TEE'lere güvenen tarafların sunucuların nerede çalıştığını ve fiziksel tehlikelerden uzak olup olmadığını bilmeleri için bir yol yok.
TEE.fail ve Wiretap'ın arkasındaki araştırmacılardan Daniel Genkin, "Donanımın nerede olduğunu bilmiyoruz. Bir kullanıcının bakış açısından, sunucunun nerede olduğunu doğrulamanın bir yolu bile yok. Bu nedenle, saygın bir tesiste mi yoksa bir saldırganın bodrumunda mı olduğunu doğrulamanın bir yolu yok," diyor.
Başka bir deyişle, buluttaki sunuculardan gelen beyanlara güvenen taraflar, bir kez daha başkalarının bilgisayarlarına güvenmek zorunda kalıyor. Moore'un da belirttiği gibi, bu sorunu çözmek TEE'lerin varoluş amacının ta kendisi.
Blok zinciri hizmetleri Secret Network ve Crust ile ilgili en az iki durumda, TEE korumalarının kaybedilmesi, herhangi bir güvenilmeyen kullanıcının kriptografik beyanlar sunmasını mümkün kıldı. Her iki platform da bu beyanları, bir kullanıcının blok zinciri düğümünün diğer kullanıcının düğümlerinin işlemesine veya geçiş verilerine müdahale edemeyeceğini doğrulamak için kullandı. SGX'e yönelik Wiretap hack'i, kullanıcıların hassas verileri ve işlemleri TEE'nin dışında çalıştırmasına olanak tanırken, buna rağmen aksi yönde beyanlar sunuyordu. AMD saldırısında ise saldırgan, TEE'den geçen trafiği şifreleyebiliyordu.
Secret Network ve Crust, Wiretap ve Battering RAM ile olası fiziksel saldırıları öğrendikten sonra önlemler aldı. Net bir mesajlaşma eksikliği göz önüne alındığında, diğer TEE kullanıcılarının da benzer hatalar yapması muhtemeldir.
Önceden Belirlenmiş Bir Zayıflık
Üç fiziksel saldırının da temel nedeni, TEE'lerin temelini oluşturan deterministik şifreleme seçimidir. Bu şifreleme biçimi, aynı anahtarla aynı düz metni şifrelediğinizde her zaman aynı şifreli metni üretir. Bir TEE.fail saldırganı, şifreli metin dizilerini kopyalayıp yeniden oynatma saldırılarında kullanabilir. (Buna karşılık, olasılıksal şifreleme, aynı düz metnin şifreleme işlemi sırasında rastgele seçilen geniş bir şifreli metin yelpazesine şifrelenebilmesi nedeniyle bu tür saldırılara dirençlidir.)
TEE.fail, yalnızca SGX'e değil, aynı zamanda TDX olarak bilinen daha gelişmiş bir Intel TEE'ye de karşı çalışıyor. Saldırı ayrıca en yeni Nvidia Confidential Compute ve AMD SEV-SNP TEE'leri tarafından sağlanan korumaları da etkisiz hale getiriyor. TDX ve SGX'e yönelik saldırılar, uzak bir tarafa güncel yazılım çalıştırdığını ve güvenli alanın içindeki verileri veya işlemleri ifşa edemeyeceğini bildiren bir ECDSA gizemi olan Attestation Key'i çıkarabilir. Bu Attestation Key ise, ECDSA anahtarının güvenilebilir olduğunu gösteren kriptografik güvenceler sağlayan bir Intel X.509 dijital sertifikası ile imzalanır. TEE.fail, TDX ve SDX'i destekleyen tüm Intel CPU'lara karşı çalışıyor.
Anahtarın sahipliği ile saldırgan, ele geçirilen sunucuyu kullanarak güvenli alan içinden geçen verilere bakabilir veya kodu kurcalayabilir ve ilgili tarafa cihazın güvende olduğuna dair bir güvence gönderebilir. Bu anahtar ile diğer çip üreticileri tarafından üretilen CPU'lar bile, donanımın Intel TEE'leri tarafından korunduğuna dair bir beyanda bulunabilir.
Nvidia'nın Confidential Compute özellikli GPU'ları, beyan raporlarını belirli bir GPU tarafından korunan sanal makineye bağlamıyor. TEE.fail, saldırgan tarafından çalıştırılan bir GPU'dan geçerli bir beyan raporunu "ödünç alarak" ve bunu Confidential Compute'u çalıştıran GPU'yu taklit etmek için kullanarak bu zayıflıktan yararlanıyor. Koruma, Nvidia'nın H100/200 ve B100/200 sunucu GPU'larında mevcut.
Araştırmacılar, "Bu, kullanıcıları uygulamalarının (LLM'lerle veya Büyük Dil Modelleriyle yapılan özel sohbetler gibi) GPU'nun TEE'si içinde korunduğuna ikna edebileceğimiz anlamına gelirken, gerçekte açıkta çalışıyor," diyorlar ve saldırıyı detaylandıran bir web sitesinde "Beyan raporu 'ödünç alındığı' için, başlangıçta bir GPU'ya bile sahip değiliz," diye ekliyorlar.
SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging), AMD'nin Zen 5 mimarisine dayalı EPYC CPU'larında şifreli metin gizliliği kullanır. AMD bunu, kötü niyetli hipervizörlerin bir sanal makinenin güvenli alanlarında depolanan şifreleme anahtarlarını çıkarmasına olanak tanıyan Cipherleaks saldırısını önlemek için ekledi. Ancak şifreli metin, fiziksel saldırıları durduramaz. Cipherleaks'in dayandığı yan kanalın yeniden açılabilmesiyle, TEE.fail, OpenSSL kimlik bilgilerini ve sabit zamanlı şifrelemeye dayalı diğer anahtar materyallerini çalabilir.
Ucuz, Hızlı ve Bir Bavul Büyüklüğünde
Genkin, "Artık DDR5 trafiğini araya yerleştirdiğimiz için, çalışmamız tüm satıcıların en modern TEE'lerinin bile ucuz fiziksel saldırılara karşı savunmasız olduğunu gösteriyor," diyor.
TEE.fail tarafından kullanılan ekipman, 1.000 dolardan az maliyetli, piyasada bulunan parçalardan oluşuyor. Araştırmacıların ürettiği cihazlardan biri 17 inçlik bir bavula sığıyor, bu da TEE korumalı bir sunucuyu barındıran bir tesise gizlice sokulabileceği anlamına geliyor. Fiziksel saldırı yapıldıktan sonra cihazın tekrar bağlanmasına gerek kalmıyor. Saldırganlar, kendi işlettikleri sunuculardaki TEE'leri kırarken gizliliğe ihtiyaç duymuyor, bu da araştırmacıların ürettiği daha büyük bir cihazı kullanmalarına olanak tanıyor.
Araştırmacılar, çip üreticilerinin TEE korumalarına dayanan bir dizi hizmete karşı saldırılar gerçekleştirdi. (Etik nedenlerle saldırılar, hedeflerin ağlarına özdeş ancak ayrı altyapılara karşı gerçekleştirildi.) Bazı saldırılar arasında BuilderNet, dstack ve Secret Network yer aldı.
BuilderNet, veri gözetimini önlemek ve dürüstlüğü sağlamak ile kanıt para biriminin dürüstçe yeniden dağıtılmasını sağlamak için TDX kullanan bir Ethereum blok oluşturucu ağıdır. Ağ, her ay milyonlarca dolar değerinde blok oluşturuyor.
TEE.fail web sitesinde, "Bir saldırgan operatörün bir beyan anahtarını kullanarak BuilderNet'e katılabileceği ve yapılandırma sırlarını, gizli sipariş akışını çözme ve doğrulayıcıları ödemek için Ethereum cüzdanına erişme yeteneği de dahil olmak üzere elde edebileceği" açıklanıyor. "Ayrıca, saldırgan operatör, gizli işlemleri kar için rastgele bloklar oluşturabilir veya önceliklendirebilir (yani kendisininki ilk önce yürütülecek şekilde daha yüksek ücretli yeni bir işlem oluşturmak) ve aynı zamanda inkâr edilebilirlik sağlayabilir."
Bugüne kadar, araştırmacılara göre BuilderNet henüz bir çözüm sunmadı. BuilderNet yetkililerine ulaşma girişimleri başarısız oldu.
dstack, Nvidia Confidential Compute ile korunan sanal makineler üzerinde çalışan gizli uygulamalar oluşturmak için bir araçtır. Araştırmacılar, bir iş yükünün Nvidia korumasıyla TDX tarafından gerçekleştirildiğini onaylayan beyanları sahteleştirmek için TEE.fail'i kullandılar. Ayrıca, güvenilen bir tarafın GPU'ların sahipliğini taklit etmek için "ödünç alınan" beyanları kullandı.
Secret Network, "gizliliği koruyan akıllı sözleşmelerle ilk ana ağ blok zinciri" olarak lanse edilen bir platformdur ve kısmen zincirdeki verileri ve işlemleri SGX ile şifreleyerek bunu yapar. Araştırmacılar, TEE.fail'in Secret Network'teki gizli işlemleri şifreleyen ana ağ tarafı özel anahtarı olan "Concensus Seed"i çıkarabildiğini gösterdi. Belirtildiği gibi, Wiretap'ı öğrendikten sonra Secret Network, ağa katılmasına izin verilen bilinen, güvenilir düğümlerden oluşan "küratörlü" bir izin listesi oluşturarak ve yeni düğümlerin kabulünü askıya alarak bu olasılığı ortadan kaldırdı. Akademik olsun ya da olmasın, TEE.fail ile saldırıyı tekrarlayabilme yeteneği, Wiretap'ın tek seferlik bir başarı olmadığını gösteriyor.
Zorlu Bir Ceviz
Daha önce açıklandığı gibi, tüm TEE.fail saldırılarının temel nedeni, üç çip üreticisinin TEE'lerindeki korumaların temelini oluşturan deterministik şifrelemedir. Bu daha zayıf şifreleme biçimi her zaman TEE'lerde kullanılmıyordu. Intel ilk SGX'i piyasaya sürdüğünde, kullanıcıların telif hakkıyla korunan içerikler (yüksek çözünürlüklü video gibi) çıkarabilen cihazlar oluşturmasını önlemek için bu özellik istemci CPU'larda, sunucu CPU'larında değil, kullanıldı.
Bu erken sürümler, çok daha güçlü olasılıksal şifreleme biçimini kullanmak için yeterince küçük bir alan olan en fazla 256MB RAM'i şifreliyordu. Buna karşılık, sunucu çiplerine yerleştirilmiş TEE'ler genellikle terabaytlarca RAM'i şifrelemek zorundadır. Olasılıksal şifreleme, ciddi performans cezaları olmadan bu boyuta ölçeklenmez. Bu ek yükü karşılayacak bir çözüm bulmak kolay olmayacaktır.
Kısa vadede bir çözüm, her 128 bitlik şifreli metin bloğunun yeterli entropiye sahip olmasını sağlamaktır. Bloklara rastgele düz metin eklemek, şifreli metin tekrarını önler. Araştırmacılar, entropinin, şifrelemeden önce her 64 bitlik bloğa rastgele bir başlangıç değeriyle 64 bitlik bir sayaç eklenmesini içeren özel bir bellek düzeni oluşturarak eklenebileceğini söylüyor.
Araştırmacıların önerdiği son önlem, beyan mekanizmasına konum doğrulaması eklemektir. İçeriden ve tedarik zinciri saldırıları en saygın bulut hizmetlerinde bile bir olasılık olmaya devam etse de, katı politikalar bunları çok daha az olası hale getirir. Ancak bu önlemler bile, geçerli bir celpnamesi olan bir devlet kurumunun bir kuruluşu kendi ağı içinde böyle bir saldırı çalıştırmaya zorlaması tehdidini ortadan kaldırmıyor.
Nvidia bir açıklamasında şunları söyledi:
Intel sözcüsü Jerry Bryant şunları söyledi:
Şirket, TDX ve SGX için fiziksel saldırıların kapsam dışı olduğunu yineleyen yanıtları burada ve burada yayınladı.
AMD, yorum talebine yanıt vermedi.
Band-Aid'lerle Çözülmüş Gibi Görünen Ama Çözülmeyen Sorunlar
Şimdilik TEE.fail, Wiretap ve Battering RAM, çip üreticilerinin güvenli alanlarının varsayılan uygulamaları kullanılarak çözülemeyen kalıcı bir tehdit olmaya devam ediyor. Şimdilik en etkili önlem, TEE kullanıcılarının sınırlamaları anlaması ve çip üreticilerinin TEE tehdit modelinin bir parçası olmadığını belirttiği kullanımları kısıtlamasıdır. Secret Network'ün ağa katılan operatörler için gereksinimleri sıkılaştırması, bu tür bir önlemin bir örneğidir.
RunZero'nun kurucusu ve CEO'su Moore, büyük bütçeli şirketlerin daha büyük bulut hizmetleri tarafından oluşturulan özel çözümlere güvenebileceğini söylüyor. Örneğin AWS, TEE'leri kullanarak işlemeyi hızlandıran ASIC çipler üzerinde inşa edilmiş Nitro Card'ı kullanıyor. Google'ın özel çözümü ise Titanium.
Moore, "Bu gerçekten zor bir problem. Mevcut durumun ne olduğunu tam olarak bilmiyorum, ancak özel donanım alamıyorsanız, yapabileceğiniz en iyi şey CPU sağlayıcısının TEE'sine güvenmektir ve bu araştırma, fiziksel erişimi olan bir saldırganın bakış açısından bunun ne kadar zayıf olduğunu gösteriyor. Güvenli alan, gerçekten zor bir probleme uygulanan bir band-aid veya sertleştirme mekanizmasıdır ve hem kusurludur hem de tehlikelidir, eğer ihlal edilirse, her türlü nedenden dolayı," diyor.