Какво е зловреден код. Какво е зловреден код Поставете силни пароли на сървърния софтуер

Зловреден код е код, който пречи на нормалната работа на уебсайт. Може да се вгражда в теми, бази данни, файлове и добавки.


Още видеоклипове в нашия канал - научете интернет маркетинг със SEMANTICA

Резултатът от работата на зловреден код може да бъде премахването на полезно съдържание или публикуването му на ресурс на трета страна. По този начин нападателите могат да организират кражба на съдържание. Особено разочароващо е, ако млад ресурс с авторски статии е бил подложен на това влияние. Може да останете с впечатлението, че той е откраднал съдържание от по-стар ресурс.

Освен това зловреден код може да бъде поставен в безплатна тема скрити връзкикъм страници на трети страни, достъпни за търсачките. Тези връзки не винаги ще бъдат злонамерени, но теглото на основния сайт е гарантирано от това да пострада.

Общата цел на всички злонамерени кодове е да прекъсват уеб страниците.

Външно зловредният код е хаотичен набор от знаци. В действителност тази глупост крие криптиран код, съдържащ последователност от команди.

Как зловреден код попада на сайта

Има два начина, по които зловреден код може да влезе в сайт.

1. Изтегляне на файлове и добавки от съмнителни и ненадеждни ресурси. Най-често криптирани връзки проникват в сайта по такива начини. Явният код рядко влиза в сайта по този начин.

2. последвано от проникване. Този метод се счита за по-опасен, тъй като хакването на уеб страница прави възможно прехвърлянето не само на „еднократен“ код, но и на цели структури с елементи на злонамерена програма (malware).

Такъв код е много трудно да се унищожи, защото. може да се възстанови след изтриване.

Проверка на уебсайта за злонамерен код

Трябва да се помни, че тези коварни конструкции могат да се появят не само в активната тема, но и във всеки файл с ресурси. Има няколко начина да ги намерите:

  • Ръчно. За да направите това, трябва да сравните съдържанието на всички текущи файлове с незаразени версии на архива. Всичко, което е различно, трябва да бъде премахнато.
  • С добавки за сигурност. По-специално, WordPress предлага плъгина Wordfence Security. Има опция за сканиране на файлове на страници за съдържание на външен код.
  • С помощта на хостинг поддръжка. Собственикът на сайта има право да се свърже с тях с молба за сканиране на ресурса с тяхната антивирусна програма. В резултат на това те ще предоставят отчет, отразяващ наличието на заразени файлове. Тези файлове могат да бъдат изчистени от външни конструкции с помощта на обикновен текстов редактор.
  • Чрез SSH достъп до сайта. Самото търсене се извършва с помощта на командите:

find /текуща директория на страницата -type f -iname "*" -exek -"eval" () \; > ./eval.log

намери /текуща директория на страницата -тип f -iname "*" -exek-"base64" () \; > ./base64.log

find /текуща директория на страницата -type f -iname "*" -exek -"file_get_contents" () \; > ./file_get_contents.log

В резултат на тяхното изпълнение ще бъде получена информация за съмнителни файлове. Списъкът с тези файлове ще бъде записан в регистрационния файл, съхранен в текущата директория.

  • Проверка на сайт за злонамерен код с помощта на функцията eval. Тази php функция изпълнява всеки, дори криптиран код. Като един от аргументите, типът на кодиране се дава като вход за тази функция (обикновено base64_decode или str_rot13). Благодарение на използването на популярни кодировки злонамереният код изглежда като безсмислен набор от латински знаци.

Отворете редактора на страницата.

Копирайте съдържанието на файла functions.php в клипборда.

Поставете го във всеки текстов редактор(тетрадка).

Намерете командата eval.

  • Преди да премахнете злонамерения код, анализирайте какви параметри очаква функцията като вход. защото параметрите се получават в криптирана форма, те трябва да бъдат декриптирани с помощта на декодери. След като разпознаете входния параметър, можете да вземете решение за неговото бъдещо местоположение в текста на файла functions.php.

Премахване на зловреден код

След откриване на зловреден код, той просто трябва да бъде изтрит като обикновен ред в текстов файл.

Защита от зловреден код

За да предотвратите появата на зловреден код в сайта, е необходимо да спазвате редица превантивни мерки.

Използвайте само доказан софтуер:

  • Изтегляйте дистрибуции само от доверени източници.
  • След време стартирайте актуализацията на сървърния софтуер.
  • Извършвайте редовни одити на сигурността на сървъра.
  • Премахнете остарелите скриптове за отстраняване на грешки.

Задайте силни пароли на сървърния софтуер:

  • Измислете структура от 12 знака, която включва цифри и букви с различен регистър.
  • Създайте своя собствена уникална парола за всяка услуга.
  • Сменяйте паролите си на всеки 3 месеца.

Поемете контрола върху въвеждането от потребителя:

  • Настройте HTML маркиращи филтри в полетата за въвеждане, чието съдържание ще бъде включено в кода на страницата.
  • Организирайте валидиране от страна на сървъра на входните данни за съответствие с допустимия интервал.
  • Използвайте WAF. Защитната стена на уеб приложения е мощен инструмент за защита на вашия сайт от хакерски атаки.

Ограничете правата за достъп до вашия ресурс.

Блокирайте или ограничете достъпа до инструментите за администриране на двигателя на вашия уебсайт и неговите бази данни. Освен това блокирайте достъпа до файлове с настройки и резервни копия на работния код.

Подобно проникване на злонамерен код е най-податливо на онези сайтове, на които е въведена възможност за изтегляне на потребителски файлове.

1. Организирайте защита срещу ботове. За тези цели много CMS са оборудвани със специални добавки;

2. Настройте проверка на въведеното от потребителя:

  • Предотвратете вмъкването на JavaScript код вътре в конструкцията t>.
  • Поддържайте списък с безопасни HTML тагове и филтрирайте конструкции, които не са включени в този списък.
  • Анализирайте връзките, изпратени от потребителите.
  • За това има специални услуги, като API за безопасно сърфиране. Позволява ви да проверите сигурността на документ по URL адрес.

Как да предотвратите случайно поставяне на зловреден код.

  • Внимателно следете софтуера, който използвате:

Изтегляйте CMS библиотеки и разширения само от доверени източници и най-добре от официални сайтове.

Проучете кода на нестандартните разширения, които ще поставите в двигателя на вашия сайт.

  • Поставете рекламите много внимателно:

Публикувайте реклами на вашия сайт, които се предлагат само от надеждни рекламодатели.

