Graudit ngadukung sababaraha basa pamrograman sareng ngamungkinkeun anjeun ngahijikeun tés kaamanan basis kode langsung kana prosés pamekaran.
sumber:
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
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
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
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.
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:
Anjeun tiasa nyobian nguji proyék anjeun dina cara anu sami. Anjeun tiasa ningali daptar pangkalan data pikeun basa program anu béda
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
sumber: www.habr.com