spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Takip (mi) Ediliyoruz !(?) Yazdır E-posta
Oğuzhan Topgül, TÜBİTAK BİLGEM   
25.04.2011

Son günlerde iPhone sahiplerinin birbirlerine en çok sordukları soru "Takip mi ediliyoruz?" Bu soru Pete Warden ve Alasdair Allen'in geliştirmiş oldukları uygulamanın [1] ardından bilişim dünyasının ve özellikle de Apple iPhone kullanıcılarının gündemine oturdu. Çıkan tartışmanın en önemli sebebi  bu konum bilgisinin yedekleme dosyalarının içerisinde kullanıcının bilgisayarında tutuluyor olması. Normal şartlarda Jailbreak [4] yapılmamış bir iPhone'a yüklenen hiçbir uygulama bu konum bilgisinin tutulduğu veritabanı dosyalarına erişemiyor; ancak bu  veritabanı dosyası yedekleme sırasında kullanıcı bilgisayarına aktarıldığından herhangi bir bilgisayar yazılımı tarafından kolayca erişilebilir ve incelenebilir hale geliyor. Bu yazıda son günlerin en çok konuşulan gündem maddesi iPhone ile konum takibi konusu incelenecek ve gerçeklenmeye çalışılacaktır.

1.png

 

Şekil 1 - iPhone'un Bilgisayara Bağlanması ve Yedekleme İşlemi 

Biraz daha teknik detaya girmek gerekirse, iPhone bilgisayara bağlandığında senkronizasyon işlemine başlar ve bu sırada iPhone'un yedeğini alınıp MAC OS X işletim sistemi üzerinde

 

/Users/<youruser name>/Library/Application Support/MobileSync/Backups/

dizini altında, Windows işletim sisteminde de

C:\Users\<your username>\AppData\Roaming\Apple Computer\MobileSync\Backup

dizini altında bu yedek dosyaları tutulur. Dolayısıyla telefon üzerinde tutulan konum bilgisi, cihaz bilgisayara her takıldığında bilgisayara aktarılmış olunur. Bu Backup dizini içerisinde Manifest.mbdb ve Manifest.mbdx dosyaları bulunur. Bu dosyalar Bakcup klasörü  içerisindeki anlamsız görünen dosyaların gerçek adlarını ve konumlarını tutan index dosyalarıdır.

2.png
Şekil 2 - Bakcup Dizini ve Index Dosyalarını Ayrıştıran Betiğin Çalıştırılması  

Backup dizini altında anlamsız görünen dosya adlarının gerçekte hangi dosyaya işaret ettiğini, Manifest.mbdb ve Manifest.mbdx dosyalarının ayrıştırılması (parse edilmesi) ile görülebilmektedir. Konum bilgisinin tutulduğu veritabanı dosyası consolidated.db dosyasıdır. Manifest.mbdb ve Manifest.mbdx dosyasını ayrıştırabilen ve İnternet üzerinden kolayca bulunabilen bir python kodu ile bu dosyalar ayrıştırıldığında (Şekil 2) çıktı olarak verilen satırlardan

-rw-r--r-- 00000000 00000000 4616192 1303608960 13036089601287161679 (4096c9ec676f2847dc283405900e284a7c815836) RootDomain::Library/Caches/locationd/consolidated.db

satırı önem arzetmektedir. Çünkü bu satır consolidated.db dosyasına işaret eden dosyanın adını vermektedir. Yukarıdaki örnekte bu dosyanın adı 4096c9ec676f2847dc283405900e284a7c815836'dır. Bu bir SQLite veritabanı dosyasıdır ve herhangi bir SQLite veritabanı yönetici yazılımı vasıtasıyla açılıp okunabilir. Bu dosyanın SQLite veritabanı yöneticisi ile açılabilmesi için uzantısının .sqlite olara düzeltilmesi gerekebilmektedir. Veritabanı açılıp incelendiğinde CellLocation ve WifiLocation tabloları dikkat çekmektedir. Bu tabloların Latitude ve Longitude kolonları bize konum bilgisinin enlem ve boylam cinsinden değerini verirken TimeStamp kolonu ise bize 1 Ocak 2001 yılından kaydın düşüldüğü tarihe kadar olan zamanı saniye cinsinden vermektedir.(Şekil 3)

4.png
Şekil 3 - consolidated.db Dosyasının SQLite Manager Yazılımı ile İncelenmesi 
 
5.5.jpg
Şekil 4 -  Harita Üzerinde Konum Bilgisinin Gösterilmesi 

Bu veritabanı dosyasından otomatize olarak enlem boylam ve zaman değerlerini çekip bu enlem ve boylama ait adresleri ekrana basan bir python betiği yazıldığında Şekil 6'da gösterildiği gibi kullanıcın bulunduğu lokasyonların zamana göre listesini çıkarmak mümkün olabilmektedir.

