bilgiz.org

Android Mobil Platformunda Kullanıcı Kişisel Veri Güvenliği Zana İlhan1, Yrd. Doç. Dr. Bahri Atay Özgövde2

  • Anahtar Sözcükler
  • 2. Mobil İşletimSistemiOlarak Android Mimarisi
  • 2.1Mimarisel açıdan Android Uygulamaları
  • İçsel Android Uygulamaları
  • İçsel Olmayan Android Uygulamaları
  • 2.2Android Mimarisinin İşleyişi
  • 2.3. Launcher Tipi Uygulamalar
  • 2.4. Uygulama DüzeyiAndroidGüvenlik Modeli
  • 2.4.1. Yetki Etiketi Modeli
  • 2.4.2. Android Sandboxing Modeli
  • 2.4.3. Uygulamaİşaretlenmesi (Application signing)
  • 2.5. Android Platformu ve Güvenlik Açıkları
  • 3. Android Uygulama Güvenliğinde Var Olan Yaklaşımlar
  • 3.1 Yetki etiketleri temelli çalışmalar
  • 3.2 çalışma zamanı uygulama takibi temelli çalışmalar
  • 3.3 Ağ tabanlı yapılan çalışmalar
  • 4. Önerilen Çözüm PIPSU
  • 4.3 PIPSU paltformunda PIPSU Kullanıcı Hesap rolü
  • 4.4 PIPSU güvenlik servisi
  • Initiation Katmanı
  • 4.5 PIPSU Çalışmasının anlatıldığı bölüm



  • Tarih02.07.2017
    Büyüklüğü82.68 Kb.

    Indir 82.68 Kb.


    Android Mobil Platformunda Kullanıcı Kişisel Veri Güvenliği

    Zana İlhan1, Yrd. Doç. Dr. Bahri Atay Özgövde2

    1 Okan Üniversitesi, Bilgisayar Mühendisliği Bölümü, İstanbul

    2Galatasaray Üniversitesi, Bilgisayar Mühendisliği Bölümü, İstanbul

    zanailhan@gmail.com, aozgovde@gsu.edu.tr

    Özet:Günümüzde mobil aygıtlar eğlence, iş ve okul gibi hayatımızın bir çok alanında aktif olarak kullanılmaya başlanmıştır. Artık insanlar bu aygıtlar üzerinden oyunlar oynayabiliyor, alışveriş yapabiliyor, sosyal ortamlarla bilgi paylaşabiliyor ve hatta bankacılık işlemlerini bu aygıtlar üzerinden yapabiliyor. Kişisel bilgisayarların yerini almaya başlıyan bu aygıtlar gittikçe artan miktarda ve önemde kullanıcı kişisel bilgilerini bulundurmaktadır.Fakat yazılım ve donanım mimarisi henüz tam olarak standartlaşamayan bu platformlar (İşletim sistemleri ve buradaki internet tabanlı servisler) güvenlik gereksinimleri yönüyle yeterince olgunlaşamamış ve bunun sonucu olarak kullanıcı kişisel bilgilerinin korunması için gerekli altyapıyı,günümüz mobil aygıtları sağlayamamaktadırlar. Bu çalışmada mobil platformlarda karşılaşılan güvenlik problemlerinin sebepleri ve boyutu ortaya konulmaya çalışılmış olup, gittikçe artan pazar payı ile Android işletim sistemi mimarisi, kullanıcı kişisel verileri açısından güvenlik açıklarının sebepleri ve uygulama türü bağımsız bütün uygulamar için geçerli olabilecek bir çözüm önerisi olarak PIPSU(Personel Security For User Private Data) ortaya konulmaya çalışılmıştır. Mobil güvenlik terimi, günümüz yeni teknolojilerinin bir sonucu olan mobil platfromlar için kapsamı çok geniş olan bir terimdir. Bu açıdan bu çalışma; sadece mobil platformlarda kullanıcıların kişisel bilgi güvenliğini incelemeyi ve bu soruna dair bir çözüm olarak PIPSU'yu anlatmaktadır. PIPSU ile mobil platform kullanıcılarının kişisel bilgileri, kullanıcı kontrolü olmaksızın kullanılmasının önüne geçilmesi hedeflenmiştir. PIPSU'nun en önemli artılarından biri, getirdiği yüksek güvenlik seviyesinin kullanıcıların mobil aygıtları ile gündelik kullanım alışkanlıklarını ve etkileşim kiplerini değiştirmek zorunda kalmadan etkili kılmasıdır. Bu durum getirilen önerinin önemli bir güvenlik çözümü olmasının dışında pratik ve ticari uygulanabilirliği açısından önem arzetmektedir.

    Anahtar Sözcükler: Android Mobil İşletim Sistemi, Kullanıcı Kişisel Bilgileri, Mobil Veri Güvenliği, Android Launcher, Android Mobil Uygulaması.
    Abstract: Today mobile devices are used as a very active in the field , such as entertainment, business and school life. Now people can play games on these devices, you can shop, and even social media to share information via these devices can do banking transactions. Personal computers, which began to be replacedwith these devices.These mobile devices contain an increasing amount of personal information the user. However, the software and hardware architecture aspect is not developed enough.As a result the necessary infrastructure for the protection of personal information of users of today's mobile devices are not enough yet. In this study the security problems encountered in mobile platforms and the size of the reasons put forward have been working with a growing market share of Android operating system architecture, the user causes of security vulnerabilities in terms of personal data and applications may be applicable to all regardless of the type of application as a proposal for a solution PIPSU (Personnel Security For Private User Data) tried to put out.Mobile security term, which is a result of today's new technologies for mobile platforms, is a term with a very wide scope. In this respect, this study was to examine not only the security of personal information of users of mobile platforms as a solution of this problem and describes PIPSU solution. PIPSU mobile platform users with personal information, without the user control are aimed to be prevented. One of the most important advantages of PIPSU, the high-security level of users with mobile devices and the interaction modes without having to change their driving habits in everyday's making the effect. This proposal is brought, except that it is an important security solution in terms of practical importance and commercial viability.
    1. Giriş

    Artık mobil aygıtlar hayatımızın bir çok ihtiyacını karşılayanve zamanımızı geçirdiğimiz birincil aygıtlar haline gelmişlerdir. Android işletim sisteminin, çok kısa zamanda pazarda ulaştığı nokta sonucu, yakın gelecekte daha büyük pazar payınasahip olacağı öngörülmektedir. Ekim2011 itibariyle uygulama marketlerinin başta gelenlerinden Apple App Storeda [1] 472,937 civarinda uygulama bulunmaktadır, benzer şekilde Android Market [2] ise 600.000 den fazla uygulama ve pazarın önemli oyuncularından BlackBerry ise App World [3] ile 10.000 uygulamaya sahiptir. Mobil platform kullanıcılarının uygulama indirme konusundaki dikkatsizlikleri,uygulamalarınsistem kaynaklarına erişim mekanizmaları, bu uygulamaların kullanıcı arayüzlerinin yer yer oldukça kullanışsız oluşu,mobil uygulamaların kurulumu sırasında sistem kaynaklarının kullanımına dair edindikleri hakların çalışma zamanında kullanıcının kontrolünde olmayışı, gibi kullanıcı ve mobil platform tabanlı sorunlar beraberinde istenmeyen sorunları getirmektedir. Bunların sonucu mobil işletim sistemlerindeki güvenlik önlemlerinin önemini artmaya başlamıştır.

    Google firması tarafından başlatılan ve yönetilen açık kaynaklı bir işletim sistemi olması, Android platformuna hız ve zaman konusunda büyük kazanımlar sağlamıştır. Android, sahip olduğu kısa geliştirilme geçmişiyle birlikte bir çok fonksiyona sahip oldu, Fakat bu fonksiyonların geliştirilmesinde görev alan yazılım geliştiricilerin farklı şirketlerden oluşu, farklı yazılım geliştirme disiplinlerine sahip oluşları, yaptıkları çalışmaları gönüllülük çerçevesinde yada çalıştıkları projelere yönelik olarak geliştirmeler oluşu beraberinde bir çok problemi de getirdi. Androidmobil platfromunda standardizasyon eksikliği, aynı amaca hizmet eden modüllerin artaması, platfrom mimarisinin ve API’nin Android versiyonları arasında büyük oranda farklılaşması, hatta farklı firmaların aynı versiyon numarası ile çıkardıkları Android dağıtımlarının bir birinden çok farklı olması ve bu firmalara bağımlı olması bu problemler arasında sayılabilir. Açık kaynaklı bir proje olarak başlıyan bu mobil platformun gün geçtikçe Google, Samsung, HTC vb. firmaların açık kaynak olamayan modüllerine bağımlı geliştirilmesi Android platfromu standartlaşamamasına yol açmıştır. Bu durum açık kaynak kodlu projelerin kalitesinin bir boyutu olan gönüllü yazılım geliştirmecilerin desteğinin önünü kapayan en büyük engellerdendir.
    2. Mobil İşletimSistemiOlarak Android Mimarisi

    Bu bölümde Android’in genel sistem mimarisi ve sahip olduğu güvenlik altyapısı incelenmiştir..


    Şekil 1Android Mimarisi


    Açık kaynak kodlu mobil bir platform olan Android bir linux çekirdeği, bir Android ara katmanı ve birde uygulama katmanınından (Application Framework)[4] oluşmaktadır (Şekil 2)[15]. Temelde bir linux çekirdeği üzerinde katmalı olarak mimarilendirilmiş, temel ortam arabirimlerini yönetmeye ve bunlara erişmeye yönelik tasarlanmış alt seviye kütüphaneler den oluşan bir katman ve bu katmanla aynı seviyede bulunan temel amacı; sistem API’ını oluşturmak ve Java tabanlı android uygulamalarını çalıştırmak ve yaşam döngülerini düzenlemek(Life-cycle) Şekil 3,[16].

    Şekil 4 Katmansal Android Mimarisi



    2.1Mimarisel açıdan Android Uygulamaları
    Temelde iki tür Android uygulaması bulunmaktadır. Bu iki uygulama türü, Android’in uygulama katmanına erişim yetkileri ve uygulama katmanını kullanımları açısından farklılaşmaktadır.


    • İçsel (Built-in) Uygulamalar

    • İçsel Olmayan (Non-Built-in) Uygulamalar

    Android uygulama katmanı içerisinde, Android işletim sisteminde kullanılmak üzere iki tür sistem API’si bulunur.

    Birincil tür Android işletim sisteminde çalışma zamanında kullanılabilinen ve Android işletim sistmenide bulunan her türlü Android uygulmasının erişebildiği bir API türüdür.

    İkincil API türü ise, Android işletim sisteminin derleme zamanında Android işletim sistemi ile derlenen ve Android uygulama katmanında sadece içsel türündeki(işletim sistemi ile derlenen ve çalışma zamanında kaldırılamayan) uygulamaların kullanımına ve erişimine izin verilmiş sistem API’ı dır.


    İçsel Android Uygulamaları: Bu tip uygulamalar, Android tarafından yüksek güvenlik önlemi ve optimum sistem kaynağı tüketimi gerektiren işlevlerin yerine getirilmesini hedefleyen uygulamalar olarak tasarlanırlar. içsel uygulamalar Android işletim sisteminde farklı kullanıcı gruplarına atanarak, sistemde bu uygulamaların eriştiği sistem kaynakları güvenliği sağlanmış olur. içsel uygulamaların içerisinde bulunduğu kullanıcı grupları sayısı arttırılarak içsel android uygulamaları bir birlerinden izole edilirler. Android içsel uygulamaları çalışma zamanında kaldırılamazlar veya güncellenemezler. Bu uygulamaları değiştirmek yada kaldırmak için Android işletim sistemi ile aynı işarete(Signature) sahip bir güncelleme ile istenilen işlemi yapmak mümkündür.
    İçsel Olmayan Android Uygulamaları: Bu uygulamalar ise Android çalışma zamanında kullanıcılar tarafından yüklenebilen ve istenildiği taktirde kaldırılabilen standart Android uygulamalarıdır. Android’in uygulama geliştiricilere sağladığı SDK(Software Development Kit) ve IDE(Integrated Development Environment) plugin’leri aracılığı ile geliştirilebilinen bu uygulamalar Android işletim sistemine özel bir paketleme yapısı olan APK(Android Package) olarak pakatlenerek Android işletim sistemine kurulabilir hale getirilirler.
    2.2Android Mimarisinin İşleyişi
    Android Çalışma Zamanı(Runtime)katmanı,bu katmanların üzerinde ise işlevsel kütüphaneler topluluğu(Framework) ve bunlar aracılığı ile sağlanan içsel yada içsel olmayan sistem uygulamalarına API düzeyinde servis sağlayan katman vardır. Mimarinin en üst katmanı ise uygulamalar ve launcherlardan oluşmaktadır. Temelde Android uygulamaları Java programlama dili ile Android tarafından sağlanan SDK ile geliştirilip byte kod olarak derlenirler ve android üzerinde bulunan Dalvik sanal makinasında yorumlanırlar[5]. Uygulamaların sistem ve diğer uygulamalar ile iletişimi (IPC) middleware’de bulunan “binder IPC” aracılığı ile sağlanır. Android uygulamaları temelde bileşenlerden oluşur ve bu bileşenler android mimarisinde bulunan intent öğeleri aracılığı ile haberleşebilirler.

    Android Intent Bileşenleri : Intent’ler Android işletim sisteminde, Android uygulamaları arası veya bir Android uygulaması ile Android işletim sistemi arasındaki asenkron mesajlaşmayı sağlayan mekanizmalardır..


    Android uygulama mimarisinde temelde dört çeşit bileşen vardır:

    Şekil 5Android UygulamaYapıtaşları


    Bunlar sırasıyla;

    Activity: Uygulamanın kullanıcı ara birimi olup dokunmatik ekran veya tuş takımı aracılığı ile bu arayüzlere kullanıcı verisi yazılıp okunabilinir. Activitylerin Android mimarisindeki yapıları gereği çalışma zamanı içersisinde sadece bir activity çalışabilir/görünebilir. Bu sırada daha önce geri planda çalıştırılmış activityler pasif duruma taşınır.
    Service: Servisler uygulamanın arka planda yapması gereken işlerini Activity bağımsız yapmalarını sağlarlar. Servisler ayrıca RPC(Remote Procedure Call) arayüzleri sayesinde takip edilinebilinir ve servislerin ürettikleri veya servislere beslenmesi gereken event ve parametereler yaratılıp kullanılabilinir.
    Broadcast Receiver: Bu tipteki bileşenler ise sistemce üretilen asenkron event (İnternet bağlantı durumunun değişmesi, SMS veya Telefon aramalarının takibi vb.)takibi için kullanılırlar.
    Content Providers: Bu tip bileşenler ise Android sistemi veya bir uygulama tarafından bütün sistemce erişilebilinen kaynaklara erişim sağlayan arabirimlerdir. Örneğin, Telefon rehberi, sistem üzerinde bulunan resim, müzik vb. dataların uygulamalarca erişimini sağlayan arabirimlerdir.SQL benzeri erişim arayüzüne sahiptirler.

    Şekil 6Örnek Android uygulamaları ve bileşenleri



    2.3. Launcher Tipi Uygulamalar
    Launcherlar, Android’in temel mimarilerisinde birer uygulama olup, yine Android uygulamalarının temel iki türü olan içsel ve içsel olmayan launcherlar olarak geliştirilebilirler. Launcherları Android uygulamalarından ayıran temel özellikleri Android işletim sistemince sağlanan özel yetenekleridir. Android işletim sistemi çalışabildiği donanımlarda bulunmasını zorunlu kıldığı;donanım temelli tuş takımları ve bunların sistemce üretilen ve hiç bir uygulama tarafından üretilmesine engel olunamayan eventlerini temelde launcherlara yönlendirmektedir.
    2.4. Uygulama DüzeyiAndroidGüvenlik Modeli
    Bir Android uygulaması sahip olduğu verileri, Android güvenlik modelleri çerçevesinde başka uygulamalar ile paylaşabilir, başka uygulamaların sahip olduğu verilere ,aralarındaki güvelik model hakları dahilinde erişebilir. Temelde Android platformu uygulama düzeyinde üç tür güvenlik modeline sahiptir,

    i) Yetki Modeli: Yükleme zamanı yetki belirlenimi

    ii) Sandbox Modeli: Uygulama kaynaklarının izole edilmesi

    iii) Uygulama İşaretlemesi: Uygulamalar arası haberleşme ve veri paylaşımı güvenliği


    2.4.1. Yetki Etiketi Modeli:

    Temelde bir yetki etiketi sistem veya uygulamalarca tanımlanabilinen ve sistemde tekil(unique) olması gereken bir karakter katarıdır.Android bir çok yetki etiketini sistem düzeyinde tanımlamıştır. OS-centric bir perspektif ile uygulamaların çalışma zamanında erişecekleri kaynaklar ve yapabilirlikleri kurulum zamanında bilinebilmektedir. Bir uygulamaya dair yetki etiketleri ve uygulamanın sistemce bilinmesi gereken bütün ön tanımlı gereksinimleri AndroidManifest.xml olarak uygulama ile birlikte derlenen ve uygulamanın kurulum aşamasında sisteme tanıtılan arayüzü ile tanımlanmış olunur. Yetki etiketleri sistemce öntanımlı yetki guruplarından birine dahil olmak zorundadırlar. Bunlar temelde


    “normal”

    “dangerous”

    “signature”

    “signature or system”


    olarak sınıflandırılmıştırlar.

    Şekil 7Android Güvenlik Hiyerarşisi


    2.4.2. Android Sandboxing Modeli
    Bu model de Android uygulamalarının yüklenme zamanında belirledikleri ve çalışma hayatlarına başladıkları güvenlik konfigurasyonları ve bunun sonucunda erişebilecekleri sistem kaynaklarının değişmeyeceğini garanti alatına alan güvenlik modelidir. Yani bir Android uygulaması kurulma zamanında AndroidManifest.xml adındaki konfigurasyon dosyasında belirttiği ve sahip olduğu erişim ve kullanım haklarını değiştiremez. Böylece çalışma zamanında başka bir Android uygulamasına verilmiş yada ayrılmış sistem kaynaklarına ulaşamaz.
    2.4.3. Uygulamaİşaretlenmesi (Application signing):
    Bu güvenlik modelinde ise çeşitli matematiksel algoritmalar sonucu üretilen bir veya birden fazla güvenlik sertifikası aracılığı ile ilgili uygulama işaretlenir.Sahip olduğu güvenlik algoritması ve bu algoritmaya beslenen parametrik giriş değerleri sadece uygulama geliştirici tarafından bilinen ve barındırılan bir sertifika aracılığı ile uygulama derleme aşamasında işaretlenir. Android ara katmanında bulunan Android Packet Manager olarak bilinen ve sisteme kurulan ve sistemden kaldırılan uygulamalrı Android yöneten paket yönetim modülü, işaretlenmiş uygulamaları kurulum zamanında Android sistemice belirler ve bunların öz kaynakları veya bunların kullandıkları sistemkaynaklarının erişimini güvence altına alır, dolayısıyla işaretlenmiş bir uygulamanın öz kaynaklarına erişebilmenin veya öz kaynaklarını kullanabilmenin tek yolu yine aynı sertifika ile işaretlenmiş başka bir uygulama üzerimden erişmektir.
    2.5. Android Platformu ve Güvenlik Açıkları :
    Yoğunluklu olarak ticari çevreler tarafından geliştirilmesi süren Android platformunun sahip oluduğu arakatman(Middleware), güvenlik açısından bir çok açığa sahip olup ve bu açıklar aracılığı ile Soundcomber gibi trojan veya virüs saldırılarının Android arakatmanı tarafından fark edilemediği bir çok çalışma ile ortaya konulmuştur. Android kullanıcısı, sistem kaynaklarını kullanmak isteyen bir uygulamaya bir kez izin verdikten sonra, ilgili sistem kaynakları kullanılan uygulama tarafından dilenirse kötü amaçla kullanılabilinir, hatta kullanıcının bilgisi olmaksızın sistemde bulunan diğer uygulamalar veya internet bağlantıları üzerinden kullanıcı kişisel bilgileri ve benzer bilgiler taşınabilme hakkına sahip olmuş olur. Ayrıca birkez sistem öz kaynaklarına erişim hakkı tanınan uygulama daha sonra uygulama güncellenmesi, SMS gibi birçok yötem ile ilgili platform’a trojan veya virüs gibi kötü amaçlı yazılımları bulaştırabilir.
    3. Android Uygulama Güvenliğinde Var Olan Yaklaşımlar

    Mobil aygıtlar ve özellikle Android güvenliği ile ilgili birçok çalışma bulunmaktadır. Bu çalışmaların bir kısmı uygulama altı işletim sistemi seviyesi güvenliğine odaklanmakatadır [6, 7]. Ayrıca Android işletim sistemi dosya güvenliği, telsiz haberleşme şifrelemesi gibi konularda da çalışmalar bulunmaktadır [7]. Bu çalışmanın esas konusu olan uygulama seviyesi güvenliği ile ilgili geliştirilen çözümleri şu ana başlıklarda toplamak mümkündür:

    Incelediğimiz çalışmları önerdikleri güvenlik çözümlerini açısından 3 grupta toplamaya çalıştık;
    3.1 Yetki etiketleri temelli çalışmalar

    Kirin [8,9,10] mantıksal bir uygulama olan bu çalışma,Android mobil platfromunun global güvenlik yetki etkiteleri ve bunların platfrom üzerinde neden olabilecekleri güvenlik açıklarını baz alarak, Android platfromuna kurulacak uygulamaların yetki etiketleri üzerinden uygulamanın kuruluma zamanında kullanıcıları bilgilendirmeye yönelik önerilen bir çözümdür. Kirin yaptığı analiz sonucu Android platfromuna kurulacak uygulamaları tehlikeli veya güvenli gibi sınıflara ayarmaktadır.


    Semantically Rich Application-Centric Security in Android(Saint) yine Android uygulamalarının kurulma zamanı bilgi ve yetki etiketlerinin tanımlandığı AndroidManifest.xml üzerinden kurulma zamanına bağlı olarak uygulamalrın yapabilcekleri üzerinden uyarılarda bulunan araç çalışma zamanında çözüm olaraka yetersiz kalmaktadır.
    3.2 çalışma zamanı uygulama takibi temelli çalışmalar
    Language based security on Android[11] ;Android uygulamalarında uçtan uca bir güvenlik çözümü sunabilmek için Android mobil platfromu’na özel veri tiplerinden oluşan bir programlama dili önerisinde bulunmaktadır. Bu öneri modeli ile Android uygulamalarının temelde göz önünde bulundurmaları gereken güvenlik etmelerini implementasyon düzeyinde temel birimler olarak implemente etmeyi hedeflemektedir. Böylece, Android uygulamaları temelde dikkat etmeleri gereken güvenlik önlemlerini bu modelin önerdiği dil ve bu dilin sunduğu kütüphaneler aracılığı ile disipline etmeyi hedeflemektedir.
    SCanDroid[12] ise Language based security on Android’e benzer bir modeli veri tipleri tasarlamak yerine veri akışlarını izleyerek sağlamayı hedeflemektedir. SCanDroid veri tiplerinin standardizasyon açısından önemli olmasının yanında veri akışlarını izeleyerek ve bunlara bağımlı çalışma zamanında geçerli olabilecek bir güvenlik önerisinde bulunmanın implementasyon açısından daha yararlı olacağını savunmaktadır.Bu model önerdiği veri akış izleme güvenlik çözümünün türden bağımsız yani hem platform tarafında ön tanımlı veri tiplerinin akışlarının takibinde, hemde kullanıcı tanımlı veri tiplerinin takibinde aktif olarak kullanılabileceğini savunmaktadır.
    3.3 Ağ tabanlı yapılan çalışmalar:

    Virtualized In-Cloud Security Services for Mobile Devices [13], Mobil aygıtlar için antivirüs fonksiyonalitesini taşımayı hedefleyen model, alışılmış mobil antivirüs çözümlerinin aksine, çözümü bir mobil işletim sistemi uygulamısı olarak geliştirmek yerine, ağ tabanlı kötü amaçlı yazılım saptayıcı bir ağ yazılımları dizisi olarak tasarmıştır. Çözüm mobil aygıtlarda kötü amaçlı yazılımların saptanması için harcanan bellek, güç ve işlemci tüketiminin, Virtualized In-Cloud Security Services for Mobile Devices’ın sağladığı ağ tabanlı kötü amaçlı yazılım belirleme servisleri aracılığı ile minimuma ineceğini ve mobil cihazlardaki ortam kısıtları sonucu yaşanan sorunların ağ tabanlı çözümleri ile ortadan kaldırılacağını savunmaktadır. İlgili model, her nekadar mobil aygıtlardaki donanım veya yazılım bağımlı kısıtlardan kaynaklı harcanan bellek güç ve işlemci tüketimini minimuma indireceğini savunsa de, mobil aygıtların ağ’a bağılı olmadıkları ortamlar, internet gibi açık ortamlar veya şifrelenmiş protokol kullanımları gibi durumlarda başarısız olamaktadır


    4. Önerilen Çözüm PIPSU:
    Bu bölümde PIPSU(Personnel Security For Private User Data) çözümü hem teknik hemde kullanım açısından ele alınacaktır.
    4.1 PIPSU Kullanım Modeli ve Ana Bileşenleri:
    Android platformunun herhangi bir Android uygulamasına sunduğu aynı olanaklar(Android SDK + Native Java API) kullanılarak geliştirilen ve mevcut Android tabanlı uygulamalardan temel farkı kullanıcı kişisel bilgilerine yönelik güvenlik sağlamayı hedefliyen ve bu güvenliği iki ana katmanda sağlayan bir çözüm olmasıdır.

    Bu katmanlardan ilki kullanım veya sunum katmanı olup; PIPSU çözümü alışılmış Android grafik uygulamalarının dışında, bir launcher uygulaması olarak gerçeklendiğinden ve kullanıcıya uygulama kısayolu ile erişilebilen bir uygulama olarak değil de bir launcher arayüzü ile kullanıcının herzaman ulaşabildiği ve amaca uygun kullanabildiği bir arayüzle sunulmuştur. PIPSU, temelde içsel olmayan bir android uygulaması olarak tasarlanan, kullanıcı ara birimi olarak bir Android Launcher ve bu Launcher’a gerekli servisleri veren bir uygulama katmanından (Application Framework) oluşmaktadır.Bu katmanlardan ikincisi ise PIPSU’nun Android sandbox modelini geliştirerek sağladığı güvenli depolama katmanıdır. PIPSU, aslında kendi güvenlik katmanında sunduğu işlevselliği Linux çekirdeğininsağladığı application sandbox modelinden yararlanarak gerçekleştirmektedir.


    4.2 Temel PIPSU Kullanım Senaryosu:
    Temelde bir Android uygulaması olan PIPSU, Android uygulama paketi (APK) olarak Android tabanlı cihazlara iki şekilde kurulabilir.

    • Bir kişisel bilgisayar aracılığıyla PIPSU Android uygulamasının ilgili Android cihazın sdcard belleğine erişilip kurulması.

    • USB ara birimi aracılığı ile bağlanılmış bir Android tabanlı cihazda hata ayıklama (debug) fonksiyonunun açılmasından sonra PIPSU uygulamasının ADB(Android Debug Bridge) komutları aracılığı ile kurulması.

    PIPSU uygulaması kurulum esnasında sistem kaynaklarına erişim hakklarının cihaz kullanıcısı tarafından verilmesini talep eder. Bu kaynaklar




    • İnternet kullanımı,

    • Sdcard erişimi,

    • Contacts verilerine erişim,

    • Sim Card erişimi

    İlgili kullanıcı onayından sonra PIPSU uygulaması ilk olarak cihazda sim card olup olmadığını eğer var ise buradaki Contacts verilerini yedeklemek ister. Temelde bu işlem bir veri import işlemine eşdeğerdir. Android Launcher uygulaması olarak geliştirilen PIPSU, cihaz kullanıcısının cihaz üzerindeki home butonuna basması durumunda, Android işletim sistemi tarafından varsayılan launcher(Android işletim sisteminde içsel olarak bulunan Launcher) ile PIPSU arasında bir seçim yapılması istenecektir. Yani çalışma zamanıda Android tabanlı cihazın sahip olduğu home butonunun ürettiği eventi yakalayabilme yeteneğine sahip bütün launcher tabanlı uygulamalar, bu eventin her üretilmesinde Android işletim sistemice sıralanacak olup kullanıcı tarafından kullanılmak istenilen uygulamanın seçilmesi gerekecektir. PIPSU launcher tabanlı Android uygulamasının kullanıcı tarafından bir kez default launcher olarak tanımlanması bu belirsizliği ortadan kaldıracaktır. PIPSU default laucher olarak tanımlandıktan sonra artık Android tabanlı cihazın ürettiği home evenleri PIPSU tarafından yakalanabilecek ve PIPSU aktif uygulama moduna geçebilecektir.


    4.3 PIPSU paltformunda PIPSU Kullanıcı Hesap rolü

    PIPSU uygulaması kurulum sonrası kullanıma başlanabilmesi için PIPSU uygulaması ilk açıldığı anda hesap tanımını yapılması gerekilmektedir.PIPSU hesap tanımlanması ,kullanıcının kendsinin belirleyeceği bir kullanıcı adı ve şifreden oluşmakta olup, bu hesap bilgileri sadece PIPSU tarfından erişilebilen bir alanda güvenli şekilde saklanmaktadır. Kullanıcının PIPSU üzerinde tanımladığı bu hesap PIPSU üzerinde aşağıda listesi verilen PIPSU fonksiyonlarının kullanımı için gereklidir.



    • Yeni kontak listesi import’u

    • Mevcut kontak listesi export’u

    • Mevcut bir kontact’ın silinmesi

    • Yeni bir kontact eklenmesi

    PIPSU üzerinde tanımlı kullanıcı hesaplarının birleşiminden elde ettiği bir kimlik bilgisi ile verdiği servisleri yönetir. İlgili kimlik bilgisi PIPSU düzeyinde tekil olup, PIPSU kullanıcı hesabıMobil cihazın IMEI kimliğiMobil cihaz üzerindeki işletim sistem bilgileri(Android işletim sistemi API si ile edinilen fingerprint)

    parametrelerinin birleşiminden oluşmaktadır.

    4.4 PIPSU güvenlik servisi

    PIPSU platformunun temel servisi olan güvenlik servisi, Android mobil işletim sistemlerindeki kullanıcı kişisel bilgilerine yönelik geliştirilmektedir. PIPSU güvenlik servisinin ana aktörü PIPSU olup, Android işletim sisteminde katmanı bir yapıya sahiptir.


    Şekil 8 PIPSU Platform Bişen Diagramı

    PIPSU platform bileşenlerini, PIPSU uygulamasının çalışma hayatına başlamasın sırasındaki kullanımları gözönüne alınarak sıralamak ve görevlerine göre açıklama gerekirse.
    Initiation Katmanı:

    Bu katmanın ana amacı PIPSU uygulamasının çalışmasına başlamadan önce yapılması gereken düzenlemek ve başlatmak.



    Launcher Katmanı:

    Bu katman PIPSU grafik arabirimi için gerekli modüllerden oluşur. Buradaki modüller MVC (Model View Control) yaklaşımı baz alınarak bir ilişkisel yapıya sahiptirler. Bu katmanda görsel öğereleri sunacak Activityler ve bu öğelere sevis sunacak controllerlar bulunmaktadır. Ayrıca Customization modülü Launcher arayüzünün davranışsal modeli belirlemekten görevlidir. SourceManagement modülü güvenli şekilde saklanması planlanan kullanıcı verisinin anlamlılaştırıldığı ve sunulmadan önceki halini sağlıyan modüldür. PIPSUAccountManager ise PIPSU kullanıcısının implemente edildiği ve PIPSU platformunda anlamlılaştırıldığı modüldür.


    Servis Katmanı:

    Bu katman Android platformuna en yakın katman olup, PlatformReceivers modülü aracılığı ile Android platformuna dair pil durumu, Android platformunun kapatılması veya yeniden başlatılma durumuna dair anlık bildiğiler takipedilmektedir. Providers modülü Launcher katmanında bulunan SourceManagement modülüne hizmet sağlayan ve depolama alanında bulunan verilere erişen aracı modüldür. Services modülü ise geri yüzde belli aralıklarla yapılması gereken işlerin organize edildiği modüldür.



    Depolama Katmanı:

    Bu katman ise kullanıcı verilerinin saklanmasını sağlayan katman olup, Localization modülü saklanan verilerin dil bağımlı metadata ile saklanmasını sağlayan modüldür. Configuration modülü ise depolama alanına saklanan dataları anlamlılaştıran (tip, boyut, adet vb.) metadata ile saklanmasını sağlayan modüldür. KeyValueStore ise dataların belli indeksler aracılığı ile saklanması ve daha sonra ilgili indeksler ile erişilmesini sağlayan modüldü


    4.5 PIPSU Çalışmasının anlatıldığı bölüm



    Şekil9 PIPSU Başlangıç Zamanı Davranış Diyagramı

    PIPSU sahip olduğu modülleri aracılığı ile Android mobil platformunu takip edebilme ve böylece fonksiyonalitesini kullanabilme yeteneğine sahiptir.PIPSU uygulamasının çalışma zamanında sergilediği davranış Şekil10 da özetlenmiştir.





    Şekil11 PIPSU Çalışma Zamanı Davranış Diyagramı
    5. Sonuçlar
    Bu çalışmada PIPSU şu sebeplerden ötürü önerilmiş ve şu şekilde gerçeklenmiştir. Bu yapı Android mimarisine uygun şekilde geliştirlmiştir. PIPSU ile kullanıcıların Mobil Platformlarla olan gündelik etkileşim davranışlarını değiştirmeden güvenliklerini arttırmaları hedeflenmiştir. Bu çalışmanın ilerideki hedefi bulut bilişim destekli bir servis bulutu ile kullanıcı bilgilerini her yerden ulaşılabilir ve güvenli tutabilmektir.

    REFERANSLAR




    1. Android Pazar Payı : Ekim 2011 http://blog.nielsen.com/nielsenwire/?p=27418.

    2. Uygulama marketleri uygulama sayıları : Eylül 2011 http://148apps.biz/app-store-metrics/ , https://www.mylookout.com/appgenome/

    3. Black Berry Market

    4. Android Platform Mimarisi : http://elinux.org/File:Android-system-architecture.jpg

    5. The Android Project. What is android?http://developer.android.com/guide/basics/what-is-android.html.(2010-04-03).




    1. A. Shabtai, Y. Fledel, U. Kanonov, Y. Elovici, S. Dolev, and C. Glezer,”Google Android: A comprehensive security assessment," Security Privacy, IEEE, vol. 8, no. 2, pp. 35-44, march-april 2010.

    2. Monitoring Android for Collaborative Anomaly Detection: A First Architectural Draft : http://www.dai-labor.de/.../0808-02_DAI_TechReport_Monitoring_Android.pdf

    3. W. Enck, M. Ongtang, and P. McDaniel. Understanding Android security. IEEE Security & Privacy Magazine, 7(1):10–17, 2009.

    4. W. Enck, M. Ongtang, and P. McDaniel. On lightweight mobile phone application certification. In CCS ’09: Computer and communications security, pages 235–245. ACM, 2009

    5. M. Ongtang, S. McLaughlin,W. Enck, and P. McDaniel. Semantically Rich Application-Centric Security in Android. In ACSAC ’09: Annual Computer Security Applications Conference, 2009

    6. A. Sabelfeld and A. Myers. Language-based information- flow security. IEEE Journal on selected areas in communi-cations, 21(1):5–19, 2003 ieeexplore.ieee.org/iel5/49/25986/01159651.pdf

    7. SCanDroid: Automated Security Certification of Android Applicationswww.cs.umd.edu/~avik/papers/scandroidascaa.pdf

    8. Virtualized In-Cloud Security Services for Mobile Devices: jon.oberheide.org/files/mobivirt08-mobilecloud-pres.pdf

    9. A. Shabtai, Y. Fledel, U. Kanonov, Y. Elovici, S. Dolev, and C. Glezer,”Google Android: A comprehensive security assessment," Security Privacy, IEEE, vol. 8, no. 2, pp. 35-44, march-april 2010.

    10. Android mimarisi bileşen diyagramı http://elinux.org/images/c/c2/Android-system-architecture.jpg

    11. Android uygulaması yaşam dongüsü http://t3.gstatic.com/images?q=tbn:ANd9GcQNoo-9m4X_oAIU0qvFMDxeBoWm3FAMuC3MjrxARcPE1g-6FAMI2A








        Ana sayfa


    Android Mobil Platformunda Kullanıcı Kişisel Veri Güvenliği Zana İlhan1, Yrd. Doç. Dr. Bahri Atay Özgövde2

    Indir 82.68 Kb.