Keamanan Platform Smartphone

Dengan perkembangan teknologi yang semakin canggih, kini orang-orang lebih memilih melakukan segala aktivitasnya menggunakan perangkat yang dapat dibawa kemana saja seperti smartphone. Saat ini smartphone menjadi perangkat yang penting dan hampir setiap orang memiliki smartphone dalam genggaman mereka dengan fitur dan aplikasi yang berbeda-beda. Dengan fitur dan aplikasi tersebut maka smartphone saat ini memiliki kapabilitas yang hampir sama seperti komputer. Aktivitas yang biasa orang-orang lakukan menggunakan perangkat tersebut yaitu untuk menelepon, mengirimkan SMS, mengirimkan e-mail, chatting, internet browsing, games, GPS, menyimpan gambar atau video ataupun menjalankan aplikasi lainnya. Dengan melakukan segala aktivitas tersebut maka pada perangkat tersebut terdapat berbagai macam informasi mengenai pengguna yang sangatlah rentan terhadap berbagai macam kejahatan pada dunia cyber. Oleh karena itu, keamanan perangkat ini perlu diperhatikan karena pengguna mungkin saja mengakses wireless yang tidak aman ataupun meng-download aplikasi yang sudah ditanami malware/virus yang menjadi celah untuk melakukan serangan.

Kejahatan pada dunia cyber sudah menjadi hal yang biasa sejak berkembangnya teknologi. Banyak para hacker yang menggunakan kemampuannya untuk melakukan hal yang merugikan orang lain hanya untuk kepuasan ataupun dengan modus finansial. Menurut Kaspersky Lab, pada tahun 2015 terjadi peningkatan jumlah aplikasi berbahaya pada perangkat smartphone. Peningkatan ini bukanlah hal yang aneh karena pengguna smartphone pun meningkat sehingga attacker pun mulai beralih menyerang perangkat smartphone.

Untuk mengantisipasi serangan yang mungkin terjadi maka kita perlu sadar akan kepentingan keamanan pada smartphone kita. Karena apabila terdapat celah keamanan pada smartphone kita maka akan membuka kesempatan bagi para attacker untuk dijadikan sarana penyerangan. Namun apabila kita membahas mengenai keamanan pada smartphone, terdapat beberapa tantangan yang dihadapi seperti solusi keamanan yang tidak efisien, terbatasnya signature deteksi malware,  kendurnya kontrol terhadap aplikasi pihak ketiga, dan pengguna yang ceroboh [5]. Sedangkan beberapa ancaman dan serangan pada smartphone yang pernah dilaporkan, yaitu malware, sniffing, spamming, spoofing, phishing, pharming, vishing, data leakage, Dos, dll [5]. Namun menurut [6] pertumbuhan serangan malware lebih tinggi dibandingkan serangan lainnya.

Malware atau malicious software merupakan program yang tugas utamanya yaitu menyebabkan kerusakan. Kerusakan yang dimaksud seperti mengubah data (menghapus, menyembunyikan, mencuri), menghabiskan bandwidth, menginstal aplikasi tanpa sepengetahuan kita atau mendapatkan akses ke sumber sistem tanpa seizin pengguna. Oleh karena itu, malware dikatakan berbahaya. Malware terdiri dari beberapa elemen yang memiliki kapabilitas untuk melakukan berbagai macam tugas seperti: [9]

  • Trojan merupakan program yang terlihat legal namun setelah kita menginstalnya maka akan menyebabkan kerugian bagi user.
  • Worm merupakan program mencurigakan yang mereplikasi dirinya sendiri. Contoh worm yaitu Selfmite.b yang menyebarkan pesan berisi link url address yang sudah ditanami malicious code.
  • Spyware merupakan malware yang tujuan utamanya yaitu mengakses dan mengintai data personal dari perangkat user.
  • Adware merupakan program dimana banner iklan ditampilkan namun ternyata terdapat program lain yang berjalan dibelakangnya.

Setelah mengetahui ancaman atau serangan yang mengancam smartphone kita, maka akan timbul pertanyaan mengapa kita harus peduli terhadap serangan-serangan tersebut? Dan apa akibatnya apabila smartphone kita menjadi korban dari serangan tersebut? Sama halnya seperti komputer yang terkena serangan, contohnya malware, apabila smartphone kita terkena malware maka smartphone kita akan mengalami gangguan seperti performa yang menurun, adanya pesan spam, operasi berjalan lambat, atau yang parahnya mungkin kita tidak dapat menerima atau membuat panggilan serta besar kemungkinan kita dapat kehilangan data yang mungkin berpengaruh pada finansial kita. Akibat dari serangan ini dapat berbeda-beda antar usernya. Oleh karenanya kepedulian akan keamanan smartphone harus ditingkatkan agar data yang ada pada smartphone kita terjaga. Data di smartphone yang mungkin menjadi target dari penyerangan yaitu log SMS, identifikasi lokasi ataupun riwayat telepon.

