Praktik Terbaik Untuk Keamanan Aplikasi Web Untuk SMB 2024

Dalam hal keamanan tumpukan perusahaan, aplikasi perangkat lunak adalah tautan terlemah. Di dalam Status Keamanan Aplikasi, 2020, Forrester mengatakan sebagian besar serangan eksternal terjadi baik dengan mengeksploitasi kerentanan perangkat lunak (42%) atau melalui aplikasi web (35%).

Status Keamanan Aplikasi

Pengembang berada di bawah tekanan untuk merilis fitur sesegera mungkin karena aplikasi menjadi lebih kompleks dan jadwal pengembangan menyusut. Untuk mencapai fungsionalitas aplikasi yang berbeda dan menarik, pengembang semakin mengandalkan perpustakaan pihak ketiga.

Pergeseran menuju komponen open source ini membuat keamanan praktik yang lebih kompleks bagi perusahaan. Kerangka kerja baru seperti wadah dan API semakin memperumit keamanan aplikasi.

Dengan tekanan pengembang untuk merilis fitur baru secara terus-menerus, organisasi menghadapi risiko keamanan yang sangat nyata yang gagal mengimbangi. Keamanan dapat dicapai dengan memasukkan praktik terbaik keamanan aplikasi ke dalam siklus hidup pengembangan perangkat lunak dan mengimplementasikannya.

Praktik Terbaik Untuk Keamanan Aplikasi Web Untuk UKM

Mengapa Pengujian Keamanan Web Penting?

Pengujian aplikasi Web dan konfigurasinya untuk kerentanan keamanan adalah tujuan pengujian keamanan Web. Serangan lapisan aplikasi (yaitu, menargetkan aplikasi berbasis HTTP) adalah target utama.

Adalah umum untuk mengirimkan berbagai jenis input ke aplikasi Web untuk memicu kesalahan dan menyebabkannya berperilaku tidak terduga. Dalam apa yang disebut "tes negatif", sistem diperiksa untuk perilaku yang tidak dimaksudkan.

Penting juga untuk dicatat bahwa Pengujian keamanan web bukan hanya tentang menguji fitur keamanan yang diterapkan dalam aplikasi (misalnya, otentikasi dan otorisasi).

Juga perlu untuk menguji bahwa fitur lain (misalnya, logika bisnis dan validasi input dan output) diimplementasikan dengan cara yang aman. Akses aman ke fungsi aplikasi Web adalah tujuannya.

Apa Berbagai Jenis Tes Keamanan?

  • Uji Keamanan Aplikasi Dinamis (tanggal). Untuk kepatuhan terhadap penilaian keamanan peraturan, uji keamanan aplikasi otomatis ini sangat ideal untuk aplikasi berisiko rendah yang dihadapi secara internal. Kombinasi pengujian keamanan web manual dan DAST adalah pendekatan terbaik untuk aplikasi berisiko menengah dan aplikasi kritis yang mengalami perubahan kecil.
  • Uji Keamanan Aplikasi Statis (SAST). Pendekatan ini menguji keamanan aplikasi baik secara manual maupun otomatis. Aplikasi dapat diuji dengan cara ini tanpa harus menjalankannya di lingkungan produksi. Selain itu, memungkinkan pengembang untuk secara sistematis mendeteksi dan menghilangkan kerentanan keamanan perangkat lunak dengan memindai kode sumber.
  • Tes penetrasi. Khusus untuk aplikasi yang mengalami perubahan besar, uji keamanan aplikasi manual ini sangat ideal. Penilaian mencakup logika bisnis dan pengujian berbasis musuh untuk mengidentifikasi skenario serangan lanjutan.
  • Perlindungan Diri Aplikasi Runtime (RASP). Sejumlah teknik teknologi digunakan dalam pendekatan keamanan aplikasi yang berkembang ini untuk menginstrumentasikan aplikasi sedemikian rupa sehingga serangan dapat dipantau saat dijalankan dan, idealnya, diblokir secara real-time.

Bagaimana Pengujian Keamanan Aplikasi Mengurangi Risiko Organisasi Anda?

keamanan aplikasi

Mayoritas Serangan Aplikasi Web

  • Teknik injeksi SQL
  • Pembuatan Skrip Lintas Situs (XSS)
  • Eksekusi perintah dari jarak jauh
  • Lintasan Jalur

