Web Application Security: Sesuatu yang terabaikan

500 300 Dian Boyke

Web Application Security: Dengan seiring semakin maraknya bermunculan Startup-startup berbasis digital, mereka hadir dengan bisnis yang membutuhkan implementasi teknologi handal dalam waktu yang singkat. Teknologi yang mendukung kemampuan akses dari lintas geografis dan tanpa ada batasan waktu, kemampuan mengelola data dalam jumlah yang sangat-sangat besar untuk kemudian diproses menjadi informasi dan knowledge. Dengan situasi ini kita sering kali bicara mengenai performance, scalability, cloud, big data, microservices dan kosakata lainnya didunia IT.

Perekrutan personil, adaptasi teknologi, research and awareness, semua fokus pada hal-hal yang telah disebutkan diatas. Walaupun kita menyadari betapa pentingnya sebuah keamanan digital, tetapi tidak banyak startup yang menempatkan perhatian khusus pada keamanan digital terutama di layer aplikasi. Entah karena keterbatasan pengetahuan terhadap ancaman dan jenis pengamanannya, atau dikarenakan masih lebih memprioritaskan kebutuhan bisnis.

Ancaman Web Application

Dahulu sering kali kita bicara ancaman-ancaman di level Infrastruktur, di bagian network, perangkat, system operasi, service dan server. Dari ancaman-ancaman tersebut pada akhirnya diciptakan perangkat-perangkat yang khusus dirancang sebagai bentuk pengamanan terhadap infrastruktur IT. Perangkat-perangkat seperti Firewall, IDS, IPS, IPtables, bisa dijadikan pilihan untuk mencegah, mengidentifikasikan, bahkan sampai menangkal serangan hacker.

Tetapi seiring dengan perkembangan teknologi informasi dan komunikasi yang tak pernah berhenti, telah menjadikan dunia web sebagai platform di jaringan internet yang sangat populer. Dengan semakin populernya dunia web ini maka secara tidak langsung akan semakin besar pula resiko dan ancaman keamanannya.

Para Hacker mulai mencari celah keamanan dan membuat tools untuk memudahkan apabila mereka ingin melakukan aksinya kembali. Tetapi pada praktiknya tools-tools tersebut dapat dengan mudah di download di Internet, dibuat agar mudah digunakan bahkan untuk seorang yang awam di dunia hacking. Sehingga menjadikan resiko digital semakin tinggi.

Di level Infrastruktur kita mengenal serangan-serangan seperti DOS, DDOS, DNS poisoning, Worm dan Trojan Horse. Sedangkan serangan-serangan di level aplikasi ini seperti SQL Injection, File Injection dan XSS. Metode hacking tersebut akan mencari kelemahan pada sistem walaupun secara logic bisnis dapat diterima.

Threat Analyzer

source: http://www.totaldefense.com.mx/b2b/overview/web/threatanalysis.html

Web Application Security

Seorang developer dapat meminimalisir celah keamanan aplikasi dengan cara memaksimalkan tugas-tugas QA. Memastikan aplikasi lolos testing di unit test, functional test,UAT, Blackbox dan Whitebox testing, sehingga dapat mengurangi kemungkinan-kemungkinan dari input dan behaviour yang diluar skenario.

Tetapi metode dan teknik hacker semakin hari semakin canggih. Dibutuhkan layer pertahanan tambahan untuk menangkal serangan di level ini. Dan salah satu cara untuk meng-implementasi web application security adalah dengan menggunakan Web Application Firewall atau disingkat menjadi WAF.

Seperti halnya dengan firewall yang sudah kita kenal selama ini, WAF memiliki bentuk hardware dan perangkat lunak, dan juga dalam bentuk layanan Cloud. Untuk yang hardware biasanya fitur ini sudah ter-bundling dengan perangkat Network Firewall. Ada yang bisa langsung digunakan, ada juga yang harus membayar subscription atau sebagai module tambahan.

