Ortamınızı Curl’ün Savunmasız Sürümlerine Karşı Nasıl Tarayabilirsiniz?



Güvenlik ekiplerinin, komut satırı aracı curl ve libcurl kitaplığında yakın zamanda düzeltilen güvenlik açıklarını gidermek için kriz moduna geçmesi gerekmez, ancak bu, etkilenen sistemleri tanımlama ve düzeltme konusunda endişelenmelerine gerek olmadığı anlamına gelmez. Eğer anında yararlanılamazlarsa, güvenlik ekiplerinin bu güncellemeleri yapmak için biraz zamanları olur.

Bu Teknik İpucu, güvenlik ekiplerinin risk altında olmadıklarından emin olmak için ne yapmaları gerektiğine ilişkin rehberliği bir araya getirir.

Unix ve Linux sistemleri için temel bir ağ oluşturma aracı olan cURL, komut satırlarında ve komut dosyalarında veri aktarımı için kullanılır. Yaygınlığı, hem bağımsız bir yardımcı program (curl) hem de birçok farklı uygulama türünde (libcurl) yer alan bir kütüphane olarak kullanılmasından kaynaklanmaktadır. Geliştiricilerin kendi kodlarından curl API’lerine erişmesine olanak tanıyan libcurl kitaplığı, doğrudan kodun içine yerleştirilebilir, bağımlılık olarak kullanılabilir, bir işletim sistemi paketinin parçası olarak kullanılabilir, bir Docker konteynerinin parçası olarak dahil edilebilir veya bir Kubernetes küme düğümü.

CVE-2023-38545 nedir?

Yüksek önem derecesine sahip güvenlik açığı, curl ve libcurl 7.69.0 ila 8.3.0 sürümlerini etkilerken, düşük önem derecesine sahip güvenlik açığı, libcurl 7.9.1 ila 8.3.0 sürümlerini etkiler. Ancak varsayılan koşullar altında güvenlik açıklarından yararlanılamaz. Güvenlik açığını tetiklemeye çalışan bir saldırganın, curl’u kendi kontrolü altındaki kötü amaçlı bir sunucuya yönlendirmesi, curl’un proxy çözümleyici modunu kullanarak bir SOCKS5 proxy kullandığından emin olması, curl’u yönlendirmeleri otomatik olarak takip edecek şekilde yapılandırması ve arabellek boyutunu daha küçük bir değere ayarlaması gerekir. boyut.

JFrog’da kıdemli güvenlik araştırmacısı Yair Mizrahi’ye göre libcurl kütüphanesi yalnızca aşağıdaki ortam değişkenleri ayarlandığında savunmasızdır: CURLOPT_PROXYTYPE yazmaya ayarla CURLPROXY_SOCKS5_HOSTNAME; veya CURLOPT_PROXY veya CURLOPT_PRE_PROXY şemaya göre ayarla çorap5h://. Ayrıca proxy ortam değişkenlerinden birinin, çorap5h:// şeması. Komut satırı aracı yalnızca aşağıdaki komutla çalıştırıldığında saldırıya açıktır: -socks5-ana bilgisayar adı bayrak veya ile –proxy (-x) veya –preproxy şemayı kullanacak şekilde ayarla çorap5h://. Etkilenen ortam değişkenleriyle curl çalıştırılırsa da bu durum savunmasızdır.

“Bir makinenin savunmasız olması için gereken ön koşullar dizisi (önceki bölüme bakın), başlangıçta inanıldığından daha kısıtlayıcıdır. Bu nedenle curl kullanıcılarının büyük çoğunluğunun bu güvenlik açığından etkilenmeyeceğine inanıyoruz,” diye yazdı Mizrahi analizde.

Ortamı Savunmasız Sistemlere Karşı Tarayın

