Güvenilir Anlamak… – Siber Güvenlik Dergisi


Güvenilir kelimesinin son yıllarda siber güvenlik sözlüğüne eklendiği gözünüzden kaçmış olamaz: güvenilir yapay zeka, güvenilir makine öğrenimi, güvenilir IoT vb. Gerçekten de, siber güvenlik abartısına paralel olarak, tasdik ve gizli bilgi işlem gibi ilgili konularla birlikte güvenilir bilgi işlemin yeniden öne çıkmaya başladığını gördük.

Ne yazık ki sadece bir kelimeyi söylemek veya bir ürünü veya teknolojiyi anlatan bir cümleye sıfat olarak eklemek değer katmıyor, en azından reklam alanı dışında.

Bu makalede, bu terimlerin ne anlama geldiği ve bu kavramları desteklemek için siber güvenlik teknolojilerini nasıl uygulamamız gerektiği hakkında bir tartışma açmak istiyorum. Çalışmalar olduğunu belirtmeliyim, örneğin, IETF’nin Uzaktan Tasdik Teknik Spesifikasyonu ve Güvenilir Bilgi İşlem Grubu tanımlar, uygulama teknolojileri ve referans mimariler sağlar – bunlarla çelişmiyoruz, ancak bu diğer tanımlardan daha ontolojik bir tanım geliştirmeyi amaçlıyoruz ( farklı soyutlama düzeylerinde ve amaçlarda) haritalanabilir.

Güven Kazanmaya Yönelik Aksiyonlar: Ölçüm

İlk olarak, biraz tarih ve var olan bir şeye biraz topraklama. Güvenilir bilgi işlemden bahsedildiğinde, her zaman Güvenilir Platform Modülü (TPM) – bilgileri güvenli bir şekilde depolayabilen, anahtarlar üretebilen ve bazı kriptografik işlemleri gerçekleştirebilen pasif bir cihaz – hakkında bir konuşmaya yol açar. Tipik olarak görülen [UEFI] x86 sistemleri (ve şimdi bazı ARM SoC sistemleri), için bir mekanizma sağlar
kimlik, özgünlük oluşturma ve bütünlük ölçümlerini saklama. Ölçülen önyükleme (ve bazı çalışma zamanı bütünlük mekanizmaları) aracılığıyla düzgün bir şekilde kullanıldığında, sabit yazılım, önyükleme kiti, yapılandırma ve tedarik zinciri saldırılarını önlemenin ve azaltmanın son derece güçlü bir yolunu sağlar. TPM, bir sistemin kimliğini ve bütünlüğünü oluşturmaya ve raporlamaya yönelik birçok mekanizmadan biridir – TPM ile karıştırmayın
bir kavram olarak güvenilir bilgi işlem ile.

Bir sistemi anlamanın en iyi yolu, parçaların nasıl etkileştiğine ve birlikte nasıl davrandığına bakmaktır. Bir sistemin güvenilir olup olmadığına (hatta güvenilir olup olmadığına) karar vermek istiyorsak, bunu yapmak için gerçekleşmesi gereken bireysel eylemleri ve bu eylemlerin nasıl ilişkili olduğunu tanımlamamız gerekir. Aşağıdaki diyagram bu yapıyı göstermektedir:

Güvenmek istediğimiz bir nesnenin tanımını çıkardığımız süreç olan ölçümle başlayalım. Bir UEFI x86 ölçüm önyüklemesinde, sabit yazılım, önyükleyici, güvenli önyükleme anahtarı veritabanları ve sabit yazılım ve donanım yapılandırması ve bazen gerçek işletim sistemi çekirdeği, hipervizör, kütüphaneler vb.

Bu ölçümler her zaman bu yapıların kriptografik özetleridir. Diğer nesneler başka türde ölçümler sağlayabilir, örneğin, konteynerler SBOM’ları (yazılım malzeme listesi) ile birlikte gelmelidir.

Bir ölçümün bir özelliği, kriptografik olarak doğrulanabilir ve bu ölçümü sağlayan nesneye geri bağlanabilir olmasıdır. UEFI bunu önce kurcalanamaz bir çekirdek güven kökü oluşturarak ve ardından kriptografik hash’ler kullanarak oradan bir güven zinciri oluşturarak yapar.

Tasdik ve Doğrulama

Artık bir nesneyi ölçtük ve artık bir sonraki eylemi, yani tasdik işlemini gerçekleştirebiliriz. Tasdik terimi tüm sürece uygulanabilir, ancak asıl eylemi gerçekten açıklığa kavuşturmak iyidir. Doğrulama, ölçümlerin çıkarıldığı ve analiz edilebilecekleri veya doğrulanabilecekleri bir biçimde sunulduğu süreçtir. Örneğin bir TPM, PCR’lerdeki bir dizi ölçüm hakkında bilgi içeren alıntılar, makinenin durumu hakkında meta-veriler ve bu alıntıyı onu üreten cihaza bağlayan bir doğrulama anahtarından yapılan bir kriptografik imza üretti. Tasdik yoluyla üretilen diğer iddia türleri, günlük dosyalarıdır, ancak bunların TPM’ye göre çapraz referanslanması gerekir, örneğin Intel TXT günlüğü, UEFI olay günlüğü, Linux IMA dosya sistemi bütünlüğü vb.

