OWASP Top 10 частина 8: Software and Data Integrity Failuress

21.10.2024 1 хвилин Автор: Lady Liberty

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

 

Помилки цілісності програмного забезпечення та даних

Помилки цілісності програмного забезпечення та даних – це проблеми, які впливають на довіру до програмного забезпечення та даних.

1. Ненадійне зберігання даних

  • Опис: Зберігання даних без належного захисту або перевірки.

  • Приклад: Дані, що зберігаються в нешифрованому вигляді, що може бути доступне для зловмисників.

2. Проблеми з цілісністю програмного забезпечення

  • Опис: Вразливості в програмному забезпеченні, що дозволяють модифікацію або компрометацію його цілісності.

  • Приклад: Ненадійне управління оновленнями або модифікаціями коду, що може дозволити зловмисникам вставляти шкідливий код.

3. Ненадійні джерела даних

  • Опис: Використання даних з ненадійних або незахищених джерел.

  • Приклад: Використання даних з неперевірених або ненадійних джерел, що може призвести до зловживань або помилок.

Checksums

Blue team

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

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

Приклад:

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

Red team

Контрольні суми можуть бути обійдені, якщо зловмисник здатен змінити як файл, так і його контрольну суму, наприклад, під час атаки типу MITM (людина посередині).

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

1. APT, SNAP, Composer, NPM, Yarn

Blue team

 APT (Advanced Package Tool) та Brew

APT – це система управління пакетами для дистрибутивів на основі Debian, таких як Ubuntu. Деяке програмне забезпечення може вимагати оновлення списку джерел для apt, інше може вимагати завантаження .deb пакету та його встановлення, а деяке може постачатися у вигляді архівів з уже зкомпільованими бінарними файлами. Переконайтеся, що завантажуєте все з офіційних джерел.

Brew (для macOS) працює подібним чином, забезпечуючи просту установку та оновлення програмного забезпечення.

PHP: Composer

Composer – це інструмент для управління залежностями в PHP. Пакети можуть бути не завжди доступні в Packagist. У такому випадку можна додати додаткові джерела в налаштуваннях Composer, якщо ви впевнені в їх надійності. Рекомендується також використовувати shasum для перевірки цілісності.

Node: NPM, Yarn

NPM (Node Package Manager) та Yarn – це інструменти для управління залежностями в Node.js. Вони дозволяють легко встановлювати, оновлювати та видаляти пакети.

2.   Subresource Integrity

Blue team

Subresource Integrity (SRI) дозволяє перевіряти цілісність завантажуваних ресурсів, таких як скрипти чи стилі з зовнішніх джерел. Це досягається шляхом додавання атрибута integrity до тегів <link> або <script>, де міститься хеш ресурсу. Завдяки цьому можна переконатися, що ресурс не був змінений після завантаження, що є важливим для захисту від атак, таких як підміна ресурсів або вставка шкідливого коду.

Red team

  • Перевірка на використання SRI: Визначте, чи використовуються атрибути integrity у ресурсах вашого веб-додатку. Використовуйте інструменти розробника у браузері для перевірки тегів <script> і <link> на наявність цього атрибута.

  • Атака на ресурси без SRI: Якщо ви виявите, що веб-додаток не використовує SRI для критичних ресурсів, спробуйте змінити ресурси (наприклад, через атаки на CDN) та перевірте, чи можна виконати шкідливий код.

Підписатися
Сповістити про
1 Коментар
Найстаріші
Найновіше Найбільше голосів
5234523qwerqwdsad
9 місяців тому

Гарна стаття

Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.