Jenis Umum Kerentanan Keamanan & Cara Memperbaikinya
Diterbitkan: 2022-07-11Kerentanan di Microsoft Exchange Server berkontribusi pada serangkaian besar serangan siber yang memengaruhi lebih dari 60.000 perusahaan swasta di AS. Dan hanya satu bulan sebelumnya, sebuah perusahaan kedirgantaraan, Bombardier, memiliki data karyawan dan pemasoknya yang dilanggar karena kelemahan dalam aplikasi transfer file pihak ketiganya.
Ada banyak jenis kerentanan keamanan yang dapat menempatkan sistem TI Anda di radar peretas. Dari praktik pengkodean yang buruk hingga komponen eksternal yang rusak, apa pun alasannya, banyak perusahaan yang akhirnya terekspos. Untuk mengurangi masalah ini, bisnis mendapat manfaat dari QA dan layanan pengujian untuk mengevaluasi perangkat lunak dan jaringan mereka sendiri dan menilai risiko keamanan komponen vendor eksternal.
Jadi, jenis kerentanan keamanan apa yang mungkin mengekspos sistem Anda ke ancaman siber saat ini? Bagaimana kerentanan muncul? Dan bagaimana kita bisa menguranginya?
Apa itu kerentanan perangkat lunak, dan dari mana asalnya?
Kerentanan keamanan adalah karakteristik sistem atau komponen yang tidak diinginkan yang memperbesar risiko intrusi atau kehilangan data, baik oleh paparan yang tidak disengaja, serangan yang disengaja, atau konflik dengan komponen baru. Kerentanan tersebut dapat berupa cacat desain, bug implementasi, kesalahan konfigurasi, dll.
Sebelum kita melangkah lebih jauh, mari kita perjelas perbedaan antara kerentanan, eksploitasi, dan ancaman.
- Kerentanan ada dalam sistem tanpa upaya apa pun dari pihak luar
- Eksploitasi adalah cara penyusup menggunakan kelemahan sistem yang ada untuk melakukan serangan
- Ancaman adalah insiden aktual ketika satu atau beberapa eksploitasi menggunakan kerentanan untuk menembus sistem
Pakar keamanan dapat menghilangkan kerentanan setelah ditemukan menggunakan tambalan perangkat lunak, penggantian perangkat keras, dan konfigurasi ulang sistem. Melatih pengguna akhir tentang praktik keamanan dan memperbarui semua komponen juga akan mencegah dan meminimalkan kerentanan. Selain itu, tim keamanan perlu mengingat bahwa seiring perkembangan sistem, kelemahan baru muncul. Oleh karena itu, bisnis perlu memindai perangkat lunak, perangkat keras, dan jaringan mereka secara sistematis untuk mengetahui kerentanan yang muncul dan memperbaikinya sebelum ditemukan dan dieksploitasi.
Kerentanan keamanan baru terus muncul dengan cepat, karena Basis Data Kerentanan Nasional (NVD) pemerintah AS menerbitkan lebih dari 8.000 entri baru pada kuartal pertama tahun 2022. Dengan langkah cepat ini, banyak bisnis tidak dapat mengikuti dan membiarkan kelemahan terbuka selama bertahun-tahun, mengekspos mereka sistem. Sebuah studi tentang kerentanan perangkat lunak mengungkapkan bahwa 75% dari serangan yang dipasang pada tahun 2020 mengeksploitasi eksposur yang berusia setidaknya dua tahun, sementara 18% mengandalkan kelemahan yang dilaporkan pada tahun 2013!
Bagaimana kerentanan keamanan masuk ke perangkat lunak dan jaringan?
Menurut penelitian, 75% aplikasi yang dikembangkan oleh vendor perangkat lunak tidak memenuhi standar Open Web Application Security Project (OWASP) Top 10. Standar ini tersedia untuk umum. Jadi, mengapa masih banyak yang gagal menghasilkan aplikasi yang aman? Berikut adalah alasan utamanya:
Kode pihak ketiga yang rentan dan komponen lainnya. Ini adalah praktik umum untuk menggunakan kembali komponen pihak ketiga, karena ini mempercepat proses pengembangan secara signifikan. Namun, pengguna cenderung menganggap enteng keamanan bagian ini, dan sering menggunakannya tanpa evaluasi menyeluruh. Hal yang sama berlaku untuk kode salin-tempel dari sumber, seperti Stack Overflow, tanpa menilai keamanannya.
Praktik pengkodean yang tidak aman. Studi terbaru menunjukkan bahwa keamanan bahkan tidak diperhatikan oleh sebagian besar pengembang. Dalam percobaan yang mengeksplorasi sikap 1.200 pengembang, peneliti menyimpulkan bahwa hanya 14% yang memandang keamanan sebagai prioritas saat menulis kode. Juga, perhatikan bahwa banyak organisasi menuntut pengembang mereka untuk menghasilkan kode dengan cepat di bawah tenggat waktu yang ketat, yang tidak memberikan ruang untuk evaluasi keamanan menyeluruh dan menghasilkan kerentanan kode.
Lanskap serangan siber yang berubah dengan cepat. Penyerang terus-menerus menemukan cara baru untuk menembus keamanan aplikasi. Jadi, bagian-bagian yang sebelumnya dianggap kebal bisa menjadi rentan saat ini. Jika tim TI tidak secara sistematis menilai aplikasi dan jaringan untuk kerentanan dan tidak memperbarui semua perangkat lunak, itu hanya masalah waktu sampai kelemahan mulai muncul.
Klasifikasi jenis kerentanan keamanan
Ada dua platform, OWASP dan CWE, yang menawarkan daftar kerentanan keamanan yang andal dan terperinci. Mereka memperbarui daftar mereka untuk memasukkan kelemahan yang muncul. Kedua sumber daya dapat digunakan untuk mendidik programmer, penguji, dan insinyur.
OWASP adalah komunitas global nirlaba, dan secara teratur menerbitkan daftar 10 kerentanan perangkat lunak teratas OWASP. Common Weakness Enumeration (CWE) adalah komposisi kerentanan perangkat lunak dan perangkat keras yang juga dikembangkan oleh komunitas khusus, dan mencakup 25 entri.
Berikut adalah 18 kerentanan keamanan paling menonjol yang ingin kami soroti dalam artikel ini, diurutkan berdasarkan domain. Ini dapat terwujud dalam sistem TI apa pun, seperti cloud, konfigurasi berbasis IoT, dan aplikasi seluler.
1. Kurangnya praktik enkripsi yang kuat
Meskipun enkripsi tidak akan menghentikan serangan siber, penting untuk memastikan bahwa data sensitif tetap aman meskipun platform penyimpanannya dilanggar. Penyerang tidak dapat menyalahgunakan data terenkripsi sampai mereka memecahkan kodenya, yang memberikan waktu bisnis yang dilanggar untuk mengambil tindakan yang diperlukan, seperti memberi tahu pihak yang terkena dampak dan menyiapkan tindakan pencegahan pencurian identitas.
Penelitian menunjukkan bahwa banyak perusahaan tidak memiliki rencana segera untuk mengenkripsi data pada stik USB, laptop, dan desktop. Dan berbicara tentang peraturan perlindungan data, GDPR tidak secara eksplisit memerlukan enkripsi, tetapi menggambarkannya sebagai "langkah-langkah teknis dan organisasi yang tepat" untuk keamanan data.
Dalam laporan Cost of a Data Breach, IBM menunjukkan bahwa enkripsi adalah salah satu faktor paling berpengaruh yang dapat mengurangi biaya rata-rata pelanggaran data.
2. Paparan data sensitif
Data dapat terekspos karena kesalahan manusia ketika seorang karyawan yang lalai mengunggahnya ke database publik atau situs web. Tetapi jenis kerentanan keamanan ini juga dapat didukung oleh proses internal yang sebenarnya memungkinkan karyawan yang tidak berwenang untuk mendapatkan akses dan memanipulasi data sensitif.
Egress, sebuah perusahaan keamanan siber, melakukan survei yang mengungkap bahwa 83% organisasi AS secara tidak sengaja mengekspos data sensitif melalui email, berbagi file, perangkat lunak kolaborasi, dan aplikasi perpesanan.
3. Perlindungan lapisan transport yang tidak memadai
Jenis kerentanan ini berkaitan dengan pertukaran informasi antara klien dan aplikasi server. Informasi tersebut dapat berisi data sensitif, termasuk kredensial pengguna dan detail kartu kredit. Ketika transportasi data tidak diamankan, komunikasi dapat dicegat, dan penyerang dapat memperoleh akses ke data dan menguraikan enkripsi jika algoritma yang lemah digunakan.
4. Komponen sistem yang salah dikonfigurasi dan interaksi berisiko
Salah mengonfigurasi komponen dan interaksi di antara mereka adalah masalah keamanan lain yang sering kita temui. Misalnya, saat menyiapkan sistem TI, administrator lupa mengganti pengaturan default pabrikan dan menonaktifkan daftar direktori, membiarkan sistem terbuka. Contoh lain adalah lupa untuk membatasi akses ke perangkat luar.
Berbicara tentang interaksi, disarankan bagi aplikasi untuk mengadopsi pendekatan tanpa kepercayaan dan memandang setiap masukan sebagai berisiko sebelum diverifikasi dan terbukti sah. Ini akan membantu menghindari serangan, seperti skrip lintas situs, di mana penyerang memasukkan aplikasi dengan data yang tidak tepercaya.
Aspek ini sangat relevan dengan solusi berbasis cloud. Satu penelitian melaporkan bahwa kesalahan konfigurasi server berkontribusi pada 200 pelanggaran cloud dalam dua tahun. Studi lain menunjukkan bahwa sekitar 70% pelanggaran keamanan cloud dimulai dengan arsitektur yang salah. Sebagai contoh, keranjang penyimpanan AWS yang salah dikonfigurasi mengekspos 750.000 aplikasi akta kelahiran di AS pada tahun 2019.
5. Kontrol sisi server yang lemah
Jenis kerentanan keamanan ini mewakili segala sesuatu yang bisa salah di sisi server, dari otentikasi yang buruk hingga kesalahan konfigurasi keamanan yang memungkinkan serangan, seperti pemalsuan permintaan lintas situs di mana beberapa browser pengguna mengeluarkan tindakan tidak sah ke server tanpa sepengetahuan pengguna tersebut.
Misalnya, kesalahan konfigurasi di server database dapat mengakibatkan data dapat diakses melalui pencarian web dasar. Dan jika berisi kredensial admin, maka penyusup dapat memperoleh akses ke seluruh sistem.
6. Eksekusi kode jarak jauh
Ini berarti bahwa kerentanan keamanan perangkat lunak yang disajikan oleh sistem Anda memungkinkan penyusup untuk mengeksekusi kode berbahaya melalui internet di perangkat Anda. Misalnya, ketika seorang karyawan mengklik tautan email di situs web pihak ketiga, peretas di balik pengaturan ini menyuntikkan malware ke komputer korban dan mengambil kendali dari sana. Orang luar dapat mengakses data sensitif atau mengunci mesin dan meminta tebusan.
7. Kerentanan berbasis OS yang diketahui
Setiap sistem operasi memiliki daftar kerentanan perangkat lunaknya. Beberapa daftar dipublikasikan secara online untuk dilihat semua orang. Sebagai contoh, berikut adalah daftar 10 kelemahan OS Windows 10 teratas, dan berikut adalah daftar yang sesuai untuk OS X. Terserah tim keamanan untuk meninjau poin-poin ini dan mengatasinya untuk meminimalkan celah serangan.
8. Menjalankan skrip tanpa pemeriksaan virus
Ini adalah jenis kerentanan keamanan umum yang ada di browser web tertentu. Misalnya, Safari memungkinkan menjalankan skrip "tepercaya" tanpa izin pengguna yang eksplisit. Peretas cenderung mengeksploitasi kelemahan ini dengan mencoba menjalankan bagian kode berbahaya yang dapat dikacaukan dengan skrip "aman". Untungnya, sering kali mungkin untuk menonaktifkan "fitur" ini.
9. Kredensial yang lemah
Penyusup dapat memperoleh akses dengan memaksa kredensial pengguna. Ini sangat mudah ketika kata sandi "123456" saja digunakan oleh lebih dari 23 juta orang. Ini selain kata sandi, seperti “admin”, “password”, dan “qwerty”, yang juga umum dan agak mudah diretas.
Jenis kerentanan perangkat lunak ini dianggap sebagai buatan manusia, tetapi bisnis dapat menerapkan langkah-langkah yang akan memaksa karyawan untuk memilih opsi yang lebih kuat dan cukup sering mengubah kredensial mereka. Ini sangat penting, mengingat peran yang dimainkan oleh kredensial yang lemah dalam keamanan sistem. Statistik menunjukkan bahwa 80% pelanggaran keamanan diaktifkan oleh kata sandi yang lemah, dan bahwa 61% pengguna cenderung menggunakan satu frasa keamanan untuk beberapa layanan.
10. Menggunakan komponen dengan kerentanan yang diketahui
Menerapkan komponen pihak ketiga, seperti pustaka, API, kumpulan data, dan kerangka kerja, dapat secara signifikan mengurangi upaya yang diperlukan agar sistem Anda aktif dan berjalan. Tapi itu juga bisa memperkenalkan kerentanan. Penting untuk tetap rajin dan mengevaluasi komponen ini untuk memastikan mereka tidak membiarkan pintu belakang terbuka untuk mengakses data sensitif.
Bahkan mengunduh dan menggunakan gambar pihak ketiga bisa berbahaya. Pada tahun 2021, 30 gambar Docker Hub dengan volume unduhan 20 juta, dikerahkan untuk menyebarkan malware cryptomining.
11. Desain tidak aman
Ini adalah jenis kerentanan keamanan yang relatif baru yang muncul di OWASP pada tahun 2021. Organisasi ini menyerukan pola desain yang aman, pemodelan ancaman, dan arsitektur referensi untuk menghilangkan kelemahan sejak awal.
Desain aman adalah metodologi yang terus-menerus mengevaluasi ancaman dan memastikan kekokohan kode. Ini mendorong pengujian sistematis terhadap metode serangan yang diketahui. Ini memandang keamanan sebagai bagian penting dari pengembangan perangkat lunak, bukan sebagai fitur tambahan atau fitur yang bagus untuk dimiliki.
12. Bug keamanan di API
Antarmuka pemrograman aplikasi (API) memungkinkan komponen perangkat lunak untuk berinteraksi satu sama lain, yang merupakan bagian penting dari sistem TI. Namun, API dengan tindakan keamanan yang lemah dapat membuka banyak celah, seperti autentikasi yang rusak dan injeksi kode izin serta praktik berbahaya lainnya.
Misalnya, API yang dibuat secara sembrono, yang bergantung pada sisi klien untuk memfilter informasi sebelum menyajikannya kepada pengguna, dapat mengekspos data, membuatnya tersedia untuk diperebutkan. Data sensitif harus disaring di sisi server. Berikut contoh lain dari jenis kerentanan keamanan ini: jika API tidak membatasi jumlah permintaan yang masuk, itu dapat membuka peluang serangan Denial of Services (DoS).
Berikut adalah daftar OWASP dari 10 kerentanan keamanan terkait API teratas untuk pertimbangan Anda. API yang tidak aman membuka pintu bagi banyak serangan dalam beberapa tahun terakhir. Salah satu contoh terkenal berasal dari LinkedIn, ketika aktor jahat menggunakan API bebas otentikasi platform untuk mengunduh data 700 juta pengguna. Menggunakan pelanggaran API serupa, seorang penyusup mengambil informasi tentang 1,3 juta pengguna Clubhouse dan mempublikasikannya di forum peretas.
13. Otentikasi tidak memadai
Langkah-langkah otentikasi yang lemah memungkinkan peretas untuk mengeksploitasi opsi "lupa kata sandi" untuk mengatur ulang akun atau memulai serangan pengambilalihan akun. Ini membantu penyusup ketika pertanyaan otentikasi adalah sesuatu seperti tanggal lahir pengguna atau nama hewan peliharaan, karena ini adalah informasi yang tersedia untuk umum berkat media sosial. Mengikuti proses otentikasi multi-faktor akan meningkatkan keamanan. Sayangnya, penelitian menunjukkan bahwa hanya 26% dari perusahaan AS yang menggunakan metode otentikasi yang kuat ini.
14. Pemantauan dan log yang tidak memadai
Log menyimpan data tentang peristiwa sistem, aktivitas jaringan, dan tindakan pengguna. Dengan memantau log, tim keamanan dapat mengamati semua aktivitas yang terjadi baru-baru ini dan mengidentifikasi kejadian yang mencurigakan. Jika log tidak ditinjau secara sistematis, ini menciptakan celah informasi di mana kerentanan perangkat lunak dan aktivitas berbahaya tetap tidak terdeteksi.
15. Hak istimewa pengguna super
Semakin sedikit data yang dapat diakses pengguna, semakin sedikit kerusakan yang dapat terjadi pada akun mereka jika disusupi. Namun, beberapa bisnis masih lalai memberikan hak istimewa superuser kiri dan kanan dan gagal membatasi akses karyawan ke apa yang mereka butuhkan untuk memenuhi tugas sehari-hari mereka. Jika penyusup menguasai akun tingkat admin, mereka dapat menonaktifkan perangkat lunak anti-virus dan firewall, menginstal aplikasi berbahaya, mengambil kepemilikan file, dll.
Menurut penelitian, 74% pelanggaran data dimulai dengan menyalahgunakan kredensial istimewa.
16. Perangkat lunak usang
Sebagian besar bisnis menyadari bahwa pembaruan perangkat lunak yang tepat waktu adalah kunci untuk sistem yang aman. Namun, sepertinya hanya sedikit yang benar-benar mengikuti praktik ini. Cybernews melaporkan studi terbaru yang menyelidiki frekuensi pembaruan perangkat lunak. Penelitian ini dilakukan selama periode 18 bulan, dan ditemukan bahwa 95% situs web yang diperiksa benar-benar berjalan pada perangkat lunak usang dengan kerentanan yang diketahui. Tim peneliti juga menemukan bahwa rata-rata produk perangkat lunak biasanya empat tahun di belakang patch terbarunya.
Selain itu, Kaspersky menetapkan bahwa perusahaan yang menjalankan perangkat lunak usang kemungkinan akan dikenakan biaya 47% lebih banyak jika terjadi pelanggaran.
Sebagai contoh, jaringan hotel Marriott memiliki 500 juta catatan data yang dikompromikan dalam pelanggaran keamanan yang dihasilkan dari perangkat lunak yang belum ditambal.
17. Kerentanan dalam kode sumber
Kerentanan kode merayap selama pengembangan perangkat lunak. Misalnya, sebuah program mungkin mengirimkan data sensitif tanpa enkripsi atau menggunakan string acak, yang sebenarnya tidak acak. Kesalahan seperti itu sering tertangkap selama fase pengujian perangkat lunak.

