Pengalaman Timeweb
Setiap perusahaan membutuhkan perspektif luar tentang keadaan keamanan informasi layanan dan produk. Masalah ini dapat diselesaikan dengan berbagai cara, salah satunya dengan berpartisipasi dalam program Bug Bounty.

Bug Bug Bounty adalah program yang memberikan hadiah uang atau manfaat lain untuk menemukan bug, eksploitasi, dan kerentanan dalam perangkat lunak. Program Bug Bounty diimplementasikan oleh banyak perusahaan, termasuk Facebook, Google, Reddit, Apple, Microsoft, dll. Sebuah
perusahaan dapat meluncurkan program seperti itu sendiri, mengatur semua proses dan interaksinya sendiri. Opsi kedua adalah beralih ke platform Bug Bounty khusus: kami membuat kesepakatan, dan pasukan pemburu bug mulai bekerja.
Timeweb meluncurkan program Bug Bounty sekitar setahun yang lalu. Saat itu, perusahaan belum memiliki tenaga ahli yang berpengalaman di bidang ini, semuanya harus dilakukan dengan trial and error. Di Internet, hampir tidak ada yang membagikan rekomendasi tentang bagaimana membangun proses ini, sehingga sepeda sering ditemukan, dan pengetahuan biasanya ditransfer dalam percakapan dengan rekan kerja di mesin kopi.
Pada artikel ini, kami akan memberi tahu Anda cara mengatur peluncuran program Bug Bounty, jika Anda belum pernah melakukan ini, apa yang harus Anda perhatikan dan bagaimana lagi Anda dapat memeriksa status sistem keamanan informasi.
Saksikan berikut ini!
Mengapa kami meluncurkan program Bug Bounty?
Tugas kami adalah meningkatkan sistem keamanan informasi ke tingkat kualitas baru yang lebih tinggi dan tidak menghabiskan terlalu banyak uang. Penting untuk dicatat bahwa Timeweb adalah perusahaan yang matang dengan infrastruktur yang kompleks dan serangkaian besar layanan penting, jadi sama sekali tidak jelas bagi kami tentang urutan pengujian layanan dan memperbaiki kerentanan, dan apa yang harus dimulai pertama-tama.
Ada beberapa cara untuk memeriksa sistem keamanan informasi. Sebelum meluncurkan program Bug Bounty, kami mencoba mempertimbangkan dan menganalisis berbagai opsi. Di antara mereka, audit eksternal mungkin merupakan solusi paling umum untuk masalah tersebut. Berkat audit tersebut, Anda dapat menemukan masalah yang kompleks dan tidak standar, tetapi bahkan setelah membayar dalam jumlah besar, Anda tidak dapat yakin bahwa Anda akan mendapatkan apa yang benar-benar Anda butuhkan.
Cara lain adalah dengan melatih tim dan mengembangkan kompetensi karyawan. Di sini Anda perlu memahami bahwa sumber daya tim masih terbatas, dan tentu saja, tidak mungkin menemukan semua kemungkinan bug sendiri.
Dalam hal pemeriksaan sistem keamanan informasi, tiket dan permintaan pelanggan ke dukungan teknis juga membantu jika memungkinkan untuk memproses komentar dan pesan pengguna secara efisien.
Secara paralel, kami berbicara dengan rekan kerja dan mengumpulkan pendapat ahli tentang bagaimana proses menemukan bug di perusahaan lain terstruktur. Berkat rekomendasinya, kami memutuskan untuk memperhatikan program Bug Bounty.
Meluncurkan Program Bug Bounty
Apa yang penting untuk dipertimbangkan di awal?
Ada banyak jenis perangkat lunak dan platform Bug Bounty.
Pada tahap pertama, kami memilih antara program publik dan swasta, memutuskan untuk fokus pada yang terakhir. Akses tidak dibatasi dalam program publik: setiap orang dapat mencari bug. Dalam program pribadi - atas undangan. Dalam kedua kasus tersebut, bug diungkapkan hanya dengan persetujuan para pihak. Kami memutuskan bahwa masih terlalu dini bagi kami untuk membuka program publik: pertama-tama, kami harus yakin bahwa layanan dan produk kami tidak mengandung kerentanan kritis.
Sedangkan untuk platform Bug Bounty sendiri, kami menganalisis opsi yang ada dan memilih yang paling cocok untuk kami, optimal dalam hal jumlah pemburu bug dan biaya layanan.
Berikut adalah daftar platform Bug Bounty paling terkenal di pasaran:
Kami juga harus menyebutkan platform Open Bug Bounty - platform Bug Bounty nirlaba yang menyatukan penggemar keamanan informasi dan mempopulerkan peretasan etis. Peneliti dapat melaporkan bug yang ditemukan dalam pekerjaan perangkat lunak apa pun, di mana perusahaan memberikan hadiah (pembayaran tunai, barang dagangan, diskon, atau produk mereka sendiri). Timeweb, misalnya, menyediakan hosting gratis bagi para pemburu bug. Harap dicatat bahwa menurut kebijakan Open Bug Bounty, Anda hanya dapat melaporkan bug yang tidak menyiratkan intervensi aktif, misalnya, Anda tidak dapat melaporkan RCE dan SQL.
Pertama-tama, kami membangun pekerjaan di dalam perusahaan: kami menentukan bagaimana departemen harus berinteraksi satu sama lain, siapa yang bertanggung jawab untuk memperbaiki bug, yang memantau pembaruan cakupan dan tanggapan terhadap laporan.
Sebelum memulai program, kami menyarankan Anda untuk memastikan bahwa Anda telah melakukan semua yang Anda bisa, menemukan semua kemungkinan bug sendiri. Penting juga untuk mengetahui bagian dalam dan luar produk yang Anda rencanakan untuk dimasukkan ke dalam karya baghunter: masalah apa yang ada sekarang, apa dulu; apakah kesalahan sistematis muncul. Informasi ini akan memungkinkan Anda untuk membentuk cakupan yang benar - secara ringkas, tetapi komprehensif, untuk memberikan data masukan dan menjelaskan permintaan pemburu bug.
Platform telah dipilih, persiapan telah dilakukan - kami mulai
Kami membentuk scop
Kami akan memberi tahu Anda apa yang kami pahami selama tahun keberadaan program
Scopes, yang diisi di platform Bug Bounty, semacam penawaran - kesepakatan antara perusahaan dan komunitas pemburu bag. Informasi berikut harus dimasukkan dalam ruang lingkup:
- tunjukkan tujuan: adanya efek berbahaya atau konsekuensi destruktif yang ingin kami periksa
- informasi tentang bug yang sudah diketahui, tidak relevan atau tidak menarik bagi perusahaan (tidak ada imbalan yang diberikan untuk menemukannya)
- aturan dan batasan untuk mencari kerentanan yang harus diikuti
- ukuran penghargaan.
Semakin banyak waktu yang Anda habiskan untuk mengamati, semakin baik. Usahakan untuk mengisi semua item dengan hati-hati dan detail, sehingga di masa depan Anda dapat menyelesaikan semua insiden berdasarkan informasi yang ditentukan.
Contoh bagian cakupan dengan konten poin pada contoh program kami saat ini:

