Geçen Ocak ayında, “faker” ve “colors” adlı iki popüler açık kaynak kitaplığının binlerce kullanıcısı, kötü amaçlı bir paket bulaştıktan sonra uygulamalarının bozulduğunu ve anlamsız veriler gösterdiğini görünce şok oldu. Ve Ekim ayında, bir tehdit aktörü, 18 yasal paketin kullanıcılarını hedef alan bir yazım hatası kampanyasında npm deposuna 155 kötü amaçlı paket yayınladı ve bu paketler toplamda genellikle haftalık 1,5 milyardan fazla indiriliyor. Saldırganın hedefi? Bir arka kapı şifre hırsızı/Truva Atı indirmek ve kurmak için.
Adından da anlaşılacağı gibi kötü amaçlı bir paket, kötü amaçlı olarak oluşturulmuş bir yazılımdır. Onları özellikle endişe verici kılan şey, yaratılmalarının son derece kolay olmasıdır. Herhangi bir sayıda kötü niyet için yararlı olan bu paketlerden kaçınmak ve ne arayacağınızı bilmiyorsanız bunları tespit etmek zordur.
Hızla Büyüyen Bir Tehdit
Kötü amaçlı paketler yeni değil, ancak endişe verici bir hızla çoğalıyorlar. “Kötü Amaçlı Paketler Özel Raporumuzda” Mend, 2021’den 2022’ye kadar yalnızca npm ve RubyGems’e yayınlanan kötü amaçlı paketlerde %315’lik bir artış tespit etti ve bu eğilimin devam etmesini bekliyor.
Bir tür kötü amaçlı yazılım olan kötü amaçlı paketler, benzer teknikler kullanarak insanları onları indirmeleri için kandırır ve burada kullanıcıların sistemlerinde büyük hasara yol açar. Kötü amaçlı paketler genellikle güvendiğinizi düşündüğünüz yerlerden gelen şeyler olduğundan, anormal derecede etkilidirler.
Kötü amaçlı paketler, bir saldırı vektörü oluşturmanın veya saldırgandan herhangi bir ek etkinlik gerektirmeyen başka bir saldırı vektörünü etkinleştirmek için veri almanın otomatik bir yoludur. Siz sadece paketi yükleyin ve bırakın. Bir tehdit aktörünün bakış açısından, harcanan çaba yüksek bir getiri sağlar. Kötü amaçlı paketlerde çok büyük bir artış görmemiz şaşırtıcı değil.
Kötü Amaçlı Paket Saldırısının Anatomisi
Kötü amaçlı paketler, kimlik bilgilerini çalmak, verileri sızdırmak, uygulamaları botnet’lere dönüştürmek veya verileri silmek için kullanılır. Ancak önce, saldırganların paketi indirmesi için birini veya bir şeyi kandırması gerekir.
Saldırganlar, kötü amaçlı paketler için dört temel saldırı vektörü kullanır:
- yangın söndürme: Saldırganın başka bir şirketin veya bir paketin sahibinin çevrimiçi kimliğini ele geçirmesi veya başka bir şekilde üstlenmesi ve ardından kötü amaçlı bir kod eklemesi. İkinci yöntem, kripto para borsası dYdX’e yapılan saldırıda kullanıldı. Bu durumda, kötü amaçlı paket sürümleri, onu bir CircleCI komut dosyası indirilmek üzereymiş gibi gösteren bir ön yükleme kancası içeriyordu.
- Yazım hatası: Adından da anlaşılacağı gibi, bu saldırı basit bir yazım hatasına dayanıyor. Saldırgan, popüler bir pakete benzer bir adla kötü amaçlı bir paket yayınlar ve geliştiricinin paket adını yanlış yazmasını ve istemeden kötü amaçlı sürümü çağırmasını bekler.
- Bağımlılık kaçırma: Saldırgan, yeni bir kötü amaçlı sürüm yüklemek için genel bir havuzun denetimini ele geçirir.
- Bağımlılık karışıklığı: Saldırı vektörü listesine daha yeni bir ekleme olan bağımlılık karışıklığı, genel depolardaki kötü niyetli bir paketin dahili bir paket adıyla aynı ada sahip olması durumunda ortaya çıkar. Saldırgan bunu, bağımlılık yönetimi araçlarını kandırarak genel kötü amaçlı paketi indirmeleri için kullanır.
Kötü amaçlı paketler nispeten yeni olduğundan, saldırganların güvendiği teknikler de aynı şekilde karmaşık değildir. Kötü amaçlı paketler kullanan saldırganlar, yeniden yükleme ve yükleme sonrası komut dosyaları, temel kaçırma teknikleri, kabuk komutları ve temel ağ iletişim teknikleri dahil olmak üzere dört yaygın tekniğe güvenme eğilimindedir. Ağ iletişimi durumunda, kötü amaçlı paketler makinede dağıtmak, yürütmek ve iletişim kurmak için temel yöntemleri kullanır. Bu, savunucular için iyi bir haber, çünkü paket başarılı bir şekilde indirilse bile konuşlandırılırken tespit edilmesi nispeten kolay olmaya devam ediyor.
Saldırganlar, saldırı vektörlerinde olduğu gibi, veri toplamayı sağlayan telemetri gibi giderek daha karmaşık teknikleri benimsiyor. Kötü aktörlerin kötü amaçlı paket kullanımlarını iyileştirmeleri için pek çok fırsat vardır. Tehdit aktörleri tekniklerini geliştirirken daha çeşitli ve gelişmiş yaklaşımlar ve tespit edilmesi daha zor saldırılar görmeyi bekliyoruz.
İlk bakışta kötü amaçlı paketlerin yayınlanma zamanlaması rastgele görünse de, araştırmamız Perşembe öğleden sonraları yayınlananların neredeyse %25’ini buldu. Bunu, birçok kişinin cuma ve cumartesiyi hafta sonu olarak kutladığı İsrail merkezli siber güvenlik tedarikçilerinin yaygınlığını bilen saldırganlara bağlıyoruz. Ek olarak, İsrail’in zaman dilimini hedef alan saldırıların, çalışma haftasının sona erdiği öğleden sonra geç saatlerde başladığını görüyoruz.
Açık Kaynak, Açık Sezon Anlamına Gelmek Zorunda Değil
Kötü amaçlı paketlerin bu kadar iyi çalışmasının başlıca nedeni, açık kaynağın herkesin erişimine açık olmasıdır. Temel programlama becerilerine sahip bir acemi, yalnızca kolayca kötü amaçlı bir paket oluşturmakla kalmaz, kodu milyonlarca geliştirici tarafından kullanılan açık kaynak havuzlarında da aynı kolaylıkla yayınlayabilir. Başarı şansı onların lehinedir.
Bu nedenle, açık kaynak kodu aracılığıyla uygulamalara neyin dahil edildiğini anlamak çok önemlidir. Şirketler henüz yapmamışsa, yazılım tedarik zincirlerine öncelik vermeye başlamaları gerekir. Açık kaynak kodu havuzlarını ve kitaplıklarını güvenlik açıkları ve saldırılara karşı izleyebilen otomatik bir tarama aracı kullanmalı ve bir yazılım malzeme listesi (SBOM) oluşturmaya yardımcı olabilecek araçlardan yararlanmalıdırlar. Aylarca kod tabanında kalabilen güvenlik açıklarının aksine, kötü amaçlı paketler yazılım ve sistemler için acil bir tehdittir.
Log4j ve SolarWinds gibi saldırılar manşetlere girer, ancak bunlar, uygulamalara karşı her gün başlatılan acımasız saldırıların çok küçük bir kısmını temsil eder. Artan kötü amaçlı paket saldırıları tehdidi, uygulama güvenlik programlarına yönelik yeni bir yaklaşıma yönelik artan ihtiyaca daha fazla aciliyet katmaktadır. Kuruluşlar, yalnızca kalıcı ve otomatikleştirilmiş AppSec aracılığıyla güvenli yazılım savaşında üstünlük sağlayabilir.