Yapay Zeka Destekli Siber Saldırılar: Akıllı Tehditler Nasıl Tespit Edilir, Önlenir ve Savunulur?

Şimdi Oku
Site çevirileri için yapay zeka kullanıyoruz ve doğruluk için çaba göstersek de her zaman %100 kesin olmayabilir. Anlayışınız için teşekkür ederiz.

CVE-2023-33733 Güvenlik Açığının Analiz Edilmesi MetaDefender Core

tarafından OPSWAT
Bu Gönderiyi Paylaş
Lider güvenlik araştırmacıları CVE-2023-33733 güvenlik açığını tartışıyor
OPSWAT Burs Programı Katılımcıları

Teknolojinin hızlı yükselişi, yetenekli geliştiriciler için yüksek bir talep yarattı. Açık kaynaklı yazılımlar (OSS) bu büyüyen işgücü için hayati bir araç haline gelmiştir. Şu anda çeşitli programlama dillerinde yüz binlerce köklü OSS paketi bulunmaktadır. Geliştiricilerin %90'ından fazlası tescilli uygulamalarında bu açık kaynak bileşenlerinden yararlanarak OSS'nin verimliliğini ve değer önerisini vurgulamaktadır. Önemini daha da vurgulayan küresel OSS pazarının 2030 yılına kadar 80,7 milyar dolara ulaşması ve yıllık %16,7'lik bir büyüme oranına ulaşması beklenmektedir. 

Ancak OSS'nin yaygın olarak benimsenmesi yeni bir karmaşıklık katmanını da beraberinde getirmektedir: güvenlik açıkları. Birbirine bağlı çok sayıda OSS bileşeni, kötü niyetli aktörlerin yararlanabileceği daha geniş bir saldırı yüzeyi oluşturur. Çeşitli OSS paketleri arasındaki bağımlılıkları yönetmek karmaşık olabilir ve bu da güvenlik açıklarını anında tespit etmeyi ve yamalamayı zorlaştırır. Ayrıca, OSS'nin güvenliği genellikle geliştirici topluluğunun dikkatine ve katkılarına dayanır. Bu durum, özellikle daha az popüler projeler için güvenlik açıklarının yamalanmasında gecikmelere yol açabilir.  

Bu makalede, OPSWAT Mezun Bursiyerleri, popüler açık kaynak kütüphanesi ReportLab'de keşfedilen bir güvenlik açığı olan CVE-2023-33733'ü incelemektedir. Analizleri, aşağıdakilerden yararlanan simüle edilmiş bir saldırı ile birleştirilmiştir MetaDefender Core ile Software Bill of Materials (SBOM) savunmasız ReportLab kütüphanesi de dahil olmak üzere bir uygulamanın bağımlılıklarındaki güvenlik açıklarını belirleme yetenekleri. 

Reportlab Kütüphane Tanıtımı

ReportLab illüstrasyonu

Güçlü ve açık kaynaklı bir Python kütüphanesi olan ReportLab, kullanıcılara Python kodundan zengin özelliklere sahip PDF'ler üretme yetkisi verir. Geliştiricilere kazanan bir kombinasyon sunar: esneklik, kullanım kolaylığı ve dinamik belgeler oluşturmak için kapsamlı özelleştirme seçenekleri. Kütüphane, geliştiricilere PDF'leri üzerinde gelişmiş kontrol sağlayarak metin, resim, tablo ve grafiklerin titiz bir hassasiyetle dahil edilmesine olanak tanır. Bu özelleştirme düzeyi, ReportLab'i faturalar ve veri odaklı raporlar gibi dinamik belgeler oluşturmak için değerli bir araç haline getiriyor. 

CVE-2023-33733 Arka Plan

CVE-2023-33733, ReportLab kütüphanesinde bulunan ve ReportLab Kütüphanesinin birden fazla sürümünü etkileyen bir güvenlik açığını vurgulamaktadır.

  • ReportLab'ın 3.6.13 sürümünden önceki sürümlerinin, özellikle aşağıdaki durumlarda sandbox atlatmaya karşı savunmasız olduğu bulunmuştur 'rl_safe_eval' işlevi. İstismar, HTML etiketlerinin renk özniteliği aracılığıyla gerçekleştirilmiş ve bu da doğrudan bir Python ifadesi olarak değerlendirilmiştir. eval() işlevini kullanarak uzaktan kod yürütülmesine yol açabilir. 
  • NVD Analistleri CVE-2023-33733'e 7.8 HIGH CVSS puanı atamıştır. 
CVSS 3.x önem derecesi ve ölçümleri, CVE-2023-33733 için 7,8'lik bir temel puan göstererek yüksek risk olarak kategorize edilmiştir.

ReportLab Güvenlik Zafiyetinin Analizi

OPSWAT Mezun Bursiyerleri, ReportLab iş akışının derinlemesine bir analizini gerçekleştirerek CVE-2023-33733 güvenlik açığının temel nedenini belirledi.