Banyak cara yang dapat dilakukan attacker untuk melakukan serangan ke smartphone, antara lain [18] melalui aplikasi chatting (cara hacker ini meretas melalui penambahan kontak baru, melalui pesan, melalui panggilan tidak diketahui, atau mengirim URL video, lalu dari sana hacker akan mendapatkan informasi celah keamanan smartphone), melalui SMS dan MMS (hacker meretas melalui SMS dan MMS yang telah disisipkan kode khusus yang secara otomatis masuk ke dalam inbox), untuk perangkat android bisa melalui certifi-Gate (dengan adanya certifi-Gate ini memungkinkan plugin pihak ketiga untuk menduplikasi layar perangkat dan melakukan tindakan ke perangkat), melalui kunci sidik jari (hacker ini akan masuk ke dalam smartphone melalui internet lalu menyisipkan kode untuk mencuri data dari sidik jari), melalui aplikasi baterai (karena aplikasi baterai ini meneliti semua data pada smartphone kita, mulai dari aplikasi yang berjalan, cookies, cache,dll). Namun berikut ini merupakan skenario serangan yang pernah terjadi pada smartphone [2]:

  • Attacker membuat suatu website dan mengundang user untuk membuka website
  • Pada website tersebut ditampilkan halaman untuk meng-download aplikasi yang telah ditanami malware.
  • Halaman website tersebut dibuat semenarik mungkin sehingga user meng-download aplikasi tersebut.
  • Setelah user meng-download aplikasi tersebut maka smartphone telah terinfeksi malware dan attacker dapat melakukan apa saja apabila smartphone telah terinfeksi.

Dari contoh serangan dan skenario serangan yang mengancam smartphone kita maka kita perlu untuk mengetahui celah keamanan yang mungkin ada pada perangkat kita. Pada setiap perangkat, baik komputer ataupun smartphone, pasti memiliki celah keamanan. Berikut merupakan celah keamanan yang mungkin ada pada smartphone [5],[7]:

  • Celah keamanan yang pertama dan merupakan celah keamanan yang ada pada perangkat apapun yaitu pengguna perangkat tersebut. Dengan menggunakan social engineering mungkin attacker memiliki informasi mengenai karakteristik atau cara kita dalam menggunakan smartphone sehingga membuat attacker lebih mudah dalam merancang skenarion untuk melakukan penyerangan. Karakteristik atau cara pengguna menggunakan smartphone-nya akan berpengaruh terhadap penyerangan karena apabila seorang yang menggunakan smartphone untuk keperluan bisnis akan lebih memperhatikan keamanan smartphone-nya sedangkan pengguna yang hanya menggunakan smartphone-nya hanya untuk game tidak akan terlalu peduli terhadap keamanan. Selain itu, karena biasanya smartphone ini tidak akan lama digunakan oleh penggunanya maka pengguna mungkin lebih mengharapkan smartphone mereka rusak atau hilang sehingga bisa beli yang baru.
  • Celah keamanan selanjutnya yaitu dari sistem operasi yang ditanamkan pada smartphone seperti iOS, android, blackberry, atau windows phone. Untuk melakukan penyerangan biasanya attacker mencari informasi mengenai kelemahan sistem operasi yang kita gunakan pada Kelemahan sistem operasi ini yang akan digunakan attacker untuk melakukan penyerangan seperti mencuri data.
  • Celah keamanan lainnya yaitu apabila smartphone kita terkoneksi dengan bluetooth atau terkoneksi ke jaringan 2G/3G/4G atau jaringan Wi-Fi sehingga dapat mengakses internet. Saat perangkat kita terkoneksi pada sebuah jaringan maka kemungkinan terdapat attacker yang merekam lalu lintas pada jaringan tersebut.
  • Celah keamanan yang paling banyak mengancam smartphone kita yaitu celah keamanan yang ada pada aplikasi yang kita instal. Karena terdapat sistem operasi yang mengizinkan pihak ketiga dalam membuat aplikasinya, maka kemungkinan adanya bug pada aplikasi tersebut dapat mejadi celah keamanan bagi smartphone
  • Tempat penyimpanan data yang tidak aman juga dapat menjadi salah satu celah keamanan smartphone kita karena dapat menimbulkan aplikasi saling mencuri data.
  • Embedded sensor yang tertanam pada perangkat kita pun dapat dijadikan sebagai celah keamanan smartphone

Dengan adanya celah keamanan tersebut maka attacker dapat menjadikannya tempat untuk melakukan serangan. Dan untuk mengetahui apakah celah keamanan atau aplikasi berbahaya yang ada pada smartphone kita, kita dapat mengujinya. Pengujian ini berfokus pada aktivitas yang berbahaya/mencurigakan, celah keamanan, risiko keamanan, dll [5]:

  • Mobile forensik

Mobile forensik merupakan cara yang legal untuk mendapatkan dan memeriksa data pada smartphone. Data yang didapati dapat berupa salinan SMS/MMS, emails, call log, calendar events, web traffic, bookmark, gambar, voice mail, informasi lokasi, aplikasi data, dll.

  • Penetration test

Penetration test ini juga dapat digunakan untuk menguji keamanan dari sebuah smartphone. Penetration test ini terdiri dari konfigurasi pengujian lingkungan, melakukan prosedur pengujian, membandingkan dan menganalisa hasil dari pengujian, dll.

  • Static analysis

Static anaysis ini proses analisis aplikasi tanpa menjalankan aplikasi tersebut. Static analysis ini akan me-review kodingan dari aplikasi untuk menemukan fungsi yang mencurigakan. Keluaran dari proses ini yaitu signature yang dapat digunakan sebagai signature untuk software pendeteksi malware.

  • Dynamic analysis

Dynamic analysis merupakan proses analisis aplikasi saat menjalankan aplikasi tersebut pada lingkungan yang terlindungi. Analisis ini akan memonitor trafik jaringan dan komunikasi lainnya untuk mengetahui aktivitas yang mencurigakan.

