Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program

Graudit ngadukung sababaraha basa pamrograman sareng ngamungkinkeun anjeun ngahijikeun tés kaamanan basis kode langsung kana prosés pamekaran.

Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program
sumber: Unsplash (Markus Spiske)

Tés mangrupa bagian penting tina siklus hirup ngembangkeun software. Aya seueur jinis tés, masing-masing ngarengsekeun masalahna sorangan. Dinten ieu abdi hoyong ngobrol ngeunaan manggihan masalah kaamanan dina kode.

Jelas, dina realitas modern pangwangunan software, hal anu penting pikeun mastikeun kaamanan prosés. Dina hiji waktos, istilah khusus DevSecOps malah diwanohkeun. Istilah ieu nujul kana runtuyan prosedur anu ditujukeun pikeun ngaidentipikasi sareng ngaleungitkeun kerentanan dina aplikasi. Aya solusi open source khusus pikeun mariksa kerentanan saluyu sareng standar OWASP, nu ngajelaskeun tipena béda jeung kabiasaan vulnerabilities dina kode sumber.

Aya sababaraha pendekatan pikeun ngarengsekeun masalah kaamanan, sapertos Uji Kaamanan Aplikasi Statis (SAST), Uji Kaamanan Aplikasi Dinamis (DAST), Uji Kaamanan Aplikasi Interaktif (IAST), Analisis Komposisi Perangkat Lunak, sareng sajabana.

Uji kaamanan aplikasi statik ngidentipikasi kasalahan dina kode anu parantos ditulis. Pendekatan ieu henteu ngabutuhkeun aplikasi pikeun ngajalankeun, naha éta disebut analisis statik.

Kuring gé difokuskeun analisis kode statik sarta ngagunakeun alat open source basajan pikeun demonstrate sagalana dina prakna.

Naha kuring milih alat open source pikeun analisis kaamanan kode statik

Aya sababaraha alesan pikeun ieu: kahiji, éta gratis sabab anjeun nganggo alat anu dikembangkeun ku komunitas jalma anu resep anu hoyong ngabantosan pamekar sanés. Upami Anjeun gaduh tim leutik atawa ngamimitian, Anjeun gaduh kasempetan gede pikeun nyimpen duit ku ngagunakeun software open source pikeun nguji kaamanan codebase Anjeun. Kadua, éta ngaleungitkeun kabutuhan anjeun pikeun nyewa tim DevSecOps anu misah, teras ngirangan biaya anjeun.

Alat open source anu saé sok diciptakeun kalayan merhatikeun sarat pikeun kalenturan. Ku alatan éta, maranéhna bisa dipaké dina ampir sagala lingkungan, ngawengku rupa-rupa tugas. Éta langkung gampang pikeun pamekar pikeun nyambungkeun alat-alat sapertos kitu sareng sistem anu aranjeunna parantos diwangun nalika damel dina proyék-proyékna.

Tapi meureun aya waktos nalika anjeun peryogi fitur anu henteu sayogi dina alat anu anjeun pilih. Dina hal ieu, anjeun boga kasempetan pikeun garpu kode sarta ngamekarkeun alat Anjeun sorangan dumasar kana eta kalawan fungsionalitas nu peryogi.

Kusabab dina kalolobaan kasus ngembangkeun software open source aktip dipangaruhan ku masarakat, kaputusan pikeun nyieun parobahan dijieun cukup gancang sarta nepi ka titik: pamekar proyék open source ngandelkeun eupan balik sarta saran ti pamaké, dina laporan maranéhanana ngeunaan kasalahan kapanggih jeung masalah séjén.

Ngagunakeun Graudit pikeun Analisis Kaamanan Kode

Anjeun tiasa nganggo sababaraha alat open source pikeun analisis kode statik; teu aya alat universal pikeun sadaya basa program. Pamekar sababaraha di antarana nuturkeun saran OWASP sareng nyobian nutupan saloba-lobana basa.

