Научная статья на тему 'БЕЗПЕКА ВЕБ-ДОДАТКІВ ТА ХАКЕРСЬКІ АТАКИ'

БЕЗПЕКА ВЕБ-ДОДАТКІВ ТА ХАКЕРСЬКІ АТАКИ Текст научной статьи по специальности «Экономика и бизнес»

CC BY
18
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
веб-додаток / хакерська атака / SQL injection / Cross-site scripting / Cross-site request forgery / Server-side request forgery / файлова атака / web application / hacker attack / SQL injection / Cross-site scripting / Cross-site request forgery / Server-side request forgery / file attack

Аннотация научной статьи по экономике и бизнесу, автор научной работы — О. О. Боскін, Н. В. Корніловська, В. М. Поліщук, Н. В. Сарафаннікова

Питання безпеки веб-додатків та захисту від хакерські атаки є дуже важливою в сучасному світі, оскільки зростає кількість веб-додатків, які містять вразливості та можуть стати об'єктом хакерських атак. Необхідно приділяти достатню увагу заходам безпеки, щоб захистити дані користувачів від небажаного доступу та зловмисного використання. У рамках даної статті було розглянуто основні види хакерських атак на веб-додатки, такі як SQL injection (SQLi), Cross-site scripting (XSS), Cross-site request forgery (CSRF), Server-side request forgery (SSRF) та файлові атаки, а також наведені приклади заходів захисту від кожного типу атак. З метою забезпечення безпеки веб-додатків необхідно дотримуватись принципів безпеки, використовувати надійні паролі, оновлювати програмне забезпечення, вести моніторинг веб-додатків та регулярно проводити аудит безпеки. В статті проведено огляд, систематизація і узагальнення публікацій з питань принципів безпеки веб-додатків та найбільш загрозливих хакерських атак. Наведено сучасні методики та підходи до моделювання загроз, які допомагають забезпечити безпеку веб-додатків. Розгдянуті наступні методики моделювання: Threat Modeling, Security Testing, Risk Assessment, Penetration Testing, Security Audits, STRIDE, DREAD, VAST, PASTA, Trike, PTA (Penetration Testing and Assessment). На основі методик моделювання загроз запропоновано оновлені і вдосконалені основні принципи безпеки вебдодатків. Метою даного дослідження є визначення основних принципів безпеки веб-додатків і виявлення найбільш поширених вразливостей, що допускають хакерські атаки, визначення засобів захисту від різних типів хакерських атак на веб-додатки. Основні результати дослідження. Здійснено уточнення основних принципів безпеки веб-додатків, запропоновані засоби захисту від різних типів хакерських атак на веб-додатки. Наукова новизна. Розроблено дієву методичну систему захисту від найбільш загрозливих хакерських атак.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по экономике и бизнесу , автор научной работы — О. О. Боскін, Н. В. Корніловська, В. М. Поліщук, Н. В. Сарафаннікова

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

WEB APPLICATION SECURITY AND HACKER ATTACKS

The issue of web application security and protection against hacker attacks is very important in the modern world, as the number of web applications that contain vulnerabilities and may become the target of hacker attacks is growing. It is necessary to pay sufficient attention to security measures to protect user data from unwanted access and malicious use. This article discusses the main types of hacker attacks on web applications, such as SQL injection (SQLi), Cross-site scripting (XSS), Cross-site request forgery (CSRF), Server-side request forgery (SSRF), and file attacks, and provides examples of protection measures against each type of attack. In order to ensure the security of web applications, it is necessary to adhere to security principles, use strong passwords, update software, monitor web applications, and conduct regular security audits. The article reviews, systematizes and summarizes publications on the principles of web application security and the most threatening hacker attacks. Modern methodologies over and going are brought near the design of threats that help to provide safety of webaddit ions. Considered next methodologies of design : Threat Modeling, Security Testing, Risk Assessment, Penetration Testi ng, Security Audits, STRIDE, DREAD, VAST, PASTA, Trike, PTA (Penetration Testing and of Assessment). On the basis of methodologies the design of threats is offered the renewed and improved basic principles of safety of web-additions. The goal of this research is to define the basic principles of web application security and identify the most common vulnerabilities that allow hacker attacks, as well as to determine the means of protection against various types of hacker attacks on web applications. The main results of the research. The basic principles of web application security have been clarified, and means of protection against various types of hacker attacks on web applications have been proposed. Scientific novelty. An effective methodological system of protection against the most threatening hacker attacks has been developed.

Текст научной работы на тему «БЕЗПЕКА ВЕБ-ДОДАТКІВ ТА ХАКЕРСЬКІ АТАКИ»

УДК 004.056.5

https://doi.Org/10.35546/kntu2078-4481.2023.3.11

О. О. БОСК1Н

старший викладач кафедри програмних засобiв i технологш Херсонський нацюнальний техшчний унiверситет ORCID: 0000-0001-7391-0986

Н. В. КОРН1ЛОВСЬКА

кандидат технiчних наук, доцент, доцент кафедри шформатики i комп'ютерних наук Херсонський нацюнальний техшчний ушверситет ORCID: 0000-0002-8331-8027

В. М. ПОЛ1ЩУК

кандидат технiчних наук, доцент, доцент кафедри автоматизаци, робототехнiки i мехатронiки Херсонський нацюнальний техшчний ушверситет ORCID: 0000-0002-8775-4977

Н. В. САРАФАНН1КОВА

кандидат технiчних наук, доцент, доцент кафедри автоматизаци, робототехшки i мехатронiки Херсонський нацiональний техшчний ушверситет ORCID: 0009-0006-6609-016X