Hasil Serangan

  • Konten yang dibatasi
  • Akun yang telah disusupi
  • Instalasi perangkat lunak berbahaya
  • Pendapatan hilang
  • Pelanggan kehilangan kepercayaan
  • Kerusakan reputasi
  • Serta masih banyak lagi

Lingkungan Web saat ini rentan terhadap berbagai masalah. Selain mengetahui bagaimana aplikasi dapat dieksploitasi, mengetahui potensi hasil serangan akan membantu perusahaan Anda mengatasi kerentanan terlebih dahulu dan mengujinya secara akurat.

Kontrol mitigasi dapat diterapkan selama tahap awal SDLC setelah mengidentifikasi akar penyebab kerentanan. Selain itu, uji keamanan aplikasi Web dapat memanfaatkan pengetahuan tentang cara kerja serangan ini untuk menargetkan tempat menarik yang diketahui.

Untuk mengelola risiko perusahaan Anda, Anda harus memahami dampak serangan, karena dapat digunakan untuk mengukur tingkat keparahan total kerentanan.

Sebagai hasil dari pengujian keamanan, menentukan tingkat keparahan masalah yang terdeteksi dapat membantu Anda memprioritaskan upaya perbaikan secara efisien dan efektif. Minimalkan risiko perusahaan Anda dengan memulai dengan masalah tingkat keparahan kritis dan beralih ke masalah dampak yang lebih rendah.

Penilaian dampak potensial dari setiap aplikasi di perpustakaan aplikasi perusahaan Anda sebelum mengidentifikasi masalah dapat membantu memprioritaskan pengujian keamanan aplikasi.

Ketika pengujian keamanan web memiliki daftar aplikasi profil tinggi yang telah ditetapkan, kami dapat menjadwalkan pengujian untuk menargetkan aplikasi penting perusahaan Anda terlebih dahulu sehingga risiko terhadap bisnis Anda dapat diturunkan.

Fitur Apa yang Harus Ditinjau Selama Uji Keamanan Aplikasi Web?

Aplikasi web

Beberapa fitur harus diperiksa selama pengujian keamanan aplikasi Web, tetapi daftarnya tidak lengkap. Organisasi Anda dapat terkena risiko serius oleh penerapan yang tidak tepat dari masing-masing risiko.

  • Konfigurasi aplikasi dan server- Cacat mungkin terkait dengan konfigurasi enkripsi, konfigurasi server Web, dll.
  • Validasi input dan penanganan kesalahan- Kerentanan injeksi yang paling umum, termasuk injeksi SQL dan skrip lintas situs (XSS), adalah hasil dari penanganan input dan output yang buruk.
  • Otentikasi dan manajemen sesi- Kerentanan dapat menyebabkan peniruan identitas pengguna. Kebijakan kredensial yang kuat juga penting.
  • Otorisasi- Memverifikasi kemampuan aplikasi untuk mencegah eskalasi hak istimewa vertikal dan horizontal.
  • Logika bisnis- Jenis logika ini penting untuk sebagian besar aplikasi bisnis.
  • Logika sisi klien- Jenis fitur ini menjadi lebih umum di situs web modern yang sarat JavaScript, serta situs web yang menggunakan teknologi sisi klien lainnya (misalnya, Silverlight, Flash, applet Java).

10 Praktik Terbaik Untuk Keamanan Aplikasi Web

Berikut adalah sepuluh praktik terbaik keamanan aplikasi teratas yang harus diterapkan oleh organisasi Anda.

#1 Lacak Aset Anda 

Jika Anda tidak tahu apa yang Anda miliki, Anda tidak dapat melindunginya.

Untuk fungsi atau aplikasi apa Anda menggunakan server tertentu? Di aplikasi web mana Anda menggunakan komponen open source? 

Lacak Aset Anda

Apakah menurut Anda tidak penting untuk melacak aset Anda? Sangat penting untuk mengingat perangkat lunak mana yang berjalan dalam setiap aplikasi – tanyakan saja pada Equifax, yang didenda $700 juta karena gagal melindungi data lebih dari 145 juta pelanggan.

Salah satu portal web pelanggan lembaga pemeringkat kredit telah disusupi setelah komponen sumber terbuka, Apache Struts, tidak ditambal. Perusahaan mengatakan tidak mengetahui portal pelanggan menggunakan komponen sumber terbuka yang rentan.

Semakin cepat Anda mulai melacak aset Anda, semakin sedikit sakit kepala dan bencana yang akan Anda alami nanti. Saat organisasi meningkatkan perkembangan mereka, proses ini bisa terasa seperti tugas Sisyphean.

