Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen

Mae Graudit yn cefnogi ieithoedd rhaglennu lluosog ac yn caniatáu ichi integreiddio profion diogelwch codebase yn uniongyrchol i'r broses ddatblygu.

Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen
Ffynhonnell: Unsplash (Markus Spiske)

Mae profi yn rhan bwysig o gylch bywyd datblygu meddalwedd. Mae yna lawer o fathau o brofion, mae pob un ohonynt yn datrys ei broblem ei hun. Heddiw, rwyf am siarad am ddod o hyd i broblemau diogelwch mewn cod.

Yn amlwg, yn realiti modern datblygu meddalwedd, mae'n bwysig sicrhau diogelwch prosesau. Ar un adeg, cyflwynwyd y term arbennig DevSecOps hyd yn oed. Mae'r term hwn yn cyfeirio at gyfres o weithdrefnau sydd wedi'u hanelu at nodi a dileu gwendidau mewn cais. Mae yna atebion ffynhonnell agored arbenigol ar gyfer gwirio gwendidau yn unol â safonau OWASP, sy'n disgrifio'r gwahanol fathau ac ymddygiad o wendidau yn y cod ffynhonnell.

Mae yna wahanol ddulliau o ddatrys problemau diogelwch, megis Profi Diogelwch Cymhwysiad Statig (SAST), Profi Diogelwch Cymhwysiad Deinamig (DAST), Profi Diogelwch Cymhwysiad Rhyngweithiol (IAST), Dadansoddiad o Gyfansoddiad Meddalwedd, ac ati.

Mae profion diogelwch cymhwysiad statig yn nodi gwallau yn y cod a ysgrifennwyd eisoes. Nid yw'r dull hwn yn ei gwneud yn ofynnol i'r cais redeg, a dyna pam y'i gelwir yn ddadansoddiad statig.

Byddaf yn canolbwyntio ar ddadansoddi cod statig ac yn defnyddio offeryn ffynhonnell agored syml i ddangos popeth yn ymarferol.

Pam dewisais offeryn ffynhonnell agored ar gyfer dadansoddi diogelwch cod statig

Mae yna nifer o resymau am hyn: yn gyntaf, mae am ddim oherwydd eich bod yn defnyddio teclyn a ddatblygwyd gan gymuned o bobl o'r un anian sydd eisiau helpu datblygwyr eraill. Os oes gennych chi dîm bach neu gwmni cychwynnol, mae gennych chi gyfle gwych i arbed arian trwy ddefnyddio meddalwedd ffynhonnell agored i brofi diogelwch eich sylfaen cod. Yn ail, mae'n dileu'r angen i chi logi tîm DevSecOps ar wahân, gan leihau eich costau ymhellach.

Mae offer ffynhonnell agored da bob amser yn cael eu creu gan ystyried gofynion cynyddol am hyblygrwydd. Felly, gellir eu defnyddio mewn bron unrhyw amgylchedd, gan gwmpasu ystod eang o dasgau. Mae'n llawer haws i ddatblygwyr gysylltu offer o'r fath â'r system y maent eisoes wedi'i hadeiladu wrth weithio ar eu prosiectau.

Ond efallai y bydd adegau pan fyddwch angen nodwedd nad yw ar gael yn yr offeryn a ddewiswch. Yn yr achos hwn, mae gennych gyfle i fforchio ei god a datblygu'ch teclyn eich hun yn seiliedig arno gyda'r ymarferoldeb sydd ei angen arnoch.

Gan fod datblygiad meddalwedd ffynhonnell agored yn cael ei ddylanwadu'n weithredol gan y gymuned yn y rhan fwyaf o achosion, mae'r penderfyniad i wneud newidiadau yn cael ei wneud yn eithaf cyflym ac i'r pwynt: mae datblygwyr y prosiect ffynhonnell agored yn dibynnu ar adborth ac awgrymiadau gan ddefnyddwyr, ar eu hadroddiadau o gwallau a ddarganfuwyd a phroblemau eraill.

Defnyddio Graudit ar gyfer Dadansoddi Diogelwch Cod

Gallwch ddefnyddio offer ffynhonnell agored amrywiol ar gyfer dadansoddi cod statig; nid oes offeryn cyffredinol ar gyfer pob iaith raglennu. Mae datblygwyr rhai ohonynt yn dilyn argymhellion OWASP ac yn ceisio cwmpasu cymaint o ieithoedd â phosibl.

