Injection, Broken Authentication dan XSS adalah risiko cyber utama

(Untuk Alessandro Rugolo)
16/10/17

OWASP adalah standar untuk menghasilkan aplikasi web yang aman dan jika kami menganggap bahwa hampir semua aplikasi sekarang ...

OWASP juga merupakan organisasi global yang bertujuan untuk meningkatkan keamanan perangkat lunak (v. artikel).
Di antara inisiatif yang paling sukses adalah Sepuluh OWASP, daftar sepuluh risiko dunia maya dalam pengembangan aplikasi.
Di 2013 daftar terakhir masih berlaku diterbitkan sementara yang berikutnya harus dirilis pada November 2017.
Pada awal tahun, proses untuk memperbarui daftar dimulai tetapi upaya pertama gagal karena ditolak oleh komunitas.

Draf pertama dari Sepuluh Besar 2017, masih dalam pembahasan menunjukkan bahwa 10 memiliki risiko lebih besar:

A1-Injection
Otentikasi dan Sesi Manajemen Rusak A2
A3-Cross-Site Scripting (XSS)
Kontrol Akses Rusak A4
A5-Kesalahan Konfigurasi Keamanan
Paparan Data Sensitif-A6
A7-Perlindungan Serangan Tidak Memadai
Pemalsuan Permintaan Lintas Situs A8 (CSRF)
Komponen Penggunaan A9 dengan Kerentanan yang Diketahui
API-A10-Kurang Terlindungi.

Sebuah daftar tentu tidak mudah dipahami bagi mereka yang tidak memiliki pengetahuan mendalam di bidang keamanan komputer.
Mari kita coba memperdalam arti istilah ini dengan Walter Ambu (foto), pendiri Entando, sebuah memulai yang memanfaatkan metodologi OWASP untuk pengembangan perangkat lunak yang aman.

Insinyur Ambu, perusahaannya, Entando, mengembangkan perangkat lunak yang aman ... Dapatkah Anda membantu kami memahami lebih banyak tentang metodologi pengembangan? Perangkat lunak apa yang Anda tangani? Pelanggan seperti apa yang Anda alamat? Berapa banyak yang Anda dedikasikan untuk penelitian dan pengembangan? Dan di atas semua itu, apakah itu membantu kita untuk lebih memahami apa risiko utama yang termasuk dalam Sepuluh OWASP?

Entando adalah platform perangkat lunak Sumber Terbuka yang menyederhanakan pembuatan aplikasi web dan seluler generasi baru, yaitu "Aplikasi Modern".
Apa yang kita maksud
Saat ini perusahaan dan administrasi publik, terutama yang lebih besar yang terlibat dalam perlombaan menuju digitalisasi, memiliki dua masalah: kecepatan dan harmonisasi.
Di satu sisi, mereka perlu mempercepat waktu rilis aplikasi sebelum pesaing melakukannya. Di sisi lain, mereka perlu merapikan portofolio aplikasi yang semakin luas, yang ditandai dengan semua antarmuka yang berbeda dan pengalaman pengguna yang tidak konsisten yang menimbulkan masalah bagi mereka yang menggunakannya. Entando, berkat pola UX / UI (User eXperience / User Interface), bertindak sebagai "harmonizer" dari pengalaman pengguna dan sebagai "akselerator", berkat teknik pengembangan perangkat lunak modern berdasarkan container, devops, CI / CD (Continuous Integration / Pengembangan Berkelanjutan), layanan mikro.
Tak perlu dikatakan bahwa Entando harus secara alami, sebagai perusahaan Open Source, memiliki kecenderungan alami yang kuat untuk inovasi dan penelitian. Tim ini terdiri dari insinyur perangkat lunak, spesialis TI dan Phd, yang - berkaitan dengan "modernitas" - juga bekerja dalam mode kerja pintar.
Adapun keamanan, Entando berkembang mengikuti metodologi OWASP ...

Mengapa perusahaan Anda mengadopsi metodologi ini? Apa manfaatnya? Apakah sulit untuk menerapkannya pada produksi perangkat lunak? Apakah staf menjalankan kursus? Apakah Anda bekerja dengan universitas?