Menurut [4] keamanan dibagi menjadi 5 bagian, yaitu keamanan fisik, keamanan jaringan, keamanan host, keamanan aplikasi dan keamanan data. Diantara 5 keamanan tersebut, [4] memilih keamanan host menjadi keamanan yang paling penting karena keamanan host akan mempengaruhi keseluruhan sistem informasi. Namun keamanan host ini pun bergantung dari keamanan sistem operasi yang digunakan. Mengapa sistem operasi menjadi hal yang penting? Karena apabila sebuah perangkat tidak memiliki sistem operasi maka perangkat tersebut hanyalah benda yang tidak ada gunanya. Menurut Wikipedia, sistem operasi merupakan seperangkat program yang mengelola sumber daya perangkat keras atau hardware dan menyediakan layanan umum untuk perangkat lunak (software). Sistem operasi adalah hal yang paling penting dari perangkat lunak sistem. Tanpa sistem operasi, pengguna tidak dapat menjalankan aplikasi pada perangkat mereka [16]. Dari pengertian sistem operasi tersebut maka pendapat [4] yang memilih keamanan host menjadi hal yang paling penting tidak diragukan. Dan dari contoh serangan yang telah dijelaskan maka salah satu cara untuk meningkatkan keamanan smartphone yaitu dengan memperhatikan sistem operasi yang digunakan pada smartphone tersebut, seperti android, blackberry, windows atau iOS. Berikut merupakan beberapa aspek yang perlu diperhatikan agar keamanan sistem operasi smartphone terjamin [1]:

  • Autentikasi

Autentikasi merupakan cara sistem untuk mengetahui user yang mempunyai otoritas untuk masuk berdasarkan identitasnya. Autentikasi ini berfungsi untuk mengetahui program apa saja yang dapat dijalankan oleh user. Hampir semua sistem operasi smartphone memiliki proses autentikasi yang sama, seperti menggunakan password (tidak aman karena mudah diketahui) atau menggunakan teknik biometrik (lebih aman dari password).  

  • Enkripsi

Enkripsi merupakan cara untuk menjaga kerahasiaan data dengan mengubah data yang dapat dibaca (plaintext) menjadi tidak dapat dibaca (chipertext) menggunakan algoritma dan kunci tertentu. Enkripsi ini merupakan cara agar data yang ada pada smartphone kita terjaga kerahasiaannya. Beberapa sistem operasi memiliki fitur enkripsi sebagian yang mana maksudnya yaitu user dapat memilih data mana yang ingin dijaga kerahasiaannya. Berikut merupakan perbandingan sistem operasi smartphone yang menggunakan enkripsi pada platform-nya:

Android Blackberry Windows iOS
Versi 3.0 dan selanjutnya memiliki fitur enkripsi file system (enkripsi menggunakan algoritma AES128, CBC, SHA256) Enkripsi menggunakan kunci enkripsi simetrik saat transfer data antara Blackberry device dan Blackberry enterprise serve Memiliki  beberapa algoritma enkripsi seperti AES, SHA1, SHA256, HMACSHA1, HMACSHA256 iOS4 dan selanjutnya memiliki fitur enkripsi dengan algoritma AES256 untuk mengenkripsi semua data yang tersimpan di memori
  Dapat memilih data yang akan dienkripsi Dapat menyimpan data di secure server dengan mengirimkan data melalui SSL  
  • Application signing

Digital signing merupakan cara untuk meyakinkan bahwa aplikasi yang kita instal legal atau tidak. Sistem operasi smartphone seharusnya memiliki mekanisme untuk mengidentifikasi aplikasi mana yang diperbolehkan untuk diinstal. Ini menjadi hal yang penting karena apabila user menginstal aplikasi yang ilegal dapat menyebabkan kehilangan atau dicurinya data pada smartphone user. Untuk mengatasi masalah ini maka setiap sistem operasi smartphone memiliki mekanismenya masing-masing agar dapat memverifikasi aplikasi tersebut dan apabila hasil verifikasi tidak sesuai dengan ketentuan yang ada maka aplikasi tersebut akan langsung ditolak untuk diinstal. Berikut merupakan signing yang ada pada setiap platform:

Android Blackberry Windows iOS
Setiap signed application tersimpan di sandbox application sehingga setiap aplikasi bekerja secara terpisah tanpa mengganggu aplikasi lainnya Menggunakan verifikasi signature pada setiap aplikasinya untuk menjamin bahwa aplikasi tersebut tidak diubah-ubah Menggunakan application testing dan signing program untuk membedakan aplikasi yang legal dan tidak. Developer harus melalui proses register yang kompleks untuk meluncurkan aplikasinya dan baru mendapatkan digital sign
  • Reliability

Reliability merupakan kemampuan sistem untuk dapat bekerja pada situasi apapun dan kemampuan untuk recover dari eror yang tidak terduga. Perangkat yang tiba-tiba berhenti berkerja akan menyebabkan hilangnya pekerjaan yang dilakukan user.

Dari penjelasan diatas kita dapat mengetahui aspek apa saja yang harus diperhatikan agar kita dapat mengetahui sistem operasi mana yang aman untuk perangkat kita. Berikut penjelasan lebih lanjut mengenai keamanan setiap sistem operasi smartphone:

  • iOS [3]

