Икона на сайта HailBytes

OWASP Топ 10 на риска за сигурността | Преглед

Топ 10 преглед на OWASP

OWASP Топ 10 на риска за сигурността | Преглед

Съдържание

Какво е OWASP?

OWASP е организация с нестопанска цел, посветена на обучението по сигурността на уеб приложенията. 

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

Топ 10 на OWASP е списък, който подчертава най-големите опасения за сигурността на уеб приложенията днес. OWASP се позовава на първите десет като „чувствителен документ“. Те препоръчват на всички компании да включат този отчет в своите процеси, за да намалят рисковете за сигурността. По-долу е даден списък на рисковете за сигурността, включени в доклада Топ 10 на OWASP за 2017 г.

Инжектиране

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

Пример за SQL инжекция:

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

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

За да предотвратите SQL инжектиране, OWASP препоръчва да съхранявате данните отделно от командите и заявките. Предпочитаният вариант е да използвате защитен API за предотвратяване на използването на интерпретатор или за мигриране към Object Relational Mapping Tools (ORM).

Нарушена автентификация

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

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

Разкриване на чувствителни данни

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

XML външни обекти (XEE)

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

Атаките на XML външни обекти могат да бъдат предотвратени, като се позволи на уеб приложенията да приемат по-малко сложни типове данни като JSON. Деактивирането на обработката на външен обект на XML също намалява шансовете за XEE атака.

Счупен контрол на достъпа

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

Неправилна конфигурация на сигурността

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

Кроссайт скриптове (XSS)

XSS уязвимост възниква, когато хакер манипулира DOM API на доверен уебсайт, за да изпълни зловреден код в браузъра на потребителя. Изпълнението на този злонамерен код често се случва, когато потребител щракне върху връзка, която изглежда като от доверен уебсайт. Ако уебсайтът не е защитен от XSS уязвимост, той може да бъде компрометиран. Зловреден код, който се изпълнява, дава на атакуващия достъп до сесията за влизане на потребителите, данните за кредитната карта и други чувствителни данни.

За да предотвратите междусайтови скриптове (XSS), уверете се, че вашият HTML е добре дезинфекциран. Това може да се постигне чрез избор на доверени рамки в зависимост от избрания език. Можете да използвате езици като .Net, Ruby on Rails и React JS, тъй като те ще ви помогнат да анализирате и изчистите вашия HTML код. Третирането на всички данни от удостоверени или неавтентифицирани потребители като ненадеждни може да намали риска от XSS атаки.

Несигурна десериализация

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

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

Използване на компоненти с известни уязвимости

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

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

Недостатъчно регистриране и наблюдение

Регистрирането и наблюдението са важни за показване на дейности във вашето уеб приложение. Регистрирането улеснява проследяването на грешки, наблюдението на влизанията на потребителите и дейностите.

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

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

Заключение

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

Излезте от мобилната версия