チップス

Exec-Shield で不正侵入


Exec-Shieldとは

 特定のメモリー領域から命令を実行できないようにするLinuxの機能。不正侵入を行う手段の1つである、バッファ・オーバーフロ-攻撃に対して有効な防御機能である。

 バッファ・オーバーフロー攻撃では、ぜい弱性を持ったプログラムに対して、メモリー領域上のデータ領域に不正な命令コードを送り込み、それを実行することで侵入を試みる。Exec-Shieldは、Linuxカーネルがデータ領域を監視して、不正な命令コードが実行されようとすると、エラー・メッセージを画面に出力して、処理を止める。

詳細は IT Pro の Excec-Shieldとは を参照してください。

バッファオーバーフロー対策

exec-shield を有効化してバッファオーバーフロー対策する

cat /proc/sys/kernel/exec-shield <= 現在の設定を確認 1 <= 基本的に無効の設定 0 : 無効 1 : 基本的に無効(実行ファイルごとに有効にする) 2 : 基本的に有効(実行ファイルごとに無効にする) 3 : 常に有効 [root@Fedora ~]# echo 2 > /proc/sys/kernel/exec-shield <= 有効にする [root@Fedora ~]# vi /etc/rc.d/rc.local <= 設定ファイルの編集 /bin/echo 2 > /proc/sys/kernel/exec-shield <= 追加

exec-shieldが有効だと動作しないソフトが出てくる為、ソフトごとに無効にする
例) vsftpd

[root@Fedora ~]# execstack -s /usr/sbin/vsftpd <= 「vsftpd」に対して「Exec-Shield」を無効にする [root@Fedora ~]# execstack -q /usr/sbin/vsftpd <= 確認 X /usr/sbin/vsftpd <= 「Exec-Shield」は無効 ・再び有効にする場合 [root@Fedora ~]# execstack -c /usr/sbin/vsftpd <= 「vsftpd」に対して「Exec-Shield」を有効にする [root@Fedora ~]# execstack -q /usr/sbin/vsftpd <= 確認 - /usr/sbin/vsftpd <= 「Exec-Shield」は有効

参照URL
http://www.crimson-snow.net/hmsvr/fedora/memo/exec-shield.html
ありがとうございます。

Exec-Shieldとは
Exec Shield wikipedia
Exec-Shieldでバッファオーバーフローをブロックする!
Exec-Shieldとは・・・


   チップス