2FA, Sebuah Fitur Anti Hack dan Beberapa alasan mengapa Anda perlu beralih dari 2FA berbasis SMS

Authentication a.k.a Otentikasi

Aktivitas digital apapun yang kita kerjakan sehari-hari pastilah sangat berhubungan dengan otentikasi, suatu metode/proses untuk menentukan atau memastikan bahwa seseorang (atau sesuatu) adalah asli atau benar.

Saat pertama kali mengakses aplikasi media sosial, kita akan diminta memasukkan email dan password akun. Saat hendak membayar belanja online dengan aplikasi mobile banking, kita diminta memasukkan PIN dan tak jarang harus menggunakan OTP(One Time Password). Bahkan, ketika ingin membuka perangkat handphone, bisa jadi kita menggunakan Face Recognition atau sidik jari untuk masuk ke perangkat. Semua prosedur ini dilakukan dengan tujuan untuk menjaga akun bahkan perangkat kita dari orang yang tidak berhak.

 

2FA(Two Factor Authentication) itu penting!

Secara teknis, proses otentikasi menggunakan sesuatu yang diingat, dimiliki atau diketahui bahkan melekat ke diri seseorang yang hendak dipastikan asli atau yang berhak yang kita sebut sebagai faktor otentikasi. Faktor otentikasi terbagi menjadi 3 yaitu :

  • Knowledge Factor (Something you know)
    Merupakan faktor otentikasi dengan memberi tantangan pertanyaan dari faktor yang kita ketahui seperti password, PIN, Security Questions, dan sebagainya.
  • Possession Factor (Something you have)
    Merupakan faktor otentikasi dengan memberi tantangan pertanyaan dari faktor yang kita miliki seperti Kartu RFID, Smartphone, Hardware Token, dan sebagainya.
  • Inherence Factor (Something you are)
    Merupakan faktor otentikasi dengan memberi tantangan pertanyaan dari faktor yang ada pada diri kita seperti sidik jari, retina, face recognition dan sebagainya

2FA(Two Factor Authentication) sendiri bermaksud menggunakan 2 dari 3 faktor di atas untuk melakukan proses otentikasi. Tujuannya, sistem otentikasi akan lebih aman karena pengguna harus melewati setidaknya 2 faktor yang memastikan identitasnya benar-benar valid. Bayangkan, apabila email dan password kita diketahui orang melalui serangan Phising atau bisa jadi terdapat insiden data breach yang mana kredensial kita terungkap, maka jika kita tidak mengaktifkan 2FA, dengan mudah hacker akan langsung masuk ke akun/perangkat kita. Dengan adanya 2 langkah otentikasi dengan faktor yang berbeda, kompleksitas serangan yang dilakukan akan lebih sulit untuk melakukan pengambilalihan akun/perangkat kita oleh penyerang karena biasanya salah satu faktor yang dipakai mensyaratkan kepemilikan (Possession Factor) seperti OTP atau sesuatu yang sifatnya melekat kepada kita sebagai manusia (Inherence Factor) seperti sidik jari.

Salah satu 2FA yang sering digunakan adalah memadukan Knowledge Factor dan Possession Factor. Adapun apabila terdapat fitur biometrik (sebagai Otentikasi dengan Inherence Factor) di perangkat smartphone biasanya akan menggantikan Knowledge Factor untuk tujuan proses otentikasi yang lebih cepat dan kemudian menggunakan Possession Factor sebagai faktor keduanya. Skenario 2FA yang digunakan pada umumnya adalah sebagai berikut:

  1. Ketika login, user akan memasukkan Faktor Pertama yang biasanya Knowledge Factor seperti Username dan Password.

  2. Apabila kredensial benar dan fitur 2FA telah diaktifkan, maka tantangan berikutnya biasanya pengguna akan diminta OTP.

  3. OTP dihasilkan kemudian dikirimkan dengan banyak cara seperti melalui SMS, Authentication Apps, Voice Call dan sebagainya.

  4. Apabila OTP yang diinput benar, maka barulah user dapat masuk ke akunnya.

 

Bagaimana, skenario 2FA diatas melindungi akun kita dari Hacker?

