Hvernig á að nota einfalt tól til að finna veikleika í forritakóða

Graudit styður mörg forritunarmál og gerir þér kleift að samþætta kóðabasa öryggisprófun beint inn í þróunarferlið.

Hvernig á að nota einfalt tól til að finna veikleika í forritakóða
Heimild: Unsplash (Markus Spiske)

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 OWASP, sem lýsa mismunandi gerðum og hegðun veikleika í frumkóða.

Þ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 Graudit, einfalt skipanalínuforrit sem gerir okkur kleift að finna veikleika í kóðagrunninum okkar. Það styður mismunandi tungumál, en samt er sett þeirra takmarkað. Graudit er þróað byggt á grep gagnsemi tólinu, sem einu sinni var gefið út undir GNU leyfinu.

Þ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 á þessum lista.

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.

Hvernig á að nota einfalt tól til að finna veikleika í forritakóða

É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:

Hvernig á að nota einfalt tól til að finna veikleika í forritakóða

Hvernig á að nota einfalt tól til að finna veikleika í forritakóða

Þú getur prófað verkefnin þín á sama hátt. Þú getur séð lista yfir gagnagrunna fyrir mismunandi forritunarmál hér.

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

Áreiðanlegur VPS og rétt val á gjaldskrá gerir þér kleift að vera minna afvegaleiddur frá þróun vegna óþægilegra vandamála - allt mun virka án bilana og með mjög miklum spennutíma!

Hvernig á að nota einfalt tól til að finna veikleika í forritakóða

Heimild: www.habr.com

Bæta við athugasemd