Graudit ndhukung macem-macem basa pamrograman lan ngidini sampeyan nggabungake tes keamanan codebase langsung menyang proses pangembangan.
Source:
Tes minangka bagean penting saka siklus urip pangembangan piranti lunak. Ana macem-macem jinis tes, saben-saben ngrampungake masalah dhewe. Dina iki aku arep ngomong babagan nemokake masalah keamanan ing kode.
Temenan, ing kasunyatan modern pangembangan piranti lunak, penting kanggo njamin keamanan proses. Ing sawijining wektu, istilah khusus DevSecOps malah dikenalake. Istilah iki nuduhake serangkaian prosedur sing dituju kanggo ngenali lan ngilangi kerentanan ing aplikasi. Ana solusi open source khusus kanggo mriksa kerentanan miturut standar
Ana macem-macem pendekatan kanggo ngrampungake masalah keamanan, kayata Pengujian Keamanan Aplikasi Statis (SAST), Pengujian Keamanan Aplikasi Dinamis (DAST), Pengujian Keamanan Aplikasi Interaktif (IAST), Analisis Komposisi Perangkat Lunak, lan liya-liyane.
Pengujian keamanan aplikasi statis ngenali kesalahan ing kode sing wis ditulis. Pendekatan iki ora mbutuhake aplikasi kanggo mbukak, mulane diarani analisis statis.
Aku bakal fokus ing analisis kode statis lan nggunakake alat open source prasaja kanggo nduduhake kabeh ing laku.
Napa aku milih alat open source kanggo analisis keamanan kode statis
Ana sawetara alasan kanggo iki: pisanan, gratis amarga sampeyan nggunakake alat sing dikembangake dening komunitas wong sing duwe pikiran sing padha sing pengin mbantu pangembang liyane. Yen sampeyan duwe tim cilik utawa wiwitan, sampeyan duwe kesempatan sing apik kanggo ngirit dhuwit kanthi nggunakake piranti lunak open source kanggo nguji keamanan basis kode sampeyan. Kapindho, ora mbutuhake sampeyan nyewa tim DevSecOps sing kapisah, luwih nyuda biaya sampeyan.
Piranti open source sing apik mesthi digawe kanthi njupuk syarat tambah kanggo keluwesan. Mulane, padha bisa digunakake ing meh wae lingkungan, kalebu sawetara saka sudhut tugas. Iku luwih gampang kanggo pangembang kanggo nyambungake piranti kasebut karo sistem sing wis dibangun nalika nggarap proyek.
Nanging bisa uga ana wektu yen sampeyan butuh fitur sing ora kasedhiya ing alat sing sampeyan pilih. Ing kasus iki, sampeyan duwe kesempatan kanggo garpu kode lan ngembangake alat sampeyan dhewe adhedhasar fungsi sing dibutuhake.
Amarga ing pirang-pirang kasus pangembangan piranti lunak sumber terbuka kanthi aktif dipengaruhi dening komunitas, keputusan kanggo nggawe owah-owahan ditindakake kanthi cepet lan langsung menyang titik: pangembang proyek sumber terbuka gumantung marang umpan balik lan saran saka pangguna, ing laporan babagan kesalahan ketemu lan masalah liyane.
Nggunakake Graudit kanggo Analisis Keamanan Kode
Sampeyan bisa nggunakake macem-macem alat open source kanggo analisis kode statis; ora ana alat universal kanggo kabeh basa program. Pangembang sawetara saka wong-wong mau ngetutake rekomendasi OWASP lan nyoba nutupi akeh basa sing bisa.
Kene kita bakal nggunakake
Ana alat sing padha kanggo analisis kode statis - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), flawfinder lan liya-liyane. Nanging Graudit fleksibel banget lan nduweni syarat teknis minimal. Nanging, sampeyan bisa uga duwe masalah sing Graudit ora bisa ngatasi. Banjur sampeyan bisa nggoleki opsi liyane ing kene
Kita bisa nggabungake alat iki menyang proyek tartamtu, utawa kasedhiya kanggo pangguna sing dipilih, utawa digunakake bebarengan ing kabeh proyek kita. Iki uga dadi keluwesan Graudit. Dadi ayo tiron repo dhisik:
$ git clone https://github.com/wireghoul/graudit
Saiki ayo nggawe link simbolis kanggo Graudit kanggo nggunakake ing format printah
$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit
Ayo nambah alias menyang .bashrc (utawa file konfigurasi apa wae sing sampeyan gunakake):
#------ .bashrc ------
alias graudit="~/bin/graudit"
Urip maneh:
$ source ~/.bashrc # OR
$ exex $SHELL
Ayo priksa manawa instalasi wis sukses:
$ graudit -h
Yen sampeyan ndeleng sing padha, mula kabeh apik.
Aku bakal nyoba salah sawijining proyek sing wis ana. Sadurunge mbukak alat kasebut, kudu ngliwati basis data sing cocog karo basa sing ditulis proyekku. Basis data dumunung ing folder ~/gradit/signatures:
$ graudit -d ~/gradit/signatures/js.db
Dadi, aku nguji rong file js saka proyekku, lan Graudit nampilake informasi babagan kerentanan ing kodeku menyang konsol:
Sampeyan bisa nyoba nguji proyek kanthi cara sing padha. Sampeyan bisa ndeleng dhaptar database kanggo macem-macem basa program
Kaluwihan lan cacat Graudit
Graudit ndhukung akeh basa pamrograman. Mulane, iku cocok kanggo sawetara saka sudhut pangguna. Bisa saingan karo analog gratis utawa mbayar. Lan penting banget yen dandan isih ditindakake kanggo proyek kasebut, lan komunitas ora mung mbantu para pangembang, nanging uga pangguna liyane sing nyoba ngerteni alat kasebut.
Iki minangka alat sing praktis, nanging nganti saiki ora bisa nemtokake persis apa masalahe karo potongan kode sing curiga. Pangembang terus nambah Graudit.
Nanging ing kasus apa wae, migunani kanggo menehi perhatian marang masalah keamanan potensial ing kode nalika nggunakake alat kaya iki.
Wiwit ...
Ing artikel iki, aku ndeleng mung salah siji saka akeh cara kanggo nemokake kerentanan - static application security testing . Nindakake analisis kode statis gampang, nanging mung wiwitan. Kanggo sinau luwih lengkap babagan keamanan basis kode, sampeyan kudu nggabungake jinis tes liyane menyang siklus urip pangembangan piranti lunak.
Ing Hak Iklan
Source: www.habr.com