ReportLab Kitaplığı İş Akışı 

ReportLab, geliştiricilerin verimli bir şekilde PDF oluşturmasını sağlar. Kütüphane zahmetsiz entegrasyon sağlar: kütüphaneyi içe aktarın, HTML içeriğini tanımlayın ve sonuç işlevini kullanarak tek bir kod satırında PDF oluşturun. 

ReportLab kütüphanesini kullanarak basit bir belge şablonu oluşturmayı gösteren Python kodu

Mezun arkadaşlarımız ReportLab ile HTML'den PDF oluşturmak için 5 adımlı bir süreç ortaya çıkardı. 

ReportLab ve ilişkili işlevleri kullanarak HTML girişinden PDF çıkışına kadar olan süreç akışını gösteren diyagram

ReportLab ile HTML'den PDF oluşturmaya yönelik 5 adımlı süreçte üç ana işlem öne çıkmaktadır: paragraf işleme, ayrıştırıcı işleme ve HTML işleme süreci. 

Bir Python betiğindeki HTML işleme, paragraf işlemi ve paraparser işlemini vurgulayan bir hata ayıklama işleminin ekran görüntüsü

Yukarıdaki şekilde gösterildiği gibi, ReportLab içindeki HTML işleme süreci eval() işlevini özellikle renk özniteliği üzerinde çalıştırır. Kötü amaçlı kod çalıştırmak için bir odak noktası olarak hizmet veren eval() işlevi, araştırmacıları uygulamayı istismar etmek için girdisi üzerinde kontrol aramaya yönlendirir. Bununla birlikte, bu, uygulama tarafından zorlanan sanal alan nedeniyle zordur. __rl_safe_eval__ ReportLab içindeki işlev. 

İzin verilen yöntemler ve zaman aşımları için kontroller içeren güvenli bir değerlendirme işlevini gösteren kod parçası
ReportLab Analizinde Güvenlik Açığı 

ReportLab, şu adda bir sanal alan uygulamıştır __rl_safe_eval__. Bu korumalı alan tüm yerleşik Python işlevlerini hariç tutar ve birkaç geçersiz kılınmış yerleşik işlev içerir. Bu kısıtlama, kütüphane içinde güvenli kodun yürütülmesine izin verirken, kötü amaçlarla kullanılabilecek tehlikeli işlevlere ve kütüphanelere erişimi engeller (örn. dosya sistemi erişimi, ağ iletişimi). 

Bu rl_safe_eval sandbox işlevi, Python'un yerleşik sandbox işlevini kullanmadan önce çağrılan özniteliğin güvenli olduğundan emin olmak için çeşitli koşullar uygular. getattr() işlevini kullanarak alabilir ve sonucu döndürebilirsiniz. 

Bir güvenlik bağlamı içinde yöntem adlarına izin verilip verilmediğini kontrol eden bir işlevi gösteren kod örneği

Güvenli eval işlevi, tehlikeli işlevleri hariç tutarak ve kötü niyetli eylemleri önleyerek ortamın güvenliğini sağlamayı amaçlar. Bununla birlikte, koşullarını atlamanın ve güçlü bir yerleşik işleve erişmenin bir yolu bulunursa, bu durumdan yararlanılabilir.  

Güvenlik araştırmacıları bu fikirden yola çıkarak kısıtlamaları aşmaya çalıştılar. Başlangıçta, nesne enjeksiyonunu kullanarak type() işlevini kullanarak bir nesne oluşturabilir ve bu nesnenin niteliklerini ve yöntemlerini yeniden tanımlayarak __rl_safe_eval__. Ayrıca, ReportLab kütüphanesi yerleşik işlevleri geçersiz kıldığından ve bunları eval bağlamında küresel hale getirdiğinden, araştırmacı orijinal yerleşik işlevlerden birine erişmek için bu uygulamadan yararlanabilir. Bu, sanal alan ortamını atlamalarını ve kötü amaçlı kod çalıştırmalarını sağlayabilir. 

Yerleşik işlevlerin yeniden tanımlanmasını gösteren kod parçası

Yük aşağıdaki şekilde hazırlanır: 

Saldırgan sınıfını ve küresel öznitelik istismarını gösteren kod örneği

Bununla birlikte, bir eval bağlamı içinde çok satırlı bir ifade yürütmek mümkün değildir. Bununla birlikte, bir liste anlama hilesi kullanılabilir ve bu CVE'den yararlanmak için kullanılan yük aşağıdaki gibidir: 

CVE-2023-33733'ün istismarını gösteren karmaşık kod yapısı

ReportLab İstismar Simülasyonu 

Araştırmacılar CVE-2023-33733 için bir Kavram Kanıtı (POC) yayınlayarak ReportLab'in savunmasız sürümleriyle oluşturulan uygulamaların siber saldırılara açık olabileceğini gösterdi. Bu potansiyel tehdidi değerlendirmek için OSPWAT Mezun Bursiyerleri bir web uygulamasına simüle edilmiş bir saldırı gerçekleştirdi. Etkilenen ReportLab kütüphanesinin varlığı da dahil olmak üzere uygulama yazılımı bağımlılıklarındaki güvenlik açıklarını belirlemek için SBOM özelliklerine sahip MetaDefender Core 'dan yararlandılar. 

