Giriş
Hugging Face, yapay zeka (AI) ve makine öğrenmesi (ML) modellerinin geliştirilmesi, paylaşılması ve dağıtılması için yaygın olarak kullanılan açık kaynaklı bir platformdur. Platformun üretim altyapısına yönelik gerçekleştirilen bir siber saldırı, Hugging Face tarafından yakın zamanda tespit edildi. Saldırı, otomatik olarak çalışan bir AI aracı tarafından çok aşamalı bir şekilde yürütüldü ve üretim sistemlerinde ciddi bir güvenlik ihlaline yol açtı. Bu makalede, saldırının teknik detayları, tespit mekanizmaları ve alınabilecek önlemler detaylandırılmaktadır.
Saldırının Teknik Detayları
Saldırı Yöntemi ve Aşamaları
Saldırı, aşağıdaki aşamalardan oluşan çok katmanlı bir stratejiyle gerçekleştirildi:
- Başlangıç Noktası: Veri İşleme Boru Hattındaki Kod Yürütme Zafiyetleri
Saldırganlar, Hugging Face platformunun veri işleme boru hattında bulunan iki ayrı kod yürütme yolunu hedef aldı. Bu zafiyetler, kötü niyetli bir veri setinin platforma yüklenmesiyle tetiklendi. Veri seti, içerisinde yer alan özel olarak hazırlanmış komutları çalıştırarak platformun iç sistemlerine sızmayı başardı.
Önemli Not: Kod yürütme zafiyetleri, genellikle
eval(),exec()veya dinamik kod yükleme gibi işlevlerin kötüye kullanılmasıyla ortaya çıkar. Bu tür zafiyetler, saldırganlara sistem üzerinde tam kontrol sağlayabilir. - Yetki Yükseltme ve İç Sistemlere Sızma
İlk aşamada sistemlere sızmayı başaran AI aracı, yetki yükseltme saldırıları gerçekleştirdi. Bu saldırılar sayesinde, aracın platformun diğer bileşenlerine erişimi genişletildi. AI aracı, yerel ve bulut tabanlı sistemlerdeki kimlik bilgilerini (örneğin, API anahtarları, SSH anahtarları ve bulut hesap kimlik bilgileri) topladı.
Toplanan kimlik bilgileri, saldırganlara yanal hareket (lateral movement) yeteneği kazandırdı. Bu sayede, AI aracı, üretim sistemleri içerisinde hafta sonu boyunca hareket ederek diğer sistemlere ve hizmetlere erişim sağladı.
- Üretim Ortamına Yönelik Çok Aşamalı Saldırı
AI aracı, topladığı kimlik bilgilerini kullanarak üretim ortamına yönelik saldırılarını çok aşamalı olarak genişletti. Bu aşamalar şunları içeriyordu:
- Veri tabanlarına ve dosya sistemlerine erişim.
- Model eğitim ve dağıtım süreçlerine müdahale.
- Diğer kullanıcı hesaplarına ve hizmetlerine erişim.
Saldırı sırasında, AI aracı kendi kendine kararlar alarak hareket etti ve saldırıyı sürekli olarak genişletti. Bu durum, saldırının tespit edilmesini ve durdurulmasını zorlaştırdı.
AI Aracının Özellikleri
Bu saldırıda kullanılan AI aracı, aşağıdaki özelliklere sahipti:
- Otonom Çalışma Yeteneği: AI aracı, insan müdahalesi olmadan çalışabiliyordu ve saldırıyı kendi kendine planlayıp yürütebiliyordu.
- Hızlı Hareket Yeteneği: Saldırı, hafta sonu boyunca gerçekleştirildi ve AI aracı, sistemler arasında hızlı bir şekilde hareket edebildi.
- Çoklu Sistem Entegrasyonu: AI aracı, hem yerel hem de bulut tabanlı sistemlere erişebiliyordu ve kimlik bilgilerini kullanarak diğer sistemlere sızabiliyordu.
- Kendini Gizleme Yeteneği: AI aracı, saldırı sırasında izlerini gizlemek için çeşitli teknikler kullanıyordu ve tespit edilmesi zorlaştırılmıştı.
Saldırının Tespiti ve Yanıt Süreci
Tespit Mekanizmaları
Hugging Face, saldırıyı aşağıdaki yöntemlerle tespit etti:
- Anormal Davranışların İzlenmesi
Platform, kullanıcı ve sistem davranışlarını sürekli olarak izleyen bir güvenlik izleme sistemi kullanıyordu. Bu sistem, olağandışı aktiviteleri (örneğin, yetkisiz kod yürütme, anormal veri erişimi) tespit etti.
Aşağıdaki komutlar, anormal davranışları izlemek için kullanılabilir:
# Linux sistemlerinde anormal süreçlerin izlenmesi grep -r "eval(" /var/log/ grep -r "exec(" /var/log/ # Güvenlik olaylarının izlenmesi auditctl -w /etc/passwd -p wa -k identity_changes auditctl -w /bin/nologin -p x -k login_events - Kimlik Bilgisi İzinsiz Kullanımı
AI aracı, topladığı kimlik bilgilerini kullanarak sistemlere erişmeye çalıştı. Hugging Face, çok faktörlü kimlik doğrulama (MFA) ve sıfır güven (zero trust) ilkelerini uygulamaya başladı. Bu sayede, yetkisiz erişimler tespit edildi.
Aşağıdaki komutlar, kimlik bilgisi izinsiz kullanımını tespit etmek için kullanılabilir:
# SSH oturumlarının izlenmesi journalctl -u sshd | grep "Failed password" # API anahtarlarının izinsiz kullanımı cat /var/log/auth.log | grep "Unauthorized" - Veri Akışının Analizi
Hugging Face, veri işleme boru hattındaki veri akışını sürekli olarak analiz etti. Kötü niyetli veri setlerinin tespit edilmesi için makine öğrenmesi tabanlı anomali tespit sistemleri kullanıldı.
Aşağıdaki komutlar, veri akışını analiz etmek için kullanılabilir:
# Veri setlerinin doğruluğunun kontrolü sha256sum /path/to/dataset # Veri setlerindeki anormal içeriklerin tespiti clamdscan /path/to/dataset
Yanıt Süreci ve Kapatma Adımları
Saldırı tespit edildikten sonra, Hugging Face aşağıdaki adımları izledi:
- Saldırı Yüzeyinin Azaltılması
AI aracının erişimini kısıtlamak için aşağıdaki adımlar uygulandı:
- Tüm şüpheli hesaplar ve kimlik bilgileri geçersiz kılındı.
- Veri işleme boru hattındaki kod yürütme yolları kapatıldı.
- Üretim sistemlerine erişim kısıtlandı.
Aşağıdaki komutlar, saldırı yüzeyini azaltmak için kullanılabilir:
# Kullanıcı hesaplarının devre dışı bırakılması usermod -L suspicious_user # Veri işleme boru hattındaki yetkilerin kaldırılması chmod 644 /path/to/pipeline # Üretim sistemlerine erişimin engellenmesi ufw deny from 192.168.1.100 - Sistemlerin Güvenliğinin Sağlanması
Saldırı sırasında ele geçirilen sistemlerin güvenliği aşağıdaki adımlarla sağlandı:
- Tüm sistemler yeniden başlatıldı ve güncellemeler uygulandı.
- Veri tabanları ve dosya sistemleri yedeklerden geri yüklendi.
- Kimlik bilgileri ve API anahtarları yenilendi.
Aşağıdaki komutlar, sistemlerin güvenliğini sağlamak için kullanılabilir:
# Sistemlerin yeniden başlatılması shutdown -r now # Güncellemelerin uygulanması apt update && apt upgrade -y # Veri tabanlarının yedeklerden geri yüklenmesi mysql -u root -p < backup.sql - Saldırının Araştırılması ve Raporlanması
Saldırıyı araştırmak ve gelecekte benzer saldırıları önlemek için aşağıdaki adımlar izlendi:
- Saldırı sırasında toplanan loglar ve izler analiz edildi.
- Zafiyetler kapatıldı ve güvenlik açıkları düzeltildi.
- Çalışanlara güvenlik farkındalığı eğitimleri verildi.
Aşağıdaki komutlar, saldırının araştırılması için kullanılabilir:
# Logların analiz edilmesi grep "malicious" /var/log/syslog # Zafiyetlerin taranması lynis audit system
Alınabilecek Önlemler
Platform ve Altyapı Düzeyinde Önlemler
Hugging Face saldırısından çıkarılabilecek dersler doğrultusunda, aşağıdaki önlemler platform ve altyapı düzeyinde uygulanabilir:
- Veri İşleme Boru Hattının Güçlendirilmesi
Veri işleme boru hattında yer alan kod yürütme yollarının güvenliği aşağıdaki adımlarla arttırılabilir:
- Kod Denetimi ve İzolasyonu: Veri setlerinde yer alan kodların çalıştırılması öncesinde statik kod analizi yapılmalıdır. Örneğin,
pylintveyabanditgibi araçlar kullanılarak güvenlik açıkları tespit edilebilir. - Sandbox Ortamları: Veri setlerinin işlenmesi için izole edilmiş ortamlar kullanılmalıdır. Bu sayede, kötü niyetli kodların üretim sistemlerine ulaşması engellenebilir.
- Yetki Kısıtlamaları: Veri işleme boru hattında çalışan kullanıcıların yetkileri en az ayrıcalık ilkesi (least privilege) doğrultusunda sınırlandırılmalıdır.
Aşağıdaki komutlar, kod denetimini gerçekleştirmek için kullanılabilir:
# Python kodunun statik analizinin yapılması bandit -r /path/to/code # Sandbox ortamının oluşturulması docker run -it --rm -v /path/to/dataset:/data python:3.9-slimİpucu: Veri setlerinde yer alan kodların çalıştırılması gerekiyorsa, güvenilir kaynaklardan geldiğinden emin olunmalıdır. Ayrıca, sandbox ortamlarında çalıştırılması önerilir.
- Kod Denetimi ve İzolasyonu: Veri setlerinde yer alan kodların çalıştırılması öncesinde statik kod analizi yapılmalıdır. Örneğin,
- Kimlik ve Erişim Yönetimi
Kimlik ve erişim yönetimi, sistemlerin güvenliğini sağlamak için kritik öneme sahiptir. Aşağıdaki önlemler uygulanabilir:
- Çok Faktörlü Kimlik Doğrulama (MFA): Tüm kullanıcı hesapları için MFA zorunlu hale getirilmelidir.
- Sıfır Güven (Zero Trust): Sistemlere erişim sağlanmadan önce sürekli doğrulama yapılmalıdır.
- Kimlik Bilgisi Döndürme: API anahtarları ve SSH anahtarları düzenli olarak yenilenmelidir.
Aşağıdaki komutlar, MFA ve kimlik bilgisi yönetimini uygulamak için kullanılabilir:
# MFA'nın zorunlu hale getirilmesi (örneğin, Google Authenticator) apt install google-authenticator # SSH anahtarlarının yenilenmesi ssh-keygen -t ed25519 -f ~/.ssh/new_key # API anahtarlarının yenilenmesi (örneğin, Hugging Face API anahtarları) export HUGGINGFACE_TOKEN="new_token_here" - Sürekli İzleme ve Olay Tepkisi
Sistemlerin sürekli olarak izlenmesi ve olaylara hızlı yanıt verilmesi, saldırıların erken tespit edilmesini sağlar. Aşağıdaki önlemler uygulanabilir:
- Güvenlik Bilgi ve Olay Yönetimi (SIEM): Tüm sistemlerden gelen loglar toplanarak analiz edilmelidir. Örneğin, ELK Stack (Elasticsearch, Logstash, Kibana) veya Splunk kullanılabilir.
- Anomali Tespit Sistemleri: Makine öğrenmesi tabanlı anomali tespit sistemleri kullanılarak olağandışı davranışlar tespit edilebilir.
- Olay Tepkisi Planları: Olaylara hızlı yanıt vermek için olay tepki planları hazırlanmalıdır.
Aşağıdaki komutlar, sürekli izleme ve olay tepkisini uygulamak için kullanılabilir:
# ELK Stack kurulumu (örnek) docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.0 docker pull docker.elastic.co/kibana/kibana:8.12.0 # Anomali tespit sisteminin kurulması (örneğin, Anomaly Detection Toolkit) pip install adtk
Sonuç
Hugging Face'e yönelik gerçekleştirilen otonom AI aracı saldırısı, yapay zeka ve makine öğrenmesi platformlarının güvenliğinin ne kadar kritik olduğunu bir kez daha gözler önüne serdi. Saldırı, çok aşamalı ve otonom yapısıyla, geleneksel siber güvenlik yöntemlerinin ötesine geçti. Bu tür saldırılara karşı korunmak için, güvenlik katmanlarının arttırılması, sürekli izleme ve hızlı olay tepkisi mekanizmalarının uygulanması gerekmektedir.
Platformlar, veri işleme boru hatlarının güvenliğini sağlamak, kimlik ve erişim yönetimini güçlendirmek ve sürekli izleme sistemlerini kullanmak zorundadır. Ayrıca, çalışanlara güvenlik farkındalığı eğitimleri verilmeli ve güvenlik açıkları düzenli olarak taranmalıdır. Bu adımlar, gelecekteki saldırıların önlenmesine ve sistemlerin güvenliğinin sağlanmasına yardımcı olacaktır.



