Tampilan sisi klien dari keamanan web

Terjemahan artikel disiapkan untuk mengantisipasi dimulainya kursus "Keamanan Aplikasi Web" .








Pada artikel ini, yang pertama dari tiga, kita akan melihat ancaman keamanan web dan bagaimana alat keamanan sisi klien menangani kelas serangan cyber yang sering diabaikan seperti Magecart . Ini menjelaskan teknik pertahanan ancaman keamanan web tradisional yang didasarkan pada standar sisi klien seperti kebijakan keamanan konten dan integritas sub-sumber daya. Pendekatan yang berkembang ini terlihat dalam konteks platform keamanan sisi klien yang representatif.



pengantar



Mungkin landasan cybersecurity sebagai disiplin profesional adalah fluiditasnya yang berkelanjutan. Yaitu, segera setelah serangan cyber muncul yang mempengaruhi aspek kerahasiaan, integritas atau ketersediaan beberapa sumber daya Internet, solusi yang tepat dikembangkan untuk menghilangkannya. Segera setelah solusi ini diintegrasikan ke dalam infrastruktur sumber daya yang dikompromikan, serangan siber baru muncul, solusi baru ditemukan dan siklus ditutup.



Dalam beberapa kasus, solusi pertahanan dunia maya memiliki mekanisme yang mengantisipasi bentuk-bentuk baru serangan berbahaya - dan ketika ini berhasil, risiko keamanan dapat dihindari dalam berbagai skenario. Misalnya, otentikasi dua faktor dibuat sebagai ukuran terhadap tebakan kata sandi, dan sekarang merupakan komponen keamanan penting dalam pengembangan protokol baru untuk komunikasi antara perangkat IoT .



Tidak ada proses muncul dan mengatasi ancaman lebih jelas daripada di bidang keamanan web, juga disebut keamanan aplikasi web. Mengingat bahwa aset berharga paling sering diproses dan dikelola melalui antarmuka web, nilai eksploitasi web terus meningkat. Salah satu konsekuensi dari pertumbuhan ini adalah bahwa meskipun banyak teknologi untuk melindungi sumber daya web, kesenjangan antara jumlah serangan dan tingkat perlindungan semakin meningkat.



Premis utama di balik seri artikel teknis ini adalah celah keamanan web yang muncul dari kenyataan bahwa sebagian besar aplikasi berjalan di browser modern. Komunitas keamanan web telah lama menyadari kebutuhan untuk menggunakan fungsionalitas untuk melindungi terhadap kerentanan di sisi server yang melayani statis dan konten untuk klien. Namun, terlalu sedikit perhatian diberikan pada keamanan sisi klien, yang tidak kalah menarik bagi penyerang, tetapi sebagian besar diabaikan oleh infrastruktur keamanan modern.



Dalam seri tiga bagian ini, kami ingin mengisi celah itu. Pada bagian pertama, kita akan berbicara tentang serangan cyber paling umum di situs web. Pada bagian kedua, kita akan melihat solusi keamanan web yang paling sering digunakan dalam produksi saat ini. Dan di Bagian 3, kita akan mengeksplorasi bagaimana solusi keamanan sisi klien yang representatif dapat membantu menemukan kerentanan di infrastruktur Anda yang dapat dieksploitasi oleh penyerang.



Serangan situs web umum



Pada pertengahan 90-an abad terakhir, bersama dengan ide - ide Tim Berners-Lee dari tingkat protokol transfer hypertext dan bahasa markup ke protokol Internet (IP), ada juga sarana untuk menyerang infrastruktur, sistem dan aplikasi yang membentuk apa yang disebut web atau jaringan. Saat itulah disiplin keamanan web lahir, yang dapat didefinisikan sebagai serangkaian tindakan perlindungan yang diperlukan untuk mengelola risiko keamanan komputasi jaringan.



Seperti yang Anda perkirakan, taksonomi masalah keamanan web telah berkembang dengan cepat ke arah yang berbeda, tetapi tahap awal berfokus pada pencegahan penolakan serangan layanan, mengamankan infrastruktur hosting, dan memastikan aliran bebas konten online ke pengguna. Fokus pada aksesibilitas ini didorong oleh fakta bahwa jika sebuah situs web turun atau tidak berfungsi seperti yang diharapkan, transaksi elektronik tidak akan dapat berjalan dengan aman, dengan pendapatan yang jelas.



Selain masalah di tingkat infrastruktur, ada kepercayaan yang berkembang bahwa masalah di tingkat aplikasi juga dapat memiliki konsekuensi serius, khususnya bagi pelanggan yang mengunjungi situs web. Maka lahirlah yang disebutancaman di bidang keamanan jaringan , yang telah berkembang dari masalah kecil menjadi masalah keamanan besar. Bahkan saat ini, menemukan aplikasi web yang rentan cukup mudah.



Dalam beberapa tahun terakhir, serangkaian standar strategi ofensif telah muncul yang sangat sulit untuk ditekan. Kegigihan masalah ini disebabkan oleh kompleksitas pengembangan banyak aplikasi web, serta kurangnya pengalaman dan ketidaktahuan relatif dari banyak administrator jaringan. Di bawah ini kami menggambarkan empat strategi yang mengarah pada kerentanan dalam infrastruktur e-commerce dan menciptakan masalah bagi banyak perusahaan dan tim keamanan mereka.



