Graudit styður mörg forritunarmál og gerir þér kleift að samþætta kóðabasa öryggisprófun beint inn í þróunarferlið.
Heimild:
Prófun er mikilvægur hluti af lífsferli hugbúnaðarþróunar. Það eru margar tegundir af prófunum, hver þeirra leysir sitt eigið vandamál. Í dag vil ég tala um að finna öryggisvandamál í kóða.
Augljóslega, í nútíma veruleika hugbúnaðarþróunar, er mikilvægt að tryggja ferli öryggi. Á sínum tíma var sérhugtakið DevSecOps meira að segja kynnt. Þetta hugtak vísar til röð aðferða sem miða að því að greina og útrýma veikleikum í forriti. Það eru sérhæfðar opinn uppspretta lausnir til að athuga veikleika í samræmi við staðla
Það eru mismunandi aðferðir til að leysa öryggisvandamál, svo sem Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), Gagnvirkt Application Security Testing (IAST), Software Composition Analysis, og svo framvegis.
Stöðug öryggisprófun forrita greinir villur í þegar skrifaðum kóða. Þessi aðferð krefst þess ekki að forritið keyri, þess vegna er það kallað kyrrstöðugreining.
Ég mun einbeita mér að kyrrstöðugreiningu og nota einfalt opinn uppspretta tól til að sýna fram á allt í reynd.
Af hverju ég valdi opinn uppspretta tól fyrir kyrrstöðu öryggisgreiningu
Það eru ýmsar ástæður fyrir þessu: Í fyrsta lagi er það ókeypis vegna þess að þú ert að nota tól sem þróað er af samfélagi fólks sem vill hjálpa öðrum forriturum. Ef þú ert með lítið teymi eða gangsetning hefurðu frábært tækifæri til að spara peninga með því að nota opinn hugbúnað til að prófa öryggi kóðagrunnsins þíns. Í öðru lagi útilokar það þörfina fyrir þig að ráða sérstakt DevSecOps teymi, sem dregur enn frekar úr kostnaði þínum.
Góð opinn hugbúnaður er alltaf búinn til með hliðsjón af auknum kröfum um sveigjanleika. Þess vegna er hægt að nota þau í næstum hvaða umhverfi sem er og ná yfir margs konar verkefni. Það er mun auðveldara fyrir forritara að tengja slík verkfæri við kerfið sem þeir hafa þegar smíðað á meðan þeir vinna að verkefnum sínum.
En það getur verið að þú þurfir eiginleika sem er ekki tiltækur í tólinu sem þú velur. Í þessu tilviki hefurðu tækifæri til að punga kóðann hans og þróa þitt eigið tól byggt á honum með virkni sem þú þarft.
Þar sem þróun opins hugbúnaðar er í flestum tilfellum undir virkum áhrifum frá samfélaginu, er ákvörðunin um að gera breytingar tekin nokkuð fljótt og markvisst: þróunaraðilar opins hugbúnaðarins treysta á endurgjöf og ábendingar frá notendum, á skýrslur þeirra um villur fundnar og önnur vandamál.
Notkun Graudt fyrir kóða öryggisgreiningu
Þú getur notað ýmis opinn hugbúnað fyrir kyrrstöðugreiningu; það er ekkert alhliða tól fyrir öll forritunarmál. Hönnuðir sumra þeirra fylgja OWASP ráðleggingum og reyna að ná til eins mörg tungumál og mögulegt er.
Hér munum við nota
Það eru svipuð verkfæri fyrir greiningu á kyrrstæðum kóða - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), gallaleitartæki og svo framvegis. En Graudit er mjög sveigjanlegt og hefur lágmarks tæknilegar kröfur. Hins vegar gætir þú átt í vandamálum sem Graudit getur ekki leyst. Þá geturðu leitað að öðrum valkostum hér
Við getum samþætt þetta tól í tiltekið verkefni, eða gert það aðgengilegt fyrir valinn notanda, eða notað það samtímis í öllum okkar verkefnum. Þetta er líka þar sem sveigjanleiki Graudit kemur við sögu. Svo við skulum klóna endurhverfan fyrst:
$ git clone https://github.com/wireghoul/graudit
Nú skulum við búa til táknrænan hlekk fyrir Graudt til að nota hann á skipanasniði
$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit
Við skulum bæta samnefni við .bashrc (eða hvaða stillingarskrá sem þú ert að nota):
#------ .bashrc ------
alias graudit="~/bin/graudit"
Endurræsa:
$ source ~/.bashrc # OR
$ exex $SHELL
Við skulum athuga hvort uppsetningin hafi tekist:
$ graudit -h
Ef þú sérð eitthvað svipað, þá er allt í lagi.
Ég mun prófa eitt af núverandi verkefnum mínum. Áður en tólið er keyrt þarf að fara framhjá því gagnagrunni sem samsvarar tungumálinu sem verkefnið mitt er skrifað á. Gagnagrunnarnir eru staðsettir í ~/gradit/signatures möppunni:
$ graudit -d ~/gradit/signatures/js.db
Svo ég prófaði tvær js skrár úr verkefninu mínu og Graudit sýndi upplýsingar um veikleika í kóðanum mínum á stjórnborðinu:
Þú getur prófað verkefnin þín á sama hátt. Þú getur séð lista yfir gagnagrunna fyrir mismunandi forritunarmál
Kostir og gallar við Graudit
Graudit styður mörg forritunarmál. Þess vegna er það hentugur fyrir breitt úrval notenda. Það getur keppt á fullnægjandi hátt við hvaða ókeypis eða greidd hliðstæður. Og það er mjög mikilvægt að enn sé unnið að endurbótum á verkefninu og samfélagið hjálpar ekki aðeins hönnuðum heldur einnig öðrum notendum sem eru að reyna að finna út tólið.
Þetta er handhægt tól, en enn sem komið er getur það ekki alltaf ákvarðað nákvæmlega hvað vandamálið er með grunsamlegum kóða. Hönnuðir halda áfram að bæta Graudit.
En í öllum tilvikum er gagnlegt að fylgjast með hugsanlegum öryggisvandamálum í kóðanum þegar þú notar verkfæri eins og þetta.
Byrjar…
Í þessari grein skoðaði ég aðeins eina af mörgum leiðum til að finna veikleika - truflanir á öryggisprófun forrita. Það er auðvelt að framkvæma truflanir kóðagreiningar, en það er bara byrjunin. Til að læra meira um öryggi kóðagrunnsins þíns þarftu að samþætta aðrar tegundir prófana inn í líftíma hugbúnaðarþróunar.
Um réttindi auglýsinga
Heimild: www.habr.com