Gelişmiş tehdit algılama teknolojilerimizle tespit edilen ve düzeltilen çeşitli Ortak Güvenlik Açıkları ve Maruziyetlere (CVE'ler) odaklanan bir dizi teknik analiz blogunu tanıtmaktan heyecan duyuyoruz.Tüm araştırmalar, Eylül 2023'te başlatılan OPSWAT Cybersecurity Fellowship programına katılan lisansüstü öğrenciler tarafından yapılmaktadır.
Bu blogda, Foxit PDF Reader CVE- 2020-14425 güvenlik açığını ve kuruluşların kendilerini istismardan nasıl koruyabileceklerini açıklayacağız.
Foxit PDF Okuyucu
Foxit PDF Reader, Foxit Software tarafından geliştirilen ve PDF belgeleri oluşturmak, görüntülemek, düzenlemek ve dijital olarak imzalamak için bir dizi özellik sağlayan bir PDF aracıdır. Foxit Reader'ın ücretsiz sürümü popülerlik kazanmıştır ve 700 milyondan fazla kullanıcı tarafından kullanılmaktadır.
Foxit PDF Reader, yeteneklerini ve esnekliğini artırmak için JavaScript uzantılarını destekleyerek kullanıcılara özelleştirme seçenekleri sunuyor; ancak bu durum aynı zamanda potansiyel bir güvenlik riskini de beraberinde getirerek yazılımı saldırganlar için bir hedef haline getiriyor.
14425
Foxit PDF Reader'ın 10.0 sürümünden önceki bir güvenlik açığı, saldırganların özel olarak hazırlanmış bir PDF dosyası açıldığında kurbanın cihazında uzak kod çalıştırmasına olanak tanır. Bu güvenlik açığı, app.opencPDFWebPage JavaScript işlevinin güvenlik zayıflığı nedeniyle ortaya çıkmıştır. Foxit Reader, PDF dosyasındaki gömülü URL'leri açmak için varsayılan tarayıcıyı kullanacak şekilde yapılandırılırsa, yürütülebilir dosya içindeki gömülü kötü amaçlı kod, bir güvenlik uyarısı diyaloğu tetiklenmeden yürütülebilir.
Bu CVE'den yararlanmak için hazırlanmış bir PDF dosyası, bir e-posta kimlik avı kampanyası veya kötü amaçlı gömülü bağlantılar aracılığıyla dağıtılabilir. Kullanıcı, güvenlik açığı bulunan Foxit Reader sürümünü kullanarak güvenliği ihlal edilmiş PDF dosyasını açarsa, saldırgan uzaktan kod yürütme yoluyla kurbanın cihazı üzerinde kontrol sahibi olabilir.
CVE-2020-14425 Analizi
PDF dosyaları, bir başlık bölümü, bir gövde bölümü, bir çapraz referans tablosu ve bir fragman bölümünden oluşan ağaç tabanlı bir yapı kullanılarak düzenlenir.
- Başlık, PDF formatının sürümünü belirten %PDF-1.x ile başlar. Şu anda format sürümü 1.0 ile 1.7 arasında değişmektedir. Başlık bölümü ayrıca yazar, oluşturma tarihi ve diğer ilgili bilgiler gibi belge meta verilerini de içerir.
- Gövde, PDF dosyasının sayfalar, metin akışları, yazı tipleri, formlar, JavaScript kodu ve diğer öğeler gibi nesneler halinde yapılandırılmış içeriğinin tamamını içerir.
- Çapraz referans tablosu (Xref tablosu) PDF dosyasındaki tüm nesneler için referans ve bayt ofsetini tutar. Dosyanın tamamını okumak zorunda kalmadan nesnelere hızlı erişim sağlar.
- Fragman, xref tablosundaki toplam girdi sayısı ve tablonun başlangıcına işaretçi gibi xref tablosunun yerini belirlemek için gerekli ek bilgileri saklar.
Gövde PDF dosyalarının hassas nesnelerini içerdiğinden, saldırılar genellikle bu bileşene kötü amaçlı kod enjekte etmeye odaklanır.
PDF dosyaları her yerde bulunmaları nedeniyle saldırganlar için bir hedef haline gelmiştir. PDF dosyaları JavaScript kodu içerebildiğinden, bir tarayıcı tarafından açıldığında Hizmet Reddi (DoS), Açık Yönlendirme veya Siteler Arası Komut Dosyası Oluşturma (XSS) gibi çeşitli saldırıları gerçekleştirmek için kullanılabilirler.
Buna ek olarak, saldırganlar Use After Free (UAF) ve Buffer Overflow (BoF) gibi bazı istismar edilebilir teknikler kullanabilirler. Ayrıca kurbanın sisteminde Uzaktan Kod Yürütme (RCE) saldırısı gerçekleştirmek için yazılım hatası işlemeden de faydalanabilirler. Sonuç olarak, bir PDF dosyası fidye yazılımı taşıyabilir, makinedeki verileri şifreleyebilir ve kurtarma için önemli bir fidye talep edebilir veya saldırganlar kurbanın makinesi üzerinde tam kontrol sahibi olabilir.
Foxit Reader'da, bir web sayfası URL'si gömüldüğünde, kullanıcıların iki görüntüleme seçeneği vardır: web sayfasını Foxit Reader içinde görüntüleme veya kullanıcının cihazındaki varsayılan tarayıcıyı kullanma. Varsayılan yapılandırmada, Foxit Reader dahili olarak gömülü web sayfasına erişir. PDF içeriğinde, bir web sayfasının açılmasını istemek için Foxit Reader, PDF'de gömülü bir web sayfası URL'sinin açılmasını başlatmak üzere tasarlanmış bir JavaScript API olan OpencPDFWebPage işlevini kullanır.
Ancak, bu API adresinde saldırganların opencPDFWebPage işlevine yerel bir dosya yolu girmesine olanak tanıyan bir Uygunsuz Girdi Doğrulama güvenlik açığı bulunmaktadır. Sonuç olarak, işlev ekli yol ile kötü amaçlı dosyayı açabilir ve bu yürütülebilir dosyayı çalıştırabilir. Bu kusur, saldırganların kurbanın makinesinde depolanan yükü başlatmasına ve uzaktan kod yürütme elde etmesine olanak tanır.
IE 10 veya üstü için bir gereklilik olan web sayfasını Foxit Reader içinde açma seçeneği, bir istismar girişimi sırasında bir uyarı diyaloğunu tetiklerken, seçenek varsayılan tarayıcıyı kullanacak şekilde ayarlanırsa, güvenlik uyarısını atlar.
Güvenlik Açığı İstismarı
Tanımlanan güvenlik açığı ile potansiyel bir saldırı vektörü, PDF dosyasını gizli bir ekli yükü çalıştırmak için bir yükleyici olarak kullanan bir kimlik avı saldırısını içerir. Bu senaryoda, tehdit aktörü kurbana PDF dosyası ve gizli bir yürütülebilir dosya içeren bir ZIP dosyası göndererek kurbanı belgeyi açması için kandırmayı amaçlar. Foxit Reader'daki CVE daha sonra gömülü JavaScript kodunun gizli yürütülebilir dosyayı çalıştırmasına izin vererek saldırganın makinesine bir ters kabuk bağlantısı kurar.
PDF dosyasına JavaScript kodu enjekte etmek için saldırgan PDF içerik dosyasını doğrudan değiştirebilir veya Foxit Phantom PDF gibi araçlar kullanabilir. Kötü amaçlı kod, kötü amaçlı dosya yolunu tanımlar ve opencPDFWebPage işlevini kullanarak zararlı kodu çalıştırır.
Zararlı PDF dosyalarını hazırladıktan sonra saldırgan çalıştırılabilir dosyayı gizler ve klasörü bir ZIP dosyası halinde sıkıştırır. Antivirüs programlarının güvenlik korumalarından kaçınmak için saldırgan ZIP dosyasını kurbana göndermeden önce bir parola ile şifreleyebilir.
Kurban, Foxit Reader'ın güvenlik açığı bulunan sürümüyle kötü amaçlı PDF dosyasını ayıklayıp açarsa, yürütülebilir dosya içindeki gömülü kötü amaçlı kod çalıştırılarak saldırganın ters kabuk aracılığıyla kurbanın cihazını ele geçirmesi sağlanır.
İyileştirme
Metadefender Core adresindeki Multiscanning teknolojisi, parolalarla sıkıştırılmış kötü amaçlı dosyaları tespit ederek yöneticilerin bu tehditleri doğru bir şekilde tanımlamasını sağlar. Toplamda 30'dan fazla antivirüs motorunun entegrasyonu ile kötü amaçlı yazılım tespit oranı %99,99'un üzerine çıkmaktadır. Ayrıca, gömülü Deep CDR (Content Disarm and Reconstruction) teknolojisi ile Metadefender Core potansiyel olarak zararlı JavaScript kodunu etkili bir şekilde kaldırabilir ve sterilize edilmiş, kullanımı güvenli dosyaları yeniden oluşturabilir.
Ayrıca MetaDefender Endpoint , savunmasız uygulama sürümlerini tanıyabilir ve en son yamalara otomatik olarak güncelleme yaparak gelecekte olası tehditlere karşı uç nokta güvenliğini artırabilir.