Anti-Phishing Working Group menyatakan bahwa inisial compromise system hampir 70% 2 berasal dari Phising. Begitu pula pengambilalihan akun paling banyak dilakukan dengan cara mengelabui seseorang untuk mengisi formulir login palsu untuk mendapatkan kredensial dari para korbannya. Skenario lainnya, Hacker juga dapat mengambil kredensial melalui malware yang terpasang melalui aplikasi bajakan/crack, aplikasi Keylogger dan aplikasi berbahaya lainnya. Selain itu, kredensial kita bisa jadi terungkap melalui data breach dan tersebar melalui kanal forum dark web maupun surface web.

Apabila berhasil, semua hal yang dilakukan Hacker diatas sebenarnya baru akan mendapatkan satu faktor saja, yaitu Knowledge Factor. Pengguna yang mengaktifkan 2FA akan memberikan tantangan otentikasi tambahan dengan faktor lain seperti OTP yang sifatnya bahkan dibatasi waktu. Bahkan, dengan 2FA, user akan mendapatkan notifikasi percobaan masuk akun serta notifikasi pengiriman OTP yang akan membuat user sadar lebih dini mengenai percobaan Hacker untuk mengambil alih akun. Sehingga, dengan 2FA kesulitan pengambilalihan akun akan semakin kompleks yang menyebabkan kemungkinan Hacker mengambilalihan akun semakin kecil.

Kerentanan SMS untuk mengirim OTP

Vektor lain yang masih mungkin menjadi kerentanan adalah proses pengiriman OTP, yaitu melalui kanal apa OTP dikirimkan ke User. Ada banyak pilihan bagaimana OTP dikirimkan, salah satu yang cukup sering digunakan adalah melalui SMS (Short Message Service) atau yang juga disebut 2FA berbasis SMS. SMS digunakan sebagai kanal untuk mengirimkan OTP karena fitur SMS merupakan fitur atau layanan dasar jaringan seluler yang dimiliki setiap orang yang menggunakan Smartphone, oleh karenanya akan menjadi pilihan utama untuk melakukan verifikasi. Namun, dibalik kemudahan tersebut, terdapat beberapa masalah keamanan fundamental yang dapat

  1. Kerentanan Network Intercept dengan SS7 Attack. Salah satu kerentanan yang terjadi apabila kita menggunakan layanan SMS untuk mendapatkan kode OTP yaitu rawan terjadi intercept (penyadapan) jaringan. Teknik yang dilakukan untuk melakukan penyadapan ini menggunakan serangan SS7. SS7 (Signalling System No.7) 3 merupakan protokol yang digunakan di dalam dunia telekomunikasi untuk panggilan telepon, roaming dan SMS. SS7 merupakan protokol fundamental yang menjadi salah satu layer komunikasi seluler, sehingga semua jenis komunikasi seluler akan melewati protokol SS7. SS7 bertanggung jawab untuk mengatur dan mengakhiri panggilan telepon melalui jaringan sinyal digital untuk mengaktifkan konektivitas seluler dan nirkabel. Serangan SS7 bekerja dengan cara memanfaatkan celah keamanan pada protokol SS7 yang dapat di intercept. Beberapa sumber menjelaskan SS7 sebenarnya sistem close source yang 4 informasi didalamnya hanya dapat diakses oleh provider dan Pemerintah, namun nyatanya ada asumsi eksploit kit dapat dilakukan oleh Hacker. Berikut video simulasi serangan SS7 pada Whatsapp, serangan ini bekerja dengan cara memanfaatkan kelemahan dalam protokol SS7 yang memungkinkan pencurian data, penyadapan, intersepsi teks, dan pelacakan lokasi. Dalam video ditunjukkan, OTP didapatkan
    melalui intercept SMS kemudian memverifikasi ke Whatsapp korban, sehingga akun terambil
    alih. 
  2. SIM Double Trouble: Swapping and Cloning. Salah satu bentuk kerentanan otentikasi melalui SMS terletak pada kelemahan pada kartu SIM (Subscriber Identification Module) atau nomor handphone. Metode serangan ini dilakukan dengan melakukan pengambilalihan SIM sehingga semua kode keamanan yang dikirimkan pada nomor handphone melalui SMS akan masuk ke dalam SIM yang terambil alih tersebut. Terdapat 2 metode yang biasanya dilakukan Hacker untuk mengambil alih SIM yaitu SIM Swapping dan SIM Cloning. SIM Swapping merupakan tindak kejahatan dengan cara mengambil alih nomor ponsel korban. 5 Hacker akan melakukan pencarian informasi (information gathering) terhadap korban, kemudian pelaku mencoba melakukan mengambil alih SIM Card dengan berpura-pura menjadi korban dengan bekal informasi pribadi korban ke gerai operator. Setelah mendapatkan sim card baru dari provider, Hacker akan mendapatkan akses untuk mengaktifkan nomor tersebut dan SIM Card korban akan dinonaktifkan oleh provider. Melalui skenario tersebut, SIM Card dan nomor telah didapatkan oleh Hacker, kemudian kode OTP akan dikirimkan ke SIM Card baru milik Hacker. Sementara itu, SIM Cloning merupakan teknik menduplikasi SIM Card yang biasa dilakukan 6 untuk tindak kejahatan. Serangan ini menggunakan perangkat lunak penyalin SIM Card yang digunakan untuk melakukan duplikasi SIM yang asli. Hacker membutuhkan SIM asli target untuk melakukan serangan ini, setelah mendapatkan SIM asli, Hacker akan menduplikasi lewat aplikasi kemudian mengaktifkannya. Karena SIM Card memiliki identitas yang sama, maka setiap ada OTP yang dikirim lewat SMS, maka provider akan mengirimkan ke kedua alamat SIM Card tersebut. Dengan demikian, melalui skema serangan di atas, pada dasarnya tingkat keamanan 2FA berbasis SMS sangat bergantung juga pada keamanan SIM Card yang ternyata memiliki banyak celah untuk dieksploitasi. 

  3. Kemungkinan kendala koneksi dan kendala pada pihak ketiga. Otentikasi melalui SMS atau OTP melalui SMS ini sangat tergantung pada jaringan dari pihak ketiga yaitu sinyal provider untuk bisa mendapatkan kode yang dibutuhkan. Sehingga, ketika kita mengalami kendala koneksi maka kode OTP tidak berhasil masuk ke dalam SMS kita. Selain itu apabila kita sedang berada di luar negeri bisa jadi kita tidak mendapatkan sinyal dari provider tersebut dan OTP tidak berhasil kita terima. Otentikasi melalui SMS yang bekerja sama dengan pihak ketiga sangat rentan untuk diretas atau dilakukan pencurian data melalui phising. Adanya akses dari pihak ketiga menjadi celah kerentanan karena sangat sulit mengontrol sistem keamanan dan keluar masuk data.

 

