SlideShare a Scribd company logo
1 of 21
Download to read offline
БЕЗОПАСНОСТЬ


71                  МАИ, каф 806, ППС
Атрибуты качество ПО. Безопасность.




72                                    МАИ, каф 806, ППС
Атрибуты качество ПО. Безопасность. Тактики.


 Отражение атаки
    Authenticate users. Определяет что пользователь действительно тот, которым назвался.
          Например, различные схемы с паролями, цифровые сртификаты, биометрические
          сканеры.
         Authorize users. Определяет что пользователь имеет право обращаться к тем или иным
          ресурсам.Классы пользователей могут быть определены группами пользователей и их
          ролями, или явным заданием списка пользователей, имеющих доступ к ресурсу.
         Поддержка конфиденциальности данных. Шифрование данных и каналов передачи
          данных. Может быть реализовано как virtual private network (VPN), Secure Sockets Layer
          (SSL) for a Web-based link. Шифрование бывает симетрическое и на основе открытого
          ключа.
         Поддержка целостности данных. Введение проверочных данных (чексумы, хэш коды).
         Ограничение видимости сервисов. Секретные сервисы могут полностью скрываться от
          внешних пользователей..
         Ограничение доступа. Использование Firewall ,DMZ.




 73                                                           МАИ, каф 806, ППС
Атрибуты качество ПО. Безопасность. Тактики.


 Обнаружение атаки
      Обычно это делается анализом запросов к ресурсу, если запросы не укладываются ни в один
      системный сценарий или данные о запросах сохраненные в системе не совпадают с историей
      запросов (в вызывающей системе нет записи о том, что она делала такой запрос), то такие
      запросы трактуются как атаки.


 Восстановление после атаки
    Восстановление состояния системы. После обнаружения атаки система
           восстанавливает свое состояние на момент перед атакой.
          Идентификация атакующего. Использование информации аудита действий атакующего
           при восстановлении системы. Т.е. восстанавливать только те данные, которые были
           испорчены во время атаки.




 74                                                         МАИ, каф 806, ППС
Возможные атаки [1/7]


 Interception
     Когда одно приложение читает информацию сохранённую или отображаемую другим
          приложением.
         Например:
           • Установка перехватчика нажатий клавиатуры.
           • Чтение TCP пакетов, передаваемых по сети.
           • Чтение содержимого экрана.
 Modification in Place or in Transit
    Подмена данных в месте хранения. Например, подмена хранилища паролей или данных
          авторизации.
         Возможна подмена данных на уровне сетевых протоколов, когда атакующий является
          клиентом и подменяет данные, касающиеся авторизации (например скрытые тэги HTTP
          протокола).




 75                                                       МАИ, каф 806, ППС
Возможные атаки [2/7]
 Man-in-the-Middle, Replay


 Когда приложению удается себя поместить между двумя взаимодействующими
      приложениями, и тем самым прослушивать (возможно подменяя) передаваемые сообщения.
 Предположим, объект A планирует передать объекту B некую информацию. Объект C
      обладает знаниями о структуре и свойствах используемого метода передачи данных, а также
      о факте планируемой передачи собственно информации, которую С планирует перехватить.
      Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А,
      ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С,
      получив информацию, и совершив с ней некоторые действия (например, скопировав или
      модифицировав в своих целях) пересылает данные собственно получателю — В; объект В, в
      свою очередь, считает, что информация была получена им напрямую от А.
 Для предотвращения атак подобного типа абонентам A и B достаточно с помощью
      достоверного канала передать друг другу цифровые подписи публичных ключей шифрования.
      Тогда при сравнении подписей ключей в сеансах шифрования можно будет установить, каким
      ключом шифровались данные, и не произошла ли подмена ключей.
 В случае Replay, атакующий подменяет ответ, модифицируя его содержимое.




 76                                                        МАИ, каф 806, ППС
Возможные атаки [3/7]


 Interruption
     Стабильность системы зависит от того на сколько целостно выполняются процессы.
          Если процесс был прерван, то это может привести к сбою в работе программы.
 Saturation and Delay
    В некоторых системах защита от атак может быть построена на наличии сервиса,
          который наблюдает за работой системы и обнаруживает атаки. Например, сервис,
          который выявляет сообщения с неправильными идентификаторами и т.д.
         Атака построена на том, что сервис-монитор перегружается запросами с целью
          затормозить его на время требуемое для выполнения основной атаки.
 Exploitation of Non-Atomicity
    В случае если в программе есть разделяемые ресурсы, к которым могут обращаться
          параллельные потоки, то возможна ситуация когда атакующий вклинится в данный
          процесс и изменит состояние системы.
         Т.е. система будет выполнять шаги в неправильной последовательности, или будет
          пропускать важные шаги.
         Например, если в общем контексте память лежит информация об идентификаторе
          пользователя, то атакующий может его подменить заставив систему действовать под
          правами другого пользователя.


 77                                                        МАИ, каф 806, ППС
