Hacker News

CSP fyrir Pentesters: Skilningur á grundvallaratriðum

Athugasemdir

14 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

Af hverju allir Pentester þurfa að ná tökum á öryggisstefnu um efni

Efnisöryggisstefna (CSP) er orðin ein mikilvægasta varnaraðferðin á vafranum gegn forskriftum á milli vefsvæða (XSS), innspýtingar gagna og árásum á smelli. Samt sem áður eru CSP hausar enn einn af algengustu rangstillingu - og misskilnuðu - öryggisstýringunum í tengslum við skarpskyggniprófanir. Í 2024 rannsókn sem greindi yfir 1 milljón vefsíður kom í ljós að aðeins 12,8% notuðu CSP hausa yfirleitt og af þeim innihéldu næstum 94% að minnsta kosti einn veikleika í stefnu sem hægt var að nýta. Fyrir pentesters er skilningur á CSP ekki valfrjáls – það er munurinn á yfirborðsmati og skýrslu sem í raun styrkir öryggisstöðu viðskiptavinar.

Hvort sem þú ert að gera úttekt á vefforritum, villufjárveiðar eða byggja upp öryggi í viðskiptavettvang sem meðhöndlar viðkvæm gögn viðskiptavina, þá er CSP þekking grundvallaratriði. Þessi handbók greinir frá því hvað CSP er, hvernig það virkar undir hettunni, hvar það mistekst og hvernig penetester geta kerfisbundið metið og framhjá veika stefnu.

Hvaða öryggisstefna um efni gerir í raun og veru

Í kjarnanum er CSP yfirlýsing um öryggiskerfi sem er afhent í gegnum HTTP svarhaus (eða sjaldnar, merki). Það leiðbeinir vafranum hvaða efnisuppsprettur - forskriftir, stílar, myndir, leturgerðir, rammar og fleira - er heimilt að hlaða og framkvæma á tiltekinni síðu. Þegar tilföng brýtur í bága við stefnuna lokar vafrinn henni og tilkynnir brotið mögulega til tiltekins endapunkts.

Upphaflega hvatningin á bak við CSP var að draga úr XSS árásum. Hefðbundnar XSS varnir eins og inntakshreinsun og úttakskóðun eru áhrifaríkar en brothættar - eitt samhengi sem gleymdist eða kóðunvilla getur endurvakið varnarleysið. CSP bætir við ítarlegu varnarlagi: jafnvel þótt árásarmaður dæli illgjarnri skriftumerki inn í DOM, kemur rétt stillt regla í veg fyrir að vafrinn geti keyrt það.

CSP starfar á hvítlistalíkani. Frekar en að reyna að loka á þekkt slæmt efni, skilgreinir það hvað er beinlínis leyfilegt. Öllu öðru er sjálfgefið hafnað. Þessi snúning öryggislíkans er öflug í orði, en í reynd er það alræmt erfitt að viðhalda ströngum reglum í flóknum vefforritum – sérstaklega kerfum sem stjórna tugum samþættra eininga eins og CRM, reikningagerð, greiningar- og bókunarkerfi.

Líffærafræði CSP-hauss: Tilskipanir og heimildir

CSP haus er samsettur úr tilskipunum, sem hver stjórnar tiltekinni tegund auðlindar. Skilningur á þessum tilskipunum er nauðsynlegur fyrir alla pentester sem meta stefnu markmiðs. Mikilvægustu tilskipanirnar eru meðal annars default-src (afbaka fyrir hvaða tilskipun sem er ekki sérstaklega stillt), script-src (JavaScript execution), style-src (CSS), img-src (myndir), connect-src,s, WebS, frame-src (innfelldir iframes) og object-src (viðbætur eins og Flash eða Java smáforrit).

Hver tilskipun samþykkir eina eða fleiri uppspretta orðatiltæki sem skilgreina leyfilegan uppruna. Þetta eru allt frá sérstökum hýsilheitum (https://cdn.example.com) til víðtækari leitarorða:

  • 'sjálf' — leyfir tilföng frá sama uppruna og skjalið
  • 'engin' — lokar á allar auðlindir af þeirri gerð
  • 'unsafe-inline' — leyfir innbyggða forskriftir eða stíla (hlutleysir á áhrifaríkan hátt XSS vernd)
  • 'unsafe-eval' — leyfir eval(), setTimeout(streng) og svipaða dynamic kóða keyrslu
  • 'nonce-{random}' — leyfir tilteknar innbyggðar forskriftir merktar með samsvarandi dulmálslausn
  • 'strict-dynamic' — treystir skriftum sem hlaðnar eru af skriftum sem þegar eru treystar, hunsar leyfislista hýsingaraðila
  • gögn: — leyfir gagna-URI sem innihaldsgjafa

Raunverulegur CSP haus gæti litið svona út: Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'óöruggt-inni'; img-src *; object-src 'enginn'. Sem pentester er starf þitt að lesa þessa stefnu og finna strax hvar hún er sterk, hvar hún er veik og hvar hún er nothæf.

Algengar CSP rangstillingar sem Pentesters ættu að miða á

Bilið á milli þess að nota CSP haus og nota virkan CSP haus er gríðarlegt. Í reynd innihalda flestar stefnur veikleika sem koma fram vegna þæginda fyrir þróunaraðila, samþættingu þriðja aðila eða einföldum misskilningi. Meðan á mati stendur, ættu peneters kerfisbundið að athuga hvort þessar algengu bilanir séu til staðar.

Hrikalegasta rangstillingin er tilvist 'unsafe-inline' í script-src tilskipuninni. Þetta eina leitarorð gerir allan and-XSS ávinninginn af CSP í rauninni gagnslaus, vegna þess að það gerir vafranum kleift að keyra hvaða innbyggða