Güvenli Uygulama Geliştirme Android. Bedirhan Urgun



Benzer belgeler
Gu venli Android Uygulama Geliştirme İ puçları

Web Güvenlik Topluluğu OWASP. The OWASP Foundation. 21 Haziran, 2008

Mobile Application Pentest Eğitimi

Android Platformunda Uygulama Geliştirme.

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

TURKCELL de Yoğun İçerik Yönetimi FileNet Burak MÜJDECİ-Satış ve Pazarlama Müdürü

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI. BLM401 Dr.Refik SAMET

MOBİL UYGULAMA GELİŞTİRME

Model-Tabanlı ve Rastgele Karma Yöntem

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

01 Şirket Profili

Bankacılıkta Mobil Uygulamaların Geleceği ve Beraberindeki Riskler

Özgür Uygulamalar ile Web Güvenliği. The OWASP

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

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

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?


Selective Framebusting

SAMM ile Güvenli Yazılım Geliştirme

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G September /Eylül 2013 Ankara / TURKEY ULUSLARARASI

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

Bankacılıkta Admin Riskleri ve Bellekte Avcılık

Yazılım Geliştirme Sürecinde OWASP Projeleri

Hasar Yönetim Merkezi Uygulaması

TITUS VERİ SINIFLANDIRMA ÇÖZÜMÜ

İzin verilen işlemlerin yetki derecelerine uygun olarak sadece yetkili kullanıcılar tarafından gerçekleştirilebilmesini sağlamak

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

Androıd ile Arduıno. Nazir Doğan

ITMS DAYS Information Technologies Management Systems Days

1 LK ANDROID YAZILIMIMIZ VE ÖN HAZIRLIKLAR

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MOBİL UYGULAMALAR DERSİ PROJE ÖDEV İÇERİĞİ

SPK Bilgi Sistemleri Tebliğleri

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

Bazı Akıllı Telefon Sensörleri

Belirli bir kaynağı buluta taşımadan önce, bir kimse aşağıda belirtildiği gibi kaynak hakkında birkaç özelliği analiz etmesi gerekir.

Politika Sistemleri (Yapıları)

Kurumsal Kimlik Yönetimi ve Güçlü Kimlik Doğrulama. Yılmaz Çankaya

Muhar a r r e r m e T a T ç J PT Gel e e l c e e c k e o k nli l n i e And n r d oi o d i Nedi d r

Web Uygulama Güvenliği Kontrol Listesi 2010

BT Yönetim Sistemleri. Nil Neli Bestel & Burak Bestel

Proje 1. Arayüz Tasarımı

Web Uygulamaları Güvenlik Denetimi. Fatih Özavcı

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Teknoloji Trendleri, Veri Merkezleri ve Uyum

Güvenli Yazılım Geliştirme. 06 Haziran 2014

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi İNTENT VE İNTENT. BLM401 Dr.Refik SAMET

Web 2.0 Örnek Eğitim Notu

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

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

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Burp Suite ile Deneme - Yanılma Denetimi

Sistem Güvenliği? BT Güvenliği? Bilgi Güvenliği? A.Levend Abay MSc, MBA, CISM, Mart 2014 Yıldız Teknik Üniversitesi. Levend Abay?

BIG CONTENT > BIG DATA

KAİD EĞİTİM DANIŞMANLIK. Isinizin L ideri Olun!

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Viproy Bilgi Güvenliği Eğitimleri Rehberi

İstanbul Ticaret Odası Websphere Portal Çözümü ile İstanbul Trafiğini Nasıl Hafifletti?

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Google Play Zararlısı İnceleme Raporu

Sertan Kolat

ANET YAZILIM LOG YÖNETİMİ. Karşılaştırma Tablosu ANET YAZILIM

KANTAR UYGULAMASI Kurulum Kılavuzu

SPK Bilgi Sistemleri Tebliğleri

Bankacılık Sektöründe Bilişim ve Teknoloji Alanındaki Çalışmalarımız

1 - Button Kontrolu Nasıl Yapılır?

T.C. ÇEVRE VE ŞEHİRCİLİK BAKANLIĞI. Coğrafi Bilgi Sistemleri Genel Müdürlüğü Veri İşçiliği Projesi

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

