Langkau ke kandungan

Imbas aplikasi anda untuk lubang keselamatan

RingkasnyaBuka Keselamatan dan klik Jalankan imbasan keselamatan. Dalam satu atau dua minit, MonstarX menyemak kod anda berdasarkan 33 peraturan, menguji aplikasi yang sedang berjalan sebagai orang luar, dan meminta AI membaca keseluruhan aplikasi. Anda mendapat gred A hingga F dan senarai dapatan, yang paling serius dahulu, setiap satu dengan lokasinya, sebab ia penting dan apa yang perlu diubah. Pilih dapatan yang hendak dibetulkan, dan MonstarX membetulkannya melalui binaan biasa, kemudian mengimbas semula. Anda boleh memuat turun keputusannya sebagai laporan.

Aplikasi yang ditulis dengan pantas cenderung terlalu mempercayai pelayar: fungsi yang boleh dipanggil oleh sesiapa sahaja, tempahan yang dicari menggunakan nombornya tanpa menyemak siapa pemiliknya, harga yang diambil daripada halaman. Penyerang mencari celah seperti inilah.

Tab Keselamatan membaca aplikasi anda seperti seorang penyerang, menyenaraikan apa yang ditemuinya bermula dengan yang paling serius, dan membantu anda membetulkannya. Anggaplah ia sebagai ujian penembusan kecil (semakan keselamatan di mana seseorang sengaja cuba menceroboh masuk) yang terbina dalam MonstarX.

Bagaimanakah saya menjalankan imbasan keselamatan?

Bahagian bertajuk “Bagaimanakah saya menjalankan imbasan keselamatan?”
  1. Buka projek anda dan klik Keselamatan di bar atas.

  2. Klik Jalankan imbasan keselamatan. Ia mengambil masa satu atau dua minit.

  3. Perhatikan tiga bahagian imbasan selesai satu demi satu. Anda boleh meninggalkan tab itu: imbasan berjalan pada pelayan MonstarX dan terus berjalan. Batal menghentikannya dan mengekalkan apa yang telah ditemui setakat itu.

Lencana tab Keselamatan di bar atas menunjukkan ikon berputar semasa imbasan berjalan, kemudian bilangan dapatan yang belum diselesaikan (diwarnakan mengikut yang paling serius) atau titik hijau apabila tiada apa-apa yang tertunggak. Untuk mengimbas lagi kemudian, klik Imbas semula di bahagian atas tab.

Imbasan mempunyai tiga bahagian:

BahagianFungsinyaKos
Pemeriksaan kod33 peraturan dijalankan pada setiap fail aplikasi anda: semakan log masuk yang tiada, rekod yang diubah tanpa menyemak pemiliknya, rahsia yang ditulis dalam kod, pertanyaan pangkalan data yang dibina daripada teks, HTML yang tidak selamat, muat naik yang tidak disemak, webhook yang tidak disahkan dan banyak lagi.Percuma
Ujian langsungPermintaan baca sahaja kepada aplikasi anda yang sedang berjalan, sebagai orang luar tanpa akaun: halaman yang dimaksudkan untuk orang yang sudah log masuk, laluan yang menjawab sesiapa sahaja, akses rentas laman, dan, bagi aplikasi yang diterbitkan, pengepala keselamatan serta fail yang tidak sepatutnya didedahkan.Percuma
Semakan AIModel AI membaca keseluruhan aplikasi anda bersama dapatan tadi, mengesahkan atau menolaknya, dan mencari perkara yang hanya ditemui dengan membaca, seperti harga yang dipercayai daripada halaman atau data yang dihantar oleh halaman tetapi tidak pernah dipaparkan.Menggunakan kredit, seperti permintaan Perbualan

Ujian langsung menggunakan aplikasi anda yang diterbitkan apabila ia dalam talian; jika tidak, pratonton digunakan. Keputusannya menyatakan yang mana satu diuji.

OWASP ialah organisasi bukan untung yang menerbitkan Top 10, senarai paling terkenal bagi jenis risiko keselamatan aplikasi web yang paling serius. Setiap dapatan dikelaskan di bawah salah satu daripadanya, supaya anda (atau pakar keselamatan) tahu jenis masalahnya:

