T.C.
SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
MOBİL ADLİ BİLİŞİM YAZILIMI GELİŞTİRİLEREK ELDE EDİLEN VERİLER İLE KULLANICILAR ARASI İLİŞKİLERİN
DERECELENDİRİLMESİ
Faruk Süleyman BERBER
Danışman Doç. Dr. Ecir Uğur KÜÇÜKSİLLE
DOKTORA TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
ISPARTA - 2018
© 2018 [Faruk Süleyman BERBER]
i
İÇİNDEKİLER
Sayfa İÇİNDEKİLER ........................................................................................................................................... i ÖZET ........................................................................................................................................................... ii ABSTRACT ............................................................................................................................................... iii TEŞEKKÜR .............................................................................................................................................. iv ŞEKİLLER DİZİNİ .................................................................................................................................. v ÇİZELGELER DİZİNİ ............................................................................................................................ vi SİMGELER VE KISALTMALAR DİZİNİ .......................................................................................vii 1. GİRİŞ....................................................................................................................................................... 1 2. KAYNAK ÖZETLERİ ........................................................................................................................ 3 3. MATERYAL VE YÖNTEM ........................................................................................................... 18
3.1. Adli Bilişim ve Adli Bilişim Teknolojileri ........................................................... 18
3.2. Mobil Adli Bilişim ve Mobil Adli Bilişim Teknolojileri .................................... 20
3.3. Mobil Adli Bilişim İnceleme Alanları .................................................................. 24
3.4. NSFDSS ve Fuzzy Vikor Yöntemi ......................................................................... 25
3.5. Mobil Adli Bilişim Yazılımı Geliştirme Sürecinde Root, Adb Yöntemleri ve Programlama Dilleri ............................................................................................. 25
4. ARAŞTIRMA BULGULARI .......................................................................................................... 29 4.1. Delil Elde Etme İşlemleri ....................................................................................... 29
4.1.1. İmaj alma işlemleri ...................................................................................................... 30 4.1.2. İmaj açma işlemleri ..................................................................................................... 31 4.1.3. Sosyal medya verilerinin elde edilmesi ............................................................ 34
4.2. Tanımlama İşlemleri .............................................................................................. 36
4.2.1. Dosya türüne göre inceleme işlemleri ............................................................... 37 4.2.2. Veritabanı inceleme işlemleri ................................................................................ 38
4.3. Değerlendirme İşlemleri ....................................................................................... 40
4.3.1. Şüpheliyle yakın ilişkili olabilecek kişileri tahminleme algoritması... 40 4.3.2. Karar verme kriterlerinin belirlenmesi ............................................................ 42
4.4. Raporlama İşlemleri ............................................................................................... 46
4.4.1. Optimum çözüm yaklaşımı ile karar verilmesi.............................................. 46 5. TARTIŞMA VE SONUÇLAR ........................................................................................................ 49 KAYNAKLAR ......................................................................................................................................... 56 EKLER ...................................................................................................................................................... 62
EK A. Geliştirilen Yazılımın Kodları ............................................................................ 63
EK A1. BackupPanel.java kodları ................................................................................ 63
EK A2. OpenBackup.java kodları ................................................................................. 70
EK A3. Listefwing.php kodları ..................................................................................... 78
EK A4. Listefwers.php kodları ..................................................................................... 81
EK A5. FileOperations.java kodları ............................................................................. 84
EK A6. DbAnalyses.java kodları ................................................................................... 97
EK A7. Main.py kodları ................................................................................................ 104
ÖZGEÇMİŞ ...........................................................................................................................................108
ii
ÖZET
Doktora Tezi
MOBİL ADLİ BİLİŞİM YAZILIMI GELİŞTİRİLEREK ELDE EDİLEN VERİLER İLE
KULLANICILAR ARASI İLİŞKİLERİN DERECELENDİRİLMESİ
Faruk Süleyman BERBER
Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü
Bilgisayar Mühendisliği Anabilim Dalı
Danışman: Doç. Dr. Ecir Uğur KÜÇÜKSİLLE
Adli bilişim genel olarak, her türlü bilişim teknolojisi aygıtının üzerinde kayıtlı ses, video, resim, metin, veritabanı vb tüm verilerin sayısal delil niteliği taşıyacak şekilde elde edilmesi, saklanması, incelenmesi ve mahkemeye sunulacak rapor haline getirilmesi aşamalarından oluşan sürecin tamamıdır şeklinde tanımlanabilir. Adli bilişim sürecinde çok çeşitli yazılımlar ve donanımlar kullanılmaktadır. Teknolojinin hızlı gelişimine paralel olarak dijital delillerin toplandığı cihazlar da hızla çeşitlenmektedir. Bu cihazlardan biri de android işletim sistemine sahip mobil telefonlardır. Android mobil telefonlardan toplanan dijital deliller yardımı ile bu telefona sahip kişinin arkadaşlarının ve bu arkadaşları ile ilişkilerinin derecelendirilerek tespit edilmesi, literatürde çalışılmış ve üzerinde çalışılmaya devam eden konulardan biridir. Bu çalışmada geliştirilen yazılım, android işletim sistemine sahip mobil cihazlardan fiziksel ve mantıksal imaj alma, imajın incelenmek üzere açılması, imaj içinde farklı dosya türlerinin incelenmesi, veritabanı incelemeleri gibi dijital delil niteliği taşıyan bir çok veriye erişilmesini sağlamaktadır. Delil elde etme, delilleri inceleme ve raporlama işlemlerini yapabilen bu yazılım aynı zamanda geliştirilen analiz modeliyle mobil cihazlardan elde edilen sosyal medya uygulama verileri, telefon rehberi ve görüşme kayıtları arasındaki ilişkileri inceleyerek şüphelinin veya hesapları incelenen kişilerin, ilişkili olma ihtimali yüksek kişileri tespit edebilmektedir. Birçok işlemi tek bir arayüzden yapabilmesi ve veri analiz yöntemi bakımından, özgün bir çalışma olarak gerçekleştirilen yazılımla incelenen deliller ve elde edilen bulgular bu çalışmada sunulmuştur. Anahtar Kelimeler: Adli bilişim, mobil adli bilişim, sayısal delil, sayısal delil analizi, bulanık model. 2018, 109 sayfa
iii
ABSTRACT
Ph.D. Thesis
RATING OF THE RELATIONSHIP BETWEEN USERS USING THE DATA FROM
THE IMPLEMENTED MOBILE FORENSIC SOFTWARE
Faruk Süleyman BERBER
Süleyman Demirel University Graduate School of Natural and Applied Sciences
Department of Computer Engineering
Supervisor: Assoc. Prof. Dr. Ecir Uğur KÜÇÜKSİLLE
Digital forensic in general can be defined as a process which consists of collecting, preserving, analysing and reporting all data such as sound, video, picture, text database stored on the digital storage media in a way that can be used as digital evidences in courts. During the digital forensic process, different software and hardware tools are used. The devices from which the digital evidences are collected have been varied in parallel with the developments in technology. Mobile phones with Android operating system are one of those devices. The issue of identifying the mobile phone owner’s friends and assessing his relationship with them with the help of digital evidences collected from the Android mobile phones has been studied in the literature and it is still under investigation. The software developed in this work enables accessing a variety of data that have evidential value in the court proceedings; these include physical and logical acquisition of images from mobile phones with Android operating system, extracting images for investigations, examining different file types in images, and databases. This software can collect and examine the evidences and then produce reports. At the same time, it can identify suspect or people with potentially have connections to those people whose accounts are under investigations by using developed analysis model which examines the relationships between social media applications` data, phone contacts and calling histories collected from the mobile devices. In this work, the evidences examined by using a novel software developed by the authors which performs multiple tasks using a single interface and the corresponding results are presented. Keywords: Digital forensics, mobile forensics, digital evidence, digital evidence analysis, fuzzy model. 2018, 109 pages
iv
TEŞEKKÜR
Bu araştırma için beni yönlendiren, karşılaştığım zorlukları bilgi ve tecrübesi ile aşmamda yardımcı olan değerli danışman hocam Doç. Dr. Ecir Uğur KÜÇÜKSİLLE’ye teşekkürlerimi sunarım. Literatür araştırmalarımda ve proje gelişiminde yardımcı olan değerli hocalarım Prof. Dr. Tuncay AYDOĞAN ve Dr. Öğr. Üyesi Kubilay TAŞDELEN’e, teşekkür ederim. 4385-D1-15 No`lu Proje ile tezimi maddi olarak destekleyen Süleyman Demirel Üniversitesi Bilimsel Araştırma Projeleri Yönetim Birimi Başkanlığı’na teşekkür ederim. Tezimin her aşamasında beni yalnız bırakmayan anneme, babama, kardeşime, eşime ve kızıma sonsuz sevgi ve saygılarımı sunarım.
Faruk Süleyman BERBER
ISPARTA, 2018
v
ŞEKİLLER DİZİNİ
Sayfa Şekil 3.1. Ftk imager ekran görüntüsü .................................................................................... 19
Şekil 3.2. Autopsy ekran görünümü.......................................................................................... 19
Şekil 4.1. Geliştirilen yazılıma ait ana pencere .................................................................... 29
Şekil 4.2. İmaj alma penceresi ..................................................................................................... 30
Şekil 4.3. İmaj alınacak klasör seçimi penceresi ................................................................. 31
Şekil 4.4. İmaj açma menü penceresi ....................................................................................... 32
Şekil 4.5. İmaj açma işlemleri penceresi(işlemler öncesi) ............................................. 32
Şekil 4.6. İmaj dosyası seçme penceresi ................................................................................. 33
Şekil 4.7. İmajın açılacağı klasörü seçme penceresi.......................................................... 33
Şekil 4.8. İmaj açma işlemleri penceresi(işlemler sonrası) ........................................... 34
Şekil 4.9. Sosyal medya penceresi ............................................................................................. 35
Şekil 4.10. Twitter verileri elde etme ekranı ........................................................................ 35
Şekil 4.11. Veritabanı yapısı ......................................................................................................... 36
Şekil 4.12. Analiz menüsü dosya işlemleri alt menü penceresi ................................... 37
Şekil 4.13. Analiz menüsü dosya işlemleri penceresi(resim inceleme) .................. 37
Şekil 4.14. Analiz menüsü dosya işlemleri penceresi(video inceleme) ................... 38
Şekil 4.15. Analiz menüsü veritabanı analizi alt menü penceresi .............................. 39
Şekil 4.16. Veritabanı inceleme penceresi ............................................................................. 39
Şekil 4.17. Samimiyet skoru menüsü hesapla alt menüsü penceresi ....................... 47
Şekil 4.18. Kişilerin skorlanmış excel listesi ......................................................................... 48
vi
ÇİZELGELER DİZİNİ
Sayfa Çizelge 5.1. İmaj alma işlemlerine ait bilgiler ...................................................................... 49
Çizelge 5.2. Mobil cihazdan elde edilen veriler (rehber ve sosyal medya) ............ 50
Çizelge 5.3. Dosya türlerine göre analiz örnek verileri ................................................... 50
Çizelge 5.4. Veritabanı incelemelerinden örnek veriler.................................................. 51
Çizelge 5.4. Veritabanı incelemelerinden örnek veriler (Devam) .............................. 52
Çizelge 5.5. Analiz sonuçları ......................................................................................................... 53
Çizelge 5.5. Analiz sonuçları (Devam) ..................................................................................... 54
vii
SİMGELER VE KISALTMALAR DİZİNİ ab Android yedek dosyası formatı (Android backup) adb Android Ayıklama Köprüsü (Android debug bridge) AES Gelişmiş Şifreleme Standardı (Advanced Encryption Standard) AFF Gelişmiş Adli Bilişim İmaj dosyası formatı (Advanced Forensic
Format) Akbil Akıllı Bilet Api Uygulama Programlama Arayüzü (Application Programming
Interface) Apk Android paket dosyası (Android Package) APT Gelişmiş sürekli tehdit (Advanced Persistent Threat) ART Android çalışma zamanı (Android Run Time) CDMA Kod bölmeli çoklu erişim (Code Division Multiple Access) CRSF Siteler arası istek sahteciliği (Cross Site Request Forgery) DD Disk Birebir Kopya İmaj dosyası formatı(DiskDoubler Archive) DDoS Dağıtık Hizmet Reddi Saldırıları (Distributed Denial of Service
attack) DoS Hizmet Reddi Saldırıları (Denial of Service attack) E01 Encase İmaj dosyası formatı (Encase Image File Format) Exif Değişebilir görüntü dosyası biçimi (Exchangeable Image File) ICCID Tümleşik devre kartı kimliği (Integrated Circuit Card ID) IDE Tümleşik geliştirme ortamı (Integrated Development
Environment) IMEI Uluslararası Mobil Ekipman Kimliği (International Mobile
Equipment Identity) IMSI Uluslararası Mobil Abone Kimliği (International Mobile Subscriber
Identity) iOS iPhone İşletim Sistemi (iPhone Operating System) IOT Nesnelerin İnterneti (Internet of Things) JTAG Ortak test eylem grubu (Joint Test Action Group) JVM Java Sanal Makinesi (Java Virtual Machine) KGS Kartlı Geçiş Sistemi MCD Çok Ölçütlü Karar (Multi Criteria Decision) MFM Mobil adli bilişim metamodeli (Mobile Forensic Metamodel) MMS Çoklu ortam mesajlaşma servisi (Multimedia Messaging Service) MSN Microsoft’un internet tabanlı hizmet kurumu (MicroSoft Network) NAND NAND Lojik kapılı flash bellek (NAND Flash Memory) NSFDSS Yapısal Bulanık Karar Destek Sistemi (Nonstructural Fuzzy
Decision Support System) NTFS Yeni Teknoloji Dosya Sistemi (New Technology File System) ODBC Açık Veritabanı Bağlantısı (Open Database Connectivity) OGS Otomatik Geçiş Sistemi PDA Kişisel dijital yardımcı avuç içi bilgisayar (personal digital
assistant) PDF Taşınabilir Belge Biçimi (Portable Document Format) Php Hiper Metin Önişlemci Dili (Hypertext PreProcessor) PIN Kişisel Kimlik Numarası (Personal Identification Number) RAM Rastgele Erişimli Hafıza (Random Access Memory)
viii
ROM Android Cihazlar için Sadece Okunabilir Bellek Yazılım Paketi (Read Only Memory)
SMS Kısa Mesaj Sistemi(Short Message Service) SQL Yapısal Sorgulama Dili(Structured Query Language) Tika İçerik analiz aracı (a content analysis toolkit) URL Standart Kaynak Bulucu (Uniform Resource Locator) USB Evrensel Seri Veriyolu (Universal Serial Bus) VTYS Veritabanı Yönetim Sistemi (DBMS) XSS Çapraz site betik saldırısı (Cross site scripting) YAFFS2 Yeni bir flash dosya sistemi (Yet Another Flash File System)
1
1. GİRİŞ
Adli bilişim, elektromanyetik ve elektrooptik ortamlarda muhafaza edilen veya
bu ortamlarca iletilen ses, görüntü, veri, bilgi veya bunların birleşiminden oluşan
her türlü bilişim nesnesinin, mahkemede sayısal delil niteliği taşıyacak şekilde
tanımlanması, elde edilmesi, saklanması, incelenmesi ve mahkemeye sunulması
çalışmaları bütünüdür (Reith vd., 2002).
Adli bilişimde elektronik bulgunun, bir hukuki delile dönüştürülmesi sürecinde
belli prosedürlerin takip edilmesine adli bilişim inceleme süreçleri
denilmektedir. Uygulanan bu prosedürlerden sonra sayısal deliller, hukuki bir
delil niteliği taşır. Adli bilişim inceleme süreçleri 4 başlık altında incelenmektedir.
Bunlar; Elde etme ya da toplama (Acquisition - Collection), Tanımlama ya da
inceleme (Identification – Examination), Değerlendirme ya da çözümleme
(Evaluation - Analysis), Sunum ya da raporlama (Presentation – Reporting)
olarak listelenebilir (Yusoff vd., 2011).
Adli bilişim kavramı ortaya çıktığı ilk yıllarda computer forensics olarak
tanımlanmış ancak teknolojinin gelişimine paralel olarak siber suçlu profilinin
değişmesi ve siber suçların artması neticesinde, network forensics, disk
forensics, memory forensics ve mobile forensics vb. olarak farklı adli bilişim delil
inceleme yöntemleri ortaya çıkmıştır.
Günümüzde mobil cihazların yaygın olarak kullanılması, bir çok adli olayda mobil
cihazlar üzerinden elde edilen delillerin de olayların aydınlatılmasında
kullanılması gerekliliğini ortaya koymaktadır.
Android platformunu kullanan akıllı telefonlar da bu mobil cihazlardan biridir.
Ayrıca, bu gibi cihazlar için mevcut olan uygulamaların artması insanların
hayatında devrim yaratmıştır ve bunların çoğu büyük miktarda kişisel bilgi
içermekte ve işlemektedir. Anında mesajlaşma uygulamaları bunun mükemmel
bir örneğidir. Bu bilgilerin işlenmesine ek olarak, yerel hafızada izlerini bırakma
ihtimali de yüksektir.
2
Bir soruşturmada en önemli ve kritik aşama veri edinmektir. Bir araştırmacı,
analiz edilmeden önce verileri (forensically sound way) en uygun yöntemlerle
verilere zarar vermeden çıkarmalıdır (Scrivens ve Lin, 2017). Bu noktada adli
bilişim yazılımlarına ihtiyaç duyulmaktadır.
Bu çalışmada; android işletim sistemine sahip cihazlardan imaj alabilen, imajı
açıp içerisindeki dosya türlerinde detaylı analizler yapabilen ve mobil adli bilişim
yazılımlarında olmayan yeni bir analiz yöntemiyle cihazdan elde edilen sosyal
medya verileri, rehber ve arama sayılarını kullanarak cihaz kullanıcısıyla yakın
ilişkili ya da samimi olma ihtimali yüksek kişileri tahmin eden, mobile forensics
(mobil adli bilişim) alanında kullanılacak bir bulanık model ve bu modeli
kullanan yazılım geliştirilmiştir.
Çalışma kapsamında geliştirilen mobil adli bilişim yazılımı android işletim
sistemine sahip cihazlardan; imaj alma, imaj içinde farklı dosya türlerinin
incelenmesi, veritabanı incelemeleri gibi dijital delil niteliği taşıyan bir çok veriye
erişilmesini sağlamaktadır. Aynı anda farklı birçok işlemi tek bir arayüzden
yapabilmesi, geliştirilen yazılımın diğer mobil adli bilişim yazılımlarına göre
önemli bir avantajını oluşturmaktadır. Özellikle hesabı incelenen kişi ya da
şüphelinin ve bu kişinin ilişkili olabileceği kişileri analiz edebilmesi bakımından
özgün bir yazılımdır. Android cihazların çeşitliliğinden ve sürekli güncellenen
yazılım ve donanım altyapılarından dolayı özellikle root erişimleri ve imaj alma
işlemleri açısından sınırlılıkları olsa da geliştirilen yazılımdan alınan sonuçlar,
dünyada bu alanda kullanılan mobil adli delil inceleme yazılımlarından farklı ve
özgün sonuçlar ortaya koymaktadır.
3
2. KAYNAK ÖZETLERİ
Willassen (2005) çalışmasında, cep telefonlarının yaygınlaşmasıyla beraber, adli
araştırmalar için kanıt özelliği taşıyan verilerin de dahili hafızada
depolandığından bahsetmiştir. Çalışmasında iki farklı metod uygulamış ve
metodların kanıt olabilecek verilerin geri kazanılmasını sağladığını belirtmiştir.
Canbek ve Sağıroğlu (2007) çalışmalarında, kötücül (malware) ve casus
(spyware) yazılımların bilgi ve bilgisayar güvenliğini tehdit eden unsurların en
başında geldiğini, bu yazılımlar ile ilgili olarak literatürdeki mevcut kaynaklar
araştırılıp incelendiğinde, kapsamlı ve güncel bir çalışma olmadığını, sunulan
çalışmaların ise anti-virüs web sitelerinde ve bilgisayar magazin dergilerinde yer
aldığını ve nasıl korunması gerektiğiyle ilgili kısa bilgilere yer verildiğini tespit
etmişlerdir. Bu tespitlerden yola çıkarak kapsamlı bir araştırma yaptıkları
çalışmalarında, en önemli tehditlerden olan kötücül ve casus yazılımların üzerine
kapsamlı bir inceleme gerçekleştirmişlerdir. Elde edilen bulgular doğrultusunda,
bu yazılımlar sınıflandırılmış; sahip oldukları temel özellikler ve taşıdıkları
riskler özetlenmiştir. Çalışmaları, literatürde gerçekleştirilen kapsamlı bir
çalışma olması sebebiyle, kötü niyetli olarak geliştirilen yazılım türlerinin daha
iyi bilinmesi, tanınması ve gerekli önlemlerin alınmasına büyük katkılar
sağlayacağı, karşılaşılabilecek zararların azaltılabileceği değerlendirilmektedir.
Martin (2008) araştırmasında, gittikçe artmakta olan akıllı telefon çeşitlerinin,
markaların ve farklı teknolojilerin veri analizini güçleştirdiğinden bahsetmiştir.
Bunun yanında, PDA özellikli diğer cihazların da üretilmesiyle beraber kullanıcı
kitlesinin de artması, verilerin kurtarılması hakkında daha kapsamlı
araştırmaların gerekli olduğunu vurgulamıştır.
Hobson (2008) çalışmasında, sosyal ağları kullanıcı sayısı açısından ele aldığında
en fazla nüfusu olan ülkeler kadar üye sayılarının olduğunu görmüştür. Bu
nedenle sosyal ağların, siber mühendislerin, hackerların, kullanıcı verisi
toplamak amacıyla şirketlerin hedefi durumuna geldiğini tespit etmiştir. Hobson
çalışmasında, spamcilerin, sosyal ağ sitelerinden bilgi toplamak için uğraştığı ve
4
fırsat beklediklerini, bu nedenle kullanıcıların sosyal ağlardaki güvenlikleri
konusundaki bilgi düzeylerini araştırma konusu olarak görmüştür.
Ahmed ve Dharaskar (2008) çalışmalarında, bir cep telefonunda başarılı bir
dijital soruşturma yürütmenin zorluğunu vurgulamış ve bu zorluğun pek çok
faktörden kaynaklandığını anlatmışlardır. Bu zorluklara çeşitli örnekler verilen
çalışmada, mobil cihazlardaki cihaz saatinin sürekli çalışmasının, cihazın
hafızasındaki eksiksiz içeriğin tam olarak bit yönlü kopyasını üretmeyi
engellediğinden bahsedilmiştir.
Sağıroğlu ve Bulut (2009) çalışmalarında, kurumların ve bireylerin mobil cihazlar
ve ortamlarda meydana gelebilecek tehditlerin farkında olarak gerekli koruma
tedbirlerini almaları, personel ve kullanıcıların bu konuda eğitilmesi ve
bilinçlendirilmesi gerektiği gerçeğinden bahsetmişlerdir.
Lessard ve Kessler (2010) iki telefon üzerinde yaptıkları çalışmalarında, iki adli
bilişim aracı olan AccessData FTK Imager ve EnCase 'in, silinen resimleri, sesleri
ve videoları çıkardığı halde, bu adli araçların silinmiş kişileri, SMSleri ve arama
günlüklerini alamadığını ortaya koymuşlardır. Lessard ve Kessler bu çalışmada
silinmiş kişilerin ve SMS'lerin çıkarılmasının, yalnızca bir DD analizi ile mümkün
olduğunu göstermişlerdir.
Noyan (2011) çalışmasında, bilgi çağı olarak adlandırılan günümüzde teknolojide
yaşanan oldukça hızlı gelişmeler, internetin yaygın kullanımı ve bilginin kolay
erişilebilir hale gelmesinin siber uzayda bu bilgiler ne kadar güvende? endişesini
de beraberinde getirdiği konusunu incelemiştir. Son dönemde yaşanan Wikileaks
gibi büyük çapta olayların yanı sıra özel/gizli olduğu varsayılan bilgilerin kolayca
ve gittikçe artan miktarlarda ortaya dökülebildiğini vurgulamıştır. İnsanların
kişisel bilgilerinin, sağlık veya mali kayıtlarının ne kadar güvende olduğunu
bilmek istediklerinden bahsetmiştir. Her ne kadar Facebook gibi sosyal medya
araçlarında kolayca paylaşılıyor olsa da okudukları kitapların, gördükleri
filmlerin veya siyasi görüşlerinin tamamen yabancılar tarafından bilinmesi ve
hatta kullanılmasının istenen bir durum olmadığını söylemiştir. Gazetelerde
okuduğumuz malum kimlik hırsızlığı vakaları ile ortaya çıkan yüksek miktarda
5
kredi kullanılabiliyor olunması ve günlük hayatımızda devasa miktarda
değerlendirilebilir veri ürettiğimizden de bahsetmiştir. Eticaret uygulamaları,
kredi kartı ile yapılan alışverişler, Akbil, KGS, OGS vb. akıllı teknolojiler ile yapılan
seyahatlar, üyelik kartları/sistemleri, Facebook, MSN, Twitter vs. sosyal medya
araçları ile paylaşılan bilgileri bunlara örnek olarak vermiştir.
Zimmermann (2011) çalışmasında, akıllı telefonların artık sadece sesli iletişim
için değil, aynı zamanda e-mail vb. gönderme ve kişisel bilgilerin depolanma yeri
haline geldiğinden bahsetmiştir. Özellikle adli araştırmalarda android yazılımlı
telefonlardaki silinen dosyaların geri getirilmesini YAFFS2 dosya sistemi
üzerinde araştırmıştır, ayrıca NTFS dosya sistemi ile karşılaştırmasını yapmıştır.
Ribble (2011) çalışmasında, dijital vatandaşlığın her açıdan anlamlarını ortaya
koymaya çalışmış ve dijital vatandaşlığı 9 boyutta incelemiştir. Dijital araçları
kullanım yaşının oldukça düşmesi ve yeni neslin aynı zamanda birer “dijital yerli”
olmasından dolayı dijital vatandaşlık algısının çocuk yaşlarda başlaması
gerektiğini ve bu çağdaki çocuklara dijital araçların kullanımının öğretilmesi
gerektiğini ifade etmiştir.
Wei ve Sun (2012) çalışmalarında, yenilikçi bir eğitim ve öğretim şeklini konu
almışlardır. Ağ saldırıları ve atakları 12 başlığa ayrılmıştır. Bu başlıklar; tarama,
ağ koklama, parola çözme, sahtecilik, DoS, ara bellek taşması, web saldırısı, SQL
enjeksiyonu, truva atı, bilgisayar virüsü ve mobil telefon virüsü, güvenlik duvarı
uygulaması ve zorla içeri girme tespiti uygulaması olarak belirtilmiştir.
Çalışmada bu konular kısaca ele alınmıştır. Asıl uygulama kısmında ise, söylenen
başlıklar öğrencilere temel olarak anlatılmıştır ve öğrenciler saldırı ve savunma
olmak üzere iki gruba ayrılmıştır. Sonuç olarak bu öğrenme şekli ile öğrencilerin,
saldırıların nasıl yapıldığını ve önlenebildiğini daha iyi kavradıkları anlaşılmıştır.
Kumar ve Pateriya (2012) çalışmalarında, SQL enjeksiyonu ile ilgili saldırı, tespit
ve korunma teknikleri araştırılmıştır. Bu başlıklar altında konu detaylı şekilde
incelenmiştir. Özellikle tespit ve korunma yöntemleri üzerinde durulmuştur ve
bunlarla ilgili karşılaştırmalar yapılmıştır.
6
Poston (2012), tarafından yapılan çalışmada, saldırı tespit sistemleri
sınıflandırılmıştır. Bilginin tipine ve yerine göre ağ tabanlı ve sunucu tabanlı
olmak üzere iki kategori kullanılmıştır. Ayrıca ana metodolojiye göre de
mühür/yanlış kullanım ve anomali olarak farklı türde bir sınıflandırma daha
yapılmıştır.
Zhao vd. (2012) çalışmalarında, kablosuz sensör ağları için ağ izleme ve paket
koklama araçları tanıtılmıştır ve uygulanmıştır. Çalışmada sistemin mimarisi,
yazılım tasarımı, fonksiyonları ve karakteristiği anlatılmıştır.
Huynh (2012) çalışmasında, bir dosyanın bilgisayardan silinmesinin ve “Geri
Dönüşüm Kutusuna” gönderilmesinin; gerçek dosya verisinin bilgisayar
içerisinde yer almakla beraber silinmiş olarak işaretlenmesinden ibaret
olduğunu vurgulamıştır. Bu sebeple verilerin kolaylıkla geri dönüşüm
kutusundan kurtarılarak tekrar elde edilebileceğini anlatmıştır. Eğer dosya geri
dönüşüm kutusundan da silinmiş ise dosya verisi üzerine yeni veri yazılana kadar
dosyanın bilgisayarda durduğundan ancak adres bilgisinin silindiğinden
bahsetmiştir.
Ekim (2013) çalışmasında, akıllı telefonların artan popülaritesi ve becerileri
sonunda, hackerların yeni hedefi olmaya başladığını ve milyonları aşan mobil
uygulamaların hayatımıza kolaylık, eğlence ve heyecan katarken bir yandan da
ciddi güvenlik tehditleri getirmiş durumda olduğunu incelemiştir. İndirilen basit
bir uygulamayla dahi cihaza bulaşabilen bu zararlı yazılımların bazen bir mailin
ekiyle bazen de bir bağlantı tıklandığında indirilen bir dosya ile sisteme enfekte
olabildiğinden bahsetmiştir. Adli bilişim donanım ve yazılımlarıyla mobil
cihazlarda malware analizi yapılan bu çalışmasında mobil adli bilişim yazılım ve
donanımları incelenmiş, çoğu akıllı telefonda özel donanım ve yazılım
kullanılmadan kötü amaçlı yazılım tespit etmenin neredeyse imkânsız olduğu, bu
donanım ve yazılımların maliyet açısından pahalı, kullanımı açısından da son
derece karmaşık ve zor olduğu tespit edilmiştir. Ayrıca topluma mobil cihazların
karşı karşıya olduğu tehditlerin yeterli seviyede anlatılması, farkındalık
oluşturulması, önlemler alınması gibi önerilerde bulunulmuştur.
7
Chang vd. (2013) çalışmalarında, android yazılımlı cep telefonlarında adli
durumlarda silinen verilerin geri getirilmesi üzerinde çalışmışlardır. NAND and
YAFFS2 dosya sistemlerini incelediklerinde, geliştirdikleri metodla silinen
verileri kurtarabilmişlerdir.
Çubukcu ve Bayzan (2013) çalışmalarında, dijital vatandaşlık kavramını
internetin riskleri ile birlikte analiz ettikten sonra Türkiye’de ve dünyada dijital
vatandaşlık algısı ve internetin güvenli kullanımına ilişkin yapılmış çalışmalar ve
istatistiksel göstergeler eşliğinde bu kavramı irdelemeye çalışmıştır. Türkiye’de
konu ile ilgili yapılan çalışmaların düşük seviyelerde olduğu ve yapılan
çalışmaların büyük bir çoğunluğunun Telekomünikasyon İletişim Başkanlığı
bünyesinde yürütüldüğünü gözlemlemişlerdir. Başta Avrupa’da ağırlıklı olarak
sivil toplum kuruluşları bünyesinde yürütülen güvenli internet merkezleri ve
yardım hatlarının yapılanmalarının Türkiye’de olmamasının en büyük
eksikliklerin başında geldiğini tespit etmişlerdir.
Virvilis vd. (2013) çalışmalarında, gelişmiş sürekli tehditlerin(APT) öne çıkan
özellikleri, karakteristiği, ortak desenleri ile ilgili teknik analiz yapmışlardır.
Çalışmada geleneksel güvenlik çözümleriyle APT konusunda başarı elde
edilemediği belirtilmiş ve daha farklı çözümlere odaklanılması gerektiği
söylenmiştir. Bu noktada güvenilir bilişimin (trusted computing) önemli bir araç
olduğu belirtilmiştir.
Markagic (2013) çalışmasında, sayısallaştırılmış mobil (taşınabilir) cihazların
çeşitliliği ve bunlardan gelen verileri analiz etme yöntemleri hakkında genel bir
fikir vermeye çalışmıştır. Mobil cihaz denilince her ne kadar cep telefonlarının
adli incelemesine ağırlık verilse de, dijital işleme, iletim ve depolama için
kullanılan diğer medyalarında kapsama girdiği vurgulanmıştır. Çalışmada dijital
veri elde etmenin gerçekleştirilmesinde yazılım araçlarına özel bir önem
verilmiştir. Çalışmada kullanıcıları veri koruma yöntemleri hakkında
bilgilendirmek amacıyla, verilerin nerede bulunabileceğini ve verilerin
kullanıcılara hukuksal sorunlar açacak şekilde nasıl kötüye kullanıldıklarını
araştırmak amaçlanmıştır. Mobil adli bilişim alanının nispeten yeni bir alan
olduğundan olası tüm durumları kapsayan tek bir araç veya bir takım araçların
8
bulunmadığı vurgulanmıştır. Dijital adli bilişimin Fiziksel ve mantıksal edinim
olarak iki veri toplama moduna ayrıldığından bahsedilen çalışmada, Mobil adli
bilişim için kullanılacak adli bilişim donanımının seçiminin, kablosuz iletişime
sahip birçok farklı mobil cihaz çeşidi nedeniyle, bilgisayar adli bilişimi için
kullanılan standart ekipmanlardan oldukça farklı olduğu da vurgulanmıştır.
Grover (2013) çalışmasında, adli bilişim olaylarına müdahale eden kişilere,
güvenlik denetçilerine, proaktif güvenlik monitörlerine ve adli bilişim
araştırmacılarına, sürekli olarak birçok veri seti toplayan, android akıllı
telefonlar için bir prototip kurumsal izleme sistemi geliştirmiştir. Saklı birçok
veri seti, mevcut diğer kurumsal izleme araçlarında bulunamamıştır. Bu
araştırmada tanıtılan sistem; root yetkileri olmadan, kurumsal ortamlarda
sürekli olarak android platformları izleyen bir prototip olarak tasarlanmış ve
uygulanmıştır. Bu araştırma, android uygulama bileşenlerini izlemeye öncelik
vermek için kullanılabilecek yeni bir tasarım stratejisiyle geliştirilmiştir.
Çalışmanın piyasadaki birçok yazılımda yer almayan verileri toplayabildiği
belirtilmiştir.
Karlsson ve Glisson (2014) çalışmalarında, android işletim sistemlerini kullanan
mobil cihazların; adli bilişim önlemleri almaya elverişli ortamlar sunmak için
üretimden itibaren fırsatlar barındırdığından bahsetmişlerdir. Önceki mobil adli
bilişim araştırmaları, uygulamalar ve veri gizleme için adli bilişim önlemleri
sunan çözümlere odaklanmıştır. Bu çalışmada, Android işletim sisteminin bir
CyanogenMod topluluğu dağıtımında bir dizi değişiklikler geliştirilmiş ve
uygulanmıştır. Bu çözümlerin uygulanması; cihazlardan veri çıkartmalarını ve
adli bilişim araçlarının kurulumunu başarıyla engellemiştir. Bu yöntmin
uygulanması ile adli bilişim araçlarının veri çıkartma sürecinde gecikmeler
yaşanmış ve cihazın normal kullanımını etkilemeden sanayi tarafından kabul
edilmiş adli analiz araçlarına yanlış veriler sunmuştur. Bu araştırma ile bir
bağlamda işletim sistemi değişikliklerinin uygulanabilirliğinin ampirik analizi ve
ileride yapılacak araştırmaların temeli oluşturulmuştur. Bu araştırmadan elde
edilen sonuçlar; bir android işletim sisteminde değişiklik yaparak Adli bilişim
araçlarına yanlış bilgi sunmanın mümkün olabileceğini göstermiştir.
9
Kaart ve Laraghy (2014) çalışmalarında, Android cihazlarda bulunan izlerin
yorumlanmasının, mobil adli bilişimin önemli bir unsuru olduğunu
vurgulamışlardır. Bu durumun, özellikle araştırılan cihaz üzerinde karşılaşılan
zaman damgaları için geçerli olduğundan bahsetmişlerdir. Burada sunulan
çalışma, Android cihazlarda karşılaşılan zaman damgalarının yorumlanması
üzerine odaklanmıştır. Burada kapsanan konuların her birinin daha ayrıntılı
olarak ele alınabilineceği, sunulan vaka incelemesi, saat ve tarih konularında
ayrıntılara dikkat etmenin önemi açıkça vurgulanmıştır. Bu çalışmanın ana
sonucu olarak, araştırmanın yapıldığı cihazdaki zaman damgaları hakkında
herhangi bir sonuç çıkarmadan önce, aynı marka ve modeldeki bir referans
cihazdaki ve aynı Android sürümündeki davranışını doğrulamanın önemli
olmaya devam ettiğini gösterdiği anlatılmıştır. Bu çalışma ayrıca; Android
dağıtımında bulunan saat dilimi veritabanı sürümlerinin, veritabanının şu anda
piyasaya sürülmüş sürümünün gerisinde kaldığını göstermiştir.
Talley (2014) çalışmasında, son zamanlarda giderek artmakta olan android
yazılım içeren cihazlardaki kötü amaçlı yazılımlara karşı Dalvik Inspector (DI) ve
Drozer Pro gibi tespit programlarının geliştirildiğinden bahsetmiştir. Buna
karşın, üreticilerle de işbirliği yapılarak bu programların daha da geliştirilmesi
gerektiğini vurgulamıştır.
Hahn (2014) çalışmasında, dijital yaşamın, günlük aktiviteleri tamamlamak için
dijital cihazlara dayanan bir toplum kurduğu ve dolayısıyla dijital cihazların,
geleneksel ve siber suçların işlenmesini kolaylaştıran bir yol haline geldiğini
vurgulamıştır. Bu çalışmasında, devlet ve yerel düzeyde dijital adli vakaların
potansiyelini azaltmak için kullanılan açık kaynak araçları, otomatik araçları ve
dijital adli bilişim uygulamalarını değerlendirmiştir.
Shaffer (2014) çalışmasında, mobil cihazların çalışanların iletişim ve ağlar
arasında veri paylaşımı için giderek güvenilir bir hale geldiğini söylemiştir.
Dahası işletmelerin, çalışanlarının kullanımı için akıllı telefonlar ve tabletler
vermesinin, şirket verilerinin paylaşılması riskini artırdığından sık sık ele
alınması gereken bir güvenlik sorunu haline geldiğinden bahsetmiştir. Ayrıca, bu
araştırma şirketlerin mobil cihazlarda özel verilerini korumalarını sağlamak için
10
mobil cihazlardaki gelişmeler hakkında yol gösterici olan ve gelecekte
izleyecekleri güvenlik politikaları hakkında önerilerde bulunan bir çalışma
olarak literatürde yer almıştır.
Fıratlı ve Canbay (2014) çalışmalarında, bilgisayar bölümleri öğrencilerine bilgi
güvenliği farkındalık anketi uygulanmış ve sonuçları paylaşılmıştır. Bu
çalışmalarında Fıratlı ve Canbay siber saldırı çeşitlerini incelenmiştir. İlerleyen
teknolojiye paralel olarak saldırı çeşitlerinin de gün geçtikçe arttığından ve
günümüzde kötü niyetli kişiler tarafından gerçekleştirilen birçok farklı saldırı
türü bulunduğundan bahsetmişlerdir. Uyguladıkları ankette, keşif
(reconnaissance), koklama (sniffing), şifre kırma (password cracking), internet
dolandırıcılığı (scam), DDoS, çapraz site betik saldırısı (XSS), siteler arası istek
sahteciliği (CRSF), SQL enjeksiyonu, arkakapı (backdoor), kötücül yazılımlar
(malware), zorla içeri girme (intrusion) ve gelişmiş sürekli tehditler (APT) gibi
saldırı çeşitleri ile ilgili genel ve teknik bilgi düzeyini ölçen sorular sormuşlardır.
Çalışmada bu saldırılar başlıklar altında açıklanmış ve saldırı tiplerinin
birbirleriyle çeşitli yönlerden kıyaslanması sunulmuştur.
Altiero (2015) çalışmasında, dijital cihazlardaki silinen veriler de dahil olmak
üzere kanıt olarak kullanılabilecek bilgilere ulaşımı kolaylaştıracak ve
hızlandıracak bir arayüz geliştirmiş ve bu konuyla ilgili bilgiler paylaşmıştır.
Halboob vd. (2015) çalışmalarında, adli bilişim uzmanının öncelikle verileri suç
ile ilgili/ilgisiz olarak sınıflandırması gerektiğini anlatmışlardır. İlgili verilerin
suçun aydınlatılmasına katkı sağlayacak veriler olduğundan ve incelemede
sadece bu verilere bakılarak tüm elektronik verilere erişim limiti konulmasının;
özel hayatın gizliliğine katkı sağlayacağı gibi zaman ve personel gücü açısından
da tasarruf sağlayacağından bahsedilen çalışmada EnCase, AccessData FTK,
Winhex (X-Ways) ve CnW Recovery19 adli bilişim yazılımları ile tüm diskin
taranarak belirlenen kelime setlerinin aranması ve sonuçlarının csv formatında
raporlanmasının mümkün olduğuyla ilgili bilgiler de paylaşılmıştır.
Grier ve Richard (2015) çalışmalarında, adli kopya alma (imaj alma) süresinin
kısaltılması için, adli kopya alma sırasında anahtar kelimeler kullanılarak sadece
11
ilgili sektörlerin kopyalanması konusunu araştırmışlardır. Çalışmada, anahtar
kelimelerin herhangi bir sektörde olabilmesi sebebi ile tüm diskin okunmasına
ihtiyaç duyulduğu anlaşılmış ve adli kopya alma sırasında anahtar kelime
araması metodunun kullanılabileceği ancak, süre açısından avantaj
sağlamayacağı sonucuna ulaşmışlardır.
Ko ve Zaw (2015) çalışmalarında, dünya genelinde 50 milyondan fazla kullanıcısı
olan Dropbox bulut bilişim uygulamasına dikkat çekmişlerdir. Bu çalışmada 18
sanal makine üzerine Dropbox client uygulaması kurularak Magnet Forensic
Tools'a ait Dropbox Decryptor17 ve SQLite DB Browser18 yazılımları ile yapılan
test çalışmaları sonucu; config.dbx, filecache.dbx, sigstore.dbx ve deleted.dbx
isimli SQLite veritabanı dosyalarından ve Windows Registry kayıtlarından
gerçekleştirilen kullanıcı işlemlerine ait birçok veri elde edildiği görülmüştür.
Çakır ve Kılıç (2016) çalışmalarında, bilgisayar medyaları üzerinde yapılacak adli
bilişim çalışmaları metodlarından birisi olan anahtar kelime araması hakkında
bilgiler vermişlerdir. Çalışmada bu metodun; öncelikle üzerinde arama işlemi
yapılacak elektronik verilerin hazırlanması, verilere daha hızlı ulaşılabilmesi için
indekslenmesi, daha önce belirlenen anahtar kelimeler ile sorgu yapılması,
sistem tarafından indekslenen kelimelerin yer aldığı veri tabanı üzerinde
eşleştirme yapılması ve kullanıcıya sonuçlarının gösterilmesi şeklinde
olduğundan bahsedilmiştir. Bilgisayar medyaları üzerinde Office dosyaları, PDF
dosyaları, sistem kayıt defteri (registry), internet kalıntıları, resim-video gibi
dosyalara ait üstveri bilgileri, sıkıştırılmış dosyalar, link dosyaları gibi farklı
uzantı, format ve veri tiplerine sahip elektronik verilerin yer aldığı da bu
çalışmada anlatılmıştır. Bu veriler üzerinde arama işlemi yapılabilmesi için
öncelikle bu verilerin hazırlanması gerektiği çalışmada vurgulanmıştır. Bu
verilerin, incelenecek bilgisayar medyasının birebir kopyası olan adli kopya
(imaj) dosyası içerisinde olabileceği gibi klasör yapısı halinde bulunan sabit
dosyalar şeklinde de olabileceğinden bahsedilmiştir. Benzer şekilde canlı sistem
veya bulut bilişim üzerinde de bulunuyor olabileceği vurgulanmıştır. Adli bilişim
yazılımlarında bulunan regular expression (belirli ifade araması) özelliğinin,
banka hesap numaraları, kredi kartı numaraları, vatandaşlık numarası, telefon
numarası, IP numarası vb. arama tiplerinde aramayı çok kolay bir hale
12
getirdiğinden bahsedilen çalışmada, adli bilişim uzmanlarınca, en çok kullanılan
arama kelimeleri için regular expression değerlerinin belirlenmesinin, incelemek
üzere yeni olaylar geldiğinde zaman tasarrufu sağlayacağı anlatılmıştır.
Saleem vd. (2016) çalışmalarında, iki mobil cihazı iki ayrı araç kullanarak
değerlendiren bir vaka çalışması yapmıştır ve önerdikleri yaklaşımın faydasını
göstermişlerdir. Sonuçlar; XRY (Alt1)’nin Hem performans hem de gereklilikler
bakımından olguların çoğunda UFED'e (Alt2) hakim olduğunu göstermiştir. Bu
çalışmada temel amaç; araştırmacıların mobil adli bilişim için en iyi aracı
seçmelerine yardımcı olmaktır. Bu seçim, hem adli bilişim araçlarının
performansına hem de belirli bir davanın çözümünde ya da ilerlemesinde dijital
delillerin uygunluğuna dayanmaktadır. Seçim, Çok Kriterli Karar (MCD- Multi
Criteria Decision) analizi adı verilen resmi bir metoda dayanmaktadır. Çalışmada
MCD analizi için Önerilen Performans ve uygunluk olmak üzere iki faktör vardır.
Orozco vd. (2016) çalışmalarında, mobil cihazlara yerleştirilen kameraların
sayısının benzeri görülmemiş bir oranda arttığından, bu mobil kameraların
kalitesi ve performansının giderek artmakta olduğundan ve klasik dijital fotoğraf
makinelerinin yerini aldığından bahsetmişlerdir. Bu senaryonun, mobil
kameralarla çekilen görüntülerin adli analizini gittikçe daha önemli ve gerekli
kıldığı vurgulanmıştır. Bunun için değiştirilebilir resim dosyası formatı (Exif)
meta veri analizine dayanan ve bazı durumlarda fotoğrafın alındığı cihazı ve
modeli elde etmemizi sağlayan bir teknik geliştirilmiştir. Bu teknikle, meta veri
bilgisinin güvenilir olup olmayacağının önemli bir analizi ve görüntü
manipülasyonunun keşfedilmesinde yardımcı olabilecek ek araçlar da
geliştirilmiştir. Bu ve diğer yetenekler, Theia adında geliştirilen yeni bir araçla
birleştirilmiş; bu sayede adli bilişim analistinin, binlerce görüntüyü en hızlı ve en
güvenilir şekilde işlemesi ve analiz etmesinde birçok avantaj da sunulmuştur.
Cahyani vd. (2016) çalışmalarında, bulut teknolojilerinin günlük hayatımızın her
alanında yeni teknolojilerle kullanılmaya devam etmesinin iş fırsatları, güvenlik
ve gizlilik riskleri ve soruşturma zorlukları yarattığından bahsetmişlerdir (bir
siber güvenlik olayı durumunda). Bu çalışma da, yaygın bir cloud-of-thing aygıt
olan Windows telefonundan veri toplamanın üç popüler mobil adli bilişim aracı
13
tarafından ne ölçüde desteklendiği incelenmiştir. Aygıt ayarlarının
değiştirilmesinin (yani ekran kilidinin ve cihaz sıfırlama operasyonlarının
etkinleştirilmesi) ve ek üretim sonuçlarında alternatif kazanma işlemlerinin
(yani bireysel ve kombine edinim) etkisi de bu çalışmada incelenmiştir. Sonuçlar,
Windows Phone 8 için geçerli mobil adli bilişim araç desteğinin sınırlı kaldığını
göstermiştir. Elde edilen sonuçlar ayrıca fiziksel edinim desteğine kıyasla
mantıksal edinim desteğinin daha eksiksiz olduğunu göstermiştir. Bir örnek
uygulama da Nokia Lumia 625'in fiziksel imajında yapılmış ancak silinmiş kişileri
ve SMS'leri kurtarılamamış ve ayıklanamamıştır. Buna ek olarak, özellikle silinen
verileri kurtarmaya çalışırken, kurtarma sonuçlarını en üst düzeye çıkarmak için
aygıtın çıkarılabilir medyada ayrı bir imajının üzerinde çalışma gerekliliğinin
olduğu tespit edilmiştir. Ayrıca, uçucu delillerin incelenmesi sırasında veri
değişikliği olasılığını ortadan kaldırmak için uçuş modunu etkinleştirme ve
konum servislerini devre dışı bırakma önerilmiştir. Bu sonuçlar uygulayıcılara,
mobil adli bilişim araçlarının mevcut yeteneği ve Windows telefon
platformundan kanıtların başarıyla çıkartılmasında karşılaşılan zorluklarla ilgili
genel bir bilgi vermiştir.
Ali vd. (2017) çalışmalarında, metamodellemeye dayalı mobil adli bilişim alanı
için bir yaklaşım geliştirmiştir. Geliştirilen yaklaşım, Mobil Adli Bilişim
Metamodeli‘nin (MFM) geliştirilmesi yoluyla mobil adli bilişim konusundaki
ortak kavramları tanımlamaya katkıda bulunmuştur. Ayrıca, soruşturma sürecini
basitleştirmeye katkıda bulunmuş; ve soruşturma ekiplerinin delilleri
yakalamasını sağlamış; özel adli bilişim bilgisi eğitim ve bilgi yönetimi
faaliyetlerini desteklemiştir. Dahası araştırmacılar bu çalışmalarında, mobil adli
bilişim alanındaki güçlüğü ve belirsizliği azaltmış, Mobil Adli Bilişim
Metamodeli’nin eksiksiz ve doğru olmasını sağlamak için bir doğrulama işlemi
gerçekleştirmişlerdir. Doğrulama, metamodelin iyileştirilmesi ve düzeltilmesi
için iki teknik kullanılarak gerçekleştirilmiştir. Ayarlanan metamodelin son hali
MFM 1.2 olarak adlandırılmıştır.
Zheng vd. (2017) çalışmalarında, android cihazlar için anti adli bilişim kavramını
incelemişlerdir. Mobil adli bilişim alanının, çok çeşitli bilgisayar cihazlarına
uygulanan tekniklerden oluşan disiplinler arası bir alan olduğu bu çalışmada
14
vurgulanmıştır. Android cihazların son yılların en çok kullanılan teknolojileri
arasında yer aldığı ve çok farklı kesimlerden insanların günlük yaşamında
başarılı bir şekilde yaygınlaşmaya devam ettiği yine bu çalışmada bahsedilen
konulardandır. Android cihazların, depoladıkları kişisel bilgilerin çok fazla ve
çeşitli olması nedeniyle adli bilişim alanında daha da önem kazandığı, ancak, adli
bilişim araçlarının genellikle saldırganlar tarafından gizlilik bilgisi edinmek için
kullanıldığı bilgisine de bu çalışmada yer verilmiştir. Bu çalışmada, adli bilişim
araçları tarafından AES anahtarlarının edinilmesini önleyen, Android cihazlar
için bir anti-adli bilişim yaklaşımı önerilmiştir. Bu çalışmada, anahtarların,
android cihaz yeniden başlatıldığında verilerin kapatılacağı özel bellek alanına
depolanıp, saldırganlar tarafından gizlilik bilgilerini çalamayacakları bir sistem
anlatılmıştır.
Anglano vd. (2017) çalışmalarında, android akıllı telefonlarda üretilen verilerin,
adli analizi için Telegram Messenger tarafından güvenli bir şekilde bireysel ve
grup olarak çeşitli iletişim şekilleri sunan, Telegram anında mesajlaşma
platformunu incelemiş, hem metin hem de metin dışı mesajların, kullanıcıların
yanı sıra sesli çağrıların da değiştirilebilir olduğunu incelemişlerdir. Bu yazıda,
kişiler listesi, kullanıcılar tarafından değiştirilen mesajların kronolojisi ve içeriği
ile gönderilen veya alınan dosyaların içeriğinin nasıl yeniden oluşturulacağı
gösterilmiştir. Ayrıca, kullanıcının katıldığı çeşitli sohbetlerin, grupların ve
kanalların önemli özelliklerinin nasıl belirleneceği (ör. oluşturucunun
tanımlayıcısı, oluşturulma tarihi, katılım tarihi vb.) de gösterilmiştir. Son olarak,
kullanıcı tarafından yapılan veya alınan sesli aramaların günlüğünün nasıl
yeniden oluşturulacağı anlatılmıştır. Bu yazıda Telegram Messenger'a
odaklanılsa da, burada kullanılan metodolojinin Android platformunda çalışan
herhangi bir uygulamanın adli analizine uygulanabileceği aktarılmıştır.
Zhang vd. (2017) çalışmalarında, Android uygulamalarının adli analizi, güvenlik
ve mahremiyet analizlerini yapmışlardır. Uygulama marketinin, kullanıcıların
kişisel verilerini gizlemelerine izin vermesi bir yana gizlilik arttıkça suçlu
dosyaları gizlemek için de yanlış amaçlarla kullanılacağı konusunda
değerlendirmeler yapmışlardır. Burada yapılan çalışmalar Connecticut
eyaletinde kolluk kuvvetlerine 66 suç unsuru bulunan görüntünün ve 18
15
videonun tek bir ceza davasında yeniden kullanılmasına yardımcı olmuştur. Bu
çalışmada tersine mühendislik yaparak, 18 Android uygulamasından (Google
Play Store'dan yaklaşık 220 milyon yüklemenin) üretilen dijital deliller
incelenerek analiz edilmiş, vaka analizleri ve sonuçları sunulmuştur. Bulgular
kod karmaşıklaştırma ve uygulamaların tersine mühendislik işlemlerini
engelleyen yerli kütüphaneler kullandığını göstermiştir. Bununla birlikte, gizli
uygulama verileri için root yapmadan gizli verileri tespit edip, Android cihazına
kök erişime sahip olmayan uygulamalardan veri kurtarmaya imkan sağlamıştır.
Bu uygulamaların bir kısmının depoladıkları fotoğrafları şifrelemediği ve bir
kısmının da videoları şifrelemediği tespit edilmiştir. Uygulamaların bazılarında
şifreler düz metin olarak depolanmıştır. Şifrelerin yer aldığı dosyalar kendi
oluşturdukları bir şifre ile değiştirilerek, veriler yetkisiz erişime açılmış, bu
sayede uygulamalarda da bir saldırı gerçekleştirilmiştir.
Cahyani vd. (2017) çalışmalarında, mobil teknolojilerin terörist faaliyetlerde
istismar edilebileceği ve kullanılmış olabileceğini vurgulamışlardır. Bu çalışmada,
bu gibi faaliyetlerin araştırılmasında mobil adli bilişimin önemi vurgulanmıştır.
Özellikle, Android ve Windows cihazlarında kontrol edilen bir dizi deneme
yapılarak, kanıtlayıcı delilleri istemci cihazlardan kurtarmak için mobil adli
bilişim tekniklerinin nasıl kullanılabileceği gösterilmiştir. Buna göre üç
simülasyon senaryosu vardır: (1) bilgi yayılımı, (2) bilgi gizleme ve (3) iletişim.
Denemelerde üç popüler bulut uygulaması (Google Drive, Dropbox ve OneDrive),
beş iletişim uygulaması (Messenger, WhatsApp, Telegram, Skype ve Viber) ve iki
e-posta uygulaması (GMail ve Microsoft Outlook) kullanılmıştır. Kanıtlayıcı
veriler, mobil adli bilişim ve ağ paket analizörü araçlarını kullanarak toplanmış
ve analiz edilmiştir. Delillerin korelasyonu, yasadışı mobil cihaz kullanımını
ortaya çıkarmak için önemli veriler sunmuştur. Bu çalışma aynı zamanda,
Android'in daha belirgin bir veri sunduğunu, Android ve Windows cihazları
arasında elde edilen kanıtların kapsamını vurgulamıştır.
Scrivens ve Lin (2017) çalışmalarında, bir android cihazdan adli soruşturma
amacıyla bilgi alırken kullanılabilecek yöntemler tartışılmış, pozitif ve negatif
yönleri anlatılmıştır. Ayrıca veriler alındıktan sonra hangi bilgilere nereden
16
ulaşılabileceği hakkında bilgi verilmiştir. Ayrıca Facebook Messenger ve Google
Hangouts üzerinde de örnek bir analiz işlemi gerçekleştirilmiştir.
Mobil cihaz kullanımının hızla artması, sosyal medya ve mesajlaşma
uygulamalarının kullanımının yaygınlaşması ile birlikte, mobil cihazlar üzerinde
kullanılan sosyal medya uygulamalarındaki verilerin dijital soruşturmalarda
kullanılmak üzere analiz edilmesi ile ilgili çalışmalar da yoğunlaşmıştır.
Özelllikle; Whatsapp Messenger (Thakur, 2013; Anglano, 2014; Rathi vd., 2018),
Telegram (Satrya vd., 2016; Anglano vd., 2017; Rathi vd., 2018), Facebook,
Twitter, Instagram (Al Mutawa vd., 2012; Norouzizadeh Dezfouli vd., 2016; Azfar
vd., 2017; Azhar ve Barton, 2017) üzerinde çalışmalar yapılmış ve yapılmaya da
devam edilmektedir.
Mobil adli bilişim alanında elde edilen mobil cihazdaki verileri kullanarak ilişkili
kişileri belirlemek ve mobil verileri kullanarak kişiler arasındaki ilişkileri
belirlemek amacı ile de çeşitli çalışmalar yapılmıştır.
Akbaş vd. (2013) çalışmalarında, mobil cihazlardaki arama süresi, video
konferans süresi, yüz yüze konuşma süresi ve email veya text mesajların
büyüklüklerini belirledikleri katsayılar oranında sonuca dahil ederek bir arkadaş
sıralama algoritması önermişlerdir.
Anwar ve Abulaish (2014) çalışmalarında, sohbet günlükleri verilerini kullanarak
dijital kanıtlar tanımlayabilmek için birleşik bir sosyal grafik tabanlı metin
madenciliği çerçevesi sunmuşlardır. Geliştirdikleri bu çerçeve ile; grup
sohbetlerindeki iki kullanıcının konuşma ve etkileşim verilerini, çakışan
kullanıcıların ilgi alanlarını ve sosyal bağlarını keşfetmeyi amaçlamışlardır.
Alzaabi vd. (2015) çalışmalarında, soruşturma grubu içerisindeki kişilerin
birbirleri ile yaptıkları email ve mesajlaşmaları kullanarak en etkin üyeleri
belirlemek amacı ile CISRI adını verdikleri bir adli analiz sistemi önermişlerdir.
Bu sistemin, bir suç grubu üyeleri arasındaki yapısal ilişkileri grafiksel olarak
açıklayabildiklerini belirtmişlerdir.
17
Reinhardt vd. (2015) çalışmalarında, mobil telefonlardaki kişi isimleri, çağrılar,
sms, mms ve email verilerini kullanarak kişileri sosyal ilişki kategorilerine göre
(acquaintances, work, family, friends, school/university) sınıflandırmışlardır.
Sınıflandırma yaparken SVM (Support Vector Machine), C4.5 ve Naive Bayes
algoritmalarını kullanmışlardır. SVM’nin en iyi sonucu bulduğunu
göstermişlerdir.
Choi ve Lee (2016) çalışmalarında, çağrı, sms/mms (KakaoTalk, Viber, Skype,
MyPeople, NaverLine, NateOnUC, Joyn), sns(Twitter, Facebook), cloud (Dropbox,
uCloud), memo (Evernote, AwesomeNote), schedule (Jorte), map (Daum map,
Naver map) ve document viewer (AdobeReader, ezPDFViewer, HancomViewer,
GoodReader, PolarisOffice) verilerini kullanarak kişilerin yakınlık noktalarını
hesaplayarak yakınlık derecelerini gösteren bir yöntem önermişlerdir. Yalnız bu
verilerden sadece çağrı sayısı, çağrı süresi ve mesaj sayısı bilgileri kullanılmıştır.
Adli bilişim alanında bulanık mantık yöntemi kullanılarak da çalışmalar
yapılmıştır.
Liao vd. (2009) çalışmalarında, ağ ortamında bilgisayar suçlarını analiz edebilen
ve dijital kanıtları otomatik olarak oluşturabilen adli ağ analizi için bulanık
mantık ve uzman sisteme dayalı bir yaklaşım önermişlerdir.
Stoffel vd. (2010) çalışmalarında, adli verilerden doğru ve kolay anlaşılır uzman
sistem benzeri kurallar çıkaramaya yönelik bulanık küme teorisine dayalı bir
metedoloji ve otomatik bir prosedür önermişlerdir.
Rostamipour ve Sadeghiyan (2015) çalışmalarında, tek ve çok aşamalı
saldırılardaki saldırıların kökenini otomatik olarak tespit edebilen bulanık
mantığa dayalı bir adli uzman sistem önermişlerdir. Önerilen bu sistemin
saldırının zamanını, kaynağını ve senaryosunu gösterebildiğini belirtmişlerdir.
Barmpatsalou vd. (2017) çalışmalarında, mobil adli kanıtlarda (sms) bulanık
sistem tabanlı süpheli model algılama yöntemi önermişlerdir.
18
3. MATERYAL VE YÖNTEM
3.1. Adli Bilişim ve Adli Bilişim Teknolojileri
Adli bilişim vakalarında bilişim uzmanlarınca mahkemeye sunulacak dijital
delillerin sorunsuz tespiti ve incelenmesi için yüksek duyarlık ve hassasiyete
sahip yazılım ve donanımların kullanılması gerekmektedir. Bu yazılım ve
donanımlar için yüksek ücretler ödenerek süreçler hızlandırılabileceği gibi,
alternatif ücretsiz yazılımlarla da, ihmal edilebilecek gecikmelerle, dijital delil
toplama ve inceleme işlemleri yapılabilmektedir.
Adli bilişim süreçlerinde kullanılan yazılımların ücretsiz sürümlerinin olması, bu
alanda yapılan ve yapılacak çalışmaların çeşitlenmesine de neden olmaktadır. Bu
kapsamda tez çalışmasının en önemli aşamalarından biri olan yazılım geliştirme
sürecinde, geliştirilecek yazılımın diğer yazılımlardan farklarını ortaya
koyabilmek ve ideal bir mobil adli bilişim yazılımı üretebilmek için ücretsiz adli
bilişim yazılımları kullanılarak, sosyal yaşam alanlarında bilişim teknolojileri
kullanıcılarının farkında olmadan bıraktıkları tüm bilgiler, dijital delil toplama
yöntem ve teknikleriyle toplanarak analiz edilmiştir. Özellikle internetle ilgili
işlemlere yoğunlaşarak arama motorlarında yapılan arama kelimeleri, browser
URL kayıtları, eposta adresleri ve kayıtlarıyla ilgili verilere ulaşılmıştır. Bu
bilgilerin yanı sıra diske kaydedilen son dosyalar ve silinen dosyalar da
incelenmiştir. Bu işlemler yapılırken FTK Imager 3.1.1.8 ve Autopsy 4.0.0 64 bit
(Windows) adli bilişim inceleme yazılımları kullanılmıştır.
FTK Imager yazılımı, adli bilişim alanında çalışan uzmanların en çok tercih ettiği
imaj alma yazılımlarından biridir. AccessData firmasının ürettiği ve firmanın
internet adresinden ücretsiz olarak indirilebilen bir yazılımdır. FTK Imager
programıyla dd, E01 ve AFF biçimlerinde imaj alınabilmektedir. Veri depolama
birimlerinin içeriklerini görüntüleme, birebir kopya alma ve veri kurtarma
özellikleri vardır. Şekil 3.1’de bu yazılıma ait bir ekran görüntüsü verilmiştir.
19
Şekil 3.1. Ftk imager ekran görüntüsü Autopsy yazılımı, açık kaynak kodlu adli bilişim yazılımları içerisinde, en geniş
kapsamlı olan yazılımdır. Bu program ile kapsamlı bir disk/dosya analizinin
yapılması mümkündür. Şekil 3.2’de bu yazılımla yapılan bir işlem sırasında elde
edilen bir ekran görüntüsü verilmiştir.
Şekil 3.2. Autopsy ekran görünümü
Yapılan uygulamalar ve incelemeler doğrultusunda adli olayların
aydınlatılmasında ihtiyaç duyulan eposta kayıtları, çerezler, şifreler, ziyaret
edilen sitelere ait URL kayıtları, web arama kayıtlarına nasıl ulaşıldığı açıkça
görülmüştür.
20
Burada elde edilen bulgular yazılım geliştirme aşamalarında önemli bir yol
gösterici olmuştur. Elde edilen tüm bulgular ve araştırmalar neticesinde
geliştirilecek programın, adli bilişim analiz işlemleri için çalışacağı mobil ortamın
android işletim sistemine sahip platformlar olmasına karar verilmiştir. Bu
kapsamda öncelikle bu işletim sistemine sahip cihazların root işlemlerine dönük
araştırmalar yapılmış ve çeşitli uygulamalar incelenerek bir yazılım modülü
geliştirilmiştir.
3.2. Mobil Adli Bilişim ve Mobil Adli Bilişim Teknolojileri
Mobil cihaz teknolojileri gelişip yaygınlaştıkça, günlük iş ve işlemler de mobil
ortamlara taşınmakta ve mobil cihaz kullananlar kullanmayanlara göre günlük
bir çok işlemini daha kolay, daha az maliyetlerle ve daha hızlı olarak
gerçekleştirmektedir. Mobil cihazlar üzerinde yapılan tüm işlemlere ait veriler
cihaz üzerindeki depolama birimlerinde saklanabilmekte ve silinebilmektedir.
Bu depolama alanlarından veri kurtarmanın mümkün olması, bu verilerin sayısal
delil niteliği taşıması ve adli delil inceleme süreçlerinde geçerli olması mobil adli
bilişim (mobile forensics) kavramını ortaya çıkarmıştır.
Günümüzde mobil adli bilişim alanında kullanılan birçok donanım ve/veya
yazılımlar bulunmaktadır. Bu alanda kullanılan donanım ve yazılımlara her
geçen gün bir yenisi eklenmekte veya var olan donanım ve yazılımlara yeni
özellikler eklenmektedir. Böylece delil tespit ve incelemeleri daha kapsamlı ve
hızlı yapılabilmektedir. Adli bilişim süreçlerinde kullanılan ve bu çalışma
kapsamında geliştirilen yazılımın özelliklerinin belirlenmesi aşamalarında da
kullanılan yazılımların başında Mobiledit Forensic, Paraben ve Oxygen Forensic
gelmektedir.
MOBILedit Forensic adli bilişim yazılımı, başta cep telefonları ve SIM kartlar
olmak üzere tablet bilgisayar ve MP3/4 çalarların adli incelemesinde
kullanılmaktadır. Compelson firması 1996 yılından itibaren mobil cihaz inceleme
yazılımı alanında çalışmaktadır ve bu alanda çalışan ilk firmadır. İlk üretilen
yazılım SIM kart incelemesi için kullanılmakta iken, geçen süre içerisinde yazılım
geliştirilmiş ve bugün on binin üzerinde farklı marka ve modeldeki mobil cihazın
21
incelemesinde kolluk ve adli makamlar tarafından tercih edilen bir yazılım
olmuştur. MOBILedit Forensic adli bilişim yazılımı ile incelenen cihazlar üzerinde
her türlü veriyi görüntülemek, aramak ve incelemek mümkün olmaktadır.
İncelenebilen veriler arasında arama kayıtları (arayan, aranan ve cevapsız çağrı),
telefon rehberi, SMS ve MMS kayıtları, dosyalar, ajanda, notlar, hatırlatmalar ile
Skype, Dropbox ve Everynote gibi uygulamalara ait kayıtlar yer almaktadır. Aynı
zamanda cihazlara ait IMEI, işletim sistemi bilgileri, SIM detay bilgileri (IMSI ve
ICCID) ve sürüm bilgileri de tespit edilebilmektedir. Ayrıca MOBILedit Forensic
adli bilişim yazılımının silinmiş verileri kurtarma, cihaz güvenlik kodu, PIN ve
yedekleme şifresini aşma gibi özellikleri bulunmaktadır (Mobiledit Forensics,
2018).
MOBILedit Forensic adli bilişim yazılımı ile yaygın olarak kullanılan pek çok
telefon markası (Apple, Samsung, HTC, Nokia, Sony, LG, Motorola v.b.) hızlı bir
şekilde incelenebilmektedir. MOBILedit Forensic adli bilişim yazılımı Android,
iOS, Blackberry, Symbian, Windows Mobile, Windows Phone, Bada, Meego, Çin
menşeili telefonlar ve CDMA telefonlarının işletim sistemlerini desteklemektedir.
MOBILedit Forensic adli bilişim yazılımı özellikle Android ve iOS işletim sistemi
bulunan mobil cihazlarda yaygın olarak kullanılan Dropbox, Evernote, Skype,
WhatsApp vb. uygulamaların verilerini hızlı ve kolay bir şekilde analiz etmeye ve
raporlamaya imkan sağlar. iOS işletim sistemi kullanan Apple cihazlarının
güvenlik kodu MOBILedit Forensic yazılımı ile aşılarak incelenebilmektedir.
“Lockdown Files Method” adı verilen bu yöntemde iOS işletim sistemi bulunan
cihazın daha önce bağlanarak iTunes yazılımı ile eşleştirilmesi sonucu
bilgisayarda yer alan veriler kullanılmaktadır. Bu işlemi gerçekleştirmek için
MOBILedit Forensic yazılımı kullanıcıyı yönlendirmektedir (Mobiledit Forensics,
2018).
Paraben DS, 2001 yılından günümüze kadar mobil adli bilimlerde bir standart
haline gelen ve olmazsa olmaz araçlar arasında gösterilen bir yazılımdır. SC
Magazine dergisinde, mobil adli bilişim araçlarının yıllık incelemelerinde,
bağımsız yorumcular tarafından; “Basit, iyi düşünülmüş ve bir mobil cihaz adli
aracı için en tepede yer almaktadır. Yetenekleri dar ve çok derindir. Tek bir
22
araçtır ancak mobil cihaz adli bilişim alanında işini son derece iyi yapmaktadır.
Bu nedenlerle Paraben DS satın alınabilecek en iyi ürün olarak seçilmiştir”
şeklinde değerlendirilmiştir. Paraben E3:DS sürümü, mantıksal ve fiziksel imaj
alma, uygulama verilerini ayrıştırma, şifre atlama ve kötü amaçlı yazılım tespiti
vb. özellikleri ile benzersiz içerik analizi yeteneğine sahiptir (E3:DS, 2018).
IoT Verileri, dijital adli araştırmalarda karşılaşan yeni bir sorundur. Bu verileri
bulabilmek ve ihtiyaç olan şeyleri analiz etmek, zamana duyarlı bilgiler için kritik
öneme sahiptir. Paraben’in E3 yazılım platformu, akıllı saat, drone, fitness aleti,
oyun sistemleri ve Amazon Echo cihazlarından alınacak veriler gibi çok çeşitli
aygıtlardan alınan verileri desteklemektedir. 29.000'den fazla cihaz profilini
destekleyen ve desteklediği aygıtların listesi sürekli büyüyen, bu haliyle diğer
tüm araçlardan daha geniş cihaz türlerini destekleyebilen bir temel adli bilişim
aracıdır. Kilitli cihazların giderek yaygınlaşmasıyla Paraben, Samsung cihazları
için yeni bir özel bootloader (cihaz açıldığında işletim sistemini yüklemeyi
sağlayan yazılım)'ı geliştirmiştir. Paraben, tüm akıllı telefon işletim sistemlerini
desteklemektedir. Ayrıca, tipik cihazlar gibi çalışmayan cihazlar için de yerleşik
JTAG özellikleri bulunmaktadır (E3:DS, 2018).
Mobil cihazlar üzerindeki uygulama verileri sürekli olarak değişmektedir ve
değişimin ne olduğunu anlamak ve ihtiyaç duyulan veriyi elde etmek için gerekli
olan özelliklerin adli bilişim inceleme yazılımı aracında bulunması çok önemli
olabilmektedir. Paraben, en popüler uygulamaların bazıları için etkin ayrıştırma
sağlamaktadır ve diğerleri için de tüm verileri göstermekte ve verileri incelemek
için de yerleşik bir SQLite görüntüleyici sunmaktadır. Mobil cihazlar verileri
dinamik bir şekilde buluta taşımaktadır ve adli bilişim inceleme yazılım araçları
gerektiğinde bu verileri yakalayabilmelidir. Paraben, doğrudan şüphelilerin
hesaplarından veri indirmek için yerleşik bir bulut yakalama işlevselliğine
sahiptir (E3:DS, 2018).
Oxygen Forensic mobil cihaz adli bilişim yazılımı ile başta cep telefonları ve SIM
kartlar olmak üzere tablet bilgisayar ve MP3/4 çalarların adli incelemesi
yapılabilmektedir. Oxygen Forensics mobil cihaz adli bilişim yazılımı ile
incelenen cihazlar üzerinde her türlü veriyi görüntülemek, aramak ve incelemek
23
mümkün olmaktadır. İncelenebilen veriler arasında arama kayıtları (arayan,
aranan ve cevapsız çağrı), telefon rehberi, SMS ve MMS kayıtları, dosyalar, ajanda,
notlar, hatırlatmalar ile Skype, Dropbox ve Everynote gibi uygulamalara ait
kayıtlar yer almaktadır. Aynı zamanda cihazlara ait IMEI, işletim sistemi bilgileri,
SIM detay bilgileri (IMSI ve ICCID) ve sürüm bilgileri de tespit edilebilmektedir.
Ayrıca Oxygen Forensics mobil cihaz adli bilişim yazılımının silinmiş verileri
kurtarma, cihaz güvenlik kodu, PIN ve yedekleme şifresini aşma gibi bazı
özellikleri bulunmaktadır. Rehber, mesajlar, olay günlüğü, Skype, sohbet ve
mesajlaşma uygulamaları gibi farklı kaynaklarda ve gruplarda bulunan aynı
şahıslara ait verilerin tespiti ve analizi otomatik olarak yapılmaktadır. Yapılan
inceleme ve araştırmalarda Android işletim sistemli cihazların kaynak kodlarının
incelenmesine ihtiyaç duyulduğunda araştırmacıya verilerin komple set şeklinde
otomatik olarak incelenmesine olanak sağlamaktadır. Mobil cihazlarda kullanılan
ve içerisinde şifreler, günlükler, tarih, dosya ve benzeri değerli kullanıcı verilerini
barındıran çok sayıda uygulamanın oluşturduğu önyüklü ve kullanıcı
uygulamalarının listesinin görüntülenmesini sağlamaktadır (Oxygen Forensic
Mobil Cihaz İnceleme Yazılımları, 2018).
Çin üretimi cep telefonu ve tablet gibi cihazların adli kopyalarının alınarak
cihazlarda bulunan olay günlüğü, mesajlar, kişiler ve dosyalar gibi önemli
kullanıcı verilerinin elde edilmesini sağlamaktadır. Hızlı analiz yapılabilmesi
amacıyla kişilerin bağlantılar ve istatistikleri bölümünde yer alan aramalar,
metin, multimedya ve e-posta mesajları ve Skype faaliyetlerini analiz ederek
cihaz kullanıcısının sosyal bağlantılarının araştırılmasını sağlamaktadır. Yazılım
içerisinde yerleşik olarak bulunan HEX-görüntüleyici, resim görüntüleyici, müzik
ve video oynatıcılar, kod sayfası çevirici, HTML, SQLite ve Plist izleyiciler gibi veri
görüntüleme uygulamaları ile inceleme uzmanına yardımcı olmaktadır. Mobil
cihaz sahibi tarafından oluşturularak sözlükler bölümüne yüklenmiş olan
mesajlar, notlar ve takvim verileri gibi tüm sözcüklerin gösterilmesini
sağlamaktadır. Mobil cihazın her bölümünde kullanıcı verilerinin tespit
edilmesini sağlamak amacıyla cihaz üzerinde bulunan metin, telefon numarası, e-
postalar, coğrafi koordinatları, IP adresleri, MAC adresleri, kredi kartı numaraları
24
gibi verilerin aranması sağlanabilmektedir (Oxygen Forensic Mobil Cihaz
İnceleme Yazılımları, 2018).
Mobil sistemlere yönelik adli delil incelemelerinde günümüz akıllı cep telefonları
dijital delil açısından oldukça fazla veri barındırmaktadır. Bu verilere, sim kartlar
üzerinde kopyalama ve/veya inceleme, işletim sistemleri üzerinde inceleme, Ram
hafızası incelemeleri yapılarak ulaşılabilmektedir. İşletim sistemleri üzerinde
yapılan incelemeler aynı zamanda cihazın disk alanını kapsadığından bir adli
olayın aydınlatılmasında delil olabilecek birçok değerli veriye ulaşmak mümkün
olmaktadır.
3.3. Mobil Adli Bilişim İnceleme Alanları
Mobil sistemlere yönelik adli delil incelemelerinde günümüz akıllı cep telefonları
dijital delil açısından oldukça fazla veri barındırmaktadır. Bu verilere, sim kartlar
üzerinde kopyalama ve/veya inceleme, işletim sistemleri üzerinde inceleme, Ram
hafızası incelemeleri yapılarak ulaşılabilmektedir.
İşletim sistemleri üzerinde yapılan incelemeler aynı zamanda cihazın disk alanını
kapsadığından bir adli olayın aydınlatılmasında delil olabilecek birçok değerli
veriye ulaşmak mümkün olmaktadır.
Bilişim teknolojisi cihazlarından elde edilebilecek ve sayısal delil niteliği
taşıyabilecek veriler aşağıdaki şekilde listelenebilir.
• Fotoğraf ve video kayıtları,
• Doküman dosyaları (word, excel, ppoint vb),
• Sistem log kayıtları,
• Browser geçmiş gezinti kayıtları,
• Sistem registery kayıtları,
• Uygulama yazılımlarında tutulan kayıtlar,
• Silinmiş dosya ve klasörler.
Olay yeri inceleme ve adli bilişim tekniklerine göre delil çıkartma işlemleri
sırasında yapılabilecek çalışmalar; mevcut dosya araması, silinmiş dosya
25
araması, unallocated alandan dosya araması, kelime araması, internet işlemleri,
link dosyaları, print spool dosyaları, registry incelemesi, dosya imza analizi, hash
analizi, geri dönüşüm kutusu kurtarma, swap dosyası, kullanılmayan disk
alanları, windows açılışında otomatik çalışan programlar, saklanmış bölümler
(hidden partitions) şeklinde sıralanabilmektedir.
Burada belirtilen adli bilişim teknikleri ve sayısal deliller bu çalışma kapsamında
geliştirilen yazılımda da yöntem ve materyal olarak kullanılmaktadır.
3.4. NSFDSS ve Fuzzy Vikor Yöntemi
Bulanık modelin belirlenmesi ve geliştirilmesi aşamasında öncelikli olarak
bugüne kadar kullanılmış ve kabul görmüş teorilerden Chen (1998) tarafından
geliştirilmiş olan Nonstructural Fuzzy Decision Support System (NSFDSS) ve
Fuzzy Vikor methodu (Chen ve Wang, 2009) incelenmiştir. 1998‘de geliştirilen
NSFDSS yöntemine göre ana kriterler problem çözümü için dallara ayrılır. Her
dalın altındaki alt kriterlerin sayısı arttıkça problem çözümüne ulaşılır. Bu
yöntemde basit kombinasyonlar kullanılır. Kombinasyonlarla her alt kriterin
diğer kriterleri ne kadar etkilediğinin değerleri üretilir. Ayrıca tüm alt kriterlerin
problem üzerindeki etkisine göre kriterlikten çıkarılması gibi durumlar test
edilir.
Fuzzy Vikor yöntemi ise, birbirleriyle uyumsuz kriterler içeren problemler için
karar vericilere yardımcı olmak amacıyla kullanıldığından, bu çalışmada Fuzzy
Vikor yöntemine odaklanılmıştır.
Twitter verileri, whatsapp verileri veya rehberde bulunup bulunulmaması gibi
belirlenen kriterler tek başlarına bir anlam ifade etmek için yetersiz görünse de
her biri bir çözüm denklemi olarak birlikte değerlendirildiğinde yakınlığa ilişkin
sonuç vermektedir.
3.5. Mobil Adli Bilişim Yazılımı Geliştirme Sürecinde Root, Adb Yöntemleri
ve Programlama Dilleri Linux sistemlerde root hesabı yönetici yetkilerine sahiptir ve işletim sistemi
üzerinde tüm işlemleri gerçekleştirebilir. Android işletim sisteminin Linux
26
işletim sistemi çekirdeğini kullanması nedeniyle aynı root yetkileri android
sistemlerde de geçerlidir. Mobil cihazlarda üreticiler root ayarlarını kullanıcılara
kilitlemekte ve cihazlara tam kontrol sağlanmasını engellemektedir.
Root yetkisi olmayan bir kullanıcı hesabı, cihaz üzerinde sistem seviyesinde hiç
bir şeyi değiştirememektedir. Root yetkisine sahip kullanıcı ise, cihaz üzerindeki
herşeyi kontrol edebilir.
Android root araçları kullanılacak platformlara göre değişiklik göstermektedir.
Bu çalışma yapılırken öncelikle mobil telefonlar için root araçları incelenmiştir.
Android’li akıllı telefonlarda root erişimini sağlamak için çeşitli yöntemler tercih
edilmektedir. Bu yöntemlerden bazıları oldukça kolayken karmaşık çözümler de
bulunmaktadır.
Root erişimini sağlamanın en kolay yolu bu işlemi otomatik gerçekleştiren
araçlardan geçmektedir. Bulut tabanlı olarak görev yapan bu araçlar cihazları
taramakta ve root erişimi için en uygun yolu tespit ederek brute-force adı verilen
atak yöntemiyle işlemi gerçekleştirmektedir. Zor yöntem ise biraz karmaşık olan
custom recovery flaşlama ve güncel SuperSU’yu yükleme gibi zahmetli
işlemlerdir. Bütün bu işlemleri daha da kolaylaştıran hazır araçlardan bazıları;
Kingroot, Cf auto root, One click root, Towelroot ve Rescue root olarak sayılabilir.
Kingroot, bulut tabanlı bir uygulamadır. Android işletim sistemli akıllı
telefonlarda root erişimini sağlamak için faydalanabilecek en ideal çözümlerden
biridir. Root başarımı oldukça yüksek olan yazılım, piyasadaki bilinen birçok
akıllı telefonu desteklemektedir.
Ünlü geliştirici Chainfire tarafından geliştirilen CF Auto Root, stok recovery
imajını iyileştirerek otomatik rootlama paketine dönüştüren bir sistemi
kullanmaktadır. Bu paketler cihaza SuperSU’yu yüklemek ve etkinleştirmek için
tasarlanmıştır, yani root erişimi sağlamaktadır. Otomatik root daha çok Samsung
cihazları hedeflese de Nexus serisi ve Motorola etiketli birçok akıllı telefonda da
çalışmaktadır.
27
One Click Root, başlangıçta tüm Android cihazları destekleme hedefiyle yola
çıkan ancak android cihazların çeşitliliği nedeniyle tüm cihazlarda henüz
istenilen başarıyı yakalayamayan bir uygulamadır. Uygulamanın geliştirme
ekibinin, mobil cihaz piyasasında yer alan bir çok Android cihaza sağlanacak
destek için çalışmaya devam ettiği ve her geçen gün desteklenen cihaz sayısının
arttığı bilinmektedir.
Towelroot, ünlü hacker Geohot’ın Android için geliştirdiği otomatik root aracıdır.
Uygulamanın akıllı telefona yüklenmesi gerekmektedir. Yapılan denemelerde 3
Haziran 2014’ten önce üretilen akıllı telefonları desteklediği, güncel cihazlarda
olumlu sonuçlar vermediği görülmüştür.
Rescue Root, bilgisayar üzerinde çalışan, akıllı telefonu USB kablosuyla sisteme
bağlamak gereken bir uygulamadır. Android root veritabanında özel scriptler ve
spesifik cihazlar için exploitler bulunmaktadır. Android 1.x, 2.x, 4.0.x ve 4.1.x
kurulu akıllı telefonları tam olarak desteklemektedir. Veritabanında akıllı
telefonlardan tabletlere ve e-kitap okuyuculara uzanan 1000’i aşkın cihaz
bulunmaktadır. Rescue Root belirli cihazlarda root işlemini takip etme ve
özelleştirme imkanı sağlamaktadır. Genellikle telefonu PC’ye bağlamak ve basitçe
bir butona tıklamak yeterli olmaktadır. Yazılımın ücretsiz sürümünde akıllı
telefonun root erişimi için desteklenip desteklenmediği analiz edilebilmektedir.
Root erişimini sağlamak için ise ücretli olarak lisans yükseltmesi yapmak
gerekmektedir.
Mobil cihazları root etmek için kullanılan birçok uygulama yazılımı bu kapsamda
incelenerek root yapma işlemleri gerçekleştirilmiş ve geliştirilen yazılımın içinde
yer alması için exploit yöntemini kullanan bir root modülü ayrıca kodlanmıştır.
Ancak android cihazların donanımsal çeşitliliklerinden kaynaklanan problemler
ve cihaza yapılacak root kaynaklı fiziksel müdahalenin adli bilişim incelemele
aşamalarında çıkarabileceği teknik ve hukuki problemler düşünülerek
geliştirilen yazılıma bu modül eklenmemiştir.
Geliştirilen yazılım root edilmiş cihazdan mantıksal ve fiziksel imaj, root
edilmemiş cihazdan ise mantıksal imaj alabilmektedir.
28
Android cihazlardan imaj almak için cihaza bağlanma işlemi adb (android hata
ayıklama köprüsü) aracılığıyla gerçekleştirilmektedir. Adb bir android cihazla
iletişim kurulmasını sağlayan çok yönlü bir komut satırı aracıdır. Geliştirilen
yazılıma entegre edilen imaj alma modülü adb komutunu grafik arayüzden
çalıştırabilmektedir. Adb; uygulama yükleme, hata ayıklama, veri kopyalama gibi
çeşitli aygıt işlemlerini kolaylaştıran ve birçok komutu çalıştırarak Unix
kabuğuna erişim sağlayan bir komut aracıdır. USB üzerinden sisteme bağlanan
cihazla adb iletişiminin sağlanabilmesi için cihazda USB hata ayıklamasının
etkinleştirilmesi gerekmektedir.
Alınan imajlar içerisinde yer alan dosyalarda ve veritabanlarında inceleme
yapmak da geliştirilen yazılımla mümkündür. Yine aynı şekilde farklı yazılımlarla
alınmış imajlar üzerinde de geliştirilen yazılım inceleme yapabilmektedir.
Mobil adli bilişim yazılımı java programlama dili kullanılarak NetBeans
geliştirme ortamında kodlanmıştır. Android cihazlarda çalışan yazılım
modüllerinde java dilinin dışında mysql veritabanı, php ve python dilleri tercih
edilmiştir.
29
4. ARAŞTIRMA BULGULARI
Geliştirilen yazılıma ait ekran görüntüsü Şekil 4.1‘de görüldüğü gibi kolay bir
arayüze sahiptir. Öncelikle bilgisayara bağlı android cihazlar yazılım tarafından
tanınmakta ve Aygıtlar bölümünde listelenmektedir. Aygıtlar bölümünde
listelenen cihazlardan işlem yapılmak istenen cihaz kodu seçildiğinde seçili
cihaza ait bilgiler arayüzün en alt bölümünde listelenmektedir. Ayrıca seçili cihaz
üzerinde farenin sağ tuşuna tıklandığında, cihazı yeniden başlatmak için
kullanılan Cihazı Yeniden Başlat ve cihazın imaj alma (yedekleme) işlemini
başlatan İmaj Al menüleri açılmaktadır.
Şekil 4.1. Geliştirilen yazılıma ait ana pencere
Ayrıca mobil cihazdan elde edilen imaj dosyası, Dosya menüsü altında yeralan
İmaj Açma menü seçeneği ile istenen bir klasöre açılabilmektedir. Analiz menüsü
ise açılan imaj dosyası içerisindeki tüm veritabanı dosyaları ve delil
incelemesinde önemli olan dosya türlerinde inceleme yapılmasını sağlayan alt
menüleri içermektedir.
4.1. Delil Elde Etme İşlemleri
Adli bilişim süreçlerinin ilk aşaması elde etme ya da toplama aşamasıdır. Yapılan
çalışmada delil elde etme işlemleri mobil cihazın imajının alınması, imajın
30
açılarak tüm verilere ulaşılması ve sosyal medya üzerinden veri elde etme olarak
işlem basamaklarına ayrılmıştır.
4.1.1. İmaj alma işlemleri
Bu aşamada, geliştirilen yazılım bilgisayara usb veri kablosu aracılığıyla bağlı
mobil cihazdan dijital delil toplanmasını imaj alma işlemiyle sağlamaktadır.
İmaj alma işlemi için program arayüzünde görülen “Aygıtlar” bölümünden mobil
cihaz seçilerek üzerinde fare ile sağ tuşa tıklanır ve açılan menüden “İmaj Al”
seçeneği tıklanır. Şekil 4.2‘de gösterilen İmaj Alma İşlemleri penceresinde ise
yedek alınacak klasörü seçmek için Klasör Seç butonu tıklanır.
Şekil 4.2. İmaj alma penceresi
Klasör Seç butonuna tıklandıktan sonra açılan ve Şekil 4.3‘te gösterilen “Lütfen
İmaj Dosya Adını Yazınız” penceresinde ise imaj alınacak klasör seçilir ve imaj
dosyasına isim verilerek Save butonuna tıklanır.
31
Şekil 4.3. İmaj alınacak klasör seçimi penceresi Şekil 4.2‘de gösterilen “İmaj Alma İşlemleri” penceresinde “Mantıksal İmaj” veya
“Fiziksel İmaj” seçeneklerinden biri seçilerek “İmaj Alma İşlemini Başlat” butonu
tıklanır ve imaj alma işlemleri başlatılır. Seçili olan klasöre imaj alma işleminin
gerçekleştirilmesini sağlayan ana komut aşağıdaki gibidir.
adb.exe backup -apk -shared -all -system -f+" "+path
İmaj alma işlemlerine ait kodlar Ek A1’de verilmiştir.
4.1.2. İmaj açma işlemleri
Adli bilişim inceleme sürecinde imaj açma işlemleri de mobil cihazdan veri elde
edebilmek için yapılan bir işlem olması nedeniyle elde etme aşamasının önemli
bir basamağını oluşturmaktadır.
Geliştirilen yazılım kullanılarak alınan imaj dosyaları, yazılıma eklenen “Dosya”
menüsü altında yer alan “İmaj Açma” menü seçeneğine tıklanarak açılmaktadır.
Bu menüye ait ekran görüntüsü Şekil 4.4’te görülmektedir.
32
Şekil 4.4. İmaj açma menü penceresi
İmaj açma menü seçeneğine tıklandıktan sonra Şekil 4.5’te görülen “İmaj Açma”
penceresi görüntülenir.
Şekil 4.5. İmaj açma işlemleri penceresi (işlemler öncesi)
Bu pencerede “İmaj Dosyası Seç” butonuna tıklanarak açılan ve Şekil 4.6’da ekran
görüntüsü verilen pencereden imaj dosyası seçilerek “Aç (open)” butonu tıklanır.
33
Şekil 4.6. İmaj dosyası seçme penceresi
İmaj dosyası seçildikten sonra, imaj dosyasının içeriğinin çıkartılacağı klasör,
“İmajın Açılacağı Klasörü Seç” butonu tıklanarak açılan Şekil 4.7’deki pencereden
seçilerek bir dosya ismi girilir ve “Kaydet (save)” butonu tıklanır. Burada ab
uzantılı imaj dosyasının öncelikle tar dosyasına dönüştürülmesi sonra da tar
dosyasının açılması işlemi gerçekleştirildiğinden dosya ismi girilmesi
gerekmektedir.
Şekil 4.7. İmajın açılacağı klasörü seçme penceresi
34
İmajın açılacağı klasör seçimi işleminden sonra, imaj dosyası oluşturulurken
dosya bir şifre ile korunmuşsa Şekil 4.8’de görülen pencerede “Şifre” bölümüne
bu şifre girilir yoksa boş bırakılır ve “İmaj Açma İşlemini Başlat” butonuna
tıklanarak işlem başlatılır.
Şekil 4.8. İmaj açma işlemleri penceresi (işlemler sonrası)
Seçili olan klasöre imaj dosyasını açmak için aşağıdaki iki komut satırı
kullanılmıştır.
java -jar C:\\abe\\abe.jar unpack" + " " + bkpFileName +
" " + openDrcName + " " + password
C:\\Program Files\\7-Zip\\7z.exe x" + " " + openDrcName +
" " + "-o" + resultString +" " + "-aoa"
İmaj açma işlemlerine ait kodlar Ek A2’de verilmiştir.
4.1.3. Sosyal medya verilerinin elde edilmesi
Mobil cihazı incelenen kişiye ait sosyal medya verilerinin elde edilmesi adli
bilişim inceleme sürecinde birinci aşama olan elde etme sürecinin yine önemli bir
basamağını oluşturmaktadır.
Kişinin twitter hesap adı kullanılarak, twitter api yardımıyla çekilen verileri
sistemli olarak kaydeden bir web yazılımı php programlama dili kullanılarak
35
geliştirilerek mobil adli bilişim yazılımına entegre edilmiştir. Hesap adı incelenen
kişinin Twitter verilerinin alınması için Şekil 4.9’da gösterilen mobil adli bilişim
yazılımı penceresinde “Sosyal Medya” menüsünden “Twitter Veri Elde Etme”
seçeneği tıklanmalıdır.
Şekil 4.9. Sosyal medya penceresi
Bu seçenek tıklandığında açılan web arayüzü Şekil 4.10’da görülmektedir.
Şekil 4.10. Twitter verileri elde etme ekranı
Web yazılımında kullanılan mysql veritabanının genel yapısı Şekil 4.11‘de
görülmektedir.
36
Şekil 4.11. Veritabanı yapısı
Geliştirilen yazılım öncelikle ana hesabın takipçilerini (follower) ve takip
ettiklerini (following) veritabanına kaydetmektedir.
Sonraki aşamada da yazılım; ana hesabın takipçilerinin takipçilerini (follower to
follower) ve ana hesabın takipçilerinin takip ettiklerini (follower to following),
ana hesabın takip ettiklerinin takipçilerini (following to follower) ve ana hesabın
takip ettiklerinin takip ettiklerini (following to following), veritabanına
kaydetmektedir. Geliştirilen yazılım twitter apilerinden faydalanarak verileri
elde etmektedir.
Twitter veri elde etme işlemlerine ait kodlar Ek A3 ve Ek A4’te verilmiştir.
4.2. Tanımlama İşlemleri
Adli bilişim süreçlerinin ikinci aşaması tanımlama ya da inceleme aşamasıdır.
Yapılan çalışmada tanımlama işlemleri, dosya türlerine göre inceleme ve
veritabanı inceleme olarak işlem basamaklarına ayrılmıştır.
37
4.2.1. Dosya türüne göre inceleme işlemleri
Bu aşamada, geliştirilen yazılımla alınan imajın içindeki tüm dosyaların bir
klasöre çıkartılmış kopyası üzerinde jpg, txt, pdf, html ve mp4 dosya türlerinde
inceleme yapılabilmektedir.
Delil incelemesi için açılmış dosyalar üzerinde yapılacak adli bilişim analizleri
için Şekil 4.12’de gösterilen “Analiz” menüsü altında yeralan “Dosya İşlemleri”
menü seçeneği tıklanır.
Şekil 4.12. Analiz menüsü dosya işlemleri alt menü penceresi
Öncelikli olarak belirlenen 5 farklı dosya türünde analiz işlemleri
yapılabilmektedir. Şekil 4.13’te dosya türüne göre delil incelemesi yapılan
arayüzde resim dosyası inceleme ile ilgili bir ekran görüntüsüne yer verilmiştir.
Şekil 4.13. Analiz menüsü dosya işlemleri penceresi (resim inceleme)
38
Şekil 4.14’te dosya türüne göre delil incelemesi yapılan arayüzde video dosyası
inceleme ile ilgili bir ekran görüntüsüne yer verilmiştir. Burada imaj içerisinde
seçilen video dosyası adli bilişim uzmanı tarafından incelenirken dosyanın aynı
pencerede oynatıldığı ve dosya ile ilgili tanımlayıcı bilgilerin açıldığı bir pencere
görülmektedir. Video dosyalarının panel üzerinde oynatılabilmesi için vlcj player
api kullanılmıştır.
Şekil 4.14. Analiz menüsü dosya işlemleri penceresi (video inceleme)
Diğer dosya türlerinin meta bilgilerinin alınabilmesi için de tika api geliştirilen
yazılıma entegre edilmiştir. Farklı dosya türlerinden veri elde etme işlemlerini
gerçekleştirmek için geliştirilen kodlar Ek A5’te verilmiştir.
4.2.2. Veritabanı inceleme işlemleri
Adli bilişim süreçlerinden inceleme aşamasında veritabanı dosyaları da
incelenmektedir. Adli bilişim incelemelerinde en önemli konulardan olan,
programların kayıtları, browser geçmişi, arama sonuçları vb. verilerin tutulduğu
veritabanı dosyaları üzerinde de işlem yapabilmek için yazılıma ek bir modül
geliştirilmiştir.
Veritabanı inceleme işlemlerini yapabilmek için Şekil 4.15’te gösterilen “Analiz”
menüsü altında yeralan “Veritabanı Analizi” menü seçeneği tıklanır.
39
Şekil 4.15. Analiz menüsü veritabanı analizi alt menü penceresi
Şekil 4.16’da incelemeler sırasında elde edilen bir ekran görüntüsü de verilen
yazılım modülü ile delil incelemesinde kullanılabilecek bir çok veritabanı
dosyasına erişilebilmektedir. Geliştirilen bu modül ile öncelikle imaj içindeki tüm
veri tabanı dosyaları otomatik olarak bulunarak listelenebilmekte, seçilen
veritabanı dosyasına ait tablolar seçilerek üzerlerinde incelemeler
yapılabilmektedir.
Şekil 4.16. Veritabanı inceleme penceresi
40
Ancak analiz işlemleri için geliştirilen yazılım modülünde bu veritabanlarından
bazıları seçilmiş ve bu veritabanlarından elde edilen veriler arasındaki ilişkiler
üzerinden incelemeler yapılmıştır. Burada kullanılan veritabanları, adres yolu ve
içerikleri;
• Telefon rehberinde kayıtlı kişilerin bilgilerinin yeraldığı
android.providers.contacts/databases/ içerisinde yer alan contacts2.db
veritabanı dosyası,
• Facebookda kayıtlı kişilerin bilgilerinin yeraldığı com.facebook.orca/ ve
com.facebook.katana/ içerisinde yer alan contacts2.db veritabanı dosyaları,
• Whatsappda kayıtlı kişilerin bilgilerinin yeraldığı
com.whatsapp.databases/ içerisinde yer alan wa.db veritabanı dosyaları,
şeklinde özetlenebilir.
Veritabanı dosyalarını inceleme ve veri elde etme işlemlerini gerçekleştirmek
için geliştirilen kodlar Ek A6’da verilmiştir.
4.3. Değerlendirme İşlemleri
Adli bilişim süreçlerinin üçüncü aşaması değerlendirme aşamasıdır. Yapılan
çalışmada değerlendirme işlemleri, şüpheliyle yakın ilişkili olabilecek kişilerin
tahminlemesi ve karar verme kriterlerinin belirlenmesi olarak işlem
basamaklarına ayrılmıştır.
4.3.1. Şüpheliyle yakın ilişkili olabilecek kişileri tahminleme algoritması
Bu noktaya kadar incelenen mobil cihazın ve mobil cihazı kullanan kişiye ait
sosyal medya hesaplarının incelenmesinden, sosyal medya ana hesap sahibinin
takipçileri, takip ettikleri, takipçi ve takip ettiklerinden telefon rehberinde kayıtlı
olanların sayısı, rehberinde kayıtlı olanlarla yaptığı telefon görüşme sıklığı, aynı
kişilerin facebook hesaplarında ekli olması ve görüşme skorları, whatsapp
rehberinde bulunma durumlarını içeren bilgiler elde edilmiştir.
Bu çalışmada elde edilen ve incelenen yaklaşık 3400 farklı kişi arasındaki
samimiyet kriterleri (facebook, whatsapp, arama sayısı, ortak arkadaş kriterleri)
41
sonucu üretilen değerler birbirine yakındır. Bu sebeple samimiyet skorlaması
yaparken Fuzzy Vikor yöntemi iyi bir ölçümleme yapmak için uygundur. Fakat
eldeki verilere yeni parametreler eklendiğinde samimiyet skoru oldukça farklı
olarak değişkenlik gösterebilir. Örneğin; kişinin her gün yanında olan bir kişiyi
arama ihtiyacı hissetmemesi, ya da bu kişiyle ortak sosyal medya hesaplarını
kullanıyor olması gibi durumlar samimiyet skorunda farklı etkiler ortaya
çıkarabilir hatta samimiyet skorunu öyle arttırabilir ki diğer kişilerle olan
samimiyeti anlamsızlaşabilir. İşte problemi bulanık mantık yapan sorunlar da
tam olarak bu ve buna benzer durumlardır.
Samimiyet problemini aşağıdaki örnek üzerinde incelemek mümkündür, Faruk
isimli kişiye “en samimi olduğun kişi kimdir?“ sorusu yöneltilince, Faruk cevap
olarak; en samimi olduğu kişinin Ecir olduğunu söyler. Olasıdır ki Ecir’le ortak
arkadaşı vardır ve Ecir tüm sosyal mecralarda bulunmaktadır. Bu değerler
alındıktan sonra Faruk’a tekrar “Ecir ile samimi olduğunu söylüyorsun ama
Burak kişisi de rehberinde var, facebookta var, whatsappta var Burak ile Ecir'e
yaptığın arama sayıları birbirlerine benzer. Burak ile samimiyet derecen nedir?”
sorusu yöneltilince, Faruk; “Burak benim patronumdur, Burak ile konuşurum
ama sevmem, Burak ile eskiden samimiydim artık değilim” şeklinde cevap
verebilir.
Bu tarz sentiment (duygusal) problem çözümlemelerinde Burak outlier (aykırı
değer) olarak bırakılabilir veya Burak gibi aykırı değerler ayrı bir dizide
tutulabilir. Bu aykırı değerler "En samimi olduğun kişi kimdir?" probleminin
çözümünü farklılaştırsa da kişinin gelecekteki en samimi olabileceği kişiler
hakkında bilgi verebilir. Amaç, X tarihindeki samimiyeti bulmak ise bu aykırı
değerlerin bir önemi yoktur. Fakat X tarihinde elde edilen verilerle X++
tarihindeki (X tarihinden sonraki bir gündeki) problem çözümü için "En samimi
olduğun kişi kimdir?" probleminin çözümlemesi yapılıyorsa, bu aykırı değerler
bir dizide tutulmalıdır.
Bu çalışmadaki problem, yukarıdaki bilgiler ışığında tekrar incelendiğinde, Vikor
ve NSFDSS çözümlemelerinin 1998 ve 2007 yıllarında gelişim göstermiş çoklu
kriterli karar verme yöntemlerinden olduğu ancak bu çalışmada yapılan problem
42
çözümünde bir skor üretirken daha önce kullanılan bu yöntemlerden farklı ve
yeni bir çözüm yoluna ulaşılmıştır. Bu çözüm yolu; karar verme kriterlerinin
belirlenmesi ve optimum çözüm yaklaşımı ile karar verilmesi, olmak üzere 2 ana
aşamadan oluşmaktadır.
4.3.2. Karar verme kriterlerinin belirlenmesi
Tasarlanan algoritma ve yazılım, şüphelilerin veya mağdur kişilerin, samimiyet
analizine yönelik karar vermeye dayalı işlemlerde kullanılmak amacıyla
oluşturulmuştur.
Geliştirilen karar yapısında, cihazdan elde edilen veriler ile kullanıcının internet
bağlantılı platformlarda bıraktığı herkese açık veriler arasında bir ilişki
kurularak; en çok iletişimde olunan veya az iletişimde olunsa dahi kişiyi fazlasıyla
tanıyabilecek birilerine ulaşmak amacı öncelikli hedeftir.
Karar verme kriterlerinde bu tarz bir samimiyet analizinin sağlıklı yapılabilmesi
her zaman mümkün olmamaktadır. Bunun nedeni kullanıcının farklı olaylara
verdiği tepki, bulunduğu çevre, teknolojiye olan yatkınlığı, sık görüşülen kişilerle
dijital platformlarda az iletişim kurulması gibi bir çok kritere bağlıdır.
Geliştirilen algoritma ise kullanıcıdan alınan bilgilerden bir desen oluşturmaya
yönelik derinliğe sahiptir. Bu haliyle adli bilişim sürecinin çözümleme aşaması bu
basamakta gerçekleştirilmektedir. Oluşturulan kriterler ise;
Twitter üzerinden elde edilen bilgiler,
Whatsapp üzerinden elde edilen veriler,
Rehberden elde edilen veriler,
Facebook üzerinden elde edilen veriler, olarak belirlenmiştir.
Twitter üzerinden elde edilen bilgiler sonucunda incelenen kullanıcıya ait bir
derinlik yapısı keşfedilmektedir. Twitter üzerinde kullanıcılar genellikle haber
almak istedikleri kişileri takip ederler. Bu durum karşılıklı olarak yapıldığında ise
kullanıcıların birbirlerinden dijital bilgi aldıkları yorumu yapılabilmektedir. Tek
başına bu değişken bir iletişim gücü anlamı taşımasa da; takip ettiklerinin
43
takipçileri, takipçilerinin takip ettikleri ve takip edenleri, takipçilerinin
takipçilerinin takip ettikleri gibi çaprazlamalar her bir kullanıcının incelenen
kişiye olan uzaklığına dair ipuçları vermektedir.
Twitter'ın diğer sosyal mecralarda çok fazla görülmeyen herkese açık bilgi
paylaşımı özellikleri ise kişi ile yakın ilişkili olan kişilerin tahminin yapılmasında
en önemli değişkenlerden biridir. Twitter üzerindeki verilerde değerlendirilen
ölçütler;
Z1 = takipçilerinin takipçilerinden (followers of followers) ortak olanların sayısı,
Z2 = takipçilerinin takip ettiklerinden (followings of followers) ortak olanların
sayısı,
Z3 = takip ettiklerinin takipçilerinden (followers of followings) ortak olanların
sayısı,
Z4 = takip ettiklerinin takip ettiklerinden (followings of followings) ortak
olanların sayısı, olarak belirlenmiştir.
Her bir alt kriterden alınan veri diğerinin değerlendirilmesinde sayısal olarak bir
bağımlı değişken etkisi oluşturmaktadır. Örneğin; bir kişi takip edildiğinde o
kişinin takipçileri arasındaki her kişi ana kullanıcıya benzer bir amaçla onu takip
ediyor olabilir. Aynı şekilde Z1, Z2, Z3, Z4 kriterleri üzerinden alınan verilerin
kıyaslanması, verisi incelenen kişiye benzer kişilerin cihazında verisi olmasa bile
değerlendirmede bir kriter oluşturabilir. Bu sebeple dijital ortamda birbirlerini
takip etmeseler dahi birbirine yakın davranışlarda bulunan kişilerin tespit
edilmesi biraz daha somut hale getirilir.
Aynı zamanda kişinin takip ettiği ve onu takip eden kişiler de ayrı bir katsayı
olarak değerlendirilmektedir. Bu kriter, karşılıklı takip olması durumunda genel
puanlamaya 0.2 puan etki ederken; Z1, Z2, Z3, Z4 kriterlerinden elde edilen
puanlara bakılarak en yüksek puanı alan kişiye 0.2 puan ve diğerlerine de bu
puana uygun olarak ağırlıklandırılmış oranlarda etki edecek şekilde puanlama
yapılmıştır.
Whatsapp üzerinden elde edilen veriler de bu çalışmada oldukça önemli bir
kriteri sağlamaktadır. Çünkü, Whatsapp mobil cihazlarda en çok kullanılan kişisel
44
mesajlaşma programlarından biridir. Ücretsiz olması ve kişilerin internet erişimi
olan her yerden ücretsiz dosya paylaşmaları, konum göndermeleri gibi sebepler
whatsapp üzerinden iletişime geçilen kişi hakkında önemli bilgiler vermektedir.
Whatsapp tek başına bir samimiyet ya da yakınlık değerlendirmesi
oluşturmazken bu uygulamadan elde edilen veriler diğer uygulamaların verileri
ile çaprazlandığında yardımcı bir kriter olarak çözüme katkı sağlamaktadır.
Kişilerin whatsapp rehberinde kayıtlı olması 0,2 puan olarak değerlendirmeye
etki etmektedir.
Rehberden elde edilen veriler için, rehberde kayıtlı bulunan kişiler ve cihaz
sahibinin iletişim kurduğu kişileri arama sayılarına ait veriler, mobil cihazlar
içerisinden çevrimdışı olarak elde edilebilecek en önemli değişkenlerdendir.
Arama sayıları verilerine bakılarak, en fazla arama yapılan kişinin yakınlığa etkisi
1,0 maksimum puan üzerinden değerlendirilir ve diğer arama sayıları da 1,0
puanına oranla rehberde bulunan tüm kullanıcılara uygulanır. Rehber kriterinde
listede bulunmak toplam yakınlığa 0,1 puan etki eder ve maksimum arama
yapılan kişi de 0,1 puan olarak değerlendirilir.
Facebook üzerinden elde edilen verilerde de Facebook üzerinde arkadaş
olunması ile ilgili bilgi 0,2 puan ile değerlendirilir. Facebook değerlendirme
kriteri içerisine mesajlaşma, yer bildirimleri ve fotoğraflarda bulunma gibi
değişkenler de eklenebilir fakat bu çalışmada sadece arkadaş listesinde
bulunulması ile ilgili değerlendirme yapılmıştır.
Yukarıda detayları anlatılan bulanık yapıdaki puanlama sistemi için geliştirilmiş
modele ait formül denklem 4.1‘de görülmektedir.
𝑆 = ∑ 𝑋𝑖 ∗ 0,2 + ∑ 𝑌𝑗 ∗ 0,1
2
𝐽=1
(4.1)
4
𝑖=1
Denklem 4.1’de;
X1 = twitter yakınlık katsayısı(X1ort Xort[max]⁄ )(0 − 1aralığında)
X1ort = twitter ortak arkadaş sayısı ortalaması
Xort[max] = twitter ortak arkadaş sayısı ortalamalarının maksimumu
45
X2 = karşılıklıtakip(0veya1)
X3 = whatsapp(0veya1)
X4 = facebook(0veya1)
Y1 = rehber(0veya1)
Y2 = aramasayısıkatsayısı(0 − 1aralığında)
S = Yakınlık Samimiyet⁄ derecesi(0 − 1aralığında)
olarak tanımlanmaktadır. Ayrıca bu denklemde hesaplanan 𝑋1 değerinin
oluşmasını sağlayan 𝑋1𝑜𝑟𝑡 değerini hesaplamak için geliştirilen modele ait
formülün denklemi de denklem 4.2‘de görülmektedir.
𝑋1𝑜𝑟𝑡 =1
4∑ 𝑍𝑖 (4.2)
4
𝑖=1
Denklem 4.2’de;
Zi = ortak arkadaş sayısı
Z1 = takipçilerinin takipçilerinden(followersoffollowers) ortak olanların sayısı
Z2 = takipçilerinin takipettiklerinden(followingsoffollowers) ortakolanların sayısı
Z3 = takip ettiklerinin takipçilerinden(followersoffollowings) ortakolanların sayısı
Z4 = takip ettiklerinin takipettiklerinden(followingsoffollowings) ortak olanların sayısı
X1ort = twitter ortak arkadaş sayısı ortalaması
olarak tanımlanmaktadır.
Formülde de açıkça belirtilen kriterlerin ortak özellikleri incelendiğinde,
Her kriterin herkese açık veriler ile çaprazlanma özelliği olduğundan
değerlendirmeye alındığı,
Her kriterin kendi içerisindeki puanlama sisteminde frekans ölçümlemesi
temel alınarak puanlandığı,
46
Her kriter tek başına bir değerlendirme ölçütü de olabileceği için ve bu durum
kişiden kişiye katsayı anlamında değişiklik gösterebilecektir. Bundan dolayı
çalışmada kriterlerin eşit katsayılara bölündüğü, açıkça görülmektedir.
Burada belirlenen kriterler ile yakınlık derecesi ölçülürken, en çok kullanılan
platformlar ve uygulamalar dikkate alınmıştır.
4.4. Raporlama İşlemleri
Adli bilişim süreçlerinin dördüncü ve son aşaması raporlama aşamasıdır. Yapılan
çalışmada raporlama işlemleri, optimum çözüm yaklaşımı ile karar verilmesi
aşamasıyla gerçekleştirilmektedir.
4.4.1. Optimum çözüm yaklaşımı ile karar verilmesi
Karar vericilerin kararlarına etki etmesi ya da iz üzerinde olan kişilerin dijital
veriler doğrultusunda bilimsel olarak sonuca ilerleyebilmeleri için geliştirilen
algoritma içerisindeki en önemli özelliklerden biri; farklı uygulamalar arası
ilişkiler kurulmasıdır. Bu ilişkiler dizisi içinde her zaman incelenen kişinin en
samimi olduğu veya en yakın olduğu kişiyi bulmak direkt olarak mümkün ya da
yeterli olmamaktadır.
Geliştirilen algoritma, toplanan dijital veriler üzerinden kısa sürelerde belirli
köşe taşlarına ulaşmayı hedefleyecek şekilde tasarlanmıştır. Bu sebeple karar
sürecinde kritik noktalara hızlı ulaşılması için önemli bir kolaylık sağlamaktadır.
Bu sebepler göz önünde bulundurulduğunda geliştirilen algoritmanın
oluşturduğu örüntü "karar verme süreçlerinde bilişim teknolojilerinin
kullanılması" açısından önemli bir aşama oluşturmaktadır. Adli olaylarda ya da
soruşturmalarda her zaman veri analizi ve köşe taşları oluşturmak veya
şüphelilere ulaşmak için yeterli zamana sahip olunmamaktadır, mümkün olan en
kısa sürede en etkili sonuca ulaşmak gerekmektedir.
47
Burada bahsedilen tüm sebepler düşünüldüğünde bulanık bir yapı içerisinde,
geliştirilen algoritma ve bu algoritma örüntüsünün kullanılması süreçlerin hızlı
bir şekilde etkin sonuca ulaşmasına önemli katkı sağlamaktadır.
Geliştirilen algoritma, cihazlardan elde edilen verilerin artmasıyla birlikte
kendine yeni kriterler eklenmesine imkan sağlayabilmektedir.
Yukarıda özellikleri anlatılan algoritma kullanılarak geliştirilen şüpheliyle yakın
ilişkili olabilecek kişileri tahminleme yazılımı modülü, mobil adli bilişim yazılımı
ana penceresinde Şekil 4.17’de görülen Samimiyet Skoru menüsü altındaki
Hesapla seçeneği tıklanarak çalışmaktadır.
Şekil 4.17. Samimiyet skoru menüsü hesapla alt menüsü penceresi Geliştirilen yazılım modülü, Hesapla seçeneği tıklandıktan sonra, veri elde etme
aşamalarında elde edilen verileri içeren bir excel dosyasından aldığı verileri
kullanarak, kullanıcıyla yakın irtibatlı olabileceği değerlendirilen kişileri
skorlayarak listelemekte ve Şekil 4.18’de verilen excel dosyasında görüldüğü gibi
bu listeyi raporlamaktadır. Bu raporla adli bilişim süreçlerinin son aşaması olan
raporlama aşaması da gerçekleştirilmektedir.
48
Şekil 4.18. Kişilerin skorlanmış excel listesi Bu yazılım modülünün geliştirilmesinde gelişmiş kütüphane desteği nedeni ile
python dili tercih edilmiştir.
Samimiyet skorunu hesaplayarak kişileri listelemek için geliştirilen kodlar Ek
A7’de verilmiştir.
49
5. TARTIŞMA VE SONUÇLAR
Bu çalışma sonucunda öncelikle, bir mobil cihazdan fiziksel ve mantıksal imaj
alarak bu imaj üzerinde adli analiz gerçekleştirebilen bir yazılım geliştirilmiştir.
Daha sonra, mobil cihazı incelenen şahsın yakın ilişkili olabileceği kişileri
listeleyen bir algoritma tasarlanarak bir modül kodlanmış ve geliştirilen yazılıma
entegre edilmiştir.
Gerek bu tip araştırmalar için gerekli imaj alma işleminin uzun sürmesi gerekse
hazır imaj içeren veri seti bulmanın zorluğu dolayısıyla çalışma üç farklı android
işletim sistemine sahip mobil telefon üzerinde gerçekleştirilmiştir. Geliştirilen
mobil adli bilişim yazılımının imaj alma işlem süreleri ve imaj alınan cihazlara ait
bilgiler Çizelge 5.1‘de verilmiştir.
Çizelge 5.1. İmaj alma işlemlerine ait bilgiler
İma
j a
lın
an
cih
az
bil
gis
i
Cih
az
top
lam
dis
k k
ap
asi
tesi
(G
B)
Cih
az
ku
lla
nıl
an
dis
k
ka
pa
site
si (
GB
)
Cih
az
Ra
m k
ap
asi
tesi
(G
B)
An
dro
id V
ers
iyo
n B
ilg
isi
İma
j a
lma
işl
em
i iç
in g
eçe
n
süre
(h
h:m
m:s
s)
İma
j tü
rü
İma
j d
osy
a f
orm
atı
İma
j d
osy
a b
oy
utu
(GB
)
Samsung Galaxy S3 / GT-
I9300 16 13,57 1 4.3 01:16:10 Mantıksal .ab 6,81
Samsung Galaxy Grand
Neo / GT-I9060I
8 7,85 1 4.4.4 00:41:19 Mantıksal .ab 3,98
Samsung Galaxy Note 4 /
SM-N910CQ 32 31,42 3 5.0.1 01:51:35 Mantıksal .ab 15,8
Geliştirilen yazılımla alınan mobil cihaz imajlarında yapılan incelemelerden elde
edilen rehber ve sosyal medya verileri analiz sonuçları Çizelge 5.2‘de
gösterilmiştir.
50
Çizelge 5.2. Mobil cihazdan elde edilen veriler (rehber ve sosyal medya)
İmajı incelenen cihaz bilgisi
Re
hb
erd
e k
ay
ıtlı
kiş
i sa
yıs
ı (1
kiş
inin
1d
en
fa
zla
ka
yd
ı d
a
da
hil
- te
kil
kiş
i d
eğ
il)
/ a
de
t
Fa
ceb
oo
k a
rka
da
ş sa
yıs
ı /
ad
et
Wh
ats
ap
p k
işi
say
ısı
/ a
de
t
Tw
itte
r ta
kip
ed
ile
n h
esa
p
say
ısı
/ a
de
t
Tw
itte
r ta
kip
çi s
ay
ısı
/ a
de
t
Samsung Galaxy S3 433 460 418 73 39 Samsung Galaxy Grand Neo 207 119 154 150 79
Samsung Galaxy Note 4 506 510 387 122 37
Geliştirilen yazılımla yapılan dosya türüne göre delil incelemelerinden elde
edilen verilerden birkaç örnek veri Çizelge 5.3‘te gösterilmiştir.
Çizelge 5.3. Dosya türlerine göre analiz örnek verileri
Do
sya
sın
ın u
zan
tısı
Do
sya
sın
ın k
ay
na
ğı
Do
sya
nın
olu
ştu
rulm
a
zam
an
ı
Do
sya
nın
de
ğiş
tiri
lme
za
ma
nı
Do
sya
nın
olu
ştu
ruld
uğ
u
ya
zılı
m v
ey
a p
latf
orm
.jpg GT-I9300 2015-06-
19T21:33:30 2015-06-
19T21:33:30 I9300XXUGNG3
.jpg GT-I9300 2015-07-
06T23:01:16 2015-07-
06T23:01:16 I9300XXUGNG3
.jpg Facebook - May 13 23:08:06
+03:00 2018 -
.jpg Eposta 2014-05-
26T14:05:19 2014-05-
26T11:05:19+03:00 Adobe Photoshop CC
.jpg Messenger 2014-07-
12T04:29:23 2014-07-
12T04:29:23 Apple Computer, Inc.
User
.pdf Web 2013-12-19T13:53
2013-12-19T13:53:50
Microsoft Reporting Services 11.0.0.0
.pdf Web 2008-09-
10T11:52:55 2011-02-
22T08:13:09 Acrobat Distiller 7.0.5 (Windows)
Geliştirilen yazılımla yapılan veritabanı dosyaları delil incelemelerinden elde
edilen verilerden birkaç örnek veri Çizelge 5.4‘te gösterilmiştir.
51
Çizelge 5.4. Veritabanı incelemelerinden örnek veriler
Ve
rita
ba
nı
do
sya
sı
Veri içerik bilgisi
URL veya adres kaynağı bilgisi
bro
wse
r2.d
b
Kullanıcı Giriş Bilgileri
http://uzak.sdu.edu.tr/akademik50/ASPX/Common/login_input.aspx
İlkokullara Kodlama dersi
geliyor http://m.hurriyet.com.tr/Haber?id=28636849
Şoke eden kola açıklaması -
yenisafak.com.tr
http://www.yenisafak.com.tr/hayat/soke-eden-kola-aciklamasi-2117419
Cep Telefonu Smartphone, Cep Telefonu,
Samsung
http://www.hepsiburada.com/m/samsung-cep-telefonu-smartphone-c-60002330?filtre=[{%22id%22:%22284_dp%22,%22values%22:[%221620me
gapixel%22]}]#offset=288
Erkek Ayakkabı
Modelleri | Onudabunuda.
com
http://m.onudabunuda.com/erkek-ayakkabi-modelleri/?&page=2
yumurta nasıl haşlanır | KLASİK TATLAR
http://www.klasiktatlar.com/yumurta-nasil-haslanir-1616.html
mm
ssm
s.d
b
Hediye 250 MB cepten internet kampanyaniz
basladi. Paketiniz 30
gun sonra sona erecektir.
Kullanmadiginiz haklariniz bir
sonraki aya devretmez.
250MBi asan kullanimlarda baglanti hizi
5kbpsye iner. Detaylar
www.turkcell.com.tr
Turkcell
52
Çizelge 5.5. Veritabanı incelemelerinden örnek veriler (Devam)
Ve
rita
ba
nı
do
sya
sı
Veri içerik bilgisi
URL veya adres kaynağı bilgisi
mm
ssm
s.d
b
Paraf ile 100TL ve uzeri TUM
tekstil harcamalariniz 3 taksit! Paraf
isyerlerinde ise +4 taksit ve 2 ay erteleme firsati! Ayricaliklar bu
Paraf'ta!
HALKBANK.
World Kartınıza Aıt Bır Adet Odenmemıs
Ekstrenız Bulunmaktadır.
Odeme Yapılmaması Durumunda
Hesabınız Banka Takıp Sıstemıne
Alınacaktır.
YAPIKREDI
IYASPARK AVM SARAR
Sevgililer Gununuzu
Kutluyor! 9-14 Subat tarihleri arasinda % 50 BUYUK SARAR
iNDiRiMi baslamistir.Kisin
en carpici indirimini
kacirmayin.
8505553232
1 adet sesli mesajiniz var. Dinlemek icin lutfen 7565 i
arayiniz.
7565
Şüpheliyle yakın ilişkili olabilecek kişileri tahminleme yazılımı, yukarıda
örnekleri de verilen mobil cihazlardan Samsung Galaxy S3 üzerinden çıkarılan
veriler için çalıştırıldığında elde edilen analiz sonuçlarına ait değerler Çizelge
5.5‘te görülmektedir.
53
Çizelge 5.6. Analiz sonuçları
Ku
lla
nıc
ı B
ilg
isi
Tw
itte
r o
rta
k a
rka
da
ş o
rta
lam
ası
Tw
itte
r o
rta
k a
rka
da
ş o
rta
lam
ası
nın
a
ğır
lık
lan
dır
ılm
ış k
ats
ay
ısı
Tw
itte
r k
arş
ılık
lı t
ak
ip
Wh
ats
ap
p d
a v
ar
mı?
Fa
ceb
oo
k d
a v
ar
mı?
Re
hb
erd
e v
ar
mı?
Ara
ma
sa
yıs
ı p
ua
nı?
To
pla
m P
ua
n(0
..1 a
ralı
ğı)
1. kişi 4,75 0,20 0,20 0,2 0,2 0,1 0,10 1,00 2. kişi 1,5 0,06 0,20 0,2 0,2 0,1 0,09 0,86 3. kişi 1,5 0,06 0,20 0,2 0,2 0,1 0,00 0,77 4. kişi 0,5 0,02 0,20 0,2 0,2 0,1 0,00 0,72 5. kişi 0 0,00 0,20 0,2 0,2 0,1 0,02 0,72 6. kişi 3,5 0,15 0,20 0 0,2 0 0,00 0,55 7. kişi 0,25 0,01 0,00 0,2 0,2 0,1 0,01 0,52 8. kişi 0,25 0,01 0,20 0,2 0 0,1 0,00 0,51 9. kişi 0 0,00 0,00 0,2 0,2 0,1 0,01 0,51
10. kişi 2,5 0,11 0,20 0 0,2 0 0,00 0,51 11. kişi 0 0,00 0,20 0,2 0 0,1 0,00 0,50 12. kişi 2 0,08 0,20 0 0,2 0 0,00 0,48 13. kişi 1 0,04 0,20 0 0,2 0 0,00 0,44 14. kişi 1 0,04 0,20 0 0,2 0 0,00 0,44 15. kişi 0,5 0,02 0,20 0 0,2 0 0,00 0,42 16. kişi 0 0,00 0,20 0 0,2 0 0,00 0,40 17. kişi 0 0,00 0,20 0 0,2 0 0,00 0,40 18. kişi 0 0,00 0,20 0 0,2 0 0,00 0,40 19. kişi 1 0,04 0,00 0,2 0 0,1 0,00 0,34 20. kişi 3 0,13 0,20 0 0 0 0,00 0,33 21. kişi 0,25 0,01 0,00 0,2 0 0,1 0,00 0,31 22. kişi 1,75 0,07 0,20 0 0 0 0,00 0,27 23. kişi 1,25 0,05 0,20 0 0 0 0,00 0,25 24. kişi 1,25 0,05 0,20 0 0 0 0,00 0,25 25. kişi 1,25 0,05 0,00 0 0,2 0 0,00 0,25 26. kişi 0,75 0,03 0,00 0 0,2 0 0,00 0,23 27. kişi 0,5 0,02 0,20 0 0 0 0,00 0,22 28. kişi 0,5 0,02 0,20 0 0 0 0,00 0,22 29. kişi 0,5 0,02 0,20 0 0 0 0,00 0,22 30. kişi 0,5 0,02 0,20 0 0 0 0,00 0,22 31. kişi 0,25 0,01 0,20 0 0 0 0,00 0,21 32. kişi 0,25 0,01 0,00 0 0,2 0 0,00 0,21 33. kişi 0 0,00 0,20 0 0 0 0,00 0,20 34. kişi 0 0,00 0,20 0 0 0 0,00 0,20 35. kişi 0 0,00 0,20 0 0 0 0,00 0,20 36. kişi 0 0,00 0,20 0 0 0 0,00 0,20 37. kişi 0 0,00 0,00 0 0,2 0 0,00 0,20 38. kişi 0 0,00 0,00 0 0,2 0 0,00 0,20 39. kişi 0 0,00 0,00 0 0,2 0 0,00 0,20 40. kişi 0 0,00 0,00 0 0,2 0 0,00 0,20 41. kişi 1,75 0,07 0,00 0 0 0 0,00 0,07 42. kişi 1,5 0,06 0,00 0 0 0 0,00 0,06 43. kişi 0,5 0,02 0,00 0 0 0 0,00 0,02
54
Çizelge 5.7. Analiz sonuçları (Devam)
Ku
lla
nıc
ı B
ilg
isi
Tw
itte
r o
rta
k a
rka
da
ş o
rta
lam
ası
Tw
itte
r o
rta
k a
rka
da
ş o
rta
lam
ası
nın
a
ğır
lık
lan
dır
ılm
ış k
ats
ay
ısı
Tw
itte
r k
arş
ılık
lı t
ak
ip
Wh
ats
ap
p d
a v
ar
mı?
Fa
ceb
oo
k d
a v
ar
mı?
Re
hb
erd
e v
ar
mı?
Ara
ma
sa
yıs
ı p
ua
nı?
To
pla
m P
ua
n(0
..1 a
ralı
ğı)
44. kişi 0,5 0,02 0,00 0 0 0 0,00 0,02 45. kişi 0,5 0,02 0,00 0 0 0 0,00 0,02 46. kişi 0,5 0,02 0,00 0 0 0 0,00 0,02 47. kişi 0,5 0,02 0,00 0 0 0 0,00 0,02 48. kişi 0,25 0,01 0,00 0 0 0 0,00 0,01 49. kişi 0,25 0,01 0,00 0 0 0 0,00 0,01 50. kişi 0,25 0,01 0,00 0 0 0 0,00 0,01 51. kişi 0 0,00 0,00 0 0 0 0,00 0,00 52. kişi 0 0,00 0,00 0 0 0 0,00 0,00 53. kişi 0 0,00 0,00 0 0 0 0,00 0,00 54. kişi 0 0,00 0,00 0 0 0 0,00 0,00 55. kişi 0 0,00 0,00 0 0 0 0,00 0,00
Çizelge 5.5‘te görülen 1. kişinin ortak arkadaş ortalaması değeri 4,75 (en fazla
ortak arkadaş 1. kişide olduğu için twitterdan en fazla puanı almaktadır),
samimiyet skorunda 1 puan verilen 1. kişinin bu puanı twitter için 0,2 ile
çarpılınca Twitter ortak arkadaş ortalamasının ağırlıklandırılmış katsayısı 0,2
puan olmaktadır.
Hesabı incelenen kişi ve 1. kişi arasında karşılıklı takip olduğu için de Twitter
karşılıklı takip puanı 0,2‘dir.
Hesabı incelenen kişinin whatsapp kayıtlarında ve facebook kayıtlarında 1.
kişinin yer alması nedeniyle 0,2‘şer puan da buradan verilmektedir.
1. kişinin hesabının, incelenen kişinin telefon rehberinde yer alması 0,1 puan ve
1. kişiyle görüşme sayısı diğer kişiler arasındaki en yüksek değer olduğundan
buradan da 0,1 puan almıştır.
Bu durumda 1. kişi 4 parametreden 0,2‘şer puan ve 2 parametreden 0,1‘er puan
alarak; 1,0 maksimum toplam puanla hesabı incelenen kişiyle en yakın ya da
samimi olabilecek kişiler sırasında birinci sırada yer almıştır.
55
Geliştirilen algoritmayı kullanan yazılım, listede yer alan diğer kişiler için en
yüksek puanlı kişinin skoruna bağımlı olarak burada anlatılan yöntemle
skorlama yapma işlemini gerçekleştirmektedir.
Elde edilen analiz sonuçları incelenen mobil telefon sahibiyle paylaşılmış ve
samimiyet durumlarının örtüştüğü teyit edilmiştir. Bazı kullanıcıların telefon
rehberinde kayıtlı oldukları isimlerle sosyal medya hesap adlarının farklı olması
hata oranlarını etkilemektedir.
Bu çalışma kapsamında geliştirilen yazılımın açık kaynak kodlu olması bu konuda
çalışacak araştırmacılar için kaynak teşkil edecektir.
Ayrıca yapılacak sonraki çalışmalarda, farklı veri kaynaklarından elde
edilebilecek veriler, görüntü ve ses verileri gibi ek parametreler algoritmaya
eklenerek, değerlendirilen kriterler ve parametreleri genişletilip, algoritmanın
başarım düzeyinin yükseltimesi mümkün olacaktır.
56
KAYNAKLAR
Ahmed, R., Dharaskar, R. V., 2008. Mobile forensics: an overview, tools, future trends and challenges from law enforcement perspective. 6th International Conference on E-Governance (ICEG), 18 - 20 December, New Delhi, 312–323.
Akbaş, M. I., Avula, R. N., Bassiouni, M. A., Turgut, D., 2013. Social network
generation and friend ranking based on mobile phone data. In Communications (ICC), 2013 IEEE International Conference on, 1444-1448, IEEE.
Al Mutawa, N., Baggili, I., & Marrington, A. (2012). Forensic analysis of social
networking applications on mobile devices. Digital Investigation, 9, 24-33. Ali, A., Abd Razak, S., Othman, SH., Mohammed, A., Saeed, F., 2017. A metamodel
for mobile forensics investigation domain. PLOS ONE, 12, 32p. Altiero, R.A., 2015. Digital Forensics Tool Interface Visualization. Nova
Southeastern University, Ph.D. Thesis, 136p, Fort Lauderdale. Alzaabi, M., Taha, K., & Martin, T. A., 2015. Cisri: a crime investigation system
using the relative importance of information spreaders in networks depicting criminals communications. IEEE Transactions on Information Forensics and Security, 10(10), 2196-2211.
Anglano, C., 2014. Forensic analysis of WhatsApp Messenger on Android
smartphones. Digital Investigation, 11(3), 201-213. Anglano, C., Canonico, M., Guazzone, M., 2017. Forensic analysis of Telegram
Messenger on Android smartphones. Digital Investigation, 23, 31-49. Anwar, T., Abulaish, M., 2014. A social graph based text mining framework for
chat log investigation. Digital Investigation, 11(4), 349-362. Azhar, M. H. B., & Barton, T. E. A., 2017. Forensic analysis of secure ephemeral
messaging applications on Android platforms. In International Conference on Global Security, Safety, and Sustainability, 27-41, Springer, Cham.
Azfar, A., Choo, K. K. R., & Liu, L. , 2017. Forensic taxonomy of Android social apps.
Journal of forensic sciences, 62(2), 435-456. Barmpatsalou, K., Cruz, T., Monteiro, E., Simoes, P., 2017. Fuzzy System-Based
Suspicious Pattern Detection in Mobile Forensic Evidence. In International Conference on Digital Forensics and Cyber Crime, 106-114, Springer, Cham.
Cahyani, N., D., W., Martini, B., Choo, K., K., R., Al-Azhar, A., M. , N., 2016. Forensic
data acquisition from cloud-of-things devices: windows Smartphones as a
57
case study. Concurrency and Computation: Practice and Experience, 28, 7, 1947-2315.
Cahyani, N., D., W., Ab Rahman, N., H., Glisson, W., B., Choo, K., K., R., 2017. The
Role of Mobile Forensics in Terrorism Investigations Involving the Use of Cloud Storage Service and Communication Apps. Mobile Networks and Applications, 22, 2, 240–254.
Canbek, G., Sağırroğlu, Ş., 2007. Kötücül ve Casus Yazılımlar:Kapsamlı Bir
Araştırma. Gazi Üniversitesi Mühendislik Mimarlık Dergisi, 22, 1, 121-136. Chang, X., Tang, X., Wu, J., 2013. Forensic research on data recovery of android
smartphone. Proceedings of the 2nd International Conference on Computer Science and Electronics Engineering(ICCSEE), 22-23 March, 34, 1188-1192, Hangzhou.
Chen, L. Y., Wang, T. C., 2009. Optimizing partners’ choice in IS/IT outsourcing
projects: The strategic decision of fuzzy VIKOR. International Journal of Production Economics, 120(1), 233-242.
Chen, S. Y., 1998. Engineering Fuzzy Set Theory and Application. Beijing: State
Security Industry Press. Choi, J., Lee, S., 2016. A study of user relationships in smartphone forensics.
Multimedia Tools and Applications, 75(22), 14971-14983. Çakır, H., Kılıç, M., S., 2016. Adli bilişimde anahtar kelime araması metodu ve
önemi. International Journal of Human Sciences, 13, 1, 2368-2384. Çubukcu, A, Bayzan, Ş. , 2013. Türkiye’de Dijital Vatandaşlık Algısı ve Bu Algıyı
İnternetin Bilinçli, Güvenli ve Etkin Kullanımı ile Artırma Yöntemleri. Middle Eastern&African Journal of Educational Research, 5, 148.
E3:DS, 2018. Erişim Tarihi: 05.05.2018.
https://www.paraben.com/products/e3-ds Ekim, A., 2013. Mobil Cihazlarda Adli Bilişim ve Malware Analizi. 1st International
Symposium on Digital Forensics and Security (ISDFS’13), 20-21 Mayıs, Elazığ, 5-10.
Fıratlı, N., E., Canbay, Y., 2014. Bilgi Güvenliği Farkındalık Anketi. 7.Uluslararası
Bilgi Güvenliği ve Kriptoloji Konferansı, 17-18 Ekim, İstanbul, 313-322. Grier, J., & Richard III, G. G. (2015). Rapid forensic imaging of large disks with
sifting collectors. Digital Investigation, 14, 34-44. Grover, J. (2013). Android forensics: Automated data collection and reporting
from a mobile device. Digital Investigation, 10, 12-20.
58
Hahn, B., 2014. An Analysis Of Digital Forensics Case Backlogs. The Faculty of Utica College, MS Thesis, Utah.
Halboob, W., Mahmod, R., Udzir, N., I., Abdullah, M., 2015. Privacy Levels for
Computer Forensics: Toward a More Efficient Privacy-Preserving Investigation. Procedia Computer Science Journal, 56, 37-375.
Hobson, D., 2008. Social networking – not always friendly. Computer Fraud &
Security, 2008, 2, 20. Huynh, K., T., 2012. Search Method in E-Discovery: How Rule 26’s Silence Poses a
Risk of Sanctions to Attorneys and Increases the Cost of Litigation. The University of Massachusetts Law Review Journal, 7, 1, 236-262.
Kaart, M., Laraghy, S., 2014. Android forensics: Interpretation of timestamps.
Digital Investigation, 11, 3, 234-248. Karlsson, K., J., Glisson, W., B., 2014. Android Anti-forensics: Modifying
CyanogenMod. 47th Hawaii International Conference on System Sciences, 6-9 January, 4828-4837, Hawaii.
Ko, A., C., Zaw, W., T., Chan, K.(Ed.), 2015. Digital Forensic Investigation of
Dropbox Cloud Storage Service. Network Security and Communication Engineering, CRC Press, 672p, London.
Kumar, P., Pateriya, R., K., 2012. A Survey on SQL Injection Attacks, Detection and
Prevention Techniques. Third International Conference on Computing Communication and Networking Technologies, 26- 28 July, India, 1-5.
Lessard, J., Kessler, G., C., 2010. Android Forensics: Simplifying Cell Phone
Examinations. Small Scale Digital Device Forensics Journal,4, 1, 1 – 12. Liao, N., Tian, S., Wang, T., 2009. Network forensics based on fuzzy logic and
expert system. Computer Communications, 32(17), 1881-1892. Markagic, M., S., 2013. Forensics Of Mobile Devices. Vojnotechnicki Glasnik, 61, 1,
123-135. Martin, A., 2008. Mobile Device Forensics. Erişim tarihi: 28/04/2015.
http://www.sans.org/reading-room/whitepapers/forensics/mobile-device-forensics-32888.pdf
Mobiledit Forensics, 2018. Erişim Tarihi: 05.05.2018.
https://www.difose.com.tr/Çözümlerimiz/mobiledit-forensics/#1514341384399-d1dc512d-46574b68-ed36
Norouzizadeh Dezfouli, F., Dehghantanha, A., Eterovic-Soric, B., & Choo, K. K. R.,
2016. Investigating Social Networking applications on smartphones
59
detecting Facebook, Twitter, LinkedIn and Google+ artefacts on Android and iOS platforms. Australian journal of forensic sciences, 48(4), 469-488.
Noyan, Z., 2011. Veri Madenciliği ve Veri Güvenliği. Erişim tarihi: 28/04/2015.
https://www.bilgiguvenligi.gov.tr/veri-gizliligi/veri-madenciligi-ve-veri-guvenligi.html
Orozco, A., L., S., Corripio, J. R., González, D., M., A., Villalba, L., J., G., Hernandez-
Castro, J., 2016. Theia: a tool for the forensic analysis of mobile devices pictures. Computing, 98, 12, 1251–1286.
Oxygen Forensic Mobil Cihaz İnceleme Yazılımları, 2018. Erişim Tarihi:
05.05.2018. https://www.difose.com.tr/Çözümlerimiz/oxygen-forensic/ Poston, H., E., 2012. A Brief Taxonomy of Intrusion Detection Strategies. IEEE
National Aerospace and Electronics Conference, 25-27 July, 255-263, Ohio. Rathi, K., Karabiyik, U., Aderibigbe, T., & Chi, H., 2018. Forensic analysis of
encrypted instant messaging applications on Android. In Digital Forensic and Security (ISDFS), 2018 6th International Symposium on, 1-6, IEEE.
Reinhardt, D., Engelmann, F., Moerov, A., & Hollick, M., 2015. Show me your
phone, I will tell you who your friends are: analyzing smartphone data to identify social relationships. In Proceedings of the 14th International Conference on Mobile and Ubiquitous Multimedia,75-83, ACM.
Reith, M., Carr, C., Gunsch, G., 2002. An examination of digital forensic models.
International Journal of Digital Evidence, 1(3), 1-12. Ribble, M., 2011. Digital Citizenship in Schools. Washington DC: The International
Society for Technology in Education, 2, 2,15-44. Rostamipour, M., Sadeghiyan, B., 2015. Network attack origin forensics with fuzzy
logic. In Computer and Knowledge Engineering (ICCKE), 2015 5th International Conference on, 67-72, IEEE.
Sağıroğlu, Ş., Bulut, H., 2009. An analysis of information and telecommunication
security in mobile environments. J. Fac. Eng. Arch. GaziUniv, 24, 3, 499-507.
Saleem, S., Popov, O., Baggili, I., 2016. A method and a case study for the selection
of the best available tool for mobile device forensics using decision analysis. Digital Investigation, 16, 55-64.
Satrya, G. B., Daely, P. T., & Nugroho, M. A. (2016, October). Digital forensic
analysis of Telegram Messenger on Android devices. In Information & Communication Technology and Systems (ICTS), 2016 International Conference on, 1-7, IEEE.
60
Scrivens, N., Lin, X., 2017. Android digital forensics: data, extraction and analysis. Proceedings of the ACM Turing 50th Celebration Conference, 12 – 14 May, 26, Shanghai.
Shaffer, J., 2014. Protecting Proprietary Data On Mobile Devices. The Faculty of
Utica College , MS Thesis, Utah. Stoffel, K., Cotofrei, P., Han, D., 2010. Fuzzy methods for forensic data analysis. In
Soft Computing and Pattern Recognition (SoCPaR), 2010 International Conference of, 23-28, IEEE.
Talley, A.V., 2014. Content Analysis Tools in Android Memory Forensics. The
Faculty of Utica College ProQuest Dissertations & Theses Global, 64p, Utah. Thakur, N. S. (2013). Forensic analysis of WhatsApp on Android smartphones.
Master Thesis Virvilis, N., Giritzalis, D., Apostolopoulos, T., 2013. Trusted Computing vs.
Advanced Persistent Threats: Can a defender win this game?. IEEE 10th International Conference on Ubiquitous Intelligence and Computing Autonomic and Trusted Computing (UIC/ATC), 18-21 December, 396-403, Italy.
Wei, W., Sun, L., 2012. Innovative Teaching and Learning Experiences in Network
Attacks and Defense. Eighth International Conference on Computational Intelligence and Security, 17-18 November, 587-590, Guangzhou.
Willassen, S., Y., 2005. Forensic analysis of mobile phone internal memory. FIP
International Conference on Digital Forensics, 13–16 January, 191-204, Orlando.
Yusoff, Y., Ismail, R., Hassan, Z., 2011. Common phases of computer forensics
investigation models. International Journal of Computer Science & Information Technology, 3(3), 17-31.
Zhang, X., Baggili, I., Breitinger, F., 2017. Breaking into the vault: Privacy, security
and forensic analysis of Android vault applications. Computers & Security Journal, 70, 516-531.
Zhao, Z., Huangfu, W., Sun, L., 2012. NSSN: A Network Monitoring and Packet
Sniffing Tool for Wireless Sensor Networks. 8th International Wireless Communications and Mobile Conference, 27 September, 537-542, Limassol.
Zheng, J., Tan, Y., Zhang, X., Liang, C., Zhang, C., Zheng, J. An Anti-Forensics Method
against Memory Acquiring for Android Devices. Computational Science and Engineering (CSE) and Embedded and Ubiquitous Computing (EUC), 21-24 July, 214-218, Guangzhou.
61
Zimmermann, C., 2011. Mobile Phone Forensics: Analysis of the Android Filesystem (YAFFS2). University of Mannheim, Diploma Thesis, 120p, Mannheim.
62
EKLER
EK A. Geliştirilen Yazılımın Kodları
EK A1. BackupPanel.java kodları
EK A2. OpenBackup.java kodları EK A3. listefwing.php kodları EK A4. listefwers.php kodları EK A5. FileOperations.java kodları EK A6. DbAnalyses.java kodları EK A7. Main.py kodları
63
EK A. Geliştirilen Yazılımın Kodları
EK A1. BackupPanel.java kodları
/* imaj alma ekranı
* @author fsb
*/
package forensics;
import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class BackupPanel extends javax.swing.JFrame {
public BackupPanel() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
txt_backuppath = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
btn_selectpath = new javax.swing.JButton();
btn_startbackup = new javax.swing.JButton();
jProgressBar1 = new javax.swing.JProgressBar();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("İmaj Alma İşlemleri");
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel1.setText("İmaj Klasörü");
btn_selectpath.setText("Klasör Seç");
btn_selectpath.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
64
btn_selectpathActionPerformed(evt);
}
});
btn_startbackup.setText("İmaj Alma İşlemini Başlat");
btn_startbackup.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_startbackupActionPerformed(evt);
}
});
jProgressBar1.setValue(5);
buttonGroup1.add(jRadioButton1);
jRadioButton1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jRadioButton1.setText("Mantıksal İmaj");
jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButton1ActionPerformed(evt);
}
});
buttonGroup1.add(jRadioButton2);
jRadioButton2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jRadioButton2.setText("Fiziksel İmaj");
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jProgressBar1,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
65
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addGap(172, 172, 172)
.addComponent(btn_startbackup))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(jRadioButton1)
.addGap(57, 57, 57)
.addComponent(jRadioButton2))
.addGroup(layout.createSequentialGroup()
.addComponent(txt_backuppath,
javax.swing.GroupLayout.PREFERRED_SIZE, 261,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btn_selectpath)))))
.addGap(0, 45, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
66
.addComponent(txt_backuppath,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)
.addComponent(btn_selectpath))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jRadioButton1)
.addComponent(jRadioButton2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 12,
Short.MAX_VALUE)
.addComponent(btn_startbackup)
.addGap(18, 18, 18)
.addComponent(jProgressBar1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>
private void btn_selectpathActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser=new JFileChooser();
chooser.setDialogTitle("Lütfen İmaj Dosya Adını Yazınız");
chooser.setFileFilter(new FileNameExtensionFilter("ab file","ab"));
chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter());
if (chooser.showSaveDialog(this)==JFileChooser.APPROVE_OPTION)
txt_backuppath.setText(chooser.getSelectedFile().getAbsolutePath()+".ab");
}
private void btn_startbackupActionPerformed(java.awt.event.ActionEvent
evt) {
String line=txt_backuppath.getText();
67
String cmd = "c:\\adb-tools\\adb.exe backup -apk -shared -all -system -f"+"
"+line;
Runtime run = Runtime.getRuntime();
try{
Process pr = run.exec(cmd);
pr.waitFor();
}
catch(IOException ie){
System.out.println("IOERROR : " + ie.getMessage());
}
catch(InterruptedException ine){
System.out.println("Interrupted Exception ERROR : " +ine.getMessage());
}
catch(Exception e){
System.out.println("General ERROR :" + e.getMessage());
}
}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
68
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(BackupPanel.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(BackupPanel.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(BackupPanel.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(BackupPanel.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new BackupPanel().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_selectpath;
private javax.swing.JButton btn_startbackup;
private javax.swing.ButtonGroup buttonGroup1;
69
private javax.swing.JLabel jLabel1;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JTextField txt_backuppath;
// End of variables declaration
}
70
EK A2. OpenBackup.java kodları
/*imaj açma ekranı
* @author fsb
*/
package forensics;
import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class OpenBackup extends javax.swing.JFrame {
public OpenBackup() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
lbl_bkpfilename = new javax.swing.JLabel();
txt_bkpfilename = new javax.swing.JTextField();
btn_bkpfile = new java.awt.Button();
btn_opendrc = new java.awt.Button();
lbl_password = new javax.swing.JLabel();
lbl_opendrc = new javax.swing.JLabel();
txt_opendrc = new javax.swing.JTextField();
txt_password = new javax.swing.JPasswordField();
btn_open = new javax.swing.JButton();
prgs_bckup = new javax.swing.JProgressBar();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("İmaj Açma");
lbl_bkpfilename.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
lbl_bkpfilename.setText("İmaj Dosyası");
btn_bkpfile.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
btn_bkpfile.setLabel("İmaj Dosyası Seç");
71
btn_bkpfile.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_bkpfileActionPerformed(evt);
}
});
btn_opendrc.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
btn_opendrc.setLabel("İmajın Açılacağı Klasörü Seç");
btn_opendrc.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_opendrcActionPerformed(evt);
}
});
lbl_password.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
lbl_password.setText("Şifre");
lbl_opendrc.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
lbl_opendrc.setText("İmajın Açılacağı Klasör");
txt_password.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txt_passwordActionPerformed(evt);
}
});
btn_open.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
btn_open.setText("İmaj Açma İşlemini Başlat");
btn_open.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_openActionPerformed(evt);
}
});
prgs_bckup.setValue(5);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
72
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(lbl_bkpfilename)
.addComponent(lbl_opendrc)
.addComponent(lbl_password))
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(txt_bkpfilename)
.addComponent(txt_opendrc,
javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
.addComponent(txt_password))
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(btn_opendrc,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_bkpfile,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(259, 259, 259)
.addComponent(btn_open)))
.addGap(0, 0, Short.MAX_VALUE))
73
.addComponent(prgs_bckup, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(btn_bkpfile,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(lbl_bkpfilename)
.addComponent(txt_bkpfilename,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(btn_opendrc,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(lbl_opendrc)
.addComponent(txt_opendrc,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
74
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(lbl_password)
.addComponent(txt_password,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(btn_open)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(prgs_bckup,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
btn_opendrc.getAccessibleContext().setAccessibleDescription("");
pack();
}// </editor-fold>
private void txt_passwordActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btn_bkpfileActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser=new JFileChooser();
chooser.setDialogTitle(".imaj dosyanızı seçiniz");
chooser.setFileFilter(new FileNameExtensionFilter("ab file","ab"));
chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter());
chooser.showOpenDialog(null);
File f =chooser.getSelectedFile();
txt_bkpfilename.setText(f.getAbsolutePath());
}
75
private void btn_opendrcActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser=new JFileChooser();
chooser.setDialogTitle("İmajın açılacağı klasörü seç");
chooser.setFileFilter(new FileNameExtensionFilter("tar file","tar"));
chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter());
if (chooser.showSaveDialog(this)==JFileChooser.APPROVE_OPTION){
File f =chooser.getSelectedFile();
txt_opendrc.setText(f.getAbsolutePath()+".tar");
}
}
private void btn_openActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String resultString = "null";
String bkpFileName = txt_bkpfilename.getText();
String openDrcName = txt_opendrc.getText();
String password = txt_password.getText();
String line = "";
File f = new File(openDrcName);
String path = f.getParent();
resultString = path.replace("\\","\\\\");
String cmd = "java -jar C:\\abe\\abe.jar unpack" + " " + bkpFileName +
" " + openDrcName + " " + password;
Runtime run = Runtime.getRuntime();
try{
Process pr = run.exec(cmd);
pr.waitFor();
}
catch(IOException ie){
System.out.println("IOERROR : " + ie.getMessage());
}
catch(InterruptedException ine){
System.out.println("Interrupted Exception ERROR : " +ine.getMessage());
76
}
catch(Exception e){
System.out.println("General ERROR :" + e.getMessage());
}
String cmdNew = "C:\\Program Files\\7-Zip\\7z.exe x" + " " + openDrcName
+" " + "-o" + resultString +" " + "-aoa";
Runtime runNew = Runtime.getRuntime();
try{
Process prNew = runNew.exec(cmdNew);
prNew.waitFor();
}
catch(IOException ie){
System.out.println("IOERROR : " + ie.getMessage());
}
catch(InterruptedException ine){
System.out.println("Interrupted Exception ERROR : " +ine.getMessage());
}
catch(Exception e){
System.out.println("General ERROR :" + e.getMessage());
}
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(OpenBackup.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
77
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(OpenBackup.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(OpenBackup.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(OpenBackup.class.getName()).log(java.util.lo
gging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new OpenBackup().setVisible(true);
} }); }
private java.awt.Button btn_bkpfile;
private javax.swing.JButton btn_open;
private java.awt.Button btn_opendrc;
private javax.swing.JLabel lbl_bkpfilename;
private javax.swing.JLabel lbl_opendrc;
private javax.swing.JLabel lbl_password;
private javax.swing.JProgressBar prgs_bckup;
private javax.swing.JTextField txt_bkpfilename;
private javax.swing.JTextField txt_opendrc;
private javax.swing.JPasswordField txt_password;
// End of variables declaration
}
78
EK A3. Listefwing.php kodları
/** Twitter takip edilen veri çekme
* @author fsb
*/
<?php
if(isset($_POST['fwing'])){
$name=$_POST['name'];
require_once('TwitterAPIExchange.php');
$settings = array(
'oauth_access_token' => "Gizlenmiştir",
'oauth_access_token_secret' => "Gizlenmiştir",
'consumer_key' => "Gizlenmiştir",
'consumer_secret' => "Gizlenmiştir"
);
$url = "https://api.twitter.com/1.1/friends/list.json";
$requestMethod = "GET";
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user = $name;}
if (isset($_GET['count'])) {$count = $_GET['count'];} else {$count = 2000;}
$cur=-1;
$toplam=0;
do
{
$getfield =
"?cursor=".$cur."&screen_name=$user&skip_status=true&include_user_entities
=false";
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(),$assoc = TRUE);
if($string["errors"][0]["message"] != "") {echo "<h3>Sorry, there was a
problem.</h3><p>Twitter returned the following error
message:</p><p><em>".$string[errors][0]["message"]."</em></p>";exit();}
79
$sayac=0;
do
{
$anahsfwing=$string['users'][$sayac]['screen_name'];
echo $anahsfwing;
$anahsfwingad=$string['users'][$sayac]['name'];
echo $anahsfwingad;
$anahsfwingkonum=$string['users'][$sayac]['location'];
echo $anahsfwingkonum."<br />";
$baglan = mysqli_connect("localhost", "farukbe1_projek",
"proje1234", "farukbe1_proje");
if(!baglan)
{
die('mysql bağlantısında bir hata olustu.'.mysql_error());
}
$sonuc="insert into anafwing (anahs, anahsfwing, anahsfwingad,
anahsfwingkonum )values ('$user', '$anahsfwing', '$anahsfwingad',
'$anahsfwingkonum')";
$result = mysqli_query($baglan,$sonuc);
if(!$result)
{
echo "Beklenmeyen bir hata oluştu, eksik yada hatalı giriş yaptınız, Lütfen tüm
alanları doldurunuz...";
echo('<br>');
mysql_close($baglan);
}
mysql_close($baglan);
$sayac++;
$toplam++;
}
while($sayac<=19 && $anahsfwing!="");
$sayi=$string['next_cursor'];
$cur=$sayi;
80
}
while($cur!=0);
$toplam--;
echo $user." kullanıcısının".$toplam." adet takip ettiği hesap başarıyla
veritabanına eklendi...";
echo "<br>";
}
?>
81
EK A4. Listefwers.php kodları
/** Twitter takipçi veri çekme
* @author fsb
*/
<?php
require_once('TwitterAPIExchange.php');
$settings = array(
'oauth_access_token' => "Gizlenmiştir",
'oauth_access_token_secret' => "Gizlenmiştir",
'consumer_key' => "Gizlenmiştir",
'consumer_secret' => "Gizlenmiştir"
);
$url = "https://api.twitter.com/1.1/followers/list.json";
$requestMethod = "GET";
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user =
"twitterkullanıcıadı";}
if (isset($_GET['count'])) {$count = $_GET['count'];} else {$count = 2000;}
$toplam=0;
$cur=-1;
do
{
$getfield =
"?cursor=".$cur."&screen_name=$user&skip_status=true&include_user_entities
=false";
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(),$assoc = TRUE);
if($string["errors"][0]["message"] != "") {echo "<h3>Üzgünüz bir problem
var.</h3><p>Aşağıdaki hata mesajıyla karşılaşıldı: </p> <p> <em>
".$string[errors][0]["message"]."</em></p>";exit();}
$sayac=0;
82
do
{
$anahsfwer=$string['users'][$sayac]['screen_name'];
echo $anahsfwer;
$anahsfwerad=$string['users'][$sayac]['name'];
echo $anahsfwerad;
$anahsfwerkonum=$string['users'][$sayac]['location'];
echo $anahsfwerkonum."<br />";
$baglan = mysqli_connect("localhost", "farukbe1_projek", "proje1234",
"farukbe1_proje");
if(!baglan)
{
die('mysql bağlantısında bir hata olustu.'.mysql_error());
}
$sonuc="insert into anafwers(anahs,anahsfwer,anahsfwerad,anahsfwerkonum)
values ('$user','$anahsfwer','$anahsfwerad','$anahsfwerkonum')";
$result = mysqli_query($baglan,$sonuc);
if(!$result)
{
echo "Beklenmeyen bir hata oluştu, eksik yada hatalı giriş yaptınız, Lütfen
tüm alanları doldurunuz...";
echo('<br>');
echo "Eğer sürekli bu sorunla karşılaşırsanız Sistem Teknik Personelinizi
arayınız...";
mysql_close($baglan);
}
mysql_close($baglan);
$sayac++;
$toplam++;
}
while($sayac<=19 && $anahsfwer!="");
$sayi=$string['next_cursor'];
//$cur=number_format($sayi);
83
$cur=$sayi;
}
while($cur!=0);
$toplam--;
echo $user." kullanıcısının".$toplam." adet takipçisi hesap başarıyla
veritabanına eklendi...";
?>
84
EK A5. FileOperations.java kodları
/*dosya işlemleri
* @author fsb
*/
package forensics;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import java.awt.Component;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import org.apache.commons.io.FileUtils;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import javax.swing.JOptionPane;
public class FileOperations extends javax.swing.JFrame {
public FileOperations() {
initComponents();
lst_files.setPrototypeCellValue("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
}
85
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jScrollPane1 = new javax.swing.JScrollPane();
lst_files = new javax.swing.JList<>();
rdb_allFiles = new javax.swing.JRadioButton();
rdb_image = new javax.swing.JRadioButton();
rdb_text = new javax.swing.JRadioButton();
rdb_pdf = new javax.swing.JRadioButton();
rdb_web = new javax.swing.JRadioButton();
rdb_media = new javax.swing.JRadioButton();
lbl_extimg = new javax.swing.JLabel();
txt_extfilepath = new javax.swing.JTextField();
btn_selectFolder = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Dosya İşlemleri");
lst_files.setMaximumSize(new java.awt.Dimension(477, 471));
lst_files.setMinimumSize(new java.awt.Dimension(477, 471));
lst_files.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
lst_filesMouseClicked(evt);
}
});
jScrollPane1.setViewportView(lst_files)
buttonGroup1.add(rdb_allFiles);
rdb_allFiles.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_allFiles.setText("Tüm Dosyalar");
rdb_allFiles.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
86
buttonGroup1.add(rdb_image);
rdb_image.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_image.setText("Resimler");
rdb_image.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
buttonGroup1.add(rdb_text);
rdb_text.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_text.setText("Text Dosyalar");
rdb_text.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
buttonGroup1.add(rdb_pdf);
rdb_pdf.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_pdf.setText("Pdf Dosyaları");
rdb_pdf.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
buttonGroup1.add(rdb_web);
rdb_web.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_web.setText("Web Dosyaları");
rdb_web.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
buttonGroup1.add(rdb_media);
87
rdb_media.setFont(new java.awt.Font("Tahoma", 1, 12));
rdb_media.setText("Medya Dosyaları");
rdb_media.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showFiles(evt);
}
});
lbl_extimg.setFont(new java.awt.Font("Tahoma", 1, 12));
lbl_extimg.setText("Açılmış İmaj Klasörünü Seçiniz");
btn_selectFolder.setFont(new java.awt.Font("Tahoma", 1, 12));
btn_selectFolder.setText("Klasör Seç");
btn_selectFolder.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_selectFolderActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(jScrollPane1)
.addGroup(layout.createSequentialGroup()
.addComponent(rdb_allFiles)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(rdb_image)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rdb_text)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
88
.addComponent(rdb_pdf)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rdb_web)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(rdb_media)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lbl_extimg)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txt_extfilepath,
javax.swing.GroupLayout.PREFERRED_SIZE, 216,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btn_selectFolder)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(lbl_extimg)
.addComponent(txt_extfilepath,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btn_selectFolder))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(rdb_allFiles)
.addComponent(rdb_image)
89
.addComponent(rdb_text)
.addComponent(rdb_pdf)
.addComponent(rdb_web)
.addComponent(rdb_media)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE,
477, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void btn_selectFolderActionPerformed(java.awt.event.ActionEvent
evt) {
JFileChooser chooser=new JFileChooser();
chooser.setDialogTitle("Please Select Directory");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showSaveDialog(this)==JFileChooser.APPROVE_OPTION){
String path = chooser.getSelectedFile().getAbsolutePath();
txt_extfilepath.setText(path);
}
}
private void showFiles(java.awt.event.ActionEvent evt) {
DefaultListModel listModel = new DefaultListModel();
lst_files.setModel(listModel);
if(evt.getSource()==rdb_allFiles){
File directory = new File(txt_extfilepath.getText());
String[] extensions = new String[] {
"xml","html","ole2","ooxml","odf","pdf",
"epub","rtf","pkg","txt","feed","audio","mp3","jpeg","jpg","mp4","flv",
"class","jar","mbox","dwg","ttf","exe" };
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
90
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
else if(evt.getSource() == rdb_image){
String[] extensions = new String[] { "jpg","jpeg" };
File directory = new File(txt_extfilepath.getText());
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
else if(evt.getSource() == rdb_text){
String[] extensions = new String[] { "txt" };
File directory = new File(txt_extfilepath.getText());
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
else if(evt.getSource() == rdb_pdf){
String[] extensions = new String[] { "pdf" };
File directory = new File(txt_extfilepath.getText());
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
else if(evt.getSource() == rdb_web){
91
String[] extensions = new String[] { "html" };
File directory = new File(txt_extfilepath.getText());
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
else if(evt.getSource() == rdb_media){
String[] extensions = new String[] { "mp4","flv" };
File directory = new File(txt_extfilepath.getText());
List<File> files = (List<File>) FileUtils.listFiles(directory,extensions,true);
DefaultListModel<String> model = new DefaultListModel<String>();
for(File f : files)
model.addElement(f.getAbsolutePath());
lst_files.setModel(model);
}
}
private VideoPanel isVideoPanelActive(){
Component[] cmp = this.getContentPane().getComponents();
VideoPanel result = null;
for(Component c : cmp){
if(c instanceof VideoPanel){
result = (VideoPanel)c;
break;
}
}
return result;
}
private PicturePanel isPicturePanelActive(){
Component[] cmp = this.getContentPane().getComponents();
PicturePanel result = null;
92
for(Component c : cmp){
if(c instanceof PicturePanel){
result = (PicturePanel)c;
break;
}
}
return result;
}
private void removeOtherComponents(){
Component[] cmps = this.getContentPane().getComponents();
for(Component c : cmps){
if(c instanceof VideoPanel)
this.getContentPane().remove(c);
}
this.getContentPane().revalidate();
this.getContentPane().repaint();
this.revalidate();
this.repaint();
}
private void lst_filesMouseClicked(java.awt.event.MouseEvent evt) {
String selectedItem = lst_files.getSelectedValue();
if(selectedItem.endsWith(".mp4")){
String VLCLIBPATH = "C:\\Program Files\\VideoLAN\\VLC";
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(),
VLCLIBPATH);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
if (isVideoPanelActive() == null){
VideoPanel videoPanel = new VideoPanel(selectedItem);
videoPanel.setLocation(lst_files.getWidth(), 30);
add(videoPanel);
videoPanel.play();
}
else {
93
VideoPanel videoPanel = isVideoPanelActive();
videoPanel.setVideo(selectedItem);
videoPanel.play();
FileInformation fileInformation = new FileInformation(selectedItem);
Hashtable<String, String> results = fileInformation.getFileDetail();
JOptionPane.showMessageDialog(null,"Date
'"+results.get("Date")+"\n"+"xmp:CreatorTool
'"+results.get("xmp:CreatorTool")+"'"+"\n"+"meta:creation-date
'"+results.get("meta:creation-date")+"'"+"\n"+"Creation-Date
'"+results.get("Creation-
Date")+"'"+"\n"+"xmpDM:audioSampleRate'"+results.get("xmpDM:audioSampl
eRate")+"'"+"\n"+"xmpDM:duration
'"+results.get("xmpDM:duration")+"'"+"\n"+"dcterms:created
'"+results.get("dcterms:created")+"'"+"\n"+"dcterms:modified
'"+results.get("dcterms:modified")+"'"+"\n"+"Last-Modified
'"+results.get("Last-Modified")+"'"+"\n"+"Content-Type '"+results.get("Content-
Type")+"'"+"\n"+"Last-Save-Date '"+results.get("Last-Save-
Date")+"'"+"\n"+"meta:save-date '"+results.get("meta:save-
date")+"'"+"\n"+"modified '"+results.get("modified")+"'");
}
}
else if(selectedItem.endsWith("jpg") || selectedItem.endsWith("jpeg") ){
removeOtherComponents();
if (isPicturePanelActive() == null){
PicturePanel picturePanel = new PicturePanel(selectedItem);
picturePanel.setLocation(lst_files.getWidth(), 30);
add(picturePanel);
picturePanel.show();
FileInformation fileInformation = new FileInformation(selectedItem);
Hashtable<String, String> results = fileInformation.getFileDetail();
JOptionPane.showMessageDialog(null,"File Modified Date
'"+results.get("File Modified Date")+"\n"+"File Size '"+results.get("File
Size")+"'"+"\n"+"Compression Type '"+results.get("Compression
94
Type")+"'"+"\n"+"Content-Type '"+results.get("Content-
Type")+"'"+"\n"+"Make'"+results.get("Make")+"'"+"\n"+"Software
'"+results.get("Software")+"'"+"\n"+"dcterms:created
'"+results.get("dcterms:created")+"'"+"\n"+"dcterms:modified
'"+results.get("dcterms:modified")+"'"+"\n"+"Last-Modified
'"+results.get("Last-
Modified")+"'"+"\n"+"exif:Flash'"+results.get("exif:Flash")+"'"+"\n"+"Last-Save-
Date '"+results.get("Last-Save-Date")+"'"+"\n"+"meta:save-date
'"+results.get("meta:save-date")+"'"+"\n"+"Model '"+results.get("Model")+"'");
}
else {
PicturePanel picturePanel = isPicturePanelActive();
picturePanel.setPicture(selectedItem);
picturePanel.show();
}
}
else if(selectedItem.endsWith("pdf")){
try {
PdfPanel.show(selectedItem);
FileInformation fileInformation = new FileInformation(selectedItem);
Hashtable<String, String> results = fileInformation.getFileDetail();
JOptionPane.showMessageDialog(null,"Last-Modified
'"+results.get("Last-Modified")+"\n"+"pdf:PDFVersion
'"+results.get("pdf:PDFVersion")+"'"+"\n"+"xmp:CreatorTool
'"+results.get("xmp:CreatorTool")+"'"+"\n"+"dc:creator
'"+results.get("dc:creator")+"'"+"\n"+"pdf:docinfo:modified
'"+results.get("pdf:docinfo:modified")+"'"+"\n"+"meta:save-date
'"+results.get("meta:save-date")+"'"+"\n"+"Author
'"+results.get("Author")+"'"+"\n"+"dcterms:created
'"+results.get("dcterms:created")+"'"+"\n"+"dcterms:modified
'"+results.get("dcterms:modified")+"'");
} catch (Exception ex) {
System.out.println(ex.getMessage());
95
}
}
else if(selectedItem.endsWith("html") || selectedItem.endsWith("htm")){
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("rundll32 url.dll,FileProtocolHandler " + selectedItem);
FileInformation fileInformation = new FileInformation(selectedItem);
Hashtable<String, String> results = fileInformation.getFileDetail();
JOptionPane.showMessageDialog(null,"Content-Encoding
'"+results.get("Content-Encoding")+"\n"+"charset
'"+results.get("charset")+"'"+"\n"+"Content-Type '"+results.get("Content-
Type")+"'");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
else if(selectedItem.endsWith("txt")){
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("notepad " + selectedItem);
FileInformation fileInformation = new FileInformation(selectedItem);
Hashtable<String, String> results = fileInformation.getFileDetail();
System.out.println("Content-Encoding "+results.get("Content-
Encoding"));
System.out.println("charset "+results.get("charset"));
JOptionPane.showMessageDialog(null,"Content-Encoding
'"+results.get("Content-Encoding")+"\n"+"charset '"+results.get("charset")+"'");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
96
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FileOperations().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_selectFolder;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lbl_extimg;
private javax.swing.JList<String> lst_files;
private javax.swing.JRadioButton rdb_allFiles;
private javax.swing.JRadioButton rdb_image;
private javax.swing.JRadioButton rdb_media;
private javax.swing.JRadioButton rdb_pdf;
private javax.swing.JRadioButton rdb_text;
private javax.swing.JRadioButton rdb_web;
private javax.swing.JTextField txt_extfilepath;
// End of variables declaration
}
97
EK A6. DbAnalyses.java kodları
/*veritabanı analiz
* @author fsb
*/
package forensics;
import static java.awt.image.ImageObserver.WIDTH;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.event.TreeModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import org.apache.commons.io.FileUtils;
public class DbAnalyses extends javax.swing.JFrame {
Connection conn;
public DbAnalyses() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
98
txt_extBackFolder = new javax.swing.JTextField();
btn_selectFolder = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tree_databases = new javax.swing.JTree();
jScrollPane2 = new javax.swing.JScrollPane();
tbl_rows = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Veritabanı Analiz");
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel1.setText("Açılmış İmaj Klasörünü Seçiniz");
btn_selectFolder.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
btn_selectFolder.setText("Klasör Seç");
btn_selectFolder.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_selectFolderActionPerformed(evt);
}
});
javax.swing.tree.DefaultMutableTreeNode treeNode1 = new
javax.swing.tree.DefaultMutableTreeNode("Veritabanları");
tree_databases.setModel(new
javax.swing.tree.DefaultTreeModel(treeNode1));
tree_databases.addTreeSelectionListener(new
javax.swing.event.TreeSelectionListener() {
public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
tree_databasesValueChanged(evt);
}
});
jScrollPane1.setViewportView(tree_databases);
tbl_rows.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
99
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane2.setViewportView(tbl_rows);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txt_extBackFolder,
javax.swing.GroupLayout.PREFERRED_SIZE, 216,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btn_selectFolder))
.addComponent(jScrollPane1)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.DEFAULT_SIZE, 713, Short.MAX_VALUE))
.addContainerGap(21, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
100
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel1)
.addComponent(txt_extBackFolder,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btn_selectFolder))
.addGap(18, 18, 18)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 154,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(66, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btn_selectFolderActionPerformed(java.awt.event.ActionEvent
evt) {
JFileChooser chooser=new JFileChooser();
chooser.setDialogTitle("Lütfen Klasör Seçiniz");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showSaveDialog(this)==JFileChooser.APPROVE_OPTION){
String path = chooser.getSelectedFile().getAbsolutePath();
txt_extBackFolder.setText(path);
getDatabases(path);
}
}
101
private void
tree_databasesValueChanged(javax.swing.event.TreeSelectionEvent evt) {
DefaultMutableTreeNode selectedNode =
(DefaultMutableTreeNode)tree_databases.getLastSelectedPathComponent();
if(selectedNode.getUserObject().toString().endsWith(".db")){
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:"+
selectedNode.getUserObject().toString());
ResultSet rs = null;
DatabaseMetaData meta = conn.getMetaData();
rs = meta.getTables(null, null, null, new String[]{"TABLE"});
while (rs.next()) {
DefaultMutableTreeNode item = new DefaultMutableTreeNode(
rs.getString("TABLE_NAME"));
selectedNode.add(item);
}
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
else{
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM [" +
selectedNode.getUserObject().toString() + "];");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
DefaultTableModel tm = (DefaultTableModel) tbl_rows.getModel();
tm.setColumnCount(0);
for (int i = 1; i <= columnCount; i++ ) {
102
tm.addColumn(rsmd.getColumnName(i));
}
tm.setRowCount(0);
while (rs.next()) {
String[] a = new String[columnCount];
for(int i = 0; i < columnCount; i++) {
a[i] = rs.getString(i+1);
}
tm.addRow(a);
}
tm.fireTableDataChanged();
rs.close();
stmt.close();
}
catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex, ex.getMessage(), WIDTH,
null);
}
}
}
public void getDatabases(String path){
DefaultTreeModel model = (DefaultTreeModel) tree_databases.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)
tree_databases.getModel().getRoot();
try {
File dir;
dir = new File(path);
String[] extensions = new String[] { "db" };
List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true);
for (File file : files) {
DefaultMutableTreeNode item = new
DefaultMutableTreeNode(file.getCanonicalPath());
103
model.insertNodeInto(item,root,root.getChildCount());
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new DbAnalyses().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_selectFolder;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable tbl_rows;
private javax.swing.JTree tree_databases;
private javax.swing.JTextField txt_extBackFolder;
// End of variables declaration
}
104
EK A7. Main.py kodları
#Samimiyet skoru hesaplama
import xlrd
file_location= 'anafwers.xlsx'
workbook=xlrd.open_workbook(file_location)
friend=[[],[],[],[],[],[],[],[],[],[],[]]
Follower=workbook.sheet_by_index(0)
for i in range(Follower.nrows):
friend[0].append(str(Follower.cell_value(i,1)))
friend[1].append(str(Follower.cell_value(i,2)))
Following=workbook.sheet_by_index(1)
for ii in range(len(friend[0])):
if(friend[0][ii]!=Following.cell_value(ii,1)):
friend[0].append(str(Following.cell_value(ii,1)))
friend[1].append(str(Following.cell_value(ii, 2)))
fcount = len(friend[0])
#============================================================
for iii in range(fcount):
skor=0
for j in range(Follower.nrows):
if (friend[0][iii]==Follower.cell_value(j,1)):
for s in range(Following.nrows):
if(friend[0][iii]==Following.cell_value(s,1)):
skor+=1
friend[2].append(skor)
#============================================================
sheet3=workbook.sheet_by_index(2)
for iiii in range(fcount):
skor=0
for j in range(sheet3.nrows):
if (friend[0][iiii]==sheet3.cell_value(j,0)):
for k in range(fcount):
if(sheet3.cell_value(j,1)==friend[0][k]):
105
skor+=1 #her ortak arkadaş için skor 1 artıyor
friend[3].append(skor)#toplam skor friend dizisinin 4. dizisinde tutluyor.
#============================================================
sheet4 = workbook.sheet_by_index(3)
for jj in range(fcount):
skor = 0
for j in range(sheet4.nrows):
if (friend[0][jj] == sheet4.cell_value(j, 0)):
for k in range(fcount):
if (sheet4.cell_value(j, 1) == friend[0][k]):
skor += 1
friend[4].append(skor)#toplam skor friend dizisinin 5. dizisinde tutuluyor.
#============================================================
sheet5=workbook.sheet_by_index(4)
for jjj in range(fcount):
skor=0
for j in range(sheet5.nrows):
if (friend[0][jjj]==sheet5.cell_value(j,0)):
for k in range(fcount):
if(sheet4.cell_value(j,1)==friend[0][k]):
skor+=1
friend[5].append(skor)##her bir ortak arkadaş için skor 1 artıyor
#============================================================
sheet6 = workbook.sheet_by_index(5)
for jjjj in range(fcount):
skor = 0
for j in range(sheet6.nrows):
if (friend[0][jjjj] == sheet6.cell_value(j, 0)):
for k in range(fcount):
if (sheet6.cell_value(j, 1) == friend[0][k]):
skor += 1
friend[6].append(skor)
#============================================================
106
ContactRehber = workbook.sheet_by_index(6)
for r in range(fcount):
skor = 0
for j in range(ContactRehber.nrows):
if (friend[1][r] == ContactRehber.cell_value(j, 1)):
skor += 1
friend[7].append(skor)
#===========================================================
ContactFace = workbook.sheet_by_index(7)
for r in range(fcount):
skor = 0
for j in range(ContactFace.nrows):
if (friend[1][r] == ContactFace.cell_value(j, 2)):
skor += 1
friend[8].append(skor)
#============================================================
ContactWp = workbook.sheet_by_index(8)
for r in range(fcount):
skor = 0
for j in range(ContactWp.nrows):
if (friend[1][r] == ContactWp.cell_value(j, 4)):
skor += 1
friend[9].append(skor)
#==========================================================
for r in range(fcount):
friend[10].append(0)
for j in range(ContactRehber.nrows):
if (friend[1][r] == ContactRehber.cell_value(j, 1)):
friend[10][r]=ContactRehber.cell_value(j,0)
#============================================================
TwitSkor = []
TopSkor = []
AramaSayisi=[]
107
for i in range(fcount):
TwitSkor.append((int(friend[3][i]) + int(friend[4][i]) + int(friend[5][i]) +
int(friend[6][i])) / 4)
AramaSayisi.append(friend[10][i])
maxTwitSkor = max(TwitSkor)
maxAramaSayisi=max(AramaSayisi)
for i in range(fcount):
AramaSayisi[i]=(float(AramaSayisi[i])) / float(maxAramaSayisi)
TwitSkor[i] = (float(TwitSkor[i])) / float(maxTwitSkor)
TopSkor.append(round(( 0.20 * float(friend[2][i]) + float(TwitSkor[i]) * 0.20 +
0.10 * float(AramaSayisi[i])+ 0.10 * float(friend[7][i]) + 0.20 * float(friend[8][i])
+ 0.20 * float(friend[9][i])),2))
print("KullanıcıAdı KarşılıklıTakip Fwing-fwer fwing-fwing fwer-fwer
fwer-fwing ortakarkadaşortalaması Rehber Facebook Whatsapp
SamimiyetSkoru AramaVerileri")
for i in range(fcount):
ort = (int(friend[3][i]) + int(friend[4][i]) + int(friend[5][i]) + int(friend[6][i]))
/ 4
print(friend[0][i],friend[1][i])
print("\t\t\t\t\t\t", friend[2][i],"\t\t\t\t", friend[3][i],"\t\t\t\t",
friend[4][i],"\t\t\t", friend[5][i],"\t\t\t\t", friend[6][i],"\t\t\t\t", ort,"\t\t\t\t",
friend[7][i],"\t\t\t",
friend[8][i],"\t\t\t", friend[9][i],"\t\t\t", TopSkor[i],"\t\t\t",friend[10][i])
108
ÖZGEÇMİŞ
Adı Soyadı : Faruk Süleyman BERBER Doğum Yeri ve Yılı : Gölcük, 1981 Medeni Hali : Evli Yabancı Dili : İngilizce E-posta : [email protected] Eğitim Durumu Lise : Isparta Anadolu Teknik Lisesi, 1999 Lisans : SDÜ, Teknik Eğitim Fakültesi, Bilgisayar Sistemleri
Öğretmenliği, 2004 Yüksek Lisans : SDÜ, Fen Bilimleri Enstitüsü, Elektronik Bilgisayar Eğitimi,
2008 Mesleki Deneyim MEB Isparta Sütçüler Çok Programlı Lise 2004-2010 MEB Isparta Anadolu Lisesi 2010-2010 SDÜ Enformatik Bölüm Başkanlığı 2010-…….. (halen) Yayınları Berber F.S., Küçüksille E.U., "The Relationship Between Information Level Of
Individuals Regarding Information Technology And Their Perceptions Concerning Information Security: University Students As Example", International Conference on Education in Mathematics, Science & Technology (ICEMST), MUĞLA, TÜRKIYE, 19-22 Mayıs 2016, pp.554-559
Berber F.S., Küçüksille E.U., "The Analysis Of Personal-Institutional Data, Left In
Social Life Areas, With The Help Of Forensic Methods", International Conference on Research in Education and Science (ICRES), MUĞLA, TÜRKIYE, 19-22 Mayıs 2016, pp.1404-1410
Taranmış Fotoğraf
(3.5cm x 3cm)
109
Berber F.S., Küçükkömürler A., "Kendinden Thermal Elektrik Kaynaklı Mikroişlemci Soğutma Sistemi", Ulusal Teknik Eğitim, Mühendislik ve Eğitim Bilimleri Genç Araştırmacılar Sempozyumu, KOCAELİ, TÜRKIYE, 20-22 Temmuz 2007, cilt.1, ss.331-334
Berber F.S., Albayrak M., Aydoğan T., Gezer H., "Hareket Yönü Bulanık Mantık İle
Kontrol Edilen Temizlik Robotu Tasarımı", International XII. Turkish Symposium on Artificial Intelligence and Neural Networks , ÇANAKKALE, TÜRKIYE, 2-4 Temmuz 2003, pp.10-12