Bir sonraki eylem, bir karar vermek için iddiayı doğrulamaktır – sadece şu soruyu soruyoruz: Bu iddia, beklediğim şeyle eşleşiyor mu? TPM teklif örneğimizi tekrar kullanarak, bu bir dizi Bireysel soruya bölünmüştür: bu bir teklif mi? Kriptografik imzasıyla eşleşiyor mu? Onaylanan değer, beklenen onaylanan değerle eşleşiyor mu? Durum (saat, sıfırlama/yeniden başlatma/güvenli sayaçlar) iyi mi?

Nasıl Karar Verilir?

Bu sorulara olumlu yanıt verilirse, olumlu bir kararımız olur, aksi takdirde nesneye güvenilmez. Bu işlem genellikle bir [remote] tasdik sunucusu – sonuçları sistemin diğer bölümlerine iletilmesi ve davranışlarında kullanılması gereken. Örneğin, güvenilir olmayan bir sunucu, ağ bağlantısının kısıtlandığı, bir güncellemeyi tetiklediği ve hatta konteyner tabanlı sistemlerde görebileceğimiz gibi herhangi bir iş yükü yönetim mekanizmasını etkilediği anlamına gelebilir.

Artık bir kararımız olduğuna göre, bu karar sürecini daha da uzatabilir ve güvenilir olmanın ne anlama geldiğini düşünebiliriz. Tahmin etmiş olabileceğiniz gibi, bir nesne için birden fazla olası iddia kümesi vardır ve bu iddialar bir şekilde birbiriyle ilişkili olabilir. Ardından, bir veya daha fazla parça güven kararında başarısız olursa, çok sayıda nesne içeren bir sistemin hala güvenilir olup olmadığı sorusu gelir.

Ayrıca, tek bir sistemde farklı düzeylerde güvene sahip olabiliriz. Örneğin, dizüstü bilgisayarımı 3 şekilde önyükleyebilirim: ölçülü önyükleme (SRTM ölçüleri), Intel TXT ile ölçülü önyükleme ve ardından (bazı durumlarda) güvenli önyükleme etkinken veya etkin olmadan. TXT ile önyükleme yaparsam, yalnızca güven ölçüsünün çekirdek köküne ve çekirdek ölçümüne güvenebilirim; TXT kullanmıyorsam, yalnızca üretici yazılımının kontrolü çekirdeğe devrettiği noktaya kadar güvenebilirim. Hangisi daha güvenilir?
Artık bir sisteme güven oluştururken göz önünde bulundurmamız gereken dört eylemimiz var:

  • ölçüm
  • kanıtlamak
  • doğrulamak
  • karar vermek

Daha sonraki makalelerde bu süreçler hakkında daha fazla konuşacağız, ancak şimdilik bazı sıfatları ele alacağız: güvenilir, güvenilir ve güvenilir.

  • A güvenilir üzerinde tasdik yapabileceğimiz bir nesne olarak. Tasdik yoluyla üretilen iddiaların, tasdik yoluyla onları üreten nesneye bağlanan özelliklere sahip olması gerektiğini elbette hatırlamak.
  • A güvenilir nesne, doğrulayabildiğimiz bir nesnedir. Karşılaştırabileceğimiz referans, altın veya beklenen değerlere sahip olduğumuz bir nesne.
  • A güvenilir nesne nerede bir [positive] karar verilebilir.

Sonuç olarak, bu terimlere bir anlam yükleyerek ve onları birbiriyle ilişkilendirerek, kendimize güvenilirlik ve itimat kavramlarını doğru bir şekilde tartışabileceğimiz bir çerçeve sağlamış oluyoruz.

Birkaç Son Nokta

Şimdi bu makalenin başında ortaya çıkan bir noktaya geri dönelim – diyelim ki birisi güvenilir yapay zekadan bahsettiğinde bu ne anlama geliyor? Bunu okuyucu için daha çok akademik bir alıştırma olarak bırakacağım, ancak bir yapay zeka algoritması çalıştıran bir yazılımım (veya üzerinde çalıştığı donanımı eklersek sistemim) varsa, onu güvenilir kılan şey nedir? Tedbirler nasıl alınır? Bunlar nasıl onaylanır ve
doğrulandı mı? Güvenilir olduğunu belirtme kararını hangi kriterler oluşturur?

Bu makalede sistem ve nesne terimlerini birbirinin yerine kullandık – sistemler (veya nesneler) birbirine bağlı diğer sistemlerden (veya nesnelerden) yapılmıştır. Bir sistemdeki güven başka bir sistemdeki güveni nasıl etkiler?

Son olarak, odada meşhur bir filimiz var: güven nereden geliyor? Tüm bunların türetildiği güvenilir otorite kimdir…. bir sonrakine kadar.

Baskı Dostu, PDF ve E-posta



Source link