Alternatif pengiriman OTP 2FA

Alternatif solusi yang ditawarkan adalah menggunakan Aplikasi Authenticator. Aplikasi Authenticator merupakan aplikasi yang digunakan untuk membuat mekanisme 2FA melalui OTP yang digenerate didalamnya. Mekanisme yang dilakukan oleh user adalah sebagai berikut:

  1. Instal aplikasi authenticator di smartphone,

  2. Buka pengaturan keamanan layanan aplikasi yang ingin digunakan 2FA berbasis aplikasi,

  3. Pilih 2FA (dengan asumsi opsi ada); layanan akan menunjukkan kode QR yang dapat dipindai langsung ke aplikasi 2FA,

  4. Pindai kode dengan aplikasi

  5. Aplikasi akan menghasilkan OTP baru setiap 30 detik

Kode dibuat berdasarkan kunci (hanya diketahui oleh user dan server) dan dalam waktu 30 detik. Kedua komponen sama untuk user dan service, sehingga kode dibuat secara sinkron. Algoritma ini disebut OATH TOTP (Time-based One-Time Password), dan sejauh ini yang paling umum digunakan. Beberapa resiko dari SMS based dapat dihindari dengan menggunakan mekanisme 2FA berbasis aplikasi ini. Beberapa alternatif aplikasi yang dapat Anda gunakan adalah sebagai berikut:

  1. Google Authenticator : Android, iOS

  2. Microsoft Authenticator : Android, iOS

  3. FreeOTP : Android, iOS (OPEN SOURCE)

  4. Authy: Android, iOS, Windows, macOS, Chrome

  5. Yandex.Key: Android, iOS

Jangan ragu dan dapatkan perlindungan ekstra perusahaan anda dari serangan cyber bersama Visionet. Kami siap membantu Anda terlepas dari keraguan apa pun yang Anda miliki. Hubungi kami!

Send a message