Система за обследване и документиране сигурността на уеб приложение чрез генеративни модели | Защитена на:
Основната цел на дипломната работа е да се анализира, проектира, разработи и тества система за създаване на план за сигурност с помощта на генеративни модели. Дипломната работа използва иновативен подход, използвайки генеративни езикови модели с приложение в сигурността. Базирано на предефинирани типове, запитвания към езиковите модели и описани детайли на проект се документира текущата сигурност на уеб приложение, системните модули, компоненти и други важни детайли. Разработката е в обем от 81 страници (без приложенията), 7 глави, списък с научна литература, списък с интернет източници, списъци с таблици и фигури. Към дипломата работа е приложен USB флаш памет с програмен код и ръководство на потребителя. Следва кратко описание на съдържанието по глави.
Глава 1 описва проблема и предложеното решение, цел, задачи и очаквани ползи след реализирането на дипломната работа. Основните цели дефинирани в тази глава са:
- Да се анализира, проектира, разработи и тества система за създаване на план за сигурност с помощта на генеративни модели.
- Системата да може успешно да създава план за сигурност, като своевременно предоставя гъвкава структура, позволяваща развитие.
Като основни задачи са дефинирани:
- Анализ на областта и съществуващи решения;
- Анализиране и детайлизиране на изискванията към системата;
- Избор на технологии за разработка;
- Проектиране на системата;
- Разработване на системата;
- Тестване и внедряване на системата.
Глава 2 въвежда основни дефиниции, проучва подходи за документиране и тестване, и анализ на съществуващите решения за създаване на план за сигурност. В рамките на 10 страници са разгледани и основни подходи за документиране, и тестване на сигурност на уеб приложения. Разгледани са OWASP Топ 10, Microsoft SDL, STRIDE като част от модела за оценка на риск (Threat assessment), CLASP на OWASP, Touchpoint метода на МакГрау и S2D-ProM. В частта за анализ на методи за създаване на планове за сигурност е разгледан подхода описан от Аделина Алексиева-Петрова и Милен Петров в техния труд „Empirical Study on Secure Software Development“ от 2023г.
Глава 3 е фокусирана над анализа и дефиниране на изискванията към софтуерната система. В обем от 15 страници са документирани и описани основните функционални и не-функционални изисквания към системата. Спрямо анализирания модел за създаване на планове са дефинирани и описани 32 функционални критерия, разделени в 5 модула. Като нефункционални са определени 23 изисквания. Направен е анализ и на необходимите потребителски роли, като се определени 3 такива – „Гост потребител“, „Обикновен потребител“ и „Административен потребител“.
Глава 4 проследява процеса на избор на технологии за разработка и архитектура на системата. В обем от 15 страници са проучени и сравнени различни технологии за изграждане на клиентското и сървърното приложение. За клиентското приложение, след сравнение между няколко работните рамки (frameworks), е избран VueJS като най-лек и гъвкав и спрямо нуждите на системата. За сървърна технология след сравнение между различни сървърни технологии, като основен технологичен пакет е избран Node.JS в комбинация с Express.JS работна рамка. Проучена и документирана е и архитектурата на системата, компоненти и интеграция с езикови модели. Сравнени са и различни решение за организация и записване на системната информация. Избрана е системата за бази данни MongoDB, базирана на NoSQL решение. Сравни са и различни решения за създаване и документиране на UML диаграми, като най-подходящо решение е избран PlantUML, който създава диаграми чрез текстов синтаксис.
Глава 5 се фокусира върху разработването на системата. В обем от 17 страници са разгледани основните компоненти и модули в системата. За всеки модул са представени структура му, основни функционалности и описание на методите за реализация. Разработена системата е съставена от 2 приложения. Клиентското приложение предоставя мултиезичен интерфейс с приятен и модерен дизайн. Използвайки визуален редактор и множество функционалности за създаване и генериране на съдържание, системата позволява пълен контрол над създаването и управлението на план за сигурност. Сървърното приложение е изградено базирано на програмен интерфейс (API), позволяващ надграждане и развитие. Описан е и потребителският интерфейс и възможност за генериране на план в PDF и DOCX формат.
Глава 6 дефинира процеса за тестване, инсталация и внедряване на системата. В обем от 17 страници, главата разглежда примерен план за тестване на база функционалните изисквания, тестове за системно натоварване и документации за инсталация, и поддръжка. Описаният план покрива повече от 80% от изискванията. Документирани са и различни тестове за производителност покриващи нефункционални изисквания. Тествана е и производителността на системата със симулация на над 4000 заявки в интервал от 3 минути. Главата включва и ръководство за инсталация, и конфигурация на системата, и потребителско ръководство за основни функционалности.
Глава 7 обобщава постигнатите цели и как са изпълнени дефинираните задачи. Част от глава са и препоръки за бъдещото развитие на системата. Като заключение е описано, че създадената система напълно покрива дефинираните цели и нуждите за изследване сигурността на уеб приложения, и документирането ѝ. Предоставената функционалност за автоматично създаване на планове, базирано на езикови модели улеснява и ускорява процеса. Темплейт базираната структура на проектите позволява гъвкавост и създаването на доклади за сигурност с различна структура и базирано на различно съдържание.
Разработената дипломна работа и система покриват дефинираните цели и нуждите за изследване и документирането на сигурността на уеб приложения. Подкрепено от изследване на различни методологии за тестване сигурността и функционалност за автоматично създаване на планове улеснява и ускорява процеса.
Като Приложение 1 е добавено и подробно потребителско ръководство на системата. В обем от 45 страници са обяснени всички функционалности с нагледни примери. В детайли са обяснени различните възможности на системата, техния процес и формат. В края на дипломната работа са описани всички използвани източници, списък на фигури и таблици.
Като Приложение 2 е добавен и речник на съкращенията и термините използвани в дипломната работа.