Menurut Survei Prajurit Kode Aman baru-baru ini, 86% pengembang yang berpartisipasi mengakui bahwa mereka tidak melihat keamanan aplikasi sebagai prioritas utama saat menulis kode, dengan 36% mengaitkannya dengan tenggat waktu yang ketat. Survei tersebut juga mengungkapkan bahwa 33% responden bahkan tidak mengerti apa yang membuat kode mereka rentan.
18. Injeksi SQL
Jenis kerentanan keamanan ini relevan dengan situs web dan aplikasi yang didukung oleh Structured Query Language (SQL). Ini memungkinkan penyerang untuk mengubah pernyataan SQL yang disediakan pengguna dan menipu penerjemah untuk mengeksekusi perintah yang tidak diinginkan dan memberikan akses ke database. Dengan cara ini, penyusup dapat memanipulasi data sensitif dengan mengganti/menghapus/memodifikasi bidang sensitif.
Ini adalah kerentanan yang agak lama yang menyumbang lebih dari 65% serangan terhadap aplikasi perangkat lunak pada tahun 2019.
Jenis kerentanan keamanan khusus sistem, dan cara mencegah kerentanan perangkat lunak ini
Setelah menyoroti kerentanan keamanan umum, mari beralih ke kelemahan khusus aplikasi dan sistem dan mencari cara untuk melindungi sistem Anda darinya.
Awan
Ada daftar lengkap kemungkinan jenis kerentanan keamanan di cloud, terlepas dari apakah itu Azure, AWS, GCP, atau penyedia cloud lainnya. Pakar cloud kami, Alexey Zhadov, membagi kerentanan ini berdasarkan lapisan dan memberikan tips tentang cara mencegahnya.
Kerentanan lapisan sistem
Apa pun layanan cloud yang dijalankan perangkat lunak Anda, selalu ada sistem operasi di bawah tenda. Bahkan jika Anda hanya dapat mengakses panel kontrol untuk sumber daya Anda. Setiap sistem operasi memiliki "lubang" dan "pintu belakang". Pengembang OS terus-menerus mencari kelemahan ini, mencoba menutupi dasarnya. Itulah mengapa penting untuk selalu memperbarui perangkat lunak Anda dan mengikuti perkembangan terbaru di bidang keamanan siber tentang masalah yang diketahui.
Kerentanan lapisan jaringan
Setiap sumber daya cloud berjalan di jaringan cloud. Dan dengan ini muncul kemungkinan untuk terhubung ke sumber daya secara eksternal. Tim keamanan perlu memastikan bahwa konfigurasi jaringan memadai. Jangan pernah membuka port yang tidak Anda rencanakan untuk digunakan, gunakan daftar putih IP yang Anda ketahui dan jaringan yang diharapkan terhubung ke solusi Anda. Berhati-hatilah saat membuka koneksi langsung ke port RDP/SSH dari mana saja selain IP yang diketahui.
Kerentanan lapisan konfigurasi
Awan harus dikonfigurasi dengan benar sesuai dengan kebutuhan dan tujuan pengguna, dan konfigurasi ini harus selalu diperbarui. Siapkan kebijakan dan prosedur manajemen konfigurasi, dan pantau setiap aktivitas yang mencurigakan.
Kerentanan faktor manusia
Jangan lupa tentang pengguna akhir dan administrator yang memiliki akses ke solusi cloud. Pembajakan akun adalah salah satu kelemahan paling umum dalam sistem TI mana pun. Jika penyusup mendapatkan akses ke kredensial akun seseorang, mereka dapat dengan bebas masuk dan memanipulasi sistem dalam hak akun, dan tidak ada yang akan menghentikannya sampai menerima pemberitahuan dari pengguna yang diretas. Berikut adalah daftar jenis kerentanan keamanan yang paling umum di aplikasi cloud:
- Jaringan dan firewall yang salah dikonfigurasi
- Penyimpanan cloud yang salah dikonfigurasi
- API tidak aman
- Manajemen akses yang buruk
- Pembajakan akun
- Orang dalam yang jahat
- Kerentanan sistem
- Kerentanan sewa bersama
- Kurangnya otentikasi multifaktor untuk pengguna dan perangkat yang ingin bergabung dengan jaringan
Alexey merekomendasikan beberapa aturan sederhana yang dapat diterapkan perusahaan untuk melindungi sistem cloud mereka:
- Tetap perbarui sistem operasi
- Lindungi jaringan Anda
- Gunakan server benteng untuk mengakses perimeter tertutup Anda
- Konfigurasikan Grup Keamanan Jaringan dan Daftar Kontrol Akses
- Batasi akses untuk port yang tidak perlu
- Konfigurasikan pemantauan dan pencatatan jika memungkinkan
- Terapkan kontrol akses multi-faktor untuk semua pengguna
- Gunakan firewall dan perlindungan DDoS
- Gunakan alat cloud untuk memeriksa kepatuhan terhadap standar keamanan, seperti Azure Security Center
Aplikasi web
Alexey juga mempertimbangkan masalah keamanan perangkat lunak yang menghantui aplikasi web. Dengan mengeksploitasi kerentanan ini, penyerang dapat menyebabkan kerusakan parah pada aplikasi dan organisasi secara keseluruhan. Berikut adalah serangan aplikasi web paling umum yang dihasilkan dari kerentanan keamanan aplikasi web:
- injeksi SQL
- Skrip lintas situs
- Lintasan jalur
- Eksekusi perintah jarak jauh
Jika penjahat dunia maya meluncurkan serangan ini dengan sukses, mereka dapat menanam malware, menyusupi akun pengguna, mengakses informasi yang dibatasi, dan banyak lagi. Jadi, bagaimana cara menguji kerentanan perangkat lunak? Alexey merekomendasikan untuk melakukan pengujian keamanan aplikasi web untuk menilai parameter berikut:
- Validasi masukan. Bagaimana cara aplikasi memproses input, dan dapatkah ia mengenali dan memblokir entri berbahaya?
- Konfigurasi server. Apakah itu menggunakan metode enkripsi yang kuat?
- Manajemen otentikasi. Jenis otorisasi apa yang diterapkan? Bisakah pengguna memilih kata sandi yang lemah?
- Opsi otorisasi. Bisakah aplikasi melindungi dirinya dari eskalasi hak istimewa?
- Logika bisnis. Bisakah pengguna memasukkan data yang tidak valid? Bisakah mereka melewati langkah otentikasi? Apakah mungkin bagi pengguna untuk merusak integritas aplikasi dan datanya?
Aplikasi seluler
Saat berbicara tentang keamanan aplikasi seluler, kami tidak dapat mengabaikan jenis kerentanan keamanan yang disajikan oleh perangkat itu sendiri selain aplikasi. Alexey Zhadov, pakar cloud dan seluler kami, juga membagikan masalah umum yang memengaruhi aplikasi seluler:
- Kontrol sisi server yang lemah
- Penyimpanan data tidak aman
- Perlindungan lapisan transport tidak memadai
- Kebocoran data yang tidak disengaja
- Otorisasi dan otentikasi yang buruk
- Kriptografi yang buruk
- Injeksi sisi klien
- Masukan tidak tepercaya
- Penanganan sesi yang tidak tepat
- Kurangnya perlindungan biner
- Penggunaan OS yang tidak tepat
- Lalu lintas tidak aman dan panggilan API
- Pengrusakan kode dan perangkat yang di-jailbreak
- Pencatatan dan pemantauan yang tidak memadai
- Kesalahan konfigurasi keamanan
Untuk mengamankan aplikasi seluler, Alexey merekomendasikan beberapa praktik sederhana yang dapat diterapkan perusahaan dalam desain dan pemeliharaan aplikasi:
Penilaian kode sumber terbuka: Sebagian besar aplikasi seluler menggunakan perpustakaan pihak ketiga sumber terbuka yang tersedia untuk semua orang. Ini menyederhanakan proses pengembangan, tetapi juga membuka pintu belakang bagi penyusup potensial. Jadi, adalah wajib untuk menguji secara ketat kode pihak ketiga untuk kerentanan keamanan perangkat lunak sebelum memasukkannya ke dalam aplikasi.
Praktik kriptografi yang kuat: mengenkripsi dan mendekripsi data selama transfer. Dengan teknik enkripsi data yang kuat, data aplikasi, seperti kode sumber, info pengguna, dan kredensial login, penyimpanan aplikasi Anda akan diamankan. Setelah data dienkripsi, peretas tidak akan dapat menafsirkannya meskipun mereka mendapatkan akses ke konten aslinya.
Sertifikat penandatanganan kode: pengembang dapat menandatangani aplikasi seluler untuk melindunginya dari serangan siber dan mendapatkan kepercayaan pengguna. Tanda tangan semacam itu memastikan bahwa kode tidak ditafsirkan atau diubah setelah menandatangani aplikasi. Tim keamanan dapat menemukan beberapa opsi sertifikat penandatanganan kode dengan label harga sederhana. Praktik ini hemat biaya dan dapat diandalkan.
Perlindungan cache data: data cache berisi informasi yang diambil dari aplikasi untuk membantu membuka kembali lebih cepat guna meningkatkan kinerja aplikasi. Cache data umumnya disimpan tanpa tindakan keamanan tambahan pada perangkat pengguna. Ini adalah praktik yang lebih aman untuk membuat kata sandi dan mengunci aplikasi. Selain itu, Alexey merekomendasikan agar Anda sering menghapus data cache dan masuk menggunakan koneksi jaringan yang aman.
Penyimpanan data yang aman: Setiap aplikasi berisi data yang dapat disalahgunakan oleh penyusup. Ini mencakup informasi pengguna dan pengembang aplikasi. Oleh karena itu, penting untuk menyimpan data ini dengan aman di penyimpanan cloud yang aman, daripada mengandalkan unit penyimpanan lokal.
Teknik otentikasi dan otorisasi: Sangat penting untuk mengatur otentikasi multi-faktor untuk mencegah pencurian data. Ini termasuk ID pengguna, kata sandi, PIN, OTP, dll. Otorisasi harus selalu dilakukan di sisi server untuk memverifikasi peran dan izin pengguna yang diautentikasi.
Penghapusan data dan penguncian perangkat: Fitur ini terutama digunakan dalam aplikasi yang berisi data rahasia, seperti informasi pribadi, keuangan, kesehatan, dll. Ini adalah lapisan keamanan tempat data jarak jauh dihapus setelah beberapa upaya login yang gagal dari sisi pengguna, dan aplikasi terkunci secara otomatis. Ini juga melarang pengguna memilih nomor urut untuk kata sandi mereka alih-alih huruf kapital, karakter khusus, abjad, angka, dll.
Penanggulangan rekayasa terbalik: peretas menggunakan rekayasa balik untuk mengutak-atik fungsionalitas aplikasi. Dengan mendapatkan akses ke kode sumber aplikasi, peretas dapat menghindari proses otentikasi, memalsukan lokasi mereka, dan mencuri data. Menegakkan keamanan waktu berjalan sangat penting untuk melawan rekayasa balik. Ini mencegah penyusup memodifikasi fungsi internal aplikasi dengan mengubah struktur kodenya untuk memengaruhi perilaku aplikasi.
solusi IoT
Apa yang membuat solusi IoT unik dari sudut pandang keamanan adalah bahwa kemampuan setiap perangkat dibatasi oleh persyaratan penggunaannya. Tidak ada ruang untuk menerapkan fitur keamanan mewah apa pun yang menghabiskan kapasitas ekstra, atau memori, atau daya, yang membuat perangkat IoT rentan.
Pakar IoT kami, Yahor Paloika, menyoroti jenis kerentanan keamanan berikut di perangkat yang terhubung:
- Kredensial hard-code. Perangkat IoT dilengkapi dengan kata sandi hard-code yang terkadang lupa diubah oleh administrator, memberi peretas kemungkinan untuk dengan mudah menembus sistem menggunakan kredensial terkenal ini.
- Jaringan yang tidak terlindungi. Beberapa jaringan tidak menerapkan otentikasi yang kuat, memungkinkan penyusup untuk menambahkan perangkat, mengkonfigurasi ulang pengaturan untuk mengubah aliran data, mencegat data, dan menyuntikkan data mereka sendiri untuk meniru pembacaan sensor.
- Manajemen pembaruan yang lemah. Banyak perangkat IoT bekerja secara independen dan tidak bergantung pada campur tangan manusia untuk melakukan pembaruan. Dalam hal ini, sistem manajemen pembaruan bertanggung jawab untuk memastikan bahwa pembaruan otomatis tiba melalui saluran terenkripsi, berasal dari sumber yang diverifikasi, dan tidak rusak. Jika sistem seperti itu lemah, itu akan memungkinkan penyusup merusak perangkat lunak dan firmware yang diperbarui, mengubah perilaku perangkat.
- Modul kode usang. Lupa untuk menghilangkan modul usang yang tidak digunakan lagi memberi peretas cukup waktu untuk menjelajahi masalah keamanan perangkat lunak mereka dan menemukan celah untuk menembus sistem. Semua modul yang bukan merupakan bagian dari fungsionalitas perangkat yang terhubung harus dihapus.
- Perlindungan data. Semua data yang beredar di dalam jaringan IoT harus dienkripsi, dan hanya pengguna yang berwenang yang dapat mengaksesnya.
Meretas ke dalam sistem IoT dapat memiliki efek yang menghancurkan. Misalnya, dalam sebuah eksperimen, tim peneliti dapat menembus perangkat lunak perangkat IoT di Jeep Cherokee dan mengirim perintah jahat melalui sistem hiburan Jeep. Mereka merusak AC, menurunkan suhu, menyalakan kaca depan, dan setelah itu, yang membuat pengemudi ngeri, mereka menonaktifkan rem. Untungnya, itu hanya percobaan. Berikut adalah beberapa tips yang direkomendasikan Yahor untuk melindungi sistem IoT:
- Gunakan protokol kriptografi intensif keamanan yang ada, seperti Transport Layer Security (TLS), untuk mendukung komunikasi di jaringan IoT dan mengimbangi kurangnya keamanan bawaan
- Memiliki kunci terintegrasi modern dan sub-sistem manajemen sertifikat, yang menyediakan enkripsi dan tingkat keamanan yang diperlukan. Juga, Yahor merekomendasikan untuk memperbarui kunci dan sertifikat setidaknya sekali setiap enam bulan
- Letakkan sistem manajemen kata sandi yang andal untuk menghasilkan kata sandi yang kuat dan mengubahnya secara sistematis
- Menerapkan sistem manajemen pembaruan yang hanya akan mengizinkan pembaruan aman dari sumber yang sah untuk dilewati, memblokir segala upaya untuk memaksa perubahan yang rusak
solusi AI
Ada satu aspek yang secara substansial membedakan solusi kecerdasan buatan (AI) dan pembelajaran mesin (ML) dari sistem lainnya yang disebutkan dalam artikel ini – yaitu fakta bahwa model seperti itu sering dilatih untuk membuat prediksi, dan proses pelatihan ini memperkenalkan beberapa jenis kerentanan keamanan. Pakar AI kami, Maksym Bochok, menyoroti kelemahan paling populer:
- Penyerang dapat merusak set data pelatihan dan memaksa model untuk mempelajari aturan palsu dan membuat prediksi yang salah
- Insinyur ML mungkin memilih model pra-terlatih yang ada yang mereka temukan secara online, dan model ini sudah bisa berbahaya. Misalnya, mereka mungkin berisi virus Trojan atau malware lainnya.
- Penyusup bisa mendapatkan algoritma itu sendiri dan menyesuaikan kode, bobot, dan parameter lain untuk mengubah perilaku model.
Selain itu, AI sering dikombinasikan dengan teknologi lain, seperti IoT dan cloud, sehingga rentan terhadap jenis kerentanan keamanan yang diperkenalkan oleh sistem tersebut.
Untuk mengamankan sistem AI, pakar kami merekomendasikan hal berikut:
- Saat menggunakan model yang telah dilatih sebelumnya dan set data luar, pastikan model tersebut tidak mengandung malware
- Uji algoritme Anda secara sistematis untuk hasil yang diinginkan guna memastikan tidak ada yang merusak aturan yang cocok atau bias yang diperkenalkan, dll.
- Memantau penyimpangan data (perubahan data input)
- Deteksi outlier, karena penyusup dapat memasukkan data yang berpotensi berbahaya untuk mengubah model ke output yang diinginkan
- Cari kemungkinan outlier dalam set data pelatihan Anda
- Gunakan alat penilaian keamanan AI umum, seperti Counterfit. Ini akan membantu memastikan bahwa algoritme dapat diandalkan dan kuat.
- Manfaatkan alat perlindungan data yang ada dan lindungi data rahasia saat disimpan dan digunakan. Salah satu contohnya adalah alat Imperva yang dapat berfungsi sebagai firewall eksternal.
Pada catatan terakhir
Jika Anda adalah bisnis yang sukses, ada kemungkinan besar bahwa seseorang telah/sedang mencoba untuk menembus sistem Anda baik untuk meminta tebusan atau menyebabkan kerusakan reputasi. Dan karena peretas terus mencari celah untuk dieksploitasi, tim TI Anda bekerja untuk mengurangi risiko. Untuk memastikan Anda memenangkan perlombaan ini, konsultasikan dengan perusahaan keamanan dan pengujian berpengalaman yang akan membantu Anda menilai status sistem Anda dan memberikan rekomendasi tentang cara meningkatkannya.
Dan sementara itu, untuk mencegah berbagai jenis kerentanan keamanan mengekspos aplikasi Anda, perhatikan konfigurasi sistem Anda, pastikan semua perangkat lunak Anda mutakhir, dan latih karyawan Anda tentang praktik aman.
Memiliki keraguan tentang keamanan sistem Anda yang ada? Atau ingin membangun aplikasi dengan mempertimbangkan keamanan? Jatuhkan tim ITRex satu baris! Pakar keamanan kami akan menguji perangkat keras dan perangkat lunak Anda untuk mengetahui kerentanan dan menyarankan peningkatan.
Awalnya diterbitkan di https://itrexgroup.com pada 6 Juli 2022.
