Vad är skadlig kod. Vad är skadlig kod Sätt starka lösenord på serverprogramvaran

Skadlig kod är kod som stör den normala driften av en webbplats. Det kan bäddas in i teman, databaser, filer och plugins.


Fler videor på vår kanal - lär dig internetmarknadsföring med SEMANTICA

Resultatet av driften av skadlig kod kan vara borttagningen av något användbart innehåll, eller dess publicering på en tredjepartsresurs. På så sätt kan angripare organisera innehållsstöld. Det är särskilt nedslående om en ung resurs med författares artiklar har utsatts för detta inflytande. Du kan få intrycket att det var han som stal innehåll från en äldre resurs.

Dessutom kan skadlig kod placeras i ett gratis tema dolda länkar till tredje parts sidor tillgängliga för sökmotorer. Dessa länkar kommer inte alltid att vara skadliga, men vikten av huvudsidan kommer garanterat att lida.

Det allmänna syftet med alla skadliga koder är att störa webbsidor.

Externt är den skadliga koden en kaotisk uppsättning tecken. I verkligheten döljer detta nonsens en krypterad kod som innehåller en sekvens av kommandon.

Hur skadlig kod hamnar på webbplatsen

Det finns två sätt som skadlig kod kan komma in på en webbplats.

1. Ladda ner filer och plugins från tvivelaktiga och opålitliga resurser. Oftast tränger krypterade länkar in på sajten på sådana sätt. Explicit kod kommer sällan in på webbplatsen på detta sätt.

2. följt av penetration. Denna metod anses vara farligare, eftersom hackning av en webbsida gör det möjligt att överföra inte bara en "engångskod", utan också hela strukturer med inslag av ett skadligt program (skadlig programvara).

En sådan kod är mycket svår att förstöra, eftersom. det kan återställas efter att ha tagits bort.

Sök efter skadlig kod på webbplatsen

Man bör komma ihåg att dessa lömska konstruktioner kan visas inte bara i det aktiva temat, utan också i vilken resursfil som helst. Det finns flera sätt att hitta dem:

  • Manuellt. För att göra detta måste du jämföra innehållet i alla aktuella filer med oinfekterade versioner av säkerhetskopian. Allt som är annorlunda måste tas bort.
  • Med säkerhetsplugins. WordPress erbjuder särskilt Wordfence Security-plugin. Den har en möjlighet att skanna sidfiler efter innehållet i främmande kod.
  • Med hjälp av värdsupport. Webbplatsägaren har rätt att kontakta dem med en begäran om att skanna resursen med deras antivirus. Som ett resultat kommer de att tillhandahålla en rapport som visar förekomsten av infekterade filer. Dessa filer kan rensas från främmande konstruktioner med en vanlig textredigerare.
  • Genom SSH tillgång till webbplatsen. Själva sökningen utförs med hjälp av kommandona:

hitta /aktuell sidkatalog -typ f -iname "*" -exek -"eval" () \; > ./eval.log

hitta /aktuell sidkatalog -typ f -iname "*" -exek-"base64" () \; > ./base64.log

hitta /aktuell sidkatalog -typ f -iname "*" -exek -"fil_get_innehåll" () \; > ./file_get_contents.log

Som ett resultat av deras exekvering kommer information om misstänkta filer att erhållas. Listan över dessa filer kommer att skrivas till loggen som är lagrad i den aktuella katalogen.

  • Kontrollerar en webbplats efter skadlig kod med hjälp av eval-funktionen. Denna php-funktion kör vilken kod som helst, även krypterad. Som ett av argumenten ges kodningstypen som indata till denna funktion (vanligtvis base64_decode eller str_rot13). Det är tack vare användningen av populära kodningar som den skadliga koden ser ut som en meningslös uppsättning latinska tecken.

Öppna sidredigeraren.

Kopiera innehållet i functions.php-filen till klippbordet.

Klistra in den i valfri textredigerare(anteckningsbok).

Hitta kommandot eval.

  • Innan du tar bort den skadliga koden, analysera vilka parametrar funktionen förväntar sig som indata. Därför att parametrar tas emot i krypterad form, de måste dekrypteras med avkodare. Efter att ha identifierat indataparametern kan du bestämma dess framtida plats i texten i filen functions.php.

Tar bort skadlig kod

Efter att ha upptäckt skadlig kod behöver den helt enkelt raderas som en vanlig rad i en textfil.

Skydd mot skadlig kod

För att förhindra uppkomsten av skadlig kod på webbplatsen är det nödvändigt att följa ett antal förebyggande åtgärder.

Använd endast beprövad programvara:

  • Ladda bara ned distributioner från pålitliga källor.
  • Kör uppdateringen av serverprogramvaran i tid.
  • Utför regelbundna säkerhetsrevisioner av servern.
  • Ta bort föråldrade felsökningsskript.

Ställ in starka lösenord på serverprogramvaran:

  • Kom på en struktur med 12 tecken som inkluderar siffror och bokstäver med olika skiftlägen.
  • Skapa ditt eget unika lösenord för varje tjänst.
  • Ändra dina lösenord var tredje månad.

Ta kontroll över användarinmatning:

  • Ställ in HTML-markeringsfilter i inmatningsfälten, vars innehåll kommer att inkluderas i sidkoden.
  • Organisera en validering på serversidan av indata för överensstämmelse med det tillåtna intervallet.
  • Använd WAF. Web Application Firewall är ett kraftfullt verktyg för att skydda din webbplats från hackerattacker.

Begränsa åtkomsträttigheter till din resurs.

Blockera eller begränsa åtkomsten till administrationsverktygen för din webbplatsmotor och dess databaser. Blockera dessutom åtkomst till inställningsfiler och säkerhetskopior av arbetskod.

Sådan penetrering av skadlig kod är mest mottaglig för de webbplatser där möjligheten att ladda ner användarfiler är implementerad.

1. Organisera skydd mot bots. För dessa ändamål är många CMS utrustade med speciella plugins;

2. Ställ in validering av användarinmatning:

  • Förhindra infogning av JavaScript-kod i t>-konstruktionen.
  • Håll en lista över säkra HTML-taggar och filtrera bort konstruktioner som inte ingår i den här listan.
  • Analysera länkar som skickas av användare.
  • För detta finns det särskilda tjänster, till exempel Safe Browsing API. Det låter dig kontrollera säkerheten för ett dokument genom URL.

Hur man förhindrar oavsiktlig placering av skadlig kod.

  • Övervaka noggrant programvaran du använder:

Ladda ner CMS-bibliotek och tillägg endast från pålitliga källor, och bäst av allt från officiella webbplatser.

Studera koden för icke-standardiserade tillägg som du ska sätta på motorn på din webbplats.

  • Placera annonser mycket noggrant:

Publicera annonser på din webbplats som endast erbjuds av pålitliga annonsörer.

Försök att inkludera statiskt innehåll på din sida.

akta sig affiliate-program med dolda block.

Distribution av skadlig programvara via webbplatser

Costin Rayu, Kaspersky Lab

Introduktion. Cyberbrottslighet: trender och utveckling

Under de senaste åren har internet blivit en farlig plats. Ursprungligen skapad för ett relativt litet antal användare, har den vida överträffat förväntningarna från dess skapare. Idag finns det mer än 1,5 miljarder internetanvändare i världen och deras antal växer ständigt i takt med att tekniken blir mer tillgänglig.

Brottslingar har också märkt denna trend och insett mycket snabbt att begå brott med hjälp av Internet (nu kallat cyberbrottslighet) har ett antal betydande fördelar.

För det första är cyberbrottslighet inte särskilt riskabel: eftersom den inte har några geopolitiska hinder är det svårt för brottsbekämpande myndigheter att fånga brottslingar. Dessutom kostar det mycket pengar att genomföra internationella utredningar och rättstvister, så sådana åtgärder vidtas vanligtvis endast i speciella fall. För det andra är cyberbrottslighet enkelt: det finns ett stort antal "instruktioner" på Internet för att hacka datorer och skriva virus, och ingen speciell kunskap eller erfarenhet krävs. Dessa är de två huvudfaktorerna som har gjort cyberbrott till en mångmiljardindustri som verkligen är ett slutet ekosystem.

Både informationssäkerhetsföretag och mjukvarutillverkare bekämpar ständigt cyberbrottslighet. Deras mål är att ge Internetanvändare ett tillförlitligt skydd och skapa en säker programvara. Angriparna i sin tur byter ständigt taktik för att motverka de motåtgärder som vidtas, vilket som ett resultat har lett till att två uttalade trender har dykt upp.

Först distribueras skadlig programvara med hjälp av nolldagssårbarheter, dvs. Sårbarheter för vilka patchar ännu inte har skapats. Med hjälp av sådana sårbarheter, även sådana datorsystem på vilken alla Senaste uppdateringarna, men det finns inga speciella skyddslösningar. Nolldagssårbarheter är en värdefull vara (deras användning kan potentiellt leda till allvarliga konsekvenser), de säljs på den svarta marknaden för tiotusentals dollar.

För det andra ser vi en kraftig ökning av antalet skadliga program som är särskilt utformade för att stjäla känslig information för att sälja den på den svarta marknaden: kreditkortsnummer, bankuppgifter, lösenord för att komma åt webbplatser som eBay eller PayPal och till och med online lösenord.-spel, till exempel till World of Warcraft.

En uppenbar anledning till framväxten av cyberbrottslighet är dess lönsamhet, som alltid kommer att vara drivkraften bakom skapandet av ny cyberbrottsteknologi.

Utöver den utveckling som genomförs för cyberkriminellas behov, noterar vi en annan trend - spridningen av skadlig programvara genom World Wide Web. Sedan epidemierna i början av detta decennium orsakade av maskar som Melissa, har många säkerhetsföretag fokuserat sina ansträngningar på att utveckla lösningar som kan neutralisera skadliga bilagor. Detta resulterade ibland i att alla körbara bilagor togs bort från meddelanden.

På senare tid har dock webben blivit den främsta källan till distribution av skadlig programvara. Skadlig programvara placeras på webbplatser och antingen luras användarna att manuellt köra den, eller så körs programmen automatiskt av exploateringar på infekterade datorer.

Vi på Kaspersky Lab tittar på detta med växande oro.

Statistik

Under de senaste tre åren har vi övervakat så kallade rena webbplatser (mellan 100 000 och 300 000) för att avgöra vid vilken tidpunkt de blev distributionspunkter för skadlig programvara. Antalet övervakade sajter har stadigt ökat i takt med att nya domäner har registrerats.

Tabellen visar den registrerade maximala infektionsfrekvensen för webbsidor som övervakats under året. Den kraftiga ökningen av andelen infekterade platser är uppenbar: om 2006 var ungefär varje plats av tjugo tusen infekterades, så var 2009 varje plats av etthundrafemtio redan infekterad. Andelen webbplatser som är infekterade fluktuerar runt den sista siffran, vilket kan tyda på att en mättnadspunkt har nåtts: alla webbplatser som kan ha blivit infekterade har blivit infekterade. Men antalet stiger eller minskar när nya sårbarheter upptäcks eller nya verktyg dyker upp som gör att angripare kan infektera nya webbplatser.

Följande två tabeller visar data om den mest frekventa skadliga programvaran på webbplatser under 2008 och 2009.

Topp 10 skadlig programvara - 2008

Topp 10 skadlig programvara - 2009

År 2008 hittades trojanen Trojan-Clicker.JS.Agent.h i ett stort antal fall. Den följs av Trojan-Downloader.JS.Iframe.oj med en marginal på mindre än 1 %.


Sida infekterad med Trojan-Clicker.JS.Agent.h

Avkodad Trojan-Clicker.JS.Agent.h

Trojan-Clicker.JS.Agent.h är ett typiskt exempel på en mekanism som användes 2008 och som fortfarande används (2009) för att injicera skadlig kod. En liten bit JavaScript-kod läggs till på sidan, som vanligtvis är obfuskerad för att göra det svårt att tolka. I koden som visas i figuren ovan består fördunkling helt enkelt av att ersätta ASCII-tecken som utgör den skadliga koden med deras hexadecimala koder. När den väl är dekrypterad är koden vanligtvis en iframe som leder till platsen där exploateringen finns. IP-adressen som länken pekar på kan ändras när utnyttjande finns på många olika webbplatser. Hemsidan för en skadlig webbplats innehåller vanligtvis utnyttjande av IE, Firefox och Opera. Trojan-Downloader.JS.Iframe.oj, den näst mest använda skadliga programvaran, fungerar på liknande sätt.

Under 2009 fanns det två intressanta fall där skadlig programvara distribuerades via webbsidor. I det första fallet talar vi om skadlig programvara Net-Worm.JS.Aspxor.a, som först upptäcktes i juli 2008 och fick stor spridning 2009. Denna malware med särskild nytta hittar SQL-sårbarheter på webbplatser genom vilka den injicerar skadliga iframes.

Ett annat intressant fall är Gumblar malware. Den fick sitt namn efter den kinesiska domän som den använde för att distribuera bedrifter. Strängen "gumblar" i obfuskerad JavaScript som kastas på en webbplats är ett säkert tecken på att webbplatsen är infekterad.


Ett exempel på att bädda in Gumblar-kod på en webbsida

Efter deobfuskering ser Gumblars skadliga kod ut så här:


Gumblar avkodad kod

Domänen "gumblar.cn" stängdes, vilket dock inte hindrade cyberkriminella från att fortsätta skadliga attacker från nya domäner.

Smittvägar och distributionsmetoder

För närvarande finns det tre huvudsakliga sätt att infektera webbplatser med skadlig programvara.

Den första populära metoden är att utnyttja sårbarheterna på själva webbplatsen. Till exempel, introduktionen av SQL-kod, som låter dig lägga till skadlig kod på sidorna på webbplatsen. Attackverktyg som ASPX eller Trojan visar hur denna metod fungerar: de kan användas för att massskanna och injicera skadlig kod över tusentals IP-adresser samtidigt. Spår av sådana attacker kan ofta ses i webbserverloggar.

Den andra metoden involverar att infektera webbplatsutvecklarens dator med skadlig programvara som övervakar skapandet och laddningen av HTML-filer och sedan injicerar skadlig kod i dessa filer.

Slutligen, en annan metod är att infektera en trojan som stjäl lösenord (som Ransom.Win32.Agent.ey) på en webbplatsutvecklares dator eller en annan person med tillgång till ett värdkonto. En sådan trojan kommunicerar vanligtvis med servern via HTTP för att överföra lösenord för FTP-konton, som den samlar in från populära ftp-klienter som FileZilla och CuteFtp. Skadlig programvara som finns på servern skriver den mottagna informationen till databasen SQL-data. Sedan utför ett speciellt program, som också finns på servern, proceduren för att logga in på alla FTP-konton, extraherar indexsidan, lägger till den trojaninfekterade koden där och laddar tillbaka sidan.

Eftersom värdleverantörens kontoinformation i det senare fallet blir känd för angripare, infekteras webbplatser ofta igen: webbsidesutvecklare märker själva infektionen eller lär sig om det från webbplatsbesökare, rengör sidan från skadlig kod och nästa dag sidan är återigen infekterad.


Exempel på återinfektion av en webbsida (*.*.148.240)

En annan vanlig situation är när information om samma sårbarhet eller värdkontodata samtidigt hamnar i händerna på olika cybergrupper, mellan vilka en kamp börjar: varje grupp försöker infektera en webbplats med sin egen skadlig programvara. Här är ett exempel på en sådan situation:


Ett exempel på flera infektioner av en webbplats (*.*.176.6) med olika skadlig programvara

Den 06/11/2009 var webbplatsen vi övervakade ren. Den 07/05/2009 är Trojan-Clicker.JS.Agent.gk infekterad med skadlig programvara. Den 15/07/2009 är webbplatsen infekterad med en annan skadlig kod, Trojan-Downloader.JS.Iframe.bin. Tio dagar senare är sajten infekterad med ett annat program.

Denna situation är ganska vanlig: webbplatser kan samtidigt infekteras med olika skadliga program, vars kod placeras efter varandra. Detta händer när åtkomstdata faller i händerna på olika cybergrupper.

Följande är en sekvens av åtgärder som måste vidtas om en webbplats är infekterad med skadlig kod:

  • Ställ in vem som har åtkomst till värdservern. Börja kontrollera sina datorer med ett internetsäkerhetsprogram med en uppdaterad databas. Ta bort all upptäckt skadlig programvara
  • Ange ett nytt starkt värdlösenord. Ett starkt lösenord bör bestå av symboler, siffror och specialtecken för att göra det svårare att gissa
  • Ersätt alla infekterade filer med rena kopior
  • Hitta alla säkerhetskopior som kan innehålla infekterade filer och desinficera dem

Vår erfarenhet visar att infekterade webbplatser ofta återinfekteras efter behandling. Å andra sidan händer detta vanligtvis bara en gång: om webbmastern efter den första infektionen kan begränsa sig till relativt ytliga handlingar, vid en andra infektion, vidtar han vanligtvis mer allvarliga åtgärder för att säkerställa webbplatsens säkerhet.

Evolution: värd skadlig programvara på "rena" webbplatser

För ett par år sedan, när cyberbrottslingar började aktivt använda webben för att hosta skadlig programvara, agerade de oftast genom den så kallade skottsäkra hostingen eller hosting där de betalade med stulna kreditkort. Internetsäkerhetsföretag har märkt denna trend och har gått samman i kampen mot skrupelfria värdleverantörer som tillåter värd för skadliga resurser (som den amerikanska värdleverantören McColo och den estniska leverantören EstDomains. Och även om det idag fortfarande finns fall där skadlig programvara hostas specifikt på skadlig programvara webbplatser som finns till exempel i Kina, där det fortfarande är svårt att stänga ner en webbplats, har det skett en viktig vändning mot att hosta skadlig programvara på "rena" och ganska pålitliga domäner.

Handling och reaktion

Som vi redan har sagt är en av de viktigaste aspekterna av den ständiga kampen mellan cyberkriminella och antivirusleverantörer förmågan att snabbt svara på vad fienden gör. Båda sidor ändrar ständigt sin kamptaktik och sätter i drift ny teknik för att försöka motverka fienden.

De flesta webbläsare (Firefox 3.5, Chrome 2.0 och Internet Explorer 8.0) har nu inbyggt skydd i form av ett URL-filter. Detta filter förhindrar användaren från att komma åt skadliga webbplatser som innehåller utnyttjande av kända eller okända sårbarheter, eller som använder social ingenjörsteknik för att stjäla personlig information.

Firefox och Chrome använder till exempel Google Safe Browsing API, gratis tjänst av Google för URL-filtrering. I skrivande stund innehöll Google Safe Browsing API-listan cirka 300 000 kända skadliga webbplatser och över 20 000 nätfiskewebbplatser.

Google Safe Browsing API tar ett smartare tillvägagångssätt för URL-filtrering: istället för att skicka varje URL till en extern resurs för verifiering, som nätfiskefiltret i Internet Explorer 8 gör, kontrollerar Google Safe Browsing webbadresser mot deras kontrollsummor, beräknade av MD5-algoritmen. För att denna filtreringsmetod ska vara effektiv, listan kontrollsummor skadliga adresser måste uppdateras regelbundet; uppdateringar rekommenderas att utföras var 30:e minut. Nackdelen med denna metod är att antalet skadliga webbplatser är större än antalet poster i listan. För att optimera storleken på listan (för närvarande cirka 12 MB) ingår bara de mest frekventa skadliga webbplatserna. Detta innebär att även om du använder applikationer som stöder sådan teknik, löper din dator fortfarande risk för infektion när du besöker skadliga webbplatser som inte finns med i listan. I allmänhet visar den utbredda användningen av teknik för säker navigering att webbläsarutvecklare har lagt märke till den nya trenden att sprida skadlig programvara via webbplatser och vidtar åtgärder. Faktum är att säkerhetsaktiverade webbläsare redan börjar bli normen.

Slutsats

Under de senaste tre åren har antalet legitima webbplatser infekterade med skadlig programvara ökat dramatiskt. Idag är antalet infekterade sajter på Internet hundra gånger fler än för tre år sedan. Ofta besökta sajter är attraktiva för cyberkriminella eftersom de kan infektera ett stort antal datorer på kort tid.

Webmasters kan erbjuda flera enkla tips om hur man säkrar webbplatser:

  • Skydda värdkonton med starka lösenord
  • För att ladda upp filer till servrar, använd SCP/SSH/SFTP-protokoll istället för FTP - på så sätt skyddar du dig från att skicka lösenord över Internet i klartext
  • Installera en antivirusprodukt och kör en datorskanning
  • Håll några i lager säkerhetskopior plats för att kunna återställa den vid infektion.

När du surfar på Internet finns det flera faktorer som ökar risken att bli infekterad med skadlig kod från en webbplats: att använda piratkopierad programvara, ignorera uppdateringar som åtgärdar sårbarheter i programvaran du använder, att inte ha en antiviruslösning på din dator och allmänt. okunnighet eller ofullständig förståelse av internethot.

Piratkopierad programvara spelar en betydande roll i spridningen av skadlig programvara. Piratkopior Microsoft Windows stöder vanligtvis inte automatiska uppdateringar, släppt av Microsoft, vilket ger cyberbrottslingar möjligheten att utnyttja okorrigerade sårbarheter i dessa produkter.

Dessutom gamla Internetversioner Explorer, fortfarande den mest populära webbläsaren, har ett stort antal sårbarheter. I de flesta fall, Internet Explorer 6.0 utan installerade uppdateringar oskyddad från den skadliga effekten av alla skadliga webbplatser. På grund av detta är det extremt viktigt att undvika att använda piratkopierad programvara, särskilt piratkopior av Windows.

En annan riskfaktor är att arbeta på en dator utan ett antivirusprogram installerat. Även om systemet självt har de senaste uppdateringarna installerade, kan skadlig kod penetrera det genom nolldagssårbarheter i programvara från tredje part. Uppdateringar antivirusprogram släpps vanligtvis mycket oftare än patchar för programvaruprodukter, och ger systemsäkerhet vid en tidpunkt då sårbarheter i programvara från tredje part ännu inte har korrigerats.

Även om det är viktigt att installera programuppdateringar för att upprätthålla den nödvändiga säkerhetsnivån, spelar den mänskliga faktorn också en viktig roll. Till exempel kan en användare vilja titta på en "intressant video" som laddats ner från webben, omedveten om att skadlig programvara har planterats i stället för videon. Det här tricket används ofta på skadliga webbplatser om exploateringar misslyckas med att penetrera operativsystemet. Det här exemplet visar varför användare bör vara medvetna om farorna med internethot, särskilt de som är kopplade till sociala nätverk (Web 2.0), som har attackerats aktivt av cyberbrottslingar på sistone.

  • Ladda inte ner piratkopierad programvara
  • Uppdatera all programvara i tid: operativsystem, webbläsare, PDF-läsare, spelare, etc.
  • Installera och använd alltid en antivirusprodukt som t.ex Kaspersky Internet Säkerhet 2010
  • Gör det till en regel att låta dina anställda spendera några timmar varje månad på säkerhetswebbplatser som www.viruslist.com, där de kan lära sig om onlinehot och hur de kan skydda sig själva.

Slutligen, kom ihåg: att förhindra en infektion är lättare än att bota den. Vidta säkerhetsåtgärder!

Kategori: .

Den här artikeln riktar sig till Internetanvändare och ägare informationsresurser. Syftet med artikeln är att beskriva metoder för att infektera webbplatser med skadlig kod, de möjliga konsekvenserna av detta och sätt att bekämpa skadlig kod.

Vad är denna skadliga kod, var kommer den ifrån och hur farlig är den?

Skadlig kod är en länk till en resurs som innehåller skadlig kod. Det vanligaste idag är antingen ett falskt antivirus (Fake Antivirus), eller en ersättningsmodul för att skicka sökfrågor, eller programvara för att skicka skräppost. I vissa fall kan skadlig programvara kombinera funktionerna att stjäla konfidentiell data från en användares dator, till exempel kan det vara lösenord från administrativa gränssnitt för att hantera webbplatser, lösenord för ftp, konton för onlinetjänster.

1) En skadlig länk leder till ett trafikdistributionssystem (TDS). Trafikdistributionssystemet låter dig omdirigera besökaren beroende på land, operativ system, webbläsare, språk som används och annan information om olika resurser. Dessa resurser innehåller i sin tur skadlig programvara specifikt för denna målgrupp, eller denna sårbara programvara. Dessutom, om du klickar på en skadlig länk från en webbläsare eller operativsystemversion som inte är avsedd av angriparen, kommer du att se antingen bara en tom skärm eller till exempel en sökmotor Google-sida. Detta gör det lite svårare att upptäcka skadlig programvara. Men med noggrann analys kan du förstå logiken i systemet och skydda dig mot infektion.
2) En skadlig länk leder till "spoilers" för populära webbläsare och mjukvaruprodukter. "Sploits" är specialgjorda koder som använder sårbarheter i programvara för att tyst ladda ner och köra skadlig programvara på en användares dator. I det här fallet bestäms användarens programvara och, i händelse av dess sårbarhet, inträffar infektion.

För att dölja förekomsten av skadlig kod på en webbplats är den krypterad, men det finns fall av öppen kod.

Ett exempel på en krypterad skadlig länk:

Låt oss göra en liten analys av strukturen för en skadlig länk:
domän namn— bestlotron.cn
manus- in.cgi (SUTRA trafikdistributionssystem)
schema— cocacola51