БЕЗПЕКА ВЕБ-ДОДАТК1В ТА ХАКЕРСЬК1 АТАКИ

Питання безпеки веб-додатюв та захисту eid хакерськ атаки е дуже важливою в сучасному ceimi, осюльки зростае юльюсть веб-додатюв, як мктять вразливоcmi та можуть стати об'ектом хакерських атак. Необ-xidHO придшяти достатню увагу заходам безпеки, щоб захистити дат кориcmувачiв eid небажаного доступу та зловмисного використання. У рамках даноi cmаmmi було розглянуто оcновнi види хакерських атак на веб-додатки, таю як SQL injection (SQLi), Cross-site scripting (XSS), Cross-site request forgery (CSRF), Server-side request forgery (SSRF) та файловi атаки, а також наведен приклади заходiв захисту вiд кожного типу атак. З метою забезпе-чення безпеки веб-додатюв необхiдно дотримуватись принцитв безпеки, використовувати надiйнi паролi, онов-лювати програмне забезпечення, вести монторинг веб-додатюв та регулярно проводити аудит безпеки.

В cmаmmi проведено огляд, cиcmемаmизацiя iузагальнення публiкацiй з питань принцитв безпеки веб-додатюв та найбшьш загрозливих хакерських атак.

Наведено cучаcнi методики та тдходи до моделювання загроз, як допомагають забезпечити безпеку веб-додатюв. Розгдянуmi наcmупнi методики моделювання: Threat Modeling, Security Testing, Risk Assessment, Penetration Testing, Security Audits, STRIDE, DREAD, VAST, PASTA, Trike, PTA (Penetration Testing and Assessment). На оcновi методик моделювання загроз запропоновано оновлеш i вдосконалеш оcновнi принципи безпеки веб-додатюв.

Метою даного до^дження е визначення основних принципiв безпеки веб-додатюв i виявлення найбшьш поширених вразливостей, що допускають хакерськ атаки, визначення заcобiв захисту вiд р1зних mипiв хакерських атак на веб-додатки. Оcновнi результати до^дження. Здшснено уточнення основних принципiв безпеки веб-додатюв, запропонован засоби захисту вiд ргзних mипiв хакерських атак на веб-додатки. Наукова новизна. Розроблено дiеву методичну систему захисту вiд найбшьш загрозливих хакерських атак.

Ключовi слова: веб-додаток, хакерська атака, SQL injection, Cross-site scripting, Cross-site request forgery, Server-side request forgery, файлова атака.

O. O. BOSKIN

Senior Lecturer at the Software Tools and Technologies Department Kherson National Technical University ORCID: 0000-0001-7391-0986

N. V. KORNILOVSKA

Candidate of Sciences in Technology, Associate Professor, Associate Professor at the Informatics and Computer Sciences Department

Kherson National Technical University ORCID: 0000-0002-833-8027

V. M. POLISHCHUK

Candidate of Sciences in Technology, Associate Professor, Associate Professor at the Automation, Robotics and Mechatronics Department Kherson National Technical University ORCID: 0000-0002-8775-4977

N. V. SARAFANNIKOVA

Candidate of Sciences in Technology, Associate Professor, Associate Professor at the Automation, Robotics and Mechatronics Department Kherson National Technical University ORCID: 0009-0006-6609-016X

WEB APPLICATION SECURITY AND HACKER ATTACKS

The issue of web application security and protection against hacker attacks is very important in the modern world, as the number of web applications that contain vulnerabilities and may become the target of hacker attacks is growing. It is necessary to pay sufficient attention to security measures to protect user data from unwanted access and malicious use. This article discusses the main types of hacker attacks on web applications, such as SQL injection (SQLi), Cross-site scripting (XSS), Cross-site request forgery (CSRF), Server-side request forgery (SSRF), and file attacks, and provides examples of protection measures against each type of attack. In order to ensure the security of web applications, it is necessary to adhere to security principles, use strong passwords, update software, monitor web applications, and conduct regular security audits.

The article reviews, systematizes and summarizes publications on the principles of web application security and the most threatening hacker attacks.

Modern methodologies over and going are brought near the design of threats that help to provide safety of webaddit ions. Considered next methodologies of design : Threat Modeling, Security Testing, Risk Assessment, Penetration Testi ng, Security Audits, STRIDE, DREAD, VAST, PASTA, Trike, PTA (Penetration Testing and of Assessment). On the basis of methodologies the design of threats is offered the renewed and improved basic principles of safety of web-additions.

The goal of this research is to define the basic principles of web application security and identify the most common vulnerabilities that allow hacker attacks, as well as to determine the means of protection against various types of hacker attacks on web applications. The main results of the research. The basic principles of web application security have been clarified, and means of protection against various types of hacker attacks on web applications have been proposed. Scientific novelty. An effective methodological system of protection against the most threatening hacker attacks has been developed.

Key words: web application, hacker attack, SQL injection, Cross-site scripting, Cross-site requestforgery, Server-side request forgery, file attack.

Постановка проблеми

У сучасному свт, наповненому технологиями, веб-програми завжди доступш для широкого загалу, на сьо-годшшнш день важко знайти оргашзацш, пвдприемство, 6i3№C, як б не мали власного веб-ресурсу, або не вико-ристовували штернет технологи. На вщмшу ввд внутршшх мережевих програм, веб-браузер доступний для вах користувачiв, яш мають пвдключення до штернету, i для зловмиснишв теж.

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