Anda juga harus mengklasifikasikan aset Anda, dengan memperhatikan aset yang penting bagi fungsi bisnis Anda dan aset yang kurang penting. Kemudian, Anda dapat menilai ancaman dan memulihkannya nanti.

#2 Lakukan Penilaian Ancaman

Jika Anda membuat daftar apa yang perlu Anda lindungi, Anda kemudian dapat mengidentifikasi ancaman yang Anda hadapi dan bagaimana mereka dapat dikurangi.

Bagaimana peretas dapat membobol aplikasi Anda? Apa langkah-langkah keamanan yang ada yang Anda miliki? Alat tambahan apa yang diperlukan?

Anda harus menjawab pertanyaan ini dan pertanyaan lainnya sebagai bagian dari penilaian ancaman Anda.

 Namun, Anda juga harus realistis tentang tingkat keamanan yang dapat Anda nikmati. Tidak peduli seberapa aman Anda membuat sistem Anda, Anda masih bisa meretasnya. Selain itu, Anda harus jujur ​​tentang tindakan yang dapat dipertahankan tim Anda dari waktu ke waktu.

Anda dapat mengambil risiko standar dan praktik keamanan Anda diabaikan dengan mendorong terlalu banyak. Perhatikan keamanan dengan serius dan jangan terburu-buru.

Gunakan rumus berikut untuk mengevaluasi risiko Anda:

Risiko = Probabilitas Serangan x Dampak Serangan.

Risiko juga dapat dianggap sebagai kemungkinan sesuatu terjadi versus tingkat keparahan konsekuensinya.

Meskipun akan menjadi bencana besar jika seekor paus jatuh dari langit dan menghancurkan Anda, itu tidak mungkin terjadi.

Di sisi lain, gigitan nyamuk saat mendaki sangat mungkin terjadi, tetapi tidak akan menyebabkan kerusakan yang signifikan selain beberapa benjolan gatal.  

#3 Tetap di Atas Penambalan Anda 

Menginstal patch terbaru pada sistem operasi Anda? Apakah Anda menggunakan perangkat lunak pihak ketiga? Kemungkinan Anda tertinggal, artinya Anda terekspos.

Menambal

Salah satu langkah terpenting yang harus Anda ambil untuk memastikan keamanan perangkat lunak Anda adalah memperbarui perangkat lunak, baik dari vendor komersial atau dari komunitas sumber terbuka.

Ketika kerentanan ditemukan dan dilaporkan secara bertanggung jawab kepada pemilik produk atau proyek, kerentanan tersebut dipublikasikan di situs dan database penasihat keamanan seperti Database Kerentanan WhiteSource.

Jika memungkinkan, perbaikan harus dibuat dan dirilis sebelum publikasi, memberikan pengguna kesempatan untuk mengamankan perangkat lunak mereka.

Namun, jika Anda tidak menerapkan tambalan saat tersedia, Anda tidak akan mendapat manfaat dari peningkatan keamanan. 

Jika Anda khawatir memperbarui ke versi terbaru dapat merusak produk Anda, alat otomatis dapat banyak membantu. Setiap hari dalam seminggu, Anda harus memprioritaskan pembaruan dan patch sebagai bagian dari praktik terbaik keamanan aplikasi Anda.

#4 Kelola Kontainer Anda

Dalam beberapa tahun terakhir, container semakin populer karena semakin banyak organisasi mengadopsi teknologi karena fleksibilitasnya, yang menyederhanakan proses pengembangan, pengujian, dan penerapan komponen di berbagai lingkungan di seluruh siklus pengembangan perangkat lunak (SDLC). 

Secara umum diterima bahwa kontainer menawarkan keuntungan keamanan yang memberi mereka keuntungan. Selain itu, karena lingkungan OS yang mandiri, mereka tersegmentasi berdasarkan desain, sehingga menurunkan tingkat risiko.

Namun, container tetap rentan terhadap eksploitasi seperti serangan breakout, di mana isolasi telah rusak. Wadah juga dapat berisi kerentanan dalam kode yang disimpan di dalamnya. 

Untuk keamanan pipeline CI/CD, Anda harus memindai kerentanan dari awal hingga akhir, termasuk di registry Anda.

