AI Security
Machine Learning, Deep Learning and Computer Vision Security
Cihan Özhan | Founder of DeepLab | Developer, AI Engineer, AI Hacker
11/2021
cihanozhan.com
deeplab.co
Model
Machine Learning, Deep Learning Algorithm
https://www.tensorflow.org/tutorials/quickstart/beginner
https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb
AI Data Objects
• Image
• Text
• File
• Voice
• Video
• Frequency
• 3D Object
• Data
ML/DL Applications
• Image Classification
• Pose Estimation
• Face Recognition
• Face Detection
• Object Detection
• Question Answering System
• Semantic Segmentation
• Text Classification
• Text Recognition
• Sentiment Analysis
• Industrial AI
• Autonomous Systems
• and more…
ML/DL Algorithms
• Classification (Supervised)
• Clustering (Unsupervised)
• Regression (Supervised)
• Generative Models (Semi-Supervised)
• Dimensionality Reduction (Unsupervised)
• Reinforcement Learning (Reinforcement)
• Convolutional Neural Network (CNN)
• Recurrent Neural Network (RNN)
Model Lifecycle
Machine Learning Model Development Lifecycle
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.
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])
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!
Machine Learning projesi
Nasıl Yayınlanır?
MartinFowler.com
MartinFowler.com
Machine Learning Security
Adversarial Attacks
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…
*İşimiz zaten pek kolay değildi!
Adversarial Attack : Image (https://adversarial.io/)
*İki panda arasındaki fark
Nasıl çalışır?
Use Cases
Adversarial Attacks
Adversarial Attack : Speech-to-Text (https://people.eecs.berkeley.edu/~daw/papers/audio-dls18.pdf)
https://arxiv.org/pdf/2006.03575.pdf
Adversarial Attack : NLP
https://arxiv.org/pdf/2005.05909.pdf
https://github.com/QData/TextAttack
Adversarial Attack : Remote Sensing (https://arxiv.org/pdf/1805.10997.pdf)
Adversarial Attack : Satellite (https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8823003)
Adversarial Attack : Military
https://spectrum.ieee.org/automaton/artificial-intelligence/embedded-ai/adversarial-attacks-and-ai-systems
Adversarial Attack : Military
https://www.sto.nato.int/publications/STO%20Meeting%20Proceedings/STO-MP-IST-160/MP-IST-160-S1-5.pdf
Adversarial Attack : Autonomous Driving
https://web.cs.ucla.edu/~miryung/Publications/percom2020-autonomousdriving.pdf
https://github.com/ITSEG-MQ/Adv-attack-and-defense-on-driving-model
Security Research of Tesla Autopilot (40 Pages)
https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Research_of_Tesla_Autopilot.pdf
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.
Benign Vs Bad
Adversarial Attacks
https://hackernoon.com/adversarial-attacks-how-to-trick-computer-vision-7484c4e85dc0
https://openai.com/blog/adversarial-example-research/
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
https://ece.princeton.edu/news/researchers-work-protect-smart-machines-smart-attacks
Nasıl?
*Saldırı odaklı gözlem verisi arttıkça sağlıklı network(NN)’in bozulma aşamaları.
- 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.
https://docs.microsoft.com/en-us/security/ Güven Azaltma
https://docs.microsoft.com/en-us/security/ Hedeflenen Yanlış Sınıflandırma
https://docs.microsoft.com/en-us/security/ Kaynak/Hedef Yanlış Sınıflandırma
Banana or Toaster
https://youtu.be/i1sp4X57TL4
Fooling Speech Recognition
https://adversarial-attacks.net/ - https://youtu.be/l_AkXxZt10I
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
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
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
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
Data Poisoning
Attacking Model Availability
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
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…
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
Endüstriyel Yapay Zeka ve Otonom Araçlar - Cihan Özhan
https://www.youtube.com/watch?v=ID_tw5iq6Xs
https://medium.com/@ml.at.berkeley/tricking-neural-networks-create-your-own-adversarial-examples-a61eb7620fd8
Cihan Özhan
Bağlantılar
• cihanozhan.com
• linkedin.com/in/cihanozhan
• medium.com/@cihanozhan
• youtube.com/cihanozhan
• twitter.com/UnmannedCode
• github.com/cihanozhan
E-Mail
• cihan@deeplab.co

Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Security