Takip (mi) Ediliyoruz !(?)

  • Konbuyu başlatan Konbuyu başlatan Z1rT
  • Başlangıç tarihi Başlangıç tarihi
9
EXE RANK

Z1rT

Fexe Kullanıcısı
Puanları 0
Çözümler 0
Katılım
26 Kas 2009
Mesajlar
9,190
Tepkime puanı
0
Puanları
0
Yaş
33
Web sitesi
www.netbilgini.net
Z1rT
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
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
[/COLOR]
Kod:
/Users/<youruser name>/Library/Application Support/MobileSync/Backups/
dizini altında, Windows işletim sisteminde de
Kod:
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.
wol_error.gif
This image has been resized. Click this bar to view the full image. The original image is sized 897x524.

2.png
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

Kod:
-rw-r--r-- 00000000 00000000 4616192 1303608960 13036089601287161679 (4096c9ec676f2847dc283405900e284a7c815836) RootDomain::Library/Caches/********d/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 Cell******** ve Wifi******** 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)
wol_error.gif
This image has been resized. Click this bar to view the full image. The original image is sized 1280x766.

4.png
5.5.jpg
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.

wol_error.gif
This image has been resized. Click this bar to view the full image. The original image is sized 960x20.

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

wol_error.gif
This image has been resized. Click this bar to view the full image. The original image is sized 1030x492.

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 (******** 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.
 
Geri
Üst