Pentingnya Security untuk development Aplikasi

Security pada aplikasi sangat penting sekali. Namun pada kenyataanya faktor keamanan ini sering dikesampingkan karena banyaknya deadline yang mengharuskan kita untuk menyelesaikan suatu development yang kompleks dan membutuhkan waktu yang sangat cepat. Banyak aplikasi-aplikasi besar yang mempunyai user banyak, namun belum sepenuhnya dapat menjaga keamanan user, ini akan sangat disayangkan karena investasi terbesar company adalah data. Kalau karena faktor dari kelalaian mengesampingkan keamanan akan sangat disayangkan.

Data menyebutkan "More than 600 IT professionals responded to Dzone's 2015 Applicatoin Security Survey"
Bahwa developer lah yang mempunyai peran besar terhadap faktor keamanan pada waktu suatu software/aplikasi. Bagi kita developer, harus memahami betul mana-mana saja yang ditampilkan pada "Front End" yang langsung berhubungan dengan user, maupun data yang seharusnya hanya disimpan pada bagian "Back End", seperti data diri pelanggan password, transaksi dll. Developer harus memahami betul terhadap hal itu. banyak sekali perusahaan yang tercuri datanya karena masalah sederhana ini. 

Penetration Testing Is The Most Common Security Test, Why?

Dari datas diatas jelas sekali bahwa developer kurang mementingkan terhadap aspek keamanan sistem saat sistem itu dibuat. Developer lebih mementingkan tentang fungsi dari sebuah aplikasi itu digunakan, right?, kebanyakan karena deadline yang mencekik haha. Tapi tidak bisa dipungkiri sekarang itu udah jamanya Teknologi Data, apa-apa harus pake data, kayak orang No pic Hoax. Dari bagian testing lebih mementingkan untuk test Penetration dari luar dari pada mereview dari code yang kita bangun. Kesimpulannya, developer harus mementingkan terhadap aspek keamanan dengan diimbangi dengan aspek performance dari aplikasi.

Nine Step to Securing Your software

  1. Protect Your Database From SQL Injection
    Udah dari jaman nenek moyang kali SQL injection ini. terutama ini ketika kita developing pakai php+html, akan sangat harus diperhatikan terhadap sql ini. jangan sampe bocor, karena id kita pampangkan pada url address. 
  2. Encode Data Before Using It
    Ini masalah yang sangat serius. Pernah nonton film hacker, yang nyadap telpon dari telpon kabel?. Nah mungkin seperti itu hampir sama. maka sebelum data kita simpan. kita harus encode dulu menggunakan Algoritma tertentu atau menggunakan metode kriptografi menggunakan key dan sebagainya. Intinya jangan membiarkan value penting yang keluar masuk itu telanjang tanpa adanya enkripsi.
  3. Validate Input Data Before You use It Or Store It
    Old School, ini nih. Biasanya karena dari form yang kita tidak kasih exception untuk mengecek suatu file yang akan dimasukkan. bisa dijadikan celah untuk dimasukkan file yang biasa digunakan sebagai shell, yang digunakan untuk mengupload file-file tertentu yang digunakan untuk mengambil data-data penting dari database kita. Ngeri kan?, makanya validasi ini sangat berperan penting terhadap web apps.
  4. Access Control - Deny By Default
    Pemetaan user berdasarkan Role mereka. ini akan sangat menjadi prioritas dan memudahkan kita untuk mengaudit data, karena user sudah terkontrol berdasarkan Role.
  5. Establish Identity Upfront
    Email & password user adalah data terbesar yang kita punya kalau kita bergerak pada web apps service. Yang menjadikan user sebagai sasaran terhadap visi dari web kita. Maka sudah seharusnya kita developer harus benar-benar mengamakan 2 value ini. karena orang jahat banyak mengincar email user yang kita punya dan digunakan untuk tujuan lain. 
  6. Logging And Instruction Detection
    Log selalu proses-proses penting. karena ini akan memudahkan kita untuk mengatasi ketika ada masalah. Untuk mengimplementasikan hal ini. Kita bisa pakai framework SLF4J dengan Logback atau Apache Log4j/Log4j2
  7. Dont Roll Your own Security Code
    Dan menyerahkan pada aplikasi semata untuk masalah Keamanan kita harus benar-benar paham dan memahami terhadap apa yang kita gunakan.
  8. Handle Errors And Exception Correctly
    Error Handler sangatlah penting untuk mengatasi user keluar dari url yang telah kita sediakan. Dalam kasus ini seperti SQL injection, ketika orang mencoba untuk memasukan url dan bermaksud untuk menyuntikkan data maka Error Handler ini akan bekerja dan mencegah untuk masuk kepada url yang dituju.
  9. Build Security Testing into Development
    Pengecekan keamanan tidak hanya dilakukan menggunakan penetration testing ketika aplikasi selesai di develop. Tapi harus berkala sampai aplikasi jadi. Jadi kita sebagai developer dapat memastikan bahwa setiap kode yang kita tulis sudah memenuhi pada standar keamanan terhadap software/aplikasi yang kita develop. 


0 comments: