2015年1月13日火曜日

Symantec CIDS シグネチャ - OS Attack: GNU Bash CVE-2014-6271

0

Symantec 管理コンソールを開いて、「ログ」-「ネットワーク脅威防止」で確認できたメッセージ。

[検出したリスク]
シグネチャ名:OS Attack: GNU Bash CVE-2014-6271
侵入 URL:127.0.0.1/cgi-bin/authLogin.cgi
イベントの説明:[SID: 27907] OS Attack: GNU Bash CVE-2014-6271 攻撃を遮断しました。 このアプリケーションのトラフィックを遮断しました: SYSTEM
イベントの種類:侵入防止
リモート IP: 113.42.244.56

[状況]
・Webサーバで、リモートから該当の攻撃を受け付けた。
・攻撃は Symantec が遮断したため、不成立。

[処置]
攻撃をしてきた IP アドレス 113.42.244.56 は ファイアーウォール で遮断。
※ IP アドレスレベルでブロックし、二度とアクセスできるようにする必要はない。


[どんな攻撃?]
CVE コード(CVE-2014-6271)で検索すればいろいろと情報は手に入るが、Bash の脆弱性を突いた攻撃。shellshock という通称が付いている。

Cygwin の Bash でもテストコマンドを試すことができて、下記のコマンドを実行して結果を見ると問題があるかどうかが分かる。

shellshock の脆弱性の確認 [/home/marumarutonton] $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

ここで、もし vulnerable というメッセージも表示されたら問題があることになる。

1.環境変数 x に '() { :;}; echo vulnerable' という値を代入している。
2.環境変数のリストの後に () という文字が含まれていると次は関数定義
3.関数定義は { 関数名; }; で記載する。関数定義の後には実行コードが続く。
4.問題のある Bash だと、x='() { :;}; echo vulnerable' で変数が代入するのではなくて、関数定義を読んでしまったり、echo vulnerable が実行コードとしてそのまま実行されてしまう。


0 コメント:

コメントを投稿