ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ




                      Полаженко Сергей,
         ООО «Лаборатория тестирования»
                   polazhenko@sqalab.ru
ЧТО ТАКОЕ БЕЗОПАСНОСТЬ
ПРОГРАММНОГО ПРОДУКТА (ПП)?


      ISO/IEC 9126 «Software engineering – Product quality»

       Безопасность ПП -
       (safety) – способность ПП достигать приемлемого уровня
       риска для здоровья людей, их бизнеса, ПО, имущества
       или окружающей среды при данном способе (контексте)
       применения.
ЧТО ТАКОЕ ЗАЩИЩЁННОСТЬ ПП?

      ISO/IEC 9126 «Software engineering – Product quality»


       Защищѐнность ПП - (security) –
       способность ПП защищать информацию и данные
       так, чтобы неавторизованные субъекты или процессы
       не смогли читать или модифицировать (удалять)
       их, а авторизованным пользователям и процессам не было
       отказано в доступе к ним. Требование также относится и к
       данным, которые находятся в процессе пересылки.
ЧТО ТАКОЕ ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ И
ЗАЩИЩЁННОСТИ (ТБЗ) ПП?



        Метод оценки КАЧЕСТВА и ПОЛНОТЫ
        реализации требований по
        БЕЗОПАСНОСТИ и ЗАЩИЩЁННОСТИ
        ПП
СТРУКТУРА КАЧЕСТВА ПП

      ISO/IEC 9126 «Software engineering – Product quality»
      ISO/ IEC 14598 «Software engineering — Product evaluation»



         •   Внешние атрибуты качества ПО
         •   Внутренние атрибуты качества ПО
         •   Качество в использовании
СТРУКТУРА КАЧЕСТВА ПП

      ISO/IEC 9126 «Software engineering – Product quality»
      ISO/ IEC 14598 «Software engineering — Product evaluation»
СТРУКТУРА КАЧЕСТВА ПП

      ISO/IEC 9126 «Software engineering – Product quality»
      ISO/ IEC 14598 «Software engineering — Product evaluation»

       Защищѐнность – характеристика функциональной
       пригодности (внутреннее и внешнее качество)



       Безопасность– характеристика
       качества в использовании
ОТЛИЧИЕ ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ
 ОТ ТБЗ




                                 НЕ ДОЛЖНА существовать
   Доступ к страницам сайта
                               возможность получить доступ к
должен осуществляться ТОЛЬКО
                                    страницам сайта НЕ
       авторизованными
                                   АВТОРИЗОВАННЫМИ
     пользователями сайт
                                   пользователями сайт
СХОДСТВО ТБЗ И НАГРУЗОЧНОГО
ТЕСТИРОВАНИЯ

        Качественная характеристика
        Интегральный характер

        НО!

        Нагрузочное касается основного функционала
        ТБЗ более системно!
        ТБЗ часто имеет неявные требования
ПРИМЕР НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ

        Сервис должен выдерживать ответ за 10
        и менее секунд при нагрузке до 1000
        одновременно работающих
        пользователей.

        Пользователи работают в рамках
        определѐнного WORKFLOW!
ПРИМЕР ТБЗ
        Пользователь можно атаковать:
        1. Через страницы сайта

        2. Через адресную строку браузера
           (sql, xss injections, …)
        3. Перехватывать и модифицировать
           трафик между клиентом и сервером
        4. Подменять внешние сервисы, на
           которые ссылается наш сайт
        5. …
ОСНОВНАЯ ПРОБЛЕМА БЕЗОПАСНОСТИ
ЗАИНТЕРЕСОВАННЫЕ ЛИЦА




       Кто приобретает или
       теряет деньги?
АКТИВЫ

    Что и сколько стоит
    денег?
АКТИВЫ (ПЗ) - NOTEPAD
АКТИВЫ (ПЗ) - NOTEPAD


       Данные пользователя
АКТИВЫ (ПЗ) – MS WORD
АКТИВЫ (ПЗ) – MS WORD


       1.   Данные пользователя
       2.   Активация продукта
       3.   Репутация производителя
       4.   Исходные тексты ПП
       5.   Интеллектуальная
            собственность
            (алгоритмы, дизайн и т.п.)