Selain pemindaian ini, praktik terbaik untuk keamanan aplikasi dalam bekerja dengan container juga mencakup tugas penting seperti menandatangani gambar Anda sendiri dengan alat seperti Docker Content Trust jika Anda menggunakan Docker Hub, atau Shared Access Signature jika tim Anda menggunakan Microsoft Azure

#5 Prioritaskan Operasi Remediasi Anda

Ada peningkatan jumlah kerentanan dalam beberapa tahun terakhir, dan tren ini tidak menunjukkan tanda-tanda akan melambat dalam waktu dekat.

Akibatnya, pengembang sibuk dengan perbaikan. Untuk tim yang berharap untuk menjaga aplikasi mereka tetap aman sambil tetap waras, prioritas sangat penting.

Penilaian ancaman dilakukan berdasarkan tingkat keparahan kerentanan (peringkat CVSS), kekritisan aplikasi yang terkena dampak, dan sejumlah faktor lainnya.

Anda perlu mengetahui apakah kerentanan sumber terbuka benar-benar memengaruhi kode kepemilikan Anda dalam hal kerentanan sumber terbuka.

Tidak efektif dan tidak berisiko tinggi meskipun peringkat CVSS dari komponen rentan sangat penting jika tidak menerima panggilan dari produk Anda.

Strategi cerdas adalah yang memprioritaskan ancaman yang paling mendesak terlebih dahulu, berdasarkan faktor-faktor yang ada, dan meninggalkan yang berisiko rendah untuk nanti.   

#6 Enkripsi, Enkripsi, Enkripsi  

OWASP Top 10 telah menyertakan enkripsi data saat diam dan dalam perjalanan selama bertahun-tahun, menjadikannya persyaratan untuk daftar praktik terbaik keamanan aplikasi apa pun.

Serangan man-in-the-middle dan bentuk intrusi lainnya dapat mengekspos data sensitif saat Anda gagal mengunci lalu lintas dengan benar.

Bila Anda simpan kata sandi dan ID pengguna dalam teks biasa, misalnya, Anda membahayakan pelanggan Anda. 

Pastikan Anda menggunakan SSL dengan sertifikat yang diperbarui sebagai bagian dari daftar periksa dasar Anda untuk enkripsi. Jangan biarkan diri Anda tertinggal sekarang karena HTTPS adalah standarnya. Hashing juga dianjurkan.

Selain itu, Anda tidak boleh “menggulung crypto Anda sendiri” seperti yang mereka katakan. Pertimbangkan produk keamanan yang didukung oleh tim yang berdedikasi dengan pengalaman untuk melakukan pekerjaan dengan benar.

#7 Kelola Hak Istimewa

Anda tidak harus memberikan akses ke semuanya kepada semua orang di organisasi Anda. Aplikasi dan data hanya dapat diakses oleh mereka yang membutuhkannya dengan mengikuti praktik terbaik keamanan jaringan dan praktik terbaik keamanan aplikasi.

Kelola Hak Istimewa

Ada dua alasan untuk ini. Hal pertama yang perlu Anda lakukan adalah mencegah peretas menggunakan kredensial pemasaran untuk mendapatkan akses ke sistem yang berisi data lain yang lebih sensitif, seperti keuangan atau hukum.

Ancaman orang dalam juga menjadi perhatian, baik itu tidak disengaja – seperti kehilangan laptop atau mengirim lampiran yang salah ke email – atau berbahaya.

Prinsip Hak Istimewa Terkecil dengan menyediakan data yang hanya dibutuhkan karyawan saat mengakses data dapat mengurangi keterpaparan Anda dibandingkan dengan tidak adanya kontrol.

#8 Rangkullah Otomatisasi untuk Manajemen Kerentanan Anda

Keamanan aplikasi mereka menjadi semakin penting bagi pengembang dalam beberapa tahun terakhir, terutama dalam hal tugas-tugas seperti manajemen kerentanan.

Untuk mengatasi pergeseran ke kiri keamanan, tim pengembang menguji lebih awal dan sering, mendorong sebanyak mungkin pemeriksaan keamanan mereka di awal proses pengembangan ketika lebih mudah dan lebih murah untuk memperbaiki kerentanan.

Untuk mengelola proses pengujian yang berat karena banyaknya kerentanan, pengembang memerlukan alat otomatis.

Untuk menemukan potensi kerentanan keamanan dalam kode kepemilikan Anda, pengujian keamanan aplikasi statis (SAST) dan pengujian keamanan aplikasi dinamis (DAST) dapat digunakan selama pengembangan.