З кожним роком зростае кшьшсть атак на веб-сайти. На жаль, не юнуе точних статистичних даних про кшьшсть атак на веб-додатки за кожен окремий рж, осшльки щ даш зазвичай не е загальнодоступними. Статистику шбератак надають лише конкретш оргашзацп або вендори з метою власного аналiзу та забезпечення безпеки сво!х продукпв. Однак, деяк дослщження та звгги шформують про загальну тенденщю зростання шлькосп атак на веб-додатки в цшому.

Так, за даними звиу Verizon Data Breach Investigations Report 2021, атаки на веб-додатки були причиною 39% уах шбершциденпв, що були дослщжеш в 2020 рощ. Звгт також вказуе, що використання атак на веб-додатки зросло з 20% в 2019 рощ до 27% у 2020 рощ.

1ншим джерелом е звгт Akamai Technologies про стан безпеки в 1нтернеп, опублшэваний у 2021 рощ. Звгт стверджуе, що атаки на веб-додатки залишаються одшею з основних загроз для оргашзацш, зокрема, було зафж-совано зростання шлькосп SQL-ш'екцш на 57% в порiвняннi з 2019 роком.

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

Сайт практично кожно! компанп зберiгаe та обробляе персональнi данi користувачiв, конфiденцiйну шфор-мацiю, реалiзуе прийом онлайн-платеж1в, i власники Be6-pecypciB часто навiть не замислюються про те, що без-пека веб-проекту постiйно перебувае пвд загрозою. Навiть якщо крадiжка даних або порушення роботи сайту не е метою злому, то у шберзлочинщв юнують також iншi причини для цього - розсилання спаму або тимчасове використання веб-сервера для збер^ання файлiв (часто нелегального змюту).

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

Аналiз останшх досл1джень i публiкацiй Gary McGraw[1] детально розглядае проблему безпеки програмного забезпечення в цiлому, включаючи без-пеку веб-додаткiв, дослвджуе основнi принципи безпеки веб-додатшв, в тому чи^ так1 питання, як iдентифiкацiя загроз, захист вiд атак, захист ввд перехоплення та пвдробки даних, керування доступом, захист вiд зловживань та шше. Автор пропонуе конкретнi практичш поради та рекомендацп щодо захисту веб-додатк1в вiд потенцiйних загроз та атак, а також описуе шструменти та методи, як можуть допомогти розробникам створити безпечнi веб-додатки. Наводить приклади та шюстраци, що допомагають зрозумiти складнi концепцп та принципи безпеки веб-додатшв.

Gary McGraw [2] висвилюе принципи безпеки веб-додатшв з точки зору проектування, розробки та тесту-вання програмного забезпечення. Пропонуе широкий огляд безпекових загроз, яш стосуються веб-додатшв, включаючи атаки на рiвнi входу даних, вразливосл, пов'язаш з безпекою сеансу, а також атаки на сервер. В [3] надае рекомендаций та кроки, яш повиннi бути виконаш для пiдвищення безпеки веб-додаткiв, включаючи використання захисту ввд перехоплення, збереження безпеки паролiв та забезпечення контролю доступу. Висвилюе принцип захисту ввд хибного введення даних та використання валвдацп введених даних. Автор надае рекомендацп щодо безпеки веб-сервiсiв та використання безпечних метсдав передачi даних, таких як HTTPS та SSL / TLS. Також автор описуе методологи для розробки безпечних веб-додатшв, так як Secure Development Lifecycle (SDL), та висвилюе важливють забезпечення безпеки шд час процесу розробки та тестування програмного забезпечення.

Howard та LeBlanc [4, 5] дослщжують принципи безпеки програмного забезпечення, зокрема веб-додатшв. Вони описують рiзнi види загроз безпецi веб-додатк1в та методи !х захисту. Надають поради щодо безпеки при розробщ веб-додаткiв, включаючи використання безпечних методiв автентифжацп та авторизацп, валiдацiю введених даних, управлшня сесiями, захист вiд SQL Injection та Cross-Site Scripting атак, i багато шшого. Наводять приклади коду та практичш поради щодо тестування безпеки веб-додатшв.

Джерело [6] е докладним поабником для хакерiв та професiоналiв з безпеки веб-додатшв для виявлення та експлуатацй' вразливостей. Автори пропонують розглядати веб-додатки як системи, що мають певний рiвень безпеки, але також мають певш слабш мiсця, як1 можна використовувати для атак. Описано рiзнi типи атак, так1 як SQL injection, Cross-site scripting (XSS), CSRF, а також техшки експлуатацй вразливостей. Автори надають знання та навички, необхвдш для здiйснення успiшних атак на веб-додатки. Крiм опису техшк атак, висвiтлено основнi принципи безпеки веб-додатшв, таш як захист вщ SQL injection, захист ввд XSS та CSRF. Автори пвдкреслюють важливють врахування аспектiв безпеки веб-додатк1в ще на еташ !х розробки та тестування. Крiм того, автори надають поради щодо виявлення та виправлення вразливостей, а також процесу здшснення пенетрацшного тестування для оцшки рiвня безпеки веб-додатк1в.

Adam Shostack [7] описуе, як виконувати моделювання загроз для веб-додатк1в, щоб забезпечити !х безпеку. Автор наголошуе на важливосл врахування аспектiв безпеки на раншх етапах розробки веб-додатк1в, що дозво-ляе виявляти та виправляти потенцшш проблеми безпеки на еташ проектування. Описуе рiзнi методики та тд-ходи до моделювання загроз, а також надае поради та рекомендацп щодо визначення ризишв та застосування ввдповщних контрмiр для забезпечення безпеки веб-додатшв. детально розглядаються основш принципи безпеки веб-додатк1в, такi як автентифтащя, авторизацiя, шифрування даних та шш^