АКТИВЫ (ПЗ) – GMAIL.COM
АКТИВЫ (ПЗ) – GMAIL.COM
       1.   Логины пользователя(ей)
       2.   Переписка и др. данные
            пользователя(ей)
       3.   Доступность сервиса
       4.   Аутентичность сервиса
       5.   Платные функции
       6.   Репутация производителя
       7.   Исходные тексты ПП
       8.   Интеллектуальная собственность
            (алгоритмы, дизайн и т.п.)
АКТИВЫ (ПЗ) – KM.RU, ENCARTA
АКТИВЫ (ПЗ) – KM.RU, ENCARTA

       1.   Доступность сервиса
       2.   Репутация производителя
       3.   Аутентичность статей
       4.   Интеллектуальная
            собственность
            (графика, тексты статей)
АКТИВЫ (ПЗ) – WIKIPEDIA
АКТИВЫ (ПЗ) – WIKIPEDIA

       1.   Доступность сервиса
       2.   Аутентичность статей
       3.   Аутентичность сервиса
АКТИВЫ (ПЗ) – ONLINE POKER (HTML5)
АКТИВЫ (ПЗ) – ONLINE POKER (HTML5)
       1.   Логины пользователя(ей)
       2.   Данные пользователей
       3.   Доступность сервиса
       4.   Аутентичность сервиса
       5.   Платные функции
       6.   Репутация производителя
       7.   Исходные тексты ПП
       8.   Интеллектуальная
            собственность
            (алгоритмы, дизайн и т.п.)
УЩЕРБ




        Материальные и нематериальные
        потери в свези с действиями
        злоумышленника
УЯЗВИМОСТЬ




       Недостаток системы
       защиты, могущий привести
       к тому или иному ущербу

       Открытое окно
РИСК




       Вариант реализации уязвимости

       Злоумышленник влезет в «открытое
       окно»
БЕЗОПАСНОСТЬ ДАННЫХ И СЕРВИСОВ!




      Целостность
      Доступность
      Конфиденциальность
      (Аутентичность)
УГРОЗА

    ГОСТ Р 51897–2002 «Менеджмент риска. Термины и определения»




         потенциальная причина
         нежелательного инцидента, который
         может приводить к нанесению вреда
         системе или организации.

         Кража данных (нарушение
         конфиденциальность данных)
УРОВНИ БЕЗОПАСНОСТИ


            1.   Нормативно-правовой
            2.   Организационный
            3.   Технический
            4.   Физический
АБСОЛЮТНАЯ ЗАЩИЩЁННОСТЬ




            1.   Не возможна

            2.   Безопасность
                 программных систем не
                 может быть обеспечена
                 программными
                 средствами
МОДЕЛЬ ЗЛОУМЫШЛЕННИКА




           1.   Внешний пользователь
           2.   Внутренний пользователь
           3.   Сотрудники компании-
                разработчика
КАТЕГОРИИ СЕКРЕТНОСТИ ДАННЫХ


            1.   Публичная информация
            2.   Служебная информация
            3.   Служебная тайна
            4.   Государственная тайна
УРОВНИ ТЕСТИРОВАНИЯ

       ISO/IEC 15408 ―Common criteria‖

             EAL1 … EAL7


             EAL1 (функциональное
             тестирование)
             …
             EAL7 (формальная верификация
             проекта и тестирование)
МОДЕЛЬ ЗЛОУМЫШЛЕННИКА (ВНЕШНИЕ
ПОЛЬЗОВАТЕЛИ)

           1.   Неквалифицированный
                пользователь
           2.   Квалифицированный
                пользователь
           3.   Высококвалифицированный
                хакер
           4.   Преступная группировка
           5.   Спецслужбы
ТЕСТИРОВАНИЕ
               1.   Теоретическая задача -
                    протестировать весь
                    функционал (все классы
                    эквивалентности)
               2.   Практическая
                    (экономическая) задача – в
                    заданные сроки, при
                    имеющихся ресурсах
                    обеспечить должное качество
USABILITY & SECURITY TESTING

              Высокий уровень безопасности ~
              низкое usability

              Аппаратный ключ
              Высокие требования к качеству
              пароля

              Автологин & ввод пароля
              Webmoney & Яндекс.Деньги
