Advergame Güvenliği. Yunus ÇADIRCI

Benzer belgeler
Advergame. Yunus ÇADIRCI

GESTALT KURAMI Gestalt kuramcılarına göre bütün, parçaların toplamından daha anlamlıdır ve farklıdır. Birey herşeyi bir bütün olarak algılama

1. ALGILAMA KAVRAMI VE TANIMI

Basit bir web uygulaması

TERSTEN DÜZGÜN OKUMA TEKNİĞİ

Görsel Materyallerin Tasarım İlkeleri

Üst Düzey Programlama

İNSAN İNSAN BİLGİSAYAR ETKİLEŞİMİ. İNSAN 2. Giriş-Çıkış Kanalları. İNSAN 1. Giriş BÖLÜM1: İNSAN. 1. Giriş

Web 2.0 Örnek Eğitim Notu

SERTİFİKA EĞİTİMLERİ

Algorithm of Your Life. AJAX ve...

İnsan. İnsan Bilgisayar Etkileşimi. İnsan. İnsan İnsan Bilgisayar Etkileşimi Bölüm-1 İnsan

Tanımı Problemi 46 Şüpheci Yaklaşım 47 Tamsayı Taşması (Integer Overflow) 47 Tamsayı Taşması Java Uygulaması 48

Pac Dosyası İle Proxy Kullanmak

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Üst Düzey Programlama

CSRF (XSRF, Cross Site Request Forgery Cross Site Reference Forgery ) Nedir? Nasıl Kullanılır? ve Nasıl Korunulur?

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

Öğr. Gör. Serkan AKSU 1

İstemci Tabanlı Saldırı Türleri. Ozan UÇAR

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

Üst Düzey Programlama

T.C. HARRAN ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YABANCI DİL SINAVI (İNGİLİZCE) İÇİN SORU ÇÖZÜM TEKNİKLERİ KURSU

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Zeki Gülen Marmara Üniversitesi Sosyal Bilimler Enstitüsü, Gazetecilik Ana Bilim Dalı, Bilişim

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Web Uygulama Güvenliği Kontrol Listesi 2010

SİBER SUÇLARA KARŞI SİBER ZEKA

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Web Application Penetration Test Report

B-TÜRKİYE DE VE DÜNYADA OKUMA ALIŞKANLIĞI C- HIZLI OKUMA HAKKINDA BİLİNMESİ GEREKENLER

Selective Framebusting

HSancak Nesne Tabanlı Programlama I Ders Notları

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

YAZILIM GÜVENLİĞİ POLİTİKASI 1/6. Doküman No : Yayınlandığı Tarih: Revizyon No: 00

0x01 : Zafiyetin İncelenmesi

Selahattin Esim CEO

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HSancak Nesne Tabanlı Programlama I Ders Notları

VERİ GÜVENLİĞİ. Web Uygulamaları Güvenliği. Özer Çelik Matematik-Bilgisayar Bölümü

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Pardus Projesi ve Topluluk süreçleri. Ali Işıngör Akın Ömeroğlu

Sampaş Akademi Eğitim Portali Kullanım Kılavuzu

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

İnsan. İnsan Bilgisayar Etkileşimi. İnsan. İnsan. İnsan Bilgisayar Etkileşimi Bölüm-1 İnsan Cüneyt BULUT Burak İPEK

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Remote access? Tabi ki!

Yrd. Doç. Dr. Caner ÖZCAN

Hackerlar'ın Gözünden Flash Uygulamaları

(Bilgisayar ağlarının birbirine bağlanarak büyük bir ağ oluşturmasıdır)

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

VoIP Pentest NetSEC / Microso3 Türkiye Ozan UÇAR ozan.ucar@bga.com.tr

API v2 Multi Smart Card ( ) 4- VERİİMZA API ile bir web uygulaması nasıl haberleşir?

SÜRE BAŞLAMA TARİHİ : 19/12/2018 BİTİŞ TARİHİ : 20/02/2019 KURS SÜRESİ : 144 Saat KURS NO :

PROGRAMLAMA DERSİ 1. İNTERNET

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı


JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

MOBİL CİHAZLARDAN DERS İZLEME MERSİN MESLEK YÜKSEKOKULU (UZAKTAN EĞİTİM) Mobil Adobe Connect

bitık MOBİL TİCARET UYGULAMASI ABDULLAH ÇİÇEKCİ

DAVRANIŞ İŞ İNSAN. Kesin Kurallar DAVRANIŞ BİLİMLERİ. Öğr.Gör. A.Alper ERTEM 1. ışları. İnsan davranış incelenmesi. ÖĞR.GÖR. A.ALPER ERTEM.

Güvenlik Java ve Web Uygulama Güvenliği

Java EE 5 Teknolojileri Jboss Seam

Ağ Yönetiminin Fonksiyonel Mimarisi

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Adli Analiz İşlemlerine Başlamak

5651 Sayılı Kanun Hakkında Kanunla ilgili detay bilgiler

TODAİE edevlet MERKEZİ UYGULAMALI E-İMZA SEMİNERİ KASIM E-imza Teknolojisi. TODAİE Sunumu

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

BİLGİSAYAR VE AĞ GÜVENLİĞİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA DERS 2 > AĞ VE UYGULAMA GÜVENLİĞİ

Web Güvenliği Topluluğu webguvenligi.org Web Uygulama Güvenliği Kontrol Listesi 2012

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Programlama Dilleri 3

Spring Security Framework Harezmi Bilişim Çözümleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Nasıl Pardus Geliştiricisi Olunur?

İleri Düzey Bilgisayar Ağları

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne Yönelimli Programlama

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

Transkript:

Advergame Güvenliği Yunus ÇADIRCI

Ajanda Hakkında Advergame Nedir? Neden Advergame Güvenliği? Kullanılan Teknolojiler Manipülasyon Yöntemleri Hardening Peki Bu Bilgi Gerçek Hayatta Ne İşime Yarayacak? Ülkemizden Örnekler Soru Cevap

Hakkında Haberleşme Mühendisi/2004 4 Yıldır Telekomünikasyon Sektöründe Developer Kökenli Series 60, Web Tabanlı, Masaüstü SIP, RTP, HTTP Kötü Kod Nasıl Yazılır Güvenli Yazılım Geliştirme Yaşam Döngüsü www.yunuscadirci.com

Advergame Nedir? Advergame = Advertisement + Game (Advergaming = Advertising + Gaming) Oyunların interaktivite özelliği kullanılarak yapılan reklamlardır. Kullanıcı, ürün veya hizmeti aktif olarak oyunda kullanır. Sonucunda ödül dağıtımı gerçekleşebilir.

Neden Advergame Güvenliği? Maddi ödül nedenli motivasyon Oyunların %90 ı çok kolay kırılabilir Deloitte Hollanda/2008 Çok fazla kişisel bilgi mevcut PII: Personally Identifiable Information Saldırgan kontrolündeki ortam Bilişim Hukuku dışında* Geliştiriciler tasarım kökenli ve eksik S-SDLC

Kullanılan Teknolojiler Hedef olabildiğince çok kullanıcıya ulaşmak Browser tabanlı teknolojiler kullanılıyor Adobe Flash HTML + Javascript Java Applet ios tabanlı Advergame ler yükselişte 5. Sonuç Değerlendirilir 2. Oyun İşlenir 1. Oyun Dosyası Oyuncuya Gönderilir HTTP Oyuncu 3. Oyun Oynanır 4. Oyun Sonucu Sunucuya Gönderilir HTTP

Manipülasyon Yöntemleri Amaç Advergame sunucusuna istenilen veriyi göndermek. Tampering Gönderilen veriyi on-the-fly değiştirmek Decompiling Hash Algoritması, Salt, Secret Key Erişimi Game Engine Erişimi Memory Editing Hafızadaki değerleri değiştirmek Bytecode u değiştirip game engine e mudahele etmek DOM Manipülasyonu HTML tabanlı oyunlara müdahele CSRF Zaman Manipülasyonu

