[SystemSafety] OpenSSL Bug
David MENTRÉ
dmentre at linux-france.org
Fri Apr 11 21:59:13 CEST 2014
Hello,
2014-04-11 18:07, Patrick Graydon:
> But some basic analyses, coding precautions, and testing of forms
> that were standard for other critical software decades ago doesn’t
> strike me as particularly unreasonable considering the massive
> potential for damage.
Except that safety critical software are designed for such analyses and
testing, with the minimal set of needed functions in mind, coding made
to make review and testing easier, etc.
Software like openSSL are not developed with this mind set, they have a
lot of functions, some to answer new usages like this heartbeat feature
or even marginal uses. This is precisely because they have so many
features that they are preferred over others similar software like
PolarSSL. In other words, functionality prevails over other criteria
like correctness or security (to a certain extent, of course).
> In short, this was a predictable threat and a known form of attack
> and could have been prevented with techniques that were clearly
> warranted given what was known about risk. There is zero excuse for
> not employing those techniques.
Yes, one could criticize the OpenSSL developers for not using preventive
design and coding approach that would avoid catastrophic consequences,
when such an expected issue occurs.
But one could also criticize Apple or Google, which do have a lot of
money, to blindly use such library that are not properly designed. They
have the money, they have the choice to use the software or not, why are
they acting like this?
Like others have said on this list, those companies only care about ROI
and money returned to owners and shareholders. They don't care at all
about security[1] and safety, and such issues are going to occur over
and over until states and laws force them not to do so.
And even if such companies are willing to take those issues seriously,
making a complete assessment (with aeronautics or railway meaning) of
complex software like OpenSSL is a major engineering task that nobody
has even considered.
Additional comments regarding this thread:
* I am among those that think that using a language like C that does
no do basic bound checking on arrays (or forcing measures to check such
accesses) is a major fault;
* Some companies are proposing services to guarantee that an
open-source library is immune to certain kind of defaults (in a
restricted set of configurations) for software integrator, e.g.
http://trust-in-soft.com/no-more-heartbleed/
Sincerely yours,
david
[1] I am not fair to Google in the heartblead case: the issue was
independently identified by one of Google security researcher. But it
took more that two years (December 2011 to April 2014) to find it.
More information about the systemsafety
mailing list