Intro ne code auditing, dhe programe qe mund te perdoren.

Ne kete teme do te flasim shkurtimisht per nje nga fazat e rendesishme qe kalon “gatimi” i nje programi ne industrine software e cila eshte source code auditing, ne fjale te tjera ‘vulnerability hunting’   [gjuetia e vulnerabiliteteve]  ¯-¯
Siç e dime (boring) ç’do program serioz perveç fazave te tjera kalon edhe nje faze per testimin e sigurise se tij dhe kjo eshte nder fazat me te rendesishme sepse programi do te blihet nga nje “dikush” tjeter qe nese per shkak te programit tend peson humbje materialesh apo demtime te ç’faredo lloi pergjegjesia i ngelet skuadres se programimit.

Kjo faze perkon me analizimin ne detaj te source kodit dhe veprime te tjera qe do i shohim ne vazhdim.
Vulnerabilitetet mund te jene nga me te ndryshmet, dhe sa me shume eksperienc ka ai qe studion kodin per vulnerabilitete, aq me shume mundesi ka qe ne ate kod te kete vulnerabilitete nga me te ndryshmet..
Ne pergjithesi ndahen ne:

1.Buffer overflow (vunerabilitet te cilin do e shpjegojm ne te ardhmen)
Buffer overflow ndahet ne:
a) Stack overflow (kur tek nje hapesire jo dinamike memorje kerkohet te kalohen me shume te dhena nga ç’eshte caktuar per tu bere)
b) Heap overflow  (kur tek nje hapesire dinamike memorje kalojn shuuume te dhena, e cila shkaktohet nga llogaritje jo te sakta te programatorit)

Kemi “one by one” dhe nje exploit te ketij vulnerabiliteti mund ta gjejm dhe ketu:
http://albanianwizard.org/Postokodin/31
Te tjera kemi format string, integer overflows, race conditions, etj etj gjithsesi siç e thame kjo eshte nje intro pasi per secilen nga keto vulnerabilitete ka shume per tu shkruar dhe kjo eshte vetem nje intro.

Kalojm tani tek metodologjite.
Ketu me shume po flasim per stilin e secilit sepse gjithsekush ka preferencat e veta se si e nis analizimin e nje programi sepse varet nga madhesia e source kodit per tu analizuar, koha qe kemi ne dispozicion, dhe ne disa raste edhe rendimenti qe kerkohet 😉
Normalisht ju mund te thoni per metodat “Bottom Up” “top down” apo hibride, psh top down, eshte nje metod shume stresuese pasi duhet te analizosh komplet kodin nderkohe qe kjo mund te marri dhe shume kohe, gje te cilen nuk e keshilloj perveç rasteve kur kerkohet nje auditing perfekt nga nje klient perfekt i cili nuk lejon gabime.
Pra kjo eshte menyra me tipike.
Metoda te tjera me te perdorshme jane psh, te shikosh vetem pjeset e source kodit qe jane nen influencen e perdoruesit dhe kane mundesi explotimi.
Sa me shume te largohemi analizimit te kodit, aq me shume rritet mundesia qe te na shpetojn vulnerabilitete hera heres dhe shume te njohura, metoda te tjera qe perdorin “analizuesit e kodit” po i quaj, jane psh duke grumbulluar komplet variabilat dhe duke i analizuar ose duke perdorur nje sere fjalesh kyçe te cilat nese programuesi nuk i ka implementuar ashtu siç duhet atehere jane vulnerabilitete.
Zakonisht gjate ketij proçesi mbahen shenime per emrin e funksionit, lokacionin e failit dhe numrin e rreshtit ku gjendet kodi me difekt, argumentet qe kalohen tek funksioni, etj..

Tools.
Persa i perket mjeteve qe mund te perdorim per kete lloj pune,, bah nuk di tjeter perveç se editoreve te tekstit, apo editoreve te gjuheve te ndryshme te programimit.
Nje keshille do te ishte te perdorni sisteme operative te krijuara per ate pune, dhe ka shume sisteme linux si OWASP, Auditor , konppix-nst, etj qe jane krijuar pikerisht per kete pune dhe mbledhin ne vetvete nje sere programesh qe sherbejn per kete qellim.

One thought on “Intro ne code auditing, dhe programe qe mund te perdoren.

  1. Pingback: healthranker.com

Leave a Reply

Your email address will not be published. Required fields are marked *