Gambar: Unsplash
Perangkat seluler modern sangat kompleks dan ini memberi peluang bagi penyerang untuk meluncurkan serangan. Semuanya mulai dari Wi-Fi dan Bluetooth hingga speaker dan mikrofon dapat digunakan untuk melakukan jailbreak pada ponsel cerdas Anda .
Analis Positive Technologies telah menerbitkan studi tentang skenario umum untuk serangan pada perangkat dan aplikasi seluler. Dalam
artikel kami - poin utama dari dokumen ini.
Bagaimana perangkat dan aplikasi seluler diserang
Ada lima skenario serangan utama. Diantara mereka:
- Akses fisik . Jika ponsel dicuri atau hilang, pemiliknya memberikannya ke layanan atau menghubungkannya ke pengisi daya USB palsu - semua ini membuka kemungkinan serangan.
- Aplikasi berbahaya di perangkat . Terkadang aplikasi semacam itu dapat masuk ke perangkat bahkan dari sumber resmi, Google Play dan App Store (untuk Android , untuk iOS ).
- Penyerang di saluran komunikasi . Dengan menghubungkan ke Wi-Fi yang tidak terpercaya, server proxy atau VPN, kami menjadi rentan terhadap serangan di saluran komunikasi.
- Serangan jarak jauh . Penyerang dapat bertindak dari jarak jauh, menggunakan server aplikasi seluler atau layanan lain untuk memberikan eksploitasi.
- Serangan sisi server . Terlepas dari yang lainnya, kami dapat mempertimbangkan serangan di sisi server aplikasi seluler, karena dalam hal ini penyerang tidak memerlukan akses ke perangkat.
Mari kita bicara lebih rinci tentang masing-masing opsi dan membahas cara-cara yang mungkin untuk melindungi dari serangan semacam itu.
Ada beberapa skenario utama untuk serangan akses fisik. Sebagai aturan, mereka menyiratkan akses seseorang ke smartphone secara langsung: ini terjadi jika perangkat dicuri, pemilik kehilangan atau membawanya ke layanan. Namun, ada juga metode serangan yang agak tidak biasa, di mana stasiun pengisian daya berbahaya digunakan. Mari kita pertimbangkan.
Stasiun pengisian daya tempat Anda menghubungkan ponsel cerdas Anda melalui USB mungkin tidak sepenuhnya aman. Untuk versi modern Android dan iOS OS, saat menghubungkan dari smartphone ke PC melalui USB, diperlukan izin untuk mengakses perangkat. Namun, ini tidak diperlukan di Android 4.0 dan di bawah. Akibatnya, ketika perangkat tersebut terhubung ke stasiun pengisian daya dikompromikan atau dipasang oleh peretas, peluang untuk serangan terbuka. Naskahnya mungkin terlihat seperti ini:
- Android 4.0 USB.
- USB-.
- adb install malware.apk, .
- adb am start com.malware.app/.MainActivity .
- , root . , (, , ) , .
Pertama-tama, berhati-hatilah agar ponsel dan tablet Anda tidak dijaga di tempat umum. Pastikan untuk mengatur kata sandi untuk membuka kunci perangkat Anda atau mengaktifkan keamanan biometrik jika memungkinkan. Jangan meninggikan hak istimewa ke administratif (jailbreak atau root), menonaktifkan tampilan notifikasi pada layar yang terkunci.
Serangan dengan aplikasi jahat
Ada beberapa sumber aplikasi tersebut:
- Toko aplikasi resmi - Google Play dan App Store. Jarang, tetapi bahkan di pasar resmi, Anda dapat menemukan aplikasi jahat yang dapat membahayakan Anda dan data Anda. Seringkali aplikasi ini mencoba untuk menginstal lebih banyak dengan nama clickbait seperti "Super Battery", "Turbo Browser" atau "Virus Cleaner 2019".
- (third-party appstore). Android- , apk- . iOS- Safari, , .
- USB-.
- Android- — Google Play Instant.
Ketika diinstal pada smartphone, tergantung pada izin yang diterima, aplikasi jahat akan memiliki akses ke beberapa data yang tersimpan, mikrofon, kamera, geolokasi, kontak, dll. Mereka juga akan dapat berinteraksi dengan aplikasi yang diinstal lainnya melalui mekanisme komunikasi antarproses (IPC / XPC). Jika aplikasi yang terinstal mengandung kerentanan yang dapat dieksploitasi melalui interaksi ini, aplikasi jahat dapat mengambil keuntungan dari ini. Ini terutama berlaku untuk perangkat Android.
Selain itu, aplikasi jahat dapat mencoba untuk mendapatkan hak istimewa yang tinggi dalam sistem dengan mengeksploitasi kerentanan yang memungkinkannya untuk mendapatkan hak akses root atau jailbreak.
Cara melindungi diri sendiri
Untuk melindungi dari serangan semacam itu, Anda disarankan untuk menghindari menginstal aplikasi dari sumber yang tidak terpercaya. Aplikasi dengan nama yang mencurigakan juga harus dipasang dengan hati-hati, bahkan dari toko aplikasi resmi, karena tidak ada pemeriksaan yang bekerja dengan sempurna. Tetap perbarui OS dan aplikasi Anda untuk memastikan bahwa tidak ada kerentanan yang diketahui diserang.
Tautan serangan
Agar seorang penyerang dapat beroperasi dari saluran komunikasi, ia perlu melakukan serangan man-in-the-middle, yaitu, sehingga semua lalu lintas yang ditransmisikan antara aplikasi mobile klien dan sisi server melewati perangkat penyerang. Kerentanan kadang terjadi dalam aplikasi yang memungkinkan serangan seperti itu.
Sebagai contoh, biasanya ketika membuat koneksi yang aman, aplikasi klien memverifikasi keaslian sertifikat server dan apakah parameternya cocok dengan server. Namun, terkadang pengembang, untuk kenyamanan, saat mengerjakan aplikasi, menonaktifkan pemeriksaan seperti itu, lupa mengaktifkannya kembali dalam versi rilis. Akibatnya, aplikasi menerima sertifikat server apa pun untuk membuat koneksi yang aman, termasuk sertifikat penyerang.
Bahkan jika sertifikat diverifikasi dengan benar, penyerang masih memiliki celah: dengan alasan untuk memaksa korban memasang sertifikat penyerang sebagai yang tepercaya di perangkatnya. Selain itu, jika aplikasi itu sendiri bekerja dengan aman dengan server, tetapi berisi tautan ke sumber daya pihak ketiga yang diunduh melalui HTTP, ini masih merupakan peluang untuk serangan phishing.
Jika penyerang berhasil mengendalikan lalu lintas antara aplikasi klien dan server, ini akan memberinya sejumlah kemungkinan:
- spoof tanggapan server, misalnya, untuk spoof rincian perbankan atau phishing;
- mengganti permintaan aplikasi klien, misalnya, mengubah jumlah transfer dan akun penerima;
- intersep data, seperti login, kata sandi, kata sandi satu kali, data kartu bank, riwayat transaksi.
Sebagai hasilnya, ia mempelajari login dan kata sandi korban dari berbagai akun dan dapat menggunakannya untuk mencuri data dan mencuri uang.
Cara melindungi diri sendiri
Jangan terhubung ke jalur akses yang dipertanyakan, jangan gunakan server proxy dan VPN yang tidak Anda percayai dengan informasi pribadi dan perbankan Anda. Jangan pasang sertifikat pihak ketiga pada perangkat.
Sebagai aturan, sebagian besar pengirim pesan instan populer dan aplikasi media sosial dilindungi dengan baik dari serangan seperti itu; jika, misalnya, tiba-tiba salah satu dari aplikasi ini menolak untuk bekerja melalui koneksi Wi-Fi saat ini, ini dapat berarti bahwa titik akses ini tidak aman dan lebih baik untuk memutuskan sambungan darinya sehingga tidak membahayakan aplikasi lain, termasuk bank seluler Anda.
Serangan jarak jauh
Beberapa kerentanan dalam aplikasi seluler dapat dieksploitasi dari jarak jauh, dan ini bahkan tidak memerlukan kontrol transfer data antara aplikasi dan server. Banyak aplikasi menyediakan fungsionalitas untuk menangani tautan khusus, seperti myapp: //. Tautan ini disebut deeplink dan bekerja pada Android dan iOS. Mengklik tautan semacam itu di peramban, aplikasi email, atau messenger dapat memicu pembukaan aplikasi yang dapat memproses tautan tersebut. Seluruh tautan, termasuk parameter, akan diteruskan ke aplikasi penangan. Jika penangan tautan berisi kerentanan, maka untuk mengeksploitasinya, cukup memaksa korban untuk mengikuti tautan jahat.
Demikian pula, tautan http: // dan https: // yang lebih akrab dapat diproses pada perangkat seluler - tautan tersebut dapat diteruskan ke aplikasi alih-alih peramban, dalam beberapa kasus hal ini dapat terjadi tanpa konfirmasi dari pengguna.
Untuk perangkat Android, mengeklik tautan dapat memicu pengunduhan Aplikasi Instan, yang dapat memungkinkan eksploitasi kerentanan dari jarak jauh yang terkait dengan pemasangan aplikasi jahat.
Cara melindungi diri sendiri
Instalasi aplikasi dan pembaruan OS yang tepat waktu dalam kasus ini adalah satu-satunya cara untuk melindungi diri Anda sendiri. Jika Anda tidak dapat menginstal pembaruan atau belum dirilis, Anda dapat berhenti menggunakan aplikasi yang terpengaruh untuk sementara waktu: hapus instalasi dari perangkat Anda atau cukup logout.
Serangan sisi server
Untuk menyerang server aplikasi seluler, penyerang, sebagai aturan, hanya perlu mempelajari bagaimana aplikasi klien berinteraksi dengan server dan, berdasarkan informasi yang dikumpulkan tentang titik masuk, cobalah untuk memodifikasi permintaan untuk mendeteksi dan mengeksploitasi kerentanan.
Seringkali, perangkat bagian belakang aplikasi seluler tidak berbeda dengan aplikasi web. Sebagai aturan, server aplikasi seluler bahkan lebih sederhana dan sering mewakili json- atau xml-api, mereka jarang bekerja dengan markup HTML dan JavaScript, seperti yang sering dilakukan situs web.
Jika kami membandingkan kerentanan aplikasi web dan back-end aplikasi seluler, kami melihat bahwa kerentanan berikut ini berlaku di aplikasi seluler:
- perlindungan yang tidak memadai terhadap kredensial brute-force: 24% aplikasi web dan 58% server aplikasi seluler mengandung kerentanan seperti itu,
- kesalahan logika bisnis: 2% dari aplikasi web dan 33% dari server aplikasi seluler.
Penelitian kami menunjukkan bahwa seringkali pengguna aplikasi dapat mengakses data pengguna lain: ke nomor kartu, nama depan dan belakang, nomor telepon, dll. Selain itu, akses dapat diberikan secara keliru baik atas nama pengguna lain atau tanpa otentikasi sama sekali, yang disebabkan oleh adanya kelemahan dalam otentikasi dan otorisasi.
Cara melindungi diri sendiri
Dalam hal ini, ada sedikit yang bisa dilakukan oleh rata-rata pengguna. Namun, Anda dapat mengurangi risiko serangan server dengan menggunakan kata sandi yang kuat dan mengatur otentikasi dua faktor menggunakan kata sandi satu kali di semua aplikasi penting yang melakukan hal ini.
Untuk meminimalkan kemungkinan serangan yang berhasil pada aplikasi seluler, pengembangnya harus memeriksa kelayakan masing-masing skenario yang dijelaskan. Ketika berkembang, perlu untuk mempertimbangkan berbagai model penyusup, dan beberapa tindakan perlindungan harus diambil pada tahap desain.
Rekomendasi yang baik untuk pengembang adalah untuk menerapkan siklus pengembangan pengembangan keamanan (SDL) dan secara teratur meninjau keamanan aplikasi. Langkah-langkah seperti itu tidak hanya akan membantu mengidentifikasi potensi ancaman tepat waktu, tetapi juga akan meningkatkan tingkat pengetahuan keamanan pengembang, yang akan meningkatkan tingkat keamanan aplikasi yang dikembangkan dalam jangka panjang.
Diposting oleh Nikolay Anisenya, Kepala Grup Riset Keamanan Aplikasi Mobile di Positive Technologies