- •Министерство образования Республики Беларусь
- •Введение
- •Постановка задачи
- •Обзор существующих подходов к интернет-банкингу
- •Модель приложения Функциональныетребования
- •Архитектура
- •Модель процесса подключения услуги
- •Общие сведения о процессе разработки безопасного по Краткое описание процесса разработки безопасного по.
- •Цели процесса разработки безопасного по
- •Элементы процесса разработки безопасного по Процесс обучения сотрудников
- •Моделирование угроз
- •Трех уровневая защита от уязвимостей в коде
- •Оценка рисков приложений
- •Процесс финальной ревизии безопасности приложения.
- •Процесс принятие решенияPMи/или руководством о модификации рисков
- •Процесс обращения к заказчику по поводу решений о модификации рисков.
- •Процесс отслеживания ошибок безопасности разработки.
- •Процесс вовлечения сотрудников в процессе разработки безопасного по.
- •Процесс поддержки разработчиков в вопросах безопасности.
- •Процесс обучения
- •Моделирование угроз
- •Заключение
- •Литература
Постановка задачи
Требуется разработать приложение «Интернет банк», которое предоставляет пользователям следующие возможности:
Активация услуги «Интернет-банкинг» клиентом;
Деактивация услуги «Интернет-банкинг» клиентом;
Перевод денег клиентом на счета других пользователей;
Просмотр клиентом состояния своего счета;
Конфигурирование приложения администратором;
Управление ролями администратором;
Просмотр журнала событий аудитором;
Разработанное приложение должно удовлетворять следующим требованиям к безопасности:
Проверка подлинности пользователя и разграничение прав: авторизация, аутентификация;
Обеспечение конфиденциальности данных: ограничение доступа к базам данных, криптографическая защита;
Безопасность транзакций;
Целостность и конфиденциальность журнала действий;
Безопасное конфигурирование приложения;
Нефункциональные требования к приложению:
Среда разработки: Microsoft Visual Studio 2013;
Язык программирования: C#;
Платформа: ASP.NET;
Создание приложение должно происходить в соответствии с процессом разработки безопасного ПО.
Обзор существующих подходов к интернет-банкингу
Рассмотрим несколько существующих «Интернет банков».
APPLICON I-BANKING
Applicon I-Banking был разработан, чтобы предоставить безопасный, простой и эффективный интернет-банк. С помощью него пользователи могут выполнять различные банковские операции посредством интернета.
Работа приложения разделена на 3 процесса: представление пользователю, промежуточный процесс и конечный банковский сервис.
Рис. 1. Архитектура APPLICON I-BANKING.
Уровень представления.
Данный уровень предоставляет безопасный и простой в использовании графический интерфейс, понятный пользователю. На нем будет отображаться информация о счетах, покупках, транзакциях, пополнениях счета и т.д. Также есть возможность подстроить внешний вид под себя.
Промежуточный уровень.
Этот уровень является посредником между представлением и конечными сервисами, так как на нем выполняется вся логика интернет-банка. Тут особое внимание уделено безопасной обработке и передаче данных. Вся реализация скрыта от других процессов в целях безопасности.
Конечный банковский сервис.
Данный процесс будет получать дынные от промежуточного пользователя и производить соответствующие изменения в реальные банковские счета. От него требуется обеспечить необходимую интеграцию с конечными сервисами других банков.
Также важную роль в приложении занимает процесс управления и администрирования, который позволяет уполномоченным пользователям вносить изменения в административную политику интернет-банка.
E-payment System
Данная система была предложена, как один из вариантов построения интернет-банков. Подход состоит в определении 5 основных компонентов: клиент, обработчик запросов, операции, соединение и конечный сервис.
Рис.2. Архитектура E-Payment System.
Клиентами объявляются все внешние для системы объекты.
Вся логика обработки запросов содержится на втором уровне, и она разная для каждой группы клиентов.
На схеме приведено несколько операций: логин, создание аккаунта, оплата счета, транзакция и т.д.
В конечном итоге все эти операции будут выполняться в различных сервисах, предназначенных для этого. Это позволяет логически разделить все операции.