it-swarm-id.com

Bagaimana cara melakukan audit keamanan untuk aplikasi PHP?

Saya memiliki aplikasi PHP yang saya ingin diaudit untuk keamanan. Saya akrab dengan sebagian besar masalah keamanan umum, tetapi ingin memastikan saya tidak melewatkan apa pun.

Langkah apa yang harus saya ambil untuk melakukan audit mandiri? Alat apa yang tersedia? Apa cara terbaik untuk menemukan auditor pihak ketiga? Ada rekomendasi?

Tertarik pada audit whitebox/codereview dan blackbox/pentest?

44
VirtuosiMedia
27
M.S. Dousti

Anda harus mulai dengan proxy web interaktif apa pun, seperti proxy sendawa, paro, dll.
Saya sendiri, saya tidak setuju dengan Fiddler . Alat apa pun yang Anda pilih, ini memungkinkan Anda memeriksa semua aliran permintaan/respons, dan berinteraksi dengan permintaan pasca-javascript. Tempat yang bagus untuk memulai.

Akhirnya, saya bayangkan crawler kode OWASP akan mendukung PHP juga ... meskipun saat ini saya tidak terbiasa dengan alat otomatis gratis untuk ini. Hanya bola mata manual untuk sekarang...
Tentu saja Anda dapat memilih salah satu vendor besar, mis. Fortify, Ounce Labs, dll - tapi itu cukup mahal dan kaleng cacing lain ...

11
AviD
6
Nev Stokes

Ada banyak alat dan itu benar-benar preferensi pribadi pada apa yang akan digunakan untuk pentest. Jadi cobalah semua yang disebutkan oleh saya dan orang lain dan pilih yang paling cocok untuk Anda.

Untuk ulasan kode keamanan (uji whitebox), saya sarankan menggunakan ROBEKAN . Itu yang terbaik di antara yang saya coba.

Untuk melakukan beberapa pengujian blackbox, Anda tentu memerlukan beberapa proxy yang memotong. Ada banyak dari itu, tapi saya sarankan Anda melihat Fiddler jika Anda menggunakan Windows. Burp / WebScarab / Proxy Serangan Zed juga bagus. Jika Anda ingin mengotomatisasi beberapa tes injeksi, ambil beberapa muatan umum dari fuzzdb .

Selain itu, buat diri Anda terbiasa dengan add-on browser seperti Firebug dan Chrome Alat Pengembang, mereka sangat membantu.

Terakhir, coba bookmark dari Buka Koleksi Bookmark Pengujian Penetrasi . Ini daftar besar (hanya agar Anda tahu berapa banyak alat yang ada), tetapi ada banyak permata di dalamnya.

6

Jika Anda ingin memastikan Anda tidak melewatkan apa pun, cara terbaik adalah meminta seorang ahli untuk melihatnya. Terlalu banyak masalah muncul di situs web di mana pengembang sama sekali tidak menyadari bahwa mereka tidak mengikuti praktik terbaik, atau gagal memahami bahwa praktik "aman" yang umum tidak benar-benar aman sama sekali! (mis. "Saya tidak perlu parameterisasi SQL saya selama saya mengganti tanda kutip tunggal dengan tanda kutip tunggal backslash, kan !?").

Jika Anda adalah perusahaan, sewalah perusahaan pentesting eksternal untuk melakukan uji coba aplikasi Anda. Mereka tidak terlalu mahal, dan mereka akan menemukan sebagian besar masalah. Tentu saja lebih murah bagi perusahaan untuk menyewa perusahaan pentesting daripada membuang-buang waktu melatih anggota staf dengan gaji penuh bagaimana menemukan beberapa bug, dan itu tentu saja lebih murah daripada mencoba untuk membangun kembali perusahaan Anda setelah pelanggaran besar data pelanggan.

3
SecurityMatt