Skadliga länkar som omdirigerar till ett trafikdistributionssystem är de vanligaste på senare tid. I det här fallet kan en angripare, som har fått tillgång till en webbplats och planterat en skadlig länk till trafikdistributionssystemet på sin resurs, kontrollera trafiken från denna webbplats. Schemat "cocacola51", som anges i exemplet, kan innehålla mer än en skadlig programvara. Trafikdistributionssystemet är alltså bara en mellanhand mellan besökaren på den hackade webbplatsen och angriparens skadliga program.

Det andra exemplet visar tydligt en krypterad skadlig länk. Som regel används enkla algoritmer för kryptering, och i nästan 99% dekrypteras sådana länkar lätt.

Efter dekryptering får vi följande kod:

Nu kan vi redan observera både webbplatsadressen och skriptet för trafikdistributionssystemet som är bekant för oss från det första exemplet med schema 3.

Var kommer den här koden på webbplatser ifrån och varför kan den vara farlig?
Webbplatser hackas som regel inte längre manuellt. Allt har automatiserats. För dessa ändamål har hackare skrivit mycket, som applikationsprogram, och serverapplikationer. Den vanligaste processen för automatisk introduktion av skadliga länkar till webbplatser är stöld av ftp-lösenord och vidare bearbetning av dessa data av en specialiserad Iframer-applikation. Iframers jobb är enkelt - att ansluta till resurser med hjälp av en lista med ftp-konton, hitta filer med en given mask, som regel är dessa filer med indexsidor på webbplatser och injicera färdig skadlig kod i dem. Därför, efter att ha tagit bort koden, återinfekteras många webbplatser, även när alla åtkomstlösenord ändras, inklusive de för ftp. Anledningen till detta kan vara förekomsten av ett lösenordstöldande virus på datorn från vilken webbplatsen administreras.

Det finns fall när ägarna av webbplatser där skadlig kod förekommer inte är seriösa med detta problem. Jag håller med, skada som sådan för själva resursen given kod inte orsakar. Endast besökare på den infekterade webbplatsen drabbas. Men det finns andra aspekter som jag vill uppmärksamma.

En webbplats som är värd för skadlig kod hamnar förr eller senare i alla möjliga databaser över infektionshandlare - Lista över skadlig programvara, såväl som sökmotorer som Google eller Yandex, kan markera en infekterad webbplats som potentiellt farlig. Det kommer att vara extremt svårt att ta bort din resurs från en sådan bas när den kommer dit. Det är också möjligt att du förr eller senare kommer att få ett "missbruk" - ett klagomål från webbplatsbesökare. I det här fallet finns det en möjlighet att både blockera webbplatsens domännamn och blockera dess IP-adress. Det har förekommit fall då hela undernät blockerades på grund av en infekterad webbplats.

Hur skyddar du dig från uppkomsten av skadliga koder på dina resurser? För att göra detta är det nödvändigt att uppfylla ett antal krav för informationssäkerhet:

1) Installera antivirusprogram på den fungerande dator från vilken webbplatsen administreras, helst licensierad med dagligen uppdaterade databaser.
2) Installera och konfigurera brandvägg så att all trafik vid arbete med nätverket kontrolleras och vid åtkomst till misstänkta värdar finns möjligheten att blockera den.
3) Använd komplexa lösenord för administrativa gränssnitt och tillgång till ftp- och ssh-tjänster.
4) Spara inte lösenord i Total Commander, Far och andra filhanterare. Som regel nästan alla Trojaner vet redan hur man samlar in denna data och skickar den till en angripare.
5) Öppna eller kör inte filer som tagits emot via e-post eller laddats ner från Internet utan att först kontrollera dem med ett antivirusprogram.
6) Uppdatera programvaran som är installerad på datorn. Installera patchar för operativsystem i rätt tid och uppdatera programvara. Ibland kan de program som du använder dagligen fungera som ett hål i systemet för skadlig programvara att komma in. Särskilt Adobe Acrobat läsare, Flash spelare, program från MS Office-paketet, etc.

Om du följer alla skyddsåtgärder som beskrivs ovan, men hittar skadlig kod på din resurs, kan värdleverantören också vara skyldig, eller snarare inställningarna för servern som är värd för din resurs. I det här fallet måste du kontakta din värdleverantörs supporttjänst och be dem identifiera och eliminera orsaken till incidenten.

Som ni vet, i september 2005, genom dekret av landets president, etablerades UZ-CERT Computer Incident Response Service i Uzbekistan. Tjänstens specialister utför, utöver sina huvuduppgifter, även arbetet med att upptäcka skadliga koder på webbplatser i den nationella domänzonen. För dessa ändamål har ett antal applikationsprogram skrivits för att automatisera huvudpunkterna, men självklart spelar även manuell visning av webbplatser som är misstänkta för infektion en viktig roll. Ibland kan framgångsrikt maskerad skadlig kod som har genomgått "obfuskation" - en förändring i kodens struktur, inte upptäckas med automatiska medel. Information om alla upptäckta infekterade webbplatser publiceras på tjänstens webbplats, såväl som i UZ-CERT-sektionen på uForum.uz. Ägare av infekterade resurser får varningar, råd och hjälp för att eliminera hot och ytterligare skydda sina system. Vi hoppas verkligen att detta arbete är till nytta för Internetanvändare och hjälper till att undvika massinfektion av persondatorer med skadlig programvara.

I Odnoklassniki

Och är en omfattande lärobok i cross-site scripting.

Del ett: Översikt

Vad är XSS?

Skript över webbplatser ( engelsk Cross site scripting) är en kodinjektionsattack som gör att en angripare kan köra skadlig JavaScript i en annan användares webbläsare.

Angriparen attackerar inte sitt offer direkt. Istället utnyttjar den en sårbarhet på webbplatsen som offret besöker och injicerar skadlig JavaScript-kod. I offrets webbläsare visas skadlig JavaScript som en legitim del av webbplatsen, och själva webbplatsen agerar som en direkt medbrottsling till angriparen.

Injektion av skadlig JavaScript-kod

Det enda sättet för en angripare att köra skadlig JavaScript i offrets webbläsare är att injicera det på en av sidorna som offret laddar från webbplatsen. Detta är möjligt om webbplatsen tillåter användare att ange data på sina sidor, och angriparen kan infoga en sträng som kommer att kännas igen som en del av koden i offrets webbläsare.

Exemplet nedan visar ett enkelt serverskript som används för att visa den senaste kommentaren på en webbplats:

skriva ut" "
skriva ut "Sista kommentar:"
print database.latestComment
skriva ut""

