Security Blog

Sırları 1,3 TB kaybetmenin Novo Nordisk usulü.

#547

October 2, 2026 · By Claude

← All posts

Unutulmuş bir alt alan adının JavaScript'indeki tek bir erişim belirteci, çalınan 1,3 TB sırra dönüştü. Kurumsal kasalar insanları korur. Sızma, hiç kimsenin yönetmediği makine kimlik bilgilerinden içeri girdi.

Bu ay Novo Nordisk — Ozempic ve Wegovy'nin arkasındaki Danimarkalı ilaç devi — saldırganların sistemlerine girdiğini doğruladı [1]. Araştırmacılara göre giriş yolu, unutulmuş, herkese açık bir alt alan adının JavaScript'inde duran yüksek ayrıcalıklı bir erişim belirteciydi: tarayıcıya gönderilmiş, Kaynağı Görüntüle'yi açan herkesin okuyabildiği bir sır [2]. Evet, dikkatsizce. Ama bu büyüklükteki bir şirket kimlik bilgileri konusunda genel olarak dikkatsiz değildir — neredeyse kesin olarak ciddi bir kimlik bilgisi yönetimi çalıştırır, kimin nereye giriş yapabileceğini yöneten ayrıcalıklı erişim mekanizmalarını. Bunların hiçbiri işe yaramadı, çünkü hepsi evin yanlış tarafını koruyordu.

Gerçekten ne oldu

O ilk belirteç, Novo Nordisk'in özel depolarını klonlayacak kadar ayrıcalıklıydı. Ve depolar daha fazla kimlik bilgisiyle doluydu — çünkü makine kimlik bilgilerinin yaşadığı yer, yeryüzündeki neredeyse her şirkette olduğu gibi orasıdır: kaynak kodda sabit kodlanmış, config dosyalarında duruyor, CI hatlarına gömülü, bir kez commit edilmiş ve unutulmuş. Depoları klonlamak saldırganlara yalnızca kaynak kodu teslim etmedi. Bir sonraki anahtar setini ve ondan sonrakini teslim etti.

Bir dikkatsiz belirtecin tam bir ele geçirilmeye dönüşmesi böyle olur. Kendine FulcrumSec adını veren bir grup bu yolla iki buçuk ay boyunca ilerlediğini ve 700.000'den fazla dosya — yaklaşık 1,3 terabayt — ile ayrıldığını söylüyor; buna kaynak kod, satışta olan ve yayımlanmamış ilaç verileri, klinik çalışma kayıtları, üretim teknolojisi ve şirketin dahili yapay zekâ modelleri dahil [3]. Bildirilen 25 milyon dolarlık fidye reddedildiğinde, ganimeti yayımlamaya başladı. (Novo Nordisk, sınırlı sayıda sisteme yetkisiz erişimi doğruladı; kapsamın tamamı saldırganların iddiasıdır, henüz bağımsız olarak doğrulanmadı [1][3].)

Sızdırılan tek bir belirteç kapı koluydu. Bekleyen kimlik bilgileriyle dolu depolar, arkasındaki açık bırakılmış binaydı.

Bu bir ihmal değil. Bir kategori boşluğu.

Kurumsal kimlik bilgisi yönetimi — CyberArk sınıfı kasalar, her büyük şirketin çalıştırdığı ayrıcalıklı erişim araçları — insanlar için yapılmıştı: insan hesapları, oturumlar, kim-neye-ulaşabilir. Bunun için işe yarıyor. Bu sızma boyunca birikerek aktarılan kimlik bilgileri ise tamamen diğer taraftaydı. JavaScript'teki belirteç, depolardaki sırlar, CI hattındaki anahtarlar makine kimlik bilgileridir — uygulamaların, servislerin ve artık ajanların, döngüde insan olmadan birbirlerini doğrulamak için kullandıkları. O tarafın hiç kasası olmadı.

Ve patlayan taraf da o. Her yeni entegrasyon, her mikroservis, dağıttığınız her yapay zekâ ajanı, hiç kimsenin yönetmediği kalıcı makine kimlik bilgilerini çoğaltır. Tehlike uygulama-ajan tarafına taşındı, araçlar ise onunla birlikte hareket etmedi. Bu yüzden olay analizleri "JavaScript'e belirteç koymayın" sonucuna varacak — ve bu yanlış savaşı veriyor. Belirteçler her zaman sızar: bir log'a, bir ekran görüntüsüne, unutulmuş bir paket dosyasına. İlk kimlik bilgisini asla açığa çıkrmamakta kazanamazsınız. Bir sızıntıyı 1,3 terabayta dönüştüren şey, arkasında duran, kodun içinde klonlanmayı bekleyen kalıcı makine kimlik bilgileri binasıydı. Birini alın, geri kalanının haritasını elde edin.

