10 найбільших ризиків безпеки OWASP | Огляд

Зміст

Огляд топ-10 OWASP

Що таке OWASP?

OWASP – це некомерційна організація, яка займається навчанням безпеки веб-додатків. 

Навчальні матеріали OWASP доступні на їх веб-сайті. Їх інструменти корисні для підвищення безпеки веб-додатків. Це включає документи, інструменти, відео та форуми.

Топ-10 OWASP — це список, у якому висвітлюються головні проблеми безпеки веб-програм на сьогодні. Вони рекомендують усім компаніям включити цей звіт у свої процеси, щоб зменшити ризики для безпеки. Нижче наведено список ризиків безпеки, включених до звіту OWASP Top 10 за 2017 рік.

SQL-ін'єкція

SQL-ін’єкція відбувається, коли зловмисник надсилає невідповідні дані до веб-програми, щоб порушити роботу програми в програмі.

Приклад ін’єкції SQL:

Зловмисник може ввести SQL-запит у форму введення, яка потребує відкритого тексту імені користувача. Якщо форма введення не захищена, це призведе до виконання SQL-запиту. Це посилається як SQL-ін’єкцію.

Щоб захистити веб-додатки від впровадження коду, переконайтеся, що ваші розробники використовують перевірку даних, наданих користувачами. Перевірка тут стосується відхилення недійсних вхідних даних. Менеджер бази даних також може встановити елементи керування, щоб зменшити кількість інформація що може бути розкрито при ін'єкційному нападі.

Щоб запобігти ін’єкції SQL, OWASP рекомендує зберігати дані окремо від команд і запитів. Кращим варіантом є використання безпечного API щоб запобігти використанню інтерпретатора або перейти на інструменти реляційного відображення об’єктів (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, атак на віддалене виконання коду або обходу автентифікації.

Щоб уникнути небезпечної десеріалізації, емпіричне правило полягає в тому, щоб ніколи не довіряти даним користувача. Кожен користувач повинен вводити дані лікуватися as потенційно зловмисний. Уникайте десеріалізації даних із ненадійних джерел. Переконайтеся, що функція десеріалізації бути використаним у вашій веб-програмі є безпечним.

Використання компонентів із відомими вразливими місцями

Бібліотеки та фреймворки значно пришвидшили розробку веб-додатків без необхідності заново винаходити велосипед. Це зменшує надмірність в оцінці коду. Вони прокладають шлях для розробників, щоб зосередитися на більш важливих аспектах програм. Якщо зловмисники виявлять експлойти в цих фреймворках, кожна кодова база, що використовує цю структуру, зробить це бути скомпрометованим.

Розробники компонентів часто пропонують виправлення безпеки та оновлення для бібліотек компонентів. Щоб уникнути вразливості компонентів, ви повинні навчитися оновлювати свої програми за допомогою останніх патчів безпеки та оновлень. Невикористані компоненти повинні бути видаленим із додатка для скорочення векторів атак.

Недостатня реєстрація та моніторинг

Журналування та моніторинг важливі для відображення дій у вашій веб-програмі. Ведення журналу дозволяє легко відстежувати помилки, контролювати входи користувачів і дії.

Недостатнє ведення журналів і моніторинг виникають, коли критичні для безпеки події не реєструються правильно. Зловмисники використовують це для здійснення атак на вашу програму до того, як буде помітна відповідь.

Ведення журналів може допомогти вашій компанії заощадити гроші та час, тому що ваші розробники можуть легко знайти помилки. Це дозволяє їм зосередитися більше на вирішенні помилок, ніж на їх пошуку. По суті, журналювання може допомогти підтримувати ваші сайти та сервери в працездатному стані щоразу без їх простою.

Висновок

Хороший код – ні просто щодо функціональності, мова йде про безпеку ваших користувачів і програми. Топ-10 OWASP — це список найбільш критичних ризиків для безпеки додатків — чудовий безкоштовний ресурс для розробників, які створюють безпечні веб- та мобільні програми. Навчання розробників у вашій команді оцінювати та реєструвати ризики може заощадити час і гроші вашої команди в довгостроковій перспективі. Якщо ви хочете дізнайтеся більше про те, як тренувати свою команду в топ-10 OWASP, натисніть тут.