Возможные атаки [4/7]


 Coordination Interference
    В системах, которые зависят от синхронизирующих интерфейсов (например, которые
        выдают timestamp как некоторый идентификатор последовательности) возможна атака с
        подменой данных данного интерфейса. Например, с помощью задержки сообщения
        можно поменять его последовательность и получить сбой в работе системы.
 Forced Crash and Retrieval of Crash Artifacts
    В момент падения системы часто записывается информация о состоянии системы в
        открытом виде. Атакующий может считать данную информацию и извлечь от туда,
        например идентификационные или персональные данные.
 Forced Restart, Forced Re-Install
    В данном виде атаки подменяются загрузчики системы или конфигурационные файлы.
        Это может позволить отключить защиту (если возможно на уровне конфига или
        подменив сервер авторизации)
 Environmental Interference
    Часто работа системы зависит от того насколько доступны ресурсы (сеть, файлы и т.д.)
        Атака может строится на том, что часть ресурсов делается недоступным (например,
        меняются атрибуты system log). Это может привести к падению в работе системы.




 78                                                      МАИ, каф 806, ППС
Возможные атаки [5/7]
 Spoofing


 Подмена или уничтожение ресурса или артефакта в целях введения в заблуждения кого
      либо.
 Примеры:
    Изменение Source IP в пакете
    Создание веб-страниц маскирующихся под нормальные страницы.
    Отправка запроса на определение адреса сайта на DNS сервер, так что бы он послал
           этот запрос на вышестоящий сервер, после чего имитация ответа от вышестоящего
           сервера с ложным результатом.
          Подмена программы которой доверяет пользователь, на похожую но с содержанием
           вредоносных данных.
 Hijacking
    Подмена одного серверного ресурса другим.




 79                                                        МАИ, каф 806, ППС
Возможные атаки [6/7]


 Trap Door
    Способ входа в систему в виде зашитых паролей безопасности в программный код.
       Например, программист зашивает свой логин как логин администратора в системе для
       удобства отладки. Проблема с такими логинами что их нельзя поменять в целях
       безопасности.
 Exploit of Incomplete Traceability
    В случае если в системе сохраняется недостаточно информации о проведенных
       действиях, то это может стать причиной подмены данных. Например, когда пользователь
       утверждает что он не делал той или финансовой транзакции. Если в системе не
       достаточно информации об этом, то нет возможности определить, он транзакцию делал
       или нет.
 Exploit of Incomplete Validation
    Недостаточная проверка вводимых данных может привести к тому что нападающий
       пройдет сквозь систему защиты. Например, передав данные, которые переполняют
       программный стек и запускают программу по неправильному пути.




 80                                                     МАИ, каф 806, ППС
Возможные атаки [7/7]


 Exploit of Incomplete Authentication or Authorization
    В случае если в системе не во всех потенциально небезопасных местах есть проверки
        безопасности, то есть возможность что атакующий произведет атаку даже через
        внутренний интерфейс.
 Pattern Matching and Brute Force Guessing
    Атаки, которые используют знание о системе для того что бы подобрать пароль для
        входа в систему или поменять её состояние на нужное. Это может быть как слепым
        перебором, так и по специальным паттернам, которые учитывают алгоритмы защиты
        (например перебор паролей по словарю, взлом MD5 по Rainbow-таблицам).
 Namespace Attack
    Атаки, которые используют механизм определения адреса ресурса по имени для его
        подмены.
 Weak Link as Gateway
    Атаки, которые используют слабую точку в защите, для того что бы преодолеть
        защищенный участок. Например, если Вы соединены с партнером защищенным каналом
        VPN, а он в свою очередь имеет незащищенный выход за пределы сети, то через него
        может проникнуть атакующий к Вам в сеть.




 81                                                      МАИ, каф 806, ППС
Design Pattern: Reference Monitor


 Context
    Ресурс должен быть защищен, так что доступ к нему может иметь только
       авторизованный пользователь/приложение.
 Задача
    В приложениях доступ к ресурсу идет по ссылке. Ссылка может быть скопирована и
       передана в приложение, которое не является авторизованным.
 Решение
    Для доступа к ресурсу используется контейнер, удовлетворяющий следующим правилам:
         • Он вызывается всегда
         • Его нельзя поменять
         • «Маленький и простой»




 82                                                    МАИ, каф 806, ППС
Design Pattern: Resource Proxy Gateway


 Context
    Ресурс должен быть защищен, так что доступ к нему может иметь только
       авторизованный пользователь/приложение.
 Задача
    В приложениях доступ к ресурсу идет по ссылке. Ссылка может быть скопирована и
       передана в приложение, которое не является авторизованным.
 Решение
    Все ссылки на объект заменяются ссылкой на Proxy
    При вызове метода Proxy он производит вызов объекта
    В полученных результатах вызова производится подмена реальных объектов на Proxy




 83                                                    МАИ, каф 806, ППС
Capability Model


Внутри контейнера сохраняется список
      пользователей
Для каждого пользователя указывается
      список ресурсов, к которым у него есть
      доступ
Могут указываться способы, которыми
      пользователь осуществляет доступ к
      ресурсу (например, только на чтение)




 84                                            МАИ, каф 806, ППС
Access Control Lists


Для каждого ресурса указывается перечень
      пользователей, которые могут иметь к нему
      доступ
По сравнению с Capability Model позволяет
      более четко ограничить круг пользователей,
      имеющих доступ к ресурсу.




 85                                                МАИ, каф 806, ППС
Design Pattern: Role-Based Permissions


 Context
    Ресурс должен быть защищен, так что доступ к
       нему может иметь только авторизованный
       пользователь/приложение.
 Задача
    Список пользователей достаточно большой, для
       того что бы им эффективно управлять
 Решение
    Создаются роли для доступа к ресурсу
       определенными способами




 86                                                 МАИ, каф 806, ППС
Design Pattern: Parameterized Permissions


 Context
    Ресурс должен быть защищен, так что доступ к нему может иметь только
       авторизованный пользователь/приложение.
 Задача
    Правила для доступа к ресурсу достаточно сложны




 87                                                    МАИ, каф 806, ППС
Атрибуты качество ПО. Удобство тестирования.




88                                  МАИ, каф 806, ППС
Атрибуты качество ПО. Удобство тестирования. Тактики.


 Ввод/вывод
    Record/playback. Механизм позволяющий записывать данные передаваемые в
          интерфейс и данные, которые интерфейс вернул в ответ. Этот же механизм позволяет в
          последствии повторить запуск и сравнить новые результаты.
         Separate interface from implementation. Данный механизм позволяет реализовывать
          "заглушки" - специальные модули, которые наследуют интерфейсы нормальных
          компонент, но не выполняют действие а только иметируют его выполнение в целях
          тестирования.
         Specialize access routes/interfaces. Создание специализированных интерфейсов для
          тестирования системы, которые могут использоваться системами тестирования в своей
          работе. Т.е. появляется возможность проводить тестирование на любом уровне
          программы. Такие интерфейсы обычно отделяют от обычных интерфейсов. Например,
          что бы протестировать работу компонента в каком-то сложно-достижимом состоянии, мы
          можем привести этот компонент в данное состояние путем нормальной работы (не в
          результате подготовки unit-теста) и вызывать интерфейс тестирования.
 Внутренний мониторинг
    Built-in monitors. Важные состояния объекта сохраняются на диске или передаются в
          специализированную систему мониторинга. Для этого в программу встраиваются точки
          снятия состояния объекта, например, с помощью аспектно-ориентированных языков.




 89                                                        МАИ, каф 806, ППС
Атрибуты качество ПО. Usability.




90                                 МАИ, каф 806, ППС
Атрибуты качество ПО. Usability. Тактики.


    Runtime
         Модель задания. Знание задания позволяет помочь
          пользователю его выполнить. Например, при наборе
          текста система может сама менять первую букву на
          прописную.
         Модель пользователя. Ориентируется на
          понимание возможностей и целей того или иного
          класса пользователей (отображение информации,
          интересной конкретной роли и т.д.)
         Модель системы. Используются знания о поведении
          системы, для того что бы дать пользователю
          информацию о том как он будет работать ( например
          предупреждать о том что некоторые операции
          длительные).
    Designtime
         Разделение пользовательского интерфейса от
          бизнес логики. Т.е. интерфейс может меняться и в
          процессе разработки и после запуска в
          эксплуатацию, то лучше сразу отделить его.
               •   Model-View-Controller
               •   Presentation-Abstraction-Control




91                                                            МАИ, каф 806, ППС

More Related Content

What's hot

Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийDmitry Evteev
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системDmitry Evteev
 
Аудит СКЗИ и криптоключей на примере Банка
Аудит СКЗИ и криптоключей на примере БанкаАудит СКЗИ и криптоключей на примере Банка
Аудит СКЗИ и криптоключей на примере Банкаimbasoft ru
 
Найти и обезвредить
Найти и обезвредитьНайти и обезвредить
Найти и обезвредитьCisco Russia
 
разработка безопасного кода
разработка безопасного кодаразработка безопасного кода
разработка безопасного кодаAndrey Somsikov
 