Dalam bahasa mudah
A01 Kegagalan kawalan aksesSeseorang boleh melihat atau mengubah apa yang bukan miliknya.
A02 Kegagalan kriptografiRahsia atau kod disimpan atau dihasilkan dengan cara yang lemah.
A03 Suntikan kodTeks yang ditaip seseorang dijalankan sebagai arahan atau kod.
A04 Reka bentuk tidak selamatLogik aplikasi boleh disalahgunakan, seperti e-mel atau tempahan percuma tanpa had.
A05 Salah konfigurasi keselamatanTetapan terlalu terbuka, seperti pengepala keselamatan yang tiada.
A06 Komponen yang mempunyai kelemahan keselamatan dan sudah lapukPerisian lama yang mempunyai lubang yang diketahui.
A07 Kegagalan pengenalan dan pengesahanPengendalian log masuk atau sesi yang lemah.
A08 Kegagalan integriti perisian dan dataKod atau data dari luar dipercayai tanpa disemak.
A09 Kegagalan pengelogan dan pemantauan keselamatanRahsia terbocor ke dalam log, atau serangan tidak disedari.
A10 Pemalsuan permintaan sebelah pelayanAplikasi boleh dipaksa mengambil alamat yang dipilih oleh penyerang.

CWE (Common Weakness Enumeration) ialah katalog bernombor bagi kelemahan tertentu, seperti CWE-639: rekod yang dicari menggunakan ID yang dikawal oleh pengguna. Setiap dapatan dipautkan kepada kategori OWASP-nya dan, jika ada, halaman CWE-nya, supaya anda boleh membaca lebih lanjut.

Di bahagian atas, anda melihat skor daripada 100 dengan gred dari A hingga F, dapatan yang belum diselesaikan mengikut tahap keterukan, apa yang diimbas dan diuji, kos semakan AI, dan ringkasan semakan itu dalam beberapa ayat.

Skor bermula pada 100 dan ditolak 40 bagi setiap dapatan Kritikal, 15 bagi setiap Tinggi, 5 bagi setiap Sederhana dan 1 bagi setiap Rendah. Gred itu memberitahu langkah seterusnya:

GredSkorMaksud
A90–100Tiada perkara serius ditemui.
B75–89Beberapa perkara perlu dikemaskan.
C55–74Betulkan dapatan berisiko tinggi sebelum lebih ramai orang menggunakan aplikasi.
D35–54Kelemahan serius: betulkan sebelum diterbitkan.
F0–34Aplikasi terdedah kepada serangan dalam keadaannya sekarang.

Setiap dapatan menunjukkan tahap keterukan, tajuk, kategori OWASP, CWE, asal-usulnya (Pemeriksaan kod, Ujian langsung atau Semakan AI), tahap keyakinan imbasan (Disahkan, Berkemungkinan atau Perlu disemak) serta fail dan barisnya. Klik satu untuk membukanya:

  • Kod di sekitar baris itu, dengan baris tersebut ditanda.
  • Apa yang salah, Mengapa ia penting dan Apa yang perlu diubah, dalam bahasa mudah.
  • Nota Semakan AI: sama ada ia mengesahkan dapatan itu dan bagaimana.
  • Buka dalam Kod membawa anda ke fail itu dalam tab Kod.

Apabila semakan AI menganggap sesuatu dapatan sebagai penggera palsu, ia memaparkan Semakan AI: mungkin bukan masalah sebenar. Dapatan itu kekal dalam senarai, di tempat terakhir, tetapi tidak dikira dalam skor.

Di bawah senarai, Apa yang disemak membuka setiap semakan yang dijalankan, dikumpulkan mengikut kategori OWASP, dengan tanda betul, bilangan dapatan, atau sebab ia dilangkau.

Bagaimanakah saya membetulkan apa yang ditemuinya?

Bahagian bertajuk “Bagaimanakah saya membetulkan apa yang ditemuinya?”
  1. Tandakan dapatan yang anda mahu dibetulkan, atau klik Pilih semua. Butang Betulkan 2 dapatan muncul. Butang itu kekal kelabu semasa binaan sedang berjalan.

  2. Klik butang itu. MonstarX memberitahu apa yang akan berlaku, kemudian klik Betulkan 2 dapatan sekali lagi.

  3. Setiap dapatan menjadi tugas dalam rancangan ciri anda (Keselamatan: …; apabila rancangan hampir penuh, semuanya berkongsi satu tugas) dan satu permintaan binaan dihantar ke perbualan, ditanda dengan lencana Keselamatan. Ia berjalan seperti mana-mana permintaan, menyimpan versi, dan QA mungkin menguji aplikasi selepas itu.

  4. Apabila binaan selesai, imbasan dijalankan semula dengan sendirinya. Dapatan yang sudah hilang dipaparkan sebagai selesai (2 dibetulkan oleh pembina MonstarX). Dapatan yang masih ada kembali dengan tanda Masih wujud selepas pembetulan.

