Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu

Graudit inasaidia lugha nyingi za programu na hukuruhusu kujumuisha upimaji wa usalama wa codebase moja kwa moja kwenye mchakato wa ukuzaji.

Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu
Chanzo: Unsplash (Markus Spiske)

Kujaribu ni sehemu muhimu ya mzunguko wa maisha ya ukuzaji wa programu. Kuna aina nyingi za kupima, kila mmoja wao hutatua tatizo lake mwenyewe. Leo nataka kuzungumza juu ya kupata shida za usalama katika nambari.

Kwa wazi, katika hali halisi ya kisasa ya maendeleo ya programu, ni muhimu kuhakikisha usalama wa mchakato. Wakati mmoja, neno maalum la DevSecOps lilianzishwa. Neno hili linarejelea mfululizo wa taratibu zinazolenga kutambua na kuondoa udhaifu katika programu. Kuna suluhu maalum za chanzo huria za kukagua udhaifu kwa mujibu wa viwango OWASP, ambayo inaelezea aina na tabia tofauti za udhaifu katika msimbo wa chanzo.

Kuna mbinu tofauti za kutatua matatizo ya usalama, kama vile Majaribio ya Usalama wa Programu Isiyobadilika (SAST), Majaribio ya Usalama wa Programu Inayobadilika (DAST), Majaribio ya Usalama ya Maombi Maingiliano (IAST), Uchambuzi wa Utungaji wa Programu, na kadhalika.

Jaribio tuli la usalama wa programu hutambua makosa katika msimbo ulioandikwa tayari. Njia hii haihitaji maombi kukimbia, ndiyo sababu inaitwa uchambuzi wa tuli.

Nitazingatia uchambuzi wa nambari tuli na kutumia zana rahisi ya chanzo wazi ili kuonyesha kila kitu kwa vitendo.

Kwa nini nilichagua zana huria ya uchanganuzi wa usalama wa nambari tuli

Kuna sababu kadhaa za hii: kwanza, ni bila malipo kwa sababu unatumia zana iliyotengenezwa na jumuiya ya watu wenye nia moja ambao wanataka kusaidia wasanidi wengine. Ikiwa una timu ndogo au uanzishaji, una fursa nzuri ya kuokoa pesa kwa kutumia programu huria ili kujaribu usalama wa codebase yako. Pili, inaondoa hitaji la wewe kuajiri timu tofauti ya DevSecOps, na hivyo kupunguza zaidi gharama zako.

Zana nzuri za chanzo huria kila mara huundwa kwa kuzingatia mahitaji yaliyoongezeka ya kubadilika. Kwa hiyo, zinaweza kutumika karibu na mazingira yoyote, kufunika kazi mbalimbali. Ni rahisi zaidi kwa watengenezaji kuunganisha zana kama hizo na mfumo ambao tayari wameunda wakati wa kufanya kazi kwenye miradi yao.

Lakini kunaweza kuwa na wakati unahitaji kipengele ambacho hakipatikani kwenye zana unayochagua. Katika kesi hii, una fursa ya kuweka msimbo wake na kukuza chombo chako mwenyewe kulingana na utendakazi unaohitaji.

Kwa kuwa katika hali nyingi uundaji wa programu huria huathiriwa kikamilifu na jamii, uamuzi wa kufanya mabadiliko unafanywa haraka sana na kwa uhakika: watengenezaji wa mradi wa chanzo huria hutegemea maoni na mapendekezo kutoka kwa watumiaji, kwenye ripoti zao za makosa kupatikana na matatizo mengine.

Kutumia Graudit kwa Uchambuzi wa Usalama wa Kanuni

Unaweza kutumia zana za chanzo huria kwa uchanganuzi wa nambari tuli; hakuna zana ya ulimwengu kwa lugha zote za programu. Watengenezaji wa baadhi yao hufuata mapendekezo ya OWASP na kujaribu kufunika lugha nyingi iwezekanavyo.

