- •Часть 1. Планирование архитектуры
- •Заключение
- •Дополнительная литература
- •4.10. Дискуссионные вопросы
- •Глава 8. Моделирование условий полета. Конкретный пример архитектуры, ориентированной на интегрируемость
- •8.4. Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 9. Документирование программной архитектуры
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 10. Реконструкция программной архитектуры
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 6. Управление воздушным движением. Пример разработки, ориентированной на высокую готовность
- •Глава 7. Проектирование архитектуры
- •Глава 11. Метод анализа компромиссных архитектурных
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 12. Метод анализа стоимости и эффективности — количественный подход к принятию
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 13. Всемирная паутина. Конкретный пример реализации способности к взаимодействию 374
- •Глава 14. Линейки программных продуктов.
- •Заключение
- •Дополнительная литература
- •Глава 15. CelsiusTech. Конкретный пример разработки
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Заключение
- •Часть 1. Планирование архитектуры
- •Часть 2. Создание архитектуры
- •Часть 3. Анализ архитектуры
- •Часть 4. От одной системы к множеству
- •Часть 1
- •Глава 1
- •1.1. Откуда берутся варианты архитектуры?
- •1.2. Программный процесс и архитектурно-экономический цикл
- •1.3. Из чего складывается «качественная» архитектура?
- •1.4. Заключение
- •1.5. Дискуссионные вопросы
- •Глава 2
- •2.1. Чем является программная архитектура и чем она не является
- •2.2. Другие взгляды на архитектуру
- •2.3. Архитектурные образцы, эталонные модели и эталонные варианты архитектуры
- •2.4. Почему программная архитектура так важна?
- •2.5. Архитектурные структуры и представления
- •2.6. Заключение
- •2.7. Дополнительная литература
- •2.8. Дискуссионные вопросы
- •Глава 3
- •3.1. Связь с архитектурно-экономическим циклом
- •3.2. Требования и атрибуты качества
- •3.3. Архитектура авиационной электронной системы а-7е
- •3.4. Заключение
- •3.5. Дополнительная литература
- •3.6. Дискуссионные вопросы
- •Часть 2
- •Глава 4
- •4.1. Функциональность и архитектура
- •4.2. Архитектура и атрибуты качества
- •4.3. Атрибуты качества системы
- •4.4. Практическое применение сценариев атрибутов качества
- •4.5. Другие атрибуты качества системы
- •4.6. Коммерческие атрибуты качества
- •4.7. Атрибуты качества архитектуры
- •4.8. Заключение
- •4.9. Дополнительная литература
- •4.10. Дискуссионные вопросы
- •Глава 5
- •5.1. Определение тактики
- •5.2 Тактики реализации готовности
- •5.3. Тактики реализации модифицируемости
- •5.4. Тактики реализации производительности
- •5.5. Тактики реализации безопасности
- •5.6. Тактики реализации контролепригодности
- •5.7. Тактики реализации практичности
- •5.8. Взаимосвязь тактик и архитектурных образцов
- •5.9. Архитектурные образцы и стили
- •5.10. Заключение
- •5.11. Дополнительная литература
- •5.12. Дискуссионные вопросы
- •Глава 6
- •6.1. Связь с архитектурно-экономическим циклом
- •6.2. Требования и атрибуты качества
- •6.3. Архитектурное решение
- •6.4. Заключение
- •6.5. Дополнительная литература
- •6.6. Дискуссионные вопросы
- •Глава 7
- •7. 1. Архитектура в контексте жизненного цикла
- •7.2. Проектирование архитектуры
- •1. Выбор модуля для декомпозиции
- •2А. Выбор архитектурных мотивов
- •2Ь. Выбор архитектурного образца
- •2D. Задание интерфейсов дочерних модулей
- •7.3. Формирование рабочих групп
- •7.5. Заключение
- •7.6. Дополнительная литература
- •7.7. Дискуссионные вопросы
- •Глава 8
- •8.1 Связь с архитектурно- экономическим циклом
- •8.2. Требования и атрибуты качества
- •8.3. Архитектурное решение
- •8.2 Заключение
- •8.5 Дополнительная литература
- •8.6. Дискуссионные вопросы
- •Глава 9
- •9.1. Варианты применения архитектурной документации
- •9.2. Представления
- •9.3 Выбор значимых представлений
- •9.4. Документирование представления
- •9.5. Перекрестная документация
- •9.6. Унифицированный язык Моделирования
- •9.7. Заключение
- •9.8. Дополнительная литература
- •9.9. Дискуссионные вопросы
- •Глава 10
- •10.1. Введение
- •10.2. Извлечение информации
- •10.3. Создание базы данных
- •10.4. Объединение представлений
- •10.5. Реконструкция
- •10.6. Пример
- •10.7. Заключение
- •10.8. Дополнительная литература
- •10.9. Дискуссионные вопросы
- •Часть 3
- •Глава 11
- •Результаты проведения оценки по методу атам
- •Этапы atam
- •1 Источник: приводится по изданию [Clements 02а] (адаптированная версия).
- •11.4. Система Nightingale: конкретный пример проведения оценки по методу атам
- •11.5. Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 12
- •Результаты оценки по методу свам
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 13
- •13.1. Отношение к архитектурноэкономическому циклу
- •13.4. Еще одна итерация архитектурноэкономического цикла: эволюция вариантов веб-архитектуры систем электронной коммерции
- •13.7. Заключение
- •13.8. Дополнительная литература
- •13.9. Дискуссионные вопросы
- •Часть 4
- •Глава 14
- •За счет чего работают линейки программных продуктов?
- •Варианты архитектуры линеек продуктов
- •Факторы, усложняющие применение линеек программных продуктов
- •Заключение
- •Дополнительная литература
- •Дискуссионный вопрос
- •Глава 15
- •Связь с архитектурноэкономическим циклом
- •Требования и атрибуты качества
- •Архитектурное решение
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 16
- •Связь с архитектурноэкономическим циклом
- •16.3. Архитектурное решение
- •16.4. Решения по размещению системы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 17
- •17.2. Требования и атрибуты качества
- •17.3. Архитектурное решение
- •17.4. Механизм реализации атрибутов качества в архитектуре Luther
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 18
- •18.1. Воздействие компонентов на архитектуру
- •18.2. Архитектурное несоответствие
- •18.3. Компонентное проектирование как поиск
- •18.4. Пример приложения aseilm
- •18.5. Заключение
- •18.6. Дополнительная литература
- •Глава 19
- •19.1. Снова архитектурноэкономический цикл
- •19.2. Создание архитектуры
- •19.3. Архитектура в рамках жизненного цикла
- •Влияние коммерческих компонентов
- •Заключение
- •8 Все перечисленные специалисты работают в корпорации Inmedius (Питтсбург, сша).
5.5. Тактики реализации безопасности
Тактики реализации безопасности подразделяются на несколько подвидов: тактики противодействия атакам, тактики обнаружения атак и тактики восстановления после атак. Все эти категории в равной степени важны. Проведем бытовую аналогию: замок на двери есть средство противодействия атакам, датчик движения — средство обнаружения атаки, а наличие страховки — средство восстановления после атаки. Назначение тактик безопасности показано на рис. 5.8.
Противодействие атакам
В главе 4, характеризуя безопасность, мы обозначили в качестве целей строгое выполнение обязательств, конфиденциальность, целостность и гарантирование.
Достичь этих целей можно путем совместного применения нижеприведенных тактик.
♦ Аутентификация пользователей. Аутентификация проверяет, является ли пользователь или удаленный компьютер тем, за кого себя выдает. Сред-ствами аутентификации являются пароли, одноразовые пароли, цифровые сертификаты и биометрические данные.
♦ Авторизация пользователей. Авторизация проверяет наличие у аутентифицированного пользователя полномочий на получение доступа к данным или службам и их модификацию. Как правило, для проведения авторизации в системе используются образцы управления доступа. Субъектами управления доступом могут быть пользователи или классы пользователей. Последние определяются группами пользователей, ролями пользователей или списками отдельных лиц.
♦ Обеспечение конфиденциальности данных. Данные необходимо защищать от несанкционированного доступа. Как правило, для обеспечения конфиденциальности данные и каналы связи шифруются. Шифрование — это средство дополнительной защиты постоянно обслуживаемых данных, усиливающее результаты авторизации. Каналы связи же обычно вообще не контролируются средствами авторизации. Шифрование, таким образом, оказывается единственным способом защиты данных, передаваемых по открытым каналам связи. Такие каналы реализуются посредством виртуальной частной сети (virtual private network, VPN) или (в случае с вебканалами) протокола защищенных сокетов (secure sockets layer, SSL). Шифрование бывает симметричным (обе стороны пользуются одним и тем же ключом) и ассиметричным (предусматриваются открытый и секретный ключи).
♦ Обеспечение целостности. Данные должны передаваться в неизменном виде. Содержащаяся в них служебная информация — например, контрольные суммы или результаты хэширования — может шифроваться совместно с исходными данными или независимо от них.
♦ Минимизация подверженности внешним воздействиям. В большинстве случаев для проведения атаки на все содержащиеся на хосте данные и службы злоумышленнику достаточно одной лазейки. Задача архитектора состоит в том, чтобы оптимально распределить службы между хостами.
♦ Ограничение доступа. Брандмауэры ограничивают доступ, проверяя порты отправки и назначения сообщений. Сообщения неизвестного происхождения иногда свидетельствуют об атаке. Ограничить доступ известными источниками не всегда возможно. К примеру, запросы на общедоступный вебсайт поступают из самых разных, в том числе неизвестных, источников. В таком случае имеет смысл организовать так называемую демилитаризованную зону (demilitarized zone, DMZ). DMZ открывает доступ к интернет- службам, одновременно защищая ресурсы частной сети. Она находится между общедоступной сетью и брандмауэром, рядом с внутренней сетью. В DMZ располагаются устройства, допускающие прием сообщений от произвольных источников — в частности, веб-службы, почтовые службы и службы доменных имен.
Обнаружение атак
Обычно для этой цели используются системы обнаружения вторжений (intrusion detection systems). Они сравнивают образцы сетевого трафика с записями своей базы данных. В случае выявления злоупотреблений данный образец трафика сравнивается с сохраненными образцами известных атак. При подозрении на аномалию образец трафика сравнивается с сохраненным образцом самого себя. Во многих случаях для сравнения пакетов их необходимо отфильтровать. Фильтрация выполняется на основе протокола, TCP-флагов, размеров полезной нагрузки, адреса источника, адреса назначения или номера порта.
Обязательными элементами систем обнаружения вторжений являются сенсоры выявления атак, диспетчеры, синтезирующие показания этих сенсоров, базы данных с сохраненными для последующего анализа событиями, средства внесетевой отчетности и анализа, а также консоль управления, при помощи которой аналитик может вносить в деятельность системы какие-то коррективы.
Восстановление после атак
Тактики восстановления после атак могут быть ориентированы на восстановление предшествующего состояния или на идентификацию исполнителя атаки (последние можно причислить как к превентивным, так и к карательным мерам).
Тактики восстановления нормального состояния системы или данных частично совпадают с тактиками готовности — и те и другие ориентированы на перевод системы из неустойчивого в устойчивое состояние. В данном случае упор делается на ведение резервных копий административных данных системы: паролей, списков контроля доступа, служб доменных имен и личных параметров пользователя.
Одна из тактик идентификации исполнителя атаки предполагает ведение контрольного журнала (audit trail). В контрольном журнале содержатся копии всех проведенных в системе транзакций с данными, а также идентифицирующие данные. Контрольная информация помогает проследить действия исполнителя атаки, обеспечивает строгое выполнение обязательств (в журнале содержатся свидетельства о подаче запросов) и восстановление системы. Иногда контрольные журналы сами становятся объектами атак, поэтому хранить их нужно со всеми мерами предосторожности.
Схема тактик безопасности представлена на рис. 5.9.
