Вопрос

Я разработчик Java, направляющийся по дороге, которая ведет к безопасности приложений, и я наткнулся на организацию OWASP и ее компаньон Java API, ESAPI.

В другом вопросе, который я задал на этом сайте несколько месяцев назад, мне было отмечено, что ESAPI является крупным игроком в индустрии APP SEC с открытым исходным кодом.

Теперь мне интересно, я уверен, что ESAPI перекрывается со встроенной моделью безопасности Java (укоренено на javax.security.auth) в областях аутентификации/авторизации и, возможно, в других областях. Но существуют ли области приложения SEC, которые ESAPI четко обращаются, которые не могут быть достигнуты, если кто -то строго придерживается API безопасности Java?

По сути, я спрашиваю, имеет ли для меня смысл изучать ESAPI, если все его преимущества/функции уже освещены в некоторых существующих Java API. Заранее спасибо!

Это было полезно?

Решение

AFAIK, ESAPI также использует Java API и добавляет обертку, специфичную к угрозам реального мира. Например, WAF (брандмауэр веб -приложения), чтобы достичь этого, используя Java API, вы закончите написать много кода, который был сделан ESAPI и красиво обернутым как API, так что, если вы хотите сделать проверки WAF, вы можете Просто реализуйте его с парой вызовов методов.

Проще говоря, ESAPI-это что-то вроде библиотеки обертки (встроенная Java API), которая снова уменьшает повторную инвентаризацию колеса и помогает противодействовать угрозам безопасности в реальном мире.

Если вы видите это ESAPI API URL, вы можете легко определить, как ESAPI разработал API, чтобы противодействовать каждой возможной угрозе.

Другие советы

Одним из ключевых преимуществ/сила ESAPI являются возможности проверки ввода и выходной сериотизации, которые, как AFAIK, классы безопасности Java в настоящее время не адресованы. ESAPI специально ориентируется на домен безопасности веб -приложений, и именно здесь он превосходит.

У меня есть только мимолетное знакомство с Java и ESAPI, будучи разработчиком .NET. Тем не менее, как бешеный параноидальный разработчик с сильным акцентом на написание безопасного кода (потому что я написал несколько действительно ужасных вещей), это то, на что я смотрел.

На мой взгляд, это абсолютно стоит узнать об этом. Абсолютно возможно написать хороший код без этих пакетов, но использование этих пакетов облегчает написание кода.

На стороне .NET у нас есть нечто подобное, которое я использую - библиотека Microsoft Patterns and Practices. Из того, что я понимаю, Java ESAPI служит аналогичной цели, которая такова:

Он обеспечивает набор легко использовать Методы, которые уже используйте лучшие практики под капюшоном, чтобы вам не пришлось так сильно беспокоиться об этом.

Например (и это всего лишь одна крошечная часть того, что нужно для написания безопасных приложений), используя Ado.net и Java, очень легко написать операторы SQL, претендуя пользовательский ввод в строки (плохо), и это также так же просто в использовании Параметризованные запросы (хорошо). Используя API, выставлены методы, которые используют хорошие закономерности под капюшоном. Легче поднять нового разработчика и убедиться, что вы не получите «неряшливые», позволяя вам писать меньше кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top