Mengembangkan Aplikasi Modern untuk perusahaan dan administrasi publik berarti memberikan jaminan inovasi, kualitas dan keamanan pada perangkat lunak produk. Untuk alasan ini, Entando telah memutuskan untuk mengadopsi pedoman OWASP serta metode untuk mengontrol dan memverifikasi kualitas kode.
Entando secara aktif berkolaborasi dengan Lab Pengenalan Pola dan Aplikasi dari Universitas Cagliari (http://pralab.diee.unica.it) yang divisi keamanan komputernya dipimpin oleh prof. Giorgio Giacinto. Secara khusus ia adalah bagian dari proyek yang disebut sTATA (http://stata.diee.unica.it) yang terdiri dari penciptaan distrik dengan kompetensi spesifik dan maju di bidang keamanan informasi, di mana ide-ide inovatif, solusi dan produk dapat dikembangkan sebagai tanggapan terhadap risiko serangan dunia maya di mana warga dan perusahaan sekarang terekspos. Proyek ini jelas mencakup beberapa fase termasuk pelatihan personel Entando yang terlibat dalam implementasi platform.

Kita tahu bahwa masih ada diskusi yang sedang berlangsung tentang Sepuluh 2017 dan bahwa kita masih harus menunggu untuk mengenal yang resmi. Tetapi mari kita serahkan seluk-beluk ini kepada para ahli tentang masalah ini dan mari kita coba untuk berpikir seolah-olah Sepuluh Besar telah dirilis.
Di bagian atas, sudah ada di 2013 dan untuk saat ini juga dalam draft proposal untuk 2017, adalah kategori yang dikenal sebagai "Injeksi" yang saya bawa definisi: "Cacat injeksi, seperti injeksi SQL, OS, XXE, dan LDAP terjadi saat data tidak tepercaya dikirim ke penerjemah sebagai bagian dari perintah atau kueri. Data musuh penyerang dapat mengelabui penerjemah agar menjalankan perintah yang tidak diinginkan atau mengakses data tanpa otorisasi yang tepat".

IDengan kata-kata sederhana, untuk yang bukan ahli, dapatkah Anda menjelaskan apa itu?

Yang kami maksud dengan Injeksi adalah kelas serangan yang luas yang memungkinkan penyerang meneruskan data yang masuk ke perangkat lunak yang mengubah eksekusi yang diharapkan. Ini adalah salah satu serangan paling berbahaya untuk aplikasi web. Hasilnya bisa berkisar dari kehilangan data hingga pencurian data sensitif seperti kartu kredit.
Di antara berbagai jenis Injeksi, SQL Injeksi adalah yang paling terkenal.
SQL Injection adalah praktik peretasan yang melibatkan pemukulan aplikasi web yang didasarkan pada basis data. Karena kerentanannya, penyerang dapat beroperasi pada basis data, membaca, mengubah, atau menghapus dengan cara tidak sah data yang ada di dalamnya.

Di antara kasus nyata di mana serangan kategori ini digunakan adalah kasus tahun 2009 yang dilakukan terhadap Sistem Pembayaran Heartland. Pada kesempatan itu, kredensial 130 juta kartu kredit dan debit dicuri. Tetapi bagaimana Anda meningkatkan keamanan sistem yang rentan terhadap kerentanan ini?

Penting untuk memverifikasi fungsionalitas kontrol pada data yang masuk, sehingga tidak mungkin melakukan kueri sewenang-wenang ke database dengan mengeksploitasi kegagalan atau validasi yang salah dari data yang diterima. Untuk lebih jelasnya, jika formulir di situs memerlukan penyisipan ID pengguna, perangkat lunak harus memeriksa bahwa data yang dimasukkan oleh pengguna sebenarnya dalam format ID pengguna dan mencegah pengguna untuk mengirim data yang berbeda, mungkin sebuah string yang bisa diartikan sebagai sebuah perintah.

Terima kasih, sekarang saya pikir arti "Injeksi" lebih jelas bagi semua orang.

Mungkin tidak semua orang akan dapat sepenuhnya memahami mekanisme yang mendasari serangan tetapi saya percaya bahwa hal yang paling penting adalah membuat orang sadar bahwa penggunaan alat web dapat menghadirkan risiko tetapi ada metode untuk meminimalkannya. Insinyur Ambu, yang kedua dalam daftar adalah Otentikasi Rusak dan Manajemen Sesi.

Tentang apa ini?

Dalam hal ini kita berhadapan dengan kerentanan di mana penyerang dapat memanipulasi data yang biasanya disimpan dalam apa yang disebut "token sesi", yaitu pengidentifikasi unik untuk pengguna yang menelusuri halaman web dan yang digunakan untuk pertukaran data antara bagian klien dan bagian server dari aplikasi web. Cookie yang terkenal mengaktifkan mekanisme ini. Dalam hal ini penyerang bahkan dapat mengambil identitas orang lain, mengubah kata sandi dan memasuki sistem. Bayangkan, misalnya, kerusakan yang dapat dilakukan peretas dengan memasukkan rekening bank kami!

Anda dapat mengosongkan tagihan! Dan mungkin mendapatkan informasi tentang akun saat ini dari orang-orang yang memiliki hubungan kerja dengan kami. Hal ini berpotensi menempatkan tidak hanya kita tetapi juga orang-orang dan perusahaan yang kita hadapi beresiko.
Engineer Ambu, saya tentu tidak ingin mengambil terlalu banyak waktu meminta Anda untuk menganalisis kesepuluh kerentanan dalam daftar, tetapi saya pikir setidaknya yang ketiga perlu diperhatikan: Cross-Site Scripting (XSS), apa itu?

Cross-site scripting adalah teknik yang cukup umum untuk melakukan pencurian identitas.
Dalam praktiknya suatu aplikasi bertanggung jawab atas data yang diterima dalam input, misalnya dari formulir, tanpa melakukan pemeriksaan validasi, dari sudut pandang ini menyerupai teknik injeksi.
Orang jahat kemudian dapat menyuntikkan kode skrip berbahaya, melalui contoh kode javascript, melalui browser dalam bentuk apa pun dari situs web yang menyebabkan pencurian identitas seseorang atau modifikasi bagian situs web bahkan memaksa pengguna untuk mengunduh malware.

Terima kasih Ambu atas waktu Anda. Saya masih memanfaatkan kehadiran dan kompetensinya untuk mengulangi bahwa semua teknik serangan ini setidaknya dapat sebagian tidak berbahaya dengan menggunakan praktik terbaik dari metodologi OWASP. Dalam praktiknya, penggunaan metodologi OWASP memungkinkan untuk mencegah sebagian besar serangan paling umum dan berbahaya.

Tepatnya, OWASP adalah metodologi pencegahan. Penerapannya dalam hal apa pun tidak boleh dianggap sebagai obat mujarab terhadap semua penyakit, tetapi hal ini tentu sangat berguna dan layak untuk dipelajari secara mendalam oleh semua orang yang dalam beberapa hal berurusan dengan pengembangan perangkat lunak dan keamanan komputer. Dalam hal ini 20 Oktober mendatang di auditorium Fakultas Teknik dan Arsitektur, di Piazza d'Armi di Cagliari, akan diadakan Italia OWASP Day 2017. Peristiwa yang sangat menarik dalam hal keamanan perangkat lunak.
Di antara para tamu akan hadir wakil presiden Synopsys, Gary McGraw, otoritas yang diakui secara global di bidang keamanan informasi.
Kami di Entando akan hadir dan akan ada kesempatan untuk memperdalam konsep yang baru saja diekspos dan masih banyak lagi. Kami sedang menunggumu!

Untuk mempelajari lebih lanjut:
- https://www.owasp.org/index.php/Italy_OWASP_Day_2017
- https://www.computerworld.com/article/2527185/security0/sql-injection-at...
- https://www.w3schools.com/sql/sql_injection.asp