Kami mempelajari MITER ATT & CK. Matriks Seluler: Akses Perangkat. Bagian 4

Evasion Pertahanan


Tautan ke semua bagian:
Bagian 1. Akses Awal ke Perangkat Seluler (Akses Awal)
Bagian 2. Kegigihan dan Eskalasi
Bagian 3. Mendapatkan Akses Kredensial (Akses Kredensial)
Bagian 4. Pertahanan Evasion
Bagian 5. Penemuan dan Gerakan Lateral

Metode memotong alat perlindungan digunakan oleh penjahat dunia maya untuk menghindari deteksi aktivitas jahat mereka atau dalam kombinasi dengan teknik serangan lain untuk mencapai tujuan taktis tertentu sebagai akibat dari melemahkan perlindungan spesifik. Dengan demikian, penghindaran pertahanan dapat dianggap sebagai satu set teknik yang digunakan oleh musuh di semua tahap serangan.

Penulis tidak bertanggung jawab atas konsekuensi yang mungkin timbul dari penerapan informasi yang ditetapkan dalam artikel, dan juga meminta maaf atas kemungkinan ketidakakuratan yang dibuat dalam beberapa formulasi dan ketentuan. Informasi yang diterbitkan adalah pengungkapan ulang gratis konten Matriks Seluler ATT @ CK: Akses Perangkat .

Penemuan Aplikasi


Platform: Android, iOS
Deskripsi: Penyerang dapat mencoba mengidentifikasi semua aplikasi yang diinstal pada perangkat untuk mengidentifikasi ketersediaan langkah-langkah keamanan yang dapat meningkatkan risiko deteksi, atau sebaliknya - untuk mengidentifikasi aplikasi yang akan ditargetkan oleh serangan lebih lanjut.

Aplikasi Android dapat menggunakan metode kelas PackageManager untuk mendaftar aplikasi lain atau objek baris perintah lainnya untuk menggunakan perintah pm. Aplikasi iOS dapat menggunakan panggilan API pribadi untuk mendapatkan daftar aplikasi yang diinstal pada perangkat. Namun, mendistribusikan aplikasi menggunakan panggilan API pribadi melalui AppStore kemungkinan tidak mungkin.

Rekomendasi perlindungan: Metode untuk memeriksa aplikasi android harus mencakup cara untuk mendeteksi penggunaan kelas PackageManager dengan aplikasi untuk mendaftar aplikasi lain untuk tujuan melakukan analisis tambahan. Namun, pendekatan ini mungkin tidak praktis karena banyak aplikasi dapat memanggil metode kelas PackageManager sebagai bagian dari pekerjaan rutin mereka. Di iOS, metode validasi mungkin juga mencari panggilan API pribadi, namun penting untuk dicatat bahwa aplikasi yang menggunakan panggilan API pribadi mungkin tidak akan diterima di AppStore.

Masking akses root atau indikator jailbreak (Disguise Root / Jailbreak Indicators)


Platform: Android, iOS
Deskripsi: Musuh dapat menggunakan pengetahuan tentang algoritma keamanan untuk menghindari deteksi. Misalnya, beberapa alat keamanan perangkat seluler mendeteksi kompromi dengan mengidentifikasi artefak tertentu, seperti su binary yang diinstal, tetapi Anda dapat menyiasatinya dengan memberi nama biner secara berbeda. Musuh dapat menggunakan kode polimorfik untuk menghindari deteksi dengan analisis tanda tangan.

Unduh Kode Baru di Runtime


Platform: Android, iOS
Deskripsi: Untuk menghindari deteksi kode berbahaya selama pemeriksaan di lingkungan perusahaan atau toko aplikasi menggunakan metode analisis kode statis (mungkin dinamis), aplikasi jahat dapat mengunduh dan mengeksekusi kode dinamis (tidak termasuk dalam paket aplikasi) setelah diinstal.
Di Android, kode dinamis dapat menyertakan kode asli, kode Dalvik, atau kode JavaScript yang menggunakan fungsi JavascriptInterface Android WebView. IOS juga memiliki metode untuk mengeksekusi kode dinamis yang dimuat setelah menginstal aplikasi.

