Güvenilir Yürütme Teknolojisi
Intel Güvenilir Yürütme Teknolojisi (Intel TXT, eskiden LaGrande Technology olarak bilinirdi), bilgisayar donanım teknolojisidir ve başlıca hedefleri şunlardır:
- Bir platformun ve işletim sisteminin güvenilirliğinin onaylanması.
- Bir işletim sisteminin eğer güvenilir bir ortamda başlatıldığından emin olunursa, işletim sistemi güvenilir olarak kabul edilebilir.
- Güvenilirliği kanıtlanmış işletim sistemlerinin, kanıtlanmamış olanlara göre ek güvenlik özellikleri sağlaması.
Intel TXT, yazılım ve platform bileşenlerinin ölçümlerini sağlamak için bir Güvenilir Platform Modülü (Trusted Platform Module) ve şifreleme teknikleri kullanır. Böylece sistem yazılımı, hem de yerel ve uzaktan yönetim uygulamaları bu ölçümleri kullanarak yazılımın ve platform bileşenlerinin güvenli olup olmadığı kararını verebilir. Bu Intel Yönetim Motoru'nu tamamlar. Bu teknoloji, Güvenilir Bilgi İşlem Grubu’nun (Trusted Computing Group) daha güvenli bilgi işlemeyi teşvik etmek için gerçekleştirdiği bir endüstri girişimine dayanmaktadır. Sistem veya BIOS kodunu bozarak ya da platformun yapılandırmasını değiştirerek hassas bilgileri çalmaya yönelik yazılım tabanlı saldırılara karşı koruma sağlar.
Ayrıntılar
[değiştir | kaynağı değiştir]TCG tarafından belirtilen Güvenilir Platform Modülü (TPM) birçok güvenlik işlevi sağlar. Bu işlevler, sahteciliği önlemek için güvenli bir konumda çeşitli ölçümleri tutan özel yazmaçları (Platform Yapılandırma Yazmaçları -PCR) içerir. Ölçümler, Güvenli Hash Algoritması (Secure Hashing Algorithm) kullanan bir şifreli hash değerinden oluşur; TPM v1.0 SHA-1 hash algoritmasını kullanır. Daha yeni TPM sürümleri (v2.0 +) SHA-2.[1][2] 'yi kullanırlar.
Bir hash şifreleme algoritmasının istenen bir özelliği, (tüm pratik amaçlar için), herhangi iki modüldeki hash değerinin (hash özeti veya bir hash), ancak modüller aynı ise, aynı değere sahip olmalarıdır.
Ölçümler
[değiştir | kaynağı değiştir]Ölçümler kod, veri yapıları, yapılandırma, bilgi veya belleğe yüklenebilen herhangi bir şey olabilir. TCG, kodun ölçülünceye kadar yürütülmemesini gerektirir. Belirli bir ölçüm sırasını sağlamak için, bir sıradaki hash ölçümleri farklı PCR'lere yazılmaz, aksine PCR bir ölçüm ile "genişletilmiş" olur. Bu, TPM'nin PCR'nin mevcut değerini ve genişletilecek ölçümü aldığını, bunların hash değerlerini hesaplayıp PCR'ın içeriğini bu hash değeri ile değiştirdiğini gösterir. Buradan ulaşılan ise bir PCR'de belirli bir ölçüme ulaşmanın tek yolu, tam olarak aynı ölçümleri aynı sırayla genişletmektir. Bu nedenle, ölçülen herhangi bir modül değiştirilmişse, ortaya çıkan PCR ölçümü farklı olacaktır ve dolayısıyla ölçülen herhangi bir kodun, konfigürasyonun, verinin, vs. değiştirilmiş veya bozulmuş olduğunu tespit etmek kolaydır. PCR genişletme mekanizması, yazılım katmanlarına bir güven Zinciri oluşturmak için çok önemlidir (aşağıya bakınız).
Güven Zinciri
[değiştir | kaynağı değiştir]Teknoloji, hem statik bir güven zincirini hem de dinamik bir güven zincirini destekler. Statik güven zinciri, platform başlatıldığında (veya platform sıfırlandığında), tüm PCR'leri varsayılan değerlerine döndürür. Sunucu platformları için ilk ölçüm, yonga seti (chipset) üreticisi tarafından sağlanan dijital olarak imzalanmış bir modülü (Kimliği Doğrulanmış Kod Modülü veya ACM(Authenticated Code Module) olarak adlandırılır) ölçmek için donanım (yani işlemci) tarafından yapılır. İşlemci, yürütme işlemini gerçekleştirmeden önce imzalı modülün imzasını ve bütünlüğünü doğrular. ACM daha sonra ek ölçümler yapabilen ilk BIOS kod modülünü ölçer.
ACM ve BIOS kod modüllerinin ölçümleri, BIOS Güvenilir Bilgi İşlem Tabanının (Trusted Computing Base) ölçümü ile beraber güven ölçümünün statik çekirdek kökünü de(CRTM) tutacak olan PCR0'a atanmıştır. BIOS PCR’lerin içindeki ek bileşenleri şekildeki gibi ölçer:
- PCR0 - CRTM, BIOS kodu ve Ana Bilgisayar Platformu Uzantıları[a]
- PCR1 – Sunucu Platformu Yapılandırması
- PCR2 - Option ROMKodu
- PCR3 - Option ROM Yapılandırması ve Veri
- PCR4 - IPL (Başlangıç Program Yükleyici) Kodu (genellikle Ana Önyükleme Kaydı )
- PCR5 - IPL Kod Yapılandırması ve Verileri (IPL Kodu tarafından kullanılmak üzere)
- PCR6 - Durum Geçişi ve Uyandırma Olayları
- PCR7 – Sunucu Platformu Üreticisi Kontrolü
Dinamik güven zinciri, işletim sisteminin özel bir güvenlik talimatını çağırması ile başlar. Bu güvenlik talimatı dinamik PCR'leri (PCR17–22) varsayılan değerlerine sıfırlar ve ölçülen başlatmayı başlatır. (starts the measured launch.) İlk dinamik ölçüm donanım (yani işlemci) tarafından bir modülü (SINIT ACM olarak adlandırılacaktır.) ölçmek için yapılır. Bu modül yonga seti üreticisi tarafından sağlanmıştır. İmza ve bütünlüğü işlemci tarafından doğrulanmıştır ve dijital olarak imzalanmıştır. Bu, Güven Ölçümü’nün Dinamik Kökü (DRTM) olarak bilinir.
SINIT ACM ilk olarak işletim sistemi kod modülünü ölçer (ölçülen başlatma ortamı - MLE olarak anılacaktır). MLE'nin yürütülmesine izin verilmeden önce, SINIT ACM, platformun platform sahibi tarafından ayarlanan Başlatma Kontrol İlke’lerinin (LCP) gereksinimlerini karşıladığını doğrular. LCP üç bölümden oluşmaktadır:
- SINIT sürümünün belirtilen değerden eşit veya daha yeni olduğunu doğrulamak
- PCR0-7 yazmaçlarını bilinen-iyi değerlerle karşılaştırarak Platform yapılandırmasının (PCONF), geçerli olduğunu doğrulamak (platform sahibi hangi PCR'lerin ekleneceğine karar verir)
- MLE'nin geçerli olduğunu, bilinen iyi ölçümlerin bir listesiyle MLE’nin ölçümünü karşılaştırarak doğrulamak
LCP'nin bütünlüğü ve bilinen iyi ölçümlerinin listesi, TPM'deki politikanın bir hash değerinin saklanmasıyla korunmaktadır. Sadece platform sahibi tarafından değiştirilebilen korumalı uçucu olmayan bir konumda saklanmaktadır.
Güvenilir Bir İşletim Sistemi Olarak Çalıştırılması
[değiştir | kaynağı değiştir]LCP’nin çalışması bitirildikten sonra SINIT ACM, MLE'nin özel güvenlik yazmaçlarına erişim sağlar ve TPM Locality 2. seviye erişimini etkinleştirir. Bunun sonucunda Güvenilir İşletim Sistemi(Trusted Operating System) olarak çalışmasına izin verir. MLE artık dinamik PCR'lere ek ölçümler yapabilir duruma gelir. Dinamik PCR'ler aşağıdaki ölçümleri içerir:
- PCR17 - DRTM ve başlatma kontrol politikası
- PCR18 - Güvenilir işletim sistemi başlatma kodu (MLE)
- PCR19 - Güvenilir İşletim Sistemi (örneğin OS konfigürasyonu)
- PCR20 - Güvenilir İşletim Sistemi (örneğin OS Kernel ve diğer kodlar)
- PCR21 - Güvenilir İşletim Sistemi tarafından tanımlandığı şekilde
- PCR22 - Güvenilir İşletim Sistemi tarafından tanımlandığı şekilde
Teknoloji ayrıca işletim sisteminin platformu başlatması için daha güvenli bir yol sağlar. Normal işlemci başlatma işleminin aksine işletim sistemi, uygulama işlemcilerini doğrudan "korumalı modda" başlatırlar. Bunu uygulama işlemcilerini özel bir uyku durumunda bırakıp güvenli bir başlatma gerçekleştirerek yapar ve bu sayede güvenlik açığını önler.[kaynak belirtilmeli]
Uygulama
[değiştir | kaynağı değiştir]PCR değerleri hem lokal hem de uzaktan kullanılabilir. Ayrıca, TPM, PCR değerlerini dijital olarak imzalayabilme yeteneğine sahiptir, böylece herhangi bir kişi, ölçümlerin TPM'den geldiğini ve güvenli olduğunu doğrulayabilir. Böylece Uzaktan Onaylama’nın PCR değerlerindeki oynanmaları, bozulmaları ve kötü amaçlı yazılımları saptamasını sağlar. Ek olarak, bu değerler, yürütme ortamını tanımlamak için kullanılabilir (BIOS sürümü, işletim sistemi düzeyi, yapılandırma vb.) ve platformun daha fazla kategorize edilmesi için bunları kendi iyi bilinen değerleriyle karşılaştırır. Platformların güven seviyelerini değerlendirme ve güven düzeyi atama yeteneği, Güvenilir Bilgi İşlem Havuzları(Trusted Compute Pools) olarak bilinir.
Güvenilir Bilgi İşlem Havuzlarının nasıl kullanıldığıyla ilgili bazı örnekler:
- İzolasyon - bir platformun üretim ağına bağlanıp bağlanmadığını kontrol etme veya güven seviyesine göre veya başlatma kontrol politikasını geçememesine dayalı olarak karantinaya alınması.
- Güven Temelli Politika - örneğin, belirli bir güven düzeyine uymayan platformlarda kritik uygulamaların yürütülmesini kısıtlar.
- Uyumluluk ve Denetim - kritik, kişisel veya hassas verilerin yalnızca güven gereksinimlerini karşılayan platformlarda işlendiğini gösterir.
Sayısız sunucu platformu Intel TXT'yi içerir ve TXT işlevi HyTrust, PrivateCore, Citrix, Cloud Raxak ve VMware dahil olmak üzere yazılım satıcıları tarafından geliştirilmiştir. Açık Kaynaklı projeler de TXT işlevini kullanır. Örneğin tboot, Linux çekirdeği ve Xenhypervisor için TXT tabanlı bir bütünlük sistemi sağlar.[3][4]
Ayrıca bakınız
[değiştir | kaynağı değiştir]Notlar
[değiştir | kaynağı değiştir]- ^ CRTM işlemci tarafından ölçülür ve başlangıç BIOS kodu ACM tarafından ölçülür (tüm diğer ölçümler BIOS veya diğer firmware kodu tarafından yapılır) ancak bu kod ölçüldükten sonra.
Kaynakça
[değiştir | kaynağı değiştir]- ^ "SHA-1 Uses in TPM v1.2". Trusted Computing Group. 4 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mart 2014.
- ^ "TPM 2.0 Library Specification FAQ". Trusted Computing Group. 19 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mart 2014.
- ^ "tboot (Trusted Boot)". sourceforge.net. 6 Ekim 2014. 4 Ocak 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Kasım 2014.
- ^ Joseph Cihula (28 Şubat 2011). "Trusted Boot: Verifying the Xen Launch" (PDF). xenproject.org. 13 Ekim 2016 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 16 Kasım 2014.
Dış bağlantılar
[değiştir | kaynağı değiştir]- "Trusted Execution", Technology, Intel, 16 Temmuz 2011 tarihinde kaynağından arşivlendi, erişim tarihi: 7 Nisan 2018.
- "Trusted Execution", Technology (PDF) (overview), Intel, 5 Haziran 2011 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 7 Nisan 2018.
- "Trusted Execution", Technology (PDF) (architectural overview), Intel, 25 Mart 2012 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 7 Nisan 2018.
- Trusted Execution Technology Software Development Guide (PDF), Intel, 25 Eylül 2012 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 7 Nisan 2018.
- "Virtualization", Technology, Intel, 23 Eylül 2011 tarihinde kaynağından arşivlendi, erişim tarihi: 7 Nisan 2018.
- Standardized TEE (PDF) (white paper), GlobalPlatform, Şubat 2011, 2 Mart 2017 tarihinde kaynağından arşivlendi (PDF), erişim tarihi: 7 Nisan 2018.
- Intel TXT Overview 8 Nisan 2018 tarihinde Wayback Machine sitesinde arşivlendi., part of Linux kernel documentation, December 1, 2014
- Integrity management using Intel TXT 8 Nisan 2018 tarihinde Wayback Machine sitesinde arşivlendi., LWN.net, April 1, 2009, by Jake Edge
- Attacking Intel Trusted Execution Technology 16 Mayıs 2017 tarihinde Wayback Machine sitesinde arşivlendi., Black Hat Briefings, February 2009, by Rafal Wojtczuk and Joanna Rutkowska
- Trusted Computing Technologies, Intel Trusted Execution Technology 30 Aralık 2016 tarihinde Wayback Machine sitesinde arşivlendi., Sandia National Laboratories, January 2011, by Jeremy Daniel Wendt and Max Joseph Guise