: 36 milyon Euro çalan malware Eurograbber

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

SOSYAL SORUMLULUK PROJESİ

Mobil Güvenlik ve Denetim

Kapalı Kasa Frigo Ekipmanları. Refrigerator and Closed Box Equipments

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Yazılım Mühendisliği BIL

Windows Live ID ve parolanızı giriniz.

USE IMPROVE EVANGELIZE. OpenSolaris. Afşin TAŞKIRAN EnderUNIX Yazılım Geliştirme Ekibi Türkiye OpenSolaris Kullanıcıları Grubu afsin ~ enderunix.

Ajanda. Siber Tehditler Etkiler Karşılaşılan Zorluklar Çözüm Kaynakları

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Serap Ateşoğlu Yazılım Konfigürasyon Yöneticisi 22/10/ IBM Corporation

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI

Web Uygulamaları Güvenlik Denetimi. Fatih Özavcı

Bilgi Teknolojileri Yönetişim ve Denetim Konferansı BTYD 2010

Nesnelerin İnterneti Güvenlik ve Güç Tüketimi. Özen Özkaya

CRYPTTECH. Merkezi kayıt yönetim sistemi, adli bilişim imkanı, standart ve yasal mevzuatla uyumlu, anormallik ve tehdit tespiti

SPK Bilgi Sistemleri Tebliğleri Uyum Yol Haritası

3G Sms&MMS GateWay Xml Interface

Mobil Yazılım Mühendisliği (SE 570) Ders Detayları

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

AVĐVASA da Veri Madenciliği Reşat Fırat ERSĐN Stratejik Planlama ve ĐşGeliştirme Birim Yöneticisi

Bulut Bilişimin Hayatımızdaki Yeri İnternet Haftası Etkinlikleri 17 Nisan Yard.Doç.Dr.Tuncay Ercan

Zararlı Yazılımla Mücadele Eği7mi

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

Logsign Hotspot. Güvenli, izlenebilir, hızlı ve. bağlantısı için ihtiyacınız olan herşey Logsign Hotspot da!

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

Transkript:

Güvenli Uygulama Geliştirme Android Bedirhan Urgun

OWASP, www.owasp.org OWASP Turkey, www.webguvenligi.org Yazılım güvenliği farkındalığı Projeler Yarışmalar İletişim Etkinlikler Uygulama Güvenliği Günü, 9 Haziran, Sultanahmet Android Developer Days, May 2012 2

Yazılım Öncelikleri İşlevsellik / Functionality Performans Güvenlik Kod Kalitesi Kullanılabilirlik / GUI http://webguvenligi.org/mpoll Android Developer Days, May 2012 3

Primum non nocere Önce, zarar verme Android Developer Days, May 2012 4

The Next Big Thing Convergence Startups Social Networking Business Mobility Web 2.0 Internet Enterpreneurs Android Developer Days, May 2012 5

Neden Güvenli Geliştirmeliyim? Şan/Şöhret kaybı Para kaybı Zorlayan standardlar PCI, SOX, ISO-27001, HIPAA, v.b. Zorlayan kurumlar BDDK, BTK, v.b. Siyah şapka toplulukları Android Developer Days, May 2012 6

Güvenli Android Geliştirme Hassas Veriler ve Intent Hassas Veriler ve LogCat Girdi Denetimi Güvenli Depolama Bağlantı Güvenliği Bileşenler Arası Yetkilendirme http://webguvenligi.org/belgeler Android Developer Days, May 2012 7

Hassas Veriler ve Intent Intent registrationintent = new Intent("com.google.android.c2dm.intent.REGISTER"); registrationintent.putextra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); registrationintent.putextra("sender","androidguvenligi@gmail.com"); startservice(registrationintent); Android Developer Days, May 2012 8

Hassas Veriler ve Intent Intent <intent-filter android:priority="999"> Android Developer Days, May 2012 9

Hassas Veriler ve LogCat Android Developer Days, May 2012 10

Girdi Denetimi Intent i = getintent(); String url = i.getstringextra("url"); // url whitelist kontrolünden geçirilmelidir. Android Developer Days, May 2012 11