Kuruluşların yapması gereken ilk şey, bu ön koşulların mevcut olup olmadığını değerlendirmek amacıyla curl ve libcurl kullanan tüm sistemleri tanımlamak için ortamlarının kapsamını belirlemektir. Cycode güvenlik araştırması başkanı Alex Ilgayev, kuruluşların kod, tarama kapsayıcıları ve uygulama güvenliği duruş yönetimi yardımcı programları için yazılım bileşimi analiz araçlarını kullanarak sistemlerinin envanterini çıkarmaları ve yazılım teslim süreçlerini değerlendirmeleri gerektiğini belirtiyor. Güvenlik açığı her curl uygulamasını etkilemese de ekibin bakılacak potansiyel konumların bir listesiyle başlaması durumunda etkilenen sistemleri belirlemek daha kolay olacaktır.

Aşağıdaki komutlar hangi curl sürümlerinin yüklü olduğunu tanımlar:

Linux/MacOS:

find / -name curl 2>/dev/null -exec echo "Found: {}" \; -exec {} --version \;

Pencereler:

Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "Found: $($_.FullName)"; & $_.FullName --version }

GitHub’ın ortamdaki curl yüklü olan veya curl kullanan tüm cihazları tanımlamak için Defender for Endpoint’te çalıştırılacak bir sorgusu vardır. Qualys, platformunu kullanma kurallarını yayınladı.

Docker kapsayıcılarını veya diğer kapsayıcı teknolojilerini kullanan kuruluşların da görüntüleri güvenlik açığı bulunan sürümlere karşı taraması gerekir. Özellikle docker görüntülerinde ve liburl kopyalarını içeren benzer varlıklarda oldukça fazla sayıda yeniden oluşturma bekleniyor. Docker, tüm görüntülerin değerlendirilmesine ilişkin talimatların bir listesini hazırladı.

Mevcut depoları bulmak için:

docker scout repo enable --org  /scout-demo

Yerel kapsayıcı görüntülerini analiz etmek için:

docker scout policy [IMAGE] --org [ORG]

Endor Labs güvenlik araştırmacısı Henrik Plate’e göre bu sorun, bir kuruluşta kullanılan tüm açık kaynaklı yazılımların titizlikle takip edilmesinin önemini vurguluyor. Plate, “Curl ve libcurl’ün tüm kullanımlarını bilmek, ister curl’e yama uygulamak, ister güvenilmeyen ağlardan etkilenen sistemlere erişimi kısıtlamak veya diğer karşı önlemleri uygulamak olsun, gerçek riski değerlendirmek ve iyileştirme önlemleri almak için ön koşuldur” dedi.

Viakoo Labs’ın başkan yardımcısı John Gallagher, uygulamanın bir yazılım malzeme listesiyle birlikte gelmesi durumunda, kıvrılma örneklerini aramaya başlamak için bunun iyi bir yer olabileceğini ekliyor.

Kusurların istismar edilemez olması güncellemelerin gerekli olmadığı anlamına gelmez. Curl ve libcurl için yamalar doğrudan mevcuttur ve birçok işletim sistemi (Debian, Ubuntu, Red Hat, vb.) ayrıca sabit sürümleri de yayınlamıştır. Libcurl birçok işletim sistemi ve uygulama tarafından kullanılan bir kitaplık olduğundan, diğer uygulamalardan gelen güvenlik güncellemelerine dikkat edin.

JFrog’dan Mizrahi’ye göre, güncellemeler dağıtılıncaya kadar geçici çözümlerden biri, SOCKS5 proxy’sine bağlanırken curl’u yerel ana bilgisayar adı çözümlemesini kullanmaya zorlamak. Bu sözdizimi, çorap5h şemasını değil, çorap5 şemasını kullanır: curl -x çoraplar5://someproxy.com. Kitaplıkta ortam değişkenini değiştirin CURLPROXY_SOCKS5_HOSTNAME ile CURLPROXY_SOCKS5.

Intruder’da güvenlik mühendisi olan Benjamin Marr’a göre, güvenlik ekiplerinin kıvrılma bayraklarını aşırı büyük dizeler açısından izlemesi gerekiyor çünkü bu, sistemin tehlikeye atıldığını gösteriyor. Bayraklar şunlardır: –socks5-ana bilgisayar adıveya –proxy veya –preproxy şemayı kullanacak şekilde ayarla çorap5h://.



Source link