<div dir="ltr">I think they point that you are missing is the whole problem that people have with this project is the conflict of interest.<div><br></div><div>Even if the findings were accurate, the vendor involved hasn't been playing fair.</div><div><br></div><div>There is allot of corruption going on in OWASP in my opinion and we should stop it dead in its tracks.</div><div><br></div><div>"<span style="font-size:12.8px"> </span><span style="font-size:12.8px">In the end, this will be damaging to either</span></div><span style="font-size:12.8px">OWASP's overall reputation or at the very least, the reputation of the</span><br style="font-size:12.8px"><span style="font-size:12.8px">OWASP Benchmark Project, both of which I think most of us agreed is</span><br style="font-size:12.8px"><span style="font-size:12.8px">bad for the appsec community in general."</span><div><span style="font-size:12.8px">People who are just in appsec for the money are bad for the AppSec community and for OWASP, they should rather turn towards making money as blackhats as there is much more money to make in that profession. <br></span><div><br></div><div>Regards.</div><div>Timo</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 29, 2015 at 1:39 AM, Kevin W. Wall <span dir="ltr"><<a href="mailto:kevin.w.wall@gmail.com" target="_blank">kevin.w.wall@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Until very recently, I've been following at a distance this dispute between<br>
various OWASP members and Contrast Security over the latter's advertising<br>
references to the OWASP Benchmark Project<br>
While I too believe that mistakes were made, I believe that we all need to<br>
take a step back and not throw out the baby with the bath water.<br>
While unlike Johanna, I have not executed the OWASP Benchmark Project for<br>
any given SAST or DAST tool, having used many such commercial tools, I feel<br>
qualified to render a reasoned opinion of the OWASP Benchmark Project, and<br>
perhaps some steps that we can take towards amicable resolution.<br>
Let me start with the OWASP Benchmark Project. I find the idea of having an<br>
extensive baseline of tests against we can gauge the effectiveness of SAST<br>
and DAST software quite sound. In a way, these tests are analogous to unit<br>
tests that we, as developers, use to find bugs in our code and help us<br>
improve it, where here the discovered false positives and false negatives<br>
being revealed are being used as the PASS / FAIL criteria for the tests. Just<br>
as in unit testing, where the ideal is to have extensive tests to broaden one's<br>
"test coverage" of the software under test, the Benchmark Project strives<br>
to have a broad set of tests to assist in revealing deficiencies (with<br>
the goal of removing these "defects") in various SAST and DAST tools.<br>
This is all well and good, and I whole-heartedly applaud this effort.<br>
However, I see several ways that this Benchmark Project fails. For one,<br>
we have no way to measure the "test coverage" of the vulnerabilities that<br>
the Benchmark Project claims to measure. There are (by figures that I've<br>
seen claimed) something like 21,000 different test cases. How do we, as AppSec<br>
people, know if these 21k 'tests' provide "even" test coverage? For<br>
instance, it is not unreasonable to think that they may be heavy coverage<br>
on tests that are easy to create (e.g., SQLi, buffer overflows, XSS) and<br>
a much lesser emphasis on "test cases" for things like cryptographic<br>
weaknesses. (This would not be surprising in the least, since the coverage<br>
of every SAST and DAST tool that I've ever used seems to excel in some<br>
areas and absolutely suck in others.)<br>
Another way that the Benchmark Project is lacking is one that is admitted<br>
on the Benchmark Project wiki page under the "Benchmark Validity" section:<br>
    The Benchmark tests are not exactly like real applications. The<br>
    tests are derived from coding patterns observed in real<br>
    applications, but the majority of them are considerably *simpler*<br>
    than real applications. That is, most real world applications will<br>
    be considerably harder to successfully analyse than the OWASP<br>
    Benchmark Test Suite. Although the tests are based on real code,<br>
    it is possible that some tests may have coding patterns that don't<br>
    occur frequently in real code.<br>