6.5.jpg
Şekil 5 -   Kullanıcı Konum Bilgisinin Ototmatize Olarak Listeleyen Python Betiği
  
screenshot2.png
 Şekil 6 -  Kullanıcı Konum Bilgisinin Ototmatize Olarak Listelenmesi

Kısaca özetleyecek olursak, Apple kullanıcıların Wifi bağlantısı gerçekleştirdikleri veya hücresel ağ kullandıkları zamanlarda belirli aralıklarla konum bilgisini kaydetmekte ve bunu kullanıcı bilgisayarlarına yedekleme sırasında aktarmaktadır. Apple'ın merkezinin bulunduğu California eyalet kurallarına göre herhangi bir şekilde kullanıcı konum bilgisinin cihaz içerisinde saklanması yasaktır ancak  Apple'ın bu konum bilgisinin hangi amaçla ve hangi kurallara dayanarak tutulduğu konusunda herhangi bir açıklama henüz yapılmış değildir. Bu konuda dile getirilen birkaç farklı görüş vardır. Bunlardan birincisi ve pek de rağbet görmeyen düşünce bu konum bilgisinin bir hata sonucu tutuluyor olduğu ve bu hatanın bir sonraki iOS sürümünde düzeltileceği yönünde. İkinci ve en önemli görüş de Apple'ın böyle bir bilgiyi kullanıcı sözleşmesinde yer alan "Tüketici davranışlarını anlayıp ürünler ve hizmetlerimizi geliştirme ve reklam amaçlı olarak Apple ürünlerinin nerede ve ne zaman kullanıldığı, kullanan kişinin mesleği, dili ve posta kodu gibi bilgileri toplayabiliriz" [3] maddesine dayanarak tutulduğu yönünde. Daha önce de söylediğimiz gibi Apple'dan henüz bu konu hakkında herhangi bir açıklama yapılmış değil. Dolayısıyla kullanıcı gizliliğini tehdit eden bu durum karşısında Apple'ın nasıl bir tepki vereceği merak konusu.

Apple'dan konuyla ilgili 27 Nisan 2011 tarihli bir açıklama yapılmıştır [6]. Açıklamada özetle:

  • Bu Wifi ve Hücresel Ağ konum bilgisinin kullanıcının konum servislerini (Location Services)  kullanırken daha hızlı hizmet alabilmesi için tutulduğu,

  • Her bir kullanıcıdan alınan bu verinin anonim (anonymous) olarak  Apple'a gönderildiği ve Apple'ın bunu anonim konum bilgilerini Wifi ve Hücresel Bağlantı Kulelerine ait veritabanı oluşturmakta kullandığı,

  • Cihaz içerisinde bu veritabanının bir altkümesinin (cache) tutulduğu böylece konum kullanan hizmetlerin konum bilgisini daha hızlı belirlenmesinin sağlandığı,

  • Kullanıcılardan anonim olarak alınan bu konum bilgilerinin asla kullanıcıların konumlarını belirlemek için kullanılmadığı,

  • Konum bilgilerinin uzun süreli geçmişe yönelik olarak tutuluyor olmasının bir hata sonucu ortaya çıktığı ve bir sonraki iOS güncellemesi ile bu sürenin bir haftadan uzun olmayacak şekilde ayarlanacağı,

  • Konum servisleri kapalı olan kullanıcıların konum bilgilerinin tutuluyor olmasının da bir hata sonucu ortaya çıktığı ve bunun bir sonraki iOS güncellemesinde konum servisi kullanmayan kullanıcıların konum bilgisi tutulmayacak şekilde düzeltileceği,

  • Cihaz içerisinde tutulun alt veritabanının (cache) yeni iOS güncellemesi ile birlikte şifrelenmiş (encrypted) bir şekilde tutulacağı

maddelerine yer verilmiştir. 

Yedeklemenin yapıldığı sistem: Windows 7 Enterprise Edition

İncelemenin yapıldığı sistem: Fedora 14 Desktop Edition

SQLite Veritabanı Yöneticisi: Firefox SQLite Manager 0.7.1 [5] 

Bu çalışmadaki desteklerinden ötürü değerli dostlarım Gökhan Alkan ve Abdulkadir Poşul'a teşekkürler...

Not: Apple, 4 Mayıs 2011 itibariyle yukarıda belirtilen hususları içeren iOS 4.3.3 güncellemesini yayınlamıştır.

REFERANSLAR 

[1] http://petewarden.github.com/iPhoneTracker/

[2] https://alexlevinson.wordpress.com/2011/04/21/3-major-issues-with-the-latest-iphone-tracking-discovery/

[3] http://www.bbc.co.uk/turkce/haberler/2011/04/110419_iphone_track.shtml

[4] http://en.wikipedia.org/wiki/IOS_jailbreaking

[5] https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

[6] http://www.apple.com/pr/library/2011/04/27location_qa.html


Favori olarak ekle (0) | Görüntüleme sayısı: 3172

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2012 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB