Qualcomm çiplerinde özel anahtarların TrustZone depolama alanından çıkarılmasına izin veren güvenlik açığı

NCC Group'tan araştırmacılar ortaya çıkarılmış ayrıntılar güvenlik açıkları (CVE-2018-11976) Qualcomm çiplerinde, ARM TrustZone teknolojisine dayanan yalıtılmış bir Qualcomm QSEE (Qualcomm Güvenli Yürütme Ortamı) bölgesinde bulunan özel şifreleme anahtarlarının içeriğini belirlemenize olanak tanır. Sorun şu şekilde kendini gösteriyor: en Android platformuna dayalı akıllı telefonlarda yaygınlaşan Snapdragon SoC. Sorunu çözen düzeltmeler zaten dahil Nisan Android güncellemesi ve Qualcomm çipleri için yeni ürün yazılımı sürümleri. Qualcomm'un bir düzeltme hazırlaması bir yıldan fazla sürdü; güvenlik açığıyla ilgili bilgiler ilk olarak 19 Mart 2018'de Qualcomm'a gönderildi.

ARM TrustZone teknolojisinin, ana sistemden tamamen ayrı, ayrı bir özel işletim sistemi kullanarak ayrı bir sanal işlemci üzerinde çalışan, donanımdan yalıtılmış korumalı ortamlar oluşturmanıza olanak sağladığını hatırlayalım. TrustZone'un temel amacı, şifreleme anahtarları, biyometrik kimlik doğrulama, ödeme verileri ve diğer gizli bilgiler için işlemcilerin yalıtılmış şekilde yürütülmesini sağlamaktır. Ana işletim sistemi ile etkileşim, dağıtım arayüzü aracılığıyla dolaylı olarak gerçekleştirilir. Özel şifreleme anahtarları, donanımdan yalıtılmış bir anahtar deposunda saklanır; bu, doğru şekilde uygulandığında, temeldeki sistemin tehlikeye atılması durumunda bunların sızmasını önleyebilir.

Güvenlik açığı, eliptik eğri işleme algoritmasının uygulanmasındaki bir kusurdan kaynaklanıyor ve bu da veri işlemenin ilerleyişi hakkında bilgi sızıntısına yol açıyor. Araştırmacılar, donanımdan yalıtılmış bir ortamda bulunan özel anahtarların içeriğini kurtarmak için mevcut dolaylı sızıntıların kullanılmasına olanak tanıyan bir yan kanal saldırı tekniği geliştirdiler. Android Anahtar Deposu. Sızıntılar, dal tahmin bloğunun etkinliğinin analizine ve bellekteki verilere erişim süresindeki değişikliklere dayanarak belirlenir. Deneyde araştırmacılar, Nexus 224X akıllı telefonda kullanılan donanım yalıtımlı anahtar deposundan 256 ve 5 bit ECDSA anahtarlarının kurtarıldığını başarıyla gösterdi. Anahtarın kurtarılması, yaklaşık 12 bin dijital imzanın oluşturulmasını gerektirdi ve bu, 14 saatten fazla sürdü. Saldırıyı gerçekleştirmek için kullanılan araçlar Önbellek yakalama.

Sorunun ana nedeni, TrustZone'da ve ana sistemdeki hesaplamalar için ortak donanım bileşenlerinin ve önbelleğin paylaşılmasıdır - izolasyon, mantıksal ayırma düzeyinde, ancak ortak bilgi işlem birimleri kullanılarak ve şube hakkında hesaplama ve bilgi izleri kullanılarak gerçekleştirilir. adresler ortak işlemci önbelleğine depolanır. Önbelleğe alınan bilgilere erişim süresindeki değişiklikleri değerlendirmeye dayanan Prime+Probe yöntemini kullanarak, önbellekteki belirli modellerin varlığını kontrol ederek, dijital imza hesaplamalarıyla ilişkili veri akışlarını ve kod yürütme işaretlerini izlemek mümkündür. TrustZone oldukça yüksek doğrulukla.

Qualcomm yongalarındaki ECDSA anahtarlarını kullanarak dijital imza oluşturmak için çoğu zaman, her imza için değişmeyen bir başlatma vektörü kullanılarak bir döngüde çarpma işlemleri gerçekleştirilerek harcanır (papalık elçisi). Saldırgan bu vektöre ilişkin bilgilerle en az birkaç biti kurtarabilirse, özel anahtarın tamamını sırayla kurtarmak için bir saldırı gerçekleştirmek mümkün hale gelir.

Qualcomm örneğinde, çarpma algoritmasında bu tür bilgilerin sızdırıldığı iki yer belirlendi: tablolarda arama işlemleri yapılırken ve "nonce" vektöründeki son bitin değerine dayalı koşullu veri alma kodunda. Qualcomm kodunun üçüncü taraf kanallardan bilgi sızıntısını önlemeye yönelik önlemler içermesine rağmen, geliştirilen saldırı yöntemi, bu önlemleri atlamanıza ve 256 bit ECDSA anahtarlarını kurtarmak için yeterli olan "nonce" değerinin birkaç bitini belirlemenize olanak tanır.

Kaynak: opennet.ru

Yorum ekle