MARKETING & SECURITY
MARKETING & SECURITY

             Microsoft выпускает на массовом
             рынке:
             • Альфа-версии продуктов

             • Бета-версии продуктов

             • Релизы



             Сначала захват рынка, а потом
             усиление безопасности
MARKETING & SECURITY
             MS Office 2010:
             • Стоимость разработки 10М$

             • Стоимость единицы 10$

             • Число продаж 1M

             • Число инсталляций 5М
MARKETING & SECURITY
             MS Office 2012а:
             • Стоимость защиты 100К

             • Стоимость единицы 15$

             • Стоимость upgrade 5$

             • 60% старых пользователей

             • +20% новых

             • Инсталляций в мире: 7М



            •   3М + 15М = 18М
MARKETING & SECURITY
             MS Office 2012b + аппаратные
             ключи:
             • Стоимость защиты 1М
             • Стоимость единицы 15$
             • Стоимость upgrade 5$
             • 50% старых пользователей
             • +20% новых
             • Инсталляций в мире – 5,5М


             •   2,5М + 15М = 17,5М
MARKETING & SECURITY
             MS Office 2012с:
             • Стоимость защиты 10К

             • Стоимость единицы 15$

             • Стоимость upgrade 5$

             • 60% старых пользователей

             • +30% новых

             • Инсталляций в мире – 8М



            •   3М + 30М = 33М
MARKETING & SECURITY
             MS Office 360:
             • Стоимость разработки 50М

             • Стоимость единицы 15$

             • Стоимость upgrade 5$

             • 60% старых пользователей

             • +60% новых

             • Инсталляций в мире – 1,2М



             •   3М + 60М = 63М
КАК БОРОТЬСЯ?
ЖИЗНЕННЫЙ ЦИКЛ ТБЗ




         ЭТАПЫ ТЕСТИРОВАНИЯ
         БЕЗОПАСНОСТИ
ОЦЕНКА РИСКОВ (COBIT, RISKWATCH…)
            Risk = Probability * Cost

                 DREAD

             R = (D1^2 + R^2 + E^2 + A^2 + D2^2) / 1024


             •    Damage potential (потенциальный ущерб).
             •    Reproducibility (повторяемость).
             •    Exploitability (простота организации атаки).
             •    Affected users (затронутые пользователи).
             •    Discoverability (простота обнаружения).

             D,R,E,A,D = [1-10]
ОЦЕНКА РИСКОВ (DREAD)

          R = (D1^2 + R^2 + E^2 + A^2 + D2^2) / 1024

           •   Damage potential (потенциальный ущерб).
           •   Reproducibility (повторяемость).
           •   Exploitability (простота организации атаки).
           •   Affected users (затронутые пользователи).
           •   Discoverability (простота обнаружения).

           D,R,E,A,D = [1-10]
ДЕРЕВЬЯ АТАК
СПОСОБЫ БОРЬБЫ

      Профилактика
         •   Обучение
         •   Дизайн приложения
         •   Code review
         •   Input validation
         •   Continues integration checks

      Тестирование
         •   Черным ящиком
         •   Белым ящиком
         •   Серым ящиком
         •   Fuzzy
         •   Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ

  Профилактика
     Обучение
     Дизайн приложения
     Code review
     Input validation
     Continues integration checks

  Тестирование
     Черным ящиком
     Белым ящиком
     Серым ящиком
     Fuzzy
     Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ: ОБУЧЕНИЕ
СПОСОБЫ БОРЬБЫ

  Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

  Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ: ДИЗАЙН
ПРИЛОЖЕНИЯ




  •   Guidelines
  •   Check lists
  •   Best practices
СПОСОБЫ БОРЬБЫ: ДИЗАЙН
ПРИЛОЖЕНИЯ
  не хранить секреты в открытом виде

  принцип минимальных привилегий

  использовать параметрезированные
  запросы

  использовать хранимые процедуры

  сообщения об ошибках не должны
  содержать служебной информации
СПОСОБЫ БОРЬБЫ
  Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

  Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ: CODE REVIEW

  Экспертиза исходных текстов, как
  метод тестирования безопасности и
  защищѐнности программных
  продуктов

  http://software-
  testing.ru/library/testing/security/109

  http://securitywiki.ru/PraktikaJekspertiza
  IsxodnyxTekstov?v=oqu