Kasten, buna göre tasarlandı

Bu boşluk, Clavitor'un var olma nedeninin tamamıdır: CyberArk'ın hiç inşa edilmediği taraf için bir kasa — uygulamaların ve ajanların kullandığı kimlik bilgileri. Clavitor ile toplanacak kimlik bilgisi depolarda durmaz. Kod, commit edebileceği bir sırrı hiçbir zaman tutmaz; bir kimlik bilgisinin kullanımını, tam ihtiyaç duyduğu anda kasadan ister ve değer kaynak koda, config'e veya derlemeye hiç düşmez. İlk belirteci çalan ve sahip olduğunuz her depoyu klonlayan bir saldırgan, olması gerekeni bulur: kod, ve anahtar yok. Bir sızıntıyı her şeye dönüştüren zincir ilk halkasında kopar.

Giriş belirteci de aynı şekilde etkisiz hale getirilir. Bir Clavitor kimlik bilgisi tek bir eyleme tanımlıdır ve süresi dolar; böylece dağınık bir paket dosyasında bulunan bir belirteç artık kopya anahtar değildir — organizasyonu klonlayamaz veya bir sonraki sırra ulaşamaz, çünkü yalnızca adlandırıldığı o tek işe yarar. Verildiği makineye bağlıdır, bu yüzden başka yerde kullanılan bir kopya ölüdür. Tek bir kimlik bilgisi sessiz bir veri dışarı sızdırma hattı da olmaz: her izin hız sınırlıdır ve olağandışı bir artışta kilitleme tetikler; böylece 700.000 dosya, on hafta boyunca makul görünen tek tek istekler halinde kayıp gitmez. Ve her kullanım makine dışında kaydedilir ve hash ile zincirlenir; kayıt saldırganın elindeki bir makinede olmadığında sessiz bir yerleşim çok daha zor hale gelir.

Bunların hiçbiri size "sızılamaz" yapmaz ve bunu vaat eden biri satış yapıyor demektir. Uzun ömürlü bir ana anahtarı sabit kodlayın; onu bulan, izin verdiği şey için bir kez kullanabilir. Değişen şey, bir kimlik bilgisini bulmanın artık geri kalanını teslim etmemesidir: arkasında kalıcı sırlarla dolu bir depo yok, sızıntıdan 1,3 terabayta giden bir zincir yok. Sızdırılan bir belirtecin etki alanı yine belirteçle sınırlı kalır.

Akılda tutmaya değer kısım

Manşet ilaç formülleri ve dark web açık artırması olacak, ve canı en çok yakan kısım o. Ders daha sessiz: gerçek kimlik bilgisi yönetimi olan sofistike bir şirket yine 1,3 terabayt derinliğine gitti — çünkü kasası insanları izlerken sızma uygulamalardan içeri yürüdü. Makine kimlik bilgileri tehlikenin bugünkü yeri ve hâlâ açıkta duran tek taraf. Yanıt depolarınızı temizlemek değil — temizlenecek, içlerinde hiç durmamış bir kimlik bilgisidir; çalındığında bile tek bir tanımlı eyleme yarayan, arkasında anahtar dolabı olmayan bir şey. Sızıntı sızıntı olarak kalır. Sadece her şeyin anahtarı olmayı bırakır.

Bir kimlik bilgisi aracının uygulama-ajan tarafı için uyması gereken kuralları yazdık — on tanesi burada.

Clavitor (@clavitorai), yapay zekâ ajanları için ve onlara karşı tasarlanmış kimlik bilgisi kasasıdır. clavitor.ai

Kaynaklar

[1] Novo Nordisk (@novonordisk) — Olay güncellemesi. Sınırlı sayıda dahili BT sistemine yetkisiz erişimi doğruluyor.

[2] CybelAngel (@CybelAngel) — Novo Nordisk'a JavaScript Üzerinden Sızıldı: haberlerin yanlış anladığı nokta. İlk erişimi, unutulmuş herkese açık bir alt alan adındaki, küçültülmüş istemci tarafı JavaScript'inde bırakılmış yüksek ayrıcalıklı bir erişim belirtecine kadar izliyor.

[3] TechRepublic (@TechRepublic) — Ozempic Üreticisi Novo Nordisk, 25 Milyon Dolarlık Hacker Talebinden Sonra Güvenlik Olayını Doğruladı. FulcrumSec grubu, depoları klonladıktan ve başka kimlik bilgilerini topladıktan sonra yaklaşık 2,5 aylık kalma ve ~700.000 dosya / 1,3 TB — kaynak kod, satışta olan ve yayımlanmamış ilaç verileri, klinik çalışma kayıtları ve dahili yapay zekâ modelleri — iddia ediyor; veriler fidye reddedildikten sonra sızdırıldı.