Tidak hanya di perangkat keras, WAF tersedia juga sebagai aplikasi yang dapat di install di sistem kita. Dengan beberapa settingan dan kita sudah bisa mendapatkan proteksi dari WAF ini. List beberapa aplikasi WAF yang populer bisa dilihat disini. Yang biasa diketemui di beberapa infrastruktur, biasanya mereka menggunakan mod_security yang bisa dipasang di Nginx dan Apache, atau Naxsi (Nginx Anti XSS and SQL Injection).

Dan hadir pula WAF berbasis cloud seperti Akamai, Cloudflare dan Amazon WAF. Akamai dan Cloudflare merupakan penyedia layanan khusus CDN, dan Amazon mengkhususkan pada layanan Cloud. Disini terlihat bahwa WAF melengkapi layanan cloud yang diberikan oleh mereka.

Amazon AWS - WAF

Amazon AWS – WAF

Cara WAF Bekerja

Serupa dengan firewall jenis proteksi network, WAF bekerja berdasarkan pola-pola transaksi web yang dianggap mencurigakan. Dari pola-pola tersebut dijadikan aturan-aturan yang menjadi dasar penilaian (scoring) seberapa besar resiko atau ancaman yang sedang terjadi.

Web Application Security

source: https://www.cwp.govt.nz/about/selecting-the-right-instance-for-your-website/

Aturan-aturan tersebut terdiri dari aturan SQL injection, aturan File injection, XSS, Directory Traversal dan lainnya. Setiap pola yang terdeteksi melanggar aturan tersebut akan diberikan score atau nilai. Dari nilai tersebut lah WAF akan menilai tingkat ancamanyang  selanjutnya akan diambil tindakan yang diperlukan. Apakah akan men-drop transaksi tersebut, atau mengirim peringatan ke sistem notifikasi internal IT kita.

Contoh aturan untuk SQL Injection seperti mengamati pola-pola yang mencurigakan pada request seperti penggunaan kata-kata DATABASE, DROP, TABLE, UNION, CONCAT, /*, */ atau encoding yang menggunakan hex. Untuk file injection memiliki aturan-aturan seperti mengawasi penggunaan file extension dan mime type yang tidak diharapkan oleh aplikasi. Dan untuk aturan-aturan XSS contohnya seperti mencurigai penggunaan request yang terdapat karakter <, >, :, ~, ; dan lainnya.

Aturan-aturan yang terdapat di WAF sebagian besar dari referensi Open Web Application Security Project (OWASP). Dari web tersebut kita bisa lihat bagaimana teknik dan metode yang digunakan untuk hacking aplikasi web. Dengan mempelajari cara kerjanya, akan memudahkan pada saat implementasi WAF di internal IT. Karena akan berhubungan dalam menentukan aturan-aturan yang akan digunakan, skoring, dan bagaimana desain dan flow aplikasi web yang kita miliki.

Kesimpulan

Kemudian menjadi tanggung jawab siapakah keamanan di level aplikasi web ini? apakah masih dalam ranah tim Infrastruktur yang saat ini memegang wewenang di Firewall Infrastruktur IT? atau tanggung jawab seorang developer yang notabene pembuat aplikasi itu sendiri?

Dengan semakin tingginya resiko dan ancaman pada aplikasi web maka kesadaran kita akan bahaya ini sudah seharusnya dirubah menjadi sebuah aksi. Siapapun yang akan memangku tanggung jawab pada web application security ini pada akhirnya akan membutuhkan kordinasi antara tim developer dan tim infrastruktur.

Gunakanlah waktu untuk proses “learning” dengan baik. Pastikan pada saat implementasi WAF tidak akan mengganggu user experience. Jangan sampai WAF salah mengidentifikasikan antara rekues ‘TABLE FROM ITALY’ dengan ‘DROP TABLE’.

Yang perlu digaris bawahi disini adalah, ancaman pada aplikasi web sedang menjadi trend di dunia hacking. Tempatkanlah area IT kita ke dalam zone aman dari semua resiko tersebut.

1 comment

Leave a Reply

Your email address will not be published.