Rekomendasi perlindungan: Teknologi verifikasi aplikasi (analisis statis dan dinamis) dapat mendeteksi tanda-tanda bahwa aplikasi memuat kode baru saat runtime (misalnya, di Android menggunakan DexClassLoader, System.load atau WebView JavaScryptInterface, di iOS menggunakan JSPatch atau fitur serupa). Sayangnya, ini hanya metode parsial untuk mengurangi risiko, karena aplikasi yang diidentifikasi akan memerlukan verifikasi tambahan karena fakta bahwa metode ini sering digunakan oleh pengembang tanpa maksud jahat, dan juga karena aplikasi dapat menggunakan metode lain, seperti menyembunyikan Menggunakan metode pemuatan kode saat runtime.

Instal Konfigurasi Tidak Aman atau Berbahaya


Platform: Android, iOS
Deskripsi: Musuh dapat mencoba memasang konfigurasi yang tidak aman atau berbahaya pada perangkat seluler menggunakan email phishing atau pesan teks yang berisi file konfigurasi sebagai lampiran atau tautan web ke parameter konfigurasi. Saat mengatur parameter konfigurasi, pengguna dapat diakali dengan menggunakan metode rekayasa sosial. Misalnya, dengan menyiapkan konfigurasi, sertifikat otoritas sertifikasi (CA) yang tidak diinginkan dapat ditempatkan di toko sertifikat tepercaya perangkat, yang akan meningkatkan kerentanan perangkat terhadap serangan orang tengah.

Di iOS, profil konfigurasi berbahaya dapat berisi sertifikat Certificate Authority (CA) yang tidak diinginkan atau pengaturan tidak aman lainnya, seperti alamat proxy atau server VPN yang tidak diinginkan untuk merutekan lalu lintas perangkat melalui sistem penyerang atau mendaftarkan perangkat target dengan sistem manajemen perangkat seluler musuh (MDM).

Rekomendasi perlindungan: Di iOS 10.3 dan di atasnya, langkah tambahan ditambahkan yang mengharuskan pengguna untuk mengambil tindakan tertentu untuk memasang sertifikat CA baru yang tepercaya. Aplikasi Android yang kompatibel dengan Android 7 dan lebih tinggi (API level 24), secara default, hanya mempercayai sertifikat CA yang dikirimkan dengan OS, dan tidak ditambahkan oleh pengguna atau administrator, yang mengurangi kerentanan mereka terhadap serangan man-in-the-middle.

Secara umum, pengaturan konfigurasi yang tidak aman atau berbahaya tidak diatur tanpa persetujuan pengguna. Pengguna tidak boleh mengatur parameter konfigurasi yang tidak terduga (sertifikat CA, profil konfigurasi iOS, koneksi MDM).

Di Android, pengguna dapat melihat sertifikat CA tepercaya melalui pengaturan perangkat untuk mengidentifikasi sertifikat yang mencurigakan. Demikian pula, perlindungan perangkat seluler dapat memeriksa anomali toko sertifikat. Di iOS, pengguna dapat melihat profil konfigurasi yang diinstal melalui pengaturan perangkat dan mengidentifikasi profil yang mencurigakan. Demikian pula, sistem MDM dapat menggunakan API MDM iOS untuk memeriksa daftar profil yang diinstal untuk anomali.

Ubah kernel OS atau partisi boot (Ubah OS Kernel atau Partisi Boot)


Platform: Android, iOS
Deskripsi: Beri nama peluang untuk meningkatkan hak istimewa, musuh dapat mencoba menempatkan kode berbahaya di kernel OS atau komponen partisi boot, di mana kode tidak dapat dideteksi, akan disimpan setelah perangkat di-boot ulang, dan tidak dapat dihapus oleh pengguna. Dalam beberapa kasus (misalnya, Samsung Knox), serangan dapat dideteksi, tetapi akan menyebabkan transfer perangkat ke mode fungsi terbatas.

Banyak perangkat Android menyediakan kemampuan untuk membuka kunci bootloader untuk tujuan pengembangan, tetapi fungsi ini menyediakan kemampuan untuk memperbarui kernel atau kode partisi boot berbahaya lainnya. Jika bootloader masih belum dibuka, maka masih ada kemungkinan menggunakan kerentanan untuk memperbarui kode kernel.

Rekomendasi perlindungan: Dalam lingkungan perusahaan, atur instalasi pembaruan keamanan, pengenalan sertifikasi jarak jauh untuk perangkat seluler (Android SafetyNet, Samsung KNOX TIMA), dan juga mencegah perangkat yang belum lulus sertifikasi untuk mengakses sumber daya perusahaan. Periksa status kunci bootloader pada perangkat yang menyediakan kemampuan untuk membuka kunci bootloader (karenanya memungkinkan kode OS apa pun ditulis ke perangkat).

Android SafetyNet Attestation API dapat digunakan untuk mengidentifikasi dan merespons dari jarak jauh perangkat yang disusupi. Samsung KNOX menyediakan kemampuan sertifikasi jarak jauh pada perangkat Samsung Android yang didukung. Perangkat Samsung KNOX menyertakan sekering bit yang tidak dapat dibalik yang akan berfungsi jika kernel non-KNOX dimuat pada perangkat. Ketika dipicu, layanan kontainer perusahaan KNOX tidak akan tersedia di perangkat.

Seperti yang dijelaskan dalam Panduan Keamanan iOS, perangkat iOS tidak dapat boot atau mengizinkan aktivasi perangkat jika terdeteksi perubahan yang tidak sah. Banyak aplikasi perusahaan melakukan pemeriksaan sendiri untuk mendeteksi dan merespons perangkat yang disusupi. Pemeriksaan semacam itu bukan cara yang andal, tetapi dapat mendeteksi tanda-tanda utama kompromi.

Ubah Partisi Sistem


Platform: Android, iOS
Deskripsi: Jika musuh mendapatkan hak istimewa, ia akan dapat menggunakannya untuk menempatkan kode berbahaya di bagian sistem perangkat, di mana kode tersebut akan disimpan setelah OS reboot dan tidak akan mudah diakses untuk dihapus oleh pengguna. Banyak perangkat Android memungkinkan Anda untuk membuka kunci bootloader untuk tujuan pengembangan. Fitur ini juga dapat digunakan oleh musuh untuk memodifikasi partisi sistem.

Rekomendasi perlindungan: Perangkat Android dengan dukungan Boot Terverifikasi melakukan verifikasi kriptografi tentang integritas partisi sistem. Android SafetyNet API dapat digunakan untuk mengidentifikasi perangkat yang disusupi. Samsung KNOX juga menyediakan kemampuan kendali jarak jauh pada perangkat yang didukung. Perangkat iOS tidak akan boot atau tidak akan memungkinkan aktivasi perangkat di mana perubahan yang tidak sah terdeteksi.

Modifikasi TEE (Ubah Lingkungan Eksekusi Tepercaya)


Platform: Android
Deskripsi: Dengan hak istimewa yang sesuai, penyerang dapat mencoba menempatkan kode berbahaya dalam runtime tepercaya (TEE) atau runtime terisolasi serupa lainnya, di mana kode tidak terdeteksi, akan disimpan setelah perangkat di-boot ulang, dan tidak dapat dihapus oleh pengguna. Kode yang dieksekusi dalam TEE akan memberi lawan kemampuan untuk mengendalikan atau memalsukan operasi perangkat.

Kiat Keamanan: Perangkat harus melakukan pemeriksaan integritas pada kode yang berjalan di TEE saat boot. iOS tidak akan bisa boot jika kode yang berjalan di Enklave Aman gagal verifikasi tanda tangan digital.

File atau Informasi yang dikaburkan


Platform: Android, iOS
Deskripsi: Pengembang aplikasi jahat dapat menerapkan metode kebingungan atau enkripsi kode yang didobobekan dan didekripsi selama eksekusi aplikasi pada perangkat target.

Rekomendasi perlindungan: Alat verifikasi aplikasi dapat memperingatkan tentang adanya kode yang dikaburkan atau dienkripsi dalam aplikasi. Sayangnya, pemeriksaan seperti itu tidak efektif, karena banyak aplikasi menggunakan kebingungan dan enkripsi untuk melindungi terhadap teknik modifikasi, seperti pengemasan ulang aplikasi. Analisis dinamis dalam beberapa kasus dapat mengidentifikasi kode yang dikaburkan atau dienkripsi dengan mendeteksinya saat dijalankan dalam teks yang jelas. Beberapa alat verifikasi aplikasi menggunakan analisis reputasi pengembang dan dapat memperingatkan aplikasi yang berpotensi berbahaya tanpa benar-benar menganalisis kode.

Source: https://habr.com/ru/post/id455082/


All Articles