Chris Easttom [8] розглядае основш загрози, як1 можуть стати викликом для безпеки веб-додатк1в, таш як вразливосл, що дозволяють виконання коду на в1ддаленому сервер^ SQL-iн'екцil, атаки на автентифiкацiю та автори-зацiю, а також вразливосл Cross-Site Scripting i Cross-Site Request Forgery. Для кожно! з цих загроз автор розглядае причини виникнення, можливi наслщки для безпеки веб-додатшв та запропоноваш методи захисту вщ них. Крiм того, автор розглядае принципи безпеки веб-додатшв, таш як зменшення атаковано! поверхш, забезпечення безпеки на вах рiвнях стеку веб-додатшв.

Формулювання мети дослiдження Визначення основних принцитв безпеки веб-додатшв i виявлення найбшьш поширених вразливостей, що допускають хакерськ1 атаки, визначення засобiв захисту в1д рiзних типiв хакерських атак на веб-додатки.

Виклад MaTepiaiy дослщження

Моделювання загроз - це процес вдентифшаци потенцшних загроз безпещ в систем^ програмному забезпе-ченш або мереж з метою визначення вразливостей та виршення проблем безпеки. Деяш методики та подходи до моделювання загроз, яш допомагають забезпечити безпеку веб-додатк1в [1-3, 7, 9, 10]:

Threat Modeling: Threat modeling e одшею з найбтш вщомих методик моделювання загроз, в основ1 яко1 лежить вдентифтащя потенцшних загроз для системи, анал1з вразливостей та розробка стратеги зниження ризику. У цш методищ використовуються р1зн1 шструменти, наприклад, д1аграми, таблищ, документация та шш1 шструменти для ощнки загроз.

Security Testing: Security testing e процесом виявлення вразливостей та потенцшних загроз безпещ програм-ного забезпечення. Цей процес може включати в себе тестування на проникнення, тестування на злам та шш1 методи тестування безпеки.

Risk Assessment: Risk assessment включае в себе процес вдентифкаци та анал1зу загроз безпещ, ощнку ризи-к1в та розробку стратегш зниження ризику. У цьому процес використовуються р1зн1 шструменти, так1 як анал1з SWOT (Strengths, Weaknesses, Opportunities, Threats - методика стратепчного планування, яка дозволяе оцшити сильш i слабк1 сторони, можливосп i загрози), анал1з потенцшних причин виникнення проблем та шш1 методи.

Penetration Testing: Penetration testing e процесом активного виявлення вразливостей та потенцшних загроз безпещ за допомогою симуляцп атак на систему. Цей процес дозволяе виявити потенцшш проблеми безпеки та розробити стратеги зниження ризику.

Security Audits: Security audits e процесом ощнки безпеки системи, мережi або програмного забезпечення на ввдповщшсть стандартам безпеки. Цей шдхвд дозволяе оцшити наявнi безпековi проблеми, виявити потенцшш вразливосл та розробити план заходiв з ïx вирiшення. До основних переваг security audit належать зниження ризику втрати даних, тдвищення надшносп системи, зменшення витрат на вщновлення пiсля атаки та забезпечення дотримання стандартiв безпеки.

STRIDE: Цей шдхщ розроблений компанieю Microsoft i включае 6 категорш загроз, яш можуть виникнути у веб-додатках: виконання небезпечних операцiй (Spoofing), пiдробка (Tampering), вставка коду (Repudiation), розголошення конфiденцiйноï iнформацiï (Information Disclosure), використання (Denial of Service) та пвдмша (Elevation of Privilege).

DREAD: Ця методика розглядае п'ять факторiв, що впливають на загрози: Поширенiсть (Damage potential), Вплив на бiзнес (Reproducibility), Вплив на вщповвдальшсть (Exploitability), Залежнiсть ввд вразливостi (Affected users), Частота виникнення (Discoverability).

VAST: Цей шдхвд використовуеться для виявлення i моделювання загроз шляхом проведення вiртуальниx атак на веб-додаток. Цей метод включае шлька еташв: виявлення векторiв атак, сканування портiв, сканування служб, визначення вразливостей i експлойлв, а також отримання доступу до системи.

PASTA: Цей шдхвд включае в себе п'ять еташв: Пвдготовчий аналiз (Preparation), Аналiз загроз (Threat modeling), Оцiнка ризишв (Risk assessment), Розробка заxодiв забезпечення безпеки (Security design), Ввдстеження (Tracking).

Trike: Цей пiдxiд включае в себе три етапи: розробка арxiтектури, ощнка загроз та вибiр заxодiв забезпечення безпеки.

PTA (Penetration Testing and Assessment): Це шдхщ який включае проведення тестування на проникнення з метою виявлення вразливостей в веб-додатках. Цей шдхщ використовуе рiзнi теxнiки тестування, включаючи сканування портiв, сканування вразливостей, тестування на стшшсть до атак, аналiз захисту вiд SQL-iн'eкцiï, XSS, CSRF та шших типiв атак.

На основi методик моделювання загроз можна запропонувати наступнi основнi принципи безпеки веб-додаткiв:

1. Автентифiкацiя: вимагати ввд користувачiв введения iдентифiкаторiв та паролiв для доступу до заxищеноï iнформацiï.

2. Авторизацiя: забезпечення правильного рiвня доступу до захищених ресурав, щоб забезпечити конфiден-цiйнiсть та цшсшсть iнформацiï.