Hapa tutatumia Graudit, matumizi rahisi ya mstari wa amri ambayo yataturuhusu kupata udhaifu katika codebase yetu. Inasaidia lugha tofauti, lakini bado seti yao ni mdogo. Graudit inatengenezwa kulingana na matumizi ya grep, ambayo ilitolewa mara moja chini ya leseni ya GNU.

Kuna zana sawa za uchanganuzi wa msimbo tuli - Zana ya Kukagua Mbaya kwa Usalama (RATS), Zana ya Uchambuzi wa Maombi ya Wavuti ya Dira (SWAAT), kitafuta dosari na kadhalika. Lakini Graudit ni rahisi sana na ina mahitaji madogo ya kiufundi. Hata hivyo, unaweza kuwa na matatizo ambayo Graudit hawezi kutatua. Kisha unaweza kutafuta chaguzi zingine hapa kwenye orodha hii.

Tunaweza kuunganisha zana hii katika mradi maalum, au kuifanya ipatikane kwa mtumiaji aliyechaguliwa, au kuitumia wakati huo huo katika miradi yetu yote. Hapa ndipo pia kubadilika kwa Graudit kunatumika. Kwa hivyo wacha tufanye repo kwanza:

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

Sasa wacha tuunde kiunga cha mfano kwa Graudit ili kuitumia katika umbizo la amri

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

Hebu tuongeze lakabu kwa .bashrc (au faili yoyote ya usanidi unayotumia):

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

Washa upya:

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

Wacha tuangalie ikiwa usakinishaji ulifanikiwa:

$ graudit -h

Ikiwa unaona kitu sawa, basi kila kitu ni sawa.

Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu

Nitakuwa nikijaribu moja ya miradi yangu iliyopo. Kabla ya kuendesha chombo, inahitaji kupitishwa hifadhidata inayolingana na lugha ambayo mradi wangu umeandikwa. Hifadhidata ziko kwenye folda ya ~/gradit/saini:

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

Kwa hivyo, nilijaribu faili mbili za js kutoka kwa mradi wangu, na Graudit alionyesha habari juu ya udhaifu kwenye nambari yangu kwa koni:

Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu

Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu

Unaweza kujaribu kujaribu miradi yako kwa njia sawa. Unaweza kuona orodha ya hifadhidata za lugha tofauti za programu hapa.

Faida na Hasara za Graudit

Graudit inasaidia lugha nyingi za programu. Kwa hivyo, inafaa kwa anuwai ya watumiaji. Inaweza kushindana vya kutosha na analogi zozote za bure au za kulipwa. Na ni muhimu sana kwamba uboreshaji bado unafanywa kwa mradi, na jumuiya haisaidii watengenezaji tu, bali pia watumiaji wengine ambao wanajaribu kufahamu chombo.

Hii ni zana inayofaa, lakini hadi sasa haiwezi kubainisha tatizo hasa ni nini kwa kipande cha msimbo kinachotiliwa shaka. Watengenezaji wanaendelea kuboresha Graudit.

Lakini kwa hali yoyote, ni muhimu kulipa kipaumbele kwa shida zinazowezekana za usalama katika nambari wakati wa kutumia zana kama hizi.

Inaanza...

Katika nakala hii, niliangalia moja tu ya njia nyingi za kupata udhaifu - upimaji wa usalama wa programu tuli. Kufanya uchanganuzi wa nambari tuli ni rahisi, lakini ni mwanzo tu. Ili kupata maelezo zaidi kuhusu usalama wa codebase yako, unahitaji kujumuisha aina nyingine za majaribio katika mzunguko wako wa maisha wa utayarishaji wa programu.

Haki za Matangazo

VPS ya kuaminika na uchaguzi sahihi wa mpango wa ushuru utakuwezesha kuwa chini ya kupotoshwa kutoka kwa maendeleo na matatizo mabaya - kila kitu kitafanya kazi bila kushindwa na kwa muda wa juu sana!

Jinsi ya kutumia matumizi rahisi kupata udhaifu katika msimbo wa programu

Chanzo: mapenzi.com

Kuongeza maoni