android mobil platformunda kullanıcı kişisel veri güvenliği
DESCRIPTION
Android Mobil Platformunda Kullanıcı Kişisel Veri Güvenliği. Zana iLHAN Fen Bilimleri Enstitüsü Okan Üniversitesi. Yol Haritası. Mobil Platformlar Güvenlik Açıkları Kullanıcı Verileri Android Mobil Platformu Problem Tanımı PIPSU Çözüm Önerisi PIPSU Bileşenleri PIPSU Mimarisi - PowerPoint PPT PresentationTRANSCRIPT
Zana iLHANZana iLHANFen Bilimleri EnstitüsüFen Bilimleri Enstitüsü
Okan ÜniversitesiOkan Üniversitesi
Mobil Platformlar ◦ Güvenlik Açıkları◦ Kullanıcı Verileri
Android Mobil Platformu Problem Tanımı PIPSU Çözüm Önerisi
◦ PIPSU Bileşenleri◦ PIPSU Mimarisi◦ PIPSU Katmanları
PIPSU’nun Gerçeklenmesi Tezin katkısı & Tartışma İleride Yapılabilecekler
PC Dizüstü Tablet PDA & Akıllı Telefon
Ultra Mobile PC
SubnotebookNetbook
Yeni Kategoriler
• Kişisel Bilgisayar Tayfının Evrimi• Eskinin berrak kategorizayonu:
•Sabit Hesaplama(PC) •Taşınabilir Hesaplama (Dizüstü)
• Yeni dönemin özellikleri•Taşınabilir hesaplama donanımı Çeşitlendi• Satılan donanımın çoğu taşınabilir donanımdan•Bunlar son kullanıcı tarafından beraberce kullanılıyor (tablet + ebook reader + Android cep telefonu)
•2008’de dünya genelinde dizüstü satışları PC satışlarını geçti.
Büyük pazar payına sahip 6 mobil platform bulunmaktadır.
SMS, E-Posta istemcileri Wi/Fi, Bluetooth, Infra-red, USB Web tarayıcılar 3. Parti uygulamalar SDK tasarım yanlışlıkları Platform tasarım yanlışlıkları
PIM(Personel Information Management) aracılığı ile yönetilen veriler: ◦ Kontaklar◦ Takvim verileri◦ Notlar◦ SMS verileri ve E-Posta verileri
Multi-Medya Verileri: ◦ Döküman◦ Resim◦ Müzik ve Video verileri
Android bir Linux dağıtımımıdır? Açık kaynak kodlu mudur? Mobil cihaz sağlayıcıları tarafından çıkan
Android tabanlı işletim sistemleri ile Google Android arasında bir fark varmıdır?
Diğer standart “Stack” tabanlı Sanal makinelerin tersine “Registry” tabanlıdır.
Sun JVM ve OpenJVM den farklı olarak Just-in-debugger a sahiptir.
Java bytecodelarını dx aracı ile .dex (dalvik executable) a dönüştürür.
GPS lokasyon bilgisini edinebilme
IP adres, Wi/Fi vb internet erişim bilgilerine erişebilme
E-Mail, Kontak vb bilgilere erişebilme
SMS ve Telefon rehber bilgilerine erişebilme
Kurulu uygulama listesi, kullanılan izinler(application permission), kullanılan ortak UID ler ve versiyon bilgilerini edinebilme
RAM, CPU, bootloder ve kernel gibi çalışılan sisteme dair bilgiler uygulamalar tarafından edinilebilmektedir.
Uygulama
Android Framework
Uygulama Verisi
Dosya Sistemi
Uygulama Verisi
Uygulama Verisi
1 2
1
2
Android Veri Manipülasyonu API
Sistem İsteği
Kavramsal Konum:◦ Uygulamanın kendi veritabanı(SQLite DB) ◦ Android Shared Preference◦ PIM veritabanı(Telefon Rehberi, SMS, Takvim vb.)
Fiziksel Konum:◦ Dahili Veri Alanları
Flash Memory (SSD) EMMC Anakartın içsel ROM’u
◦ Harici Veri Alanları SD Card Ağ Bağlatısı Erişimli Veri Alanı(NAS: Network Attached
Storage)
Yanlış API kullanımı (Örnek: Shared Preref’in amaç dışı kritik bilgi için kullanılması)
ADB (Android Debug Bridge) erişim kanalı◦ PC üzerinden Linux Terminali benzeri bir kabuk
arayüzü açılıyor. İşletim sistemi hiyerarşisinin standart
olmaması: Dizin ve dosya erişim hakları iyi ayarlanmamış olması
Kötü niyetli ve/veya yanlış çalışan uygulamalardan kaynaklı veri hırsızlığı olmakta
Henüz yeterince olgunlaşamamış ve standartlaşamamış olan mobil platformlar, iş ve gündelik hayatımızda ürettiğimiz verilerin çoğuna sahiptirler.
Hayatımızda büyük yere sahip olan mobil aygıtları, büyük oranda kullanıcı kişisel verileri barındırmaktadır.
Mevcut kullanılmakta olan mobil platformların kullanıcı kişisel verilerine dair bir çok güvenlik açığına sahiptirler.
Yeni nesil mobil platformlarda kullanıcı kişisel verilerinin güvenliğinin sağlanması
Kirin [15]
Saint [17]
Virtualized In-Cloud Security Services for Mobile Devices
[18]
Yetki Etiket Modeli
Language based security on Android[13]
SCanDroid [14]
Çalışma Zamanı Uygulama Takibi
Ağ Tabanlı
İngilizce : Platform Isolated Private Security for User. Anlamına gelmekte olup, İngilizce anlam cümlesinin kelimelerinin baş harflerinin birleşiminden oluşmaktadır.
Türkçe : Kullanıcı Kişisel Verilerinde Platform Bağımsız Güvenlik
Kullanıcı kişisel verileri için güvenlik çözümü Mobil platform bağımsız Bulut bilişim uyumlu(Cloud Computing
Compatible) Sunum, servis ve depolama katmanlarını bir
arada barındıran çözüm. SyncML protokol standart’ı ile farklı bulut
sistemleriyle çalışabilme. Aynı hesap altında çoklu cihaz desteği
Android İşletim Sistemi
InternetPIPSU-C
PIPSU-L Uygulamasına Sahip Mobil Cihaz
SyncML Destekli Bulut Veri Servisi
PIPSU-L Uygulama A Uygulama B
İçsel Uygulama C
İçsel Uygulama D
İçsel Uygulama E
Android Framework(Uygulama Çatısı)
Dalvik PIPSU-L Dalvik A Dalvik BDalvik C Dalvik D Dalvik E
Android Çekirdek Katmanı
Soyut
Launcher ve GUI Bileşenleri
GUI Kontrol Bileşenleri
İletişim ve Sistem Takip Bileşeni
Kullanıcı Kişisel Veri Takip Modülleri
İstemci İletişim Kütüphanesi
Kullanıcı Kişisel Veri Modülleri SapiSyncML
Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü
SunumDepolam
aKontrol
Platform Tabanlı Olay Tetiklenmesi
Kullanıcı Tabanlı Olay Tetiklenmesi
Soyut
Launcher ve GUI Bileşenleri
GUI Kontrol Bileşenleri
İletişim ve Sistem Takip Bileşeni
Kullanıcı Kişisel Veri Takip Modülleri
İstemci İletişim Kütüphanesi
Kullanıcı Kişisel Veri Modülleri SapiSyncML
Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü
SunumDepolam
aKontrol
PIPSU bir kullanıcı bilgisini soyutlamak için iki ana aktör ile anlamlılandırmaya çalışır.
Veri Kaynağı(Source
)Veri
Takipcisi(Tracker)
Veri Yönetim
Soyut Veri
PIPSU Mobil Platformda bulunan kullanıcı verilerini 2 ana tipte soyutlar.
Kişisel Veri Yönetimi(PIM)
Multi Medya Verileri
PIPSU-L Kullanıcı Verileri
Rehber Verileri(Kontak,
vCard vb.)Takvim Verileri SMS Notlar(Text
Veri)
Kişisel Veri Yönetimi(PIM)
Resimler
Multi Medya
Muzikler Videolar Binary Veri(Dökümanlar)
Soyut
Launcher ve GUI Bileşenleri
GUI Kontrol Bileşenleri
İletişim ve Sistem Takip Bileşeni
Kullanıcı Kişisel Veri Takip Modülleri
İstemci İletişim Kütüphanesi
Kullanıcı Kişisel Veri Modülleri SapiSyncML
Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü
SunumDepolam
aKontrol
Anahtar Değer Değişim
Anahtar Değer Değişim
Anahtar Değer Değişim...
.
.
.
.
.
.
Content://pipsu/pim/sms?anahtar=XYGVG67X
Anahtar – Deger (Key Value) Depolama Modülüİndeks Değer
Anahtar = hash(değer)
Tracker
Anahtarlar
56HJ7987 PNG,364x26 345987866454354343
67KLHG8MIME:Text,ASDFGDFG, From,
To4567887986
5954
454HJK0 Değer Değişim...
.
.
.
.
.
.
İndeks Değer
Soyut
Launcher ve GUI Bileşenleri
GUI Kontrol Bileşenleri
İletişim ve Sistem Takip Bileşeni
Kullanıcı Kişisel Veri Takip Modülleri
İstemci İletişim Kütüphanesi
Kullanıcı Kişisel Veri Modülleri SapiSyncML
Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü
SunumDepolam
aKontrol
Launcher ve GUI BileşenleriLauncher Widget
BileşenleriActivity
Bileşenleri
Launcherlar Android platformu için özel yetenekler ve göreve sahip Android uygulamalarıdır.
Soyut
Launcher ve GUI Bileşenleri
GUI Kontrol Bileşenleri
İletişim ve Sistem Takip Bileşeni
Kullanıcı Kişisel Veri Takip Modülleri
İstemci İletişim Kütüphanesi
Kullanıcı Kişisel Veri Modülleri SapiSyncML
Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü
SunumDepolam
aKontrol
Bu katman, PIPSU-L’nin çalıştığı platformda bulunan kullanıcı kişisel bilgilerinin, PIPSU tarafından sağlanan güvenli depolama alanlarına taşınmasını sağlamaktadır.
Kendi UID’si ile iş yapıyor. Kendi dizinlerine sadece kendisi erişebiliyor.
Üç katmanlı uçtan uca bir çözüm, verilerin yaratılması, değiştirilmesi, silinmesi, yedeklenmesi hep aynı süreç (process) tarafından yönlendiriliyor.
Kullanıcı kişisel bilgilerini, sahip olduğu dahili soyutlama kütüphanelerini kullanarak mobil platform bağımsız formlarda saklıyor/kullanıyor.
Android Framework
PIPSU Olay Değiş tokuşu (User Event Exchange)
Dosya Sistemi (Linux Çekirdek)
Dalvik
Diğer Uygulama VerileriPIPSU Verileri
Tek sistem kullanıcısıPIPSU Uid
Uygulama ve Sistem Arayüzleri
PIPSU API(Tek Yönlü)
Android Framework
PIPSU
Dosya Sistemi
Dalvik
Diğer Uygulama VerileriPIPSU Verileri
Tek sistem kullanıcısıPIPSU Uid
Zararlı Uygulama
Öntanımlı olarak tüm 3. parti uygulamalar aynı Uid’yi alır.Zararlı uygulama sistemden PIPSU’nun UiD’sini alamazPIPSU verilerine ulaşması çekirdekçe engellenirBu durum kurulum esnasında kullanıcının vereceği yetkilerin genişliği ile değişmez.
X
Lokasyon 2
SyncML Destekli Bulut Servisleri
InternetYüksek Devamlılık (HA)
LBPIPSU-L
PIPSU-L
Yük Dağıtımı
Servis HaberleşmesiServis Haberleşmesi
Yüksek Devamlılık (HA)
SyncML Destekli Bulut Servisleri
Lokasyon 1
DM Veri Kaynak Yönetimi
Servlet Container EJB3
Sunucu Modülleri
Üst Düzey Bileşenler
HA L
BSyncML
IBBİstek Yönetimi
PUSH
HTTP/S CTP STPTCP UDP
Sapi
İletişim Kütüphaneleri
Temel Servis Bileşenleri
PIPSU Mimari tasarım
Launcher +
Funambol
apk uzantılı, yüklenebilir Android Uygulaması
Mobil platformlarda bulunan güvenlik probleminin analizi
“Kişisel veri güvenliği” problem tanımı Platform seçimi ve Android’in güvenlik boyutuyla
mimarisel incelenmesi Platform bağımsız kişisel veri güvenliği çözüm
mimarisinin geliştirilmesi(PIPSU) PIPSU implementasyonu için gerekli analiz
◦ Açık kaynak kodlu projelerin incelenmesi ◦ Lancher+ ve Funambol mimarilerinin detaylı incelenmesi
PIPSU Android platform uygulamasının geliştirilmesi.
PIPSU,◦ Kullanıcı kişisel verilerini, yabancı uygulamalardan
izole eder.◦ Kullanıcı kişisel veri devamlılığını sağlar.◦ Linux çekirdek seviyesindeki güvenlik modelini
uygulama seviyesine taşır.◦ Kullanıcının günlük alışkanlıklarını değiştirmeden
veri güvenliği sağlar.
PIPSU uygulaması mobil marketlere sunulması PIPSU projesine özel SyncML tabanlı bulut
servislerinin gerçeklenmesi PIPSU-L içerisinde yerel olarak tutulan PIM
kategorilerini arttırmak PIPSU akranları arasında(P2P) DLNA veri paylaşımı Literatür taraması kısmının genişletilip “Android
platformlarda kişisel veri güvenliği yaklaşımları” başlıklı derleme(Survey) yayınının oluşturulması.
PIPSUnun diğer önemli mobil platformlara taşınması.
3. parti uygulamaların PIPSU altyapısını kullanabilmesi