iOS menkombinasikan software, hardware, dan services agar dapat bekerja dengan baik untuk mendapatkan keamanan yang maksimum. iOS tidak hanya menjaga perangkat dan data, tetapi keseluruhan ecosystem. Sistem operasi iOS ini menyediakan fitur keamanan seperti:

  • system security: membuktikan bahwa software dan hardware yang digunakan terintegrasi dan aman. Hal yang termasuk dari keamanan sistem yaitu boot-up process, software update, secure enclave.
  • encryption and data protection: arsitektur dan desain digunakan untuk menjaga data user jika perangkat hilang, dicuri, atau mencegah unauthorized user untuk menggunakan atau mengubah data tersebut.
  • App security: elemen yang penting dimana sistem mengizinkan aplikasi untuk berjalan dengan memastikan aplikasi tersebut telah di-signed dan diverifikasi.
  • Network security: protokol jaringan standar yang menyediakan fitur autentikasi dan autorisasi secara aman serta mengenkripsi data pada saat dikirimkan.
  • Apple pay: implementasi secure payments.
  • Internet services: infrastruktur jaringan untuk messaging, syncing, dan
  • Device controls: metode yang mengizinkan manajemen perangkat iOS mencegah unauthorized masuk sistem, dan mengizinkan remote wipe jika perangkat hilang atau dicuri.
  • Privacy controls: kapabilitas iOS dapat digunakan untuk kontrol akses ke lokasi services dan user data.

Dari fitur keamanan tersebut, kita dapat melihat bahwa iOS telah memenuhi aspek yang dibutuhkan untuk meningkatkan keamanan smartphone. Namun dengan memenuhi aspek tersebut dan memiliki beberapa fitur keamanan bukan berarti sistem operasi iOS ini benar-benar aman. Celah keamanan akan selalu ada pada setiap sistem operasi ataupun aplikasinya, salah satu contoh celah keamanan yang ada pada iOS yaitu “masque Attack” dimana iOS tidak dapat mencocokan sertifikat aplikasi apabila bundle identifier-nya sama.

  • Android

Sistem operasi android ini dapat dikatakan sebagai raja sistem operasi smartphone. Kemudahan dalam pengelolaan aplikasinya, kemudahan kostumisasi, kebebasan untuk memodifikasi, dan pilihan aplikasi gratis yang begitu banyak di PlayStore [16] yang membuat sistem operasi satu ini sangat diminati sehingga penggunanya pun banyak. Namun sistem operasi ini juga yang dikatakan sebagai sistem operasi yang memiliki kerentanan tertinggi terhadap serangan. Faktor keamanan yang ada pada sistem operasi ini yang kerap menjadi isu yang dikhawatirkan. Berikut akan dijelaskan mengenai arsitektur, mekanisme keamanan, serta fitur keamanan lainnya pada android.

Arsitektur sistem operasi Android ini terdiri dari beberapa layer [8], layer terendah pada arsitektur android ini adalah linux kernel yang berisi hardware driver yang melakukan fungsi low level seperti memory management, threading, dan power management. Sedangkan layer atasnya merupakan set dari C dan library C++ yang terdiri dari graphic libraries, SQL engine, beberapa library C, media codecs, dan web browser engine. Layer selanjutnya yaitu android runtime yang terdiri dari spesifik virtual machine android  dan beberapa library inti. Lalu layer framework aplikasi yang menyediakan API untuk mengizinkan aplikasi berinteraksi dengan aplikasi lainnya atau berinteraksi dengan hardware dan layer terkahir merupakan layer aplikasi. Sedangkan untuk mekanisme keamanan pada android yaitu [8]:

  • Mekanisme Sandboxing

Android memiliki fitur keamanan yang mengeksekusi mekanisme sandboxing untuk menjalankan setiap aplikasi pada prosesnya masing-masing. Setiap aplikasi yang terinstal di android akan diberikan user ID yang unik (UID). UID ini yang akan menentukan bahwa aplikasi yang berbeda tidak dapat berjalan pada proses yang sama. Sanboxing ini berguna agar aplikasi tidak dapat mengakses informasi yang sensitif yang tersimpan di sistem dan informasi yang ada pada aplikasi lainnya.

  • Mekanisme perizinan aplikasi (permission)

Android menggunakan model perizinan deklarasi untuk keamanan tingkat aplikasi yang membatasi operasi tertentu yang aplikasi ingin lakukan. Permission dibuat sendiri oleh aplikasi dan akan memberitahukan kepada pengguna sebelum proses instalasi, jika pengguna setuju dengan permission-nya maka proses instalasi akan berlangsung, namun jika pengguna tidak setuju dengan permission-nya maka proses instalasi tidak akan berjalan. Saat pengguna telah menyetujui permission ini maka pengguna tidak dapat mengubahnya ketika proses instalasi selesai. Permasalahan permission ini yaitu biasanya pengguna tidak mempedulikan permission yang diminta aplikasi sebelum proses instalasi sehingga apabila aplikasi meminta permission yang mencurigakan biasanya pengguna tidak mengetahuinya.