СПОСОБЫ БОРЬБЫ: CODE REVIEW




  Patterns && Practices: Code Review

  http://msdn.microsoft.com/en-
  us/library/ff648637.aspx
СПОСОБЫ БОРЬБЫ: CODE REVIEW
 Java EE – использовать PreparedStatement()
 .NET – использовать параметризованные
 запросы при помощи SqlCommand() or
 OleDbCommand()
 PHP – использовать PDO с строго
 типизированными парамтризованными
 запросами (использование bindParam())
 SQLite – использовать sqlite3_prepare()
 и т.п.

 https://www.owasp.org/index.php/SQL_Injection_
 Prevention_Cheat_Sheet
СПОСОБЫ БОРЬБЫ
 Профилактика
   Обучение
   Дизайн приложения
   Code review
   Input validation
   Continues integration checks

 Тестирование
   Черным ящиком
   Белым ящиком
   Серым ящиком
   Fuzzy
   Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ: INPUT VALIDATION
Профилактика
                            Обучение
                      Дизайн приложения
                           Code review
                         Input validation
                   Continues integration checks

Тестирование
                        Черным ящиком
                        Белым ящиком
                        Серым ящиком




               Проверяйте входные
                            Fuzzy
                Автоматизированные инструменты
Портрет типичного
пользователя




            СПОСОБЫ БОРЬБЫ: INPUT VALIDATION
            Профилактика
                                       Обучение
                                 Дизайн приложения
                                      Code review
                                    Input validation
                              Continues integration checks

            Тестирование
                                   Черным ящиком
                                   Белым ящиком
                                   Серым ящиком
                                       Fuzzy
                           Автоматизированные инструменты




                              Dr. User Evil
СПОСОБЫ БОРЬБЫ

  Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

  Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
Способы борьбы: Continues
integration checks
  Microsoft FxCop
  "CA2100: Review SQL queries for security
  vulnerabilities“



  Microsoft Source Code Analyzer
  for SQL Injection
  Microsoft Code Analysis Tool for
  .Net (CAT.NET)
СПОСОБЫ БОРЬБЫ

  Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

  Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
ТЕСТИРОВАНИЕ: МЕТОД «ЧЕРНОГО
ЯЩИКА»
СПОСОБЫ БОРЬБЫ
 Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

 Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ

  Профилактика
    Обучение
    Дизайн приложения
    Code review
    Input validation
    Continues integration checks

  Тестирование
    Черным ящиком
    Белым ящиком
    Серым ящиком
    Fuzzy
    Автоматизированные инструменты
СПОСОБЫ БОРЬБЫ
 http://sqlmap.sourceforge.
 net/
 http://www.owasp.org/inde
 x.php/Category:OWASP_S
 QLiX_Project

 Scrawlr (HP)
 absinthe
КОНТАКТЫ




 polazhenko@sqalab.ru

 www.securitywiki.ru
 Polazhenko.moikrug.ru

More Related Content

PPTX
Разработка ПО в рамках PCI DSS
PDF
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
PDF
О Компании Производственно-Сервисный Центр "Электроника"
PDF
пр Лучшие практики SOC
PDF
Безопасность и сертификация банковского ПО
PPTX
Безопасная разработка (СТАЧКА 2015)
PDF
Threat Modeling (Part 1)
Разработка ПО в рамках PCI DSS
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
О Компании Производственно-Сервисный Центр "Электроника"
пр Лучшие практики SOC
Безопасность и сертификация банковского ПО
Безопасная разработка (СТАЧКА 2015)
Threat Modeling (Part 1)

What's hot (20)

