BSD界隈四方山話

第66回FreeBSD Update絡みのセキュリティ脆弱性を巡る情報について

HardenedBSDからの指摘

HardenedBSDの開発者らから、FreeBSDのバイナリアップデート機構およびこれを実現するソフトウェア(freebsd-update(8)、portsnap)8)、libarchive(3)、bsdpatch(1))にセキュリティ脆弱性が存在するという指摘が3ヵ月ほど前に公開されました。セキュリティ脆弱性の詳しい説明と、これを回避するためのパッチはGitHubに公開されています。ここを読めばどういったセキュリティ脆弱性であるかが把握できます。

こうしたHardendBSDの開発者らの指摘およびこれに対するFreeBSDプロジェクトの取り組みの様子が次のページにまとまっています。

簡単にまとめると、FreeBSDセキュリティチームとしては問題を把握しており解決に向けた取り組みを進めているが、抜本的に解決するには至っていないため、とりあえず該当するセキュリティ脆弱性を修正するパッチ部分のみをリリースした。ほかの部分も含めてより包括的な解決へ向けた取り組みは現在続けており、互換性対応も含めて今後対策したものを公開する予定、ということになります。

これまでの動きと今後の対応

[FreeBSD-Announce] FreeBSD Core statement on recent freebsd-update and related vulnerabilitiesに質疑応答の形で取り組みの内容が説明されています。その部分の説明を簡単にまとめると次のようになります。

  1. freebsd-update(8)およびportsnap(8)にセキュリティ脆弱性が存在していることは指摘したとおりなのですが、セキュリティチームからコミュニティに対して通知を行っていないのはなぜですか? → 基本的にFreeBSDセキュリティオフィサーは問題を修正するパッチをリリースしていない段階ではアナウンスを行わないというルールになっているからです(ただし、すでにセキュリティ脆弱性を利用するPoCや既知の攻撃などが確認されている場合にはこのルールを超えて行動することもあります⁠⁠。
  2. FreeBSDセキュリティアドバイザリSA-16:25の修正をbsdpatchに適用するためにfreebsd-update(8)を実行することは、セキュリティ脆弱性の影響を受ける可能性があることについて説明が行われていないことはなぜですか? → このセキュリティ脆弱性の影響を受けるにはパッチを取得している段階でアクティブな中間者攻撃を受ける状況にある必要があります。FreeBSDセキュリティアドバイザリはセキュリティ脆弱性の論理包含に基づいた情報を含まないようにしていますし、⁠Impact」の項目にはより明確な情報を記載する必要があるからです。
  3. FreeBSDセキュリティアドバイザリSA-16:25に含まれているパッチは不完全でヒープ汚染の脆弱性が残っています。より包括的なパッチが存在するにも関わらず、一部のパッチしか適用してないのはなぜでしょうか? → bsdpatch(1)の開発者と議論した結果、提案していただいたパッチは非互換を生み出してしまう制限が含まれてしまうことを発見しました。これまでは適用できていた適切なパッチが適用できなくなる可能性があることもわかりました。このため、より包括的な修正パッチを開発できるまでの対策として先のセキュリティアドバイザリでは非互換性を生み出すことのない主要な問題のみを修正するパッチだけを含めました。

今回HardenedBSDの開発者らから指摘された問題に抜本的に対応するにはfreebsd-update(8)とportsnap(8)のデザインも含めて作り替える必要があります。互換性の確保についても考えると、完全に対応したパッチがリリースされるにはまだ時間がかかるのではないかと見られます。FreeBSDセキュリティオフィサーやセキュリティチームからの情報に注力するとともに、該当するセキュリティアドバイザリが公開された場合には迅速に適用することが望まれます。

今のペースのままいきますと、2016年のセキュリティアドバイザリおよびエラッタノーティスの発行件数は2015年と同等かそれ以上といったことになりそうです。今のところペースが衰える要因は見当たりませんので、このペースで発行が行われるのではないかと見られます。こうした情報が発表されたら迅速に対応を取ることを検討してください。

HardenedBSDとは

HardenedBSDは2014年にOliver Pinter氏とShawn Webb氏が取り組みを開始したセキュリティ強化版のFreeBSDです。HardenedBSDではFreeBSDをベースによりセキュリティ強化や脆弱性攻撃の影響を低減するセキュリティ技術の研究開発に取り組んでいます。同プロジェクトは当初、FreeBSDにアドレス空間配置のランダム化(ASLR; Address Space Layout Randomization)の機能を取り込むことを目的として発足したプロジェクトですが、現在ではセキュリティに関するさまざまな技術の実装が行われています。

HardenedBSDでの取り組みは随時FreeBSDにバックポートされています。今回のパッチもバックポートと言えるでしょう。HardenedBSDがFreeBSDをベースにしたのは開発が簡単だったからだという説明があります。FreeBSDにはこれ以外にもセキュリティの研究開発を目的としてフォークしたプロジェクトがいくつかあります。取り組み成果物が本家にフィードバックされています。

勉強会

第56回 9月27日(火)19:00~ ZFSとJailによるコンテナ技術活用、ユーザへのファイルシステム特権の委譲ほか

ZFSは管理者のやることを大きく変えました。多くの便利な機能は管理者にもう戻ることのできない利便性を与えてくれました。しかし、より突っ込んでチューニングを行ったり、さらに深い機能を使いこなそうとしたとき、ほとんどの管理者はZFSの深遠へ引きずり込まれ、果たしてやっている設定が適切なのは不適切なのかの判断も難しい状況に陥っているのではないでしょうか。

第56回目からは、ZFSの活用に焦点を当てながらZFSの使い方やチューニングの方法を紹介します。今回は特にJailにおけるコンテナ技術のひとつとしてZFSを活用する方法や、ユーザにファイルシステム特権を委譲する方法などを採り上げます。余裕があればマシン間における効率的なレプリケーションの方法なども紹介します。

参加申請はこちらから。

第57回 10月27日(水)19:00~ 検討中

ただいま内容を検討中です。

おすすめ記事

記事・ニュース一覧