Учреждение образования
«Белорусский государственный университет информатики и радиоэлектроники»
Факультет информационных технологий и управления
Кафедра интеллектуальных информационных технологий
Отчет по лабораторной работе №3 по курсу «Проектирование защищённых систем» на тему: «Оценка защищённости разработанного приложения»
Выполнил:
студент гр. 021702
Проверил:
Минск 2014
1. Постановка задачи
1. Разработать приложение, которое позволяет
- добавить пользователя в систему,
- авторизовать пользователя на основе идентификационных данных,
- создать, редактировать, удалить, осуществить поиск конфиденциальных данных,
- создать, редактировать, удалить, осуществить поиск не конфиденциальных данных,
- деавторизовать авторизованного пользователя.
2. Выполнить анализ разработанного приложения с точки зрения
- политики безопасности операционной системы,
- сетевой политики безопасности,
- безопасности конфиденциальности данных
2. Краткое описание разработанного приложения
Разработанное приложениепостроены на технологической платформе OracleBusinessIntelligenceFoundationSuiteс использованием HTML, DHTML, JavaScript.Оно способно анализировать терабайты клиентских данных, хранящихся в различных форматах и различных репозиториях. Аналитическое решение спроектировано так, чтобы ликвидировать информационный хаос, создать единый информационный репозиторий, обеспечить поддержку для адекватных предложений и индивидуализированного взаимодействия, расширить доступ к информации реального времени на всех уровнях управления.
Приложение состоит изинтерактивных приборных Web-панелей, отображающие огромное количество ценной информации об бизнесе, включая данные о ресурсах, финансах, сотрудниках, партнерах и потребителях. На основе сделанных отчётов можно с уверенностью прогнозировать дальнейшие продажи, выявлять недочёты работы сотрудников, определять наиболее популярные операции и т.д.Незамысловатый пользовательский интерфейс позволяет пользователям с легкостью взаимодействовать с приложением для получения ценной для бизнеса информации.
3. Выполнение
Целью создания пользователя является получение схемы БД, с определенными правами и привилегиями. Создание пользователя достаточно не сложный, но в тоже время довольно концептуальный момент. Для создания пользователя (схемы), применяется команда, которая имеет следующий синтаксис:
- [пользователь] [Username] - Имя пользователя (название схемы);
- [пароль] [Password] - Пароль для учетной записи();
- DEFAULT TABLESPACE - Табличное пространство, в котором будут находиться создаваемые в данной схеме объекты. Эта настройка не дает пользователю права создавать объекты - здесь устанавливается только значение по умолчанию;
- TEMPORARY TABLESPACE - Табличное пространство, в котором находятся временные сегменты, используемые в процессе сортировки транзакций;
- QUOTA - Позволяет пользователю сохранять объекты в указанном табличном пространстве, занимая там место вплоть до определенного в квоте общего размера.
4. Анализ разработанного приложения
политика безопасности операционной системы
Программно-аппаратные средства защиты ОС обязательно дополняются административными мерами защиты. Без постоянной квалифицированной поддержки со стороны администратора даже надежная программно-аппаратная защита может давать сбои.
Основные административные меры защиты:
1. Постоянный контроль корректности функционирования ОС, особенно ее подсистемы защиты. Такой контроль удобно организовать, если ОС поддерживает автоматическую регистрацию наиболее важных событий (eventlogging) в специальном журнале.
2. Организация и поддержание адекватной политики безопасности. Политики безопасности ОС должна постоянно корректироваться, оперативно реагируя на попытки злоумышленников преодолеть защиту ОС, а также на изменения в конфигурации ОС, установку и удаление прикладных программ.
3. Инструктирование пользователей операционной системы о необходимости соблюдения мер безопасности при работе с ОС и контроль за соблюдением этих мер.
4. Регулярное создание и обновление резервных копий программ и данных ОС.
5. Постоянный контроль изменений в конфигурационных данных и политике безопасности ОС. Информацию об этих изменениях целесообразно хранить на неэлектронных носителях информации, для того чтобы злоумышленнику, преодолевшему защиту ОС, было труднее замаскировать свои несанкционированные действия.
сетевой политика безопасности,
Приложение гарантирует передачуданных по защищенному каналу, так как сервер приложений использует защищённыйпротокол SSL HTTP
безопасность конфиденциальности данных
Для создания паролей может использоваться следующий набор символов:
- цифры 0123456789,
- буквы abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
- символы !"#$%&()`*+,-/:;<=>?_.
Техническими требования к паролю:
- изменение пароля пользователя не реже одного раза в 90 дней.
- при смене пароля запрещается выбор в качестве нового какого-либо из последних четырех использовавшихся данным пользователем паролей;
- блокирование учетной записи после шести неудачных попыток ввода пароля;
- блокирование учетной записи пользователя не менее чем на 30 минут, либо пока администратор не снимет блокировку;
- блокирование рабочей сессии пользователя не более чем через 15 минут простоя.
CREATE PROFILE BANK_USERS LIMIT
PASSWORD_LIFE_TIME90
PASSWORD_GRACE_TIME30
PASSWORD_REUSE_MAX 4
IDLE_TIME 15;
В базе данных пароли зашифрованы с помощью функции EncryptByPassPhrase:
Рисунок 1. ¬– таблица SYS.USER$:
Алгоритм зашифровки пароля:
- конкатенировать логин и пароль пользователя
- преобразовать полученную строку к верхнему регистру (UPPER(Логин||Пароль)).
- если в ОС используется однобайтовая кодировка, то преобразовать каждый символ в двухбайтовый, заполнив старший байт нулями (0x00).
- зашифровать получившуюся строку (дополняя ее нулями до длины блока), используя алгоритм DES в режиме CBC с фиксированным ключом, значение которого есть 0x0123456789ABCDEF.
5. Защита конфиденциальной информации
Одним из важнейших аспектов разработки практически любой системы является защита конфиденциальной информации. В качестве конфиденциальной информации могут выступать идентификационные, персональные данные пользователей, конфигурационные данные различных систем и многие другие.
- защита от sql-инъекций (использование параметризованных команд);
- защита от атак на канал передачи данных
Одним из основных факторов успешного проведения анализа для выявления мошенничества является полнота доступных данных об операциях канала ДБО. Она обеспечивается за счет использования различных технологий получения данных, в том числе WebServices (SOAP) API, FileLoaderandDatabaseLoader и др. Применение этих технологий позволяет не только организовать взаимодействие системы Fraud-мониторинга с сервером ДБО в режиме реального времени, но и предоставляет возможность проектирования механизмов получения данных из внешних источников, напрямую не относящихся к функционированию сервисов ДБО.
- защита oт метода «грубой силы»
Программные реализации силовой атаки дают на сегодняшний день скорость 830 тыс. хешей в секунду, используя стандартный Pentium-4 с частотой 2.8 ГГц. Если длина пароля 8 знаков и имя пользователя 8 знаков, то злоумышленник вычислит все возможные пароли приблизительно за 39,3 суток, при этом в среднем он будет обнаруживать пароли на 20-день. Следует подчеркнуть, что скорость в 830 тыс. хешей относится только к 8-байтовым паролям. Более длинные пароли требуют большего времени и больших вычислительных ресурсов. При этом, время, необходимое для полного перебора паролей распределяется так:
• 5-символьные пароли - 10 секунд
• 6-символьные пароли - 5 минут
• 7-символьные пароли - 2 часа
• 8-символьные пароли - 2,1 дня
• 9-символьные пароли - 57 дней
• 10-символьные пароли - 4 года
- защита oт перебора по словарю
Длина паролей в приложении может достигать 30 знаков, а длина хеша фиксирована и равна 8 байт, т.е.64 бита. Таким образом, на одно хеш-значение приходится приблизительно 1052/1019=1033возможных паролей
- защита oтDoS и DDoSатак
Исходя из следующей статистики, мы решили не делать защиту от данных атак:
Рисунок 2. ¬– Распределение источниковDos и DDoS-атак по странам
Чаще всего нападениям подвергаются Интернет-магазины, клиент-банки, Интернет-банки:
Рисунок 3. ¬– Распределение источниковDos и DDoS-атак по сфепам
6. Обзор приложения
Для приложения существует следующие разграничение ролей:
Рисунок 4. ¬– Схематичное представление разграничение привилегий
Авторизация пользователя на основе идентификационных данных:
Рисунок 5. ¬– Авторизация пользователя на основе идентификационных данных
Создаём для каждого пользователя свойства:
Рисунок 6. ¬– Разграничение привилегий
Наблюдаем результаты:
Consultant:
Administrator:
Director:
User:
7. Вывод
В данной лабораторной работе было разработано приложение, с помощью которого можно решить множество операционных и финансовых задач. Для пользователей есть прекрасная возможность работать с произвольными запросами и аналитическими выборками, OLAP-анализом, интерактивными информационными панелями, картами показателей, отчетностью, предиктивными анализами и др. При этом расположение данных не меняется, а пользователи могут свободно адаптировать решение в соответствии с потребностями бизнеса. Все это позволяет организациям анализировать информацию, сравнивая фактические, исторические данные и прогнозы из нескольких источников.
В данной лабораторной работе было проанализировано приложениес точки зрения безопасности, а так же были выявлены следующие уязвимые места:
- шифрованиепароля с помощью алгоритма DES
От DES следует отказаться в силу малой длины ключа и малой длины блока. Малая длина ключа означает успешность силовой атаки за небольшое время, а малая длина блока означает повышенный уровень коллизий. Можно взять новый, более совершенный алгоритм AES, пришедший в 2000 г. на смену DESу. Этот алгоритм допускает вариацию длины блока (128, 192, 256 бит), длины ключа 128, 192, 256 бит и количества раундов (чем больше раундов, тем выше качество шифрования и меньше скорость). Алгоритм AES сертифицирован национальным институтом США по стандартизации NIST и АНБ (Агентство Национальной Безопасности США).
-конкатенация логина и пароля пользователя при шифрование
Конкатенацию логина и пароля следует заменить другим преобразованием, например сложением. Дело в том, что конкатенация приводит к неожиданному эффекту, а именно для разных пользователей пароль будет одинаковым.
Дляулучшения безопасности приложения и использования шифрования и SSL следует получить сертификат сервера для организации или отдельного лица. Сертификат — это цифровая подпись, которая идентифицирует веб-узел способом, исключающим возможность подделки. Для закрытых приложений (в интрасети) сертификат можно выдать и получить самостоятельно. Это позволяет засекретить внутренние приложения, например веб-узел отдела кадров.
Если пользователь запрашивает доступ к протоколу SSL, приложение отправляет вобозреватель сертификат. Затем обозреватель и сервер используют открытый ключ, чтобы установить способ шифрования передаваемых данных.
Оценка защищённости разработанного приложения
Лабораторная работа по предмету «Программирование»