Tripwireタイプの侵入検知システムは、重要なバイナリの変更のチェックサムを監視することにより、システムをルートキットから保護します。
たとえば、tripwireを毎晩実行するように構成し、ルートキット化されていない新しいシステムにインストールしたとします。
そして、今日の正午に、熟練した侵入者がルートキットを私のシステムにインストールします。
ルートキットが私のトリップワイヤーをトリップワイヤーのなりすましに置き換えていないことを知るにはどうすればよいですか。チェックサムが変更されていないことを確認するために、最後のファイル(公開キーで読み取り可能)を多かれ少なかれ再生する異なる公開/秘密キー(および偽の認証バイナリ)のセットを使用します(本質的には既知のログファイルのみを再生します)。私の秘密のパスフレーズが秘密鍵を開くために機能しなくなったことに気づいたと思います。しかし、パスワードを機能させるのはそれほど難しいことではないと思います(または最初に入力したパスワードのみ)。既知の値でtripwireのファイルサイズ/ shasum/md5sumを確認する必要があると思いますが、私のルートキットシステムでは、これらのユーティリティすべてが危険にさらされる可能性があります。
http://sourceforge.net/projects/tripwire/files/tripwire-src/2.3.0-docs-pdf/ のドキュメントを見ていて、tripwireがどのように提供するかわかりません追加のセキュリティ-ルートキットの開発者をもう少し難しくする必要があります(ユーザーが設定した1つの追加ユーティリティを模倣するため)。
実際には、ライブCDを定期的に起動して、ハッシュを安全にチェックすることは決してないでしょう。それで、それが安全を提供するのか、それともその安全な劇場なのか疑問に思っています。
どんなに低くても、バーを設定するために言うべきことがあると思います。 Tripwireをバイパスできますか?承知しました。他の方法ではできないことをキャッチしますか?はい、そうです。
Tripwireのインストールで私が目にした主な問題は、それを無視するほどに誤検出されないように調整することです。誰かがホームディレクトリで何かを変更するたびに爆発する場合は、無視します。あなたのウェブの人々があなたのサイトを変えるたびにそれが爆発するならば、あなたはそれを無視するでしょう。誰かがパッケージをアップグレードするたびに爆発するなら...あなたはそれを手に入れます。ただし、異常な事象が発生したときにのみ文句を言う、適切なワークフローがある場合は、それに注意を払い、それは確かに価値があります。
Tripwireは serland rootkits に対する防御に非常に役立ちます。カーネルランドの新人は、システムの動作を破壊するためにバイナリを置き換える必要はありません。通常、これらのルートキットは単なるLinuxカーネルモジュール(LKM)です。実際、このようにカーネルを制御すると、バイナリ自体を変更することなく、実行可能ファイルの動作に影響を与えることができます。 (ただし、通常は必要ありません)。
カーネル開発者がこれらの脆弱性に迅速にパッチを適用しているため、Linuxのカーネルとルートキットは非常に一般的ではありません。誰かがゼロデイLinuxカーネルルートキットを持っていると思いますが、ユーザーランドルートキットに出くわす可能性が高くなります。
最新のLinuxルートキット Kbeast は2012年にリリースされ、最新のLinux 2.6.32(2009年にリリースされた)に影響を及ぼします。最新バージョンの執筆時点で最新のものは2.6.39です。最後のLKMルートキットが2009年にリリースされた Eyne LKM rookit だったので、このイベントに本当に感謝している人がどれほどいるかはわかりません。言うまでもなく、このような攻撃はほとんどありません。
RookとJeffからの回答に加えて、Tripwireと同様のソリューションには、リアルタイムのアラート値もあります。自身のファイルも監視しているTripwireシステムを破壊するには、Subversionプロセス中にアラートが発生しないようにする必要があります。
もはや簡単な攻撃ではありません。
つまり、要約すると、十分な時間/労力/スキルなどがあれば、どのようなコントロールでも回避できますが、Tripwireを使用すると、攻撃者にとってはるかに困難になります。
実験として、tripwireをインストールしてからルートキット(KBeast)をインストールし、tripwireがそれをキャッチするかどうかを確認しました。実際、tripwireは文句を言っています:
-------------------------------------------------------------------------------
# Section: Unix File System
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Rule Name: Other configuration files (/etc)
Severity Level: 66
-------------------------------------------------------------------------------
Modified:
"/etc"
"/etc/resolv.conf"
-------------------------------------------------------------------------------
Rule Name: Devices & Kernel information (/dev)
Severity Level: 100
-------------------------------------------------------------------------------
Modified:
"/dev/.udev/queue.bin"
変更された/etc/resolv.confはそれほど疑わしいものではありません(チェックするのは簡単です)が、queue.binは目立ちます:
mhaase@debian:~$ cat /dev/.udev/queue.bin
??9/devices/pci0000:00/0000:00:11.0/0000:02:02.0/sound/card0??/devices/virtual/v
c/vcs2?/devices/virtual/vc/vcsa2???/devices/virtual/vc/vcs3?/devices/virtual/vc/
vcsa3???/devices/virtual/vc/vcs4?/devices/virtual/vc/vcsa4???/devices/virtual/vc
/vcs5?/devices/virtual/vc/vcsa5???/devices/virtual/vc/vcs6?/devices/virtual/vc/v
csa6???I/devices/pci0000:00/0000:00:10.0/Host2/target2:0:0/2:0:0:0/block/sda/sda
1??/module/loop??/devices/virtual/block/loop0?/devices/virtual/bdi/7:0??/devices
/virtual/block/loop1?/devices/virtual/bdi/7:1??/devices/virtual/block/loop2?/dev
ices/virtual/bdi/7:2??/devices/virtual/block/loop3?/devices/virtual/bdi/7:3??/de
vices/virtual/block/loop4?/devices/virtual/bdi/7:4??/devices/virtual/block/loop5
?/devices/virtual/bdi/7:5??/devices/virtual/block/loop6?/devices/virtual/bdi/7:6
??/devices/virtual/block/loop7?/devices/virtual/bdi/7:7??????????/module/ipsecs_
kbeast_v1?
これはかなり効果的な警告です。検出を回避するのに優れた他のルートキットが他にもあると確信しています。よりスキルの高い攻撃者がKBeastをより回避的に構成できると確信していますが、これは、Tripwireが攻撃者の仕事を間違いなく複雑にしていることを示しています。そして、少なくとも少しバーを上げます。
セキュリティモニターの価値は、より良いセキュリティの実践につながるプロセスの一部であるということよりも大きいと思います。トリップワイヤーが実際の侵入を警告する場合は、すでにゲームに負けています。あなたはそれを遅かれ早かれ理解したので、利益はわずかです。一方、失敗した実際の攻撃、または疑わしいセキュリティ対策による誤検知についてモニターが警告を発した場合は、ソフトウェアを確認して対策を改善するように通知されます。