Di dieu urang bakal ngagunakeun Graudit, utilitas garis paréntah saderhana anu bakal ngamungkinkeun urang mendakan kerentanan dina basis kode urang. Ieu ngarojong basa béda, tapi tetep set maranéhanana diwatesan. Graudit dikembangkeun dumasar kana utilitas utilitas grep, anu sakali dileupaskeun dina lisénsi GNU.

Aya alat anu sami pikeun analisis kode statik - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), flawfinder sareng saterasna. Tapi Graudit pisan fléksibel sareng gaduh syarat téknis minimal. Nanging, anjeun tiasa gaduh masalah anu teu tiasa direngsekeun ku Graudit. Teras anjeun tiasa milarian pilihan sanés di dieu dina daptar ieu.

Urang tiasa ngahijikeun alat ieu kana proyék khusus, atanapi janten sayogi pikeun pangguna anu dipilih, atanapi nganggo sakaligus dina sadaya proyék kami. Ieu ogé dimana kalenturan Graudit asalna kana antrian. Janten hayu urang clone repo heula:

$ git clone https://github.com/wireghoul/graudit

Ayeuna hayu urang nyiptakeun tautan simbolis pikeun Graudit pikeun ngagunakeunana dina format paréntah

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

Hayu urang tambahkeun alias ka .bashrc (atanapi file konfigurasi naon waé anu anjeun anggo):

#------ .bashrc ------
alias graudit="~/bin/graudit"

Reboot:

$ source ~/.bashrc # OR
$ exex $SHELL

Hayu urang pariksa naha pamasangan éta suksés:

$ graudit -h

Upami anjeun ningali anu sami, maka sadayana henteu kunanaon.

Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program

Kuring bakal nguji salah sahiji proyék kuring aya. Saméméh ngajalankeun alat, éta perlu diliwatan database pakait jeung basa nu proyék kuring ditulis. Basis data aya dina folder ~/gradit/signatures:

$ graudit -d ~/gradit/signatures/js.db

Janten, kuring nguji dua file js tina proyék kuring, sareng Graudit nampilkeun inpormasi ngeunaan kerentanan dina kode kuring ka konsol:

Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program

Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program

Anjeun tiasa nyobian nguji proyék anjeun dina cara anu sami. Anjeun tiasa ningali daptar pangkalan data pikeun basa program anu béda di dieu.

Kaunggulan jeung kalemahan Graudit

Graudit ngadukung seueur basa pamrograman. Ku alatan éta, éta cocog pikeun rupa-rupa pamaké. Éta tiasa cekap bersaing sareng analog gratis atanapi anu mayar. Sareng penting pisan yén perbaikan masih dilakukeun pikeun proyék éta, sareng masarakat henteu ngan ukur ngabantosan pamekar, tapi ogé pangguna sanés anu nyobian terang alat éta.

Ieu mangrupikeun alat anu gunana, tapi dugi ka ayeuna henteu tiasa nunjukkeun persis naon masalahna ku potongan kode anu curiga. Pamekar terus ningkatkeun Graudit.

Tapi dina sagala hal, éta mangpaat pikeun nengetan masalah kaamanan poténsial dina kode nalika ngagunakeun parabot kawas ieu.

Dimimitian ...

Dina artikel ieu, kuring nempo ngan salah sahiji loba cara pikeun manggihan vulnerabilities - static application security testing . Ngalaksanakeun analisis kode statik gampang, tapi éta ngan awal. Pikeun leuwih jéntré ngeunaan kaamanan basis kode anjeun, anjeun kedah ngahijikeun jinis tés anu sanés kana siklus pangembangan software anjeun.

salaku iklan

VPS dipercaya sareng pilihan rencana tarif anu leres bakal ngamungkinkeun anjeun kirang ngaganggu tina pangwangunan ku masalah anu teu pikaresepeun - sadayana bakal jalan tanpa gagal sareng waktos anu luhur pisan!

Kumaha ngagunakeun utilitas saderhana pikeun mendakan kerentanan dina kode program

sumber: www.habr.com

Tambahkeun komentar