Xというアプリケーションがあるとしましょう。 Xによって発行されたシステムコールのみを追跡します。たとえば、CS-STILo」。システムは異常なシステムコールシーケンスを検出し、コード再利用攻撃を検出します。
攻撃が検出されたときにそれをブロックするにはどうすればよいですか? Stackable Filesystems(Wrapfsなど)を使用して実行する前にシステムコールを停止できますか?そうでなければ他の方法がありますか?
答え1
持つSELinuxそして鎧を適用(MAC - 必須アクセス制御と呼ばれる).
AFAIK RedHat、CentOSはSELinuxを使用しています。
SuSe、Debian、UbuntuはデフォルトでAppArmourを使用します。
つまり、SELinux または AppArmor を有効にするときに、どのアプリケーション/デーモンがどのリソース (ポート、ソケット、ファイルシステム) にアクセスできるかを許可する必要があります。
たとえば、tomcatデーモンがポート3306からMySQLデータベースにアクセスしたり、Apache Webサーバーがファイルシステムにアクセスできるようにする必要があります/var/www
。
システムコールがブロックされるたびに、つまり。 SELinux は、Tomcat が/var/log/audit.log
Linux のバージョンに従って記録されたり、類似した MySQL にアクセスしたりするのを防ぎます。