3. Захист ввд SQL-iн'eкцiй: запобiгання виконанню небажаних запилв до бази даних, що можуть привести до руйнування даних.

4. Захист ввд мiжсайтовиx скриптiв: запобiгання виконанню небажаних скриплв, якi можуть зламати безпеку веб-сторшки.

5. Захист вiд переповнення буфера: запобiгання збо1'в, якi можуть виникнути, коли ввщ забезпечуеться даними бшьше, нiж максимально допустима кшьшсть.

6. Захист вiд вразливостей, пов'язаних з файловою системою: запобiгання доступу до конфщенцшних даних, якi можуть бути збережеш в файловiй системi веб-сервера.

7. Захист вiд атак з використанням перехоплення сесiï: запобтання доступу до конфiденцiйноï iнформацiï шляхом перехоплення сеси користувача.

8. Захист ввд атак з використанням тдроблення дешифратора: запобжання доступу до захищено! шформацп шляхом пвдроблення 1дентиф1катор1в користувача.

9. Захист ввд атак з використанням «вимагання пам'яп»: запобжання доступу до конфщенцшних даних шляхом примушення збо!в у пам'ят веб-додатку.

10. Захист ввд атак з використанням перехоплення кук1: використання HTTPS:через захист вщ CSRF (Cross-Site Request Forgery) та захист вщ XSS (Cross-Site Scripting).

11. Використання криптографп для захисту даних, переданих м1ж користувачем i сервером. Це включае в себе використання протоколiв шифрування, таких як SSL/TLS, та застосування стiйких алгоритмiв шифрування.

12. Регулярне оновлення програмного забезпечення, в тому чи^ веб-серверiв, баз даних, фреймворшв та iнших компонентiв веб-додатк1в, щоб уникнути використання вразливостей, як1 вже були виправлеш

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

14. Використання вiдповiдних правил контролю доступу для обмеження доступу користувачiв до конфвден-цшно! шформацп та функцш додатку.

15. Використання систем мониторингу та реестраци подiй, яш дозволяють виявляти та реагувати на некорек-тну роботу додатку, а також на пвдозршу активнiсть.

16. Використання систем резервного кошювання, щоб забезпечити можливiсть вiдновлення додатку у разi втрати даних або шших негативних наслiдкiв.

17. Розумiння та дотримання вiдповiдних правил та законодавства, пов'язаного з захистом даних користувачiв, таких як Закон про захист персональних даних.

Хакерськ атаки на веб-додатки можна класифiкувати за рiзними критерiями, наприклад, за типом атаки, вико-ристовуваним вразливостям, метою атаки тощо. Наведемо найб№ш поширенi типи атак на веб-додатки:

1. SQL injection - це атака, коли хакер вставляе SQL-код в веб-форми, щоб отримати доступ до бази даних, або змшити, видалити або додати даш SQL-ш'екцп можуть бути дуже шшдливими для веб-додатк1в, оск1льки вони можуть дозволити хакеру виконувати будь-якi ди з базою даних, навiть виконання команд на серверi (рис. 1).

Ш13*' SELECT u^irrnama, fjniiirard FFCM имп'

SQL injection

fiELE-GTi вале, de script a on КК1И products WHbHK citegor^' = 'Gifts4 ONION SELECT иакгтадм, jus-twrd FHÖN uaeri—

CD ----

DB

