hafta 12 - c¸ ekis¸meli uretici a¨ glar˘dr. ferhat ozgur¨ c¸ atak¨ [email protected]...

21
C ¸ ekis ¸tirmeli ¨ Uretici A ˘ glar Uygulamalar Hafta 12 - C ¸ ekis ¸meli ¨ Uretici A ˘ glar BGM 565 - Siber G¨ uvenlik ic ¸ in Makine ¨ grenme Y¨ ontemleri Bilgi G ¨ uvenli ˘ gi M ¨ uhendisli ˘ gi uksek Lisans Programı Dr. Ferhat ¨ Ozg¨ ur C ¸ atak [email protected] ˙ Istanbul S ¸ehir ¨ Universitesi 2018 - Bahar Dr. Ferhat ¨ Ozg¨ ur C ¸ atak [email protected] Hafta 12 - C ¸ ekis ¸meli ¨ Uretici A ˘ glar

Upload: others

Post on 31-Jan-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    Hafta 12 - Çekişmeli Üretici AğlarBGM 565 - Siber Güvenlik için Makine Öğrenme Yöntemleri

    Bilgi Güvenliği MühendisliğiYüksek Lisans Programı

    Dr. Ferhat Özgür Ç[email protected]

    İstanbul Şehir Üniversitesi2018 - Bahar

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    İçindekiler

    1 Çekiştirmeli Üretici AğlarGirişYöntemGAN Modelleri Nasıl Çalışır?GAN vs AutoencodersGAN Eğitimi

    2 Uygulamalar

    MalGANgym-malwarePassGANSSGAN: SecureSteganography Based onGenerative AdversarialNetworks

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    İçindekiler

    1 Çekiştirmeli Üretici AğlarGirişYöntemGAN Modelleri Nasıl Çalışır?GAN vs AutoencodersGAN Eğitimi

    2 Uygulamalar

    MalGANgym-malwarePassGANSSGAN: SecureSteganography Based onGenerative AdversarialNetworks

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    Çekişmeli Üretici AğlarGenerative Adversarial Networks

    Çekişmeli Üretici Ağlar

    I İki arklı ağdan oluşan derin sinir ağ mimarileridir 1I Düşmanca (Adversarial)

    I Herhangi bir veri dağıtımını taklit etmeyi öğrenebilirler.I GAN kendi başına benzer veriler oluşturması öğretilebilir:

    I resimler, müzik, konuşma, düzyazı

    I zero-sum game framework şeklinde iki ağın birbirine itiraz etmesiüzerine kurulu bir mimaridir.

    1Goodfellow, Ian, et al. ”Generative adversarial nets.” Advances in neural informationprocessing systems. 2014.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    Generative vs. Discriminative Algorithms I

    Discriminative AlgorithmsI Girdi verilerinin sınıflandırmaya çalışırlar.

    h : X → Y

    I Bir girdinin niteliklerine bakarak etiket veya ait olduğu kategorininbulunmasıdır.

    I Bir epostada bulunan kelimeler veya karakterler analiz edilerekiletinin SPAM veya NOT SPAM olarak etiketlenmesi.I Logistic Regression: p(y = 1|x)I ”the probability that an email is spam given the words it contains.”

    I Discriminative Algorithms: Nitelikler ⇒ Etiketler

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    Generative vs. Discriminative Algorithms II

    Generative Algorithms

    I Bu e-postanın spam olduğunu varsayalım, bu özellikler ne kadarolasıdır?

    I Discriminative: y ve x arasında ilişkiye odaklanırI Generative : x nasıl elde edildi?

    I Bir spam mail nasıl oluşturulabilir.I p(x|y): y bilindiğinde x’in olasılığı. Bir sınıfa ait niteliklerin olasılığı

    I Generative vs. DiscriminativeI Discriminative yöntemler sınıflar arasındaki sınırı öğrenir.I Generative yöntemler her bir sınıfın dağılımını modelemektedirler.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    GAN Modelleri Nasıl Çalışır? I

    GANI Generator olarak adlandırılan bir sinir ağı, yeni veri örneklerini

    üretirken, diğeri, Discriminator, onları doğruluk için değerlendirir.I Discriminator gözden geçirdiği her veri örneğinin gerçek eğitim

    veri kümesine ait olup olmadığına karar verir.I Örnek problem

    I Gerçek dünyadan alınan MNIST veri kümesinde bulunanlar gibi elleyazılmış rakamların üretimi.

    I Gerçek MNIST veri kümesinden bir örnek gösterildiğinde,Discriminator’ın amacı, onları doğru olarak tanımaktır.

    I Generator yeni örnekler oluşturup Discriminator’a iletir. Dsicriminator’ınbu örneklerin gerçek olup olmadığını anlamasını bekler.

    I Generator’ın amacı, anlaşılmadan yalan söyleyebilen, elle yazılmışrakamlar oluşturmaktır (fake images).

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    GAN Modelleri Nasıl Çalışır? II

    GAN AdımlarıI Generator rasgele sayılar kullanarak ve bir görüntü oluşturur.I Bu oluşturulan görüntü, gerçek veri kümesinden alınan görüntülerin

    akışıyla beraber Discriminator beslenir.I Discriminator hem gerçek hem de sahte görüntüler alır ve 0 ile 1

    şeklinde sınıflandırır, 1 değeri doğru, 0 ise sahte olduğunu gösterir.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    GAN vs Autoencoders

    AutoencodersI Autoencoders giriş verilerini vektörler şeklinde olarak kodlar.I Girdi verilerinin gizli veya sıkıştırılmış bir temsilini oluştururlar.I GAN’lar ince, ayrıntılı ayrıntılarda veri oluştururken, AE’ler

    tarafından oluşturulan görüntüler daha bulanık olur.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    GAN Eğitimi

    GAN Eğitiminde İpuçları

    I Discriminator eğitlirken, Generator değerlerini sabit tutulur;Generator eğitilirken diskriminator Discriminator tutulur.I Her bir model statik bir rakibe karşı antrenman yapmalıdır.

    I GAN’ların eğitilmesi uzun zaman alır. Tek bir GPU’da GAN saatlerceve tek bir CPU’da bir günden fazla sürebilir.

    I GAN unsupervised bir öğrenme çeşididir, y ihtiyaç yoktur .

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    İçindekiler

    1 Çekiştirmeli Üretici AğlarGirişYöntemGAN Modelleri Nasıl Çalışır?GAN vs AutoencodersGAN Eğitimi

    2 Uygulamalar

    MalGANgym-malwarePassGANSSGAN: SecureSteganography Based onGenerative AdversarialNetworks

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    MalGAN I

    MalGAN 2

    I Zararlı yazılım geliştiricileri, tespit sistemlerine direk erişimleribulunmamaktadır. Black-Box Attacks

    I MalGAN: bypass black-box machine learning based detectionmodels.I Generative network: minimize the generated adversarial examples’

    malicious probabilitiesI MalGAN is able to decrease the detection rate to nearly zero

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    MalGAN II

    2Hu, W., and Tan, Y. (2017). Generating adversarial malware examples for black-boxattacks based on GAN. arXiv preprint arXiv:1702.05983.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    gym-malware I

    OpenAII Kâr amacı gütmeyen yapay zeka araştırma şirketi.I 1 milyar dolar tutarında bir bağış ile işe başlayan projeI Destek verenler arasında Elon Musk, Sam Altman, Peter Thiel gibi

    isimler bulunmaktadır.I GYM

    I Gym is a collection of environments/problems designed for testingand developing reinforcement learning algorithms

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    gym-malware II

    Şekil: https://github.com/endgameinc/gym-malware

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    PassGAN I

    PassGAN 3

    I It uses a GAN to autonomously learn the distribution of realpasswords from actual password leaks, and to generatehigh-quality password guesses.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    PassGAN II

    3Hitaj, Briland, et al. ”Passgan: A deep learning approach for password guessing.” arXivpreprint arXiv:1709.00440 (2017).

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    SSGAN: Secure Steganography Based on Generative AdversarialNetworks I

    SSGAN 4

    I Steganografi: normal görünümlü dosyalarda bilgi gizleme işlemidir.

    I Changing the least significant bit in each RGB pixel value of an imagewould allow information to leak without ruining the image for humanperception.

    I Statistically, however, these images are easy to detect.

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    SSGAN: Secure Steganography Based on Generative AdversarialNetworks II

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    SSGAN: Secure Steganography Based on Generative AdversarialNetworks III

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

  • Çekiştirmeli Üretici Ağlar Uygulamalar

    SSGAN: Secure Steganography Based on Generative AdversarialNetworks IV

    4Shi, Haichao, et al. ”Ssgan: Secure steganography based on generative adversarialnetworks.” arXiv preprint arXiv:1707.01613 (2017).

    Dr. Ferhat Özgür Çatak [email protected] Hafta 12 - Çekişmeli Üretici Ağlar

    Çekistirmeli Üretici AglarGirisYöntemGAN Modelleri Nasıl Çalısır?GAN vs AutoencodersGAN Egitimi

    UygulamalarMalGANgym-malwarePassGANSSGAN: Secure Steganography Based on Generative Adversarial Networks