ApacheConNA: On Security #
During the security talk at Apache Con a topic commonly glossed over by
developers was covered in quite some
detail: With software being developed that
is being deployed rather widely online (over 50% of all websites are
powered
by the Apache webserver) natually security issues are of large concern.
Currently there are
eight trustworthy people on the foundation-wide security
response team, subscribed to security@apache.org. The team
was started by
William A. Rowe when he found a volnarability in httpd. The general work mode -
as opposed to the
otherwise ``all things open'' way of doing things at Apache -
is to keep the issues found private until fixed and
publicise widely
afterwards.
So when running Apache software on your servers - how do you learn
about
security issues? There is no such thing as a priority list for specific
vendors. The only way to get an
inside scoop is to join the respective
project's PMC list - that is to get active yourself.
So what is
being found? 90% of all security issues are found be security
researches. The remaining 10% are usually published
accidentially - e.g. by
users submitting the issue through the regular public bug tracker of the
respective
project.
In Tomcat currently no issues was disclosed w/o letting the project know. httpd
still is the
prime target - even of security researchers who are in favour of
a full disclosure policy - the PMC cannot do a lot
here other than fix issues
quickly (usually within 24 hours).
As a general rule of thumb: Keep your
average release cycle time in mind - how
long will it take to get fixes into people's hands? Communicate
transparently
which version will get security fixes - and which won't.
As for static analysis tools -
many of those are written for web apps and as
such not very helpful for a container. What is highly dangerous in a
web app
may just be the thing the container has to do to provide features to web apps.
As for Tomcat, they have
made good experiences with Findbugs - most others have
too many false positives.
When dealing with a
volnarability yourself, try to get guidance from the
security team on what is actually a security volnarability -
though the final
decision is with the project.
Dealing with the tradeoff of working in private vs.
exposing users affected by
the volnarability to attacks is up to the PMC. Some work in public but call the
actual
fix a refactoring or cleanup. Given enough coding skills on the attacker
side this of course will not help too much
as sort of reverse engineering what
is being fixed by the patches is still possible. On the other hand
doing
everything in private on a separate branch isn't public development anymore.
After this general
introduction Mark gave a good overview of the good, the bad
and the ugly way of handling security issues in Tomcat.
For his slides
(including an anecdote of what according to the timing and topic looks like it
was highly related
to the 2011 Java Hash Collision talk at Chaos Communication
Congress).