Beberapa fitur keamanan pada android lainnya sebagai berikut:

  • Isolasi: setiap aplikasi biasanya berjalan dengan user yang berbeda (multi-user linux os).
  • Komunikasi antar linux user id: komunikasi dapat berjalan dengan membagikan linux user id yang sama (saling mengakses file, memungkinkan membagikan proses linux dan Dalvik VM yang sama)
  • Aplikasi sandbox: setiap aplikasi berjalan dengan UID pada Dalvik Virtual machine (menyediakan keamanan CPU, menjaga memori), dan aplikasi mengumumkan persyaratan permission seperti menulis whitelist model serta komunikasi antar komponen mereferensikan monitor cek permission.
  • dlmalloc (Doug Lea): menyimpan meta data di band, tumpukan serangan konsolidasi (tumpukan overflow dapat menimpa pointer sebelum atau setelah chunks yang tidak terkonsolidasi, dan timpaan pointer ini mengizinkan eksekusi remote code), dan meningkatkan keamanan (mengecek integritas forward dan backward pointer dan meningkatkan kesulitan tumpukan overflow).

Dari fitur dan mekanisme keamanan yang telah dijelaskan berikut merupakan perbedaan keamanan antara sistem operasi iOS dan android, yaitu:

Proses aplikasi disetujui Application permissions Bahasa pemrograman
Aplikasi android didapati dari open app store sehingga keamanannya perlu diperhatikan Android permission berdasarkan instal time manifest Ditulis di java, tidak ada buffer overflow
iOS vendor kontrol penyimpanan aplikasi vetted Semua iOS memiliki set privileges “sandbox” yang sama. Ditulis di objektif-c
  • Windows Phone

Sistem operasi windows phone ini bersifat tertutup sehingga para vendor dan developer tidak dapat memodifikasi atau menambah fitur lain pada perangkat mereka. Sistem operasi ini dapat dikatakan masih cukup jauh dalam hal fitur atau koleksi aplikasi dibandingkan sistem operasi saingannya iOS dan Android. Namun dalam hal kestabilan dan keamanan, sistem operasi windows phone ini dapat dikatakan lebih baik dari pada kedua sistem operasi saingannya. Fitur keamanan yang ada pada sistem operasi windows phone ini diantara lain sebagai berikut:

  • Secure boot
  • Semua binaries telah di-signed
  • Perangkat terenkripsi
  • Model keamanan dengan isolasi dan kapabilitas
  • Setiap aplikasi berjalan di isolasi chamber-nya masing-masing (semua aplikasi mempunyai basic permission tetapi tidak dapat mengakses memori atau data dari aplikasi lainnya)
  • Tidak ada komunikasi antar channels aplikasi
  • Aplikasi non-MS yang didistribusikan melalui marketplace berhenti di background (ketika user meng-switch aplikasi maka aplikasi sebelumnya mati)

Dari penjelasan diatas kita telah mengetahui aspek-aspek yang perlu diperhatikan dan penjelasan lebih rinci mengenai keamanan pada setiap sistem operasi smartphone. Setelah mengetahui hal tersebut maka diharapkan kita dapat memilih sistem operasi mana yang terbaik untuk smartphone kita. Jadi sebelum kita membeli smartphone lebih baik kita mempertimbangkan aspek keamananya seperti sistem operasi apa yang digunakan. Menurut Steve Lord dari White Hat, sistem operasi smartphone yang paling sulit diretas yaitu Windows Phone dan Android menjadi yang paling mudah diretas apabila dia memiliki akses fisik ke perangkat [13]. Kaspersky pun menambahkan kekuatan pendapat ini dengan mengatakan bahwa iOS atau Android bukanlah sistem operasi yang aman untuk digunakan pada smartphone karena kedua sistem operasi ini memiliki celah keamanan yang banyak, Windows Phone lah yang paling bersih dari serangan. Namun Kaspersky mengatakan Windows Phone menjadi sistem operasi yang paling bersih dimungkinkan karena penggunanya yang belum sebanyak sistem operasi iOS dan Android [14]. Lord pun memberi saran untuk menggunakan smartphone berbasis Windows Phone 8 atau versi terbaru.

