R programlama dili sürecindeki yüksek önemdeki bir güvenlik açığı, popüler açık kaynak dilini kullanan kuruluşları, yazılım tedarik zinciri yoluyla yapılan saldırılara maruz bırakabilir.
Güvenlik açığı, atanan CVE-2024-27322CVSS güvenlik açığı ciddiyet derecesi 10 üzerinden 8,8’dir. Bu, R’nin verileri seri durumdan çıkarma veya JSON, XML ve ikili gibi formatlarda kodlanmış nesneleri bir uygulama veya programda kullanılmak üzere orijinal biçimlerine dönüştürme işlemini içerir.
R nispeten yaygın olarak kullanılan bir istatistiksel hesaplama dili ve grafik uygulamaları. Gibi sektörlerdeki geliştiriciler arasında popülerdir. finansal hizmetler, sağlık hizmetleri, araştırma, hükümet Yapay zeka ve makine öğrenimi gibi büyük veri kümelerini içeren ortamlarda. Kapsamlı R Arşiv Ağı En popüler R paket deposu olan (CRAN) şu anda 20.000’den fazla pakete ev sahipliği yapıyor. R-ForgeR paketi geliştirme araçları sağlayan bir site olan sitenin 15.800’den fazla kayıtlı üyesi var ve yaklaşık 2.146 projeye ev sahipliği yapıyor.
Seri durumdan çıkarma sorunu
HiddenLayer’daki araştırmacılar, R’nin sürecinde, saldırganlara kurban ortamında özel hazırlanmış bir R Veri Serileştirme (RDS) dosyası aracılığıyla rastgele kod yürütme olanağı sağlayan bir zayıflık buldu. Programcılar, nesneleri gelecekte kullanmak veya başkalarıyla paylaşmak üzere R’de depolamak veya kaydetmek için genellikle RDS dosyalarını kullanır.
HiddenLayer araştırmacıları Kasimir Schulz ve Kieran Evans, “Bu güvenlik açığından, genellikle geliştiriciler ve veri bilimcileri arasında paylaşılan RDS dosyalarının veya R paketlerinin yüklenmesi yoluyla yararlanılabilir” dedi. bu hafta rapor ver. Rapora göre, “Bir saldırgan, etkileşim üzerine kurbanın hedef cihazında çalıştırılan, gömülü rastgele R kodu içeren kötü amaçlı RDS dosyaları veya R paketleri oluşturabilir.”
R’nin koruyucuları sorunu şu şekilde ele aldı: R sürümü 4.4.0 HiddenLayer onlara sorun hakkında bilgi verdikten sonra.
Tembel Bir Söz Tamir Etmeye İzin Verir
HiddenLayer’ın R’de keşfettiği güvenlik açığı, R’deki “tembel değerlendirme” ve “söz verilen nesneler” olarak adlandırılan iki temel kavramla ilgilidir. Tembel değerlendirme bir R programının bir ifadeyi veya değişkeni gerçekten gerekli olana veya doğrudan erişilene kadar değerlendirmediği bir programlama tekniğidir. Amaç, ihtiyaç duyulmayabilecek ifadeler için hesaplamalardan kaçınarak performansı artırmaktır. Bir söz nesnesi tembel değerlendirmeyle yakından ilişkilidir ve değerlendirme için ertelenen nesneyi temsil eder.
HiddenLayer’daki araştırmacıların keşfettiği şey, RDS dosyasının seri durumdan çıkarılması sırasında nesneye erişildiğinde kendi seçtikleri kodu çalıştıracak yüke sahip bir söz nesnesi oluşturmanın bir yoluydu.
HiddenLayer’a göre “R paketleri, verileri kaydetmek ve yüklemek için RDS formatından yararlanıyor.” Bu işlemi kolaylaştıran iki dosya, bir pakete dahil edilecek tüm serileştirilmiş nesneleri içeren bir .rdb dosyası ve nesnelerin her biri hakkında meta verileri içeren bir .rdx dosyasıdır.
Analize göre “Bir paket yüklendiğinde, .rdx dosyasındaki RDS formatında saklanan meta veriler, .rdb dosyasındaki nesnelerin yerini belirlemek için kullanılıyor.” Daha sonra .rdb dosyalarındaki nesnelerin seri durumdan çıkarılması sağlanır.
Schulz, Dark Reading’e şunları söylüyor: “Bir saldırgan, özel olarak hazırlanmış, isteğe bağlı kod yerleştirilmiş bir söz nesnesi içeren bir RDS dosyası oluşturarak bu durumdan yararlanabilir.” “R’nin tembel değerlendirme uygulama şekli nedeniyle, gömülü isteğe bağlı kod, kullanıcı kötü amaçlı dosyayı veya paketi yüklediğinde yürütülecektir.” Bir saldırgan, silahlaştırılmış bir paketi CRAN gibi bir R deposuna nispeten kolay bir şekilde ekleyebilir ve dikkatsiz bir kullanıcının bu paketi yüklemesini bekleyebilir.
Potansiyel Olarak Geniş Saldırı Yüzeyi: Çoklu Enfeksiyon Kaynakları
Kelimenin tam anlamıyla R-Forget ve gibi düzinelerce büyük merkez var. BiyoiletkenR geliştiricilerinin paketleri paylaşmak ve indirmek için kullandıkları. Schulz, bu merkezlerin yalnızca geliştiricilere binlerce pakete erişim sağlamakla kalmayıp, Bioconductor gibi 42 milyondan fazla indirmeye sahip bazılarının düzenli olarak kullanıldığını söylüyor. “Birinin potansiyel olarak büyük bir tedarik zinciri saldırısında binlerce alt kullanıcıyı etkilemesi için R paketlerinin güvenlik açığından ve devasa açık kaynak alanından yararlanması gerekiyor” diyor.
Schulz, kuruluşların riski azaltmak için R’nin en son sürümüne geçmelerini tavsiye ediyor: “Ayrıca kuruluşlar, R kullanıcılarının bu nitelikteki mevcut ve gelecekteki potansiyel güvenlik açıklarından haberdar olmasını sağlamalı ve yalnızca bilinen güvenilir dosya ve paketleri kullanmayı politika haline getirmelidir. “