Araştırmacılar, VS Code Marketplace’te kötü niyetli aktörler tarafından kullanılabilecek güvenlik açıklarını belirlediler; çünkü bu kusurlar, kötü niyetli bağımlılıklara sahip uzantıların güvenilirlik kazanmasına (yüksek kurulum sayıları aracılığıyla) ve kullanıcı sistemlerine erişmesine olanak sağladı.
Şüpheli adreslerle iletişim kuran, bilinmeyen ikili dosyaları çalıştıran ve sabit kodlanmış sırlar içeren uzantılar buldular; bu da kullanıcıları potansiyel saldırılardan korumak için VS Code Marketplace’te daha sıkı güvenlik önlemlerine duyulan ihtiyacın altını çizdi.
VSCode uzantıları, herhangi bir uzantının herhangi bir eylemi gerçekleştirmesine izin veren bir izin sisteminden yoksundur; bu da, görünüşte zararsız bir tema uzantısının, kullanıcının bilgisi olmadan kod yürütebilmesi veya dosyalara erişebilmesi nedeniyle bir güvenlik açığı oluşturur.
Uzantılar arka planda sessizce güncellenerek meşru bir uzantının daha sonra kötü amaçlı kod enjekte etmek üzere tehlikeye atılması riskini oluşturur; bu da tehdit aktörlerinin geçmişte Chrome Web Mağazası’ndan nasıl yararlandığını yansıtır.
VSCode uzantıları, tarayıcı uzantıları veya eklentilerinden farklı olarak, ana makineye sınırsız erişime sahiptir; bu, onlara sistem çağrılarını yürütme, alt işlemleri oluşturma ve herhangi bir NodeJS paketini içe aktarma izni verir ve uzantıların işletim sistemi ile çeşitli şekillerde etkileşime girme yeteneği sağlar. VSCode’un davranışlarını düzenlemesini imkansız hale getirir.
Araştırmacılar, şüpheli etkinlikleri tespit etmek için tasarlanan geleneksel güvenlik araçlarının da etkisiz olduğunu, çünkü meşru VSCode işlevselliğinin doğası gereği dosyaları okumayı, komutları yürütmeyi ve alt süreçler oluşturmayı içerdiğini söyledi.
Uzantı davranışı etrafındaki sınırların eksikliği önemli güvenlik riskleri yaratır.
Araştırmacılar, herkesin hesabına ucuz bir alan adı ekleyerek doğrulanmış bir yayıncı (yayıncıların ilk %4’ü) olabileceğini keşfettiğinde, Visual Studio Code Marketplace’te bir güvenlik açığı bulundu.
Doğrulama sürecinin güvenilir uzantıları ifade etmesi gerekiyor, ancak gerçekte yalnızca 5 ABD doları tutarında bir alan adı gerektiriyor ve saldırganlara kötü amaçlı uzantıları dağıtma konusunda güvenilirlik sağlıyor.
Uzantıya bağlı GitHub deposu da dahil olmak üzere görüntülenen bilgiler, uzantının package.json dosyasından doğrulama olmadan türetilir; bu, kötü niyetli aktörlerin açık kaynak uzantıların kimliğine bürünmesine ve yasal görünürken potansiyel olarak zararlı kodları dağıtmasına olanak tanır.
Ek olarak, trend algoritması, düşük yükleme sayısına sahip uzantılara öncelik veriyor gibi görünüyor ve uzantının tekrar tekrar yüklenmesi, saldırganların geliştiricilerin eline geçmesi için fırsatlar yaratarak sıralamayı manipüle edebilir.
Visual Studio Code uzantılarında, kötü amaçlı uzantıların kimlik doğrulama belirteçlerini çalmasına ve rastgele kod yürütme gerçekleştirmesine olanak tanıyan, sınırsız API erişiminden yararlanan ve hassas bilgilere erişim sağlamak için izin modellerinin eksikliğini kullanan tasarım kusurlarını belirlediler.
Amit Assaraf, Microsoft’un bu riskleri azaltmak için uzantılara izin modelleri ve kısıtlamalar uygulamasını öneriyor ve VS Code’daki yönetilebilirlik eksikliği, kuruluşların uzantıları değerlendirmesini ve yönetmesini zorlaştırarak gelişmiş güvenlik kontrollerine olan ihtiyacın altını çiziyor.
Looking for Full Data Breach Protection? Try Cynet's All-in-One Cybersecurity Platform for MSPs: Try Free Demo