OpenSSLはサルによって書かれた
OpenSSLの脆弱性により、OpenSSLを使っているプロセスのどこかの64KBのメモリを何度もガチャ読みし放題というニュースが流れたのは、いまさら言うでもない。この騒動を発端として、OpenSSLのような超重要なソフトウェアが、実は内部的にはいかに悲惨でずさんであるかということを書いた記事が、ネット上に浮上しつつある。
OpenSSL is written by monkeys (2009) | Hacker News
OpenSSLのコードが汚すぎるというお話。
インデントだけでも相当変だ。
"OpenSSL has exploit mitigation countermeasures to make sure it's exploitable" | Hacker News
むかし、OpenSSLのメモリ確保で、バグがあったら意図的にクラッシュさせるチェック用のコードを仕込んでおいたが、メモリ確保が何重にもレイヤー化されるにしたがって、そのチェック用のコードは何の意味もなくなってしまった。しかし、誰もそのチェク用のコードを無効にしてテストしていないので、その無駄なコードが残っているというお話。
コモンズの悲劇にも似ているが、あまりにも公共すぎるソフトウェアは、誰からも関心を払われないということか。
ドワンゴ広告
この記事は溜まっていたC++論文を解説し終えたので、息抜きにささっとドワンゴ勤務中に書いた。
ドワンゴは本物のC++プログラマーを募集しています。
CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0