PDF
Обеспечение качества ПО: международный опыт
PDF
Альтернативный курс по информационной безопасности
PDF
пр Сколько зарабатывают специалисты по ИБ в России 2017
PDF
Threat Modeling (Part 5)
PDF
О тестирование софта: мир качества, жуков и информации.
PDF
Мастер класс по моделированию угроз
PDF
Глобальные системы предотвращения атак: международный опыт
PDF
Моделирование угроз сетевой инфраструктуры
PDF
Threat Modeling (Part 2)
PDF
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
PPTX
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
PDF
Threat Modeling (Part 3)
PPTX
Req Labs'2011. Коммуникация нефункциональных требований
PPTX
Внутреннее качество в процедурах информационной безопасности
PDF
Threat Modeling (Part 4)
PDF
пр 5 почему аутсорсинга ИБ
PPTX
О PCI P2PE в общих чертах
PDF
Мастер-класс по моделированию угроз
PPTX
Ломать и строить. PHDays 2015
PDF
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Обеспечение качества ПО: международный опыт
Альтернативный курс по информационной безопасности
пр Сколько зарабатывают специалисты по ИБ в России 2017
Threat Modeling (Part 5)
О тестирование софта: мир качества, жуков и информации.
Мастер класс по моделированию угроз
Глобальные системы предотвращения атак: международный опыт
Моделирование угроз сетевой инфраструктуры
Threat Modeling (Part 2)
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
Threat Modeling (Part 3)
Req Labs'2011. Коммуникация нефункциональных требований
Внутреннее качество в процедурах информационной безопасности
Threat Modeling (Part 4)
пр 5 почему аутсорсинга ИБ
О PCI P2PE в общих чертах
Мастер-класс по моделированию угроз
Ломать и строить. PHDays 2015
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Ad

Similar to Security Testing - Polazhenko Sergey (20)

PDF
Архитектура защищенного периметра
PPTX
Безопаность SAP-систем
PPTX
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
PPTX
Внедрение безопасной разработки (Infosecurity 2014)
PPT
Макс Патрол - Система комплексного мониторинга информационной безопасности
PDF
Проблемы безопасной разработки и поддержки импортных средств защиты информации
PPTX
лекция безопасная разработка приложений
PPTX
Oracle Security. Сергей Базылко: "Противодействие внутренним угрозам до, во в...
PPTX
Анализ уязвимостей ИБ распределенного ПО (2012)
PDF
Evgeniy gulak sherif
PDF
Архитектура защищенного периметра
PPTX
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
PDF
ESET. Екатерина Кузьмина. "ESET. Антивирусная защита на базе решений ESET"
PPTX
Nexthop lab-v4
PPT
Газинформсервис. Сергей Лачугин "Актуальные проблемы защиты SAP"
PDF
HOW WE MAKE IT IN IT
PDF
Построение защищенного Интернет-периметра
PDF
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
PDF
Система управления учетными записями (IDM). Информационная безопасность.
PPS
Код безопасности. Иван Бойцов. "Secret Net Studio - Комплексная защита конечн...
Архитектура защищенного периметра
Безопаность SAP-систем
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Внедрение безопасной разработки (Infosecurity 2014)
Макс Патрол - Система комплексного мониторинга информационной безопасности
Проблемы безопасной разработки и поддержки импортных средств защиты информации
лекция безопасная разработка приложений
Oracle Security. Сергей Базылко: "Противодействие внутренним угрозам до, во в...
Анализ уязвимостей ИБ распределенного ПО (2012)
Evgeniy gulak sherif
Архитектура защищенного периметра
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
ESET. Екатерина Кузьмина. "ESET. Антивирусная защита на базе решений ESET"
Nexthop lab-v4
Газинформсервис. Сергей Лачугин "Актуальные проблемы защиты SAP"
HOW WE MAKE IT IN IT
Построение защищенного Интернет-периметра
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Система управления учетными записями (IDM). Информационная безопасность.
Код безопасности. Иван Бойцов. "Secret Net Studio - Комплексная защита конечн...
Ad

More from QA Club Minsk (19)

