Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ekim 2019'da Microsoft, Güvenli çekirdek bilgisayarları başlatmak için OEM ve Silikon iş ortaklarımızla yakın bir şekilde çalıştı. Bu cihazlar, cihazların, kimliklerin ve verilerin gelişmiş güvenliğini sağlamak üzere derinlemesine entegre donanım, üretici yazılımı ve yazılım içerir. Güvenli çekirdek bilgisayarların temel güvenlik yapılarından biri, cihazlar için üretici yazılımı koruması sağlamaya yardımcı olmaktır. Bu yapıyı karşılamak için gereken temel donanım tabanlı bir özellik Ölçüm için Dinamik Güven Kökü'dür (D-RTM). Ancak, bu özelliği desteklemek için temel alınan yonga setine bağımlılık nedeniyle bugün D-RTM sunan çok fazla cihaz yoktur ve bu da tüm Windows cihazları için yüksek bir güvenlik standardı oluşturma ve bunu sürdürme konusundaki taahhüdümüzü engellemektedir.
D-RTM olmadan bunlar da dahil olmak üzere tüm Windows cihazlarının güvenlik duruşunu geliştirmek için daha fazla işlem yapılabilir. Microsoft, OEM'lerin kullanması için ek esneklik sağlamak üzere bir dizi açık kaynaklı SMM güvenlik geliştirmesi geliştirerek UEFI üretici yazılımında bellek korumalarının uygulanmasını engelleyen uyumluluk sorunlarının üstesinden gelmek için iş ortaklarıyla birlikte çalışmaktadır.
Üretici yazılımı güvenliğine yönelik bu taahhüdü yansıtmak için cihazların Güvenli çekirdek bilgisayarların üretici yazılımı koruma gereksinimlerini karşıladığından emin olmak için yeni bir yaklaşım belirledik.
FASR'a genel bakış
Donanım tabanlı D-RTM özelliklerine sahip olmayan güvenli çekirdek bilgisayarlar için, azaltılmış bir saldırı yüzeyi sunan ve işletim sisteminde test edilebilen küçük bir üretici yazılımı bileşeni kümesi tanımlamamız gerekir. Bu yaklaşım, Üretici Yazılımı Saldırısı Yüzey Azaltma (FASR) olarak adlandırılır. FASR tabanlı üretici yazılımının farklı satıcıların bilgisayarları arasında ölçeklendirilmesi için üretici yazılımı önyükleme işlemine yönelik yeni bir yaklaşımın tanımlanması gerekiyordu.
FASR iki önyükleme yolunu destekler:
Sertifikalı önyükleme yolu:
Yalnızca Microsoft tarafından güvenilen, imzalanan ve tümleştirilmiş kodun yürütülmesine izin verilir.
İşletim sistemi, önyükleme yolundaki kurcalamaları algılayabilir.
Aşağıdaki şekilde, FASR S-RTM önyükleme akışı, onaylı önyükleme yolundaki gösterilmektedir. Bu önyükleme yolu, beklenmeyen platform donanım yazılımı kodunun yürütülmesini önlemeye yardımcı olur. Ancak, özel önyükleme yolu tarafından sağlanan platforma özgü bazı verileri kullanır. Aşağıdaki diyagramda belirlenmiş önyükleme yolu üzerinde FASR önyükleme akışı gösterilmektedir.
Özel önyükleme yolu: Tüm platform üretici yazılımı kodları yürütülebilir. Belirli bir OEM/platforma özgü önyükleme kritik bilgileri, özel önyükleme yolundaki verilere dönüştürülür ve sistemi bu önyükleme yolunda düzgün yapılandırmak için sertifikalı önyükleme yolu tarafından kullanılır. Aşağıdaki diyagramda özel önyükleme yolundaki FASR önyükleme akışı gösterilmektedir.
Güvenli çekirdek bilgisayar uyumluluğu için etkinleştirilmiş bir FASR cihazı, önyüklemenin üretici yazılımı önyükleme işleminin başlarında özel önyükleme yoluna geçmesine neden olan bir olay oluşmadığı sürece varsayılan olarak sertifikalı önyükleme yolunu kullanır. Bu tür olaylara örnek olarak, bir üretici yazılımı güncelleştirmesi, kullanıcının bir üretici yazılımı kullanıcı arabirimi istemesi veya kullanıcının Güvenli Çekirdek PC'yi devre dışı bırakmayı seçmesi gösterilebilir. Yani, bu bilgisayar yeniden etkinleştirilene kadar her zaman özel önyükleme yolunda önyüklenecektir.
Özel önyükleme, FASR özellikli bir cihazda platform üretici yazılımı tarafından desteklenen herhangi bir işletim sistemini veya üçüncü taraf yazılımı önyüklemek için kullanılabilir, ancak Windows özel önyükleme yolundaki önyüklemeyi Güvenli çekirdek bilgisayar uyumlu olarak tanımaz.
FASR'ın arkasındaki güvenlik teknolojilerini daha iyi anlamak için Windows önyükleme işlemine hızlı bir genel bakış paylaşmak istiyoruz.
Windows önyükleme işlemi
Güven kökü
Modern bir bilgisayarda ilk üretici yazılımının çalıştırılması, başlangıç kod kümesinin diğer kodları yüklediği ve önyükleme ilerledikçe işlevsellik düzeyinin genişlediği bir önyükleme sürecini izler. Her kod kümesi, bir güven zinciri oluşturan bir sonraki kod kümesini doğrular. UEFI üretici yazılımı denetim kazandığında, güven zincirini işletim sistemine kadar sürdürmek için yazılım imzalarını doğrulamaya yönelik Güvenli Önyükleme standardına uyar. Ardından Windows önyükleme yükleyicisi, yüklenmeden önce başlatma işlemindeki diğer tüm işletim sistemi bileşenlerini doğrulayan Güvenilen Önyükleme ile güven zincirine devam eder.
Genel olarak, saldırganlar sistemin korunmasına yardımcı olan güvenlik özellikleri ve kilitler etkinleştirilmeden önce önyükleme işleminde mümkün olan en erken zamanda denetim elde etmeye çalışır. Sistem yeniden başlatıldığında, yürütülen ilk kod kümesinin güvene sabitlenmiş olması gerekir. Bu erken kod doğrulamayı gerçekleştirme rolünü yerine getiren donanım doğrulama teknolojisine güven kökü adı verilir. Tam ayrıntılar donanım satıcısına göre farklılık gösterse de, güvenin tüm kökleri genellikle sabit donanımlarda veya SOC'deki ROM'larda köklenir.
Ölçülen önyükleme
Güven köküne sabitlenmiş Güvenli Önyükleme, tüm üretici yazılımının dijital imzasının doğrulanmasını sağlamaya yardımcı olur; ancak tam olarak hangi üretici yazılımının yürütüldüklerine ait bir kaydın olması da tercih edilir. Windows Donanım Uyumluluk Programı, tüm Windows 10 ve Windows 11 bilgisayarlarının Güvenilir Platform Modülü (TPM) adlı bir yonga içermesini gerektirir. TPM, Platform Yapılandırma Yazmaçları (PCR) adlı bellek konumlarını içerir. Her bir PCR, kalıcı depolama cihazındaki üretici yazılımı kodu (örneğin, SPI flash), PCI cihazlarından gelen seçenek ROM'ları veya işletim sistemi önyükleme yükleyicisi gibi önyükleme sırasında yüklenen bir kod ve/veya veri türünün karmasını barındırır. PCR'de depolanabilen bir değerin boyutu, desteklenen karma algoritmasının özet boyutuna göre belirlenir. Örneğin, SHA-1 PCR 20 bayt depolayabilirken SHA-2 PCR 32 bayt depolayabilir. Aynı karma algoritmasıyla ilişkili birden çok PCR'ye banka adı verilir. TCG PC İstemcisi TPM Profili Belirtimi, en az 24 kayıt birimine sahip bir PCR bankasının dahil edilmesini tanımlar.
TPM mevcut olduğunda, önyükleme sürecinde yeni kod ve veri yüklendiğinde, her bir üretici yazılımı bileşeni de uygun PCR'yi güncelleyebilir veya genişletebilir. Genişletme işlemi, yeni kod veya veri bağımsız değişkeniyle birleştirilmiş geçerli PCR değerini girdi olarak kullanarak, PCR değerini karma algoritması çıktısı olacak şekilde günceller. Sonuç olarak, önyükleme işleminden sonra nelerin çalıştırıldığını belirlemek için PCR'ler incelenebilir. Bu, işletim sistemindeki yazılımların önyükleme işleminin önceki önyüklemelerden farklı olup olmadığını anlamasını sağlar. Güvenlik açısından hassas bir ortamda, işletim sistemi, beklenmeyen üretici yazılım kodlarının çalıştırılmasını algılamak amacıyla belirli PCR'ler için beklenen tam kod ölçümleri kümesi hakkında bilgilendirilebilir. Bir bankadaki ilk 16 PCR yalnızca TPM'nin tamamı sıfırlanarak sıfırlanabilir, güvenilirdir ve TPM'de önemli ölçümleri depolamak için tercih edilen konumdur.
Ölçüm için Güvenin Temeli
Güvenin kökünün rolünü ve Ölçülü Önyükleme’nin nasıl kullanıldığını incelediğimize göre, bir ölçüm zincirini TPM'ye raporlamak için bir güvenin kökünü oluşturmaya yönelik iki yaygın yaklaşıma göz atacağız: statik ve dinamik.
Ölçüm için Statik Güven Kökü (S-RTM), sistem sıfırlandığında güven oluşturur ve tüm başlangıç işlemi boyunca güvenin korunmasını gerektirir. Önyükleme işleminin herhangi bir noktasında güven tehlikeye girerse, sistem sıfırlanana kadar geri alınamaz. Aşağıdaki diyagramda S-RTM'nin sertifikalı önyükleme yolunda nasıl kullanıldığı gösterilmektedir.
Buna karşılık, Ölçüm için Dinamik Güven Kökü (D-RTM), erken yonga kümesi başlatma üretici yazılımı kodunun yalnızca küçük bir bölümüne ve önyükleme sırasında dinamik olarak güveni yeniden oluşturmak için kullanılan bir donanım aracısına güvenir. Sistem başlangıçta güvenilmeyen üretici yazılımı koduna önyüklenebilir, ancak başlatmadan kısa bir süre sonra tüm CPU'ların denetimini ele geçirerek ve onları bilinen ve ölçülü bir yola zorlayarak güvenilir bir duruma geri döner. Aşağıdaki diyagramda geleneksel D-RTM akışına genel bir bakış sağlanır.
S-RTM ile D-RTM arasında bir denge vardır. S-RTM özel donanım özellikleri gerektirmez. Ancak, tüm önyükleme süresince yürütülen kodu daha iyi izlemek için yazılım gerektirir. D-RTM özel donanım özellikleri gerektirir, ancak yazılımın sistemin ömrü boyunca dinamik olarak güvenilir bir duruma başlatılmasını sağlar.
Windows Güvenli çekirdek bilgisayarlar, Güvenli Başlatma'da bir D-RTM kullanarak, sistem üreticilerine üretici yazılımda benzersiz özellikler ve deneyimler uygulama esnekliği sağlarken, sistemin güvenli bir işletim sistemi ortamı barındırabilecek güvenilir ve ölçülmüş bir duruma ulaşmasına da yardımcı olur. Güvenli bir çekirdek yüklemeden önce bilinmeyen bir ortamdan güveni yeniden kurmak için bir D-RTM başlatma olayı kullanılır. Aşağıdaki diyagramda, bilinen bir sistem ortamını yeniden oluşturmak için D-RTM başlatma olayı gösterilmektedir.
Geçmişte, sistemin güvenlik durumunu doğrulamak için özel donanım özelliklerine bağımlılığı olmadığından S-RTM daha fazla cihazda uygulanabiliyordu, ancak işletim sisteminin S-RTM kullanarak belirli bir Windows cihazında bildirilen ölçümlere güvenebileceğini onaylamak için güvenilir bir yöntemi yoktu.
Üretici yazılımı güvenlik geliştirmeleri
İşletim sistemi önyükleme yolundaki üretici yazılımı bileşenlerini en aza indirin
S-RTM ölçümlerine güvenmenin bir yolu, yürütülmesine izin verilen üretici yazılımı bileşenlerini en düşük düzeyde bir kümeye azaltmaktır. S-RTM kullanan tüm cihazlar aynı üretici yazılımı bileşenlerini kullandıysa, işletim sisteminin bilinen ve güvenilen bileşenler için yalnızca tek bir beklenen PCR değerleri kümesine güvenmesi gerekir. Bu SRTM tabanlı yaklaşımla, önyükleme üretici yazılımı kümesi yalnızca Windows tarafından doğrulanabilir Microsoft imzalı yazılımları içerdiği doğrulandığında, bir cihazın Güvenli çekirdek bilgisayarların üretici yazılımı koruma gereksinimini karşıladığı düşünülebilir. Bu ürün yazılımı bileşenlerinin normal bir bilgisayar önyüklemesiyle nasıl farklılaştığını daha iyi anlamak için, önyükleme işlemini öncesi ve sonrası olarak inceleyelim.
Esneklik ve modern bilgisayar üretici yazılımı tarafından sunulan zengin özellik kümesi nedeniyle, işletim sisteminden önce yürütülen kod saldırı yüzeyinin artmasına neden olur. Aşağıdaki diyagramda geleneksel S-RTM önyükleme akışı örneği gösterilmektedir.
Önyükleme sırasında üretici yazılımının ana sorumlulukları büyük ölçüde basitleştirilebilir:
Platforma özgü: Yalnızca belirli bir platform donanım tasarımı için geçerli olan işlevsellik.
Platforma özgü olmayan: Endüstri standardı olan ve diğer donanımlar için ortak olan işlevler.
Modern üretici yazılımının nispeten küçük bir alt kümesi genellikle platforma özgüdür. Bellek ayırma, üretici yazılımı sürücülerini dağıtma, olayları işleme vb. gibi yaygın görevleri gerçekleştiren üretici yazılımı altyapı kodunun çoğu, tüm (veya çoğu) UEFI tabanlı sistemlerde aynıdır. Bu görevler için ürün yazılımı ikili sürücüler PC'ler arasında yeniden kullanılabilir. Ayrıca, endüstri standardı donanım belirtimleri ve arabirimleri, yaygın üretici yazılımı sürücülerinin sabit diskleri, USB denetleyicilerini ve diğer çevre birimlerini başlatmasını sağlar. Bu donanım için donanım yazılımı ikili sürücüleri farklı bilgisayarlarda da yeniden kullanılabilir. Özetle, bilgisayarlar, ortak firmware sürücülerinin minimal bir seti ile önyüklenebilir.
Önyükleme başlangıcı sırasında yüklenen tüm yazılım sürücüleri kümesini azaltmak başka avantajlara yol açabilir.
İyileştirilmiş önyükleme süresi
Güncellemeler için daha az tedarikçi koordinasyonu
Hata maruziyeti azaltıldı
Azaltılmış saldırı yüzeyi
FASR önyükleme yolu denetimi ve güvenli çekirdek uyumluluğu
Bir FASR sisteminin Güvenli çekirdekli PC'lerin üretici yazılımı koruma gereksinimlerini karşılaması için, sertifikalı önyükleme yolunda başlatılmış olması gerekir. FASR üretici yazılımı, işletim sistemine sertifikalı yolda modül önyükleme dizisi için beklenen PCR değerlerini içeren FASR bildirimi (TPM ile ölçülür) adlı Microsoft imzalı bir bildirim sağlayarak bunu kolaylaştırır. Bu, sertifikalı yolda gerçekleşen gerçek önyükleme dizisiyle karşılaştırılabilir. Bu ölçümler eşleşirse, sistemin Güvenli çekirdek bilgisayar programının üretici yazılımı koruma gereksinimini karşılamış olduğu kabul edilir. Beklenen sertifikalı önyükleme yolu dizisinden herhangi bir sapma, işletim sisteminin algılandığı TPM'nin Platform Yapılandırma KayıtLarında (PCR) beklenmeyen ölçümler yapılmasıyla sonuçlanır.
Buna ek olarak, Windows, yalnızca geçerli önyükleme sırasında kaydedilen ölçümlere karşı imzalı FASR bildiriminin başarılı bir şekilde doğrulanması durumunda hipervizör korumalı sırları serbest bırakır. Sertifikalı bir önyükleme yolunda veya kapsül güncellemesinde FASR bildirimi mevcut değilse, imza doğrulaması başarısız olursa veya PCR uyuşmazlıkları meydana gelirse, VSM gizli dizileri açığa çıkarılmayacak veya taşınmayacaktır.
FASR üretici yazılımı bellek korumalarını ve SMM'yi nasıl ele alır?
Microsoft tarafından imzalanan ve çok az işlev kümesine sahip tek bir ikili dosya tanımlandığına göre, Microsoft'un iş ortaklarıyla birlikte çalışarak pazara sunmak için çalıştığı temel ancak eksik üretici yazılımı güvenlik korumalarını içerebilir. Sertifikalı önyükleme yolunun en azından aşağıdaki gereksinimleri karşılaması gerekir:
Kod NULL/Sayfa 0'a okumuyor/yazmıyor
Görüntü kodu ve veri bölümleri birbirinden ayrılır
Resim bölümleri sayfa (4 KB) sınırına hizalanmış
Veriler yalnızca veri bellek türlerine ve kod bellek türlerine ayrılır
UEFI ikili dosyaları olarak dağıtılan koddan kod görüntüleri yüklenmez (yalnızca belirlenen dağıtıcılar)
Kod, sayfa ayırmalarının çevresinde koruyucu sayfalarla oluşturulan tahsis edilmiş bellek arabelleklerinin sınırları içinde kalır.
Yığın taşması algılanabilir
Kod yığından yürütülmüyor
/NXCOMPAT DLL özelliği, NX korumalarını etkinleştirmek için ayarlanır
Üçüncü taraf seçenek ROM'ları, UEFI uygulamaları ve UEFI sürücüleri genellikle bu gereksinimler kümesine göre oluşturulmamış veya doğrulanmamıştır. Bu nedenle, sertifikalı önyükleme yolunda yürütmeyecekler. Özel önyükleme yolu isteğe bağlı olarak gerekli koruma düzeyini düşürmeyi seçebilir, ancak bu önyükleme yolu, işletim sistemi tarafından Güvenli çekirdek bilgisayar ile uyumlu olarak kabul edilmez.
Sistem Yönetim Modu (SMM)
SMM, x86 mimarisinde özel bir işlemci işletim modudur. SMM ortamında yürütülen kod, işletim sistemi için belirsizdir ve genellikle konak işlemcideki herhangi bir yazılımın en yüksek ayrıcalık düzeyinde ("Halka -2" olarak da adlandırılan) yürütülmesi nedeniyle sistem güvenliği için benzersiz bir zorluk sunar. Girdikten sonra SMM, sayfa tablosunu, kesme dağıtım tablosunu (IDT) ve diğer sistem yapılarını ayarlayarak kendi ortamını yapılandırır. SMM, Sanallaştırma Tabanlı Güvenlik (VBS) aracılığıyla etkinleştirilen işletim sistemi korumalarını tehlikeye atmak veya aşmak için kötü amaçlı kod tarafından kullanılabilecek önemli bir saldırı yüzeyini temsil eder. SMM'nin oluşturduğu tehlikeyi azaltmaya yardımcı olmak için, SMM'deki işlevsellik kavramsal olarak SMM çekirdek altyapısına ve SMM sürücülerine aşağıdaki gibi bölünebilir:
SMM çekirdeği: Mimari ve altyapı sorumluluklarını gerçekleştiren tüm SMM uygulamaları için ortak olan kod
SMM sürücüleri: SMM'de platforma özgü bir görevi gerçekleştirmek için yazılan kod
SMM yaşam döngüsündeki bazı önemli anlar şunlardır:
SMM temeli (veya çekirdeği) oluşturulduğunda – SMM İlk Program Yükü (IPL)
SMM sürücüleri yüklendiğinde – bu süreç SMM sürücü devreye alınması olarak adlandırılır
Sistem Yönetimi Kesmesi (SMI) aracılığıyla SMM'ye giriş gerçekleştiğinde
SMM İlk Program Yükü (IPL)
CPU, SMM koduna yüksek ayrıcalık veren ve korunmasına yardımcı olan özel özelliklere sahiptir. Örneğin, yazılım veya donanım olayları aracılığıyla SMM girmek için bir mekanizma tanımlanır, SMM'den dönmek için bir CPU yönergesi kullanılır ve SMM'nin erişimini ve kilitleme yapılandırmasını denetlemek için çeşitli yazmaçlar tanımlanır. Bu denetim yazmaçlarının çoğu, SMM kodunun ve verilerinin depolandığı bellek alanına erişimi kısıtlamak için SMM IPL kodu tarafından yapılandırılır (Sistem Yönetimi RAM'i veya SMRAM olarak adlandırılır).
SMRAM alanı ana bellekte (DRAM) olduğundan önyükleme sırasında DRAM etkinleştirilene kadar oluşturulamaz. DRAM etkinleştirme yordamları silikon satıcısına göre farklılık gösterir, ancak ana bellek kullanılabilir olmadan önce doğrudan CPU LLC önbelleğinden (DRAM'yi başlatan kod dahil) birkaç megabayt kod çalıştırılabilir.
FASR üretici yazılımı, SMM IPL noktasını önyükleme sırasında çoğu sistemden daha erken başlatır. Bu, bir saldırganın SMM kurulmadan önce bu işlemi baltalama ve sistemin denetimini ele geçirmesi için gereken fırsatı azaltır. Bunu ve FASR üretici yazılımında SMM'de yapılan diğer geliştirmeleri daha iyi anlamak için üretici yazılımı önyükleme işlemi hakkında daha fazla bilgi edinmemiz gerekir.
UEFI üretici yazılımında Platform Başlatmaları (PI) önyüklemesi
Modern bilgisayar firmware'i birçok belirtim üzerine tasarlanmıştır. UEFI Belirtimi, Windows gibi UEFI uyumlu bir işletim sistemi ile cihazdaki üretici yazılımı arasındaki arabirimi tanımlar. Platform Başlatma (PI) Belirtimi adlı başka bir belirtim, üretici yazılımı sürücülerinin oluşturulma şeklini tanımlar ve önyükleme işleminin ayrıntılarını içerir. Üst düzeyde, UEFI Belirtimi tek bir Windows görüntüsünün çok sayıda farklı cihazla çalışmasını sağlayan standartlaştırmalardan biri olarak düşünülebilir ve PI Belirtimi, farklı donanım satıcılarından gelen birçok üretici yazılımı görüntüsünün birlikte çalışmasına olanak tanıyan standartlaştırmalardan biri olarak düşünülebilir. Her iki belirtim de UEFI Forumu tarafından yönetilir.
PI Belirtimi önyükleme aşamalarını ve önyükleme aşamalarına hangi sürücülerin yazıldığı tanımlar. Üretici yazılımı önyüklemesi sırasında her aşama bir sonraki aşamaya geçer ve çoğu durumda, devre dışı bırakma aşamasındaki sürücüler artık kullanılmaz ve önyükleme işlemine devam edebilmesi için yalnızca önemli veriler bir sonraki aşamaya geçirilir. Önyükleme aşamaları aşağıdaki gibi özetlenebilir:
SEC – CPU sıfırlama vektöründe denetimi ele geçirin ve PEI yüklemek için assembly'den C koduna geçiş yapın.
PEI – DXE'yi yüklemek ve DRAM'ı başlatmak için sistem durumunu başlatın
DXE – BDS'nin bir işletim sistemini yüklemesi için gereken desteği sağlamayı içeren kalan sistem başlatma işlemini gerçekleştirin
BDS – Geçerli önyükleme için önyükleme seçeneğini bulun (örneğin, işletim sistemi önyükleme yükleyicisi) ve bu seçeneği önyüklemeye çalışın
İşletim sistemi – İşletim sistemi çekirdeği
SMM İlk Program Yükünü Koruma (IPL)
Geleneksel UEFI PI-spesifikasyonu uyumlu üretici yazılımı, DXE önyükleme aşamasında SMM IPL'yi yükler. FASR üretici yazılımı, PEI önyükleme aşamasında SMM IPL'yi yükler. Bir sistemin Güvenilir Bilgi İşlem Tabanı (TCB), donanım, üretici yazılımı ve yazılım dahil olmak üzere onu koruyan toplam koruma mekanizmaları kümesidir. SMM IPL'yi DXE'den PEI'ye taşıyarak, tüm DXE aşaması (PEI'den daha büyük ve daha zengin bir ortamdır) TCB'den kaldırılır. Aşağıdaki diyagramda, UEFI önyükleme sürecinde daha erken bir noktaya taşınan SMM IPL gösterilmektedir.
PEI ve DXE kodu seviye 0'da yürütülür ve işletim sisteminde kalıcı hale gelmez (bazı istisnalar dışında). SMM kodu, halka 0'dan (ve hiper yöneticiden) daha yüksek bir ayrıcalıkla yürütülür ve işletim sisteminde kalır, bu nedenle bir DXE güvenlik açığının SMM'nin kurulmasını etkilemesine izin verilmemesi sistem saldırı yüzeyinin genelini azaltır. Buna ek olarak, SMM önyükleme işleminde daha önce başlatıldığından, SMM'nin korunmasına yardımcı olmak için ayarlanan kilit bitleri daha önce önyüklemede etkinleştirilebilir ve SMM'nin güvenliğini tehlikeye atmak için saldırganın penceresi daha da en aza indirilir.
SMM sürücüsü gönderme işlemini koruma
PI Belirtimi içinde iki SMM modu tanımlanır: Geleneksel MM ve Tek Başına MM. Geleneksel MM, geçmişte PI uyumlu üretici yazılımında kullanılan ve sektördeki en fazla UEFI üretici yazılımını oluşturan SMM yazılım modeliyle eşdeğerdir. Tek başına MM, SMM ortamının güvenliğini geliştirmek ve yıllar içinde çok sayıda taşınabilirlik ve güvenlik zorluğuna yol açan Geleneksel MM uygulamalarında yapılan yaygın hataları önlemek için geçmiş modeli düzelten nispeten yeni bir moddur.
FASR üretici yazılımı yalnızca Bağımsız MM modunda çalışır. Bu, FASR üretici yazılımının SMM'de yazılım yürütmeye disiplinli bir yaklaşım izlemesini sağlar. Günümüzde birçok SMM tabanlı güvenlik açığı, Geleneksel MM'deki SMM koduna izin verilen kötü uygulamalardan kaynaklanıyor ve bu sorunlar Tek Başına MM'de tamamen önlenebiliyor. Bunun nedeni, geleneksel MM modelinde bir SMM sürücüsünün iki kez, bir kez halka 0'daki DXE yürütücüsü tarafından ve bir kez daha SMM'deki SMM yürütücüsü tarafından gönderilmesidir. DXE ortamında yürütülen sürücü kodu için, giriş noktası döndükten sonra erişmemeleri gereken SMRAM dışındaki kaynaklar için işaretçileri önbelleğe almak gibi bolca fırsatlar sunar. SMM koduna bağımlılığı olan, SMM dışındaki kodu çağıran saldırılar genellikle "SMM çağrı saldırıları" olarak adlandırılır.
SMM'ye girişi koruma
Veriler, "iletişim arabelleği" adlı bir yapı aracılığıyla SMI işleyicisine geçirilir. SMI işleyicisi, verilerin giriş noktasındaki belirli gereksinimleri karşılayıp karşılamadığını doğrulamakla sorumludur. Windows SMM Güvenlik Azaltma Tablosu (WSMT), denetlenmeyen SMI işleyicilerinin işletim sistemindeki Sanallaştırma Tabanlı Güvenlik'e neden olduğu tehdidi azaltmaya yardımcı olan bir mekanizmadır. Microsoft, iletişim arabelleği doğrulamasını geliştirmek için TianoCore projesine kod katkıda bulundu. FASR kodu, bu iki tekniği uygulamaya ek olarak katı bellek erişim korumaları da uygulayarak SMM kodunun yalnızca açıkça izin verilen bellek aralıklarına erişmesine olanak sağlar.
Yönetim Modu Gözetmen (MM Gözetmen)
SMM çekirdek kodu, sistemler arasında minimal veya hiç değişiklik yapılmadan ortak olarak paylaşılır. SMM tarafından uygulanan saldırı yüzeyi, SMM ortamına ayrıcalık ayrımı getirilerek büyük ölçüde azaltılabilir. Bu nedenle, FASR üretici yazılımı, Tek başına MM'de çalışan bir SMM Denetleyici içerir. Bu, oluşturulma noktasından itibaren ayrıcalık seviyeleri uygulanmış olan, minimal TCB ile iyi tanımlanmış bir SMM ortamı sağlar. MM Gözetmeni, IO bağlantı noktası erişimleri, Modele Özel Kayıt (MSR) erişimleri, MMIO erişimi, CPU durumu kaydı erişimi ve SMM ortamında izin verilen talimatlar üzerinde kısıtlamalar getirir. SMM Gözetmen İlkesi, hangi donanım kaynaklarının kısıtlanacağını belirlemek için tam ayrıntıları yapılandırmak amacıyla kullanılır ve bu ayrıntılar silikondaki nesil değişikliklerine bağlı olarak değişebilir.
İlke, kısa süre önce SMM Supervisor'ın dışındaki kodlarda kullanılabilen donanım kaynaklarını önemli ölçüde azaltan varsayılan olarak reddetme stratejisine geçti. Bu gözetmen, modern bilgisayarlarda yaygın olarak bulunmayan donanım özelliklerine donanım bağımlılığı olmadan çalışır.
MM Gözetmeni, FASR'da açık kaynak olarak kullanılır ve Project Mu MM Supervisor Deposunda kullanılabilir.
Güvenli çekirdek bilgisayar gereksinimleriyle FASR sistem uyumluluğu
Aşağıdaki tabloda, Güvenli çekirdek bilgisayarların geniş güvenlik sütunları veya hedefleri ve sertifikalı yolda önyüklenen FASR sistemlerinin Güvenli çekirdek bilgisayarların gereksinimlerine nasıl ulaşabileceği gösterilir:
| Güvenlik Avantajları | Güvenli çekirdek bilgisayarlarda güvenlik özellikleri |
|---|---|
| Donanım destekli bir güven kökü oluşturun | Güvenli Önyükleme |
| Güvenilen Platform Modülü 2.0 | |
| Doğrudan Bellek Erişimi (DMA) Koruması | |
| Üretici yazılımı düzeyi saldırılarına karşı savunma yapın (aşağıdaki nota bakın) | System Guard Güvenli Başlatma (D-RTM) veya S-RTM (FASR FW) |
| MM Denetleyicisi (FASR FW) ile SMM Yalıtımı veya Bağımsız MM | |
| İşletim sistemini, onaylanmamış kodun yürütülmesine karşı koruma | Bellek Bütünlüğü (HVCI olarak da bilinir) |
| Gelişmiş kimlik doğrulama ve koruma sağlama | Windows Hello |
| Kayıp veya çalınmış cihazlar durumunda kritik verileri koruma | BitLocker şifrelemesi |
Sistemin D-RTM'yi destekleyecek gelişmiş güvenlik özellikleri yoksa, sistem yazılımı koruma gereksinimleri S-RTM ve Bağımsız Modül Yönetimi ile MM Denetçisi birleşimi kullanılarak karşılanabilir ve bunların her ikisi de FASR sistem yazılımı tarafından sunulur.
Özet
Bunlar, Microsoft'un bugün sektörde yaygın olarak yaygın olan üretici yazılımı saldırılarının sayısının artmasına yönelik yaptığı yatırımlardan bazılarıdır. Bu değişiklikler için açık kaynaklı kod kullanarak iş ortaklarımıza bu güvenlik avantajlarından bazılarını kullanma gücü ekleyerek daha geniş bir ekosisteme ve sektöre büyük faydalar sağlayacağız.
Güvenli çekirdek bilgisayar girişiminin birincil hedefi, müşterilerin Windows bilgisayarlarında kullanılabilen en gelişmiş güvenlik özelliklerinden bazılarına erişmelerine yardımcı olmaktır. Bu üretici yazılımı değişikliklerinden bazılarıyla, bu hedefi gerçekleştirmeye bir adım daha yaklaştık ve Güvenli çekirdek bilgisayarların üretici yazılımı koruma gereksinimlerini bu dahil edilmeyi yansıtacak şekilde güncelleştirdik. Güvenli çekirdek bilgisayarlar hakkında daha fazla bilgiyi burada bulabilirsiniz.