Pendapat Steve Lord dan Kaspersky seharusnya membuat kita semakin sadar bahwa dengan terpenuhinya semua aspek keamanan smartphone dan adanya fitur keamanan pada sistem operasi smartphone belum menjamin bahwa perangkat kita akan aman, oleh karena itu terdapat beberapa cara lainnya yang harus diperhatikan untuk menjamin keamanan smartphone. Mekanisme keamanan sistem operasi menurut [4] terdiri dari mekanisme keamanan hardware dan keamanan software. Ini berarti bahwa untuk menjamin keamanan sistem operasi smartphone kita pun perlu memperhatikan keamanan software dan hardware-nya. Namun menurut [7] telah banyak perusahaan yang mulai untuk meng-explore solusi mengenai masalah keamanan smartphone ini. Dan didapatkan hasil bahwa ternyata keamanan smartphone tidak hanya dilihat dari sisi sistem operasinya, melainkan melibatkan user service provider, dan industry partners. Dari penjelasan tersebut maka kita dapat mengetahui bahwa untuk menjamin keamanan pada smartphone tidak se-simple yang dipikirkan. Namun terdapat beberapa cara yang dapat kita lakukan untuk meningkatkan keamanan pada smartphone kita dan memonitor perangkat kita tanpa memperdulikan celah keamanan apa yang ada pada setiap sistem operasi yang kita gunakan:

  • Pengguna harus meningkatkan kesadaran akan pentingnya keamanan dengan sadar akan adanya ancaman dan serangan yang mungkin terjadi ketika menginstal software atau mengotorisasikan flash memory atau smartphone sensor.
  • Perangkat kita harus memiliki proses identifikasi dan autentikasi seperti yang telah dijelaskan pada aspek keamanan sistem operasi smartphone
  • Pengguna harus memiliki kesadaran akan pentingnya keamanan dengan melakukan hal ini: mengubah password secara teratur, mem-backup data, dan update/upgrade software.
  • Pengguna harus selalu mengunci smartphone dengan menggunakan password, pola, atau biometrik untuk mencegah dicuri atau diubahnya data kita apabila smartphone hilang/dicuri.
  • Pengguna harus menginstal antivirus pada smartphone agar antivirus tersebut dapat mendeteksi apabila kita menginstal aplikasi yang berbahaya sehingga kita dapat mencegah program berbahaya dan mencegah smartphone corrupt. Namun ada yang berpendapat bahwa antivirus yang ada pada android tidak efektif karena akses untuk memeriksa sistem operasi dan aplikasi android dibatasi oleh sandbox. Selain itu, antivirus pada android ini tidak otomatis menghapus perangkat lunak berbahaya [17].
  • Apabila perangkat kita memiliki fitur enkripsi maka kita dapat mengaktifkan fitur enkripsi tersebut pada Dengan mengenkripsi data yang ada pada perangkat kita maka kerahasiaan data dapat terjamin karena attacker akan sulit membacanya apabila dia berhasil mendapatkan data tersebut.
  • Pengguna harus selalu memperbarui atau mem-patched sistem operasi atau aplikasi pada perangkat smartphone mereka untuk menghindari risiko dan ancaman yang ada. Google, sebagai pemilik sistem operasi android terus berupaya untuk memperbaiki sistem operasinya dengan memperbaharuinya setiap bulan, namun hanya sedikit produsen smartphone yang menerapkan proses pembaharuan ini [15]. Jadi untuk meningkatkan keamanan smartphone dibutuhkan kerjasama antara developer dan produsennya.
  • Apabila kita terlalu takut akan serangan yang mungkin dapat mengancam smartphone kita, maka agar lebih aman kita dapat memblokir instalasi aplikasi dari pihak ketiga atau hanya meng-download aplikasi pada market yang terpercaya.
  • Memastikan perangkat kita memiliki akses kontrol yang berisi mengenai mekanisme untuk membatasi akses yaitu hanya user yang memiliki otoritas yang dapat masuk ke sistem.
  • Untuk lebih amannya kita dapat memasang firewall dan intrusion prevention pada perangkat kita untuk meningkatkan keamanan.
  • Saat kita ingin akses ke jaringan jangan lupa untuk selalu memastikan bahwa untuk berkomunikasi melalui jaringan tersebut menggunakan jalur yang aman, seperti hanya menghubungkan perangkat ke jaringan Wi-Fi yang aman.
  • Untuk mengantisipasi kejadian perangkat smarphone kita hilang atau dicuri maka kita dapat memasang layanan keamanan aplikasi seperti pelacakan perangkat menggunakan fungsi GPS serta aplikasi yang secara remote mengunci perangkat melalui internet dan menghapus data pada perangkat.
  • Tidak me-root
  • Jangan menyimpan password pada perangkat anda dan jangan lupa selalu logout apabila kita telah melakukan transaksi
  • Apabila kita melakukan aktivitas yang tidak memerlukan koneksi ke jaringan seperti saat kita tidur, mungkin sebaiknya kita matikan bluetooth, Wi-Fi, data network dan NFC.
  • Apabila kita menggunakan Android Lollipop 5.1 maka aktifkanlah screen pinning dan nonaktifkan Screen pinning ini berguna agar pengguna dapat berbagi atau meminjamkan smartphone kita dengan tetap menjaga privasi dari orang lain. Sementara smartlock apabila diaktifkan akan berbahaya karena sensornya tidak bekerja khusu untuk tubuh pengguan namun untuk semua manusia [17].
  • Seperti yang telah dijelaskan pada penejelasan mengenai mekanisme keamanan android. Permission sebuah aplikasi dapat menjadi celah keamanan. Oleh karena itu, saat kita akan menginstal aplikasi lebih baiknya kita memperhatikan permission tersebut, apabila terdapat permission yang mencurigakan maka kita dapat langsung membatalkan proses instalasi. Contoh permission yang mencurigakan yaitu apabila kita akan menginstal aplikasi game maka aplikasi game tersebut seharusnya hanya perlu meminta izin untuk dapat mengakses terhadap getaran, sistem suara, ataupun menyimpan data pada memori perangkat, namun apabila aplikasi game tersebut meminta izin agar dapat mengakses SMS, phonebook, atau lainnya yang dirasa tidak perlu maka lebih baik kita tidak menginstal aplikasi tersebut.
  • Selain melakukan pencegahan dari serangan yang mungkin mengancam smartphone kita, kita pun perlu memonitor atau melihat behaviour perangkat kita dengan melihat konsumsi data dan baterai. Apabila konsumsi data dan baterai kita meningkat dari biasanya maka kemungkinan perangkat kita telah terinfeksi malware karena biasanya malware akan selalu melakukan aktivitasnya tanpa sepengetahuan kita sehingga konsumsi data dan baterai kita ikut terkuras.
  • Selain memonitor konsumsi data dan baterai, kita pun dapat memonitor perangkat kita apabila perangkat kita melakukan hal yang tidak biasanya seperti aplikasi yang selalu mengalami crash atau aplikasi berjalan lambat.
  • Untuk menjaga keamanan data maka kita dapat menghapus aplikasi ataupun file yang sudah tidak digunakan atau yang dirasa mencurigakan.
  • Dan apabila kita memang benar-benar takut akan hilangnya atau dicurinya data kita maka akan lebih baik apabila kita tidak menyimpan data penting di smartphone
  • Selalu waspada dan mencurigai apabila adanya pesan SMS, attachment email atau link url address dari pengirim yang tidak dikenal. Saat kita melakukan browsing pun akan lebih baik apabila kita tidak asal mengklik iklan atau website.
  • Dan apabila kita berniat untuk menjual perangkat smartphone kita, maka kita harus mengubah setting-an smartphone kita ke awal saat kita membelinya, non-aktifkan semua aplikasi seperti email, whatsapp, dan aplikasi lainnya.

