LibreSSL
[Wikipedia|▼Menu]

LibreSSL開発元The OpenBSD Project

最新版3.9.2[1]  - 12 5月 2024 [±]
リポジトリ

github.com/libressl-portable/portable.git

プログラミング
言語C言語アセンブリ言語
対応OSOpenBSD, FreeBSD, NetBSD, Linux, HP-UX, Solaris, macOS, Microsoft Windows
種別ライブラリ
ライセンスApache License 1.0、4条項BSDライセンス, ISCライセンスパブリックドメイン
公式サイトwww.libressl.org
テンプレートを表示

LibreSSLは、TLS/SSLプロトコルのオープンソースによる実装である。TLSの実装にOpenSSLを利用していたOpenBSDの開発者が、2014年4月に明らかとなったOpenSSLのハートブリード脆弱性を受けて独自にフォークしたものである[2][3][4][5][6]。OpenSSLのコードを見直し、よりセキュアな実装とすることを目的としている[7]

LibreSSLはOpenSSL 1.0.1ブランチからフォークしたものであり、OpenBSDプロジェクトの標準TLSライブラリとして利用されている[8]
歴史

OpenSSLのハートブリード脆弱性が明らかとなった後、OpenBSDプロジェクトではOpenSSLのソースコードの監査を新たに行った。その結果、OpenSSLをフォークし、OpenBSDプロジェクト自身によって管理する必要があると判断した[2]。libressl.orgドメインの取得は2014年4月11日、プロジェクト名の発表は同月22日であった。

コードの見直しの最初の一週間で、C言語によるコードのうち90,000行以上が削減された[7][9]。削減されたのは、古く使われていないコードや、古かったり現在となってはほとんど使われていないシステムのサポートのためのコードである。当初LibreSSLはOpenBSD 5.6においてOpenSSLを置き換えることを目的としていたが、安定版を他のプラットフォーム向けにもバックポートして公開することとした[10][11]。2014年4月現在、LibreSSLプロジェクトでは外部からの継続的な経済的な支援を求めている[9]

6月5日、いくつかのOpenSSLのバグが公開された。いくつかのプロジェクトにはあらかじめバグの詳細が伝えられていた[12]が、LibreSSLには伝えられていなかった。OpenBSDプロジェクトのテオ・デ・ラートは、OpenSSLの開発者がこの情報を意図的にOpenBSDおよびLibreSSLプロジェクトに伝えなかったとして非難している[13]

6月20日、GoogleによってOpenSSLの新たなフォークとしてBoringSSLが発表された。Googleは、バグ修正に関する情報をLibreSSLと相互にやり取りすることを表明している[14][15]ほか、LibreSSL側の要請に応じてGoogle自身によるコミットを従来のライセンスだけでなくISCライセンスで再ライセンスしている[14][16]。6月21日、テオ・デ・ラートはBoringSSLを歓迎する旨を表明し、他プラットフォーム向けのLibreSSL Portableの概要を発表した[17]。6月20日にはLinux向けの、7月8日にはOS XおよびSolaris向けのポートの準備が開始された[18][19]

7月11日、ポータブル版のLibreSSL 2.0.0が公開された[20][21]。また、2.1.4以降はWindowsにも対応している[22]macOS High Sierra以降、現行macOS VenturaではOpenSSLに代えLibreSSLが標準インストールされている[23]
OpenSSLからの変更点
メモリ関係

LibreSSLでは、メモリ呼び出しがOpenSSLで用いられていた独自のものから標準ライブラリによるもの( strlcpycalloc、asprintf、reallocarray など)に変更されている[24][25]。これにより、詳細なメモリデバッガを用いたり、ASLRNXビットスタックカナリアによってプログラムのクラッシュを観察することでバッファオーバーフローを検出することが可能となる。

CVSログからは、潜在的な二重解放の可能性が修正されていることもわかる[26]
積極的な対策

潜在的な問題を早期に修正できるよう、安全のために設計されたコンパイルオプションやフラグ (-Wall, -Werror, -Wextra, -Wuninitialized) が既定で有効化されている。コードの可読性の向上(Kernel Normal Form、スペースによる整形、改行)や不要なラッパーやマクロの除去により、プログラムの正当性の検証やセキュリティ監査が容易となっている。

2038年問題にも対応済みである。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:41 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef