Поскольку увеличиваются случаи и улучшаются методы атак на современные web-приложения, резко возрастает потребность в усовершенствовании средств обеспечения безопасности информационных продуктов. Это касается прежде всего тех, которые тесно связаны с финансовыми операциями пользователей и хранением их личных данных. К таким продуктам, очевидно, относятся приложения банков.
Во время подготовки к выполнению ВКР была поставлена цель, заключающаяся в разработке приложения банка для выдачи кредитов с набором сервисов безопасности. Приложение должно иметь интуитивно понятный интерфейс для облегчения взаимодействия с ним клиентов разных возрастных категорий. На основе предъявленных пользователем персональной и кредитной информации приложение в автоматическом режиме должно принимать решение об одобрении заявки на кредит.
Для достижения поставленной цели должны быть выполнены следующие задачи:
1) изучение предметной области и теории кредитования;
2) анализ банковских приложений-аналогов;
3) выбор инструментов разработки и архитектуры разрабатываемого приложения;
4) определение моделей хранимой информации;
5) создание макета внешнего вида приложения;
6) программная реализация основных функциональных компонентов приложения: регистрация и авторизация, ввод данных пользователями, система подачи кредитных заявок, автоматическая система одобрения кредитов и их отслеживание;
7) разработка и внедрение средств информационной безопасности приложения: валидация вводимых данных, регистрация и аутентификация по протоколу Secure Remote Password (далее – SRP), использование JSON Web Token (далее – JWT-токены) для предоставления доступа пользователям к ресурсам, шифрование данных при их передаче на сервер, возможность двухфакторной аутентификации, а также защита приложения от SQL- инъекций и Cross-Site Scripting (далее XSS – атак).
ВВЕДЕНИЕ..................................................................................................... 3
1. Изучение предметной области и теории кредитования........................... 5
2. Анализ приложений-аналогов.................................................................. 9
3. Технологии разработки и архитектура приложения............................ 11
4. Проектирование приложения и определение моделей данных............. 15
5. Описание интерфейса приложения......................................................... 18
6. Элементы информационной безопасности и функционал приложения 23
6.1. Регистрация и аутентификация по протоколу Secure Remote Password 23
6.2. JSON Web Token..................................................................................... 28
6.3. Шифрование данных.............................................................................. 29
6.4. Двухфакторная аутентификация............................................................ 31
6.5. Защита от SQL-инъекций и Cross-Site Scripting.................................... 32
6.6. Система одобрения кредитов и их отслеживание................................. 33
7. Тестирование приложения..................................................................... 38
7.1. Тестирование валидации........................................................................ 38
7.2. Тестирование системы одобрения кредитов.......................................... 41
ЗАКЛЮЧЕНИЕ............................................................................................. 43
СПИСОК ЛИТЕРАТУРЫ............................................................................. 48
ПРИЛОЖЕНИЯ............................................................................................ 50
Приложение 1. srp.js..................................................................................... 50
Приложение 2. Методы AccountController.cs.............................................. 55
Приложение 3. JwtService............................................................................. 58
Приложение 4. GetUserService.cs................................................................. 59
Приложение 5. _2faService.cs....................................................................... 59
Приложение 6. CreditService.cs.................................................................... 60
1) Кредит: что это такое, виды и функции кредита / Альфабанк [сайт]. — 2023. — URL: https://inlnk.ru/3ZMk9M (дата обращения 29.04.2023).
2) Процентная ставка по кредиту: от чего она зависит и как выбрать кредит с наименьшей переплатой / Банки.ру [сайт]. — 2023. — URL: https://inlnk.ru/meLQm7 (дата обращения 30.04.2023).
3) Проверка перед выдачей кредита: как банки изучают заемщиков / Все займы онлайн [сайт]. — 2023. — URL: https://vsezaimyonline.ru/reviews/credit-check.html#3 (дата обращения 02.05.2023).
4) Как получить одобрение на кредит в банке? / Сравни [сайт]. — 2023. — URL: https://www.sravni.ru/enciklopediya/info/kak-poluchit-odobrenie- na-kredit-v-banke/ (дата обращения 02.05.2023).
5) Аннуитетные и дифференцированные платежи / Финуслуги [сайт]. — 2017. — URL: https://finuslugi.ru/navigator/kredity/stat_annuitetnye_i_differentsirovannye_plate zhi (дата обращения 02.05.2023).
6) Web Crypto API Documentation/ Web Crypto API [сайт]. — 2023.
— URL: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API (дата обращения 10.05.2023).
7) Что такое MVC: рассказываем простыми словами / Хекслет [сайт]. — 2022. — URL: https://ru.hexlet.io/blog/posts/chto-takoe-mvc- rasskazyvaemprostymi-slovami (дата обращения: 30.04.2023).
8) SRP-6: аутентификация без передачи пароля / Хабр [сайт]. — 2011. — URL: https://habr.com/ru/articles/121021/ (дата обращения 30.04.2023).
9) Пять простых шагов для понимания JSON Web Tokens (JWT) / Хабр [сайт]. — 2017. — URL: https://habr.com/ru/articles/340146/ (дата обращения 25.04.2023).
10) Симметричный алгоритм блочного шифрования Advanced Encryption Standart / Хабр [сайт]. — 2020. — URL: https://habr.com/ru/articles/534620/ (дата обращения 13.04.2023).
11) Entity FrameWork защита от SQL инъекций / stack overflow [сайт].
— 2020. — URL: https://inlnk.ru/XOBGGa (дата обращения 04.05.2023).
12) Prevent Cross-Site Scripting (XSS) in ASP.NET Core / Learn Microsoft [сайт]. — 2023. — URL: https://learn.microsoft.com/en- us/aspnet/core/security/cross-site-scripting?view=aspnetcore-7.0 (дата обращения 04.05.2023).