Cross Site Scripting (XSS)



Serangan layer aplikasi yang paling umum adalah cross-site scripting, atau cukup XSS . Pada intinya, serangan lintas situs membawa metode seperti injeksi - inilah saat seorang penyerang menemukan cara untuk menanamkan skrip pihak ketiga ke dalam situs dan membuatnya berfungsi. Tujuan utamanya adalah untuk aplikasi web yang ditargetkan untuk mengirim kode penyerang ke browser pengguna tanpa sepengetahuan yang terakhir. Serangan XSS bekerja paling baik ketika situs web menerima, memproses, dan menggunakan input tanpa banyak verifikasi.



Tujuan akhirnya adalah menyuntikkan kode ke browser seseorang. Pengguna yang dikompromikan mengharapkan semua skrip yang akan datang aman karena semua konten dinamis berasal dari situs web yang dikunjungi dan seharusnya tepercaya. Browser pengguna akan mengeksekusi kode ini, seringkali dalam JavaScript, sehingga mengekspos informasi sensitif seperti token sesi atau cookie kepada seorang penyerang. Kode XSS juga dapat mengarahkan pengguna ke situs yang terinfeksi.





Gambar 1. Diagram serangan XSS



Organisasi seperti Proyek Keamanan Aplikasi Web Terbuka ( OWASP) menawarkan berbagai cara perlindungan terhadap serangan XSS. Rekomendasi mereka, banyak di antaranya masih diabaikan oleh para praktisi, termasuk pengkodean yang bermakna dan prosedur administrasi web yang meningkatkan penanganan input pengguna. Sebagian besar dari ini melibatkan validasi input sisi-server yang lebih baik, yang merupakan langkah pengamanan selamat datang dan harus ada dalam ekosistem jaringan apa pun.



Konten dan injeksi iklan



Dalam beberapa tahun terakhir, serangan konten dan injeksi iklan yang dikenal sebagai malvertising menjadi semakin umum . Tren ini, bagaimanapun, seharusnya tidak mengejutkan mengingat munculnya ekosistem periklanan online sebagai kekuatan pendorong di belakang bisnis saat ini. Diperkirakan bahwa iklan online saat ini mencapai $ 100 miliar. Peretas dan penjahat menyadari tren ini dan memanfaatkan kerentanan yang tersedia.



Cara kerja maliklanMirip dengan XSS: Penyerang menemukan cara untuk menyuntikkan kode mereka ke situs web melalui jaringan iklan yang sah. Sasarannya juga mirip dengan XSS, yaitu untuk mengarahkan pengunjung dari satu situs ke situs lain yang ditargetkan dengan kode jahat yang merupakan jantung dari setiap serangan, seperti, misalnya, pencurian kredensial.



Beberapa orang berbicara tentang proses injeksi sebagai unduhan drive-by . Istilah ini mengacu pada pengguna yang melihat iklan di browser dengan kerentanan (yang, sayangnya, merupakan skenario yang sangat umum). Saat pengguna berinteraksi dengan iklan, terjadi pengalihan, yang mengakibatkan malware menjangkau pengunjung situs yang tidak curiga.





Gambar 2. Unduh Drive-By via Malvertising

Solusi tradisional untuk masalah ini adalah dengan menggunakan kontrol seperti firewall aplikasi web (WAF). WAF akan dikonfigurasikan untuk menggunakan analisis tanda tangan atau perilaku untuk menghentikan kode jahat dari dieksekusi dari sumber yang tidak dipercaya. Seperti halnya XSS, perlindungan sisi-server ini biasanya digunakan dalam ekosistem periklanan sebagai elemen kontrol utama. Pendekatan yang dijelaskan ini berlaku untuk maliklan , tetapi tidak akan bekerja melawan semua bentuk serangan.



Magecart



Grup hacker Magecart muncul beberapa tahun yang lalu, mulai meneror situs web dengan serangan seperti skimming kartu. Biasanya kelompok peretas muncul dan menghilang agak cepat, tetapi Magecart telah lama membuat situs web dan aplikasi web dari perusahaan gugup. Sejumlah besar organisasi terpengaruh oleh peretasan, dan solusi keamanan tidak jelas bagi kebanyakan korban.



Serang man-in-the-middledari Magicart cukup sederhana: pertama, kode jahat ditambahkan ke kode JavaScript yang dikirim dari server ke klien. Kode berbahaya kemudian melacak dan mengumpulkan data sensitif, seperti informasi kartu kredit dari pengguna yang mengunjungi situs melalui browser mereka. Data dikirim ke situs jahat dan diunggah secara ilegal. Semuanya sangat sederhana.





Gambar 3. Kartu skimming dari Magicart



Namun, masalah utama adalah bahwa keamanan sisi-server konvensional tidak memperhitungkan serangan man-in-the-browser ( MITB ) seperti yang terjadi di sisi klien. Misalnya, firewall aplikasi web ( WAF) tidak melihat tindakan JavaScript dan tidak memiliki pemindaian pustaka untuk injeksi kode. Ketika serangan itu datang dari situs pihak ketiga, hasilnya mengalir, dan apa yang terjadi disebut dukungan babi .






Pelajari lebih lanjut tentang kursus.







All Articles