Tampering Açık giden veriyi değiştirmek Basit HTTP Proxy veya Firefox eklentileri yeterli Fiddler HTTPAnalyzer Tamper Data

Decompiling Flash, Silverlight ve Java gibi teknolojiler ile geliştirilen uygulamalar bytecode dan kaynak koda dönüştürülebilir kod içerisinde gizli kalması gereken bilgilere erişmek mümkün private function Init() : void { var _loc_1:string = "I7Qe7XhwXdSCSXk9kSrGtUGEHFY6S2hBTVi/16E2rGQ="; keybytes = new ByteArray(); keybytes.writemultibyte(_loc_1, "utf-8"); hmac = Crypto.getHMAC("sha256"); return; }// end function

Decompiling Flash, Java standartlar açık Opcode bilgileri mevcut Memory editing ile beraber kullanıldığında saldırgana tam kontrol sağlıyor

Memory Editing Memory Editor programları ile hafızadaki değişkenlere direk erişim Cheat Engine sıkça kullanılıyor

Memory Editing Hafızaya yüklenen uygulamanın bytecode ları değiştirilebilir. Oyun yapısına müdahele edilebilir Tespiti oldukça zor //24 0a _as3_pushbyte 10 //68 81 08 _as3_initproperty bonus //60 bf 06 _as3_getlex _apple 24 0a 68 81 01 60 bf 06 _apple.bonus=10 24 64 68 81 01 60 bf 06 _apple.bonus=100 //5d 82 04 _as3_findpropstrict stop //4f 82 04 00 _as3_callpropvoid stop(param count:0) 5d 82 04 4f 82 04 00 stop() 09 09 09 09 09 09 09 nop [hiçbirşey yapma]

DOM Manipülasyonu HTML tabanlı oyunlara uygulanıyor Bilgi yarışması/seçme tarzı oyunlarda kullanılabiliyor Greasemonkey ya da WebBrowser nesnesine sahip uygulamalar ile yapılabilir

