Security Runtime Engine VS AntiXSS Library - PullRequest
3 голосов
/ 18 февраля 2011

Я вижу, что библиотека веб-защиты (WPL) поставляется с 2 различными вариантами:

  • Security Runtime Engine (SRE)
  • Библиотека AntiXSS

Первый кажется отличным, так как код не нужен, это HTTPModule. Второй требует, чтобы вручную добавить экранирующую логику в коде.

Несмотря на это преимущество, которое я упомянул, SRE не очень популярен, и мне интересно, почему. Есть какая-то известная проблема с этой библиотекой или какое-то большое преимущество использования AntiXSS, которого я не вижу?

Спасибо!

1 Ответ

6 голосов
/ 18 февраля 2011

Самый большой недостаток, который я вижу в SRE, заключается в том, что мне кажется, что он зависит от поведения в «черном списке». Например, он пытается обнаружить операторы SQL, чтобы обеспечить защиту от SQL-инъекций. Черный список слаб, просто из-за того, что вам нужно знать все потенциально опасные данные, чтобы обеспечить 100% защиту.

http://www.owasp.org/index.php/Data_Validation#Data_Validation_Strategies

Это не значит, что я не вижу никакой ценности в SRE. Я думаю, что это выглядит как хороший инструмент в вашем арсенале, но это было бы чем-то, что можно было бы считать дополнительным слоем защиты.

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

Другими словами, это выглядит как хороший инструмент для использования, но не за счет принятия мер предосторожности самостоятельно. И программисты, которые уже знают, как защищаться от обычных веб-атак, обычно достаточно умны, чтобы знать, что они не полагаются исключительно на инструмент. Они также, вероятно, уже защищаются от кодирования, и если вы уже защищаетесь от SQL-инъекций, добавление модуля, который делает то же самое, кажется излишним. Рискну предположить, что в этом причина отсутствия популярности.

Еще одно замечание: функциональность, предоставляемая этим, аналогична функциональности, которую вы найдете в хорошем брандмауэре веб-приложений (WAF). Это подвержено тем же основным фундаментальным недостаткам. Это хорошая статья о том, почему WAF недостаточно, и это также объясняет, почему SRE недостаточно, и почему мы не можем на это полагаться.

http://www.acunetix.com/blog/news/implementing-a-web-application-firewall-only-is-not-enough-to-secure-web-applications/

...