Manuset förutsätter att kommentaren endast består av text. Men eftersom direkt användarinmatning är aktiverad kan en angripare lämna denna kommentar: "" . Alla användare som besöker sidan kommer nu att få följande svar:


Sista kommentaren:

När användarens webbläsare laddar sidan kommer den att köra allt, inklusive JavaScript som finns i taggarna. . Detta indikerar att bara närvaron av ett skript som injiceras av en angripare är ett problem, oavsett vilken specifik skriptkod som faktiskt körs.

Del två: XSS Attack

Deltagare i XSS-attacken

Innan vi i detalj beskriver hur en XSS-attack fungerar måste vi definiera de aktörer som är involverade i en XSS-attack. I allmänhet finns det tre aktörer i en XSS-attack: Hemsida, offer, och kracker.

  • Hemsida renderar HTML-sidor för användare som begär dem. I våra exempel finns den på http://webbplats/ .
    • Webbplatsdatabasär en databas som lagrar en del av de uppgifter som användarna anger på webbplatsens sidor.
  • Offer- detta är vanlig användare en webbplats som begär sidor från den med sin webbläsare.
  • Att attackeraär en angripare som har för avsikt att starta en attack mot offret genom att utnyttja en XSS-sårbarhet på webbplatsen.
    • Crack Serverär en webbserver under kontroll av en angripare med det enda syftet att stjäla offrets konfidentiella information. I våra exempel finns den på http://attacker/ .

Exempel på attackmanus

Detta skript kommer att skapa en HTTP-begäran till en annan URL som omdirigerar användarens webbläsare till angriparens server. URL:en inkluderar offrets cookie som en begäran-parameter, när en HTTP-begäran kommer till angriparens server kan angriparen extrahera dessa cookies från begäran. När angriparen har fått tag i cookies kan de använda dem för att utge sig för offret och starta en efterföljande attack.

Från och med nu kommer ovanstående HTML-kod att kallas skadlig sträng eller skadligt skript. Det är viktigt att förstå att själva strängen bara är skadlig om den i slutändan renderas som HTML i offrets webbläsare, vilket bara kan hända om det finns en XSS-sårbarhet på webbplatsen.

Hur detta attackexempel fungerar

Diagrammet nedan visar ett exempel på en attack av en angripare:

  1. Angriparen använder en av webbplatsens formulär för att infoga en skadlig sträng i webbplatsens databas.
  2. Offret begär en sida från en webbplats.
  3. Webbplatsen inkluderar en skadlig sträng från databasen i svaret och skickar den till offret.
  4. Offrets webbläsare kör ett skadligt skript i svaret och skickar offrets cookie till angriparens server.

XSS-typer

Målet med en XSS-attack är alltid att köra ett skadligt JavaScript-skript i offrets webbläsare. Det finns flera fundamentalt olika sätt att uppnå detta mål. XSS-attacker delas ofta in i tre typer:

  • Lagrad (beständig) XSS, där den skadliga strängen kommer från webbplatsens databas.
  • Reflekterad (icke-beständig) XSS, där den skadliga strängen genereras från offrets begäran.
  • XSS DOM-modeller, där sårbarheten uppstår i kod på klientsidan, inte kod på serversidan.

Det föregående exemplet visar en lagrad XSS-attack. Vi kommer nu att beskriva två andra typer av XSS-attacker: reflekterade XSS- och DOM XSS-attacker.

Reflekterad XSS

I en reflekterad XSS-attack är den skadliga strängen en del av offrets begäran till webbplatsen. Webbplatsen accepterar och infogar denna skadliga sträng i svaret den skickar tillbaka till användaren. Diagrammet nedan illustrerar detta scenario:

  1. Offret lurar angriparen att skicka en URL-förfrågan till en webbplats.
  2. Webbplatsen innehåller en skadlig sträng från URL-begäran som svar till offret.
  3. Offrets webbläsare kör det skadliga skriptet som finns i svaret och skickar offrets cookie till angriparens server.

Hur genomför man framgångsrikt en reflekterad XSS-attack?

En reflekterad XSS-attack kan verka ofarlig eftersom den kräver att offret skickar in en begäran som innehåller den skadliga strängen för deras räkning. Eftersom ingen frivilligt kommer att attackera sig själv verkar det inte finnas något sätt att faktiskt genomföra attacken.

Som det visar sig finns det minst två vanliga sätt att få offret att starta en reflekterad XSS-attack mot sig själva:

  • Om användaren är en specifik person kan angriparen skicka en skadlig URL till offret (till exempel med E-post eller messenger) och lura honom att öppna en länk för att besöka en webbplats.
  • Om målet är en stor grupp användare kan angriparen lägga upp en länk till en skadlig URL (till exempel på sin egen webbplats eller socialt nätverk) och vänta på besökare som följer länken.

Båda dessa metoder liknar varandra och båda kan vara mer framgångsrika med URL-förkortningstjänster som maskerar den skadliga strängen från användare som kanske kan identifiera den.

XSS i DOM

XSS i DOM är en variant av både en lagrad och reflekterad XSS-attack. I denna XSS-attack bearbetas inte den skadliga strängen av offrets webbläsare förrän webbplatsens riktiga JavaScript körs. Diagrammet nedan illustrerar detta scenario för en reflekterad XSS-attack:

  1. Angriparen skapar en URL som innehåller en skadlig sträng och skickar den till offret.
  2. Offret lurar angriparen att skicka en URL-förfrågan till en webbplats.
  3. Webbplatsen accepterar begäran men inkluderar inte den skadliga strängen i svaret.
  4. Offrets webbläsare kör det legitima skriptet som finns i svaret, vilket gör att det skadliga skriptet infogas på sidan.
  5. Offrets webbläsare kör det skadliga skriptet som infogats på sidan och skickar offrets cookie till angriparens server.
Vad är skillnaden mellan XSS i DOM-modellen?

I de tidigare exemplen på lagrade och reflekterade XSS-attacker infogar servern ett skadligt skript på en sida, som sedan skickas som svar till offret. När offrets webbläsare får ett svar antar den att det skadliga skriptet är en del av sidans legitima innehåll och kör det automatiskt under sidladdning, precis som alla andra skript.

I DOM XSS-attackexemplet infogas inte det skadliga skriptet som en del av sidan; det enda skriptet som körs automatiskt under sidladdning är den legitima delen av sidan. Problemet är att detta legitima skript direkt använder användarinmatning för att lägga till HTML på sidan. Eftersom den skadliga strängen infogas på sidan med hjälp av innerHTML tolkas den som HTML, vilket gör att det skadliga skriptet körs.

