PIPSU TEZ Sunumu

Download Report

Transcript PIPSU TEZ Sunumu

Zana iLHAN Fen Bilimleri Enstitüsü Okan Ü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 Yeni Kategoriler Subnotebook Ultra Mobile PC Netbook • • • 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 1 2 Android Framework Uygulama Verisi Uygulama Verisi Dosya Sistemi 1 Android Veri Manipülasyonu API 2 Sistem İsteği Uygulama Verisi

  ◦ ◦ ◦ ◦ ◦ 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ı

Yetki Etiket Modeli Kirin [15] Saint [17] Çalışma Zamanı Uygulama Takibi SCanDroid [14] Language based security on Android[13] Ağ Tabanlı Virtualized In Cloud Security Services for Mobile Devices [18]

  İ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 Sahip Mobil Cihaz Internet SyncML Destekli Bulut Veri Servisi PIPSU-C

PIPSU-L İçsel Uygulama C Uygulama A İçsel Uygulama D Uygulama B İçsel Uygulama E Android Framework(Uygulama Çatısı) Dalvik PIPSU-L Dalvik C Dalvik A Dalvik D Android Çekirdek Katmanı Dalvik B Dalvik E

Kullanıcı Tabanlı Olay Tetiklenmesi Launcher ve GUI Bileşenleri GUI Kontrol Bileşenleri SyncML İletişim ve Sistem Takip Bileşeni Kullanıcı Kişisel Veri Takip Modülleri Kullanıcı Kişisel Veri Modülleri Sapi İstemci İletişim Kütüphanesi Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü Platform Tabanlı Olay Tetiklenmesi

GUI Kontrol Bileşenleri SyncML Launcher ve GUI Bileşenleri İletişim ve Sistem Takip Bileşeni Kullanıcı Kişisel Veri Takip Modülleri Kullanıcı Kişisel Veri Modülleri Sapi İstemci İletişim Kütüphanesi Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü

 PIPSU bir kullanıcı bilgisini soyutlamak için iki ana aktör ile anlamlılandırmaya çalışır.

Veri Yönetim Veri Kaynağı(Source) Veri Takipcisi(Tracker) 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

Kişisel Veri Yönetimi(PIM) Rehber Verileri(Kontak, vCard vb.) Takvim Verileri SMS Notlar(Text Veri)

Multi Medya Resimler Muzikler Videolar Binary Veri(Dökümanlar)

GUI Kontrol Bileşenleri SyncML Launcher ve GUI Bileşenleri İletişim ve Sistem Takip Bileşeni Kullanıcı Kişisel Veri Takip Modülleri Kullanıcı Kişisel Veri Modülleri Sapi İstemci İletişim Kütüphanesi Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü

Anahtar = hash(değer) Tracker Anahtar – Deger (Key Value) Depolama Modülü İndeks Değer Anahtar Anahtar Anahtar .

.

.

Değer Değer Değer .

.

.

Değişim Değişim Değişim .

.

.

Anahtarlar Content://pipsu/pim/sms?anahtar=XYGVG67X

İndeks 56HJ7987 67KLHG8 454HJK0 .

.

.

PNG,364x26 MIME:Text,ASDF GDFG, From, To Değer .

.

.

Değer 345987866454 354343 4567887986 5954 Değişim .

.

.

GUI Kontrol Bileşenleri SyncML Launcher ve GUI Bileşenleri İletişim ve Sistem Takip Bileşeni Kullanıcı Kişisel Veri Takip Modülleri Kullanıcı Kişisel Veri Modülleri Sapi İstemci İletişim Kütüphanesi Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü

 Launcherlar Android platformu için özel yetenekler ve göreve sahip Android uygulamalarıdır.

Launcher Widget Bileşenleri Launcher ve GUI Bileşenleri Activity Bileşenleri

GUI Kontrol Bileşenleri SyncML Launcher ve GUI Bileşenleri İletişim ve Sistem Takip Bileşeni Kullanıcı Kişisel Veri Takip Modülleri Kullanıcı Kişisel Veri Modülleri Sapi İstemci İletişim Kütüphanesi Kullanıcı Kişisel Veri Depolama Modülü Konfigurasyon Saklama Modülü

 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.

Uygulama ve Sistem Arayüzleri PIPSU API(Tek Yönlü) PIPSU Olay Değiş tokuşu (User Event Exchange) Android Framework Dalvik PIPSU Uid Tek sistem kullanıcısı PIPSU Verileri Diğer Uygulama Verileri Dosya Sistemi (Linux Çekirdek)

PIPSU Zararlı Uygulama Android Framework Dalvik PIPSU Uid Tek sistem kullanıcısı PIPSU Verileri Diğer Uygulama Verileri Dosya Sistemi Öntanımlı olarak tüm 3. parti uygulamalar aynı Uid’yi alır.

Zararlı uygulama sistemden PIPSU’nun UiD’sini alamaz PIPSU verilerine ulaşması çekirdekçe engellenir Bu durum kurulum esnasında kullanıcının vereceği yetkilerin genişliği ile değişmez.

SyncML Destekli Bulut Servisleri Lokasyon 1 Yüksek Devamlılık (HA) Servis Haberleşmesi PIPSU-L SyncML Destekli Bulut Servisleri Yük Dağıtımı Internet Lokasyon 2 Yüksek Devamlılık (HA) Servis Haberleşmesi LB PIPSU-L

H A Temel Servis Bileşenleri İstek Yönetimi Sapi SyncML IBB PUSH HTTP/S TCP CTP STP UDP L B Üst Düzey Bileşenler DM Veri Kaynak Yönetimi Servlet Container EJB3 İletişim Kütüphaneleri Sunucu Modülleri

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