Опитайте се да включите статично съдържание на страницата си.

внимавай партньорски програмисъс скрити блокове.

Разпространение на зловреден софтуер чрез уебсайтове

Костин Раю, Kaspersky Lab

Въведение. Киберпрестъпността: тенденции и развитие

През последните няколко години интернет се превърна в опасно място. Първоначално създаден за сравнително малък брой потребители, той далеч надхвърли очакванията на своите създатели. Днес в света има повече от 1,5 милиарда интернет потребители и техният брой непрекъснато нараства, тъй като технологията става все по-достъпна.

Престъпниците също забелязаха тази тенденция и много бързо осъзнаха, че извършването на престъпления чрез интернет (сега наричани киберпрестъпления) има редица значителни предимства.

Първо, киберпрестъпността не е много рискова: тъй като няма геополитически бариери, за правоприлагащите органи е трудно да залавят престъпниците. Освен това провеждането на международни разследвания и съдебни спорове струва много пари, така че подобни действия обикновено се предприемат само в специални случаи. Второ, киберпрестъпността е проста: в интернет има огромен брой "инструкции" за хакване на компютри и писане на вируси и не са необходими специални знания или опит. Това са двата основни фактора, които превърнаха киберпрестъпността в индустрия за милиарди долари, която наистина е затворена екосистема.

Както компаниите за информационна сигурност, така и производителите на софтуер непрекъснато се борят с киберпрестъпността. Тяхната цел е да осигурят на интернет потребителите надеждна защита и да създадат сигурна софтуер. Нападателите от своя страна постоянно променят тактиката си, за да противодействат на предприетите контрамерки, което доведе до две различни тенденции.

Първо, злонамереният софтуер се внедрява с помощта на уязвимости от нулев ден, т.е. Уязвимости, за които все още не са създадени пачове. С помощта на такива уязвимости, дори такива компютърни системина който всички Последни актуализации, но няма специални защитни решения. Уязвимостите от нулевия ден са ценна стока (използването им може потенциално да доведе до сериозни последствия), те се продават на черния пазар за десетки хиляди долари.

Второ, виждаме рязко увеличение на броя на злонамерените програми, предназначени специално да крадат чувствителна информация, за да я продадат на черния пазар: номера на кредитни карти, банкови данни, пароли за достъп до сайтове като eBay или PayPal и дори онлайн пароли.-игри, например към World of Warcraft.

Една очевидна причина за възхода на киберпрестъпленията е тяхната рентабилност, която винаги ще бъде движещата сила зад създаването на нови технологии за киберпрестъпления.

В допълнение към разработките, които се извършват за нуждите на киберпрестъпниците, отбелязваме още една тенденция - разпространението на зловреден софтуер чрез World Wide Web. След епидемиите в началото на това десетилетие, причинени от червеи като Melissa, много компании за сигурност са съсредоточили усилията си върху разработването на решения, които биха могли да неутрализират злонамерени прикачени файлове. Това понякога води до премахване на всички изпълними прикачени файлове от съобщенията.

Напоследък обаче мрежата се превърна в основния източник на разпространение на зловреден софтуер. Злонамереният софтуер се поставя на уебсайтове и след това или подмамва потребителите да го стартират ръчно, или програмите се изпълняват автоматично чрез експлойти на заразени компютри.

Ние от Kaspersky Lab наблюдаваме това с нарастваща загриженост.

Статистика

През последните три години ние наблюдавахме така наречените чисти уебсайтове (между 100 000 и 300 000), за да определим в кой момент те са станали точки за разпространение на зловреден софтуер. Броят на наблюдаваните сайтове непрекъснато нараства с регистрираните нови домейни.

Таблицата показва регистрирания максимален процент на заразяване на уеб страниците, наблюдавани през годината. Очевидно е рязко увеличение на дела на заразените сайтове: ако през 2006 г. почти всеки сайт от двадесет хиляди беше заразен, то през 2009 г. всеки сайт от сто и петдесет вече беше заразен. Процентът на сайтовете, които са заразени, варира около тази последна цифра, което може да показва, че е достигната точка на насищане: всички уебсайтове, които биха могли да бъдат заразени, са били заразени. Техният брой обаче нараства или намалява с откриването на нови уязвимости или появата на нови инструменти, които позволяват на нападателите да заразяват нови уебсайтове.

Следващите две таблици показват данни за най-често срещания зловреден софтуер на уебсайтове през 2008 и 2009 г.

Топ 10 на зловреден софтуер - 2008 г

Топ 10 на зловреден софтуер - 2009 г

През 2008 г. троянският кон Trojan-Clicker.JS.Agent.h беше открит в голям брой случаи. Следва го Trojan-Downloader.JS.Iframe.oj с марж под 1%.


Страницата е заразена с Trojan-Clicker.JS.Agent.h

Декодиран Trojan-Clicker.JS.Agent.h

Trojan-Clicker.JS.Agent.h е типичен пример за механизъм, който беше използван през 2008 г. и все още се използва (през 2009 г.) за инжектиране на зловреден код. Към страницата се добавя малка част от JavaScript код, който обикновено е обфускиран, за да затрудни анализирането. В кода, показан на фигурата по-горе, обфускацията се състои просто от замяна на ASCII символите, които съставят злонамерения код, с техните шестнадесетични кодове. Веднъж дешифриран, кодът обикновено е iframe, който води до сайта, където се намират експлойтите. IP адресът, към който сочи връзката, може да се промени, тъй като експлойтите се хостват на много различни сайтове. Началната страница на злонамерен сайт обикновено съдържа експлойти за IE, Firefox и Opera. Trojan-Downloader.JS.Iframe.oj, вторият най-често използван зловреден софтуер, работи по подобен начин.

През 2009 г. имаше два интересни случая, при които зловреден софтуер се разпространяваше чрез уеб страници. В първия случай става дума за злонамерения софтуер Net-Worm.JS.Aspxor.a, който беше открит за първи път през юли 2008 г. и стана широко разпространен през 2009 г. Този зловреден софтуер с специална полезностоткрива SQL уязвимости на уебсайтове, чрез които инжектира злонамерени вградени рамки.

Друг интересен случай е зловредният софтуер Gumblar. Той е кръстен на китайския домейн, който е използвал за разпространение на експлойти. Низът „gumblar“ в обфусциран JavaScript, хвърлен върху уебсайт, е сигурен знак, че сайтът е заразен.


Пример за вграждане на код на Gumblar в страница на уебсайт

След деобфускацията злонамереният код на Gumblar изглежда така:


Gumblar декодиран код

Домейнът “gumblar.cn” беше затворен, което обаче не попречи на киберпрестъпниците да продължат злонамерените атаки от нови домейни.

Начини на инфекция и методи на разпространение

В момента има три основни начина за заразяване на уебсайтове със зловреден софтуер.

Първият популярен метод е използването на уязвимостите на самия уебсайт. Например въвеждането на SQL код, който ви позволява да добавяте зловреден код към страниците на сайта. Инструменти за атака като ASPX или Trojan демонстрират как работи този метод: те могат да се използват за масово сканиране и инжектиране на зловреден код на хиляди IP адреси едновременно. Следи от такива атаки често могат да се видят в регистрационните файлове за достъп до уеб сървъра.

Вторият метод включва заразяване на компютъра на разработчика на уебсайта със зловреден софтуер, който следи създаването и зареждането на HTML файлове и след това инжектира зловреден код в тези файлове.

И накрая, друг метод е да заразите троянски кон за кражба на пароли (като Ransom.Win32.Agent.ey) на компютъра на разработчик на уебсайт или друго лице с достъп до хостинг акаунт. Такъв троянски кон обикновено комуникира със сървъра чрез HTTP, за да прехвърли пароли за FTP акаунти, които събира от популярни ftp клиенти като FileZilla и CuteFtp. Компонентът на зловреден софтуер, разположен на сървъра, записва получената информация в базата данни SQL данни. След това специална програма, също разположена на сървъра, изпълнява процедурата за влизане във всички FTP акаунти, извлича индексната страница, добавя кода, заразен с троянски кон, и зарежда страницата обратно.

Тъй като във втория случай информацията за акаунта на хостинг доставчика става известна на нападателите, сайтовете често се заразяват повторно: разработчиците на уеб страници сами забелязват инфекцията или научават за нея от посетителите на сайта, почистват страницата от зловреден код и на следващия ден страницата отново е заразена.


Пример за повторно заразяване на уеб страница (*.*.148.240)

Друга често срещана ситуация е, когато информация за една и съща уязвимост или данни за хостинг акаунт едновременно попаднат в ръцете на различни кибергрупи, между които започва борба: всяка група се стреми да зарази уебсайт със собствен зловреден софтуер. Ето пример за такава ситуация:


Пример за многократно заразяване на уебсайт (*.*.176.6) с различен зловреден софтуер

На 11.06.2009 г. уебсайтът, който наблюдавахме, беше чист. На 07/05/2009 Trojan-Clicker.JS.Agent.gk е заразен със зловреден софтуер. На 15.07.2009 г. уебсайтът е заразен с друг зловреден софтуер, Trojan-Downloader.JS.Iframe.bin. Десет дни по-късно сайтът е заразен с друга програма.

Тази ситуация е доста често срещана: уебсайтовете могат да бъдат заразени едновременно с различен злонамерен софтуер, чийто код се поставя един след друг. Това се случва, когато данните за достъп попаднат в ръцете на различни кибергрупи.

Следва последователност от действия, които трябва да се предприемат, ако уебсайт е заразен със злонамерен код:

  • Задайте кой има достъп до хостинг сървъра. Започнете да проверявате компютрите им с програма за интернет сигурност с актуална база данни. Премахнете целия открит зловреден софтуер
  • Задайте нова силна парола за хостинг. Силната парола трябва да се състои от символи, цифри и специални знаци, за да бъде по-трудна за отгатване
  • Заменете всички заразени файлове с чисти копия
  • Намерете всички резервни копия, които може да съдържат заразени файлове и ги дезинфекцирайте

Нашият опит показва, че заразените уебсайтове често се заразяват повторно след лечение. От друга страна, това обикновено се случва само веднъж: ако след първото заразяване уеб администраторът може да се ограничи до относително повърхностни действия, в случай на повторно заразяване той обикновено предприема по-сериозни мерки, за да гарантира сигурността на сайта.

Еволюция: хостване на зловреден софтуер на „чисти“ уебсайтове