Referensi:

[1]  R.M.Nabi, R.A.Mohammed, R.M. Nabi. “Smartphone Platform Security a Comparison Study”, International Journal of Advanced Reasearch in Computer Science and Software Engineering.  November, 2015.

[2]  Kaspersky Lab & Interpol Joint Report. Mobile Cyber Threats. October,2014.

[3]  iOS Security. May, 2016.

[4]  J. Song, G. Hu, Q.Xu. “Operating System Security and Host Vulnerability Evaluation”. IEEE. 2009

[5]  Y. Wang, Y. Alshboul. “Mobile Security Testing Approaches and Challenges”.

[6]  H. Pieterse, M.S. Olivier. “Security Steps for Smartphone Users”. IEEE. 2013.

[7]  Y.Wang, K.Streff, S.Raman. “Smartphone Security Challenges”. IEEE Computer Society. 2012.

[8] S. Khan, M.Nauman, A.T. Othman, S.Musa. “How Secure is Your Smartphone: An Analysis of Smartphone Security Mechanisms”.

[9] D. Hrestak, S.Picek, Z.Rumenjak. “Improving the Android Smartphone Security against Various Malware Threats”.

[10] A.D.Schmidt, H.G.Schmidt, dkk. “Enhancing Security of Linux-based Android Devices”.

[11] A. Eshmawi, S. Nair. “Smartphone Applications Security : Survey of New Vectors and Solutions”. IEEE. 2013.

[12] M.Al-Hadadi, A. Al-Shidhani. “Smartphone Security Awaremess: Time to Act”.

[13] http://www.trentekno.com/13930/inilah-sistem-operasi-smartphone-yang-paling-susah-diretas/

[14]http://www.tuxindonesia.com/2015/07/sistem-operasi-smartphone-yang-paling-aman-menurut-kasperksy.html

[15]http://www.merdeka.com/teknologi/bukan-ios-ini-sistem-operasi-mobile-paling-aman-menurut-hacker.html

[16]https://cokkey.wordpress.com/2014/12/13/macam-macam-sistem-operasi-smartphone/

[17] http://www.webkeren.net/2015/04/menjaga-keamanan-smartphone-android.html

[18] https://www.maxmanroe.com/5-cara-hacker-membobol-smartphone-android.html

Artikel ini dibuat oleh Friska Puspita Juhara sebagai tugas mata kuliah EL5233 Keamanan Sistem Operasi di program studi s2 Rekayasa dan Manajemen Kemanan Informasi.

Device Driver

Driver merupakan software yang menghubungkan sistem komputer dengan device. Dapat dimisalkan sebuah aplikasi membutuhkan suatu data dari device, maka aplikasi tersebut akan memanggil fungsi yang terdapat pada os dan os akan memanggil fungsi yang terdapat pada driver. Driver ini lah yang akan berkomunikasi dengan device untuk mendapatkan data. Setelah driver mendapatkan data dari device maka data tersebut dikirimkan ke os lalu ke aplikasi. Sebagian besar device tidak akan dapat berjalan tanpa adanya driver yang sesuai yang terinstal pada os.

driver windows

Gambar 1. Hubungan Sistem Komper dengan Device driver

Source https://msdn.microsoft.com/ru-ru/library/ff554678(v=vs.85).aspx

Device driver dapat berjalan pada 2 mode, yaitu user mode dan kernel mode. Mode yang digunakan bergantung pada tipe code yang sedang berjalan.. Driver yang berjalan di user mode tidak dapat mengakses virtual address yang dicadangkan untuk os. Pembatasan ini mencegah aplikasi dari mengubah atau merusak data pada os. Sedangkan dalam kernel mode, driver berbagi virtual address sehingga apabila driver mengalami crash maka seluruh os akan mengalaminya juga.

driver

Gambar 2. User mode dan Kernel mode

Source https://msdn.microsoft.com/ru-ru/library/ff554836(v=vs.85).aspx

Karena driver adalah sebuah software maka driver rentan memiliki bug. Bug ini dapat menimbulkan masalah pada operasional komputer, oleh karena itu driver yang berjalan pada kernel mode perlu diperhatikan lebih lanjut. Selain itu, karena driver dapat dibuat oleh third party hardware provider maka tidak mengejutkan apabila driver pada linux ataupun windows sering menimbulkan crash. (Anda dapat mengetahui berbagai vulnerability pada device driver di internet)

Untuk mengurangi dampak dari masalah tersebut maka sebelum proses instalasi device driver sebaiknya kita mengetahui apakah driver tersebut aman untuk diinstal.

Proses instalasi device driver pada windows dapat dilakukan dengan 2 cara, yaitu:

  • Cara otomatis

Pilih setting – Change PC setting – Update and Recovery – Windows Update

  • Cara manual

Download dan install driver dari website terpercaya (Manufacture’s website).

