Grsecurity

grsecurity は、コンピュータセキュリティ強化のためのLinuxカーネル用パッチセットである。ユーザーをログイン可能にしているWebサーバなど、信頼できるかどうか不明なリモートからのコネクション要求を受け付けるシステムで主に利用される。

grsecurity は GNU General Public License でリリースされているフリーソフトウェアである。

PaX 
grsecurity に含まれる主要コンポーネントは PaX である。これは、スタックなどに使われているメモリを実行不可能とし、プログラムコードが書かれているメモリを書き込み不能と設定する。これによってバッファオーバーランなどの脆弱性を利用した攻撃に対する防御とする。また、ASLR (Address Space Layout Randomization) によって仮想空間内の配置を無作為に変化させ、特定の内容が特定のアドレスにあることに依存した攻撃を防ぐ。PaX 自体は grsecurity の開発者らが開発しているわけではなく、grsecurity とは別に入手可能である。

ロールベースアクセス制御 
grsecurity には、完全なロールベースアクセス制御 (RBAC) システムを提供するコンポーネントも含まれる。RBAC は従来のUNIXのアクセス制御リストよりも厳密なアクセス制限が可能で、完全な最小権限システム（ユーザーやプロセスが動作に必要な最小限の権限のみを持ち、余分な権限を持たせないシステム）を構築する基礎となる。これにより、攻撃者がシステムの機密情報を入手または破壊する可能性は劇的に削減できる。RBAC は「役割(role)」の集合を通して動作する。各役割には何ができて何ができないかという制限を個々に設定でき、これによってポリシーが形成される（ポリシーは修正可能）。

その他の機能 
grsecurity では、Linuxカーネルの監査機能も拡張している。特定のユーザーのグループを監査するよう設定したり、デバイスのmount/unmountを監査したり、システムの日時の変更を監査したりといった設定が可能である。

trusted path execution は、誰でも書き込める状態の実行ファイルの実行を防ぐオプション機能である。ユーザーが誤って（あるいは故意に）持ち込んだマルウェアの実行を防ぐことができる。

grsecurity はまた、chroot「監獄」のセキュリティを強化する。chroot監獄は特定のプロセスをシステムの他の部分から隔離するのに使われ、何らかのダメージが他に及ばないようにする。しかし、chroot監獄を破る方法も存在する。grsecurity はそれらの方法を使えないようにする。

他にも、dmesg や netstat コマンドをスーパーユーザー以外は実行できないようにし、一般ユーザーがシステムについて余分な知識を獲得できないようにする機能もある。

関連項目 
PaX
Linux Security Modules (LSM) grsecurityの作者はLSMを使用しないことに言及している。
Exec Shield
Security-Enhanced Linux

外部リンク 
公式サイト
grsecurity on freshmeat

セキュリティソフト
Linux