Android Mobile Forensic Dalam Menemukan Sms Yang Telah Dihapus Pada Handphone Android Dengan Menggunakan Algoritma Boyer-Moore

Tabel 2.1. Daftar bukti digital yang dapat ditemukan Zareen Baig, 2010 No. Bukti Digital Sumber 1 Name of Service Provider Dicetak dibelakang SIM Card 2 Unique Id Number Dicetak dibelakang SIM Card 3 Location Area Identity LAI Disimpan pada SIM Card 4 International Mobile Equipment Identity IMEI Disimpan dan dicetak pada mobile phone 5 Text Message Data SMS Disimpan pada SIM Card atau memory 6 Contact Disimpan pada SIM Card atau memory 7 Call Logs Disimpan pada SIM Card atau memory 8 ImagesSoundVideos Disimpan pada memory

2.2. Android

Android merupakan sistem operasi yang di kembangkan oleh Open Handset Alliance OHA. Gabungan ini berisikan lebih dari 50 perusahaan mobile technology, mulai dari handset manufactures dan service provider sampai semiconductor manufacture dan software developers, seperti Acer, ARM, Google, eBay, HTC, Intel, LG Electronics, Qualcomm, Sprint and T-Mobile. Tujuan utama OHA adalah mempercepat innovasi terhadap perkembangan perangkat mobile dengan memberikan susuatu yang lebih murah namun memiliki kemampuan yang lebh baik Lessard et al, 2010. Sejak dirilis hingga sekarang pengguna smartphone terus meningkat, hal ini disebabkan oleh migarasi dari feature phone ke smartphone. Menurut data yang dikeluarkan eMarketer sebuah perusahaan peneliti pasar, pengguna smartphone di seluruh dunia akan menyentuh 4,55 milliar pada 2014 sebagaimana terlihat pada Tabel 2.2. Dan data yang dikeluarkan oleh International Data Corporation IDC pada tahun 2015 sistem operasi Android menjadi sistem operasi mobile yang paling banyak digunakan pada smartphone dengan market share sekitar 84,8 pada tahun 2014 sebagaimana terlihat pada Tabel 2.3. Tabel 2.2. Data pengguna mobile phone di dunia eMarkerter, Dec 2013 Tahun Jumlahmilliar Populasi 2012 4,08 58,2 2013 4,33 61,1 2014 4,55 63,5 2015 4,77 65,8 2016 4,95 67,7 2017 5,13 69,4 Tabel 2.3. Data market share OS smartphone di dunia tahun 2014 IDC, Aug 2015 Operating System Market Share Android 84,8 iOS 11,6 Windows Phone 2,5 BlackBerry OS 0,5 Others 0,7 2.2.1. Architecture Sangat penting untuk mengenal lebih jauh lagi mengenai sistem operasi Android khusunya bagaimana arsitektur sistem operasi tersebut bekerja, hal ini dapat berguna untuk melakukan prosedur keamanan maupun dalam melakukan analisis forensik Hoog, 2010. Secara umum arsitektur Android dibedakan menjadi lima bagian atau lapisan yaitu Yoon, 2012 : 1. Linux Kernel Sistem operasi Android dibuat dengan menggunakan kernel Linux 2.6, bagian ini berfungsi sebagai penghubung yang berguna untuk membantu dan mengatur hardware dan software secara bersamaan. Kenel Linux menyediakan driver layar, kamera, keypad, WiFi, flash memory, audio dan IPC untuk menyediakan proses pada sumber daya aplikasi. 2. Libraries Libraries merupakan sebuah paket pustaka yang berisi fitur - fitur yang digunakan untuk menjalankan aplikasi. Pustaka hanya dapat digunakan oleh program yang berada di level atasnya. Beberapa library yang terdapat adalah libraries media untuk memutar video atau audio, libraries SQLite untuk menggunakan database pada perangkat Android. 3. Android Runtime Android runtime merupakan layer di mana aplikasi Android dijalankan. Core libraries merupakan sabuah paket inti yang berfungsi sebagai penerjemah bahasa C atau Java, sedangkan Dalvik Virtual Machine merupakan mesin virtual berbasis register yang digunakan untuk pengoptimalan dalam menjalankan fungsi - fungsi Android secara efisien. 4. Application Framework Dalam membangun aplikasi, Android menggunakan kerangka aplikasi yang menyediakan kelas - kelas tersendiri. Selain itu, juga menyediakan abstraksi generik untuk mengakses, serta mengatur tampilan user interface dan sumber daya aplikasi. 5. Applications Layer Top-level dari arsitektur Android adalah lapisan aplikasi. Lapisan ini yang pertama kali tampak ketika pengguna mengoperasikan perangkat Android, tanpa mengetahui proses apa saja yang sedang berlangsung di balik lapisan ini. Program berjalan dalam Android runtime dengan menggunakan kelas dan service dari framework application. Bagian - bagian tersebut bekerja secara bersamaan dan saling bergantung dengan yang lain. Rangkuman bagian arsitektur Android dapat dilihat pada Gambar 2.1. Gambar 2.1. Arsitektur sistem operasi Android Yoon, 2012 2.2.2. Library Layer Bagian terpenting dalam melakukan analisis forensik adalah tempat di mana data tersebut disimpan. Bagian ini berada pada lapisan libraries. Pada perangkat Android semua data disimpan dalam database file berjenis SQLite. Beberapa data seperti pesan APPLICATIONS Home Contact Phone Browser ... APPLICATION FRAMEWORK Activity Manager Window Manager Content Provider View System Telephony Manager Resource Manager Location Manager Notification Manager Package Manager LIBRARIES ANDROID RUNTIME Core Libraries Dalvik Virtual Machine Surface Manager OpenGL | ES SGL Media Framework Free Type SSL SQLite WebKit libc LINUX KERNEL Display Driver Keypad Driver Camera Driver WiFi Driver Flash Memory Driver Audio Driver Binder IPC Driver Power Management SMS, call history, browser history, password dan lainnya disimpan dalam sebuah file database SQLite. SQLite yang memiliki sifat removable sangat membantu dalam melakukan analisis forensik. SQLite merupakan sebuah embedded database yang bersifat open source, yang dibuat dengan menggunakan bahasa C oleh D. Richard Hipp, jika dibandingkan dengan database lainnya seperti SQL Server, Oracle, MySQL dan lainnya, SQLite merupakan database yang ringan digunakan dalam prosesnya, selain itu SQLite menjadi embedded database yang mempunyai engine yang lengkap sehingga tidak membutuhkan komponen yang lain, ada delapan keunggulan yang dimiliki SQLite antara lain Bi, 2009 : 1. Open Source Embedded Database SQLite merupakan embedded database yang bersifat open source. Terdiri kurang dari 30.000 baris ANSI C, yang mana ini dapat digunakan secara bebas untuk tujuan tertentu. 2. Practical Database SQLite tidak memerlukan proses instalasi dan konfigurasi, tidak memerlukan proses start dan stop, dan tidak membutuhkan wewenang seorang administrator. Seperti pada kasus system collapse atau lose of power, SQLite dapat mengembalikan keadaan seperti semula secara otomatis. 3. Easily Database File database SQLite dapat dibaca dan ditulis pada media penyimpanan secara langusng tanpa membutuhkan proses tambahan. File database yang sama dapat digunakan pada perangkat yang berbeda. 4. No Data Type Perbedaan yang mencolok pada SQLite terletak pada tidak ada tipe datanya. SQLite dapat memasukan data apapun ke tabel apapun, tanpa mengetahui atribut data tersebut. 5. Many Support SQLite mendukung ACID dan SQL92 serta multiple tables dan indexes, transactions, views, triggers seperti database umumnya. 6. Multi Platform SQLite memiliki kinerja yang cepat, efisien dan terukur, yang tidak bergantung pada sistem operasi yang sedang digunakan. SQLite dapat digunakan pada sistem operasi yang beragam. 7. Supports API SQLite menyediakan banyak dukungan untuk terhadap API, dan mendukung bahasa pemrograman yang umum seperti CC++, PHP, Perl dan lainnya. API berguna sebagai penghubung antara programming language dengan database file. 8. Good reliability SQLite memiliki ketahanan yang bagus dalam melakukan sebuah proses data. Dan telah memenuhi dari 90 cakupan uji. 2.2.3. Database Architecture Data yang tersimpan dalam smartphone Android memiliki aturan yang baku dalam penyimpanan datanya, walaupun ada aplikasi yang tidak membutuhkan media penyimpanan Hoog, 2010. Secara umum file database yang digunakan pada smartphone Android berada pada direktori datadatapackagaNamedatabases seperti pada Tabel 2.4 . Tabel 2.4. Subdirektori datadatapackageName Hoog, 2010 shared_prefs Directory Storing lib Custom library files an application requires files Files the developer saves to internal storage cache Files cached by the application databases SQLite database and journal files File database yang menyimpan data pesan SMS berada pada direktori datadatacom.android.providers.telephonydatabasesmmssms.db. File mmssms.db memliki beberapa tabel seperti pada Gambar 2.2. Pesan SMS tersimpan dalam tabel sms pada database tersebut. Adapun arsitektur tabel sms seperti pada Tabel 2.5. Android_metadata locale pdu canonical_addresses sqlite_sequences threads Pending_msgs Words_contentc Words_segment Words_segdir Pdu_recipient_threads Semc_threads addr Semc_metadata part rate drm sms raw attachment Sr_pending Gambar 2.2. Tabel pada file database mmssms.db Hoog, 2010 Tabel 2.5. Arsitektur tabel sms Hoog, 2010 Name Type _id INTEGER PRIMARY KEY thread_id INTEGER address TEXT person INTEGER date INTEGER date_sent INTEGER protocol INTEGER read INTEGER status INTEGER type INTEGER reply_path_present INTEGER subject TEXT body TEXT service_center TEXT locked INTEGER error_code INTEGER seen INTEGER semc_message_priority INTEGER parent_id INTEGER delivery_status INTEGER star_status INTEGER

2.3. Short Message Service