Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Сергей Полаженко - Security Testing: SQL Injection

2,634 views

Published on

Доклад на SQA Days-9, Казань, 22-23 апреля 2011

Published in: Education, Technology
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/OtQyr ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Сергей Полаженко - Security Testing: SQL Injection

  1. 1. Security Testing: SQL Injection Сергей Полаженко, SQALab
  2. 2. Тестирование безопасности
  3. 3. Этапы тестирования безопасности
  4. 4. Уровни тестирования безопасности• Нормативно-правовой• Организационный• Технический• Физический
  5. 5. Основная проблема безопасности
  6. 6. Что такое SQL Injection
  7. 7. Что такое SQL Injection? (1/2)
  8. 8. Что такое SQL Injection? (2/2)
  9. 9. Почему SQL Injection (1/3) SQL Positive Technologies, 2009
  10. 10. Почему SQL Injection (2/3)SQL Positive Technologies, 2009
  11. 11. Почему SQL Injection (3/3)
  12. 12. Не обязательно web!
  13. 13. Как бороться?
  14. 14. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  15. 15. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  16. 16. Способы борьбы: обучение
  17. 17. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  18. 18. Способы борьбы: дизайн приложения• не хранить секреты в открытом виде• принцип минимальных привилегий• использовать параметрезированные запросы• использовать хранимые процедуры• сообщения об ошибках не должны содержать служебной информации
  19. 19. Способы борьбы: Фильтры данных
  20. 20. Способы борьбы: Application Firewall
  21. 21. Способы борьбы: Application Firewall•
  22. 22. Способы борьбы: Application Firewall• www.owasp.org/index.php/Web_Application_Firewall• Open Source: – AQTronix - WebKnight – Trustwave SpiderLabs - ModSecurity
  23. 23. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  24. 24. Способы борьбы: code review• Экспертиза исходных текстов, как метод тестирования безопасности и защищённости программных продуктов• http://software-testing.ru/library/testing/security/109• http://securitywiki.ru/PraktikaJekspertizaIsxodnyxTekstov ?v=oqu
  25. 25. Способы борьбы: code review• Patterns && Practices: Code Review• http://msdn.microsoft.com/en-us/library/ff648637.aspx
  26. 26. Способы борьбы: code review• Проверка входных данных• Не использовать динамический sql (использовать хранимые процедуры и параметризированные запросы)• Минимальные привилегии• Секретные данные (поток данных)
  27. 27. Способы борьбы: code review• Java EE – использовать PreparedStatement()• .NET – использовать параметризованные запросы при помощи SqlCommand() or OleDbCommand()• PHP – использовать PDO с строго типизированными парамтризованными запросами (использование bindParam())• SQLite – использовать sqlite3_prepare()• и т.п.• https://www.owasp.org/index.php/SQL_Injection_Prevent ion_Cheat_Sheet
  28. 28. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  29. 29. Способы борьбы: input validation• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты Проверяйте входные
  30. 30. Способы борьбы: input validationПортрет типичногопользователя • Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks • Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты Dr. User Evil
  31. 31. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  32. 32. Способы борьбы: 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)
  33. 33. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  34. 34. Тестирование: метод «черного ящика»
  35. 35. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  36. 36. Способы борьбы• Профилактика – Обучение – Дизайн приложения – Code review – Input validation – Continues integration checks• Тестирование – Черным ящиком – Белым ящиком – Серым ящиком – Fuzzy – Автоматизированные инструменты
  37. 37. Способы борьбы• http://sqlmap.sourceforge.net/• http://www.owasp.org/index.php/Cate gory:OWASP_SQLiX_Project• Scrawlr (HP)• absinthe
  38. 38. Чтиво• http://www.ptsecurity.ru/download/PT- devteev-Advanced-SQL-Injection.pdf• https://www.owasp.org/index.php/SQ L_Injection_Prevention_Cheat_Sheet• http://msdn.microsoft.com/en- us/library/ff648637.aspx
  39. 39. Контакты• polazhenko@gmail.com• www.securitywiki.ru• Polazhenko.moikrug.ru

×