pledge」において、現在開発が進められているpledge(2)システムコールの進捗状況が報告されました。5.9に反映されることになると見られます。5.8においてtame(2)という名前のシステムコールとして導入されました。5.8で導入されたのはシステムコールの基本的な実装で、ベースシステムのコマンドにはこのシステムコールは適用されていませんでした。/usr/games)には652個のELFバイナリファイルが存在し、うち451個がすでにpledge(2)システムコールを使っているとのことです。2015年11月の時点では368個のELFバイナリファイルにpledge(2)システムコールが適用されているという報告がありましたので、この2ヶ月間の間に83個のコマンドに新しくpledge(2)システムコールが適用されたことになります。今回の進捗報告があった段階でまだpledge(2)システムコールが適用されていないELFバイナリファイルの数は201個。うち、47個はpledge(2)システムコールを適用する意味がないと判断されており、残り154個が今後pledge(2)システムコールが適用されるELFバイナリファイルということになります。Capsicum(cap_enter(2)システムコール、cap_fcntls_limit(2)システムコール、cap_ioctls_limit(2)システムコール、cap_rights_limit(2)システムコール)によく似ています。プロセスの機能を制限するというシステムコールで、pledge(2)システムコールを実行するとそのプロセスはそれ以降に利用できる機能(アクセスできるリソース)が制限されるようになります。Capsicumはケーパビリティと呼ばれるリソース保護モデルの実装系のひとつです。ほかの実装系と比較して既存のPOSIX実装系との相性がよく、数行のコードの追加で機能を適用できるといった特徴があります。FreeBSDではベースシステムのいくつかのコマンドと、サードパーティ製ソフトウェアのいくつかにCapsicumを適用しています。pledge(2)システムコールはシステムコール的にはCapsicumによく似ています。Capsicumよりもさらに簡単に利用できるようになっており、pledge(2)システムコールの引数に制限内容を指定するだけで機能が制限できるという特徴があります。pledge」の中で、pledge(2)システムコールの2つ目の引数であるpathsの機能を無効にすると説明しています。5.9ではこの機能は先送りになるとのことです。現在、ベースシステムのコマンドにpledge(2)を適用していくこと、それぞれのコマンドに適した規制を適用すること、コマンドに必要となる新しい規制(promises)を実装することなどに開発資源を集中しており、pathsの実装まで手が回らないとしています。*paths[]);pledge(2)システムコールはセキュリティを強化する機能であるため、カーネル全域をコードレビューしてバグがないことを確認する必要があります。pathsを実装してそのコードレビューまでするのでは次のリリースまでに間に合わないと判断したようです。pledge(2)システムコールをChromiumに適用pledge(2)システムコールやCapsicumは複数のプロセスにfork(2)して実行されるタイプのアプリケーションでとくにその優位性を発揮します。した構造を持ち、世界中でもっとも多く使われているとみられるソフトウェアがChromium(Chrome)です。Chromiumはマルチプロセスアーキテクチャといって、レンダリング、プラグイン、ユーティリティといったように単一のプロセスではなく、複数のプロセスとして実行されます。それぞれのプロセスでpledge(2)システムコールを実行すれば、それぞれに必要となる機能だけを利用できるようにして、それ以外のリソースへのアクセスを禁止するといったことができます(その分セキュリティが向上すると言われています⁠)⁠。FreeBSDはすでにChromiumにCapsicumを適用しています。pledge(2)⁠)⁠。08:18:09⁠)⁠。5.9では、いくつかのコマンドはpledge(2)システムコールが適用されず、第2引数であるpathsの指定も機能しません。6.0では、さらに多くのコマンドがpledge(2)システムコールを利用するようになり、pathsの指定も機能するようになるものとみられます。高い効果が期待できるコマンドやアプリケーションのだけCpasicumを適用しているFreeBSDと異なり、OpenBSDでは基本的にすべてのコマンドでこの機能を使うといった姿勢を見せています。6.0からはさらにデフォルトでの安全性を高めることになりそうです。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。