Користувач:OlexShpak/Чернетка

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

ЗАХИСТ ДОДАТКІВ[ред. | ред. код]

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

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

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

Терміни[ред. | ред. код]

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

Уразливість – це певне «слабке місце» у програмі, яке може бути використане різного виду загрозами для отримання несанкціонованого доступу до активу.

Атака (напад або використання) – дія, яка спрямована на завдання шкоди активу.

Загроза – це все, що може використовувати уразливості та отримати, нанести шкоду або знищити актив.

Методи[ред. | ред. код]

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

1. Огляд "білої скриньки" або огляд коду.

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

2. Огляд « чорної скриньки ».

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

3. Інструментарій.

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

Використання цих методів належним чином протягом усього життєвого циклу розробки програмного забеспечення(SDLCsoftware development life cycle) для максимізації безпеки – роль команди із забеспечення безпеки додатків.

Загрози додаткам(атаки)[ред. | ред. код]

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

Тип загрози Опис
Вхід (валідація) Переповнення буфферу; крос-сайт сценаріїв; мова структурованих запитів (англ. SQL - Structured query language).
Вторгнення програми Такий софт модифікує існуючу поведінку запуску програми з метою несанкціонованих дій. З’являється у наслідку оновлення, заміни коду або ж розширення коду.
Аутентифікація Мережеве прослуховування. Атаки грубої сили. Атаки перебору. Атаки відтворення файлів cookie. Крадіжка облікових даних.
Авторизація Підвищення привілеїв. Розголошення конфіденційної інформації. Вторгнення шкідливих даних.
Управління конфігурацією Неавторизовний доступ до інтерфейсів. Неавторизований доступ до налаштувань конфігурації. Отримання чистого тексту даних. Відсутність власної відповідальності. Супер-користувальницькі процеси та сервіси.
Чутлива інформація Доступ до чутливого коду або даних у сховищі. Прослуховування мережі. Вторгнення небажаного коду або даних.
Управління сеансом Викрадення сеансів. Відтворення сеансу роботи. « Людина по середині».
Криптографія Помилка генерації ключів або погане управління ключами. Слабке або індивідуальне криптування.
Маніпуляція параметрами Маніпуляції полем запиту. З полем форми. Маніпуляції з файлами cookie. Різного роду маніпуляції з гіпертекстом (HTTP - Hyper Text Transfer Protocol).
Управління винятками Розсекречення інформації. Відмова в обслуговуванні (Deny of Service – DoS).
Аудит і вхід у систему Користувач блокує виконання операції. Використовує додаток без слідів його застосування та дій.

Захист мобільних додатків[ред. | ред. код]

Очікується, що частка мобільних пристроїв, які надають функціональні можливості відкритої платформи, будуть збільшуватись надалі. Відкритість цих платформ дає значні можливості для усіх частин мобільних середовищ забезпечуючи простір дій для гнучких програм і сервісів: опції можуть бути встановлені, видалені або оновлені безліч разів згідно із  потребами та вимогами користувача. Проте, із відкритості систем приходить і необмежений доступ до мобільних ресурсів і прикладних програмних інтерфейсів (API’sApplication Programming Interface’s), невідомими і недовіреними оригіналами, які можуть нанести значну шкоду користувачу, пристрою, мережі або усім складовим відразу, якщо вони не будуть управлятися відповідними захисними структурами і мережевими запобіжними засобами. Захист додатків у деякому розумінні забезпечується на більшості відкритих операційних систем мобільних пристроїв ( Symbian OS,[1] Microsoft, інші ). Промислові групи також створили певні рекомендації включаючи організацію GSM та Mobile Terminal Plaform, OMTP. [2]

Існує декілька стратегій підвищення безпеки мобільних додатків:

-      Додаток « Білого листування (white listing).

-      Забезпечення безпеки транспортного рівня.

-      Надійна аутентифікація та авторизація.

-      Криптування даних перед записом пам’яті.

-      Sandboxing додатків.

