Обеспечение безопасности CRM приложений в ASP.NET
Реферат
Курсовой проект, 17 страниц, 5 источников, 7 рисунков.
Ключевые слова: CRM, БИЗНЕС МОДЕЛЬ, БЕЗОПАСНОСТЬ, ASP.NET Web Forms.
Объект исследования - безопасность CRM систем.
Цель работы - разработать клиент-серверное
приложение, которое предоставляет возможность управления взаимоотношениями с
клиентами на платформе ASP.NET; обеспечить безопасность данного
приложения.
Результатами являются клиент-серверное приложение на языке
C#, разработанное при помощи ASP.NET Web Forms и реализующее систему управления взаимоотношениями с
клиентами.
Область применения - автоматизация цикла продаж,
управление системами продаж.
Введение
Каждая компания, выстраивая свой бизнес, на
определенном этапе развития реализует стратегию поведения в отношении своих
клиентов. Эта стратегия должна быть основана на использовании передовых
управленческих и информационных технологий, с помощью которых компания собирает
информацию о своих клиентах на всех стадиях его жизненного цикла, извлекает из
нее знания и использует эти знания в интересах своего бизнеса путем
выстраивания взаимовыгодных отношений с ними.
Результатом применения стратегии является повышение
конкурентоспособности компании и увеличение прибыли, так как правильно
построенные отношения, основанные на персональном подходе к каждому клиенту,
позволяют привлекать новых клиентов и помогают удержать старых.
CRM-система (Customer Relationship Management -
управление взаимоотношениями с клиентами) - это не программный продукт и не
технология. Это даже не набор продуктов. CRM - это направленная на
построение устойчивого бизнеса, концепция и бизнес стратегия, ядром которой
является клиент ориентированный подход.
На рынке с высокой конкуренцией, где в фокусе
находится клиент, возникает объективная необходимость в применении CRM-систем. Главная задача CRM-систем - повышение эффективности
бизнес-процессов, направленных на привлечение и удержание клиентов.
Современные CRM-системы обеспечивают комплексный
подход к автоматизации работы с клиентами и направлены на предоставление
максимально удобного для потребителя сервиса. Управление отношениями с
клиентами - бизнес-стратегия, предназначенная для оптимизации доходов,
прибыльности и удовлетворенности клиентов.
Целью курсового проекта является изучение подходов к
построению CRM-систем, разработка клиент-серверного
CRM-приложения, а также проработка
аспектов безопасности таких систем.
1. Постановка задачи
1. Разработать CRM-систему, которая удовлетворяет следующим
функциональным требованиям:
· Позволяет организовывать работу с
клиентами.
· Позволяет организовывать работу с
персоналом организации.
· Имеет гибкую конфигурацию.
· Имеет возможность вести статистику по
продажам.
. Требования к безопасности:
· CRM-система должна содержать механизмы
аутентификации и авторизации пользователей.
. Нефункциональные требования к системе:
· Язык программирования: C# 4.0.
· Фреймворк для разработки клиент-серверного
приложения: ASP.NET.
2. Обзор существующих CRM - систем
Рынок IT-решений для управления бизнесом сегодня
предлагает большое количество CRM-систем, среди которых можно выделить
несколько уже проверенных многочисленными клиентами.
«AmoCRM» - простая и надежная онлайн-
CRM-система, для использования которой достаточно создать аккаунт на
соответствующем сайте.Можно работать в режиме «онлайн» из любой точки мира. Это
идеальное решение для ведения дел с региональными отделениями и удаленными
сотрудниками.
«SAP CRM» - популярная система от известного
германского производителя. Существенно улучшает работу отделов, способствует
непосредственному общению с клиентами.
«Microsoft Dynamics CRM» - система для управления
взаимоотношениями с клиентами. Программа повышает продуктивность сотрудников
внутри и вне организации, облегчает взаимодействие отделов продаж, маркетинга и
обслуживания клиентов с помощью технологий, интегрированных в единую рабочую
среду.
«Мегаплан» -система управления бизнесом.
Позволяет вести учет клиентов, фиксировать входящие заявки, реализованные
сделки и продажи, управлять всеми финансами организации, ставить и
контролировать выполнение задания, оптимизировать и улучшить работу
сотрудников, анализировать эффективность работы организации.
«Мотив» обладает широким спектром
возможностей. Это и общее поле для взаимодействия различных сотрудников
компании (что важно - доступ может осуществляться из любой точки мира), и
накопление информации, позволяющее почерпнуть все сведения о предыдущем взаимодействии
с клиентами.
«Мотив» позволяет оперативно изменять рабочие группы -
добавление и удаление в соответствии с этапами работы осуществляется
элементарно.
В продукте реализованы оперативное уведомление
исполнителей, различные уведомления других типов (SMS, почтовые, системные) по
определённым событиям, создание контрольных точек, а также напоминания по ним.
Есть группировка собственных задач по каким-либо
папкам для удобства работы, сортировка и группировка по каким-либо параметрам в
общем списке (количество сотрудников, статус, версии, наличие обновления и
т.д.) - для анализа собранной информации.
3. Модель приложения
.1 Функциональные требования
Актерами приложения являются:
· Управляющий компании
· Сотрудник компании
· Администратор
Главную роль в компании играет управляющий. Он имеет
возможность ставить задачи сотрудникам, следить за их исполнением, а также
генерировать отчеты по продажам, чтобы следить за бизнесом. Исполнителями
являются сотрудники компании, которые в свою очередь имеют возможность
просматривать свои задачи, создавать новые записи в разделах «Продажи» и
«Счета». Также они могут следить за новостями. Администратор отвечает за
создание новых пользователей и управление их правами.
Рисунок
1 - Use-Case диаграмма
Данное приложение имеет следующую архитектуру:
Рисунок
2 - Диаграмма классов
Первый уровень отвечает непосредственно за работу
пользователей с Системой. Доступ к функциональности системы обеспечивается с
помощью GUI-интерфейса.
Уровень бизнес-логики характеризуется наличием
разнообразных встроенных системных функций и сервисов, предназначенных для
функционирования и поддержки жизнедеятельности системы. На этом уровне
происходит обработка событий, проверка корректности вводимых данных и работы
приложения в целом, также на нем обеспечивается безопасность. Он гарантирует
эффективную работу пользователей системы в едином информационном пространстве и
надежную комплексную защиту информации.
Через системный интерфейс на уровне базы данных
осуществляется управление доступом к файлам и хранилищам. Этот уровень
обеспечивает полноценную работу с информацией, хранящейся в БД.
Уровень представления имеет следующую структуру:
Рисунок
3 - диаграмма классов уровня представления
На главной форме будет меню, с помощью которого можно
будет открыть один из имеющихся разделов. В каждом разделе будет возможность
добавить новую запись. При вызове этого действия будут отображены
соответственные формы.
Уровень бизнес-логики использует следующие классы:
Рисунок
4 - диаграмма классов уровня бизнес-логики
Director - класс, описывающий функционал
управляющего компании.
Admin - класс, описывающий функционал администратора.
Worker - класс, описывающий функционал сотрудника компании.
Приложение использует одну базу данных, в которой
находятся пять таблицы: Task -
хранит информацию о задачах, поставленных сотрудникам компании, Invoice - хранить информацию о счетах
компании, Opportunity - хранит информацию о продажах,
совершенных компанией, Report
- хранит отчеты по продажам, User -
хранит персональные данные сотрудников с их ролями.
Рисунок
5 - диаграмма классов уровня БД
3.3 Модели некоторых процессов
приложения
Рисунок
6 - Процесс добавления новой записи в раздел «Продажи»
Процесс контролирования выполнения задач:
Рисунок
7 - Процесс контролирования выполнения задач
4. Безопасность в CRM системах
СRM
системы для работы <http://www.on-crm.ru/> с клиентами на сегодняшний
день пользуются популярностью за счет развития тенденций к полной автоматизации
бизнес-процессов компаний. Современные системы управления взаимодействием с
клиентами позволяют повысить уровень продаж, обеспечивают оптимизацию
маркетинговых стратегий, улучшение уровня облуживания клиентов путем сохранения
персональных данных и истории операций с ними, модернизации бизнес-процедур и
анализа их результатов.
Информация
в современном мире представляет огромнейшую ценность и зачастую приносит
огромные прибыли компании. Защита данных от несанкционированного доступа со
стороны конкурентов или других посторонних лиц является необходимым условием
для надежной и эффективной работы любой фирмы. Безопасность в CRM системах также
играет далеко не последнюю роль.
СRM
системе для работы необходима
интеграция во внутренние системы компании: получение доступа к различной
коммерческой информации о клиентах, базам данных, истории операций, совершенных
клиентами. Подобные сведения являются «лакомым кусочком» для конкурентов.
Поэтому, безопасность в CRM системах должна быть на высшем уровне,
особенно в плане защиты информации.
В
некоторых СRM системах для работы необходимы специальные электронные
ключи, которые представляют собой небольшое устройство (и, между прочим, совсем
недорогое), выполненное в виде брелока и содержащее уникальный код. Электронный
ключ подключается к USB-порту компьютера. Он выдается всем клиентам компании,
которые приобрели товар или заказали услугу и является идентификатором личности
клиента для дальнейших заказов.
Для
обеспечения безопасности в CRM системах все данные хранятся и
обрабатываются в единой централизованной базе данных, к которой пользователи
могут подключиться в режиме онлайн.
Поэтому безопасность CRM-системы рассматривается в рамках 10 наиболее
серьёзных и распространённых уязвимостей по данным международной организации OWASP (Open Web Application Security Project). Анализ опирается на проект OWASP под названием OWASP Top 10, целью которого является увеличение
осведомленности о безопасности приложений при помощи определения наиболее
критичных рисков, угрожающих организациям. На проект OWASP Top 10 ссылается множество стандартов, инструментов и
организаций.
Проект OWASP Top 10 выделяет
следующие наиболее критичные уязвимости:
. Уязвимости к внедрению кода.
. Уязвимости, возникающие вследствие
некорректной реализации механизма аутентификации и управления сессией
веб-приложения.
. Уязвимости XSS (Cross Site Scripting).
4. Уязвимости, позволяющие осуществлять
неконтролируемый доступ к внутренним объектам веб-приложения напрямую.
. Уязвимости, возникающие вследствие
неправильной конфигурации веб-приложения и его окружения.
. Уязвимости, связанные с некорректной
реализацией криптографических методов защиты информации для хранения критичных
данных на стороне сервера.
. Уязвимости механизма авторизации
веб-приложений: возможность прямого доступа к ресурсам по URL.
. Уязвимости CSRF (Cross Site Request Forgery).
. Уязвимости, позволяющие использовать
веб-приложение для перенаправления пользователей на любой сайт (Open
Redirects).
Таким образом, анализ и защита CRM-системы строится исходя из данного
списка наиболее критичных уязвимостей. Далее будут рассмотрены процессы
осуществления аутентификации и авторизации пользователей системы, а также
механизмы защиты от уязвимостей к внедрению кода, уязвимостей XSS и CSRF.
Заключение
В курсовом проекте были рассмотрены существующие CRM системы, построена архитектура
приложения, разработаны основные классы и рассмотрены основные аспекты
безопасности.
клиент серверный приложение безопасность
Литература
1) Гринберг, Пол.. CRM со скоростью света. - СПб: Символ Плюс, 2007
г., 528 с. ISBN 978-5-93286-079-3
) М. Мак-Дональд, А. Фримен, М. Шпушта. Microsoft ASP.NET с
примерами на C# 2010 для профессионалов: Москва -
Санкт-Петербург - Киев, 2011.
) М. Ховард, Д. Лебланк, Дж. Вьега. 24 смертных греха компьютерной
безопасности:Минск, 2010.
) Б. Ватсон. С# 4.0 на примерах: Санкт-Петербург, 2010.
5) Грейди Буч, Джеймс
Рамбо, Айвар Джекобсон UML. Руководство пользователя
<http://free-book.at.ua/news/grejdi_buch_dzhejms_rambo_ajvar_dzhekobson_uml_rukovodstvo_polzovatelja/2010-01-24-486>:
Москва, 2010