PDF
Андрей Ладутько - Тест дизайн. Беседа и немного практики
PPTX
Фриланс в тестировании - 27 апреля 2016 г.
PDF
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
PPTX
QA Club Minsk
PPT
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
PPTX
Методика тестирования интеграции мобильных приложений с веб сервисами - Олег ...
PPTX
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
PPTX
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
PPTX
Вадим Зубович - Sikuli Script - идеальный инструмент для обучения автоматизации
PPTX
Вадим Зубович - Test Link
PPTX
Андрей Стахиевич - Appium Mobile Automation Tool
PPT
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
PPT
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
PPTX
Елена Асташкевич "Управление рисками"
PPTX
Антон Столяр - Agile Testing
PDF
Наталья Руколь "Планирование тестирования"
PPTX
Contineous Integration by Надежда Кныш
PPTX
О мотивации. Часть 1
PPTX
Анатолий Лётыч "Нагрузочное тестирование и все все все"
Андрей Ладутько - Тест дизайн. Беседа и немного практики
Фриланс в тестировании - 27 апреля 2016 г.
Виктория Козлова "Выход новой iOS и Apple-устройства: что может тестировщик, ...
QA Club Minsk
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
Методика тестирования интеграции мобильных приложений с веб сервисами - Олег ...
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Вадим Зубович - Sikuli Script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Test Link
Андрей Стахиевич - Appium Mobile Automation Tool
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Антон Семенченко, Никита Беликов "Инструменты автоматизации тестирования моби...
Елена Асташкевич "Управление рисками"
Антон Столяр - Agile Testing
Наталья Руколь "Планирование тестирования"
Contineous Integration by Надежда Кныш
О мотивации. Часть 1
Анатолий Лётыч "Нагрузочное тестирование и все все все"