Güvenlik Zafiyetini Simüle Edin 

Bu istismarı gerçek dünya senaryosu olarak simüle etmek için OPSWAT Lisansüstü Bursiyerleri Python ve ReportLab kütüphanesinin savunmasız sürümünü kullanarak bir web uygulaması geliştirdi. Bu uygulama tipik bir kullanım durumunu taklit etmektedir: kullanıcılar bir HTML dosyası yükleyebilir ve bunu bir PDF dosyasına dönüştürebilir. 

Yüklenmek üzere bir dosyaya göz atılmasını isteyen kötü niyetli bir dosya yükleyici arayüzünün ekran görüntüsü

Bir saldırgan, istismar etmek için tasarlanmış kod içeren kötü amaçlı bir HTML dosyası oluşturabilir 33733. Bu kod sandbox'ı atlayabilir ve web sunucusunu tehlikeye atabilir. eval() fonksiyon.  

Devam etmekte olan bir komut ekleme saldırısını gösteren kod parçacığı

Kötü amaçlı dosyanın başarılı bir şekilde yüklenmesi, güncel olmayan ReportLab kütüphanesindeki güvenlik açığı nedeniyle saldırganın uygulama sunucusunun kontrolünü ele geçirmesine olanak tanıyacaktır. 

Kötü amaçlı dosya yükleyici evil.html yüklendiğini gösteriyor
Etkin bir ters kabuk görüntüleyen terminal

SBOM ve Proaktif Güvenliğin Önemi 

OPSWAT Graduate Fellows'un CVE-2023-33733 üzerine yaptığı araştırma, OSS ile ilişkili potansiyel güvenlik risklerinin altını çizmektedir. OSS, geliştirme verimliliği ve maliyet etkinliği açısından yadsınamaz faydalar sunarken, ReportLab'de bulunan gibi güvenlik açıkları kuruluşları siber saldırılara açık hale getirebilir. 

OPSWAT SBOM 

OPSWAT SBOM, kaynak kodu ve konteynerler için kapsamlı bir bileşen envanteri sağlayarak yazılım tedarik zincirini güvence altına alır. Java, JavaScript, Go, PHP ve Python dahil olmak üzere 10'dan fazla dili, 5 milyondan fazla üçüncü taraf açık kaynaklı yazılım bileşenini destekler ve Ulusal Güvenlik Açığı Veritabanı (NVD) ve GitHub (GHSA) kaynaklı 17 bin güvenlik açığından oluşan bir veritabanı kullanır. 

Engellenmiş bir dosyayı ve güvenlik açığı analizini gösteren MetaDefender Core güvenlik panosu

OPSWAT MetaDefender Core, entegre SBOM yetenekleri ile kurumların bu riskleri proaktif olarak ele almalarını sağlar. MetaDefender Core , yazılım uygulamalarını ve bağımlılıklarını tarayarak listelenen bileşenlerdeki CVE-2023-33733 gibi bilinen güvenlik açıklarının varlığını tespit eder. Bu, geliştiricilerin ve güvenlik ekiplerinin yama çalışmalarına öncelik vermesine ve güvenlik risklerini istismar edilmeden önce azaltmasına olanak tanır. 

CVE-2023-33733 için ayrıntılı güvenlik açığı tarama sonuçlarını gösteren MetaDefender Core güvenlik panosu

Kapanış Düşünceleri

OPSWAT Graduate Fellows'un ReportLab güvenlik açığı (CVE-2023-33733) üzerine yaptığı araştırma, yazılım geliştirme yaşam döngüsünde proaktif güvenlik önlemlerinin önemini hatırlatan değerli bir örnek teşkil etmektedir. Kuruluşlar, OPSWAT MetaDefender Core gibi araçlardan yararlanarak yazılım bağımlılıkları hakkında önemli bilgiler edinebilir ve potansiyel güvenlik açıklarını saldırganlar tarafından istismar edilmeden önce tespit edebilirler. 

Ayrıca OPSWAT , güvenlik açığı taramasının ötesine geçen kapsamlı bir siber güvenlik çözümleri paketi sunmaktadır. Bu çözümler gerçek zamanlı tehdit algılama, veri güvenliği ve uç nokta koruması sağlayarak kuruluşları çok çeşitli siber tehditlere karşı korur. MetaDefender Core gibi araçları içeren katmanlı bir güvenlik yaklaşımı benimseyen kuruluşlar, OSS'nin avantajlarından yararlanırken ilgili güvenlik risklerini de en aza indirebilirler. 

OPSWAT ile Güncel Kalın!

En son şirket güncellemelerini almak için bugün kaydolun, hikayeler, etkinlik bilgileri ve daha fazlası.