Siber güvenlik araştırmacıları, MLOps platformlarını hedef alabilecek 20’den fazla güvenlik açığının keşfedilmesinin ardından makine öğrenimi (ML) yazılım tedarik zincirindeki güvenlik riskleri konusunda uyarıyor.
İçsel ve uygulamaya dayalı kusurlar olarak tanımlanan bu güvenlik açıkları, keyfi kod çalıştırmadan kötü amaçlı veri kümelerinin yüklenmesine kadar uzanan ciddi sonuçlara yol açabilir.
MLOps platformları, bir ML model hattı tasarlama ve yürütme yeteneği sunar; model kayıt defteri, ML modellerini depolamak ve sürüm eğitimli ML modellerini depolamak için kullanılan bir havuz görevi görür. Bu modeller daha sonra bir uygulamaya yerleştirilebilir veya diğer istemcilerin bir API (diğer adıyla model-hizmet-olarak) kullanarak bunları sorgulamasına izin verebilir.
“Doğal güvenlik açıkları, hedef teknolojide kullanılan temel biçimler ve süreçlerden kaynaklanan güvenlik açıklarıdır” diyor JFrog araştırmacıları. söz konusu detaylı bir raporda.
Doğal güvenlik açıklarına örnek olarak, saldırganın seçtiği kodu çalıştırmak için ML modellerini kötüye kullanmak (örneğin, Pickle model dosyaları) verilebilir. Bu, modellerin yükleme sırasında otomatik kod yürütmeyi desteklemesinden faydalanılarak yapılır.
Bu davranış, otomatik kod yürütülmesine izin veren belirli veri kümesi biçimleri ve kitaplıklarına da uzanır ve bu nedenle, yalnızca herkese açık bir veri kümesini yüklerken kötü amaçlı yazılım saldırılarına kapı açabilir.
İçsel güvenlik açığının bir diğer örneği de kullanıcıların kod bloklarını (veya hücrelerini) yürütmesine ve karşılık gelen sonuçları görüntülemesine olanak tanıyan web tabanlı etkileşimli bir hesaplama ortamı olan JupyterLab’dır (eski adıyla Jupyter Notebook).
Araştırmacılar, “Birçok kişinin bilmediği içsel bir sorun, Jupyter’da kod blokları çalıştırılırken HTML çıktısının işlenmesidir,” diye belirtti. “Python kodunuzun çıktısı HTML ve [JavaScript] “tarayıcınız tarafından memnuniyetle işlenecektir.”
Buradaki sorun, çalıştırıldığında JavaScript sonucunun ana web uygulamasından bağımsız olarak değerlendirilmemesi ve ana web uygulamasının otomatik olarak rastgele Python kodunu çalıştırabilmesidir.
Başka bir deyişle, bir saldırgan kötü amaçlı bir JavaScript kodu üretebilir ve mevcut JupyterLab not defterine yeni bir hücre ekleyebilir, içine Python kodu enjekte edebilir ve sonra onu yürütebilir. Bu özellikle bir çapraz site betikleme (XSS) güvenlik açığından yararlanıldığında geçerlidir.
Bu amaçla JFrog, MLFlow’da bir XSS açığı tespit ettiğini söyledi (CVE-2024-27132CVSS puanı: 7.5) güvenilmeyen bir sunucu çalıştırıldığında yeterli dezenfeksiyon yapılmamasından kaynaklanır yemek tarifiJupyterLab’da istemci tarafında kod yürütülmesiyle sonuçlanır.
Araştırmacılar, “Bu araştırmadan çıkardığımız en önemli sonuçlardan biri, veri bilimcilerin Jupyter Notebook ile birlikte bu ML kütüphanelerini kullanabilmesi nedeniyle, ML kütüphanelerindeki tüm XSS açıklarını potansiyel rastgele kod yürütme olarak ele almamız gerektiğidir” dedi.
İkinci grup hatalar, MLOps platformlarında kimlik doğrulama eksikliği gibi uygulama zayıflıklarıyla ilgilidir ve bu durum, ağ erişimi olan bir tehdit aktörünün ML Boru Hattı özelliğini kötüye kullanarak kod yürütme yetenekleri elde etmesine olanak tanıyabilir.
Bu tehditler teorik değil; finansal olarak motive olmuş saldırganlar, yama uygulanmamış Anyscale Ray (CVE-2023-48022, CVSS puanı: 9,8) durumunda gözlemlendiği gibi, bu tür boşlukları kripto para madencilerini konuşlandırmak için kullanıyorlar.
İkinci tür uygulama zafiyeti ise Seldon Core’u hedef alan ve saldırganların kod yürütmenin ötesine geçip bulut ortamında yatay olarak hareket edebilmesini ve çıkarım sunucusuna kötü amaçlı bir model yükleyerek diğer kullanıcıların modellerine ve veri kümelerine erişebilmesini sağlayan bir konteyner kaçışıdır.
Bu zafiyetlerin zincirleme bir şekilde bir araya getirilmesinin net sonucu, bunların yalnızca bir organizasyona sızmak ve yayılmak için silah olarak kullanılabilmesi değil, aynı zamanda sunucuları da tehlikeye atabilmesidir.
Araştırmacılar, “Model hizmetine izin veren bir platform dağıtıyorsanız, artık yeni bir modele hizmet edebilen herkesin aslında o sunucuda keyfi kod çalıştırabileceğini bilmelisiniz,” dedi. “Modeli çalıştıran ortamın tamamen izole edildiğinden ve bir konteyner kaçışına karşı güçlendirildiğinden emin olun.”
Açıklama, Palo Alto Networks Unit 42’nin ayrıntılı Açık kaynaklı LangChain üretken yapay zeka çerçevesindeki (CVE-2023-46229 ve CVE-2023-44467) iki adet yama uygulanmış güvenlik açığı, saldırganların sırasıyla keyfi kod yürütmesine ve hassas verilere erişmesine olanak tanıyabilirdi.
Geçtiğimiz ay Trail of Bits de açıklığa kavuşmuş Ask Astro’da, chatbot çıktı zehirlenmesine, yanlış belge alımına ve potansiyel hizmet reddi (DoS) tehlikesine yol açabilecek, arama artırılmış nesil (RAG) açık kaynaklı bir chatbot uygulaması olan dört sorun.
Yapay zeka destekli uygulamalarda güvenlik sorunları ortaya çıkarken, teknikler de geliştiriliyor tasarlanmış Büyük dil modellerini (LLM) kandırarak savunmasız kod üretmelerini sağlamak amacıyla eğitim veri kümelerini zehirlemek.
“Kodun algılanabilir veya alakasız bölümlerine (örneğin yorumlar) kötü amaçlı yükler yerleştiren son saldırıların aksine, CodeBreaker, karmaşık yük dönüşümü için LLM’leri (örneğin GPT-4) kullanır (işlevsellikleri etkilemeden) ve hem ince ayar için zehirli verilerin hem de üretilen kodun güçlü güvenlik açığı tespitinden kaçınabilmesini sağlar,” Connecticut Üniversitesi’nden bir akademisyen grubu söz konusu.