--(it AH passwonds^

——^^ All usamaroei ^-4-

Рис. 1. Атака SQL injection

Основним принципом атаки SQLi e використання недостатньо фшьтрованого вводу користувача, що дозво-ляе зловмиснику вставляти в SQL-запит шшдливий код. Наприклад, якщо веб-додаток використовуе запит типу "SELECT * FROM users WHERE username = 'input'", зловмисник може вводити значення, яш мiстять шк1дливий SQL-код, наприклад, " ' OR 1=1; --". В цьому випадку весь запит стае "SELECT * FROM users WHERE username = '' OR 1=1; --'", що дозволяе зловмиснику отримати доступ до вах записiв в таблицi users.

2. Cross-site scripting - це атака, при яшй хакер вставляе скрипти в веб-сторшки, щоб отримати доступ до даних користувачiв, яш переглядають сторiнки. Ця атака може дозволити хакеру виконувати будь-як дИ ввд iменi користувача, включаючи крадiжку паролiв та шшо! конфвденцшно! шформацп.

Cross-site scripting е одшею з найбтш поширених хакерських атак на веб-додатки. XSS полягае в тому, що зловмисники вбудовують скрипти в веб-сторшки, яш вiдображаються для iнших користувачiв (рис. 2).

Cross Site Scripting(XSS)

INSERT ... '<stript>al ert(1 )<teeri pt>'

00

oo

POST t cofnment.php? teMt=<scnpt ;> alert( 1 )<Vscri pt>

□ Oi

I oq|

Server

&

К л ÍGHT 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

<html>

Comments

< sc ri pt alert( 1 (<Лс ript> <htfflh

SELECT ...-> <serip)t>alert{i)</í(fipt>"

KnicHT 2

Рис. 2. Атака Cross-site scripting

Наприклад, зловмисники можуть вбудувати скрипт, який виконуе певну дiю, наприклад, крад1жку кук1 або паролiв користувачiв, коли шший користувач вiдкривае вiдповiдну веб-сторшку. За допомогою XSS-атак зловмисники можуть також перенаправляти користувачiв на iншi веб-сторiнки, що мiстять шквдливий вмiст.

Основнi типи XSS-атак:

- збшьшення вразливостi введения даних: зловмисники вставляють скрипти в форми, поля для введення даних або параметри URL-адреси веб-сторiнки;

- XSS за допомогою вщображення даних: зловмисники вставляють скрипти в коментар^ повiдомлення чи iншi вiдображуванi данi на веб-сторшщ;

- розширення URL-адреси: зловмисники додають до URL-адреси скрипти, як1 виконуються, коли користувач переходить за ввдповщним посиланням.

3. Cross-site request forgery - це атака, при якш хакер використовуе веб-сторшки, щоб змусити користувачiв виконувати ди, як1 вони не хочуть виконувати. Наприклад, хакер може ввдправити електронний лист з посиланням, що виконуе певну дш, таку як ввдправка грошей з баншвського рахунку, якщо користувач натисне на поси-лання (рис. 3).

CROSS-SITE REQUEST FORGERY

а

ЗПОЯМИСМИ« ШДробЛ« MIMT

ма j mim у enerrpoHHOi ядре с и яеб-саиту

S)

1. ДЕЛИТЬСЯ посиламмям

ма ЫдроФпаммй с а ит через алектроиму почту, cotúantMi марево та (м.

J. Зааамтаасус сторЫку ai эаоаммсиим *омтемтом

2. В1дкриаас посилаимя в 6рауэар4

(www)

Злоемисиий сайт

Брауэар жартам

4.}надеилае аалит Ib4^ облшовими аамиыи ^ ^ ^ кормстуаача Г WWW^)

ОриПмальмии сайт

f. Запит приимято та обробламо як эакоммяй аалит кармстуаача

Рис. 3. Атака Cross-site request forgery

Основна щея атаки полягае в тому, що зловмисник змушуе авторизованого користувача перейти на тдроблену CTopiHKy, де за допомогою скрипту ввдправляеться запит на сервер з тдробленими параметрами. Якщо на серверi немае достатньо! перевiрки запипв, то вiн може виконати небажану дш без попередньо! авторизаци користувача, наприклад, вiдправити команду на видалення або змiнy даних.

Приклад: зловмисник створюе тдроблену сторшку, що мютить форму з внyтрiшнiм командним кодом для видалення даних. Вш надсилае посилання на цю сторiнкy авторизованому користyвачевi в листi електронно! пошти або через поввдомлення в сощальнш мереж!. Якщо користувач перейде за цим посиланням, то його запит буде виконаний на сервер!, i ввдбудеться видалення даних без попередньо! авторизаци користувача.

4. Server-side request forgery - це атака, коли хакер використовуе вразливють веб-додатку, щоб змусити сервер виконувати запити до iнших ресyрсiв в мереж^ таких як бази даних, файловi системи або iншi веб-сервери. Наприклад, нападник може використовувати сервер, щоб скотювати або видалити данi зi стороннього сервера або виконати шквдливий код на iншомy серверi (рис. 4).

Один з основних прикладiв атаки SSRF полягае в тому, що зловмисник використовуе вразливють на веб-сайп для вщправки запиту до внутршньо! мереж! оргашзацп. Наприклад, зловмисник може використовувати адресу IP внутршньо! мереж1, яку вш дiзнався тд час перегляду заголовков ввдповщ попереднього запиту до сервера. Шсля цього зловмисник може надюлати запит на внутршнш сервер з використанням ще! адреси IP, що дозволить йому виконати дп, так1 як отримання конфiденцiйних даних або знищення внутршшх ресyрсiв.

SERVER-SIDE REQUEST FORGERY

003 \

?/ v г \\

Сервер

Зловмисник

Рис. 4. Атака Server-side request forgery

оо|

оо|

00|

Враэливий сервер

Одним з метсдов захисту ввд атаки SSRF е перев!рка вхщних даних та параметр!в запипв на вмют небезпечних URL-адрес. Також може бути використана блокування доступу до внутршньо! мереж! з зовшшнього сервера.

5. Файлов! атаки - це атаки, коли хакер використовуе вразливють веб-додатку, щоб завантажити зловмисний файл на сервер або змшити юнуюта файли. Ц атаки можуть бути особливо небезпечними, якщо зловмисний файл мютить шквдливий код,

Одним з приклад!в файлово! атаки, яка використовуе вразливосп в програмному забезпеченш, е атака на фай-лову систему сервера. Хакер може використовувати вразливосп в програмному забезпеченш, так! як недостатш перев!рки на введення даних або вразливосп в стороншх б!блютеках, щоб виконати код на сервер! та отримати доступ до файл!в, як! повинш бути захищеш.

Наприклад, якщо веб-додаток мае вразливють, яка дозволяе хакеру виконати дов!льний код на сервер!, то хакер може виконати команду, яка зчитуе файли з сервера та надсилае 1х на зловмисний сервер. Хакер може також зм!нювати файли на сервер!, що може призвести до руйнування даних або порушення конфщенцшносп даних.

Пропонуемо засоби захисту вщ р!зних титв хакерських атак на веб-додатки.

1. Для захисту ввд SQL injection можна застосовувати наступш методи:

- використовувати шдготовлеш запити (Prepared Statements): це дозволяе попередньо комтлювати запити i забезпечуе захист вщ впливу введеного користувачем SQL-коду;

- використовувати змшш в запитах: замють жорстко заданого SQL-коду динам!чно формувати запит з використанням змшних;

- використовувати фшьтращю введення користувача: перев!ряти введення користувача на наявнють SQL-коду та використовувати фшьтри для очищення даних перед виконанням запиту;

- обмежувати права доступу користувач!в до бази даних: це дозволить зменшити можливють впливу SQL-ш'екцп на базу даних;

- оновлювати ПЗ та застосовувати патчг це дозволяе закрити вразливостi, яю можуть бути використаш зло-вмисниками для здшснення атак.

- використовувати вiдповiднi бiблiотеки та фреймворки: вони мiстять вбудоваш механiзми захисту вiд SQL-ш'екцш, якi допомагають запобiгти атакам.

2. Пропонуемо наступнi методи захисту вщ Cross-site scripting:

- валiдацiя даних на входг перевiрка введеного користувачем тексту на наявнiсть потенцiйно небезпечних символiв i забезпечення його безпечносп до передачi на сервер;

- екранування символiв: замiна потенцiйно небезпечних символiв на безпечнi еквiваленти, яю не будуть шгер-претованi браузером як код;

- використання Content Security Policy (CSP): це мехашзм безпеки, який дозволяе обмежити джерела контенту, якi можуть бути завантажеш на сторiнку, заборонити виконання скриппв з певних джерел;

- використання HTTP-only куш: дозволяе заборонити доступ до куш з JavaScript, що зменшуе ризик XSS-атак, пов'язаних зi зловживанням куш;

- обмеження введення користувача: налаштування обмежень для довжини введеного користувачем тексту та його формату, а також використання шших методiв перевiрки на коректнiсть введення даних.

3. Для захисту ввд Cross-site request forgery рекомендуемо виконувати таю заходи:

- використовувати мехашзм захисту вщ CSRF, якщо вш доступний у веб-фреймворку, який використовуеться для розробки веб-додатку;

- використовувати токени випадково! генерацп, як1 прив'язанi до конкретного користувача або сесп, i вклю-чати 1х у форми та запити, як1 мiстять дiï, якi можуть змшити стан додатку;

- використовувати HTTP-заголовок Referer для перевiрки того, що запити приходять зi сторшок, як1 належать до певного веб-сайту. Проте, цей метод може бути ненадшним, осюльки заголовок Referer може бути змшений або вiдсутнiм у залип;

- не використовувати метод GET для здшснення дш, яш можуть змiнити стан додатку, таю як видалення або редагування даних. Зашсть цього, використовувати метод POST або PUT, який дозволяе включати токени в запити;

- не збертати конфвденцшну iнформацiю в кук1 або в GET-запитах, оск1льки цi данi можуть бути шдмшеш при атаках CSRF. Використовувати метод POST для ввдправки конфiденцiйноï iнформацiï на сервер.

4. Пропонуемо основш заходи для захисту вщ SSRF:

- обмеження доступу до внутршшх ресурсiв: налаштування файрвола та мережевих налаштувань для забезпечення обмеження доступу до внутршшх ресурав, таких як бази даних, сервюи та iншi сервiси;

- перевiрка вхвдних даних: перевiрка вхщних даних, що надходять ввд користувача на наявшсть даних, якi вказують на внутршш ресурси, та вщхилення залитiв, що мiстять небезпечнi даш;

- використання бiлого списку: використання бшого списку для вказiвки дозволених адрес вщдалених серве-рiв, з яких можуть бути здiйсненi запити;

- використання технологш безпеки: використання технологш безпеки, таких як Content Security Policy (CSP) та Subresource Integrity (SRI), для забезпечення контролю та перевiрки вмюту, що завантажуеться з зовшшшх джерел;

- налаштування прав доступу: налаштування прав доступу на серверах та iншi налаштування, що дозволяють обмежити можливють здшснення запипв на внутрiшнi ресурси;

- регулярш оновлення програмного забезпечення: регулярш оновлення програмного забезпечення, що використовуеться, включаючи серверну та ктентську частини, для усунення виявлених вразливостей.

5. Для захисту ввд файлових атак рекомендуемо дотримуватись наступних засад:

- заборона виконання виконуваних фамв на серверi, як1 знаходяться поза директорiею веб-сайту;

- вiдключення виконання PHP-файлiв у директор1ях, якi не призначеш для виконання скриптiв;

- заборона вщдаленого виконання коду (remote code execution) через веб-додатки;

- перевiрка типiв файлiв, як1 користувач може завантажувати на веб-сайт;

- перевiрка дозволiв на завантаження файлiв на сервер, заборона завантаження виконуваних фамв та обмеження розмiру завантажуваного файлу;

- використання надшних методiв шифрування для передачi фамв на сервер, таких як SSL;

- регулярне оновлення програмного забезпечення та встановлення патчiв для усунення виявлених вразливостей.

Висновки

У зв'язку зi зростаючим попитом на веб-додатки та залежшстю функцiонування багатьох систем ввд них, безпека веб-додаткiв стала надзвичайно важливою та актуальною. Хакерсью атаки на веб-додатки можуть ввдкрити доступ до конфiденцiйноï iнформацiï, зламати роботу додатка або навиъ спричинити виток даних. Для запобтання цим атакам необхвдно застосовувати рiзнi техшки та практики безпеки веб-додаткiв.

До основних хакерських атак на веб-додатки ввдносяться SQL injection, Cross-site scripting, Cross-site request forgery, Server-side request forgery, а також рiзнi види файлових атак. Кожна з цих атак мае сво! характеристики та методи захисту.

Основш принципи безпеки веб-додаткiв включають захист вiд атак на входi та виходi, валiдацiю вхiдних даних, обмеження доступу до ресурсiв та використання шифрування. Для захисту ввд конкретних хакерських атак, таких як SQLi, XSS, CSRF та SSRF, необхщно використовувати спецiальнi технiки та шструменти.

Для забезпечення безпеки веб-додатшв також необхiдно постiйно оновлювати програмне забезпечення, використовувати складнi паролi та двофакторну автентифiкацiю, робити резервш копii даних та запроваджувати регу-лярнi аудити безпеки.

Список використаноТ лiтератури

1. McGraw, G. Software security: Building security in. Addison-Wesley Professional, 1st edition, 2006. 396 p.

2. McGraw, G. Software security: Building security in. Addison-Wesley Professional, 2nd edition 2018. 528 p.

3. John Viega, Gary R. McGraw. Building Secure Software. Addison-Wesley Professional. 2002. 528 p.

4. Michael Howard, David LeBlanc. Writing secure code (Vol. 19). Microsoft Press, 2002. 608 p.

5. Michael Howard, David LeBlanc & John Viega. 19 Deadly Sins of Software Development. New York, NY: McGraw-Hill, 2005. 348 p.

6. Stuttard, D., & Pinto, M. The web application hacker's handbook: Finding and exploiting security flaws. John Wiley & Sons, 2016. 912 p.

7. Shostack, A. Threat modeling: designing for security. John Wiley & Sons, 2014. 624 p.

8. Easttom, C. Computer security fundamentals (3rd ed.). Pearson, 2016. 448 p.

9. Mark Dowd, John McDonald, & Justin Schuh. The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. Addison-Wesley Professional, 2006. 1200 p.

10. Eric Byres. Threat Modeling: Uncover Security Design Flaws Using the STRIDE Approach. Addison-Wesley Professional, 2014. 232 p.

11. Douglas Craig. Security Web Applications. O'Reilly Media, 2007. 296 p.

12. Bass, T., Clements, P., & Kazman, R. Software architecture in practice (3rd ed.). Addison-Wesley Professional, 2015. 624 p.

13. Felt, A. P., Finifter, M., Chin, E., Hanna, S., & Wagner, D. A survey of web security research. IEEE Transactions on Information Forensics and Security, 6(3), 2011. p. 1-17. DOI: 10.1109/TIFS.2011.2118713

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14. Ristic, I. Bulletproof SSL and TLS: Understanding and deploying SSL/TLS and PKI to secure servers and web applications. Feisty Duck, 2013. 400 p.

15. Stamper, R. Information security: principles and practice. John Wiley & Sons, 2005. 488 p.

16. Mitchell, R. Web penetration testing with kali linux: Discover the power of Kali Linux, one of the most popular tools for penetration testing, using real-world scenarios. Packt Publishing Ltd., 2019. 488 p.

17. Westrum, E. F. Secure software design. Auerbach Publications, 2016. 318 p.

18. Florencio, D., Herley, C., & van Oorschot, P. C. Passwords and the evolution of imperfect authentication. Communications of the ACM, 57(9), 2014. p. 78-87. DOI: 10.1145/2643132.2643136

19. Matt Bishop. Computer security: art and science. Addison-Wesley Professional, 2003. 1132 p.

References

1. McGraw, G. (2006). Software security: Building security in. Addison-Wesley Professional, 1st edition.

2. McGraw, G. (2018). Software security: Building security in. Addison-Wesley Professional, 2nd edition.

3. Viega, J., & McGraw, G. (2002). Building Secure Software. Addison-Wesley Professional.

4. Howard, M., & LeBlanc, D. (2002). Writing secure code (Vol. 19). Microsoft Press.

5. Howard, M., LeBlanc, D., & Viega, J. (2005). 19 Deadly Sins of Software Development. New York, NY: McGraw-Hill.

6. Stuttard, D., & Pinto, M. (2016). The web application hacker's handbook: Finding and exploiting security flaws. John Wiley & Sons.

7. Shostack, A. (2014). Threat modeling: designing for security. John Wiley & Sons.

8. Easttom, C. (2016). Computer security fundamentals (3rd ed.). Pearson.

9. Dowd, M., McDonald, J., & Schuh., J. (2006). The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. Addison-Wesley Professional.

10. Byres., E. (2014). Threat Modeling: Uncover Security Design Flaws Using the STRIDE Approach. Addison-Wesley Professional.

11. Craig., D. (2007). Security Web Applications. O'Reilly Media.

12. Bass, T., Clements, P., & Kazman, R. (2015). Software architecture in practice (3rd ed.). Addison-Wesley Professional.

13. Felt, A. P., Finifter, M., Chin, E., Hanna, S., & Wagner, D. (2011). A survey of web security research. IEEE Transactions on Information Forensics and Security, 6(3), 1-17. DOI: 10.1109/TIFS.2011.2118713

14. Ristic, I. (2013). Bulletproof SSL and TLS: Understanding and deploying SSL/TLS andPKI to secure servers and web applications. Feisty Duck.

15. Stamper, R. (2005). Information security: principles and practice. John Wiley & Sons.

16. Mitchell, R. (2019). Web penetration testing with kali linux: Discover the power of Kali Linux, one of the most popular tools for penetration testing, using real-world scenarios. Packt Publishing Ltd.

17. Westrum, E. F. (2016). Secure software design. Auerbach Publications.

18. Florencio, D., Herley, C., & van Oorschot, P. C. (2014). Passwords and the evolution of imperfect authentication.

Communications of the ACM, 57(9), 78-87. DOI: 10.1145/2643132.2643136

19. Matt Bishop. (2003). Computer security: art and science. Addison-Wesley Professional.

i Надоели баннеры? Вы всегда можете отключить рекламу.