Geçen yıl, Dünya Çapında Açık Uygulama Güvenliği Projesi (OWASP), “OWASP Büyük Dil Modelleri İçin En İyi 10 Model”in birden fazla sürümünü yayınlayarak Ağustos ayında 1.0 belgesine ve Ekim ayında 1.1 belgesine ulaştı. Bu belgeler yalnızca Büyük Dil Modellerinin hızla gelişen doğasını göstermekle kalmıyor, aynı zamanda onlara saldırılabilecek ve savunulabilecek gelişen yolları da gösteriyor. Bu makalede, bu ilk 10’da yer alan ve parolalar, API anahtarları ve daha fazlası gibi sırların yanlışlıkla ifşa edilmesine en fazla katkıda bulunabilecek dört öğe hakkında konuşacağız.
Yüksek Lisans’ların sırları açığa çıkarabileceğinin zaten farkındayız çünkü bu gerçekleşti. 2023’ün başlarında GitGuardian, halka açık Github taahhütlerinde 10 milyondan fazla sır bulduğunu bildirdi. Github’un Copilot AI kodlama aracı halka açık taahhütler üzerine eğitildi ve Eylül 2023’te Hong Kong Üniversitesi’ndeki araştırmacılar, Copilot’un eğitim verilerinden sırları açığa çıkarmasını sağlamak için tasarlanmış 900 istem üreten bir algoritmayı nasıl oluşturduklarına dair bir makale yayınladı. Bu istemler kullanıldığında, Copilot 2.700’den fazla geçerli sırrı ortaya çıkardı.
Araştırmacıların kullandığı tekniğe “hızlı enjeksiyon” adı veriliyor. LLM’ler için OWASP Top 10’da 1 numaradır ve bunu şu şekilde tanımlamaktadır: [blockquote]
“Bu, büyük bir dil modelini (LLM) kurnazca girdiler yoluyla manipüle ederek LLM’nin istenmeyen eylemlerine neden olur. Doğrudan enjeksiyonlar sistem istemlerinin üzerine yazarken, dolaylı olanlar harici kaynaklardan gelen girdileri manipüle eder.”
Geçen yıl ortaya çıkan ve ChatGPT’den belirli kelimeleri sonsuza kadar tekrarlamasını istemeniz durumunda eğitim verilerini dağıtmaya başlamasına neden olan hatadan dolayı hızlı enjeksiyona daha aşina olabilirsiniz.
1. İpucu: Sırlarınızı döndürün
GitHub’a yanlışlıkla sırlar yayınladığınızı düşünmeseniz bile, oradaki sırların bir kısmı erken bir taahhütte işlendi ve daha yeni bir taahhütte gizlendi; bu nedenle, yalnızca taahhüt geçmişinizi değil, tüm taahhüt geçmişinizi gözden geçirmeden kolayca görülemezler. halka açık depolarınızın mevcut durumu.
GitGuardian’ın Has My Secret Leaked adlı aracı, mevcut bir sırrı şifrelemenize, ardından GitHub taramalarında buldukları şeylerle veritabanlarında herhangi bir eşleşme olup olmadığını belirlemek için karmanın ilk birkaç karakterini göndermenize olanak tanır. Olumlu bir eşleşme, sırrınızın sızdırıldığının garantisi değildir ancak daha fazla araştırma yapabilmeniz için sızdırılmış olma ihtimalini sunar.
Anahtar/şifre rotasyonuyla ilgili uyarılar, bunların nerede kullanıldığını, değiştiklerinde nelerin bozulabileceğini bilmeniz ve yeni sırlar onlara ihtiyaç duyan sistemlere yayılırken bu kırılmayı azaltacak bir planınızın olması gerektiğidir. Döndürüldükten sonra eski gizli dizilerin devre dışı bırakıldığından emin olmalısınız.
Saldırganlar artık işe yaramayan bir sırrı kullanamazlar ve eğer yüksek lisansta olabilecek sırlarınız döndürülürse, o zaman işe yaramaz yüksek entropili dizilerden başka bir şey olmazlar.
2. İpucu: Verilerinizi temizleyin
Yüksek Lisans için OWASP İlk 10’un 6. maddesi “Hassas Bilgilerin Açıklanması”dır:
LLM’ler yanıtlarında gizli verileri yanlışlıkla açığa çıkarabilir ve bu da yetkisiz veri erişimine, gizlilik ihlallerine ve güvenlik ihlallerine yol açabilir. Bunu azaltmak için veri temizleme ve katı kullanıcı politikaları uygulamak çok önemlidir.
Kasıtlı olarak tasarlanmış istemler LLM’lerin hassas verileri açığa çıkarmasına neden olabilir, ancak bunu kazara da yapabilirler. LLM’nin hassas verileri ifşa etmediğinden emin olmanın en iyi yolu LLM’nin bunu asla bilmemesini sağlamaktır.
Bu daha çok, bir LLM’yi her zaman sizin çıkarlarınızı gözemeyen kişiler veya belirli bilgilere erişimi olmaması gereken kişiler tarafından kullanılmak üzere eğitirken odaklanır. İster sırlarınız ister gizli sosunuz olsun, yalnızca bunlara erişmesi gerekenler buna sahip olmalı… ve Yüksek Lisansınız muhtemelen bu insanlardan biri değil.
Verileri LLM’nize iletmeden ÖNCE eğitim verilerinizi sırlara karşı taramak için açık kaynak araçları veya ücretli hizmetleri kullanmak, sırları kaldırmanıza yardımcı olacaktır. LLM’nizin bilmediği şeyi söyleyemez.
3. İpucu: Düzenli Olarak Yama Yapın ve Ayrıcalıkları Sınırlayın
Son zamanlarda, sırları kodunuz için kullanılabilir ancak kodunuzun dışında tutmanın bir yolu olarak .env dosyalarını ve ortam değişkenlerini kullanmayla ilgili bir makale gördük. Peki ya Yüksek Lisans’ınızdan ortam değişkenlerini açıklaması ya da daha kötü bir şey yapması istenebilirse?
Bu, hem Madde #2’yi (“Güvensiz Çıktı İşleme”) hem de madde #8’i (“Aşırı Aracılık”) harmanlamaktadır.
- Güvenli Olmayan Çıktı İşleme: Bu güvenlik açığı, bir LLM çıktısı incelenmeden kabul edildiğinde arka uç sistemlerini açığa çıkardığında ortaya çıkar. Yanlış kullanım, XSS, CSRF, SSRF, ayrıcalık yükseltme veya uzaktan kod yürütme gibi ciddi sonuçlara yol açabilir.
- Aşırı Ajans: LLM tabanlı sistemler, istenmeyen sonuçlara yol açan eylemlerde bulunabilir. Sorun, LLM tabanlı sistemlere verilen aşırı işlevsellik, izinler veya özerklikten kaynaklanmaktadır.
Birbirlerini daha da kötüleştirebilecekleri için onları birbirlerinden ayırmak zordur. Bir Yüksek Lisans bir şey yapması için kandırılabiliyorsa ve işletim bağlamı gereksiz ayrıcalıklara sahipse, keyfi bir kod yürütmenin büyük zarar verme potansiyeli artar.
Her geliştirici “Robert” adlı bir çocuğun); DROP TABLE Students;”`ın bir okulun öğrenci veri tabanını sildiği “Bir Annenin İstismarları” çizgi filmini izlemiştir. Yüksek Lisans akıllı görünse de aslında SQL veritabanından daha akıllı değildir. Ve “komedyen” kardeşinizin yeni yürümeye başlayan yeğenine büyükannesine kötü sözler söylemesini sağlaması gibi, kötü girdiler de kötü çıktılar yaratabilir. Her ikisi de arındırılmalı ve güvenilmez sayılmalıdır.
Ayrıca, en az ayrıcalık ilkesini göz önünde bulundurarak LLM’nin veya uygulamanın yapabilecekleri etrafında bariyerler kurmanız gerekir. Temel olarak, LLM ve LLM altyapısını kullanan veya etkinleştiren uygulamaların, kesinlikle ihtiyaç duymadıkları hiçbir veriye veya işlevselliğe erişimi olmamalıdır, böylece bunları yanlışlıkla bir bilgisayar korsanının hizmetine sunamazlar.
Yapay zekanın hâlâ emekleme aşamasında olduğu düşünülebilir ve her bebekte olduğu gibi, ona bebek güvenliği sağlamadığınız hiçbir odada gezinme özgürlüğü verilmemelidir. Yüksek Lisans öğrencileri yanlış anlayabilir, halüsinasyon görebilir ve kasıtlı olarak yanlış yola sürüklenebilirler. Bu olduğunda, iyi kilitler, iyi duvarlar ve iyi filtreler onların sırlara erişmelerini veya sırları ifşa etmelerini engellemeye yardımcı olacaktır.
Özetle
Büyük dil modelleri harika bir araçtır. Bir dizi meslekte, süreçte ve sektörde devrim yaratmaya hazırlanıyorlar. Ama onlar uzak olgun bir teknolojiden geliyor ve birçoğu geride kalma korkusuyla bunları pervasızca benimsiyor.
Başını belaya sokacak kadar hareket kabiliyeti gelişmiş herhangi bir bebekte olduğu gibi, ona göz kulak olmanız ve girmesini istemediğiniz dolapları kilitlemeniz gerekir. Büyük dil modelleriyle ilerleyin ancak dikkatli ilerleyin.