Lubang keamanan ditutup dengan SAST dan DAST, namun kode kepemilikan merupakan bagian yang relatif kecil dari keseluruhan kode Anda.

Di lebih dari 92% dari semua aplikasi modern, komponen sumber terbuka membentuk 60-80% dari basis kode Anda. Daftar periksa keamanan aplikasi Anda harus memprioritaskan pengamanan komponen sumber terbuka.

 Dengan menggunakan alat analisis komposisi perangkat lunak, tim dapat menjalankan pemeriksaan dan laporan keamanan otomatis di seluruh SDLC, mengidentifikasi setiap komponen sumber terbuka di lingkungan mereka dan menunjukkan komponen mana yang diketahui memiliki kerentanan yang menimbulkan risiko keamanan pada aplikasi Anda.

Anda dapat mengelola kerentanan dengan lebih baik dengan menggeser pengujian otomatis untuk masalah keamanan sumber terbuka ke kiri.

#9 Pengujian Penetrasi

Daftar praktik terbaik keamanan aplikasi teratas tidak akan lengkap tanpa menyebutkan pengujian pena, meskipun alat otomatis membantu menangkap sebagian besar masalah keamanan.

Pengujian dengan pena dan kertas memungkinkan Anda untuk menyodok dan mendorong aplikasi Anda untuk menemukan kelemahan. Jika seorang peretas yang gigih mencoba membobol aplikasi Anda, penguji pena yang baik tahu persis langkah apa yang perlu mereka ambil. 

Perusahaan peretas dapat disewa atau pekerja lepas dapat berpartisipasi dalam program hadiah bug seperti BugCrowd dan HackerOne. Perusahaan Anda harus mensponsori hadiah bug jika Anda belum melakukannya.

Jika Anda menyewa penguji pena, jauh lebih baik membayarnya daripada menghadapi konsekuensi pelanggaran nyata. 

#10 Hati-hati Dengan Token 

Terlepas dari kenyataan bahwa ini mudah untuk diamankan, banyak pengembang tidak mengamankan token mereka dengan benar untuk pihak ketiga. 

Token

Dengan mencari situs web pengembang populer, Anda dapat dengan mudah menemukan token tanpa jaminan secara online. Alih-alih menyimpan detail token di tempat lain, pengembang cukup memasukkannya ke dalam repositori sumber terbuka mereka.

Praktik terbaik keamanan aplikasi dasar adalah mengamankan token pihak ketiga Anda dengan benar. Anda tidak boleh meninggalkan token yang telah Anda beli tergeletak di kode Anda untuk diambil siapa pun.

Praktik Terbaik Keamanan Aplikasi sebagai Praktik Dasar

Setiap praktik terbaik yang diuraikan di sini harus diintegrasikan ke dalam proses pengembangan berkelanjutan organisasi Anda. Aplikasi dan data perusahaan Anda berisiko jika Anda tidak meminimalkan risiko tersebut. Ikuti langkah-langkah ini untuk meminimalkan risiko.

Menghindari kesalahan yang mungkin dilakukan orang lain adalah salah satu cara untuk tetap berada di depan para peretas, sehingga Anda lebih sulit menjadi sasaran serangan. Tidak akan pernah ada perimeter atau ukuran keamanan aplikasi yang sepenuhnya anti-retas.

Namun, mengikuti praktik terbaik dasar ini dapat membantu menjaga aplikasi Anda tidak sebanding dengan masalah bagi para peretas.

Babber Kashish
Penulis ini diverifikasi di BloggersIdeas.com

Kashish adalah lulusan B.Com, yang saat ini mengikuti hasratnya untuk belajar dan menulis tentang SEO dan blogging. Dengan setiap pembaruan algoritme Google baru, dia menyelami detailnya. Dia selalu bersemangat untuk belajar dan suka menjelajahi setiap perubahan algoritma Google, mendalami seluk beluknya untuk memahami cara kerjanya. Antusiasmenya terhadap topik-topik ini dapat dilihat melalui tulisannya, menjadikan wawasannya informatif dan menarik bagi siapa pun yang tertarik dengan lanskap optimasi mesin pencari dan seni blogging yang terus berkembang.

Pengungkapan afiliasi: Dalam transparansi penuh – beberapa tautan di situs web kami adalah tautan afiliasi, jika Anda menggunakannya untuk melakukan pembelian, kami akan mendapatkan komisi tanpa biaya tambahan untuk Anda (tidak ada sama sekali!).

Tinggalkan Komentar