DOM Manipülasyonu mysecenek=getrandomint(1,4); clickedelt=mysecenek; mysayfa="http://www.acunn.com/game1of3?res="+myse cenek; var req = new XMLHttpRequest(); req.open('get', mysayfa, false); req.send(); if(req.status == 200) { cevap=req.responsetext.split(">")[7].split("<")[0]; if(cevap=="true") { wgame(); } else { } losegame();

CSRF Cross Site Request Forgery Çeşitli AdverGame lerde Kullanılıyor Oylama esaslı Beğenim esaslı Paylaşım esaslı [img]http://url/oyver?oy=1&id=123456[/img] Forumlara dikkat Kampanya temelli forumlar

Zaman Manipülasyonu Programın hız çarpanı değiştirilebiliyor Böylelikle uygulamanın daha yavaş veya daha hızlı çalıştırılması mümkün Tespiti kolay Cheat Engine kullanılıyor

Hardening - Flash Flash tabanlı oyunlar obfuscate edilmelidir "Bir üvnseritnede ypalaın arşaıtramya gröe, kleimleirn hrfalreiinn hnagi srıdaa yzalıdkılraı ömneli dğeliimş. Öenlmi oaln brincii ve snonucnu hrfain yrenide omlsaımyış. Ardakai hfraliren srısaı krıaışk oslada ouknyuorumş. Çnükü kleimlrei hraf hraf dğeil bri btüün oalark oykuorumuşz.

Hardening - Flash Sunucuya gönderilen tüm veriler şifreli olmalıdır Secret Key iyi saklanmalıdır Mümkün olduğu kadar plaintext veri aktarımından kaçınılmalı, mümkünse AMF vb. Binary formatlar kullanılmalıdır. Plaintext veriler üzerinde yapılan tamperinge karşı koruma sağlar Security by obscurity Çeşitli proxyler işleyebiliyor

Hardening - Flash Oyuncunun her hareketi, önemli nesnelerin durumu timestamp ile loglanmalıdır. 10:38:02 PM 157995 Tick 1417 10:38:02 PM 158316 Tick 1421 10:38:02 PM 158616 Tick 1425 10:38:03 PM 158950 Tick 1429 10:38:03 PM 159283 Evil Shoot 10:38:03 PM 159283 Tick 1433 10:38:03 PM 159617 Tick 1437 10:38:04 PM 159950 Tick 1441 10:38:04 PM 160283 Tick 1445 10:38:04 PM 160376 Couch 10:38:04 PM 160616 Tick 1449 10:38:04 PM 160852 Couch 10:38:04 PM 160896 Couch 10:38:04 PM 160916 Tick 1453 10:38:04 PM 160940 Couch 10:38:05 PM 160975 Couch 10:38:05 PM 161012 Couch 10:38:05 PM 161223 Tick 1457 10:38:05 PM 161523 Tick 1461 10:38:05 PM 161823 Tick 1465 10:38:06 PM 162132 Tick 1469 10:38:06 PM 162454 Tick 1473 10:38:06 PM 162804 Tick 1477

Hardening - Flash Oyun PC leri takip edilmelidir IP Bloğu Cookie Local Shared Objects (Flash cookie) Google Analytics Ripe Proxy IP leri engellenebilir Karaliste Kullanım Şartları Bir oyunda manipülasyon yapan diğer oyunda yapabilir Kara Liste 1 Yunus ÇADIRCI 2

Hardening - Flash Zaman manipülasyonuna karşın çift sayaç kullanılabilir. Bir sayaç programa göre, diğeri sistem saatine göre çalıştırılıp sonuç karşılaştırılır. var PeriyodikKontrolTimer:Timer=new Timer(1000);// 1 second PeriyodikKontrolTimer.addEventListener(TimerEvent.TIMER, PeriyodikKontrol); var _startdate:date; var _time:uint = 0; function starttimer() : void { this.stoptimer(); this._startdate = new Date(); this._time = 0; this._timer = new Timer(1000, 9999); this._timer.addeventlistener(timerevent.timer, this.ontimer, false, 0, true); this._timer.start(); return; }// end function function stoptimer() : void { if (!this._timer) { return; }// end if this._timer.removeeventlistener(timerevent.timer, this.ontimer, false); this._timer.stop(); this._timer = null; return; }// end function function ontimer(param1:timerevent) : void { var _loc_2:* = new Date(); this._time = Math.round((_loc_2.getTime() - this._startdate.gettime()) / 1000); txtsystemtimer.text=string(this._time); return; }// end function function Basla(event:MouseEvent):void { starttimer(); PeriyodikKontrolTimer.start(); return;}

Hardening - Flash Oyun için kritik objeler korunmalıdır Score Time Uygulamanın farklı katmanlarında bütünsellik kontrolü yapılmalıdır Main loop içerisinde skorun farklı bir kopyası tutulabilir

Hardening Bilgi Yarışmaları Soru havuzu geniş olmalıdır Soru şıkları yer değiştirmelidir Günlük oyun limiti getirilmelidir. Bot Kontrolü yapılmalıdır CAPTCHA HTML DOM yapısı bozulabilir Soru ve cevaplar hep aynı DOM Element te gelmemelidir

Hardening CSRF Standart CSRF Önlemleri Ticketing mekanizması HTTP GET Kullanmayın POST Kötü niyetli adminlere karşı koymaz Referer Kontrolü Sayfadan çıkarken Logout tetiklenmeli Banka örnekleri

Peki Bu Bilgi Gerçek Hayatta Ne İşime Yarayacak? Win32 ve Java Tabanlı Uygulamaların Güvenliğinde Hardening PenTest Multimedia Uygulamalarda Web Tabanlı Uygulamalarda Reverse Engineering Çalışmalarında

Ülkemizden Örnekler

Canlı demo Ülkemizden Örnekler

Teşekkürler Yunus ÇADIRCI www.yunuscadirci.com yunuscadirci@yunuscadirci.com