Yma byddwn yn defnyddio Graudit, cyfleustodau llinell orchymyn syml a fydd yn ein galluogi i ddod o hyd i wendidau yn ein cod sylfaen. Mae'n cefnogi gwahanol ieithoedd, ond mae eu set yn gyfyngedig o hyd. Datblygir Graudit yn seiliedig ar y cyfleustodau grep cyfleustodau, a ryddhawyd unwaith o dan y drwydded GNU.

Mae yna offer tebyg ar gyfer dadansoddi cod statig - Offeryn Archwilio Rough ar gyfer Diogelwch (RATS), Offeryn Dadansoddi Cymwysiadau Gwe Securitycompass (SWAAT), flawfinder ac yn y blaen. Ond mae Graudit yn hyblyg iawn ac ychydig iawn o ofynion technegol sydd ganddo. Fodd bynnag, efallai y bydd gennych broblemau na all Graudit eu datrys. Yna gallwch chwilio am opsiynau eraill yma ar y rhestr hon.

Gallwn integreiddio'r offeryn hwn i mewn i brosiect penodol, neu ei wneud ar gael i ddefnyddiwr dethol, neu ei ddefnyddio ar yr un pryd yn ein holl brosiectau. Dyma hefyd lle mae hyblygrwydd Graudit yn dod i rym. Felly gadewch i ni glonio'r repo yn gyntaf:

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

Nawr, gadewch i ni greu cyswllt symbolaidd i Graudit ei ddefnyddio mewn fformat gorchymyn

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

Gadewch i ni ychwanegu alias i .bashrc (neu ba bynnag ffeil ffurfweddu rydych chi'n ei defnyddio):

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

Ailgychwyn:

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

Gadewch i ni wirio a oedd y gosodiad yn llwyddiannus:

$ graudit -h

Os gwelwch rywbeth tebyg, yna mae popeth yn iawn.

Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen

Byddaf yn profi un o fy mhrosiectau presennol. Cyn rhedeg yr offeryn, mae angen ei basio cronfa ddata sy'n cyfateb i'r iaith y mae fy mhrosiect wedi'i ysgrifennu. Mae'r cronfeydd data wedi'u lleoli yn y ffolder ~/gradit/signatures:

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

Felly, profais ddwy ffeil js o fy mhrosiect, a dangosodd Graudit wybodaeth am wendidau yn fy nghod i'r consol:

Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen

Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen

Gallwch geisio profi eich prosiectau yn yr un modd. Gallwch weld rhestr o gronfeydd data ar gyfer gwahanol ieithoedd rhaglennu yma.

Manteision ac Anfanteision Graudit

Mae Graudit yn cefnogi llawer o ieithoedd rhaglennu. Felly, mae'n addas ar gyfer ystod eang o ddefnyddwyr. Gall gystadlu'n ddigonol ag unrhyw analogau am ddim neu â thâl. Ac mae'n bwysig iawn bod gwelliannau'n dal i gael eu gwneud i'r prosiect, ac mae'r gymuned nid yn unig yn helpu'r datblygwyr, ond hefyd defnyddwyr eraill sy'n ceisio darganfod yr offeryn.

Mae hwn yn arf defnyddiol, ond hyd yn hyn ni all bob amser nodi'n union beth yw'r broblem gyda darn amheus o god. Mae'r datblygwyr yn parhau i wella Graudit.

Ond mewn unrhyw achos, mae'n ddefnyddiol talu sylw i broblemau diogelwch posibl yn y cod wrth ddefnyddio offer fel hyn.

Yn dechrau ...

Yn yr erthygl hon, edrychais ar un yn unig o lawer o ffyrdd o ddod o hyd i wendidau - profion diogelwch cymwysiadau statig. Mae cynnal dadansoddiad cod statig yn hawdd, ond dim ond y dechrau ydyw. I ddysgu mwy am ddiogelwch eich sylfaen cod, mae angen i chi integreiddio mathau eraill o brofion i'ch cylch bywyd datblygu meddalwedd.

Ar Hawliau Hysbysebu

VPS dibynadwy a bydd y dewis cywir o gynllun tariff yn caniatáu i chi gael eich tynnu'n llai oddi wrth ddatblygiad gan broblemau annymunol - bydd popeth yn gweithio heb fethiannau a chyda uptime uchel iawn!

Sut i ddefnyddio cyfleustodau syml i ddod o hyd i wendidau yng nghod y rhaglen

Ffynhonnell: hab.com

Ychwanegu sylw