Корпоративное воровство. Как взять его под контроль
Корпоративное воровство. Как взять его под контроль Корпоративное воровство. Как взять его под контроль
Корпоративное воровство. Как взять его под контроль Solar Security
 
выбор и хранение паролей(солдатенкова)
выбор и хранение паролей(солдатенкова)выбор и хранение паролей(солдатенкова)
выбор и хранение паролей(солдатенкова)Julia Soldatenkova
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)c3retc3
 
Практика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструментыПрактика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструментыSergey Soldatov
 
PHDays 2012: Future Now
PHDays 2012: Future NowPHDays 2012: Future Now
PHDays 2012: Future NowDmitry Evteev
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...Dmitry Evteev
 
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...Denis Batrankov, CISSP
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестераDmitry Evteev
 
Технология защиты от Malware на базе SourceFire FireAMP
Технология защиты от Malware на базе SourceFire FireAMPТехнология защиты от Malware на базе SourceFire FireAMP
Технология защиты от Malware на базе SourceFire FireAMPCisco Russia
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
 
Модель нарушителя безопасности информации
Модель нарушителя безопасности информацииМодель нарушителя безопасности информации
Модель нарушителя безопасности информацииSergey Borisov
 

What's hot (20)

Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
 
Аудит СКЗИ и криптоключей на примере Банка
Аудит СКЗИ и криптоключей на примере БанкаАудит СКЗИ и криптоключей на примере Банка
Аудит СКЗИ и криптоключей на примере Банка
 
пр человек смотрящий для Risc
пр человек смотрящий для Riscпр человек смотрящий для Risc
пр человек смотрящий для Risc
 
Найти и обезвредить
Найти и обезвредитьНайти и обезвредить
Найти и обезвредить
 
разработка безопасного кода
разработка безопасного кодаразработка безопасного кода
разработка безопасного кода
 
Корпоративное воровство. Как взять его под контроль
Корпоративное воровство. Как взять его под контроль Корпоративное воровство. Как взять его под контроль
Корпоративное воровство. Как взять его под контроль
 
выбор и хранение паролей(солдатенкова)
выбор и хранение паролей(солдатенкова)выбор и хранение паролей(солдатенкова)
выбор и хранение паролей(солдатенкова)
 
Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)Эволюция атак на веб приложения (Evolution of web applications attacks)
Эволюция атак на веб приложения (Evolution of web applications attacks)
 
Практика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструментыПрактика обнаружения атак, использующих легальные инструменты
Практика обнаружения атак, использующих легальные инструменты
 
PHDays 2012: Future Now
PHDays 2012: Future NowPHDays 2012: Future Now
PHDays 2012: Future Now
 
penetest VS. APT
penetest VS. APTpenetest VS. APT
penetest VS. APT
 
пр Управление инцидентами ИБ (Dozor)
пр Управление инцидентами ИБ (Dozor)пр Управление инцидентами ИБ (Dozor)
пр Управление инцидентами ИБ (Dozor)
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
 
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестера
 
Технология защиты от Malware на базе SourceFire FireAMP
Технология защиты от Malware на базе SourceFire FireAMPТехнология защиты от Malware на базе SourceFire FireAMP
Технология защиты от Malware на базе SourceFire FireAMP
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
 
Про практику DLP (Код ИБ)
Про практику DLP (Код ИБ)Про практику DLP (Код ИБ)
Про практику DLP (Код ИБ)
 
Модель нарушителя безопасности информации
Модель нарушителя безопасности информацииМодель нарушителя безопасности информации
Модель нарушителя безопасности информации
 

Viewers also liked

Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Dima Dzuba
 
Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Dima Dzuba
 
Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Dima Dzuba
 
Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1Dima Dzuba
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Dima Dzuba
 
Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Dima Dzuba
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4 Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Dima Dzuba
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Dima Dzuba
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Dima Dzuba
 

Viewers also liked (12)

Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9Проектирование программных систем. Занятие 9
Проектирование программных систем. Занятие 9
 
Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8Проектирование программных систем. Занятие 8
Проектирование программных систем. Занятие 8
 
Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5Проектирование программных систем. Занятие 5
Проектирование программных систем. Занятие 5
 
Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6
 
Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2Проектирование программных систем. Занятие 2
Проектирование программных систем. Занятие 2
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
Объектно-Ориентированное Программирование на C++, Лекции  3 и 4 Объектно-Ориентированное Программирование на C++, Лекции  3 и 4
Объектно-Ориентированное Программирование на C++, Лекции 3 и 4
 
Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12Объектно-ориентированное программирование. Лекции 11 и 12
Объектно-ориентированное программирование. Лекции 11 и 12
 
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
Объектно-Ориентированное Программирование на C++, Лекции 1 и 2
 
Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3Проектирование программных систем. Занятие 3
Проектирование программных систем. Занятие 3
 
Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16Объектно-ориентированное программирование. Лекции 15 и 16
Объектно-ориентированное программирование. Лекции 15 и 16
 

Similar to Проектирование программных систем. Занятие 7

Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
 
Protectinfo present
Protectinfo presentProtectinfo present
Protectinfo presentDrofaUral
 
17 способов проникновения во внутреннюю сеть компании
17 способов проникновения во внутреннюю сеть компании17 способов проникновения во внутреннюю сеть компании
17 способов проникновения во внутреннюю сеть компанииAleksey Lukatskiy
 
Hacker Attack 2008 Netsajev Sg
Hacker Attack 2008 Netsajev SgHacker Attack 2008 Netsajev Sg
Hacker Attack 2008 Netsajev Sganisol
 
обнаружение сетевых атак
обнаружение сетевых атакобнаружение сетевых атак
обнаружение сетевых атакMike Gorohov
 
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...lacertia
 
средства разграничения доступа
средства разграничения доступасредства разграничения доступа
средства разграничения доступаtrenders
 
защита
защитазащита
защитаSai_17
 
защита
защитазащита
защитаSai_17
 
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.7bits
 
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)SkillFactory
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?phpdevby
 
защита
защитазащита
защитаSai_17
 
безопасность веб проектов сергей рыжиков
безопасность веб проектов   сергей рыжиковбезопасность веб проектов   сергей рыжиков
безопасность веб проектов сергей рыжиковMedia Gorod
 
НТБ. Евгений Архишин. "Система контроля привилегированных пользователей Safe...
НТБ. Евгений Архишин. "Система контроля  привилегированных пользователей Safe...НТБ. Евгений Архишин. "Система контроля  привилегированных пользователей Safe...
НТБ. Евгений Архишин. "Система контроля привилегированных пользователей Safe...Expolink
 
Safety and Security of Web-applications (Document)
Safety and Security of Web-applications (Document)Safety and Security of Web-applications (Document)
Safety and Security of Web-applications (Document)MrCoffee94
 
Информационная безопасность в аспекте веб-разработки
Информационная безопасность в аспекте веб-разработкиИнформационная безопасность в аспекте веб-разработки
Информационная безопасность в аспекте веб-разработкиE-Journal ICT4D
 

Similar to Проектирование программных систем. Занятие 7 (20)

Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Protectinfo present
Protectinfo presentProtectinfo present
Protectinfo present
 
17 способов проникновения во внутреннюю сеть компании
17 способов проникновения во внутреннюю сеть компании17 способов проникновения во внутреннюю сеть компании
17 способов проникновения во внутреннюю сеть компании
 
Hacker Attack 2008 Netsajev Sg
Hacker Attack 2008 Netsajev SgHacker Attack 2008 Netsajev Sg
Hacker Attack 2008 Netsajev Sg
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
обнаружение сетевых атак
обнаружение сетевых атакобнаружение сетевых атак
обнаружение сетевых атак
 
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...
какую защитить данные в сети ресурсами своей системы.выполнили мальченко илья...
 
средства разграничения доступа
средства разграничения доступасредства разграничения доступа
средства разграничения доступа
 
защита
защитазащита
защита
 
защита
защитазащита
защита
 
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
 
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
 
защита
защитазащита
защита
 
безопасность веб проектов сергей рыжиков
безопасность веб проектов   сергей рыжиковбезопасность веб проектов   сергей рыжиков
безопасность веб проектов сергей рыжиков
 
НТБ. Евгений Архишин. "Система контроля привилегированных пользователей Safe...
НТБ. Евгений Архишин. "Система контроля  привилегированных пользователей Safe...НТБ. Евгений Архишин. "Система контроля  привилегированных пользователей Safe...
НТБ. Евгений Архишин. "Система контроля привилегированных пользователей Safe...
 
Safety and Security of Web-applications (Document)
Safety and Security of Web-applications (Document)Safety and Security of Web-applications (Document)
Safety and Security of Web-applications (Document)
 
Информационная безопасность в аспекте веб-разработки
Информационная безопасность в аспекте веб-разработкиИнформационная безопасность в аспекте веб-разработки
Информационная безопасность в аспекте веб-разработки
 

More from Dima Dzuba

Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Dima Dzuba
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Dima Dzuba
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation processDima Dzuba
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Dima Dzuba
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Dima Dzuba
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 
Производительность программных систем
Производительность программных системПроизводительность программных систем
Производительность программных системDima Dzuba
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Dima Dzuba
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1Dima Dzuba
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7Dima Dzuba
 
Решение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системРешение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системDima Dzuba
 
Arch intro4sts
Arch intro4stsArch intro4sts
Arch intro4stsDima Dzuba
 
Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Dima Dzuba
 

More from Dima Dzuba (19)

Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14Объектно-ориентированное программирование. Лекции 13 и 14
Объектно-ориентированное программирование. Лекции 13 и 14
 
Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10Объектно-ориентированное программирование. Лекции 9 и 10
Объектно-ориентированное программирование. Лекции 9 и 10
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
 
Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8. Объектно-ориентированное программирование. Лекция 7 и 8.
Объектно-ориентированное программирование. Лекция 7 и 8.
 
Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6Объектно-ориентированное программирование. Лекция 5 и 6
Объектно-ориентированное программирование. Лекция 5 и 6
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
Производительность программных систем
Производительность программных системПроизводительность программных систем
Производительность программных систем
 
Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.Архитектура. Доступноять программных систем.
Архитектура. Доступноять программных систем.
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6
 
МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5МАИ, Сети ЭВМ, Лекция №5
МАИ, Сети ЭВМ, Лекция №5
 
МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4МАИ, Сети ЭВМ, Лекция №4
МАИ, Сети ЭВМ, Лекция №4
 
МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3МАИ, Сети ЭВМ, Лекция №3
МАИ, Сети ЭВМ, Лекция №3
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2
 
МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1МАИ, Сети ЭВМ, Лекция №1
МАИ, Сети ЭВМ, Лекция №1
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
 
Решение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных системРешение конфликтов в процессе проектирования сложных систем
Решение конфликтов в процессе проектирования сложных систем
 
Arch intro4sts
Arch intro4stsArch intro4sts
Arch intro4sts
 
Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10Проектирование программных систем. Занятие 10
Проектирование программных систем. Занятие 10
 

Проектирование программных систем. Занятие 7

  • 1. БЕЗОПАСНОСТЬ 71 МАИ, каф 806, ППС
  • 2. Атрибуты качество ПО. Безопасность. 72 МАИ, каф 806, ППС
  • 3. Атрибуты качество ПО. Безопасность. Тактики.  Отражение атаки  Authenticate users. Определяет что пользователь действительно тот, которым назвался. Например, различные схемы с паролями, цифровые сртификаты, биометрические сканеры.  Authorize users. Определяет что пользователь имеет право обращаться к тем или иным ресурсам.Классы пользователей могут быть определены группами пользователей и их ролями, или явным заданием списка пользователей, имеющих доступ к ресурсу.  Поддержка конфиденциальности данных. Шифрование данных и каналов передачи данных. Может быть реализовано как virtual private network (VPN), Secure Sockets Layer (SSL) for a Web-based link. Шифрование бывает симетрическое и на основе открытого ключа.  Поддержка целостности данных. Введение проверочных данных (чексумы, хэш коды).  Ограничение видимости сервисов. Секретные сервисы могут полностью скрываться от внешних пользователей..  Ограничение доступа. Использование Firewall ,DMZ. 73 МАИ, каф 806, ППС
  • 4. Атрибуты качество ПО. Безопасность. Тактики.  Обнаружение атаки Обычно это делается анализом запросов к ресурсу, если запросы не укладываются ни в один системный сценарий или данные о запросах сохраненные в системе не совпадают с историей запросов (в вызывающей системе нет записи о том, что она делала такой запрос), то такие запросы трактуются как атаки.  Восстановление после атаки  Восстановление состояния системы. После обнаружения атаки система восстанавливает свое состояние на момент перед атакой.  Идентификация атакующего. Использование информации аудита действий атакующего при восстановлении системы. Т.е. восстанавливать только те данные, которые были испорчены во время атаки. 74 МАИ, каф 806, ППС
  • 5. Возможные атаки [1/7]  Interception  Когда одно приложение читает информацию сохранённую или отображаемую другим приложением.  Например: • Установка перехватчика нажатий клавиатуры. • Чтение TCP пакетов, передаваемых по сети. • Чтение содержимого экрана.  Modification in Place or in Transit  Подмена данных в месте хранения. Например, подмена хранилища паролей или данных авторизации.  Возможна подмена данных на уровне сетевых протоколов, когда атакующий является клиентом и подменяет данные, касающиеся авторизации (например скрытые тэги HTTP протокола). 75 МАИ, каф 806, ППС
  • 6. Возможные атаки [2/7] Man-in-the-Middle, Replay  Когда приложению удается себя поместить между двумя взаимодействующими приложениями, и тем самым прослушивать (возможно подменяя) передаваемые сообщения.  Предположим, объект A планирует передать объекту B некую информацию. Объект C обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую С планирует перехватить. Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А, ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С, получив информацию, и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях) пересылает данные собственно получателю — В; объект В, в свою очередь, считает, что информация была получена им напрямую от А.  Для предотвращения атак подобного типа абонентам A и B достаточно с помощью достоверного канала передать друг другу цифровые подписи публичных ключей шифрования. Тогда при сравнении подписей ключей в сеансах шифрования можно будет установить, каким ключом шифровались данные, и не произошла ли подмена ключей.  В случае Replay, атакующий подменяет ответ, модифицируя его содержимое. 76 МАИ, каф 806, ППС
  • 7. Возможные атаки [3/7]  Interruption  Стабильность системы зависит от того на сколько целостно выполняются процессы. Если процесс был прерван, то это может привести к сбою в работе программы.  Saturation and Delay  В некоторых системах защита от атак может быть построена на наличии сервиса, который наблюдает за работой системы и обнаруживает атаки. Например, сервис, который выявляет сообщения с неправильными идентификаторами и т.д.  Атака построена на том, что сервис-монитор перегружается запросами с целью затормозить его на время требуемое для выполнения основной атаки.  Exploitation of Non-Atomicity  В случае если в программе есть разделяемые ресурсы, к которым могут обращаться параллельные потоки, то возможна ситуация когда атакующий вклинится в данный процесс и изменит состояние системы.  Т.е. система будет выполнять шаги в неправильной последовательности, или будет пропускать важные шаги.  Например, если в общем контексте память лежит информация об идентификаторе пользователя, то атакующий может его подменить заставив систему действовать под правами другого пользователя. 77 МАИ, каф 806, ППС
  • 8. Возможные атаки [4/7]  Coordination Interference  В системах, которые зависят от синхронизирующих интерфейсов (например, которые выдают timestamp как некоторый идентификатор последовательности) возможна атака с подменой данных данного интерфейса. Например, с помощью задержки сообщения можно поменять его последовательность и получить сбой в работе системы.  Forced Crash and Retrieval of Crash Artifacts  В момент падения системы часто записывается информация о состоянии системы в открытом виде. Атакующий может считать данную информацию и извлечь от туда, например идентификационные или персональные данные.  Forced Restart, Forced Re-Install  В данном виде атаки подменяются загрузчики системы или конфигурационные файлы. Это может позволить отключить защиту (если возможно на уровне конфига или подменив сервер авторизации)  Environmental Interference  Часто работа системы зависит от того насколько доступны ресурсы (сеть, файлы и т.д.) Атака может строится на том, что часть ресурсов делается недоступным (например, меняются атрибуты system log). Это может привести к падению в работе системы. 78 МАИ, каф 806, ППС
  • 9. Возможные атаки [5/7] Spoofing  Подмена или уничтожение ресурса или артефакта в целях введения в заблуждения кого либо.  Примеры:  Изменение Source IP в пакете  Создание веб-страниц маскирующихся под нормальные страницы.  Отправка запроса на определение адреса сайта на DNS сервер, так что бы он послал этот запрос на вышестоящий сервер, после чего имитация ответа от вышестоящего сервера с ложным результатом.  Подмена программы которой доверяет пользователь, на похожую но с содержанием вредоносных данных.  Hijacking  Подмена одного серверного ресурса другим. 79 МАИ, каф 806, ППС
  • 10. Возможные атаки [6/7]  Trap Door  Способ входа в систему в виде зашитых паролей безопасности в программный код. Например, программист зашивает свой логин как логин администратора в системе для удобства отладки. Проблема с такими логинами что их нельзя поменять в целях безопасности.  Exploit of Incomplete Traceability  В случае если в системе сохраняется недостаточно информации о проведенных действиях, то это может стать причиной подмены данных. Например, когда пользователь утверждает что он не делал той или финансовой транзакции. Если в системе не достаточно информации об этом, то нет возможности определить, он транзакцию делал или нет.  Exploit of Incomplete Validation  Недостаточная проверка вводимых данных может привести к тому что нападающий пройдет сквозь систему защиты. Например, передав данные, которые переполняют программный стек и запускают программу по неправильному пути. 80 МАИ, каф 806, ППС
  • 11. Возможные атаки [7/7]  Exploit of Incomplete Authentication or Authorization  В случае если в системе не во всех потенциально небезопасных местах есть проверки безопасности, то есть возможность что атакующий произведет атаку даже через внутренний интерфейс.  Pattern Matching and Brute Force Guessing  Атаки, которые используют знание о системе для того что бы подобрать пароль для входа в систему или поменять её состояние на нужное. Это может быть как слепым перебором, так и по специальным паттернам, которые учитывают алгоритмы защиты (например перебор паролей по словарю, взлом MD5 по Rainbow-таблицам).  Namespace Attack  Атаки, которые используют механизм определения адреса ресурса по имени для его подмены.  Weak Link as Gateway  Атаки, которые используют слабую точку в защите, для того что бы преодолеть защищенный участок. Например, если Вы соединены с партнером защищенным каналом VPN, а он в свою очередь имеет незащищенный выход за пределы сети, то через него может проникнуть атакующий к Вам в сеть. 81 МАИ, каф 806, ППС
  • 12. Design Pattern: Reference Monitor  Context  Ресурс должен быть защищен, так что доступ к нему может иметь только авторизованный пользователь/приложение.  Задача  В приложениях доступ к ресурсу идет по ссылке. Ссылка может быть скопирована и передана в приложение, которое не является авторизованным.  Решение  Для доступа к ресурсу используется контейнер, удовлетворяющий следующим правилам: • Он вызывается всегда • Его нельзя поменять • «Маленький и простой» 82 МАИ, каф 806, ППС
  • 13. Design Pattern: Resource Proxy Gateway  Context  Ресурс должен быть защищен, так что доступ к нему может иметь только авторизованный пользователь/приложение.  Задача  В приложениях доступ к ресурсу идет по ссылке. Ссылка может быть скопирована и передана в приложение, которое не является авторизованным.  Решение  Все ссылки на объект заменяются ссылкой на Proxy  При вызове метода Proxy он производит вызов объекта  В полученных результатах вызова производится подмена реальных объектов на Proxy 83 МАИ, каф 806, ППС
  • 14. Capability Model Внутри контейнера сохраняется список пользователей Для каждого пользователя указывается список ресурсов, к которым у него есть доступ Могут указываться способы, которыми пользователь осуществляет доступ к ресурсу (например, только на чтение) 84 МАИ, каф 806, ППС
  • 15. Access Control Lists Для каждого ресурса указывается перечень пользователей, которые могут иметь к нему доступ По сравнению с Capability Model позволяет более четко ограничить круг пользователей, имеющих доступ к ресурсу. 85 МАИ, каф 806, ППС
  • 16. Design Pattern: Role-Based Permissions  Context  Ресурс должен быть защищен, так что доступ к нему может иметь только авторизованный пользователь/приложение.  Задача  Список пользователей достаточно большой, для того что бы им эффективно управлять  Решение  Создаются роли для доступа к ресурсу определенными способами 86 МАИ, каф 806, ППС
  • 17. Design Pattern: Parameterized Permissions  Context  Ресурс должен быть защищен, так что доступ к нему может иметь только авторизованный пользователь/приложение.  Задача  Правила для доступа к ресурсу достаточно сложны 87 МАИ, каф 806, ППС
  • 18. Атрибуты качество ПО. Удобство тестирования. 88 МАИ, каф 806, ППС
  • 19. Атрибуты качество ПО. Удобство тестирования. Тактики.  Ввод/вывод  Record/playback. Механизм позволяющий записывать данные передаваемые в интерфейс и данные, которые интерфейс вернул в ответ. Этот же механизм позволяет в последствии повторить запуск и сравнить новые результаты.  Separate interface from implementation. Данный механизм позволяет реализовывать "заглушки" - специальные модули, которые наследуют интерфейсы нормальных компонент, но не выполняют действие а только иметируют его выполнение в целях тестирования.  Specialize access routes/interfaces. Создание специализированных интерфейсов для тестирования системы, которые могут использоваться системами тестирования в своей работе. Т.е. появляется возможность проводить тестирование на любом уровне программы. Такие интерфейсы обычно отделяют от обычных интерфейсов. Например, что бы протестировать работу компонента в каком-то сложно-достижимом состоянии, мы можем привести этот компонент в данное состояние путем нормальной работы (не в результате подготовки unit-теста) и вызывать интерфейс тестирования.  Внутренний мониторинг  Built-in monitors. Важные состояния объекта сохраняются на диске или передаются в специализированную систему мониторинга. Для этого в программу встраиваются точки снятия состояния объекта, например, с помощью аспектно-ориентированных языков. 89 МАИ, каф 806, ППС
  • 20. Атрибуты качество ПО. Usability. 90 МАИ, каф 806, ППС
  • 21. Атрибуты качество ПО. Usability. Тактики.  Runtime  Модель задания. Знание задания позволяет помочь пользователю его выполнить. Например, при наборе текста система может сама менять первую букву на прописную.  Модель пользователя. Ориентируется на понимание возможностей и целей того или иного класса пользователей (отображение информации, интересной конкретной роли и т.д.)  Модель системы. Используются знания о поведении системы, для того что бы дать пользователю информацию о том как он будет работать ( например предупреждать о том что некоторые операции длительные).  Designtime  Разделение пользовательского интерфейса от бизнес логики. Т.е. интерфейс может меняться и в процессе разработки и после запуска в эксплуатацию, то лучше сразу отделить его. • Model-View-Controller • Presentation-Abstraction-Control 91 МАИ, каф 806, ППС