Преди няколко години, когато киберпрестъпниците започнаха активно да използват мрежата за хостване на зловреден софтуер, те обикновено действаха чрез така наречения брониран хостинг или хостинг, където плащаха с откраднати кредитни карти. Забелязвайки тази тенденция, компаниите за интернет сигурност обединиха сили в борбата срещу безскрупулните хостинг доставчици, които позволяват хостинг на злонамерени ресурси (като американския хостинг доставчик McColo и естонския доставчик EstDomains. И въпреки че днес все още има случаи, когато зловреден софтуер се хоства специално на злонамерен сайтове, разположени например в Китай, където все още е трудно да затворите сайт, има важен обрат към хостването на зловреден софтуер на „чисти“ и доста надеждни домейни.

Действие и реакция

Както вече казахме, един от най-важните аспекти на постоянната борба между киберпрестъпниците и доставчиците на антивирусни програми е способността бързо да се реагира на това, което врагът прави. И двете страни непрекъснато променят тактиката си на борба и въвеждат в действие нови технологии, опитвайки се да противодействат на врага.

Повечето уеб браузъри (Firefox 3.5, Chrome 2.0 и Internet Explorer 8.0) вече имат вградена защита под формата на URL филтър. Този филтър предотвратява достъпа на потребителя до злонамерени сайтове, които съдържат експлойти за известни или неизвестни уязвимости или които използват техники за социално инженерство за кражба на лична информация.

Например Firefox и Chrome използват API на Google за безопасно сърфиране, безплатно обслужванеот Google за филтриране на URL адреси. Към момента на писане списъкът с API за безопасно сърфиране на Google съдържа приблизително 300 000 известни злонамерени уебсайта и над 20 000 фишинг уебсайта.

Google Safe Browsing API използва по-интелигентен подход към филтрирането на URL адреси: вместо да изпраща всеки URL към външен ресурс за проверка, както прави филтърът за фишинг в Internet Explorer 8, Google Safe Browsing проверява URL адресите спрямо техните контролни суми, изчислени от алгоритъма MD5. За да бъде ефективен този метод на филтриране, списъкът контролни сумизлонамерените адреси трябва да се актуализират редовно; актуализациите се препоръчват на всеки 30 минути. Недостатъкът на този метод е, че броят на злонамерените уебсайтове е по-голям от броя на записите в списъка. За оптимизиране на размера на списъка (в момента около 12 MB) са включени само най-често срещаните злонамерени сайтове. Това означава, че дори ако използвате приложения, които поддържат тези технологии, вашият компютър все още е изложен на риск от заразяване, когато посещавате злонамерени сайтове, които не са включени в списъка. Като цяло широкото използване на технологии за безопасна навигация показва, че разработчиците на уеб браузъри са забелязали новата тенденция за разпространение на зловреден софтуер чрез уебсайтове и предприемат действия. Всъщност уеб браузърите с активирана защита вече се превръщат в норма.

Заключение

През последните три години се наблюдава рязко увеличение на броя на законните уебсайтове, заразени със зловреден софтуер. Днес броят на заразените сайтове в интернет е сто пъти по-голям, отколкото преди три години. Често посещаваните сайтове са привлекателни за киберпрестъпниците, защото могат да заразят голям брой компютри за кратко време.

Уеб администраторите могат да предложат няколко прости съветиза това как да защитите уебсайтове:

  • Защитете хостинг акаунтите със силни пароли
  • За да качвате файлове на сървъри, използвайте SCP/SSH/SFTP протоколи вместо FTP - по този начин ще се предпазите от изпращане на пароли по интернет в чист текст
  • Инсталирайте антивирусен продукт и стартирайте сканиране на компютъра
  • Дръжте няколко на склад резервни копиясайт, за да можете да го възстановите в случай на заразяване.

Когато сърфирате в интернет, има няколко фактора, които увеличават риска от заразяване със злонамерен код от уебсайт: използване на пиратски софтуер, игнориране на актуализации, които коригират уязвимости в софтуера, който използвате, липса на антивирусно решение на вашия компютър и общи невежество или непълно разбиране на интернет заплахите.

Пиратският софтуер играе важна роля в разпространението на зловреден софтуер. Пиратски копия Microsoft Windowsобикновено не поддържат автоматични актуализации, издаден от Microsoft, който дава възможност на киберпрестъпниците да използват неотстранени уязвимости в тези продукти.

Освен това стар Интернет версии Explorer, все още най-популярният браузър, има голям брой уязвимости. В повечето случаи Internet Explorer 6.0 без инсталирани актуализациинезащитени от злонамереното въздействие на злонамерен уебсайт. Поради това е изключително важно да избягвате използването на пиратски софтуер, особено пиратски копия на Windows.

Друг рисков фактор е работата на компютър без инсталирана антивирусна програма. Дори ако самата система има инсталирани най-новите актуализации, зловреден код може да проникне в нея чрез уязвимости от нулевия ден в софтуер на трети страни. Актуализации антивирусни програмиобикновено се пускат много по-често от корекциите за софтуерни продукти и осигуряват сигурност на системата във време, когато уязвимостите в софтуера на трети страни все още не са коригирани.

Въпреки че е важно да се инсталират софтуерни актуализации, за да се поддържа необходимото ниво на сигурност, човешкият фактор също играе важна роля. Например, потребител може да иска да гледа „интересно видео“, изтеглено от мрежата, без да знае, че вместо видеото е поставен зловреден софтуер. Този трик често се използва в злонамерени сайтове, в случай че експлойтите не успеят да проникнат в операционната система. Този пример показва защо потребителите трябва да са наясно с опасностите от интернет заплахи, особено тези, свързани със социалните мрежи (Web 2.0), които напоследък са активно атакувани от киберпрестъпници.

  • Не изтегляйте пиратски софтуер
  • Актуализирайте навреме целия софтуер: операционна система, уеб браузъри, програми за преглед на PDF файлове, плейъри и др.
  • Инсталирайте и винаги използвайте антивирусен продукт като Kaspersky InternetСигурност 2010
  • Направете си правило служителите ви да прекарват няколко часа всеки месец в уебсайтове за сигурност като www.viruslist.com, където могат да научат за онлайн заплахите и как да се защитят.

И накрая, запомнете: предотвратяването на инфекция е по-лесно, отколкото лечението. Вземете мерки за сигурност!

Категория: .

Тази статия е насочена към потребителите и собствениците на Интернет информационни ресурси. Целта на статията е да опише методите за заразяване на уебсайтове със зловреден код, възможните последствия от това и начините за борба със зловреден софтуер.

Какъв е този зловреден код, откъде идва и колко опасен е?

Зловреден код е връзка към ресурс, съдържащ зловреден софтуер. Най-често срещаният днес е или фалшив антивирус (Fake Antivirus), или заместващ модул за издаване на заявки за търсене, или софтуер за изпращане на спам. В някои случаи зловреден софтуер може да комбинира функциите за кражба на поверителни данни от компютъра на потребителя, например пароли от административни интерфейси за управление на уебсайтове, пароли за ftp, акаунти за онлайн услуги.

1) Злонамерена връзка води до система за разпределение на трафика (TDS). Системата за разпределение на трафика ви позволява да пренасочвате посетителя в зависимост от страната, операционна система, браузър, използван език и други подробности на различни ресурси. Тези ресурси от своя страна съдържат злонамерен софтуер специално за тази аудитория или този уязвим софтуер. Освен това, ако щракнете върху злонамерена връзка от версия на браузър или операционна система, която не е предвидена от нападателя, ще видите или просто празен екран, или например търсачка Google страница. Това прави малко по-трудно откриването на зловреден софтуер. Въпреки това, с внимателен анализ, можете да разберете логиката на системата и да се предпазите от инфекция.
2) Злонамерена връзка води до „спойлери“ за популярни браузъри и софтуерни продукти. „Спойли“ са специално създадени кодове, които използват уязвимости в софтуера за тихо изтегляне и изпълнение на зловреден софтуер на компютъра на потребителя. В този случай софтуерът на потребителя се определя и в случай на неговата уязвимост възниква инфекция.

За да се скрие наличието на злонамерен код на уебсайт, той се криптира, но има случаи на отворен код.

Пример за шифрована злонамерена връзка:

Нека направим малък анализ на структурата на злонамерена връзка:
име на домейн— bestlotron.cn
сценарий- in.cgi (система за разпределение на трафик SUTRA)
схема— кокакола51

Злонамерените връзки, пренасочващи към система за разпределение на трафика, са най-често срещаните напоследък. В този случай нападателят, след като е получил достъп до уебсайт и е поставил злонамерена връзка към системата за разпределение на трафика на своя ресурс, може да контролира трафика от този уебсайт. Схемата "cocacola51", която е посочена в примера, може да съдържа повече от един зловреден софтуер. По този начин системата за разпределение на трафика е просто посредник между посетителя на хакнатия уебсайт и зловреден софтуер на атакуващия.

Вторият пример ясно демонстрира криптирана злонамерена връзка. По правило за криптиране се използват прости алгоритми и в почти 99% такива връзки лесно се дешифрират.

