Ürün yazılımı güvenlik riskleri
Siber güvenliğin en çok ihmal edilen alanlarından biri, modern dijital dünyanın altyapısını oluşturan küçük sensörlerden bulut altyapısını çalıştıran sunuculara kadar her cihazın temelini oluşturan ürün yazılımıdır. İşletim sisteminin, ağın, uygulamaların vb. güvenliğine çok önem verilmekle birlikte, gerçek sabit yazılımın bir şekilde tehlikeye girmesi durumunda bunların hiçbiri yardımcı olmaz.
Eskiden karmaşık, ezoterik ve nadir bir tehdit grubu olarak kabul edilen tehditler, artık en büyük saldırı vektörlerinden biridir: StuxNet ve Triton, görünür, kanonik ve oldukça duyurulan vakalardır, ancak bunlar, tahmini 500-600 ürün yazılımı açıklarından yararlanmaya kıyasla önemsiz kalacak kadar önemsizdir. şu anda yıllık olarak duyurulmaktadır. Daha da kötüsü, TPM (Güvenilir Platform Modülü), uzaktan tasdik ve ölçülü önyükleme gibi teknolojilerin kullanıma hazır olmasına rağmen, düzenli olarak ürün yazılımı ihlallerini kontrol etmiyoruz. Örneğin, her x86 UEFI (Birleşik Genişletilebilir Ürün Yazılımı Arabirimi) tabanlı sistem ölçülü bir önyükleme gerçekleştirir. Microsoft şimdi, bazıları için tartışmalı olsa da, doğru yönde atılmış bir adım olan Windows 11 için tasdiki zorunlu kılıyor.
Ürün yazılımı saldırılarını bu kadar yıkıcı yapan şey, önemsiz bir şekilde gizlenmiş olmalarıdır. Örneğin, neredeyse tüm x86 sistemlerinde yaygın olan UEFI ürün yazılımı, sistem işletim sistemini yüklemek üzere ayarlandıktan sonra ortadan kalkacak şekilde tasarlanmıştır. Önyükleme sürecini kaydeden UEFI olay günlüğü ve işletim sisteminin aygıtları vb. kurması için ACPI (Gelişmiş Yapılandırma ve Güç Arayüzü) tabloları gibi bazı bilgiler kasıtlı olarak bırakılabilir. güvenlik kontrolleri. Şimdi ayrıca sabit disk sürücüsünü ve pil sabit yazılımını hedef alan sabit yazılım istismarlarını gördüğümüzü de göz önünde bulundurun.
Güvenli ve Ölçülü Önyükleme
Güvenli önyükleme, sabit yazılımın, önyükleme yükleyicilerinin ve diğer bileşenlerin dijital imzalar aracılığıyla geçerliliğini sağlamaya yönelik bir mekanizmadır; UEFI Güvenli Önyükleme bunun yaygın bir örneğidir. Hem geçerli hem de iptal edilmiş imza anahtarları tabloları düzenli olarak güncellenmeli ve elbette bileşenlerin güvenilir yetkililer tarafından imzalanması gerekir. İmzalamanın yapamayacağı şey, bileşenin mutlaka kötü amaçlı yazılım olmadığını kanıtlamaktır – ne yazık ki, kötü amaçlı yazılımların imzalanabilmesi bazılarına hala sürpriz geliyor (evet, bir an için bu ifadeyi gerçekten düşünün) ve geçerli şifrelemeye sahip kötü amaçlı yazılım örneklerimiz var. imzalar.
Ölçülen önyükleme övgü olarak verilen ve her bileşenin ölçümlerini (kriptografik hash’ler) topladığımız ve bir güven zinciri oluşturmak için bilinen, güvenli, değiştirilemez bir güven kökünden oluşturduğumuz fikrine dayanır. Bu güven, her bileşenin kriptografik hash’i tarafından apriori olarak bilindiği ve herhangi bir sapmanın, verilen “yanlış” sonuçlara kadar zinciri basamaklandıran tamamen farklı bir hash ile sonuçlandığı ek bilgisinden gelir. Matematiksel olarak bu, Merkle Karma Ağacının bir şeklidir.
Güvenilir bir raporlama mekanizması gereklidir ve Güvenilir Platform Modülü (TPM) burada devreye girer. TPM, anahtarları depolamak ve oluşturmak için bir yer olmanın yanı sıra kendi sertifikası ve kimlik yetkilisidir – her biri benzersiz ve tanımlanabilir. Platform Yapılandırma Kayıtlarında (PCR) güven zincirleri için kriptografik hash’leri depolamak için mekanizmalara ve bunları, bir alıntı olarak bilinen raporun bu TPM’den geldiğine dair kriptografik kanıtlarla raporlamak için başka bir mekanizmaya sahiptir. Bu tasdik mekanizması, süreci kurcalamayı son derece zorlaştıran birçok çapraz referans noktasına sahiptir. Buna ek olarak, TPM’nin anahtarları, NVRAM ve diğer nesneler, PCR’lerin içeriğine dayalı politikalarla daha fazla korunabilir.
UEFI gibi bellenim, önyükleme işleminin günlüklerini oluşturur ve bunlar, TPM’de depolanan değerlerle çapraz referanslanabilir. PCR’ler için Bilinen İyi Değerler, özellikle güven ölçümünün çok önemli çekirdek kökü, referans ortamlardan oluşturulmalıdır. Neyse ki, üreticiler bunu yapmaya başlıyor – mükemmel bir örnek, birçok üreticinin referans olarak kritik PCR 0 değerlerini dahil ettiği Linux Vendor Firmware Service’dir (LVFS).
Uzaktan Tasdik
Son olarak, doğrulama altındaki sistemler için kimliklerin ve iyi bilinen veya beklenen değerlerin saklandığı uzaktan doğrulamaya geliyoruz. “Uzak” terimi, bu kontrollerin, örneğin veri merkezi ortamları veya dağınık IoT dağıtımları için daha fazla ölçeklenebilirlik sağlayan cihaz dışında yapılması gerçeğinden gelir. Farklı yeteneklere ve kapsamlara sahip birkaç uzaktan tasdik ortamı mevcuttur: Keylime, Nokia Attestation Engine, Charra, OpenAttestation vb.
Bir TPM ile ana tasdik biçimlerinden bahsetmeye değer:
- TPM’nin Onay Anahtarı, söz konusu cihaz için üreticinin sertifikalarına göre doğrulanabilir; bu, cihazın üreticilere karşı geçerliliğini kanıtlar.
- Herhangi bir ölçüm teklifi, onay anahtarından türetilen bir anahtarla imzalanır ve ek meta-veri ve yalnızca talep edene karşı değil, aynı zamanda TPM anahtar hiyerarşisine karşı da çapraz referans için bir nonce içerir.
- TPM’deki anahtarlar, yalnızca anahtarlar bu TPM’ye yüklenebiliyorsa ve şifreleme işlemleri yalnızca bu belirli TPM’de yapılabiliyorsa işe yarayan, kimlik bilgisi oluştur ve etkinleştir olarak bilinen bir “kimlik doğrulama” işlemi kullanılarak daha fazla doğrulanabilir.
Yukarıdakilerin tümü çapraz başvurulabilir ve ek olarak, UEFI olay günlüğü gibi günlükler üretilirse, buna karşı çapraz başvuru yapılır.
Uzaktan tasdikin gücü, bir sistemin yönetim yetenekleriyle entegre edildiğinde ve güven kaybına verilen yanıtın nasıl ele alındığı zaman ön plana çıkar. İlk yanıt her zaman söz konusu sistemi izole etmek olmalıdır – bu, sistemi kapatmaktan sandbox’a almaya kadar herhangi bir şey olabilir. Bir sonraki eylem, sistemin durumunu korumak ve güven kaybının neden meydana geldiğini araştırmak olmalıdır – bu, herhangi bir dijital adli tıp sürecinin parçası olacak ve bu tür başarısızlıkların temel nedenine odaklanacaktır.
Bununla birlikte, güven kaybının doğası gereği ikili olması gerekmez – tek bir cihazın veya sistemin bir kısmının veya hatta tüm sistemin güven derecelerini kaybedebiliriz. TPM PCR değerleri için fiili standart, tüm önyükleme ve çalışma süresinin neresinde bir güven kaybının meydana geldiği ve güven kaybının ne kadar kapsamlı olduğu konusunda bize bir ipucu verir. Örneğin, ürün yazılımı güncellendi mi, ürün yazılımı yapılandırması, önyükleme yükleyicisi, çalışma zamanı dosya sistemi (Linux IMA ve denetimin sorumluluğu) vb. Önyükleme günlüklerini, özellikle UEFI olay günlüklerini araştırmak, gerçek değişikliği tam olarak belirleyebilir. Buna bağlı olarak sisteme hala “güvenebiliriz”; en azından bir dereceye kadar.
Pratik uygulamalar
Her türden bulut ortamına ölçeklendikçe, uzaktan tasdikin aygıtların güveniyle ilgili sonuçları, orkestrasyonun işleyişini yönlendirmek için kullanılabilir. Örneğin, belirli iş yükünün yalnızca uygun şekilde güvenilen makinelere yerleştirilmesi veya ağ yapılandırmalarının yalnızca, onaylandığı gibi (örneğin, 5G dilimleme kullanım durumları için) verilen kimliklere ve bütünlük ölçümlerine benzer şekilde bağlı kalan cihazlardan oluşturulması bir gereklilik olabilir.
Bunun ötesinde, doğrulama ve güven kavramı şu anda X86 ve UEFI cihazları anlamına gelen TPM’li cihazlarla sınırlıdır. Bununla birlikte, ARM ve ARM tabanlı SoC aygıtları giderek artan bir şekilde diğer türdeki öğelere genişletilebilir (yazarın, ölçülü önyükleme ve TPM’ye sahip RISC-V aygıtları için özel bir isteği vardır). İlginç bir hedef, konteyner imzalama süreçleri (cosign, SigStore) ve yazılım malzeme listesi (SBOM) ile birlikte konteynerlerin uzaktan tasdikidir. Halihazırda tasdik için arabirimlere sahip başka bir hedef, işlemci yerleşim birimleridir (Intel SGX, ARM
TrustZone) ve temeldeki donanımın güven zincirine dahil edildiğinde, gizli bilgi işlem için çok daha güçlü bir ortam sağlar – adında “güvenilir” kelimesi geçen her şeyin öncüsü: Güvenilir AI/ML vb.
Görünüm
Dürüst olmalıyız ve bunların hiçbirinin ek yük getirmediğini belirtmeliyiz: bir güven kökünden ve tasdik yeteneklerinden yararlanmak için bunları aktif kullanıma sokmak ve bir miktar altyapı oluşturmak gerekir. Öncelikle bu, cihaz kimliklerinin, bilinen iyi konfigürasyonların bilinmesi ve bu bilgilerin tedarik zinciri veya ekipman veritabanlarının bir parçası olarak kaydedilmesi anlamına gelir. Bu daha sonra herhangi bir tasdik sürecinin temelini oluşturur. Daha da ileriye gidebilir ve herhangi bir doğrulamanın sonuçlarını izleme ve denetim süreçleriyle entegre edebilir ve hatta bulut iş yükü yönetimi ve diğer sistemlerle entegre edebiliriz.
Donanımın zaten standart olarak var olduğu göz önüne alındığında – TPM olması gerekmez, hatta yalnızca kalıcı cihaz kimliği vb. – bu özellikleri kullanmamak neredeyse aptalca görünüyor. Sıfır Güven gibi kavramlara olan ilgi göz önüne alındığında, güvenilir bilgi işlem ve uzaktan tasdik, iyi Sıfır Güven uygulamaları oluşturmak için temel taşı sunar. Hiçbir güvenlik tekniğinin tek başına ve ek yük olmadan mevcut olmadığına ve bu tekniklerin başarılı bir şekilde kullanılmasının, bunların daha geniş bir sisteme entegrasyonundan kaynaklandığına dikkat edilmelidir.
TPM ve ilgili kök güven teknolojileri IoT sistemlerine daha entegre hale geldikçe, artık demiryolu ve tıbbi teknolojiler gibi alanlarda yer buluyoruz. Güven teknolojilerinin tam kapsamı hâlâ haritalandırılıyor ancak bu, tedarik zincirinden çalışma süresine ve sonunda bu güvenilir altyapının üzerinde çalışacak dikeylere kadar cihaz güvenliğinin belkemiğini oluşturuyor.