Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Security Testing - Polazhenko Sergey

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
пр 03.JSOC inside
пр 03.JSOC inside
Wird geladen in …3
×

Hier ansehen

1 von 72 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Security Testing - Polazhenko Sergey (20)

Anzeige

Weitere von QA Club Minsk (16)

Anzeige

Security Testing - Polazhenko Sergey

  1. 1. ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ Полаженко Сергей, ООО «Лаборатория тестирования» polazhenko@sqalab.ru
  2. 2. ЧТО ТАКОЕ БЕЗОПАСНОСТЬ ПРОГРАММНОГО ПРОДУКТА (ПП)? ISO/IEC 9126 «Software engineering – Product quality» Безопасность ПП - (safety) – способность ПП достигать приемлемого уровня риска для здоровья людей, их бизнеса, ПО, имущества или окружающей среды при данном способе (контексте) применения.
  3. 3. ЧТО ТАКОЕ ЗАЩИЩЁННОСТЬ ПП? ISO/IEC 9126 «Software engineering – Product quality» Защищѐнность ПП - (security) – способность ПП защищать информацию и данные так, чтобы неавторизованные субъекты или процессы не смогли читать или модифицировать (удалять) их, а авторизованным пользователям и процессам не было отказано в доступе к ним. Требование также относится и к данным, которые находятся в процессе пересылки.
  4. 4. ЧТО ТАКОЕ ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ И ЗАЩИЩЁННОСТИ (ТБЗ) ПП? Метод оценки КАЧЕСТВА и ПОЛНОТЫ реализации требований по БЕЗОПАСНОСТИ и ЗАЩИЩЁННОСТИ ПП
  5. 5. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation» • Внешние атрибуты качества ПО • Внутренние атрибуты качества ПО • Качество в использовании
  6. 6. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation»
  7. 7. СТРУКТУРА КАЧЕСТВА ПП ISO/IEC 9126 «Software engineering – Product quality» ISO/ IEC 14598 «Software engineering — Product evaluation» Защищѐнность – характеристика функциональной пригодности (внутреннее и внешнее качество) Безопасность– характеристика качества в использовании
  8. 8. ОТЛИЧИЕ ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ ОТ ТБЗ НЕ ДОЛЖНА существовать Доступ к страницам сайта возможность получить доступ к должен осуществляться ТОЛЬКО страницам сайта НЕ авторизованными АВТОРИЗОВАННЫМИ пользователями сайт пользователями сайт
  9. 9. СХОДСТВО ТБЗ И НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ Качественная характеристика Интегральный характер НО! Нагрузочное касается основного функционала ТБЗ более системно! ТБЗ часто имеет неявные требования
  10. 10. ПРИМЕР НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ Сервис должен выдерживать ответ за 10 и менее секунд при нагрузке до 1000 одновременно работающих пользователей. Пользователи работают в рамках определѐнного WORKFLOW!
  11. 11. ПРИМЕР ТБЗ Пользователь можно атаковать: 1. Через страницы сайта 2. Через адресную строку браузера (sql, xss injections, …) 3. Перехватывать и модифицировать трафик между клиентом и сервером 4. Подменять внешние сервисы, на которые ссылается наш сайт 5. …
  12. 12. ОСНОВНАЯ ПРОБЛЕМА БЕЗОПАСНОСТИ
  13. 13. ЗАИНТЕРЕСОВАННЫЕ ЛИЦА Кто приобретает или теряет деньги?
  14. 14. АКТИВЫ Что и сколько стоит денег?
  15. 15. АКТИВЫ (ПЗ) - NOTEPAD
  16. 16. АКТИВЫ (ПЗ) - NOTEPAD Данные пользователя
  17. 17. АКТИВЫ (ПЗ) – MS WORD
  18. 18. АКТИВЫ (ПЗ) – MS WORD 1. Данные пользователя 2. Активация продукта 3. Репутация производителя 4. Исходные тексты ПП 5. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  19. 19. АКТИВЫ (ПЗ) – GMAIL.COM
  20. 20. АКТИВЫ (ПЗ) – GMAIL.COM 1. Логины пользователя(ей) 2. Переписка и др. данные пользователя(ей) 3. Доступность сервиса 4. Аутентичность сервиса 5. Платные функции 6. Репутация производителя 7. Исходные тексты ПП 8. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  21. 21. АКТИВЫ (ПЗ) – KM.RU, ENCARTA
  22. 22. АКТИВЫ (ПЗ) – KM.RU, ENCARTA 1. Доступность сервиса 2. Репутация производителя 3. Аутентичность статей 4. Интеллектуальная собственность (графика, тексты статей)
  23. 23. АКТИВЫ (ПЗ) – WIKIPEDIA
  24. 24. АКТИВЫ (ПЗ) – WIKIPEDIA 1. Доступность сервиса 2. Аутентичность статей 3. Аутентичность сервиса
  25. 25. АКТИВЫ (ПЗ) – ONLINE POKER (HTML5)
  26. 26. АКТИВЫ (ПЗ) – ONLINE POKER (HTML5) 1. Логины пользователя(ей) 2. Данные пользователей 3. Доступность сервиса 4. Аутентичность сервиса 5. Платные функции 6. Репутация производителя 7. Исходные тексты ПП 8. Интеллектуальная собственность (алгоритмы, дизайн и т.п.)
  27. 27. УЩЕРБ Материальные и нематериальные потери в свези с действиями злоумышленника
  28. 28. УЯЗВИМОСТЬ Недостаток системы защиты, могущий привести к тому или иному ущербу Открытое окно
  29. 29. РИСК Вариант реализации уязвимости Злоумышленник влезет в «открытое окно»
  30. 30. БЕЗОПАСНОСТЬ ДАННЫХ И СЕРВИСОВ! Целостность Доступность Конфиденциальность (Аутентичность)
  31. 31. УГРОЗА ГОСТ Р 51897–2002 «Менеджмент риска. Термины и определения» потенциальная причина нежелательного инцидента, который может приводить к нанесению вреда системе или организации. Кража данных (нарушение конфиденциальность данных)
  32. 32. УРОВНИ БЕЗОПАСНОСТИ 1. Нормативно-правовой 2. Организационный 3. Технический 4. Физический
  33. 33. АБСОЛЮТНАЯ ЗАЩИЩЁННОСТЬ 1. Не возможна 2. Безопасность программных систем не может быть обеспечена программными средствами
  34. 34. МОДЕЛЬ ЗЛОУМЫШЛЕННИКА 1. Внешний пользователь 2. Внутренний пользователь 3. Сотрудники компании- разработчика
  35. 35. КАТЕГОРИИ СЕКРЕТНОСТИ ДАННЫХ 1. Публичная информация 2. Служебная информация 3. Служебная тайна 4. Государственная тайна
  36. 36. УРОВНИ ТЕСТИРОВАНИЯ ISO/IEC 15408 ―Common criteria‖ EAL1 … EAL7 EAL1 (функциональное тестирование) … EAL7 (формальная верификация проекта и тестирование)
  37. 37. МОДЕЛЬ ЗЛОУМЫШЛЕННИКА (ВНЕШНИЕ ПОЛЬЗОВАТЕЛИ) 1. Неквалифицированный пользователь 2. Квалифицированный пользователь 3. Высококвалифицированный хакер 4. Преступная группировка 5. Спецслужбы
  38. 38. ТЕСТИРОВАНИЕ 1. Теоретическая задача - протестировать весь функционал (все классы эквивалентности) 2. Практическая (экономическая) задача – в заданные сроки, при имеющихся ресурсах обеспечить должное качество
  39. 39. USABILITY & SECURITY TESTING Высокий уровень безопасности ~ низкое usability Аппаратный ключ Высокие требования к качеству пароля Автологин & ввод пароля Webmoney & Яндекс.Деньги
  40. 40. MARKETING & SECURITY
  41. 41. MARKETING & SECURITY Microsoft выпускает на массовом рынке: • Альфа-версии продуктов • Бета-версии продуктов • Релизы Сначала захват рынка, а потом усиление безопасности
  42. 42. MARKETING & SECURITY MS Office 2010: • Стоимость разработки 10М$ • Стоимость единицы 10$ • Число продаж 1M • Число инсталляций 5М
  43. 43. MARKETING & SECURITY MS Office 2012а: • Стоимость защиты 100К • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +20% новых • Инсталляций в мире: 7М • 3М + 15М = 18М
  44. 44. MARKETING & SECURITY MS Office 2012b + аппаратные ключи: • Стоимость защиты 1М • Стоимость единицы 15$ • Стоимость upgrade 5$ • 50% старых пользователей • +20% новых • Инсталляций в мире – 5,5М • 2,5М + 15М = 17,5М
  45. 45. MARKETING & SECURITY MS Office 2012с: • Стоимость защиты 10К • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +30% новых • Инсталляций в мире – 8М • 3М + 30М = 33М
  46. 46. MARKETING & SECURITY MS Office 360: • Стоимость разработки 50М • Стоимость единицы 15$ • Стоимость upgrade 5$ • 60% старых пользователей • +60% новых • Инсталляций в мире – 1,2М • 3М + 60М = 63М
  47. 47. КАК БОРОТЬСЯ?
  48. 48. ЖИЗНЕННЫЙ ЦИКЛ ТБЗ ЭТАПЫ ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ
  49. 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. 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. 51. ДЕРЕВЬЯ АТАК
  52. 52. СПОСОБЫ БОРЬБЫ Профилактика • Обучение • Дизайн приложения • Code review • Input validation • Continues integration checks Тестирование • Черным ящиком • Белым ящиком • Серым ящиком • Fuzzy • Автоматизированные инструменты
  53. 53. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  54. 54. СПОСОБЫ БОРЬБЫ: ОБУЧЕНИЕ
  55. 55. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  56. 56. СПОСОБЫ БОРЬБЫ: ДИЗАЙН ПРИЛОЖЕНИЯ • Guidelines • Check lists • Best practices
  57. 57. СПОСОБЫ БОРЬБЫ: ДИЗАЙН ПРИЛОЖЕНИЯ не хранить секреты в открытом виде принцип минимальных привилегий использовать параметрезированные запросы использовать хранимые процедуры сообщения об ошибках не должны содержать служебной информации
  58. 58. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  59. 59. СПОСОБЫ БОРЬБЫ: CODE REVIEW Экспертиза исходных текстов, как метод тестирования безопасности и защищѐнности программных продуктов http://software- testing.ru/library/testing/security/109 http://securitywiki.ru/PraktikaJekspertiza IsxodnyxTekstov?v=oqu
  60. 60. СПОСОБЫ БОРЬБЫ: CODE REVIEW Patterns && Practices: Code Review http://msdn.microsoft.com/en- us/library/ff648637.aspx
  61. 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. 62. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  63. 63. СПОСОБЫ БОРЬБЫ: INPUT VALIDATION Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Проверяйте входные Fuzzy Автоматизированные инструменты
  64. 64. Портрет типичного пользователя СПОСОБЫ БОРЬБЫ: INPUT VALIDATION Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты Dr. User Evil
  65. 65. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  66. 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. 67. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  68. 68. ТЕСТИРОВАНИЕ: МЕТОД «ЧЕРНОГО ЯЩИКА»
  69. 69. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  70. 70. СПОСОБЫ БОРЬБЫ Профилактика Обучение Дизайн приложения Code review Input validation Continues integration checks Тестирование Черным ящиком Белым ящиком Серым ящиком Fuzzy Автоматизированные инструменты
  71. 71. СПОСОБЫ БОРЬБЫ http://sqlmap.sourceforge. net/ http://www.owasp.org/inde x.php/Category:OWASP_S QLiX_Project Scrawlr (HP) absinthe
  72. 72. КОНТАКТЫ polazhenko@sqalab.ru www.securitywiki.ru Polazhenko.moikrug.ru

×