Računalništvo, telefonija
30.08.2018 18:00

Deli z drugimi:

Share

10 nasvetov za obrambo pred napadi CSRF

Preberite 10 nasvetov za obrambo pred napadi CSRF
Preberite 10 nasvetov za obrambo pred napadi CSRF

Ko zlonamerna spletna aplikacija omogoča, da uporabniški brskalnik izvede neželeno dejanje na spletnem mestu, v katerega je uporabnik prijavljen. Gre za ranljivost spletnih aplikacij, ki na funkcijah ne vsebujejo mehanizmov za prepoznavo (ne)namernih klicev uporabnikov. Aplikacija mora biti namreč sposobna razlikovati med klici, ki jih uporabniki posredujejo namerno, in tistimi, ki jih posreduje nehote.

Vsebinsko gledano so lahko grožnje, ki jih prinašajo ranljivost CSRF, zelo različne. Ko se ranljivost nanaša na najpomembnejše funkcije aplikacije (npr. nakazilo denarja v spletni banki), so grožnje jasne in nedvoumne. Ko pa se ranljivost nanaša na tiste na videz manj pomembne funkcije, pa grožnje na prvi pogled niso tako očitne, ampak so skrite v širšem konceptu zlorabe.

Problem pri slednjih je, da razvijalec aplikacije težko predvidi, ali obstaja scenarij, po katerem bi bila zloraba mogoča. »Domišljija napadalcev ob pravi motivaciji nima meja, tako da lahko podcenjevanje hitro privede v nezaželeno situacijo. Zato naj tudi te funkcije vsebujejo vso potrebno zaščito,« priporoča Vladimir Ban, strokovnjak za kibernetsko varnost iz podjetja Smart Com.

Med najpogosteje ranljive funkcije spadajo:

  • nepooblaščeno spreminjanje gesel uporabnikov,
  • nepooblaščeno dodajanje uporabnikov s strani skrbnika,
  • nepooblaščeno nakazilo denarnih sredstev,
  • spreminjanje podatkov v profilih uporabnikov itd.

Nivo ogroženosti, ki ga ranljivost CSRF prinaša, pa ni odvisen le od vsebinskih dejavnikov, ampak tudi od tehničnih okoliščin oz. lastnosti funkcije/aplikacije. Odgovori na naslednja vprašanja so odlično izhodišče za določitev, kako izpostavljeni smo, in pomenijo smernice, kako poskrbeti za ustrezno zaščito:

  • Ali lahko napadalec napad izvede preko GET klica, ali ne?
  • Ali in kako ve, kakšen klic mora sprožiti?
  • Ali je napadalcu težko sestaviti klic do aplikacije?
  • Kako se aplikacija obnaša ob prijavi in ob ranljivih klicih?
  • Ali morda CSRF zaščita obstaja, a je ranljiva?

Kako lahko ranljivost preprečimo

Osnovna ideja CSRF zaščite je dokaj enostavna. Aplikacija mora vsebovati mehanizem, ko klici na funkcije, poleg vseh ostalih zadev, uporabljajo tudi parameter, ki je za vsak klic pripravljen enolično in neuganljivo (CSRF_token). Na ta način lahko aplikacija hitro razpozna oz. loči namerne klice od nenamernih. Namerni klici potekajo preko nadzorovanega in pričakovanega procesa v aplikaciji in brskalniku bo le ta lahko v okviru procesa posredovala enoličen in neuganljiv parameter. V teoriji je vse lepo in prav, a primeri iz prakse pokažejo, da so mehanizmi zaščite pogosto napačno implementirani in zato pomanjkljivi.

V praksi večina programskih jezikov in platform že vsebuje ukaze ali preizkušene ‘framework-e’, ki vzpostavijo ustrezno zaščito. Primer tega je SFRGuard knjižnica za Java programski jezik. »Že pripravljene zaščite naj se striktno uporabljajo,« vsem razvijalcem spletnih aplikacij še svetuje Vladimir Ban.

Uporaba omenjenega zaščitnega mehanizma je pomemben korak pri preprečevanju ranljivosti. Obstajajo pa številna druga priporočila oz. nasveti za obrambo pred CSRF napadi, ki jih je koristno poznati in jih tudi implementirati. Podrobno so predstavljeni v beli knjigi z naslovom Ali so vaše spletne aplikacije odporne na ranljivost CSRF.


Spletne aplikacije so danes vseprisotne. Posledično so izvor največjega števila varnostnih groženj in ranljivosti. Podjetja, ki varnosti spletnih aplikacij posvečajo premalo pozornosti, povečujejo verjetnost za napad.


Prijavi napako v članku

Povezave

Članek je pripravljen v sodelovanju s partnerjem SMART COM d.o.o.
Za več informacij so vam na voljo pri SMART COM d.o.o.
Ob kontaktu povejte, da ste objavo zasledili v Računalniških novicah.

Želite biti obveščeni o novostih, ki jih pripravljamo s partnerjem SMART COM d.o.o.? Vpišite svoj e-mail in se prijavite na BREZPLAČNE e-novice, od katerih se lahko kadarkoli odjavite.




Kaj berejo drugi?

Partnerji Računalniških novic Prikaži vse

eTAROK, MIROSLAV CIGAN s.p.

Ulica Štefana Kovača 2, 9231 Beltinci, Tel: 041 519 443
Računalniška igra za ljubitelje taroka Življenje se je v zadnjem letu preselilo v naše domove, kjer poleg dela iščemo različne vrste razvedrila. Za ljubitelje igre s tarok ... Več
Zlati partner

MICROSOFT d.o.o.

Ameriška ulica 8, 1000 Ljubljana, Tel: 01 584 61 11
Slovenska podružnica Microsofta je bila ustanovljena leta 1994 z željo, da bi tudi slovenskemu trgu ponudili inovativno programsko opremo. Od začetkov, ko so bili v podjetju zaposleni ... Več
Zlati partner

Mastercard Europe SA, Podružnica v Sloveniji

Dimičeva ulica 13, 1000 Ljubljana, Tel: +386 1 589 81 26
Mastercard Europe SA, Podružnica v Sloveniji, je globalno tehnološko podjetje za plačilne rešitve. Družba je del mreže Mastercard, ki obsega več kot 210 držav in ozemelj po ... Več

BILLY POS d.o.o.

Hudourniška pot 2, 1000 Ljubljana, Tel: 051 888 710
Billy rešitve za davčne blagajne temeljijo na tehnologiji v oblaku, kjer so podatki varno shranjeni v primeru izgube ali okvare naprave. Več