След декриптирането получаваме следния код:

Сега вече можем да наблюдаваме както адреса на сайта, така и скрипта на системата за разпределение на трафика, познат ни от първия пример със схема 3.

Откъде идва този код в уебсайтовете и защо може да бъде опасен?
По правило уебсайтовете вече не се хакват ръчно. Всичко е автоматизирано. За тези цели хакерите са написали много, като приложни програми, и сървърни приложения. Най-често срещаният процес на автоматизирано въвеждане на злонамерени връзки към уебсайтове е кражбата на ftp пароли и по-нататъшната обработка на тези данни от специализирано приложение Iframer. Работата на iframer е проста - да се свързва с ресурси, използвайки списък от ftp акаунти, да намира файлове по дадена маска, като правило това са файлове на индексни страници на уебсайтове, и да инжектира готов злонамерен код в тях. Следователно, след премахване на кода, много уебсайтове се заразяват отново, дори когато всички пароли за достъп са променени, включително тези за ftp. Причината за това може да е наличието на вирус за кражба на парола на компютъра, от който се администрира уебсайтът.

Има случаи, когато собствениците на уебсайтове, на които се появява злонамерен код, не се отнасят сериозно към този проблем. Съгласен съм, вреда като такава за самия ресурс даден кодне причинява. Страдат само посетителите на заразения уебсайт. Но има и други аспекти, на които искам да обърна внимание.

Уебсайт, който хоства злонамерен код, рано или късно се озовава във всякакви бази данни на разпространители на инфекция - списъкът със сайтове за злонамерен софтуер, както и търсачки като Google или Yandex, могат да маркират заразения уебсайт като потенциално опасен. Ще бъде изключително трудно да премахнете ресурса си от такава база, когато стигне до там. Освен това е възможно рано или късно да получите "злоупотреба" - оплакване от посетители на уебсайта. В този случай има възможност както за блокиране на името на домейна на уебсайта, така и за блокиране на неговия IP адрес. Има случаи, когато цели подмрежи са били блокирани поради един заразен уебсайт.

Как да се предпазите от появата на злонамерени кодове на вашите ресурси? За целта е необходимо да се изпълнят редица изисквания за информационна сигурност:

1) Инсталирайте антивирусен софтуер на работния компютър, от който се администрира уебсайта, за предпочитане лицензиран с ежедневно актуализирани бази данни.
2) Инсталирайте и конфигурирайте защитна стенатака че целият трафик при работа с мрежата да се проверява и в случай на достъп до подозрителни хостове има възможност за блокиране.
3) Използвайте сложни пароли за административни интерфейси и достъп до ftp и ssh услуги.
4) Не запазвайте пароли в Total Commander, Far и други файлови мениджъри. Като правило, почти всички троянцивече знаят как да уловят тези данни и да ги изпратят на нападател.
5) Не отваряйте и не стартирайте файлове, получени по имейл или изтеглени от интернет, без първо да сте ги проверили с антивирусен софтуер.
6) Актуализирайте софтуера, инсталиран на компютъра. Навреме инсталирайте пачове за операционни системи и актуализирайте приложния софтуер. Понякога програмите, които използвате ежедневно, могат да служат като дупка в системата за проникване на зловреден софтуер. По-специално Adobe Acrobatчитател, Flash Player, програми от пакета MS Office и др.

Ако следвате всички мерки за защита, описани по-горе, но откриете злонамерен код на вашия ресурс, вината може да бъде и в хостинг доставчика, или по-скоро в настройките на сървъра, хостващ вашия ресурс. В този случай трябва да се свържете със службата за поддръжка на вашия хостинг доставчик и да ги помолите да идентифицират и отстранят причината за инцидента.

Както знаете, през септември 2005 г. с указ на президента на страната в Узбекистан беше създадена Службата за реагиране при компютърни инциденти UZ-CERT. Специалистите на Услугата, в допълнение към основните си задължения, извършват и работа по откриване на злонамерени кодове на сайтове в зоната на националния домейн. За тези цели са написани редица приложни програми за автоматизиране на основните моменти, но, разбира се, важна роля играе и ръчното разглеждане на уебсайтове, които са съмнителни за инфекция. Понякога успешно маскиран злонамерен код, който е претърпял "обфускация" - промяна в структурата на кода, не може да бъде открит с автоматични средства. Информация за всички открити заразени уебсайтове се публикува на уебсайта на Услугата, както и в раздела UZ-CERT на uForum.uz. Собствениците на заразени ресурси получават предупреждения, съвети и помощ за премахване на заплахи и допълнителна защита на техните системи. Искрено се надяваме, че тази работа е от полза за интернет потребителите и помага да се избегне масовото заразяване на персонални компютри със зловреден софтуер.

В Odnoklassniki

И е изчерпателен учебник за междусайтови скриптове.

Първа част: Общ преглед

Какво е XSS?

Междусайтов скрипт ( Английски Междусайтов скрипт) е атака с инжектиране на код, която позволява на атакуващ да изпълни злонамерен JavaScript в браузъра на друг потребител.

Нападателят не напада директно жертвата си. Вместо това той използва уязвимост в уебсайта, който жертвата посещава, и инжектира злонамерен JavaScript код. В браузъра на жертвата злонамереният JavaScript се появява като легитимна част от уебсайта, а самият уебсайт действа като пряк съучастник на нападателя.

Инжектиране на злонамерен JavaScript код

Единственият начин нападателят да стартира злонамерен JavaScript в браузъра на жертвата е да го инжектира в една от страниците, които жертвата зарежда от уебсайта. Това е възможно, ако уебсайтът позволява на потребителите да въвеждат данни на своите страници и нападателят може да вмъкне низ, който ще бъде разпознат като част от кода в браузъра на жертвата.

Примерът по-долу показва прост сървърен скрипт, който се използва за показване на последния коментар на сайт:

печат" "
печат „Последен коментар:“
отпечатайте база данни.latestComment
печат""

Скриптът предполага, че коментарът се състои само от текст. Въпреки това, тъй като директното потребителско въвеждане е разрешено, нападателят може да остави този коментар: "" . Всеки потребител, посетил страницата, сега ще получи следния отговор:


Последен коментар:

Когато браузърът на потребителя зареди страницата, той ще изпълни всичко, включително JavaScript, съдържащ се в таговете. . Това показва, че самото присъствие на скрипт, инжектиран от нападател, е проблем, без значение какъв специфичен код на скрипта всъщност се изпълнява.

Част втора: XSS атака

Участници в XSS атаката

Преди да опишем подробно как работи една XSS атака, трябва да дефинираме участниците, участващи в XSS атака. Като цяло има трима участници в XSS атака: Уеб сайт, жертва, и крекер.

  • Уеб сайтизобразява HTML страници за потребители, които ги поискат. В нашите примери той се намира на http://website/ .
    • База данни на уебсайте база данни, която съхранява част от данните, въведени от потребителите на страниците на сайта.
  • Жертва- това е редовен потребителуебсайт, който изисква страници от него чрез своя браузър.
  • Атакуваще нападател, който възнамерява да започне атака срещу жертвата, като използва XSS уязвимост на сайта.
    • Крак сървъре уеб сървър под контрола на нападател с единствената цел да открадне поверителната информация на жертвата. В нашите примери той се намира на http://attacker/ .

Пример за скрипт за атака

Този скрипт ще създаде HTTP заявка към друг URL адрес, който ще пренасочи браузъра на потребителя към сървъра на атакуващия. URL адресът включва бисквитката на жертвата като параметър на заявката, когато HTTP заявка пристигне на сървъра на атакуващия, атакуващият може да извлече тези бисквитки от заявката. След като нападателят получи бисквитките, той може да ги използва, за да се представи за жертвата и да започне последваща атака.

Отсега нататък горният HTML код ще се извиква злонамерен низили зловреден скрипт. Важно е да се разбере, че самият низ е злонамерен само ако в крайна сметка се рендира като HTML в браузъра на жертвата, което може да се случи само ако има XSS уязвимост в уебсайта.

Как работи този пример за атака

Диаграмата по-долу показва пример за атака от нападател:

  1. Нападателят използва един от формулярите на уебсайта, за да вмъкне злонамерен низ в базата данни на уебсайта.
  2. Жертвата иска страница от уебсайт.
  3. Сайтът включва злонамерен низ от базата данни в отговора и го изпраща на жертвата.
  4. Браузърът на жертвата изпълнява злонамерен скрипт в отговора, изпращайки бисквитката на жертвата до сървъра на атакуващия.

XSS типове

Целта на XSS атака винаги е да се изпълни злонамерен JavaScript скрипт в браузъра на жертвата. Има няколко принципно различни начина за постигане на тази цел. XSS атаките често се категоризират в три типа:

  • Съхранен (постоянен) XSS, където злонамереният низ произхожда от базата данни на уебсайта.
  • Отразен (непостоянен) XSS, където злонамереният низ се генерира от заявката на жертвата.
  • XSS DOM модели, където уязвимостта възниква в код от страна на клиента, а не в код от страна на сървъра.

Предишният пример показва съхранена XSS атака. Сега ще опишем два други вида XSS атаки: отразени XSS и DOM XSS атаки.

Отразен XSS

При отразена XSS атака злонамереният низ е част от заявката на жертвата към уебсайта. Сайтът приема и вмъква този злонамерен низ в отговора, който изпраща обратно на потребителя. Диаграмата по-долу илюстрира този сценарий:

  1. Жертвата подвежда нападателя да изпрати URL заявка до уебсайт.
  2. Сайтът включва злонамерен низ от URL заявката в отговор на жертвата.
  3. Браузърът на жертвата изпълнява злонамерения скрипт, съдържащ се в отговора, изпращайки бисквитката на жертвата до сървъра на атакуващия.

Как да проведем успешно отразена XSS атака?

Отразената XSS атака може да изглежда безобидна, защото изисква от жертвата да изпрати заявка, съдържаща злонамерения низ от нейно име. Тъй като никой няма да се атакува доброволно, изглежда няма начин действително да се извърши атаката.

Както се оказва, има поне два общи начина да накарате жертвата да започне отразена XSS атака срещу себе си:

  • Ако потребителят е конкретен човек, нападателят може да изпрати злонамерен URL адрес на жертвата (например чрез електронна пощаили месинджър) и го подмамете да отвори връзка за посещение на уебсайт.
  • Ако целта е голяма група потребители, нападателят може да публикува връзка към злонамерен URL (например на собствения си уебсайт или социална мрежа) и изчакайте посетителите, които следват връзката.

И двата метода са сходни и могат да бъдат по-успешни с услуги за съкращаване на URL адреси, които маскират злонамерения низ от потребители, които биха могли да го идентифицират.

XSS в DOM

XSS в DOM е вариант на съхранена и отразена XSS атака. При тази XSS атака злонамереният низ не се обработва от браузъра на жертвата, докато не бъде изпълнен истинският JavaScript на уебсайта. Диаграмата по-долу илюстрира този сценарий за отразена XSS атака:

  1. Нападателят създава URL адрес, съдържащ злонамерен низ и го изпраща на жертвата.
  2. Жертвата подвежда нападателя да изпрати URL заявка до уебсайт.
  3. Сайтът приема заявката, но не включва злонамерения низ в отговора.
  4. Браузърът на жертвата изпълнява легитимния скрипт, съдържащ се в отговора, като кара злонамерения скрипт да бъде вмъкнат в страницата.
  5. Браузърът на жертвата изпълнява злонамерения скрипт, вмъкнат в страницата, изпращайки бисквитката на жертвата до сървъра на атакуващия.
Каква е разликата между XSS в DOM модела?

В предишните примери за съхранени и отразени XSS атаки, сървърът вмъква злонамерен скрипт в страница, която след това се изпраща в отговор на жертвата. Когато браузърът на жертвата получи отговор, той приема, че злонамереният скрипт е част от легитимното съдържание на страницата и автоматично го изпълнява по време на зареждането на страницата, точно както всеки друг скрипт.

В примера за DOM XSS атака злонамереният скрипт не е вмъкнат като част от страницата; единственият скрипт, който се изпълнява автоматично по време на зареждането на страницата, е легитимната част от страницата. Проблемът е, че този легитимен скрипт директно използва потребителски вход, за да добави HTML към страницата. Тъй като злонамереният низ се вмъква в страницата с помощта на innerHTML, той се анализира като HTML, което води до изпълнение на злонамерения скрипт.

Тази разлика е малка, но много важна:

  • В традиционния XSS злонамереният JavaScript се изпълнява, когато страницата се зареди, като част от HTML кода, изпратен от сървъра.
  • В случай на XSS в DOM, злонамереният JavaScript се изпълнява, след като страницата се зареди, което води до това, че страницата с легитимен JavaScript има достъп до въведеното от потребителя (съдържащо злонамерения низ) по несигурен начин.
