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




                      Полаженко Сергей,
         ООО «Лаборатория тестирования»
                   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

Security Testing - Polazhenko Sergey

  • 1.
    ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ Полаженко Сергей, ООО «Лаборатория тестирования» polazhenko@sqalab.ru
  • 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. …
  • 12.
  • 13.
    ЗАИНТЕРЕСОВАННЫЕ ЛИЦА Кто приобретает или теряет деньги?
  • 14.
    АКТИВЫ Что и сколько стоит денег?
  • 15.
  • 16.
    АКТИВЫ (ПЗ) -NOTEPAD Данные пользователя
  • 17.
  • 18.
    АКТИВЫ (ПЗ) –MS WORD 1. Данные пользователя 2. Активация продукта 3. Репутация производителя 4. Исходные тексты ПП 5. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  • 19.
  • 20.
    АКТИВЫ (ПЗ) –GMAIL.COM 1. Логины пользователя(ей) 2. Переписка и др. данные пользователя(ей) 3. Доступность сервиса 4. Аутентичность сервиса 5. Платные функции 6. Репутация производителя 7. Исходные тексты ПП 8. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  • 21.
  • 22.
    АКТИВЫ (ПЗ) –KM.RU, ENCARTA 1. Доступность сервиса 2. Репутация производителя 3. Аутентичность статей 4. Интеллектуальная собственность (графика, тексты статей)
  • 23.
  • 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 & SECURITYTESTING Высокий уровень безопасности ~ низкое usability Аппаратный ключ Высокие требования к качеству пароля Автологин & ввод пароля Webmoney & Яндекс.Деньги
  • 40.
  • 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М
  • 47.
  • 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]
  • 51.
  • 52.
    СПОСОБЫ БОРЬБЫ Профилактика • Обучение • Дизайн приложения • Code review • Input validation • Continues integration checks Тестирование • Черным ящиком • Белым ящиком • Серым ящиком • Fuzzy • Автоматизированные инструменты
  • 53.
    СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  • 54.
  • 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.
    СПОСОБЫ БОРЬБЫ: CODEREVIEW Экспертиза исходных текстов, как метод тестирования безопасности и защищѐнности программных продуктов http://software- testing.ru/library/testing/security/109 http://securitywiki.ru/PraktikaJekspertiza IsxodnyxTekstov?v=oqu
  • 60.
    СПОСОБЫ БОРЬБЫ: CODEREVIEW Patterns && Practices: Code Review http://msdn.microsoft.com/en- us/library/ff648637.aspx
  • 61.
    СПОСОБЫ БОРЬБЫ: CODEREVIEW 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.
    СПОСОБЫ БОРЬБЫ: INPUTVALIDATION Профилактика Обучение Дизайн приложения 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 integrationchecks 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 Автоматизированные инструменты
  • 68.
  • 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
  • 72.