Bagaimana jika sesuatu dapatan bukan masalah sebenar?

Bahagian bertajuk “Bagaimana jika sesuatu dapatan bukan masalah sebenar?”

Buka dapatan itu dan klik Ketepikan, kemudian nyatakan sebabnya:

  • Bukan masalah sebenar
  • Risiko yang diterima: anda tahu tentangnya dan menerimanya.
  • Dikendalikan dengan cara lain

Dapatan yang anda ketepikan berpindah ke senarai Diketepikan dan kekal di situ dalam setiap imbasan seterusnya, walaupun kod lain berubah. Klik Kembalikan untuk memasukkannya semula ke dalam senarai.

Bagaimanakah saya memuat turun laporan keselamatan?

Bahagian bertajuk “Bagaimanakah saya memuat turun laporan keselamatan?”

Klik Muat turun laporan di bahagian bawah keputusan. Anda mendapat fail Markdown (dokumen teks biasa yang boleh dibuka dalam mana-mana editor), dinamakan mengikut projek anda, seperti paws-co-booking-security-report.md. Bentuknya seperti laporan ujian penembusan:

  • Skop dan kaedah: berapa banyak peraturan dijalankan pada berapa banyak fail, apa yang diuji, dan apa yang dilakukan oleh semakan AI.
  • Ringkasan: skor, dapatan yang belum diselesaikan mengikut tahap keterukan dan ringkasan semakan.
  • Dapatan: setiap satu dengan pautan OWASP dan CWE, lokasinya, kodnya, apa yang salah, mengapa ia penting dan apa yang perlu diubah.
  • Selesai sejak imbasan sebelum ini, dan Diketepikan oleh pemiliknya, beserta sebab anda.
  • Semakan: setiap semakan dengan keputusannya.

Laporan ini berguna untuk dikongsi dengan pembangun, pelanggan atau juruaudit. Ia tersedia sebaik sahaja imbasan berhenti berjalan.

Adakah imbasan percuma?

Pemeriksaan kod dan ujian langsung tidak dikenakan bayaran. Semakan AI menggunakan kredit, seperti permintaan Perbualan, dan keputusannya menunjukkan kosnya. Membetulkan dapatan menggunakan kredit seperti mana-mana binaan.

Adakah gred yang baik bermakna aplikasi saya selamat?

Tiada imbasan yang boleh menjanjikannya. Imbasan menemui apa yang dapat dilihat oleh peraturan, ujian dan semakannya. Betulkan dapatan kritikal dan tinggi dahulu, imbas semula, dan minta seseorang menyemak apa-apa yang mengendalikan wang atau data peribadi sebelum ramai orang menggunakan aplikasi itu.

Perlukah saya mengimbas sebelum atau selepas menerbitkan?

Kedua-duanya. Imbas sebelum anda menerbitkan untuk menangkap lubang besar. Imbas semula setelah aplikasi dalam talian: sesetengah semakan, seperti pengepala keselamatan dan fail yang tidak sepatutnya didedahkan, hanya dijalankan pada aplikasi yang diterbitkan.

Bolehkah orang yang saya jemput ke projek melihat imbasan?

Tidak. Imbasan menyenaraikan setiap titik lemah, jadi hanya pemilik yang melihat tab Keselamatan.

Adakah imbasan menyemak kod log masuk dan pangkalan data MonstarX sendiri?

Tidak. Bahagian itu sama dalam setiap aplikasi dan diselenggara oleh MonstarX. Imbasan menyemak kod yang ditulis untuk aplikasi anda, dan aplikasi anda yang sedang berjalan.

Apakah yang berlaku jika binaan sedang berjalan apabila saya memulakan imbasan?

Imbasan menunggu binaan selesai (sehingga 10 minit), supaya ia menyemak kod yang sudah siap.