On Tue, Oct 18, 2011 at 10:34 AM, Gary McGraw <g...@cigital.com> wrote: > On 10/15/11 5:45 PM, "Steven M. Christey" <co...@rcf-smtp.mitre.org> wrote: >> 3) The wording about OWASP ESAPI in SFD2.1 is unclear: "Generic open >> source software security architectures including OWASP ESAPI should >> not be considered secure out of the box." Does Struts, mentioned >> earlier in the paragraph, also fall under the category of "not >> secure out of the box?" Are you saying that developers must be >> careful in adopting security middleware? > > Of course struts is not secure out of the box, which is the whole point of > the activity. The major difference between struts as insecure and ESAPI > as insecure is that ESAPI claims to be a secure solution, though it is > often not. One might argue that it is worse to claim to be secure and not > to be than to ignore the whole thing, but that's not really worth > pursuing. For more regarding Cigital's view on ESAPI, see > http://www.cigital.com/justiceleague/2011/09/24/suggestions-for-esapi-2-1-a > nd-beyond/
Gary, While I wholeheartedly agree with John Steven's championing that ESAPI be made enterprise ready, I think your characterization of John's blog entry of having anything to do with ESAPI "not being secure out of the box" is simply unfair. I did not see that listed as one of John's concerns about ESAPI. The closest way that one could make that association is that for most of ESAPI's security components there are no high level user stories / use cases to provide overall guidance on each component. And while that conceivably could cause security issues, I don't really see inadequate documentation as being the same thing as a being "insecure by default". While I think one could make the argument that ESAPI 1.4 was insecure by default (at least in the case of its symmetric encryption), I think that is an unfair assessment of the ESAPI 2.0 GA release. In fact, in some cases, we deliberately sacrificed backward compatibility (one of John's "enterprise readiness" criterion) with the 1.4 release compatibility because the development team's preference to choose security over backward compatibility. (Which is something that I believe is the right decision for security APIs.) This is not to say that the security in ESAPI 2.0 is perfect. In fact, the configuration issus is one of my nits to pick with ESAPI. Not only is it overly complex, but it does not allow an enterprise's operations team to lock down ESAPI properties in accordance with company security policies. But IMNSHO, I think that it does a far better job being secure-by-default than does Struts, which is the other API that you explicitly mention. Best regards, -kevin -- Blog: http://off-the-wall-security.blogspot.com/ "The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We *cause* accidents." -- Nathaniel Borenstein _______________________________________________ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com) as a free, non-commercial service to the software security community. Follow KRvW Associates on Twitter at: http://twitter.com/KRvW_Associates _______________________________________________