Как работи XSS в DOM?

В предишния пример няма нужда от JavaScript; сървърът може сам да генерира целия HTML. Ако кодът от страната на сървъра не съдържаше уязвимости, уебсайтът нямаше да бъде засегнат от XSS уязвимостта.

Въпреки това, тъй като уеб приложенията стават все по-напреднали, все повече и повече HTML страници се генерират с JavaScript от страна на клиента, а не от страна на сървъра. По всяко време съдържанието трябва да се промени, без да се опреснява цялата страница, това е възможно с използвайки JavaScript. По-специално, това е случаят, когато страницата се опреснява след AJAX заявка.

Това означава, че XSS уязвимостите могат да присъстват не само в сървърната страна на кода на вашия сайт, но и в клиентската страна на JavaScript кода на вашия сайт. Следователно, дори при напълно защитен код от страна на сървъра, клиентският код все още може да не включва безопасно въвеждане от потребителя при актуализиране на DOM, след като страницата се зареди. Ако това се случи, кодът от страна на клиента ще позволи XSS атака без грешка на кода от страна на сървъра.

Базираният на DOM XSS може да не е видим за сървъра

Има специален случай на XSS атака в DOM, при който злонамереният низ никога не се изпраща до сървъра на уебсайта: това се случва, когато злонамереният низ се съдържа във фрагмент от URL идентификатор (всичко след символа #). Браузърите не изпращат тази част от URL адреса на сървъра, така че уебсайтът няма достъп до него с код от страната на сървъра. Кодът от страна на клиента обаче има достъп до него и по този начин е възможна XSS атака чрез несигурна обработка.

Този случай не се ограничава до идентификатор на фрагмент. Има друг потребителски вход, който е невидим за сървъра, като нови HTML5 функции като LocalStorage и IndexedDB.

трета част:
Предотвратяване на XSS

Методи за предотвратяване на XSS

Спомнете си, че XSS е атака с инжектиране на код: въвеждането от потребителя погрешно се интерпретира като злонамерен код. Необходима е безопасна обработка на въвеждане, за да се предотврати този тип инжектиране на код. За уеб разработчика има две основни неща различни начиниизпълнява сигурна обработка на въвеждане:

  • Кодиранее метод, който позволява въведеното от потребителя да се обработва само като данни и не позволява на браузъра да го обработва като код.
  • Валидиранее начин за филтриране на въведеното от потребителя, така че браузърът да го интерпретира като код без злонамерени команди.

Въпреки че това са фундаментално различни методи за предотвратяване на XSS, те споделят няколко общи неща, които е важно да разберете, когато използвате някой от тях:

Контекстното безопасно въвеждане трябва да се извършва по различен начин в зависимост от това къде на страницата се използва въвеждането от потребителя. входящ/изходящ Обработка на сигурно въвеждане може да се извърши или когато вашият сайт получи вход (входящ трафик), или непосредствено преди сайтът да вмъкне потребителски вход в съдържанието на страницата (изходящ). Клиент/сървър Сигурна обработка на въвеждане може да се извърши или от страна на клиента, или от страна на сървъра, като всяка опция е необходима при различни обстоятелства.

Преди да обясним подробно как работи кодирането и валидирането, ще опишем всяка от тези точки.

Обработка на потребителско въвеждане в контексти

Има много контексти на уеб страница, където може да се приложи въвеждане от потребителя. За всеки от тях трябва да се спазват специални правила, така че въведеното от потребителя да не може да „изскочи“ от контекста си и да не може да се тълкува като злонамерен код. Следните са най-често срещаните контексти:

Какво е значението на контекстите?

Във всички описани контексти може да възникне XSS уязвимост, ако потребителското въвеждане е било въведено преди първото кодиране или валидиране. Нападателят може да инжектира злонамерен код просто като вмъкне затварящ разделител за този контекст, последван от злонамерен код.

Например, ако в даден момент даден уебсайт включва потребителско въвеждане директно в HTML атрибут, атакуващият би могъл да инжектира злонамерен скрипт, като започне въвеждането си с цитат, както е показано по-долу:

Това можеше да бъде предотвратено чрез просто премахване на всички кавички във въведеното от потребителя и всичко щеше да е наред, но само в този контекст. Ако входът е бил вмъкнат в различен контекст, затварящият разделител ще бъде различен и инжектирането ще бъде възможно. Поради тази причина безопасната обработка на въвеждане трябва винаги да се адаптира към контекста, в който ще бъде въведено от потребителя.

Обработка на входящи/изходящи потребителски данни

Инстинктивно изглежда, че XSS може да бъде предотвратен чрез кодиране или валидиране на всички потребителски данни веднага след като нашият сайт ги получи. По този начин всички злонамерени низове вече ще бъдат неутрализирани, когато са включени в страницата, и скриптовете за генериране на HTML няма да се притесняват за безопасното обработване на въведеното от потребителя.

Проблемът е, че както беше описано по-рано, въвеждането от потребителя може да бъде вмъкнато в множество контексти на страницата. И не лесен начинопределят кога въведеното от потребителя пристига в контекст - как в крайна сметка ще бъде вмъкнато, а едно и също въведено от потребителя често трябва да бъде вмъкнато в различни контексти. Като разчитаме на обработката на входящ вход за предотвратяване на XSS, ние създаваме много крехко решение, което ще бъде податливо на грешки. (Отхвърлените PHP „магически кавички“ са пример за такова решение.)

Вместо това обработката на изходящия вход трябва да бъде основната ви линия на защита срещу XSS, тъй като може да вземе предвид специфичния контекст на това какво потребителско въвеждане ще бъде вмъкнато. До известна степен входящата проверка може да се използва за добавяне на вторичен слой на защита, но повече за това по-късно.

Където е възможно да се обработва сигурно въвеждането от потребителя

В повечето съвременни уеб приложения въвеждането от потребителя се обработва както от страната на сървъра, така и от страната на клиента. За да се предпази от всички типове XSS, сигурната обработка на въвеждане трябва да се извършва както в кода от страна на сървъра, така и в кода от страна на клиента.

  • За да се предпази от традиционния XSS, сигурната обработка на въвеждане трябва да се извършва в код от страна на сървъра. Това се прави с помощта на някакъв език, поддържан от сървъра.
  • За да се предпази от XSS атака в DOM, където сървърът никога не получава злонамерен низ (например атаката с фрагмент на идентификатора, описана по-рано), сигурната обработка на входа трябва да се извърши в код от страна на клиента. Това става с JavaScript.

Сега, след като обяснихме защо контекстът има значение, защо разграничението между обработката на входящи и изходящи входни данни е важно и защо защитената обработка на входни данни трябва да се извършва от двете страни, както от страна на клиента, така и от страна на сървъра, можем да продължим да обясняваме, как реално се извършват двата типа обработка на сигурно въвеждане (кодиране и валидиране).

Кодиране

Кодирането е изход от ситуация, в която е необходимо браузърът да интерпретира въведеното от потребителя само като данни, а не като код. Най-популярният тип кодиране в уеб разработката е HTML escapement, който преобразува знаци като < и > в < и > съответно.

Следният псевдокод е пример за това как въвеждането от потребителя (въведено от потребителя) може да бъде кодирано с помощта на HTML escapement и след това вмъкнато в страница с помощта на скрипт от страна на сървъра:

печат" "
печат „Последен коментар:“
печат encodeHtml(userInput)
печат""

Ако потребителят въведе следния ред, полученият HTML ще изглежда така:


Последен коментар:

Тъй като всички символи със специално значение са екранирани, браузърът няма да анализира никоя част от въведеното от потребителя като HTML.

Кодиране от страна на клиента и сървъра

Когато се извършва кодиране от страна на клиента, винаги се използва JavaScript, който има вградени функции, които кодират данни за различни контексти.

Когато правите кодиране във вашия код от страна на сървъра, вие разчитате на функции, налични на вашия език или рамка. Поради големия брой налични езици и рамки, това урокняма да обхваща детайлите на кодирането на конкретен сървърен език или рамка. Въпреки това, функциите за кодиране на JavaScript, използвани от страна на клиента, се използват и при писане на код от страна на сървъра.

Кодиране от страна на клиента

При кодиране на въвеждане от страна на клиента с JavaScript има няколко вградени метода и свойства, които автоматично кодират всички данни в контекстно-чувствителен стил:

Последният контекст, споменат по-горе (стойности в JavaScript), не е включен в този списък, тъй като JavaScript не предоставя вграден начин за кодиране на данни, които ще бъдат включени в изходния код на JavaScript.

Ограничения за кодиране

Дори при кодиране е възможно да се използват злонамерени низове в някои контексти. Основен пример за това е, когато потребителското въвеждане се използва за предоставяне на URL адрес, като например в примера по-долу:

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

Въпреки че посочената стойност в свойството href на елемента автоматично го кодира, така че да не стане нищо повече от стойността на атрибута, това само по себе си не пречи на атакуващия да вмъкне URL, който започва с "javascript:". Когато се щракне върху връзката, независимо от конструкцията, вграденият JavaScript в URL адреса ще бъде изпълнен.

Кодирането също е ефективно решениекогато искате потребителите да могат да използват част от HTML на страницата. Пример може да бъде страница с потребителски профил, където потребителят може да използва персонализиран HTML. Ако този обикновен HTML е кодиран, страницата на профила може да се състои само от обикновен текст.

В ситуации като тази кодирането трябва да бъде допълнено от валидиране, което ще разгледаме по-нататък.

Валидиране

Валидирането е актът на филтриране на въведеното от потребителя, така че всички злонамерени части от него да бъдат премахнати, без да се налага премахване на целия код в него. Един от най-използваните видове валидиране в уеб разработката ви позволява да използвате някои HTML елементи (напр. и ), но забранява други (напр.

С правилно дефинирана CSP политика браузърът не може да зареди и изпълни malicious‑script.js, защото http://attacker/ не е посочен като доверен източник. Въпреки че сайтът не беше в състояние надеждно да обработи въведеното от потребителя, в този случай политиката на CSP попречи на уязвимостта да причини вреда.

Дори ако нападател е инжектирал код вътре в кода на скрипта, а не връзка към външен файл, правилно конфигурирана CSP политика също би предотвратила инжектиране в JavaScript код, предотвратявайки уязвимостта и причинявайки каквато и да е вреда.

Как да активирам CSP?

По подразбиране браузърите не използват CSP. За да активирате SCP на уебсайта си, страниците трябва да съдържат допълнителен HTTP хедър: Content-Security-Policy. Всяка страница, съдържаща тази заглавка, ще наложи правила за сигурност, когато се зареди от браузъра, при условие че браузърът поддържа CSP.

Тъй като политиката за сигурност се изпраща с всеки HTTP отговор, е възможно сървърът да зададе индивидуално политиката за всяка страница. Същата политика може да се приложи към целия уебсайт чрез вмъкване на една и съща CSP заглавка във всеки отговор.

Стойността в заглавката Content-Security-Policy съдържа низ, който указва една или повече политики за сигурност, които ще работят на вашия сайт. Синтаксисът на този ред ще бъде описан по-нататък.

Примерите за заглавия в този раздел използват нов ред и отстъп за по-лесно четене; те не трябва да присъстват в истинския хедър.

Синтаксис на CSP

Синтаксисът на CSP заглавката е както следва:

Политика за сигурност на съдържанието:
директива източник-израз, източник-израз, ...;
директива ...;
...

Този синтаксис се състои от два елемента:

  • Директивикоито са низове, указващи вида на ресурса, взет от дадения списък.
  • Изходни изразие модел, който описва един или повече сървъри, от които могат да се изтеглят ресурси.

За всяка директива данните в изходния израз определят кои източници могат да се използват за зареждане на ресурси от този тип.

директиви

Следните директиви могат да се използват в заглавката на CSP:

  • свържете-src
  • шрифт-src
  • frame-src
  • img‑src
  • media-src
  • обект-src
  • скрипт-src
  • стил-src

В допълнение, специалната директива default-src може да се използва за предоставяне на стойност по подразбиране за всички директиви, които не са включени в заглавката.

Източник израз

Синтаксисът за създаване на изходен израз е както следва:

протокол:// име на хост: номер на порт

Името на хоста може да започва с *, което означава, че всеки поддомейн на предоставеното име на хост ще бъде разрешен. По същия начин, номер на порт може да бъде представен като *, което означава, че всички портове ще бъдат разрешени. Освен това протоколът и номерът на порта могат да бъдат пропуснати. В случай че не е указан протокол, политиката ще изисква всички ресурси да се зареждат чрез HTTPS.

В допълнение към горния синтаксис, изходният израз може алтернативно да бъде един от четирите ключови думисъс специално значение (с включени кавички):

"няма" забранява ресурсите. "self" разрешава ресурси от хоста, където се намира уеб страницата. "unsafe-inline" позволява ресурсите, съдържащи се на страницата, да бъдат вградени