Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (вересень 2019) |
Безпека застосунків, або безпека прикладних програм (англ. Application Security) — це комплекс заходів, які спрямовані на аналіз, виявлення та усунення уразливостей у застосунках та забезпеченні їхньої безпеки. Забезпечення безпеки охоплює заходи підвищення безпеки програми, зазвичай шляхом пошуку, виправлення та запобігання уразливостям системи безпеки. Для цього використовуються методи виявлення таких уразливостей на різних етапах життєвого циклу додатків, таких як проектування, розробка, розгортання, модернізація, технічне обслуговування. На кожному з цих етапів користувач може зіштовхнутися з певними проблемами, що здебільшого виникають у результаті реалізації програм, які у свою чергу служать для забезпечення певних потреб користувача.
Здебільшого у програмах спостерігається зростання кількості різного роду дефектів та уразливостей, які з часом можуть завдати суттєвої шкоди програмному забезпеченню.
Сучасні темпи розвитку інформаційних систем вимагають відповідних знань, ідей, рішень у галузі безпеки для злагодженої роботи усього контенту застосунків, які на даний час виступають кінцевими продуктами та мають широке застосування у світі. Необхідність у реалізації максимально надійної системи безпеки та різного роду протоколів, оновлень постає перед сучасними компаніями із розробки ПЗ.
Методи знаходять різні підмножини (осередки) уразливостей безпеки, що заховані у програмі і є найбільш ефективними у окремі періоди її життєвого циклу. Кожен з них представляє певні цикли часу, зусилля, витрати щодо знаходження цих уразливостей.
1. Огляд «білої скриньки» або огляд коду.
Інженер глибоко розуміє програму та вручну переглядає початковий код, записуючи уразливості безпеки. Після здійсненого аналізу інженер знаходить унікальні вирішення знайдених проблем. У такому випадку відома внутрішня структура програми, де проходить перевірка побудови всіх елементів програми та коректність взаємодії її частин.
2. Огляд «чорної скриньки».
Використовується лише за допомогою програми, яка перевіряє її на наявність уразливостей безпеці, при якому не потрібні початкові коди.
3. Інструментарій.
Існують автоматизовані інструменти, які перевіряють наявність недоліків та дефектів безпеки, часто з більшою позитивною швидкістю, ніж залучення людини. До такого інструментарію відносяться сканери, фаєрволи, антивіруси, фільтри та інше.
Використання цих методів належним чином протягом усього життєвого циклу розробки програмного забезпечення для максимізації безпеки — роль команди, що займається питаннями безпеки.
Загрози або атаки є головним чинником впливу на роботу прикладних програм. Спільнота OWASP винайшла список 10 уразливостей для вебпрограм та описує практики безпеки для організацій, прагнучи створити відкриті стандарти для цієї галузі[1]. З 2017 року організація перераховує основні загрози безпеки застосунків, такі як:[2]
Тип загрози | Опис |
---|---|
Вхід (валідація) | Переповнення буфферу; крос-сайт сценаріїв; мова структурованих запитів (англ. SQL — Structured query language). |
Вторгнення програми | Такий софт модифікує існуючу поведінку запуску програми з метою несанкціонованих дій. З'являється у наслідку оновлення, заміни коду або ж розширення коду. |
Аутентифікація | Мережеве прослуховування. Атаки грубої сили. Атаки перебору. Атаки відтворення файлів cookie. Крадіжка облікових даних. |
Авторизація | Підвищення привілеїв. Розголошення конфіденційної інформації. Вторгнення шкідливих даних. |
Управління конфігурацією | Неавторизовний доступ до інтерфейсів. Неавторизований доступ до налаштувань конфігурації. Отримання чистого тексту даних. Відсутність власної відповідальності. Супер-користувальницькі процеси та сервіси. |
Чутлива інформація | Доступ до чутливого коду або даних у сховищі. Прослуховування мережі. Вторгнення небажаного коду або даних. |
Управління сеансом | Викрадення сеансів. Відтворення сеансу роботи. « Людина по середині». |
Криптографія | Помилка генерації ключів або погане управління ключами. Слабке або індивідуальне криптування. |
Маніпуляція параметрами | Маніпуляції полем запиту. З полем форми. Маніпуляції з файлами cookie. Різного роду маніпуляції з гіпертекстом (HTTP — Hyper Text Transfer Protocol). |
Управління винятками | Розсекречення інформації. Відмова в обслуговуванні (Deny of Service — DoS). |
Аудит і вхід у систему | Користувач блокує виконання операції. Використовує додаток без слідів його застосування та дій. |
Очікується, що частка мобільних пристроїв, які надають функціональні можливості відкритої платформи, будуть збільшуватись надалі. Відкритість цих платформ дає значні можливості для усіх частин мобільних середовищ забезпечуючи простір дій для гнучких програм і сервісів: опції можуть бути встановлені, видалені або оновлені безліч разів згідно із потребами та вимогами користувача. Проте, із відкритості систем приходить і необмежений доступ до мобільних ресурсів і прикладних програмних інтерфейсів (API's — Application Programming Interface's), невідомими і недовіреними оригіналами, які можуть нанести значну шкоду користувачу, пристрою, мережі або усім складовим відразу, якщо вони не будуть управлятися відповідними захисними структурами і мережевими запобіжними засобами. Захист мобільних застосунків у деякому розумінні забезпечується на більшості відкритих операційних систем мобільних пристроїв (Symbian OS,[3] Microsoft, інші). Промислові групи також створили певні рекомендації включаючи організацію GSM та Mobile Terminal Plaform, OMTP.[4]
Існує декілька стратегій підвищення безпеки мобільних програм:
Одним із способів захисту програм є їх оновлення. Оновлення коду запобігає існуванню уже існуючих проблем та уразливостей у попередній версії програми за рахунок виправлень проблемних зон коду. Регулярне оновлення може зменшити ризик виникнення таких незручностей.
Вебзастосунок (англ. Web Application) — це застосунок, у якому клієнтом виступає браузер, а сервером — вебсервер. Вони являють собою об'єкти потенційного впливу так як:
Discovery: За даними SANS, багато організацій навіть не знають, скільки програм вони мають у своїх доменах. Служба Discovery вирішує цю різницю видимості, створивши загальну інвентаризацію всіх вебзастосунків, таких як корпоративні сайти, тимчасові маркетингові сайти, пов'язані сайти (.mail, .info тощо), міжнародні домени та сайти, отримані через M & A. Крім того, Discovery масово використовує паралельну інфраструктуру автоматичного масштабування, щоб перевірити тисячі програм на день.
DynamicMP (Massively Parallel): знижує рівень ризику шляхом швидкого виявлення уразливостей, які віднайдені організацією OWASP та CWE / SANS . Протестувати тисячі вебзастосунків одночасно можна динамічним скануванням. Зменшити ризик можливо закривши тимчасові сайти та передаючи інформацію про захист та розповсюдження до мережевих брандмауерів (WAF).
DynamicDS (Глибоке сканування). Використовує глибоке різностороннє сканування, яке визначає вразливості вебзастосунків, використовуючи як аутентифіковані, так і неаутентифіковані сканування, включаючи пошук векторів атак, таких як міжсистемні скрипти (XSS), SQL injection, недостатньо захищені облікові дані та витоки інформації. Також інтегрує інформацію про розвідувальний захист з WAF, щоб забезпечити віртуальне оновлення.
Virtual Scan Appliance (VSA): виконує глибоку перевірку програм, що знаходяться під захистом брандмауера, як правило, в QA або в середовищі сканування, щоб знайти вразливості перед застосуванням. VSA також допомагає захищати внутрішні вебпрограми від інсайдерських атак або атак зловмисними сторонніми особами, які хочуть отримати доступ до активу особи.
Всі результати об'єднуються з іншою інформацією про загрозу через центральну платформу на основі хмар.[5]
Застосування різного роду фаєрволів, систем запобіганню вторгнень(IDS — Intrusion Detection System) допомагають фільтрувати мережевий трафік, відслідковувати пакети і порівнювати їх із сигнатурами атак. Ці системи можуть блокувати усі відхилення від протоколів прикладного рівня. Одним із рішень є застосування системи WAF, яка аналізує протоколи HTTP/HTTPS, виявляє атаки із використанням автоматичних засобів. Важливим зі сторони подібного роду захисних систем виступає логічне осмислення та зрозумілість роботи програми у поєднанні із інтелектуальним дослідженням спроб проникнення. Перед командою із захисту вебзастосунків поставлені задачі високого рівня складності та способів їх реалізації.[6]
Рішення щодо реалізації захисту вебзастосунків:
Уразливості залишають програми відкритими до будь-якого використання. Методи тестування безпеки усувають уразливості у безпеці програм[джерело?]. Вважається, що тестування безпеки реалізується протягом усього життєвого циклу програми, щоб уразливості були знешкоджені правильно та у встановлений час. Є випадки, у яких тестування часто виконується як наслідок, у кінці життєвого циклу.
Сканери уразливостей та зокрема сканер вебзастосунків, інакше відомих як інструменти тестування, історично використовувались організаціями та консультантами з безпеки для автоматичного тестування безпеки HTTP запитів-відповідей. Але це не замінює потребу в фактичному огляді вихідного коду. Початковий код програм може бути перевірений вручну або автоматично. Враховуючи індивідуальний звичайний розмір програм людський мозок не в змозі провести аналіз потоку даних з необхідним аналізом для повного контролю програми, щоб знайти програмні вразливості. Людський мозок спрямований на фільтрацію, переривання[що?] та звіт про вихід[що?] автоматизованих інструментів аналізу вихідного коду, доступних у комерційному відношенні, а також про можливі шляхи через скомпільовану кодову базу для виявлення уразливостей на рівні виникнення головної причини.
Існує багато видів автоматизованих інструментів для ідентифікації програмних уразливостей. Деякі з них вимагають великого досвіду проведення експертизи безпеки, а інші використовуються для повного автоматичного застосування. Результати залежать від типу інформаційних елементів (вихідної, бінарної, HTTP — трафіку, конфігурації, бібліотек, з'єднань), що надають інструменту якість аналізу і виправлення уразливостей. Звичайні технології для ідентифікації програмної вразливості включать:
Прогрес у професійному шкідливому програмному забезпеченні, орієнтованому на клієнтів онлайн організацій змінив вимоги до вебдодатків з 2007 року. Як правило, передбачається, що значна частина Інтернет-користувачів буде скомпроментована через шкідливе ПЗ, та що будь-які дані, отримані від інфікованого хоста, можуть бути шкідливими. Тому, захист додатків почав зароджувати унікальні розвинені системи для боротьби з шахрайством та евристичними системами виявлення у back-office, а не в межах коду клієнта або коду вебсервера.[12] З 2016 року розроблені додатки самозахисту (RASP) під час виконання програми.[8][13] RASP — це технологія, яка використовується разом із середовищем або у середовищі виконання додатка, яка налаштовує додаток, проводить виявлення атак та їх запобіганню.[14][15]
Cisco FirePower — це міжмережевий екран, який має набір функцій, які допомагають організувати безпеку додатків, застосувань, вебзастосувань та іншого софту. Cisco FirePower включає у себе такі сервіси:[16]
Cisco FirePower слідкує за мережевим середовищем, додатками, застосунками, трафіком і має багатий функціонал по обмеженню доступу до різного роду додатків, наприклад, Tor, Skype, Oracle та інші. Система не просто фільтрує трафік на мережевому рівні, але вона має можливість відстежувати поведінку недозволених додатків, а також забороняти використовувати функції, сервіси або додатки. Як приклад буде слугувати додаток Skype через який проводиться спілкування, відеозв'язок, обмін повідомленнями. Cisco FirePower може обмежити повний список функцій або дозволити виконувати лише одну з них. Така реалізація є досить суттєвою, коли головною метою, щодо захисту інформації є обмеження права на одну або декілька функцій, в залежності від потреб безпеки. Також програма дозволяє проаналізувати та подивитися список усіх користувачів додатків у одній мережі. Контроль здійснюється за різного роду додатками: вебдодатки, клієнтські додатки, серверні додатки.[17] Окрім цих функцій, Cisco FirePower дозволяє бачити та контролювати користувачів відомих програм Proxy, Onion, інші. Це може значно покращити рівень обслуговування додатків та запобігти неправомірним діям зі сторони користувача.
Складність: більшість організацій мають десятки різних технологій забезпечення безпеки, які часто несумісні між собою, крім того ситуація ускладнюється відсутністю на ринку достатньої кількості досвідчених фахівців в цій області.
Відкритість коду: доступ до такого коду у додатку є у кожного, тобто туди можна вносити зміни і створювати свої додатки, змінювати функціонал, створювати уразливості та на базі них віруси.
У таблиці наведені основні практики безпеки додатків та їх опис.[18]
Практика | Опис |
---|---|
Оцінка ризиків | Розуміння цінності того, що захищається, допоможе виправдати витрати на безпеку. |
Створення політики безпеки | Створення політики, яка чітко окреслює корпоративні правила, обов'язки та очікування. |
Заходи фізичної безпеки | Обмеження доступу до комунікаційних шаф, серверних кімнат, а також до систем пожежогасіння. |
Ретельна перевірка персоналу | У співробітників повинні бути належним чином вивчені анкетні дані та перевірені зв'язки. |
Виконання і перевірка резервних копій | Регулярне виконання резервного копіювання та перевірка можливості відновлення даних з них. |
Підтримка виправлень і оновлень системи безпеки | Регулярне оновлення операційних систем і програмного забезпечення серверів, клієнтів і мережевих пристроїв. |
Використання засобів контролю доступу | Налаштування ролі і рівні привілеїв користувачів, а також надійна аутентифікація. |
Регулярна перевірка реагування на інциденти | Сформована команда реагування на інциденти і перевірка сценаріїв аварійного реагування. |
Впровадження інструменту моніторингу, аналізу та керування мережею | Рішення для моніторингу безпеки, яке інтегрується з іншими технологіями. |
Впровадження мережних пристроїв безпеки | Використання нового покоління маршрутизаторів, фаєрволів та інших пристроїв безпеки. |
Впровадження комплексного рішення безпеки кінцевої точки | Використання на рівні підприємства антивірусних програм від усіх видів шкідливого ПЗ. |
Навчання користувачів | Ерудиція користувачів та співробітників у процедурах безпеки. |
Шифрування даних | Шифрування усіх конфіденційних даних компанії, включаючи електронну пошту. |
{{cite web}}
: Cite має пустий невідомий параметр: |df=
(довідка) [Архівовано 2009-03-29 у Wayback Machine.]