Security Testing - Polazhenko Sergey

  • 1. ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ Полаженко Сергей, ООО «Лаборатория тестирования» [email protected]
  • 2. ЧТО ТАКОЕ БЕЗОПАСНОСТЬ ПРОГРАММНОГО ПРОДУКТА (ПП)? ISO/IEC 9126 «Software engineering – Product quality» Безопасность ПП - (safety) – способность ПП достигать приемлемого уровня риска для здоровья людей, их бизнеса, ПО, имущества или окружающей среды при данном способе (контексте) применения.
  • 3. ЧТО ТАКОЕ ЗАЩИЩЁННОСТЬ ПП? ISO/IEC 9126 «Software engineering – Product quality» Защищѐнность ПП - (security) – способность ПП защищать информацию и данные так, чтобы неавторизованные субъекты или процессы не смогли читать или модифицировать (удалять) их, а авторизованным пользователям и процессам не было отказано в доступе к ним. Требование также относится и к данным, которые находятся в процессе пересылки.
  • 4. ЧТО ТАКОЕ ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ И ЗАЩИЩЁННОСТИ (ТБЗ) ПП? Метод оценки КАЧЕСТВА и ПОЛНОТЫ реализации требований по БЕЗОПАСНОСТИ и ЗАЩИЩЁННОСТИ ПП
  • 5. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation» • Внешние атрибуты качества ПО • Внутренние атрибуты качества ПО • Качество в использовании
  • 6. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation»
  • 7. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation» Защищѐнность – характеристика функциональной пригодности (внутреннее и внешнее качество) Безопасность– характеристика качества в использовании
  • 8. ОТЛИЧИЕ ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ ОТ ТБЗ НЕ ДОЛЖНА существовать Доступ к страницам сайта возможность получить доступ к должен осуществляться ТОЛЬКО страницам сайта НЕ авторизованными АВТОРИЗОВАННЫМИ пользователями сайт пользователями сайт
  • 9. СХОДСТВО ТБЗ И НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ Качественная характеристика Интегральный характер НО! Нагрузочное касается основного функционала ТБЗ более системно! ТБЗ часто имеет неявные требования
  • 10. ПРИМЕР НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ Сервис должен выдерживать ответ за 10 и менее секунд при нагрузке до 1000 одновременно работающих пользователей. Пользователи работают в рамках определѐнного WORKFLOW!
  • 11. ПРИМЕР ТБЗ Пользователь можно атаковать: 1. Через страницы сайта 2. Через адресную строку браузера (sql, xss injections, …) 3. Перехватывать и модифицировать трафик между клиентом и сервером 4. Подменять внешние сервисы, на которые ссылается наш сайт 5. …
  • 13. ЗАИНТЕРЕСОВАННЫЕ ЛИЦА Кто приобретает или теряет деньги?
  • 14. АКТИВЫ Что и сколько стоит денег?
  • 16. АКТИВЫ (ПЗ) - NOTEPAD Данные пользователя
  • 18. АКТИВЫ (ПЗ) – MS WORD 1. Данные пользователя 2. Активация продукта 3. Репутация производителя 4. Исходные тексты ПП 5. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  • 20. АКТИВЫ (ПЗ) – GMAIL.COM 1. Логины пользователя(ей) 2. Переписка и др. данные пользователя(ей) 3. Доступность сервиса 4. Аутентичность сервиса 5. Платные функции 6. Репутация производителя 7. Исходные тексты ПП 8. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  • 21. АКТИВЫ (ПЗ) – KM.RU, ENCARTA
  • 22. АКТИВЫ (ПЗ) – KM.RU, ENCARTA 1. Доступность сервиса 2. Репутация производителя 3. Аутентичность статей 4. Интеллектуальная собственность (графика, тексты статей)
  • 24. АКТИВЫ (ПЗ) – WIKIPEDIA 1. Доступность сервиса 2. Аутентичность статей 3. Аутентичность сервиса
  • 25. АКТИВЫ (ПЗ) – ONLINE POKER (HTML5)
  • 26. АКТИВЫ (ПЗ) – ONLINE POKER (HTML5) 1. Логины пользователя(ей) 2. Данные пользователей 3. Доступность сервиса 4. Аутентичность сервиса 5. Платные функции 6. Репутация производителя 7. Исходные тексты ПП 8. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  • 27. УЩЕРБ Материальные и нематериальные потери в свези с действиями злоумышленника
  • 28. УЯЗВИМОСТЬ Недостаток системы защиты, могущий привести к тому или иному ущербу Открытое окно
  • 29. РИСК Вариант реализации уязвимости Злоумышленник влезет в «открытое окно»
  • 30. БЕЗОПАСНОСТЬ ДАННЫХ И СЕРВИСОВ! Целостность Доступность Конфиденциальность (Аутентичность)
  • 31. УГРОЗА ГОСТ Р 51897–2002 «Менеджмент риска. Термины и определения» потенциальная причина нежелательного инцидента, который может приводить к нанесению вреда системе или организации. Кража данных (нарушение конфиденциальность данных)
  • 32. УРОВНИ БЕЗОПАСНОСТИ 1. Нормативно-правовой 2. Организационный 3. Технический 4. Физический
  • 33. АБСОЛЮТНАЯ ЗАЩИЩЁННОСТЬ 1. Не возможна 2. Безопасность программных систем не может быть обеспечена программными средствами
  • 34. МОДЕЛЬ ЗЛОУМЫШЛЕННИКА 1. Внешний пользователь 2. Внутренний пользователь 3. Сотрудники компании- разработчика
  • 35. КАТЕГОРИИ СЕКРЕТНОСТИ ДАННЫХ 1. Публичная информация 2. Служебная информация 3. Служебная тайна 4. Государственная тайна
  • 36. УРОВНИ ТЕСТИРОВАНИЯ ISO/IEC 15408 ―Common criteria‖ EAL1 … EAL7 EAL1 (функциональное тестирование) … EAL7 (формальная верификация проекта и тестирование)
  • 37. МОДЕЛЬ ЗЛОУМЫШЛЕННИКА (ВНЕШНИЕ ПОЛЬЗОВАТЕЛИ) 1. Неквалифицированный пользователь 2. Квалифицированный пользователь 3. Высококвалифицированный хакер 4. Преступная группировка 5. Спецслужбы
  • 38. ТЕСТИРОВАНИЕ 1. Теоретическая задача - протестировать весь функционал (все классы эквивалентности) 2. Практическая (экономическая) задача – в заданные сроки, при имеющихся ресурсах обеспечить должное качество
  • 39. USABILITY & SECURITY TESTING Высокий уровень безопасности ~ низкое usability Аппаратный ключ Высокие требования к качеству пароля Автологин & ввод пароля Webmoney & Яндекс.Деньги
  • 41. MARKETING & SECURITY Microsoft выпускает на массовом рынке: • Альфа-версии продуктов • Бета-версии продуктов • Релизы Сначала захват рынка, а потом усиление безопасности
  • 42. MARKETING & SECURITY MS Office 2010: • Стоимость разработки 10М$ • Стоимость единицы 10$ • Число продаж 1M • Число инсталляций 5М
  • 43. MARKETING & SECURITY MS Office 2012а: • Стоимость защиты 100К • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +20% новых • Инсталляций в мире: 7М • 3М + 15М = 18М
  • 44. MARKETING & SECURITY MS Office 2012b + аппаратные ключи: • Стоимость защиты 1М • Стоимость единицы 15$ • Стоимость upgrade 5$ • 50% старых пользователей • +20% новых • Инсталляций в мире – 5,5М • 2,5М + 15М = 17,5М
  • 45. MARKETING & SECURITY MS Office 2012с: • Стоимость защиты 10К • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +30% новых • Инсталляций в мире – 8М • 3М + 30М = 33М
  • 46. MARKETING & SECURITY MS Office 360: • Стоимость разработки 50М • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +60% новых • Инсталляций в мире – 1,2М • 3М + 60М = 63М
  • 48. ЖИЗНЕННЫЙ ЦИКЛ ТБЗ ЭТАПЫ ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ
  • 49. ОЦЕНКА РИСКОВ (COBIT, RISKWATCH…) Risk = Probability * Cost DREAD R = (D1^2 + R^2 + E^2 + A^2 + D2^2) / 1024 • Damage potential (потенциальный ущерб). • Reproducibility (повторяемость). • Exploitability (простота организации атаки). • Affected users (затронутые пользователи). • Discoverability (простота обнаружения). D,R,E,A,D = [1-10]
  • 50. ОЦЕНКА РИСКОВ (DREAD) R = (D1^2 + R^2 + E^2 + A^2 + D2^2) / 1024 • Damage potential (потенциальный ущерб). • Reproducibility (повторяемость). • Exploitability (простота организации атаки). • Affected users (затронутые пользователи). • Discoverability (простота обнаружения). D,R,E,A,D = [1-10]
  • 52. СПОСОБЫ БОРЬБЫ Профилактика • Обучение • Дизайн приложения • Code review • Input validation • Continues integration checks Тестирование • Черным ящиком • Белым ящиком • Серым ящиком • Fuzzy • Автоматизированные инструменты
  • 53. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 55. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 56. СПОСОБЫ БОРЬБЫ: ДИЗАЙН ПРИЛОЖЕНИЯ • Guidelines • Check lists • Best practices
  • 57. СПОСОБЫ БОРЬБЫ: ДИЗАЙН ПРИЛОЖЕНИЯ не хранить секреты в открытом виде принцип минимальных привилегий использовать параметрезированные запросы использовать хранимые процедуры сообщения об ошибках не должны содержать служебной информации
  • 58. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 59. СПОСОБЫ БОРЬБЫ: CODE REVIEW Экспертиза исходных текстов, как метод тестирования безопасности и защищѐнности программных продуктов http://software- testing.ru/library/testing/security/109 http://securitywiki.ru/PraktikaJekspertiza IsxodnyxTekstov?v=oqu
  • 60. СПОСОБЫ БОРЬБЫ: CODE REVIEW Patterns && Practices: Code Review http://msdn.microsoft.com/en- us/library/ff648637.aspx
  • 61. СПОСОБЫ БОРЬБЫ: CODE REVIEW Java EE – использовать PreparedStatement() .NET – использовать параметризованные запросы при помощи SqlCommand() or OleDbCommand() PHP – использовать PDO с строго типизированными парамтризованными запросами (использование bindParam()) SQLite – использовать sqlite3_prepare() и т.п. https://www.owasp.org/index.php/SQL_Injection_ Prevention_Cheat_Sheet
  • 62. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 63. СПОСОБЫ БОРЬБЫ: INPUT VALIDATION Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Проверяйте входные Fuzzy Автоматизированные инструменты
  • 64. Портрет типичного пользователя СПОСОБЫ БОРЬБЫ: INPUT VALIDATION Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты Dr. User Evil
  • 65. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 66. Способы борьбы: Continues integration checks Microsoft FxCop "CA2100: Review SQL queries for security vulnerabilities“ Microsoft Source Code Analyzer for SQL Injection Microsoft Code Analysis Tool for .Net (CAT.NET)
  • 67. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 69. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 70. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 71. СПОСОБЫ БОРЬБЫ http://sqlmap.sourceforge. net/ http://www.owasp.org/inde x.php/Category:OWASP_S QLiX_Project Scrawlr (HP) absinthe