NuGet platformunda bulunan çeşitli kötü niyetli paketler, 2027 ve 2028 yıllarına planlanmış sabotaj yükleri içermektedir. Bu yükler, veritabanı uygulamaları ve Siemens S7 endüstriyel kontrol cihazlarını hedef almaktadır. Entegre edilmiş kötü amaçlı kod, enfekte olan cihazın bazı parametrelerine bağlı olarak aktif hale gelme potansiyeline sahip olması için bir olasılıksal tetikleyici kullanmaktadır.
NuGet Nedir?
NuGet, geliştiricilerin projelerine hazır .NET kütüphanelerini indirmelerini ve dahil etmelerini sağlayan açık kaynaklı bir paket yöneticisi ve yazılım dağıtım sistemidir. NuGet üzerinde yayınlanan kötü niyetli paketler, genellikle sahte bir geliştirici adı altında yayımlanmaktadır ve bu durum, birçok geliştiricinin güvenliğini tehlikeye atmaktadır.
Kötü Amaçlı Paketlerin Tespiti
Code güvenliği şirketi Socket, “shanhai666” adlı geliştirici adı altında yayınlanan dokuz kötü niyetli paketi tespit etmiştir. Bu paketler, hem meşru işlevsellik sunmakta hem de zararlı kod içermektedir. Bu paketler, .NET uygulamalarında yaygın olarak kullanılan üç büyük veritabanı sağlayıcısını hedef alarak stratejik bir yaklaşım benimsemektedir: SQL Server, PostgreSQL, SQLite. Ancak en tehlikeli olanı, Siemens programlanabilir mantıksal denetleyicileri ile iletişim kurmak için kullanılan gerçek Sharp7 kütüphanesini hedef alan Sharp7Extend paketidir.
Zararlı Paketlerin Etkileri
Socket araştırmacıları, bu paketlerin %99’unun meşru kod içerdiğini, bu durumun ise bir güven duygusu yarattığını belirtmektedir. Ancak, bu paketler içinde sadece 20 satırlık bir kötü amaçlı yük bulunmaktadır. Kötü amaçlı yazılım, C# uzantı yöntemlerini kullanarak her veritabanı ve PLC işlemlerine zarar verici bir mantık enjekte etmektedir. Enfekte edilmiş sistemdeki mevcut tarih, hardcoded bir tetikleyici tarihi ile karşılaştırılır; bu tarih aralığı 8 Ağustos 2027 ile 29 Kasım 2028 arasında değişmektedir.
2028 İçin Gizli Bir ‘Bombanın’ Sızması
Bu kötü niyetli paketler, belirli tarih koşulları sağlandığında devreye girmiş olacaktır. Eğer tarih koşulu sağlanırsa, kod bir ‘Random’ sınıfı oluşturarak 1 ile 100 arasında bir sayı üretir. Eğer bu sayı 80’den büyükse (yüzde 20 şans), çalıştırılan süreç hemen sonlandırılır. Bu durum, özellikle PLC istemcileri için büyük sorunlar yaratmaktadır ve ani bir operasyon durmasına yol açmaktadır.
Sharp7Extend paketi, gerçek Sharp7 kütüphanesini taklit ederek, PLC iletişimini yüzde 20 oranında hemen sonlandırmaktadır. Ayrıca, yapılandırma değerlerinden birini okumaya çalışan bir kod, her zaman inisyalizasyonun başarısız olmasına sebep olur. Bir diğer mekanizma ise, iç PLC işlemleri için bir filtre değeri oluşturarak, bir payload yürütme gecikmesi ayarlamaktadır. 30 ile 90 dakika arasında bir süre geçtikten sonra, filtreden geçen yazılar %80 oranında bozulma riski taşımaktadır.
Kuruluşların Alması Gereken Önlemler
Bu kötü niyetli paketlerin tam olarak hangi hedef ve kökenlere sahip olduğu belirsiz olsa da, potansiyel olarak etkilenen kuruluşların derhal dokuz paketi varlık envanterine alması ve varsa bu paketlerin taarruza uğradığını varsaymaları önerilmektedir. Endüstriyel ortamlarda çalışan kuruluşların, Sharp7Extend paketini kontrol ederek PLC yazma işlemlerinin bütünlüğünü denetlemeleri, güvenlik sistemi kayıtlarını kontrol etmeleri ve kritik işlemler için yazım doğrulaması uygulamaları gerekmektedir.
Yapılan araştırmalar, bu olgunun gelecekte daha da karmaşık hale geleceğini göstermektedir. Geliştiriciler, yazılım projelerinde güvenlik konularına her zamankinden daha fazla dikkat etmelidirler.


