Selanjutnya kita akan belajar mengamankan aplikasi. Aplikasi yang kita maksud adalah singkatan dari “aplikasi perangkat lunak” atau sering disebut juga sebagai “app”. Ini merujuk pada program komputer yang dirancang untuk menjalankan tugas tertentu. Ini termasuk aplikasi pada perangkat elektronik seperti smartphone, tablet, maupun komputer. Aplikasi dapat memiliki berbagai tujuan, mulai dari hiburan, komunikasi, produktivitas, pendidikan, hingga bisnis.
Aplikasi dikembangkan dengan menggunakan berbagai bahasa pemrograman dan alat pengembangan yang memungkinkan pengguna untuk menjalankan fungsi-fungsi khusus. Dalam beberapa tahun terakhir, perkembangan aplikasi mobile sangat pesat, terutama dengan munculnya platform seperti iOS (Apple) dan Android (Google). Platform tersebut telah mengubah cara kita menggunakan perangkat mobile.
Aplikasi dapat diunduh dari toko aplikasi resmi yang disediakan, seperti App Store untuk iOS atau Google Play Store untuk Android. Ada juga aplikasi yang tersedia untuk diunduh dari situs web pengembang atau sumber-sumber lain di internet.
Aplikasi Web
Aplikasi web adalah program perangkat lunak yang dijalankan di browser web pengguna. Mereka dikembangkan dengan berbagai bahasa, seperti PHP, Python, HTML, CSS, JavaScript, dan lainnya. Web diakses melalui internet menggunakan browser web seperti Google Chrome, Mozilla Firefox, Safari, atau Microsoft Edge.
Berbeda dengan aplikasi desktop atau mobile yang diunduh dan diinstal di perangkat lokal, aplikasi web tidak memerlukan instalasi khusus. Pengguna dapat mengakses aplikasi web dari berbagai perangkat seperti komputer, laptop, tablet, atau smartphone, asalkan memiliki koneksi internet dan browser.
Aplikasi web dapat memiliki berbagai fitur dan fungsionalitas, mirip dengan aplikasi desktop atau mobile. Mereka dapat digunakan untuk melakukan tugas seperti komunikasi, pengelolaan data, transaksi keuangan, pembelian online, pengeditan dokumen, permainan, dan banyak lagi.
Keuntungan dari aplikasi web termasuk aksesibilitas yang lebih mudah karena pengguna hanya perlu browser dan koneksi internet. Pengguna tidak memerlukan pembaruan atau instalasi manual, dan dapat diakses dari berbagai perangkat. Namun, mereka juga dapat memiliki keterbatasan dalam hal akses ke fitur perangkat keras tertentu. Serta keterbatasan kinerja dibandingkan dengan aplikasi desktop atau mobile yang dioptimalkan secara khusus untuk platform tertentu.
Contoh aplikasi web adalah situs kamsib.id, tempat artikel yang sedang Anda baca sekarang ini.
Aplikasi Mobile
Dapat dikatakan aplikasi mobile adalah program perangkat lunak yang dirancang khusus untuk dijalankan pada perangkat mobile seperti smartphone atau tablet. Aplikasi ini dapat diunduh dan diinstal melalui toko aplikasi resmi yang disediakan oleh sistem operasi mobile. Mobile apps memiliki berbagai tujuan dan fungsionalitas. Beberapa contoh aplikasi mobile, seperti WhatsApp, Facebook Messenger, Zoom, Instagram, Waze, Gojek, Grab, dan lainnya.
Aplikasi mobile dapat memberikan pengalaman yang dioptimalkan dengan memanfaatkan fitur seperti kamera, GPS, sensor gerak, notifikasi, dan layar sentuh. Ini ditujukan untuk menciptakan interaksi yang intuitif dan responsif dengan pengguna.
Aplikasi Desktop
Aplikasi desktop adalah program perangkat lunak yang dirancang untuk dijalankan pada komputer desktop atau laptop. Mereka diinstal secara lokal di perangkat pengguna. Beberapa di antaranya tidak memerlukan koneksi internet terus-menerus untuk digunakan. Aplikasi desktop dapat memiliki berbagai tujuan dan fungsionalitas, serupa dengan aplikasi mobile, tetapi dioptimalkan untuk penggunaan pada komputer. Beberapa contoh aplikasi desktop, seperti Microsoft Office, Adobe Creative Cloud, XAMPP, Chrome, berbagai produk anti-virus, Burpsuite, dan OWASP-Zap.
Aplikasi desktop biasanya menawarkan fungsionalitas yang lebih kaya dan kompleks dibandingkan dengan aplikasi mobile. Hal ini disebabkan adanya dukungan penuh terhadap fitur perangkat keras seperti keyboard, mouse, monitor, dan kemampuan komputasi yang lebih tinggi. Aplikasi desktop juga dapat memanfaatkan penyimpanan lokal yang lebih besar untuk mengelola data yang lebih besar dan kompleks.
Pengamanan Menurut OWASP
OWASP adalah singkatan dari “Open Web Application Security Project”. OWASP adalah organisasi global yang berfokus pada meningkatkan keamanan aplikasi web. Tujuan utama OWASP adalah menyediakan sumber daya dan pedoman untuk membantu mengidentifikasi kerentanan keamanan yang umum terkait dengan aplikasi web.
OWASP menghasilkan berbagai proyek terbuka yang bertujuan untuk memperbaiki keamanan aplikasi web. Salah satu proyek yang paling terkenal dan banyak digunakan dari OWASP adalah “OWASP Top 10”. Ini adalah daftar kerentanan keamanan yang paling umum dalam aplikasi web, yang diperbarui secara berkala untuk mencerminkan ancaman terkini. OWASP Top 10 mencakup kerentanan seperti serangan injeksi SQL, cross-site scripting (XSS), cross-site request forgery (CSRF), dan lain-lain.
OWASP juga menyediakan panduan pengembangan aplikasi web yang aman, seperti OWASP Application Security Verification Standard (ASVS) dan OWASP Testing Guide. Organisasi ini juga menyelenggarakan konferensi, seminar, dan kegiatan lainnya untuk mempromosikan keamanan aplikasi web dan berbagi pengetahuan terkait keamanan.
Secara umum, OWASP berperan penting dalam membantu industri pengembangan aplikasi web dalam meningkatkan keamanan dan mengurangi kerentanan yang dapat dieksploitasi oleh penyerang.
OWASP TOP 10
OWASP Top 10 adalah dokumen kesadaran standar untuk pengembang dan keamanan aplikasi web. Ini mewakili konsensus luas tentang risiko keamanan paling kritis untuk aplikasi web. OWASP Top 10 disusun oleh Open Web Application Security Project (OWASP). Daftar ini diperbarui secara berkala untuk mencerminkan tren ancaman keamanan terkini yang dihadapi oleh aplikasi web. Berikut adalah versi terbaru OWASP Top 10 pada tahun 2021. Di sini dijelaskan juga perbandingan dengan versi tahun 2017.
OWASP Top Ten sebenarnya sudah berkembang dan tidak hanya membahas fokus pada web saja. Melainkan juga membahas tren kerentanan pada aplikasi mobile, desktop, hingga bahkan API. Contohnya pada artikel Kamsib sebelumnya yang membahas mengenai OWASP Top Ten Desktop. Dengan judul artikel Pemudi Ini Menghabiskan Malam dengan Membahas OWASP Top 10 Desktop Application Security Risks.