1. AI Security
Machine Learning, Deep Learning and Computer Vision Security
Cihan Özhan | Founder of DeepLab | Developer, AI Engineer, AI Hacker
11/2021
11. Model Lifecycle
Machine Learning Model Development Lifecycle
Biz buradan başlıyoruz!
ML model hazırlık süreci
Angarya ama mecburi görev:
Veriyi hazırlamak!
Modeli hazırlamışız!
Modeli veri ile eğitiyoruz.
Cloud ya da On-Premise
Eğitilmiş modeli test verisi ile test ettik!
Eğitilen model programsal
ortam için paketlenir.
Yayın sonrası:
Model sürekli izlenir.
12. MLaaS?
Machine Learning as a Service
ML/DL algoritma ve yazılımlarının, bulut bilişim hizmetlerinin bir
bileşeni olarak sunulması modeline denir.
MLaaS = (SaaS + [ML/DL/CV])
13. Hidden Technical Debt in Machine Learning Systems
https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
Genellikle tüm ekip, odak
ve kaynakların yönlendirildiği alan!
18. Adversarial Attack nedir?
”ML modellerini aldatmaya çalışan ve modelin hata yapmasına
neden olan bir tekniktir.”
Yüksek Tehdit Senaryoları
Self-Driving Cars, İHA/SİHA, IT Security, Yüz/Kimlik/Nesne Tanıma Sistemleri vb…
32. Security Research of Tesla Autopilot (40 Pages)
https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Research_of_Tesla_Autopilot.pdf
33. Black-Box Vs White-Box
Adversaries
• White-Box
– NN ile ilgili tüm detaylar bilinir.
– NN’e doğrudan saldırı yapılabilir.
– Daha kolay yol.
– Saldırılar benzer olan diğer NN’lere uygulanabilir.
• Black-Box
– “Hangi modele saldıracağımı biliyorum”
• Örnek : AlexNet
– İlgili NN hakkında hiçbir detayın bilinmediği senaryo.
– Input-Output eşlemesi üzerinden saldırı kontrolü yapılabilir.
– Sahte(Dummy) bir NN oluşturup eğitin, saldırın ve sonrasında aynı yöntemler ile Black-Box
network’e saldırın.
37. Black-Box Use Case
(Autonomous Vehicles ADAS Hacking)
https://www.mcafee.com/blogs/other-blogs/mcafee-labs/model-hacking-adas-to-pave-safer-roads-for-autonomous-vehicles/
85
42. - Solda kirli bir ‘Dur’ işareti.
- Sağda sticker ile yanlış sınıflandırmayı tetiklemek için değiştirilen ‘Dur’ işareti. 45mph hız limiti olarak algılanıyor.
48. Defense & Research Papers
https://nicholas.carlini.com/writing/2019/all-adversarial-example-papers.html
https://docs.microsoft.com/en-us/security/engineering/threat-modeling-aiml
49. Savunma Odaklı Öneriler
• İş/Uygulama Hedefinin Net/Açık/Temiz Olması
• Secure Engineering
• Input ve Output’larda İhtiyat, Kontrol, Log(Herşey)
• Model Integrity(Model Tutarlılığı)
• Model Testing
• Sistem Esnekliği
50. Savunma Odaklı Öneriler
• Sinir ağını, onları gürültü olarak tanımayı ve soyutlamayı öğrenene kadar
komik gözlük takan daha fazla insan örneği ile eğitin.
• Sinir ağlarını yalnızca öğrenmeleri gereken kalıplarla değil, aynı zamanda
tanımamaları gereken binlerce saçma girdiyle de eğitmemiz gerekir.
• Threat Modeling'i kullanın ve standart güvenlik kontrollerini uygulayın.
• Tehdit modellemenizi, geleneksel teknik kullanım senaryolarının dışında
belirli kullanım senaryolarını içerecek şekilde genişletin.
• Ses, video ve jest/mimik odaklı kullanıcı deneyimleri için tehdit modelleme.
• Yapay zekanızın belirgin kullanım senaryosu nedir?
• AI etkileşimleri, kullanıcının etkileşimleri ve bir saldırganın etkileşimleri
hakkındaki varsayımlarınız nelerdir?
• Gözlem ve komutlara cevap olarak AI sisteminizin planlarını ve eylemlerini
nasıl çalıştırmayı, izlemeyi ve kontrol etmeyi planlıyorsunuz?
https://docs.microsoft.com/en-us/security/engineering/threat-modeling-aiml
51.
52. Temel Güvenlik Sorunları
Kasıtlı Hatalar Kasıtsız Hatalar
Perturbation Attack Reward Hacking
Poisoning Attack Side Effects
Model Inversion Distributional Shifts
Membership Inference Natural Adversarial Examples
Model Stealing Common Corruption
Reprogramming ML system (NN Reprogramming) Incomplete Testing
Adversarial Example in Pyhsical Domain
Malicious ML provider recovering training data
Attacking the ML supply chain
Backdoor ML
Exploit Software Dependencies
57. Data Poisoning
Attacking Model Availability
• Saldırgan, bir modelin eğitim pipeline’ına kötü niyetli/anormal veriler enjekte edebilir ve bu da
modelin kararında kasıtlı bir sapmaya neden olabilir.
• Modelin kararını değiştirmek için sisteme yeterince kötü amaçlı veriyle saldırın.
https://sweis.medium.com/security-privacy-risks-of-machine-learning-models-cd0a44ac22b9
58. Exploit Software Dependencies
• Algoritmaları değil, sistem bağımlı olduğu yazılımların güvenlik
açıklarından faydalanır.
• Önlem:
– Security Scan
– Security Reports
– Dikkat Et : Wrappers ve Pre-Build Environment
– Az Dependency Kullan
– Dependency Management Tools
• Synk : Synk.io
• Python Poetry : python-poetry.org
• Bandit :
– Bandit is a tool designed to find common security issues in Python code.
– https://github.com/PyCQA/bandit
• pyup.io/safety
• requires.io
– vb…
59. Tool/Library Security
(TensorFlow)
• TensorFlow(gibi araçlar) internal iletişim için tasarlanmıştır,
güvensiz(untrusted) ağlarda çalışmak için değil.
• Bu araçlar(ModelServer vb.) built-in yetkilendirmeye sahip değildir.
• Dosyaları okuyup yazabilir, network üzerinden veri alıp gönderebilir…
• (!) TensorFlow Models as Programs
• (!) Running Untrusted Models
• (!) Accepting Untrusted Inputs
https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md
60. Endüstriyel Yapay Zeka ve Otonom Araçlar - Cihan Özhan
https://www.youtube.com/watch?v=ID_tw5iq6Xs