Denna skillnad är liten, men mycket viktig:

  • I traditionell XSS körs skadlig JavaScript när sidan läses in, som en del av HTML-koden som skickas av servern.
  • I fallet med XSS i DOM, exekveras skadlig JavaScript efter att sidan har laddats, vilket resulterar i att sidan med legitim JavaScript kommer åt användarinmatning (som innehåller den skadliga strängen) på ett osäkert sätt.
Hur fungerar XSS i DOM?

I det föregående exemplet finns det inget behov av JavaScript; servern kan generera all HTML själv. Om koden på serversidan inte innehöll sårbarheter skulle webbplatsen inte påverkas av XSS-sårbarheten.

Men i takt med att webbapplikationer blir mer avancerade genereras fler och fler HTML-sidor med JavaScript på klientsidan snarare än på serversidan. När som helst bör innehållet ändras utan att hela sidan uppdateras, detta är möjligt med använder JavaScript. Detta är särskilt fallet när sidan uppdateras efter en AJAX-förfrågan.

Detta innebär att XSS-sårbarheter kan finnas inte bara på serversidan av din webbplatskod, utan även på klientsidan av din webbplats JavaScript-kod. Därför, även med helt säker kod på serversidan, kanske klientkoden fortfarande inte säkert inkluderar användarinmatning när DOM uppdateras efter att sidan har laddats. Om detta händer kommer koden på klientsidan att tillåta en XSS-attack utan fel på serversidans kod.

DOM-baserad XSS kanske inte är synlig för servern