-      Збільшення рівнів доступу додатків за один API рівнів.

-      Процеси прив’язані до ідентифікатора (ID) користувача.

-      Попередньо визначена взаємодія між мобільним додатком та операційною системою.

-      Вимагати від користувача привілейованого або підвищеного рівня доступу.

- Правильна обробка сеансу.

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

Захист веб-застосунків[ред. | ред. код]

Веб-застосунки (англ. Web Application's) - це застосунок, у якому клієнтом виступає браузер, а сервером - веб-сервер. Вони являють собою об’єкти потенційного впливу так як:

-      Весь час перебувають під впливом Інтернету та використовують незахищені інструменти.

-      Через необхідніть їх використання та швидшої реалізації, безпека може бути недокінця продуманою, що може викликати помилки.

-      Зібрані, здебільшого, із  гібридного відкритого коду, сторонніх бібліотек, які можуть містити у собі уразливості.

Окрім цих факторів присутні ще декілька, які можуть спровокувати крадіжку даних або їх неправильну обробку. Наприклад за допомогою атак типу XSS хакер може перенаправити запити користувачів на шкідливі веб-сторінки, а за допомогою SQL-ін’єкцій - витягувати з баз даних сайту різну конфіденційну інформацію.(посилання на itbiz.ua)

Способи захисту

Застосування різного роду фаєрволів, системи запобіганню вторгнень(IDS - Intrusion Detection System) допомагають фільтрувати мережевий трафік, відслідковувати пакети і порівнювати його із сигнатурами атак. (посилання на itbiz.ua)Ці системи можуть блокувати усі відхилення від протоколів прикладного рівня. Одним із рішень є застосування системи WAF, яка аналізує протоколи HTTP/HTTPS, виявляє атаки із використанням автоматичних засобів. Важливим зі сторони подібного роду захисних систем виступає логічне осмислення та зрозумілість роботи додатку у поєднанні із інтелектуальним дослідженням спроб проникнення. Перед командою із захисту веб-застосунків поставлені задачі високого рівня складності та способів їх реалізації.

Рішення щодо реалізації захисту веб-застосунків:

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

-      Автоматизовані системи зменшують шанс потрапляння загрози.

-      Системи безпечні, масштабовані, зрозумілі, прості у розгортанні та керуванні.

Тестування безпеки додатків[ред. | ред. код]

Уразливості залишають додатки відкритими до будь-якого використання. Методи тестування безпеки усувають уразливості у безпеці додатків. Вважається, що тестування безпеки реалізується протягом усього життєвого циклу програми (SDLC), щоб уразливості були знешкоджені правильно та у встановлений час. Є випадки, у яких тестування часто виконується як наслідок, у кінці життєвого циклу.

Сканери уразливостей та зокрема сканер веб-додатків, інакше відомих як інструменти тестування, історично використовувались організаціями та консультантами з безпеки для автоматичного тестування безпеки HTTP запитів-відповідей. Але це не замінює потребу в фактичному огляді вихідного коду. Огляд фізичного коду додатків вихідного коду може бути перевірений вручну або автоматично. Враховуючи індивідуальний звичайний розмір програм ( більше ніж 500 000 тисяч ліній коду або більше) людський мозок не в змозі провести аналіз потоку даних з необхідним аналізом для повного контролю програми, щоб знайти програмні вразливості додатків. Людський мозок спрямований на фільтрацію, переривання та звіт про вихід автоматизованих інструментів аналізу вихідного коду, доступних у комерційному відношенні, а також про можливі шляхи через скомпільовану кодову базу для виявлення уразливостей на рівні виникнення головної причини.

Існує багато видів автоматизованих інструментів для ідентифікації уразливостей у додатках. Деякі з них вимагають великого досвіду проведення експертизи безпеки, а інші використовуються для повного автоматичного застосування. Результати залежать від типу інформаційних елементів ( вихідної, бінарної, HTTP – трафіку, конфігурації, бібліотек, з’єднань), що надають інструменту якість аналізу і виправлення уразливостей. Звичайні технології для ідентифікації вразливості додатку включать:

Статичне тестування безпеки додатка (SAST – Static Application Security Testing)це технологія, яка здебільшого використовує інструмент аналізу вихідного коду (Sourse Code Analysis Tool). Метод аналізує безпеку вихідного коду перед запуском додатка і використовується для посилення коду. Цей метод дає меншу кількість неточностей, але вимагає доступу до вихідного коду додатків.[3]

Динамічне тестування безпеки додадка (DAST – Dynamic Application Security Testing)це технологія, яка може знайти видиму вразливість пропускаючи адресу ресурсу (URL - Uniform Resourse Locator) через автоматичний сканер. Цей метод дуже масштабний, добре інтегрований та швидкий. Недоліки DAST полягають у необхідності конфігурації і високої можливості помилкового застосування.[3]

Інтерактивне тестування безпеки додатка (IAST – Interactive Application Security Testing)це таке тестування, яке оцінює додатки з використанням ПЗ. Ця методика дозволяє IAST комбінувати сили обох методів SAST і DAST, та забезпечувати доступ до коду, HTTP – трафіку, бібліотек, зворотніх зв’язків та інформації про конфігурацію. Деякі продукти IAST вимагають реалізації атаки, у той час як інші можуть використовуватися під час нормального тестування.[4][5]

Організація безпеки додатків[ред. | ред. код]

Прогрес у професійному шкідливому програмному забезпеченні, орієнтованому на клієнтів онлайн організацій змінив вимоги до веб-додатків з 2007 року. Як правило, передбачається, що значна частина Інтернет-користувачів буде скомпроментована через шкідливе ПЗ, та що будь-які дані, отримані від інфікованого хоста, можуть бути шкідливими. Тому, захист додатків почав зароджувати унікальні розвинені системи для боротьби з шахрайством та евристичними системами виявлення у back-office, а не в межах коду клієнта або коду веб-сервера.[6] З 2016 року розроблені додатки самозахисту (RASP) під час виконання програми.[3][7] RASP – це технологія, яка використовується разом із середовищем або у середовищі виконання додатка, яка налаштовує додаток, проводить виявлення атак та їх запобіганню.[8][9]

Cisco FirePower як система оптимальної організації та захисту додатків[ред. | ред. код]

Cisco FirePower - це міжмережевий екран, який має набір функцій, які допомагають організувати безпеку додатків, застосувань, веб-застосувань та іншого софту. Cisco FirePower включає у себе такі сервіси:

-      моніторинг та контроль за додатками;

-      превентивний захист від Інтернет-загроз;

-      аналітика та автоматизація;

-      VPN та політика аутентифікації;

-      захист від шкідливого ПЗ;

-      профілювання мережі;

Cisco FirePower слідкує за мережевим середовищем, додатками, застосунками, трафіком і має багатий функціонал по обмеженню доступу до різного роду додатків, наприклад, Tor, Skype, Oracle та інші. Система не просто фільтрує трафік на мережевому рівні, але вона має можливість відстежувати поведінку недозволених додатків, а також забороняти використовувати функції, сервіси або додатки. Як приклад буде слугувати додаток Skype через який проводиться  спілкування, відеозв’язок, обмін повідомленнями. Cisco FirePower може обмежити повний список функцій або дозволити виконувати лише одну з них. Така реалізація є досить суттєвою, коли головною метою, щодо захисту інформації є обмеження права на одну або декілька функцій, в залежності від потреб безпеки. Також програма дозволяє проаналізувати та подивитися список усіх користувачів додатків у одній мережі. Контроль здійснюється за різного роду додатками: веб-додатки, клієнтські додатки, серверними додатками.

Окрім цих функцій, Cisco FirePower дозволяє бачити та контролювати користувачів відомих програм Proxy, Onion,  інші. Це може значно покращити рівень обслуговування додатків та запобігти неправомірним діям зі сторони користувача.

Примечания[ред. | ред. код]

Ссылки[ред. | ред. код]