A lot of tools are great at detecting data and control flows that are simple,<br>
but fail completely when facing "real code" that uses complex MVC frameworks<br>
like Spring Framework or Apache Struts. The bottom line is that we need<br>
realistic tests. While we can be fairly certain that if a SAST or DAST tool<br>
misses the low bar of one of the existing Benchmark Project test cases, if<br>
they are able to _pass_ those tests, it still says *absolutely nothing* about<br>
their ability to detect vulnerabilities in real world code where the code<br>
is often orders of magnitude more complex. (And I would argue that this is<br>
one reason we see the false positive rate so high for SAST and DAST tools;<br>
rather than err on the side of false negatives, they flag "issues" that<br>
they are generally unreliable and then rely on appsec analysts to discern which<br>
are real and which are red herrings. This is still easier than if they<br>
appsec engineers had to hunt down these potential issues manually and then<br>
analyze them, so it is not entirely inappropriate. As long as the tool<br>
provides some sort of "confidence" indicator for the various issues that it<br>
finds, an analyst can easily decide whether they are worth spending effort on<br>
further investigation.)<br>
This brings me to what I see as the third major area of where the Benchmark<br>
Project is lacking. In striving to be simple, it attempts to distill all the<br>
findings into a single metric. The nicest thing I can think of saying about<br>
this is that it is woefully naive and misguided. I think where it is misguided<br>
is that it assumes that every IT organization in every company weights<br>
everything equally. For instance, false positives and false negatives are both<br>
_equally_ bad. However, in reality, most organizations that I've been involved<br>
in AppSec would highly prefer false positives over false negatives. Likewise,<br>
all categories (e.g., buffer overflows, heap corruption, SQLi, XSS, CSRF,<br>
etc.) are all weighted equally. Every appsec engineer knows that this is<br>
generally unrealistic; indeed it is _one_ reason that we have different risk<br>
ratings for different findings. Also, if a company writes all of their<br>
applications in "safe" programming languages like C# or Java, then categories<br>
like buffer overflows or heap corruption completely disappear. What that means<br>
is that those companies don't care at all whether or not a given SAST or DAST<br>
tool can find those categories of vulnerabilities or not because they are<br>
completely irrelevant for them. However, because there is no way to customize<br>
the weighting of Benchmark Project findings when run for a given tool,<br>
everything is attempted to be shoe-horned into a single magical figure. The<br>
result is that that magical Benchmark Project figure becomes almost<br>
meaningless. At best, it's meaning is very subjective and not at all as<br>
objective as Contrast's advertising is attempting to lead people to believe.<br>
I believe that the general reaction to all of this has been negative, at<br>
least based on the comments that I've read not only in the OWASP mailing<br>
lists, but also on Twitter. In the end, this will be damaging to either<br>
OWASP's overall reputation or at the very least, the reputation of the<br>
OWASP Benchmark Project, both of which I think most of us agreed is<br>
bad for the appsec community in general.<br>
Therefore, I have a simple proposal towards resolution. I would appeal to<br>
the OWASP project leaders to appeal to the OWASP Board to simply mark the<br>
OWASP Benchmark Project Wiki page (and ideally, its GitHub site) as noting<br>
that the findings are being disputed. For the wiki page, we could do this<br>
in a manner that Wikipedia marks disputes, using a Template:Disputed tag<br>
(see <a href="https://en.wikipedia.org/wiki/Template:Disputed_tag" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Template:Disputed_tag</a>) or their<br>
"Accurracy Disputes" (for example, see<br>
<a href="https://en.wikipedia.org/wiki/Wikipedia:Accuracy_dispute" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Wikipedia:Accuracy_dispute</a><br>
and <a href="https://en.wikipedia.org/wiki/Category:Accuracy_disputes" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Category:Accuracy_disputes</a>)<br>
At a mininum, we should have this tag result in rendering something like:<br>
    "The use and accuracy of this page is currently being disputed.<br>
    OWASP does not support any vendor endorsing any of their<br>
    software according to the scores resulting in execution of<br>
    the OWASP Benchmark."<br>
that the OWASP Board should apply (so that no one is permitted to<br>
remove it without proper authorization).<br>
I will leave the exact wording up to the board. But just like disputed<br>
pages on Wikipedia, OWASP must take action on this or I think they are<br>
likely to have credibility issues in the future.<br>
Thank you for listening,<br>
-kevin wall<br>
<span class="HOEnZb"><font color="#888888">--<br>
Blog: <a href="http://off-the-wall-security.blogspot.com/" rel="noreferrer" target="_blank">http://off-the-wall-security.blogspot.com/</a><br>
NSA: All your crypto bit are belong to us.<br>
Owasp-board mailing list<br>
<a href="mailto:Owasp-board@lists.owasp.org">Owasp-board@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-board" rel="noreferrer" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-board</a><br>