Det finns ett specialfall av en XSS-attack i DOM där den skadliga strängen aldrig skickas till webbplatsservern: detta händer när den skadliga strängen finns i ett fragment av en URL-identifierare (allt efter #-symbolen). Webbläsare skickar inte den här delen av URL:en till servern, så webbplatsen kan inte komma åt den med kod på serversidan. Kod på klientsidan har dock tillgång till det, och därmed är en XSS-attack genom osäker bearbetning möjlig.

Det här fallet är inte begränsat till fragment-ID. Det finns annan användarinmatning som är osynlig för servern, till exempel nya HTML5-funktioner som LocalStorage och IndexedDB.

Del tre:
XSS-förebyggande

XSS förebyggande metoder

Kom ihåg att XSS är en kodinjektionsattack: användarinmatning tolkas av misstag som skadlig kod. Säker ingångshantering krävs för att förhindra denna typ av kodinjektion. För en webbutvecklare finns det två grundläggande olika sätt utför säker indatabehandling:

  • Kodningär en metod som tillåter att användarinmatning endast bearbetas som data och inte tillåter webbläsaren att bearbeta det som kod.
  • Godkännandeär ett sätt att filtrera användarinmatning så att webbläsaren tolkar det som kod utan skadliga kommandon.

Även om dessa är fundamentalt olika XSS-förebyggande metoder, delar de några gemensamma drag som är viktiga att förstå när du använder någon av dem:

Sammanhang Säker inmatningshantering bör göras olika beroende på var på sidan användarinmatning används. inkommande/utgående Säker indatabearbetning kan göras antingen när din webbplats tar emot input (inkommande trafik) eller precis innan webbplatsen infogar användarinmatning i sidinnehållet (utgående). Klient/server Säker ingångshantering kan göras antingen på klientsidan eller på serversidan, varje alternativ behövs under olika omständigheter.

Innan vi förklarar i detalj hur kodning och validering fungerar kommer vi att beskriva var och en av dessa punkter.

Hantera användarinmatning i sammanhang

Det finns många sammanhang på en webbsida där användarinmatning kan tillämpas. För var och en av dem måste särskilda regler följas så att användarinmatning inte kan "bryta sig ut" ur sitt sammanhang och tolkas som skadlig kod. Följande är de vanligaste sammanhangen:

Vad är meningen med sammanhang?

I alla de beskrivna sammanhangen kan en XSS-sårbarhet uppstå om användarinmatning infogades före den första kodningen eller valideringen. En angripare kan injicera skadlig kod helt enkelt genom att infoga en avslutande avgränsare för detta sammanhang följt av skadlig kod.

Till exempel om en webbplats vid något tillfälle inkluderar användarinput direkt i HTML-attribut, skulle en angripare kunna injicera ett skadligt skript genom att starta sin inmatning med ett citat, som visas nedan:

Detta kunde ha förhindrats genom att helt enkelt ta bort alla citattecken i användarinmatningen och allt skulle vara bra, men bara i detta sammanhang. Om inmatningen infogades i ett annat sammanhang kommer den avslutande avgränsaren att vara annorlunda och injicering är möjlig. Av denna anledning måste säker ingångshantering alltid anpassas till det sammanhang där användarinmatning kommer att infogas.

Hantera inkommande/utgående användarinmatning

Instinktivt verkar det som om XSS skulle kunna förhindras genom att koda eller validera all användarinmatning så snart vår sida tar emot den. På så sätt kommer alla skadliga strängar redan att neutraliseras när de ingår på sidan, och HTML-genereringsskripten behöver inte oroa sig för att hantera användarinmatning på ett säkert sätt.

Problemet är att, som beskrivits tidigare, användarinmatning kan infogas i flera sammanhang på sidan. Och nej enkla vägen avgöra när användarinmatning anländer i ett sammanhang - hur den så småningom kommer att infogas, och samma användarinmatning behöver ofta infogas i olika sammanhang. Genom att förlita oss på att hantera inkommande indata för att förhindra XSS skapar vi en mycket spröd lösning som är benägen för fel. (De föråldrade PHP "magiska citaten" är ett exempel på en sådan lösning.)

Istället bör utgående inmatningshantering vara din huvudsakliga försvarslinje mot XSS eftersom den kan ta hänsyn till det specifika sammanhanget för vilken användarinmatning som kommer att infogas. Till viss del kan inkommande validering användas för att lägga till ett sekundärt lager av skydd, men mer om det senare.

Där det är möjligt att hantera användarinmatning säkert

I de flesta moderna webbapplikationer bearbetas användarinmatning både på serversidan och på klientsidan. För att skydda mot alla typer av XSS måste säker ingångshantering ske i både kod på serversidan och kod på klientsidan.

  • För att skydda mot traditionell XSS måste säker ingångshantering ske i kod på serversidan. Detta görs med något språk som stöds av servern.
  • För att skydda mot en XSS-attack i DOM, där servern aldrig tar emot en skadlig sträng (till exempel identifierarfragmentattacken som beskrivits tidigare), måste säker ingångshantering göras i kod på klientsidan. Detta görs med JavaScript.

Nu när vi har förklarat varför sammanhanget är viktigt, varför distinktionen mellan inkommande och utgående indatabehandling är viktig och varför säker indatabehandling måste göras på båda sidor, både på klientsidan och på serversidan, kan vi fortsätta att förklara, hur de två typerna av säker indatabehandling (kodning och validering) faktiskt utförs.

Kodning

Kodning är en väg ut ur en situation där det är nödvändigt för webbläsaren att endast tolka användarinmatning som data, inte kod. Den mest populära typen av kodning inom webbutveckling är HTML-escapement, som konverterar tecken som t.ex < och > i < och > respektive.

Följande pseudokod är ett exempel på hur användarinmatning (användarinmatning) kan kodas med HTML-escapement och sedan infogas på en sida med hjälp av ett serversideskript:

skriva ut" "
skriva ut "Sista kommentar:"
print encodeHtml(userInput)
skriva ut""

Om användaren går in på följande rad, kommer den resulterande HTML-koden att se ut så här:


Sista kommentaren:

Eftersom alla tecken med en speciell betydelse har escapets, kommer webbläsaren inte att analysera någon del av användarinmatningen som HTML.

Kodning på klient- och serversidan

När man utför kodning på klientsidan används alltid JavaScript som har inbyggda funktioner som kodar data för olika sammanhang.

När du gör kodning i din serversidekod förlitar du dig på funktioner som är tillgängliga på ditt språk eller ramverk. På grund av det stora antalet tillgängliga språk och ramverk är detta handledning kommer inte att täcka detaljerna om kodning i något speciellt serverspråk eller ramverk. JavaScript-kodningsfunktionerna som används på klientsidan används dock även när kod på serversidan skrivs.

Kodning på klientsidan

När du kodar användarinmatning på klientsidan med JavaScript, finns det flera inbyggda metoder och egenskaper som automatiskt kodar all data i en sammanhangskänslig stil:

Det sista sammanhanget som nämns ovan (värden i JavaScript) ingår inte i denna lista eftersom JavaScript inte tillhandahåller ett inbyggt sätt att koda data som kommer att inkluderas i JavaScript-källkoden.

Kodningsbegränsningar

Även vid kodning är det möjligt att använda skadliga strängar i vissa sammanhang. Ett utmärkt exempel på detta är när användarinmatning används för att tillhandahålla en URL, som i exemplet nedan:

document.querySelector("a").href = userInput

Även om det angivna värdet i elementets href-egenskap automatiskt kodar det så att det inte blir något mer än värdet på attributet, hindrar detta i sig inte en angripare från att infoga en URL som börjar med "javascript:". När länken klickas, oavsett konstruktion, kommer det inbäddade JavaScriptet i URL:en att köras.

Kodningen är också effektiv lösning när du vill att användare ska kunna använda en del av HTML-koden på sidan. Ett exempel skulle vara en användarprofilsida där användaren kan använda anpassad HTML. Om denna vanliga HTML är kodad kan profilsidan endast bestå av vanlig text.

I sådana här situationer måste kodning kompletteras med validering, vilket vi ska titta på härnäst.

Godkännande

Validering är handlingen att filtrera användarinmatning så att alla skadliga delar av den tas bort utan att behöva ta bort all kod i den. En av de mest använda typerna av validering inom webbutveckling låter dig använda vissa HTML-element (t.ex. och ) men förbjuder andra (t.ex.

Med en korrekt definierad CSP-policy kan webbläsaren inte läsa in och köra malicious-script.js eftersom http://attacker/ inte är listad som en pålitlig källa. Även om webbplatsen inte kunde bearbeta användarindata på ett tillförlitligt sätt, förhindrade CSP-policyn i det här fallet att sårbarheten orsakade någon skada.

Även om en angripare injicerade kod i skriptkoden, och inte en länk till en extern fil, skulle en korrekt konfigurerad CSP-policy också förhindra injektion i JavaScript-kod, vilket förhindrar sårbarheten och orsakar all skada.

Hur aktiverar man CSP?

Som standard använder webbläsare inte CSP. För att aktivera SCP på din webbplats måste sidorna innehålla en extra HTTP-rubrik: Content-Security-Policy . Varje sida som innehåller denna rubrik kommer att tillämpa säkerhetspolicyer när den laddas av webbläsaren, förutsatt att webbläsaren stöder CSP.

Eftersom säkerhetspolicyn skickas med varje HTTP-svar är det möjligt för servern att individuellt ställa in policyn för varje sida. Samma policy kan tillämpas på hela webbplatsen genom att infoga samma CSP-huvud i varje svar.

Värdet i rubriken Content-Security-Policy innehåller en sträng som anger en eller flera säkerhetspolicyer som fungerar på din webbplats. Syntaxen för denna rad kommer att beskrivas härnäst.

Rubrikexemplen i det här avsnittet använder radbrytningar och indrag för att underlätta läsningen; de ska inte finnas i den verkliga rubriken.

CSP-syntax

CSP-huvudsyntaxen är som följer:

Innehållssäkerhetspolicy:
direktiv källuttryck, källuttryck, ...;
direktiv ...;
...

Denna syntax består av två element:

  • direktiv som är strängar som indikerar typen av resurs hämtad från den givna listan.
  • Källuttryckär en modell som beskriver en eller flera servrar från vilka resurser kan laddas ner.

För varje direktiv avgör data i källuttrycket vilka källor som kan användas för att ladda resurser av den typen.

direktiv

Följande direktiv kan användas i CSP-huvudet:

  • connect-src
  • font-src
  • frame-src
  • img-src
  • media-src
  • objekt-källa
  • script-src
  • style-src

Dessutom kan det särskilda default-src-direktivet användas för att tillhandahålla ett standardvärde för alla direktiv som inte ingick i rubriken.

Källuttryck

Syntaxen för att skapa ett källuttryck är följande:

protokoll:// värdnamn: portnummer

Värdnamnet kan börja med * , vilket betyder att alla underdomäner av det angivna värdnamnet kommer att tillåtas. På liknande sätt kan ett portnummer representeras som * , vilket betyder att alla portar kommer att tillåtas. Dessutom kan protokollet och portnumret utelämnas. Om inget protokoll anges kräver policyn att alla resurser laddas med HTTPS.

Utöver ovanstående syntax kan källuttrycket alternativt vara ett av fyra nyckelord med speciell betydelse (citat ingår):

"ingen" inaktiverar resurser. "self" löser resurser från värden där webbsidan finns. "osäkra-inline" tillåter resurser som finns på sidan att vara inline