Bagaimana Anda memilih mana yang akan diperiksa terlebih dahulu? Kami akan menyarankan Anda untuk memasukkan dalam program layanan atau aspek yang paling mungkin perlu diverifikasi. Tidak mungkin untuk segera memahami apa yang sebenarnya perlu dicari, Anda hanya dapat memilih arah, penting untuk menemukan poin yang paling bermasalah. Dengan setiap laporan baru dan setiap program baru, kami meningkatkan pengalaman kami dan lebih jelas memahami ke mana harus pergi selanjutnya.
Hingga saat ini, tidak semua layanan dan produk kami terdaftar di platform Bug Bounty. Ini dilakukan dengan sengaja, karena beberapa layanan, misalnya, dibuat berdasarkan solusi open source: tim pihak ketiga terlibat dalam pengembangan dan dukungan mereka, jadi kami yakin tidak masuk akal untuk memamerkannya dalam platform Bug Bounty kami, karena tim kami hanya memantau relevansinya layanan ini.
Perlu dipertimbangkan apakah Anda dapat mengubah produk yang termasuk dalam program Bug Bounty: apakah ada tim yang dapat mengembangkannya; apakah nuansa arsitektur memungkinkan.
Untuk bagian kami, selama program Bug Bounty, kami terus-menerus meneliti semua layanan dan jaringan sendiri. Ini memungkinkan kami untuk menghemat uang: kami memperbaiki bug yang ditemukan dan memperbarui cakupannya.
Komponen penting dari program ini adalah untuk menentukan tingkat keparahan kerentanan yang ditemukan dan menetapkan jumlah penghargaan. Cobalah untuk menangkap hubungan transparan antara tingkat keparahan kesalahan dan ukuran hadiah. Semakin transparan, semakin sedikit pertanyaan untuk Anda! Merupakan praktik yang baik untuk mengaitkan ukuran penghargaan dengan skala CVSS(standar terbuka untuk menilai kekritisan kerentanan). Selain itu, platform Bug Bounty biasanya menampilkan manual dan instruksi tentang cara menentukan jumlah hadiah. Manajer situs dapat membantu Anda dalam hal ini. Untuk menavigasi tingkat pembayaran untuk pekerjaan pemburu bug, Anda dapat membuka portal HeadHunter dan menganalisis gaji yang ditunjukkan. Jika peretas tidak lagi aktif, mungkin ada baiknya menaikkan hadiah.
Di Timeweb, kami secara independen menilai tingkat keparahan situasi tergantung pada dampaknya terhadap bisnis. Skala keparahan dampak bisnis kami mencakup 4 level:
- rendah (menerima informasi tidak penting tentang pengguna lain, misalnya, nama masuk atau kemampuan untuk mengubah avatar; serta pelanggaran integritas dan ketersediaan informasi ini)
- medium ( , , ; )
- high ( โโ ; : , , , ; )
- critical ( ; ).
Selain informasi yang diberikan di atas, kami melihat jenis kerentanan (RCE, XSS, injeksi SQL) dan pentingnya server yang diretas atau berhasil diakses.
Jadi, untuk menentukan tingkat keparahan bug yang ditemukan, kami menganalisis jenis kerentanan, pentingnya server, dan tingkat dampaknya terhadap perusahaan. Berdasarkan kriteria ini, kami menentukan level untuk setiap kerentanan yang ditemukan, yang menentukan besarnya remunerasi bagi pemburu bug. Namun, kami menambahkan bahwa tidak mungkin untuk memperhitungkan semuanya, dan seringkali ketika menentukan tingkat kekritisan dari bug yang ditemukan, seseorang tidak dapat melakukannya tanpa subjektivitas.
Penjelasan lebih rinci tentang proses penilaian tingkat keparahan kerentanan diberikan dalam tabel:

Tabel skor server / layanan

Garis Waktu Bug Bounty: Bagaimana Apakah Itu?
Program # 1
Melepaskan: Panel hosting Timeweb.ru Scop
: Scop disusun berdasarkan contoh dari perusahaan lain. Spoiler: Jangan Lakukan! Tapi kami harus mulai dari suatu tempat.
Hasil: Selama seminggu kami menerima 20 laporan, terutama dengan indikasi kerentanan kritis, dan ... menghabiskan semua uang yang kami masukkan ke akun (beberapa ribu dolar). Selama 7 hari ini, kami melihat pola masalah yang berulang: beberapa masalah dengan memfilter input dan menampilkan data, berbagai pelanggaran logika bisnis aplikasi, serta beberapa risiko lain untuk Sepuluh Besar OWASP. Kami memutuskan untuk menangguhkan program, dan untuk bulan berikutnya kami hanya memperbaiki bug yang ditemukan dan menganalisisnya.
Segera setelah kami menganalisis 20 laporan ini, kami memahami apa yang harus dilakukan selanjutnya: di mana harus menggali selama pengembangan, bagaimana bekerja dengan baik dengan keamanan.
Program # 2
Kami menyerah: Panel hosting Timeweb.ru (lagi)
Scop: Kami memperbaiki Scop berdasarkan laporan yang diterima sebelumnya: menghapus kerentanan tetap dan fokus pada apa yang menarik bagi kami.
Hasil: Kali ini kami menerima banyak laporan penting, namun lebih spesifik dan spesifik. Semua tugas Bug Bounty diidentifikasi sebagai mendesak. Berkat program kedua, kami telah menyesuaikan proses pengembangan dan perbaikan bug.
Program No. 3
Kami menyerah untuk merobek: panel VDS Timeweb.ru , periksasitus resmi
Hasil: Menerima sekitar 40 laporan dengan bug dengan berbagai tingkat keparahan.
Karena produk kami memiliki fungsi yang serupa, terkadang produk tidak hanya mewarisi fungsi, tetapi juga bug dari satu sama lain. Panel baru tersebut ternyata berisi bug yang telah ditemukan di program Bug Bounty sebelumnya. Bug seperti itu didaftarkan dalam cakupan sebagai duplikat, jadi kami tidak perlu membayarnya lagi.
Banyak masalah dengan formulir dan kerentanan XSS ditemukan di situs. Cakupan
Program # 4
: Tujuan utama dari program keempat adalah menemukan injeksi SQL.
Hasil:Sebelum meluncurkan program, kami mempelajari cara kerjanya secara mandiri, dan melakukan penelitian pada produk kami sendiri: kami hanya menemukan 1-2 kerentanan non-kritis. Dua minggu setelah peluncuran program ini di malam hari, kami menerima laporan yang telah lama ditunggu: pemburu bug mendemonstrasikan vektor serangan dengan efek merusak pada database penagihan menggunakan SQLi buta. Kami dapat dengan cepat menutup kerentanan ini dalam waktu 5 menit: kerentanan ini ada di versi global kernel sebelumnya, yang masih digunakan sebagai plugin untuk beberapa tindakan di panel kontrol versi global terbaru (hosting virtual, VDS, webmaster). Kami sangat senang bahwa kami dapat mendeteksi masalah yang begitu serius dan memperbaikinya tepat waktu. Antara lain, kami secara menyeluruh memeriksa semua bagian kode serupa lainnya dengan analogi.
Program # 5
Kami memberikannya kepada belas kasihan: Virtual hosting Timeweb
Virtual hosting, secara kasar, server fisik dibagi di antara ratusan klien. Klien menghosting aplikasi web dan direktori kerja mereka di server ini, memiliki akses SSH dan FTP ke server. Setiap klien kami memiliki kliennya sendiri. Pada server seperti itu, skrip layanan penyajian kami, layanan, dan penyesuaian lainnya sedang berjalan, yang berinteraksi dengan basis data dan layanan penyajian lainnya.
Cakupan:Tujuan utama pemburu bug di sini sederhana: menemukan vektor untuk meningkatkan hak istimewa ke root. Kami juga mengharapkan pencarian vektor pengaruh pada pengguna lain dan sumber daya mereka, pencarian vektor pengaruh pada skrip layanan kami dan pencarian vektor serangan pada server lain, baik virtual hosting dan server layanan, yang akan ada aksesibilitas hipotetis.
Hasil: Kami telah mengalokasikan server khusus tanpa klien untuk pemburu bug, serupa fungsinya dengan server produksi. Saat ini, pemburu bug hanya menemukan 10 bug. Dua laporan menunjukkan vektor serangan dengan eskalasi hak istimewa ke root, tetapi gagal menjangkau server lain. Masalah ini segera diperbaiki.
Sebelum meluncurkan program kelima, kami terjun ke dalam memperbarui server dan perangkat lunak, menangani kelemahan, menerapkan layanan layanan ke jaringan lokal yang tidak dapat diakses ke jaringan eksternal. Berkat program ini, kami memfaktorkan ulang sistem internal di server. Ini memungkinkan kami untuk melihat kesalahan bahkan sebelum mereka menulis kepada kami.
Dan kemana itu membawamu?
Tentang hasil program Bug Bounty
Selama hampir satu tahun program Bug Bounty, kami menerima 72 laporan. Dari jumlah tersebut, 36 laporan tidak memenuhi aturan lingkup kami. Namun, pemburu bug menemukan 7 kerentanan kritis, 9 bug tinggi dan 10 bug dengan tingkat keparahan sedang dan rendah.
Untuk mendapatkan hasil seperti itu, kami menghabiskan lebih dari $ 15.000 untuk remunerasi bagi pemburu bug (tidak termasuk biaya platform). Hadiah terkecil adalah $ 50 (untuk kerentanan yang memungkinkan Anda menerima informasi tentang metode pembayaran untuk setiap faktur melalui IDOR). Hadiah tertinggi yang dibayarkan sejauh ini adalah $ 1.500. Remunerasi rata-rata: sekitar $ 423.
Adapun hasil yang berkualitas: kami
menjaga nada otot IB
Karena program Bug Bounty menyiratkan pencarian bug yang terus-menerus dan terus menerus, tim keamanan informasi kami bersiaga 24/7.
Kami dapat mengatakan bahwa pemburu bug mensimulasikan tindakan peretas. Mereka menciptakan aktivitas "berbahaya" yang dikenai sanksi setiap hari, memaksa kita untuk tetap membuka mata dan menjaga kewaspadaan.
mengikuti tren
Baghunter menggunakan layanan baru, utilitas asing, dan teknik peretasan modern. Berkat ini, spesialis kami dapat memperbarui kompetensi dan pengetahuan mereka.
meningkatkan layanan dan produk
Keamanan informasi secara umum dan proses Bug Bounty pada khususnya selalu ditujukan untuk meningkatkan dan mengembangkan layanan dan produk untuk klien.
melibatkan komunitas ahli
Dalam implementasi keamanan informasi, tidak hanya admin internal kami yang dilibatkan, tetapi juga komunitas ahli yang berpengalaman dengan berbagai pengalaman dan pengetahuan.
Kami sering bertanya kepada para pemburu bug bagaimana mereproduksi bug yang ditemukan dan bahkan bagaimana memperbaikinya. Para spesialis siap untuk berkomunikasi langsung di Telegram, merekam video, dan kami sangat berterima kasih.
Kami mengamati disiplin
Bekerja dengan platform Bug Bounty, kami bertanggung jawab untuk menutup bug tidak hanya untuk diri kami sendiri dan klien, tetapi juga untuk pemburu bug, mereka menunggu umpan balik. Interaksi berlangsung sesuai dengan regulasi yang ditetapkan, kami harus memperbarui informasi secara berkala tentang laporan terkini.
Dalam 3 hari, kami harus menjawab bughunter atas laporannya: apakah kesalahan menemukan bug, berapa tingkat keparahannya. Tentu saja, kami dapat memberikan jawaban dalam waktu seminggu, tetapi perilaku ini tidak akan ramah peretas dan dapat menjauhkan pemburu bug.
Kami lebih memahami pengguna.
Pemburu Baghunter adalah pengguna dan pelanggan yang sama yang memberi kami pengalaman pengguna tertentu dalam hal keamanan informasi.
Apakah ada kehidupan setelah Bug Bounty?
Kami terus bekerja dengan program Bug Bounty pribadi dengan platform yang terbukti. Kami ingin membangun semua proses internal secara efisien untuk menutup dan memperbaiki bug. Segera setelah kami memahami bahwa pemburu bug yang saat ini berinteraksi dengan kami menjadi kurang aktif, kami akan mencoba pindah ke situs lain, termasuk situs Bug Bounty yang lebih besar untuk menerima lebih banyak laporan dan menemukan semua kemungkinan masalah.
Bidang pengembangan lain bagi kami adalah penerapan prinsip-prinsip pembangunan yang aman. Biasanya, pengembang melakukan pemrograman fungsional, dan keamanan mengambil tempat duduk belakang. Penting untuk menjadikan tinjauan keamanan kode sebagai bagian penting dari tinjauan kode apa pun.
Tim Timeweb mencoba memperkenalkan alat baru dan modern untuk mengaudit keamanan informasi layanan. Kami belajar tentang beberapa sumber daya melalui kerja sama dengan pemburu bag.
Secara bertahap, kami melibatkan staf dukungan teknis dalam memecahkan masalah keamanan informasi: kami melatih rekan kerja dan memperkuat tim.
Kami siap berbicara tentang program Bug Bounty tanpa batas waktu. Mungkin Anda masih memiliki pertanyaan untuk pakar kami - tulis di komentar, yang masih menarik dan bermanfaat untuk dibaca. Kami akan mencoba menjawab semua pertanyaan di bawah ini atau akan memberi tahu Anda lebih detail di artikel berikut.