Mendowload driver dari website terpercaya pun tidak menjamin bahwa driver yang akan kita instal tersebut aman. Oleh karena itu, windows memberikan proteksi tambahan untuk mengetahui apakah driver yang kita instal aman dengan memberikan notifikasi sebagai berikut:

  • Windows can’t verify the publisher of this driver software

Driver tidak memiliki digital signature atau terdapat digital signature yang tidak terverifikasi oleh Certification Authorithy.

  • This driver hasn’t been signed

Driver tidak memiliki digital signature yang terverifikasi publisher. Driver mungkin telah diubah untuk menyertakan malware.

  • Windows requires a digitally signed driver

Driver tidak memiliki digital signature yang valid atau memiliki digital signature yang berubah.

Namun dengan men-download dari situs terpercaya dan adanya digital signature saja tidak menjamin bahwa driver tersebut terbebas dari malware. Sehingga diperlukan beberapa teknik untuk menambah proteksi. Salah satu proteksi lainnya yaitu dengan mengaktifkan anti-virus/anti-malware pada komputer. Contoh anti-virus/anti-malware yang terdapat pada windows yaitu windows defender yang dapat membantu mengidentifikasi dan menghapus virus atau software berbahaya lainnya. Tetapi sayangnya malware memiliki sistem pertahanan sendiri dan sangat memungkinkan untuk menyembunyikan diri dari antivirus atau bahkan menginfeksi antivirus itu sendiri. Oleh karena itu, banyak literature yang membahas mengenai keamanan driver ini dan mengajukan berbagai macam teknik untuk mendeteksi atau mencegah malware pada driver. Beberapa literature tersebut menjelaskan mengenai:

  • Reverse Engineering Device Driver

Reverse Engineering merupakan metode yang banyak digunakan dalam proses analisa malware. Reverse engineering digunakan untuk mencari sebuah informasi yang tidak diketahui atau disembunyikan. Informasi yang didapat merupakan sebuah celah keamanan. Keuntungan melakukan reverse engineering pada analisa malware adalah malware tidak kita jalankan sehingga meminimalisir kemungkinan komputer terinfeksi.

Tahapan analisa malware dengan reverse engineering yaitu:

  1. Malware defined: mengklasifikasi tipe dan jenis malware.
  2. Define goal malware analysis: menentukan apa yang terjadi, memastikan file, dan mesin yang mungkin terinfeksi malware.
  3. Malware analysis environment and requirement: komponen, design, dan arsitektur untuk analisa malware, contoh: malware source, virtual machine environment network hub.
  4. Basic analysis
  5. Disassembly, decompile, debugging: pembongkaran source untuk membuktikan hipotesa awal.
  • Nooks yang mengurangi konsekuensi kegagalan driver dengan cara mengisolasi aplikasi user mode.

mikrodriver

Gambar 3. Arsitektur Nooks

Nooks merupakan proteksi kernel untuk mencegah os mengalami crash karena device driver. Nooks juga dapat diartikan sebagai subsistem handal yang bertujuan untuk lebih meningkatkan kehandalan os dengan mengisolasi os dari kegagalan driver. Nooks mengisolasi driver dalam ruang alamat kernel dimana hardware dan software mencegah driver merusak kernel.

Sekarang, nooks menambah shadow driver. Shadow driver memiliki 2 tugas, pertama,  terdapat agen kernel yang menyembunyikan kegagalan driver dari user, os, ataupun aplikasi. Dan agen kernel lainnya secara transparan memulihkan driver ke fungsi sebelumnya. Dengan cara ini, aplikasi dan os tidak menyadari bahwa driver mengalami crash dan terus menjalankan fungsinya.

  • Microkernels yang berjalan pada user mode

nooks

Gambar 4. Arsitektur Microkernels

Microkernel dirancang untuk mengatasi permasalahan yang disebabkan karena pertumbuhan kernel yang membesar dan kesulitan mengelolanya. Microkernel merupakan modul inti yang menyediakan beragam mekanisme yang dibutuhkan untuk mengembangkan sebuah os. Layanan yang disediakan oleh os diantaranya adalah device driver, protokol jaringan, sistem berkas, dan kode antarmuka pengguna yang berada dalam user mode.

  • Microdriver yang mengurangi jumlah driver code berjalan pada kernel

mikrokernel

Gambar 5. Arsitektur Microdriver

Microdriver merupakan penyambung antara kernel monolitik dengan microkernel, dan meningkatkan kehandalan dan juga performansi. Microdriver membagi fungsi device driver antara kernel mode dan user mode. Kernel mode terdiri dari fungsi kritis dan yang sering digunakan, seperti mengirim dan menerima paket jaringan dan memproses perintah SCSI. Sedangakan user mode berisi fungsi non-kritis dan yang jarang digunakan seperti startup/shutdown dan penanganan eror.

 

Sumber:

http://julismail.staff.telkomuniversity.ac.id/reverse-engineering/

https://msdn.microsoft.com/en-us/library/windows/hardware/ff554678(v=vs.85).aspx

http://nooks.cs.washington.edu/

https://id.wikipedia.org/wiki/Mikrokernel

http://usenix.org/legacy/event/hotos07/tech/full_papers/ganapathy/ganapathy_html/index.html

Nugroho, Heru Adi dan Prayudi, Yudi. 2015. Penggunaan Teknik Reverse Engineering pda Malware Analysis Untuk Identifikasi Serangan Malware. Yogyakarta