|
必聴講座ご紹介 Cloud Days Tokyo 2012 エムオーテックス Cloud Days Tokyo 2012 ヴイエムウェア Cloud Days Osaka 2012 アマゾン データ サービス ジャパン |
|
![]() |
| 図1●ウイルスや悪意を持った第三者による不正侵入の概要 (1)攻撃者の多くはネットワーク経由で侵入を試みる。無差別に,アプリケーションやOSにセキュリティ・ホールを抱えたシステムをターゲットとして選び出す。(2)攻撃者は,セキュリティ・ホールを利用して,ターゲット・マシンに侵入する。(3)root権限を得た攻撃者は,好き勝手にシステムを操作できる。 |
このように,システム内に不正侵入を許してroot権限を奪取されてしまうと,ホストを自由に操作されてしまい,大きな被害を受けることになる。あるいは,自分のホスト(自ホスト)に機密情報などがなかった場合でも,自ホスト経由でそのほかのホストに被害を与えることもある。
こうした侵入攻撃に対する,代表的な対策を図2に示す。これらの対策は,「侵入を未然に防ぐ」ことを目的にしている。
![]() |
| 図2●主な侵入対策の概要 (1)は,ネットワーク・レベルの対策。ファイアウオールやIPSなどにより,通信を監視し,不正な通信をシャットアウトする。(2)は,パッチを適用してセキュリティ・ホールをふさぐ対策方法だ。(3)が,セキュアOSを利用したOSレベルの対策である。 |
例えば図2の(1)は,ネットワーク・レベルの対策だ。ファイアウオールやIPS(Intrusion Prevention System=侵入防止システム)などにより,通信を監視し,不正な通信をシャットアウトする。(2)は,セキュリティ・ホールが見つかるたびに,パッチを適用してセキュリティ・ホールをふさぐ対策方法である。
ただし,これらの対策を施したとしても,侵入を完全に防ぐことは不可能だ。
例えば,図2(1)の「不正な通信をシャットアウトする」対策では,「不正な通信パターン」をすべて網羅することは事実上不可能であり,どうしても漏れが生じる。ファイアウオールやIPSを通過させる正常な通信と,シャットアウトする不正な通信を完全に見分けるのは困難だからだ。
また,(2)の「パッチの適用」対策は,パッチを適用し忘れる可能性がある上,そもそもパッチが公開されていなければ対策すら行えない。
侵入を未然に防げない以上,侵入されたときの対策が不可欠になる。そうしたアプローチの代表格が,SELinuxのようなセキュアOSの採用だ。
SELinuxは,「万一侵入されたときでも,その被害を最小限にする」ためのものだ。例えば,前述の図2(3)では,たとえLinuxホストに侵入されてしまった場合でも,個人情報やシステム・ファイルにはアクセスできない。いわば,システム防衛上の最後の砦(とりで)の役割を担うわけだ。
SELinuxが実際にどういう働きをするものなのかを図3に示す。SELinuxは,各プロセスがアクセスできるリソース(この場合のリソースとは,個々のファイルやディレクトリ全体など)を制限し,本当に必要なリソースにだけアクセスできるようにする。例えば,Webサーバーの場合は,Webページにだけアクセスできるようにする。Sambaサーバーなら,Sambaの共有ファイルにだけアクセスできるようにするわけだ。そして,関係ないファイルへのアクセスは一切拒否するようにしておく。
![]() |
| 図3●SELinuxが有効になったシステムの概要 図のように,プロセスの動作が限定される。この例では,Webサーバーのプロセスは,Webページへのアクセスだけしか許可されない。そのため,万が一Webサーバーが乗っ取られたとしても被害を最小限にできる。 |
例えば,Webサーバーが攻撃者やウイルスによって侵入され,乗っ取られたとしよう。その場合でも,Webサーバーの動作はWebページへのアクセスだけに限定されている。そのため攻撃者は,Webページの読み込みは可能だが,それ以外のファイル,例えばシステム・ファイルや共有ファイルへのアクセスは不可能だ。
プロセスのリソースへのアクセス制限は,OSレベルで強制されており,抜け道は無い。たとえroot権限で動作するプロセスであっても強制されるので,攻撃者にroot権限を奪取されても操作可能な範囲は限定される。
ただし,被害をゼロにできるわけではないことに注意する。攻撃者が,可能な範囲内で,何らかの被害を及ぼす可能性があるからだ。ただし,操作可能な範囲をあらかじめ限定させておけば,被害範囲を予測できるという強みがある。