Bağlantı Güvenliği URL url = new URL("https://www.webguvenligi.org"); HttpsURLConnection con = (HttpsURLConnection) url.openconnection(); readstream(con.getinputstream()); Android Developer Days, May 2012 12

Güvenli Depolama try{ FileOutputStream fos = openfileoutput("puanlar", MODE_PRIVATE); OutputStreamWriter out = new OutputStreamWriter(fos); out.append("oyuncu1#80\n"); out.append("oyuncu2#34\n"); } catch(filenotfoundexception fnfe){... Android Developer Days, May 2012 13

Beni Hatırla getsharedpreferences("myprefsfile", MODE_PRIVATE).edit().putString("username", username).putstring("password", password).commit(); Android Developer Days, May 2012 14

Beni Hatırla String token = login(username, password); getsharedpreferences("myprefsfile", MODE_PRIVATE).edit().putString("token", token).commit(); Android Developer Days, May 2012 15

Android Yetki Yönetimi Android Developer Days, May 2012 16

Gerçek Sahte Ayrımı gerçek kaynak gerçek hedef sahte hedef sahte kaynak Android Developer Days, May 2012 17

Yetkilendirme Yapıları permission tanımı <permission android:name="org.webguvenligi.permission" /> permission isteği <uses-permission android:name="org.webguvenligi.permission" /> Android Developer Days, May 2012 18

Yetkilendirme Yapıları - Devam permission zorunluluğu <receiver android:permission="org.webguvenligi.permission"> <activity android:permission="org.webguvenligi.permission"> <service android:permission="org.webguvenligi.permission"> <provider android:permission="org.webguvenligi.permission"> Android Developer Days, May 2012 19

Yetkilendirme Yapıları - Devam permission zorunluluğu sendbroadcast(intent, "org.webguvenligi.permission") checkcallingpermission("org.webguvenligi.permission") PackageManager pm = context.getpackagemanager(); pm.checkpermission("org.webguvenligi.permission", pkgname); Android Developer Days, May 2012 20

Yetkilendirme Senaryo 1 A yetkili midir? A B Android Developer Days, May 2012 21

Yetkilendirme Senaryo 2 Sadece A yetkili midir? A B Android Developer Days, May 2012 22

Yetkilendirme Senaryo 3 A gerçek midir? A B Android Developer Days, May 2012 23

Yetkilendirme - İpucu 1 normal permission kontrolü 3 <uses-permission android:name="permission" A yetkili midir? A B 1 2 <permission android:name="permission" /> <receiver android:permission="permission" Android Developer Days, May 2012 24

Yetkilendirme - İpucu 2 1 permission protectionlevel ipucu <permission android:name="permission" android:protectionlevel="signature" /> Sadece A yetkili midir? A B 2 <receiver android:permission="permission" Android Developer Days, May 2012 25

Yetkilendirme - İpucu 3 hardcoded signature kontrolü A gerçek midir? A B packageinfo = pm.getpackageinfo(a_pkgname, PackageManager.GET_SIGNATURES); String A_SIGNATURE = "308202..."; for (Signature signature : packageinfo.signatures) if (signature.tocharsstring().equals(a_signature)) { } Android Developer Days, May 2012 26

Tehdit Modelleme - Push Notification Android Cihaz Uygulama Push Notification Sunucusu Kayıt Broadcast Push Notification Servisi Android Developer Days, May 2012 27

Doğrulama Eğilimi n, 2n, 2n+2 Üçlü Doğru/Yanlış Emin Olma Yüzdesi % 7, 14, 16 Doğru % 60 5, 10, 12 Doğru % 80 8, 16, 18 Doğru % 100 Doğru Formül: a < b < c Android Developer Days, May 2012 28

Yanlışlama Eğilimi n, 2n, 2n+2 Üçlü Doğru/Yanlış Emin Olma Yüzdesi % 7, 14, 16 Doğru % 60 6, 12, 13 Doğru % 0 Android Developer Days, May 2012 29

Teşekkürler owasp turkey mailing list Android Developer Days, May 2012 30