• 検索結果がありません。

脆弱性の詳細 この数日で Shellshock に関するより詳し い情報が明らかになり 完全に修正する ことが可能となるでしょう 前述のとお り CVE あるいは Shellshock と呼ばれるこの脆弱性は イギリスのロ ボット工学企業 SeeByte Ltd で Unix な

N/A
N/A
Protected

Academic year: 2021

シェア "脆弱性の詳細 この数日で Shellshock に関するより詳し い情報が明らかになり 完全に修正する ことが可能となるでしょう 前述のとお り CVE あるいは Shellshock と呼ばれるこの脆弱性は イギリスのロ ボット工学企業 SeeByte Ltd で Unix な"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

Shellshock

テクニカルレポート

Trend Micro Threat Research Lab

はじめに

2014 年 9 月 24 日、Stephane Chazelas が bash のファンクション定義に存在す るコードの処理を適切に行わない脆弱性 (CVE-2014-6271) を 発 見 し ま し た1。 攻 撃者は、“Shellshock” と名付けられたこ の脆弱性を利用して環境の制限を回避で き ま す。Secure Shell(SSH)、Common Gateway Interface(GCI) ス ク リ プ ト と いった複数のプログラムは、バックグラ ウンドで bash の実行を可能にします。こ れにより攻撃者はこの脆弱性を遠隔から 攻撃できるため、Shellshock は深刻な脅 威となります。2014 年 4 月に発見された 脆弱性 “Heartbleed”(CVE-2014-0160)以 上に深刻になる恐れがあるとするリサー チャーもいます2。 1 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271 2 http://blog.trendmicro.co.jp/archives/8929 テストを実施した結果、bash が実行して いるからといってすべてのシステムが遠 隔で攻撃できるわけではないことがわか りました。bash を攻撃するには、ネット ワークを経由して bash へのアクセスを可 能にするアプリケーションがシステム上 で稼働している必要があります。 このレポートは、Shellshock の技術的な 詳細について解説します。

(2)

脆弱性の詳細

この数日で Shellshock に関するより詳し い情報が明らかになり、完全に修正する ことが可能となるでしょう。前述のとお り、CVE-2014-6271 あ る い は Shellshock と呼ばれるこの脆弱性は、イギリスのロ ボット工学企業 SeeByte Ltd で Unix なら びに Linux のネットワーク・テレコミュニ ケーション管理者で IT マネージャを務め る Stephane Chazelas 氏によって発見され ました。3

概念実証(Proof of Concept)

システム上で bash が脆弱かどうかを確認 するには、以下のコマンドを実行して確 認することができます。

$ env x=’() { :;}; echo vulnerable’ bash -c “echo test” 脆弱な bash を実行しているシステムで このコマンドを実行すると、“vulnerable” というアウトプットを出します。この問 題を修正するためにリリースされたパッ チは、bash ファンクションの後に続くど んなコードも実行されないようにしてい ます。

脆弱性を利用する方法

我々は、概念実証(PoC)コードを使って この脆弱性をどのように利用することが できるかを調査しました。

$ env x=’() { :;}; echo vulnerable’ bash -c “echo test” 上記コードは、環境変数を宣言し、その 後 “test” と表示するものです。特別に細工 された環境変数の値によって、bash はこ のコードを以下のようなファンクション 定義として解釈します。 x() { :; }; echo vulnerable システムが “ 脆弱である ” となると、攻撃 者はこのファンクション定義の後に悪意 あるコマンドを実行することが可能です。

(3)

影響

bash は、多くのシステムやソフトウェ ア で 広 く 使 わ れ て い る Unix シ ェ ル で、 Shellshock は GNU Bash バ ー ジ ョ ン 1.14 ~ 4.3 に影響があります。 • Bash 4.3 Patch 25 より前のバージョン • Bash 4.2 Patch 48 より前のバージョン • Bash 4.1 Patch 12 より前のバージョン • Bash 4.0 Patch 39 より前のバージョン • Bash 3.2 Patch 52 より前のバージョン • Bash 3.1 Patch 18 より前のバージョン • Bash 3.0 Patch 17 より前のバージョン • Bash 2.0.5 とそれ以前のバージョン • Bash 1.14.7 とそれ以前のバージョン ルータ、IP カメラ、ゲートウェイ(Citrix NetScaler、F5 BIGIP、Cisco 製 品 な ど )、 Web CGI プログラムといった bash を使 うすべてのアプリケーション、ネット ワーク機器が脆弱です。攻撃者は、脆弱 な Dynamic Host Configuration Protocol (DHCP)サーバにクライアントシステム 上で任意のコードを実行させることも可 能です。 以下の表は、広く使われている OS とその 標準設定のシェルを示しています。Bash が標準設定のシェルになっている OS は、 すべて脆弱になります。 OS 標準シェル Mac OS X RHEL CentOS Fedora Debian Ubuntu FreeBSD Android iOS

Only Jailbreak version 組み込み機器 bash bash bash bash sh (lenny) dash (Squeeze) dash tcsh 比較的新しいバージョン: ash Android 3.0 は mksh bash 多くが busybox(ash)を使用

(4)

攻撃シナリオ

Web サーバへの攻撃

Web サーバへの攻撃が最も深刻なものに なります。なぜなら、bash スクリプトが cgi-bin を通じて実行されるからです。 このシナリオの場合、CGI は Web サーバ に HTTP リクエストヘッダを変換し、クラ イアントからのリクエストヘッダを環境 変数に変換させる必要があります。これ は、Apache サ ー バ の mod-cgi あ る い は mod-cgid モジュールによって実行されま す。攻撃者が cgi-bin 経由で bash スクリ プトを呼び込む場合、Web サーバのアク セス権限を使って httpd としてコードを 実行することができます。 我々は複数のプログラミング言語を使っ て Apache mod-cgi モ ジ ュ ー ル を テ ス トしました。結果、Perl、PHP、Python、 Ruby で記述されている CGI プログラムが 脆弱であることが明らかになりました。

Perl

#!/usr/bin/env perl p r i n t “ C o n t e n t ty p e : t e x t / p l a i n ; charset=iso 8859 1\n\n”;

$result = system(“test >> /dev/null;”);

PHP

#!/usr/bin/env php <?php

print “Content Type: text/html\n\n”; print “Hello World!\n\n”;

var_dump(exec(‘date’)); ?>

Python

#!/usr/bin/env python

print “Content Type: text/html” print print “”” <html> <body> <h2>Hello World!</h2> </body> </html> “”” import os os.system(‘date’)

(5)

Ruby

#!/usr/bin/env ruby

puts “Content type: text/html\n\n”

p u t s “ < ? x m l v e r s i o n = \ ” 1 . 0 \ ” encoding=\”UTF 8\”?>”

puts “<!DOCTYPE html>” puts “<html>”

puts “<head>”

puts “<title>Ruby CGI test</title>” puts “</head>”

puts “<body>”

puts “<p>Hello, world!</p>” puts “</body>”

puts “</html>” `date`

トレンドマイクロの対策

トレンドマイクロのサーバ向け総合セ キ ュ リ テ ィ 製 品「Trend Micro Deep Security(トレンドマイクロ ディープセ キュリティ)」の仮想パッチは、bash に存 在する脆弱性を利用するエクスプロイト からサーバを保護します。また、bash の エクスプロイト攻撃に関連する不正プロ グラムおよび、改ざんされたサーバから 発生する C&C 通信を検出します。

DHCP サーバの悪用

脆弱な DHCP サーバを利用すると、攻撃 者はローカルネットワーク環境に接続す るクライアントに任意のコマンドを送り つけることが可能です。攻撃者は、特別 に細工されたコマンドで悪意ある DHCP サーバを設定し、様々な悪意あるコード を実行させることが可能になります。 () { :; }; /usr/bin/cat /etc/shadow > /tmp/ shadow 以下に示すのは、悪意ある DHCP サーバ の 設 定 の 一 例 で、 追 加 オ プ シ ョ ン (Additional Option)114 にある悪意ある コマンドで設定されています。

(6)

この悪意あるサーバの IP アドレスにア クセスしたユーザは、システム上でこの 悪意あるコマンドを実行することになり ます。 • 脆弱な bash バージョンを実行する CentOS 7.0 DHCP クライアント • 脆弱な bash バージョンを実行する Ubuntu 10.04.1 LTS DHCP クライアント • 脆弱な bash バージョンを実行する Ubuntu 14.04.1 LTS DHCP クライアント • 脆弱な bash バージョンを実行する Fedora 20 DHCP クライアント Android や iOS を稼働しているモバイル機 器は、bash が標準で搭載されていないた め脆弱ではありません。Mac OS X の場合、 このシナリオでは DHCP プロセスで IP ア ドレスを要求する際に bash を使用しない ため脆弱ではありません。 CentOS Fedora Ubuntu Ubuntu Android Apple iOS Mac OS X 7.0 20 10.04.1 LTS 14.04.1 LTS 4.4.4 7.0.4 10.9.5 脆弱 脆弱 脆弱 脆弱 影響なし 影響なし 影響なし OS バージョン 状況

(7)

トレンドマイクロの対策

ウイルスバスター コーポレートエディ ションは、「Web レピュテーション」技 術によって、関連する不正な URL への アクセスをブロックします。(Microsoft™、 Windows® のみ )

「Trend Micro Deep Discovery」 シリーズで は、Windows、CentOS、Ubuntu お よ び Fedora 上で不正な IP アドレスと通信する エンドポイントを検知することが可能 です。

GIT、Subversion サーバへの攻撃

GIT や Subversion といったサーバへの攻 撃により、攻撃者は接続しているシステ ムやサーバへのアクセスは可能になりま すが、制限されたシェル環境により任意 のコマンドを実行することはできません。 し か し、CVE-2014-6271 を 利 用 す る と、 この制限を回避してシェルを利用するこ とができます(OpenSSH ユーザの場合、 すでにシェルアクセスを持っているため 影響を受けません)。 GIT ユーザのシェルが bash に標準設定さ れている脆弱なサーバは、遠隔からのコー ド実行に脆弱です。SSH 鍵がアップロー ドされているサーバの場合、攻撃者が手 にすることができるため特に危険です。 bash を標準のシェルとして使っている GIT サーバだけが脆弱になります。dash や Debian といった bash を標準のシェル として使っていないサーバは脆弱ではあ りません。 我々は、以下の Shellshock の概念実証コー ドを使って脆弱な GIT サーバのパスワー ドの入手を試みました。 ssh git@gitserver ‘() { :;}; echo vulnerable’

トレンドマイクロの対策

サーバ向けセキュリティソリューション 「Trend Micro Deep Security」は、不正侵 入防止システム(IPS)や仮想パッチの機 能を備えており、bash に存在する脆弱性 への攻撃の検出が可能です。

(8)

その他攻撃シナリオ

このレポートは、限られた攻撃シナリオ についてしか言及していませんが、いく つかの可能性が想定されます。一つ確か なことは、この脆弱性はワームとして拡 散することが可能なことです。実際、す でに Shellshock を拡散するワームを確認 しています。

トレンドマイクロの対策

トレンドマイクロの各製品は、ファイル ベースでスキャンすることにより脆弱性 「Shellshock」に関連する不正プログラム の検出が可能です。

「Trend Micro Deep Security」、「ウイルス バスター コーポレートエディション」お よ び「Trend Micro Deep Discovery」 は、

脆弱性「Shellshock」関連する C&C サー バとの通信を検出します。

「Trend Micro Deep Security」で対策可能 な脆弱性の例は以下のとおりです。

• C V E - 2 0 1 4 - 7 1 6 9 : D S R U 1 4 - 0 2 8 : 1006256

• GNU Bash Remote Code Execution Vulnerability7

• C V E - 2 0 1 4 - 6 2 7 1 : D S R U 1 4 - 0 2 8 : 1006256

• G N U B a s h R e m o t e C o d e Execution Vulnerability

(9)

ソリューションと推奨事項

企業は、bash をバックグラウンドで実行 可能な Linux ベースのサーバ、機器、サー ドパーティアプリケーションをテストす る 必 要 が あ り ま す。 特 に、 攻 撃 者 が 遠 隔 か ら Shellshock を 攻 撃 す る こ と が 可 能な Web ベースのアプリケーションや サービスをテストする必要があります。 Xymon といった人気のある Linux ベース のサーバ・ネットワーク監視システムも Shellshock の影響を受けます。bash ユー ザは、以下の表にあるように最新バージョ ンに更新することを推奨します。 OS 影響のないバージョン RHEL Fedora CentOS AWS Ubuntu SuSE Debian RHSA-2014:1306-1 BASH-3.2-33.el5_11.4 (RHEL5) BASH-4.1.2-15.el6_5.2 (RHEL6) BASH-4.2.45-5.el7_0.4 (RHEL7) BASH-4.2.48-2.fc19 (Fedora 19) BASH-4.2.48-2.fc20 (Fedora 20) BASH-4.3.25-2.fc21 (Fedora 21) BASH-3.2-33.el5_10.4 (CentOS 5) BASH-4.1.2-15.el6_5.2 (CentOS 6) BASH-4.2.45-5.el7_0.4 (CentOS 7) CVE-2014-6271 Advisory ALAS-2014-418 USN-2362-1 (CVE-2014-6271) USN-2363-1 (CVE-2014-7169) 4.1-2ubuntu3.2 (Ubuntu 10.04 LTS) 4.2-2ubuntu2.3 (Ubuntu 12.04 LTS) 4.3-7ubuntu1.2 (Ubuntu 14.04 LTS) CVE-2014-6271/Bug 896776 CVE-2014-7169/Bug 898346 3.2-147.20.1 (SuSE11) 3.1-24.32.1 (SuSE10) DSA-3032-1 (CVE-2014-6271) DSA-3035-1 (CVE-2014-7169) 4.1-3+deb6u2 (squeeze (lts)) 4.2+dfsg-0.1+deb7u3 (wheezy(security))

(10)

この bash の脆弱性に対してパッチが公開 されたものの、完全ではありません。こ の公開された修正を適用しても、特別に 細工された環境変数を使って、脆弱なバー ジョンの bash に特定の文字列を挿入で きるといわれています。攻撃者は、新し い手法を作り出し、環境の制限を回避し てシェルコマンドを実行することができ ます。以下の CVE で言及されている制限 回避方法は機能することが確認されてい ます。 • CVE-2014-716944 • CVE-2014-718655 • CVE-2014-718766 • https://rhn.redhat.com/errata/RHSA20141306.html CVE-2014-6271 へのパッチを適用済みで あっても、企業は最新版が入手可能にな るのを常に確認する必要があります。加 えて、以下のような回避策を適用してネッ トワークを守ることを推奨します。 • 標準のシェルを dash や tsh といった bash の代替になるものに変更してく ださい(ただし、異なるシェルは異 なる構文を使うため、既存のスクリ プトが機能しない可能性もあるため 注意して行う必要があります。) • CGI プログラムを保護するために、 以下のような侵入検知システム(IDS) ルール、Web アプリケーションファ イアウォール(WAF)ルールを適用 して、エクスプロイトをブロックし てください。 • mod_security

• Request Header values:

SecRule REQUEST_HEADERS “^\(\) {“ “phase:1,deny, id:1000000,t:urlDecode,status:400,log, msg:’CVE-2014-6271 - BASH Attack’” • SERVER_PROTOCOL values: Gentoo Scientific Linux Bug 523592 BASH-3.1_p18-r1 BASH-3.2_p52-r1 BASH-4.0_p39-r1 BASH-4.1_p12-r1 BASH-4.2_p48-r11 SLSA-2014:1293-1 BASH-3.2-33.el5.1(SL5) BASH-4.1.2-15.el6_5.1(SL6) OS 影響のないバージョン

(11)

• GET/POST names:

S e c R u l e A R G S _ N A M E S “ ^ \ ( \ ) { “ “phase:2,deny,id:

1000002,t:urlDecode,t:urlDecodeUni,sta tus:400,log,

msg:’CVE-20 14-6271 - BASH Attack’”

• GET/POST values:

S e c R u l e A R G S “ ^ \ ( \ ) { “ “phase:2,deny,id:1000003,t:

urlDecode,t:urlDecodeUni,status:400,lo g,msg:’CVE-2014-6271 - BASH Attack’”

• File names for uploads:

SecRule FILES_NAMES “^\(\) {“ “phase:2,deny,id:

1000004,t:urlDecode,t:urlDecodeUni,sta tus:400,log,

msg:’CVE-2014-6271 - BASH Attack’”

• IPTables

# iptables A INPUT m string algo bm hex string ‘|28 29 20 7B|’ j DROP

# ip6tables A INPUT m string algo bm hex string ‘|28 29 20 7B|’ j DROP

• Suricata

alert http $EXTERNAL_NET any > $HOME_NET any

(msg:”Possible CVE 2014 6271 BASH Vulnerability

R e q u e s t e d ( h e a d e r ) ” ; flow:established,to_server;

c o n t e n t : ” ( ) { “ ; h t t p _ h e a d e r ; threshold:type limit, track

b y _ s r c , c o u n t 1 , s e c o n d s 1 2 0 ; sid:2014092401;)

• Snort

alert tcp $EXTERNAL_NET any > $HOME_NET

$HTTP_PORTS (msg:”Possible CVE-2014 6271 BASH

Vulnerability Requested (header) “; flow:established,to_

server; content:”() {“; http_header; threshold:type limit,

track by_src, count 1, seconds 120; sid:2014092401;) • ref: • m o d _ s e c u r i t y, I P Ta b l e s (https://access.redhat.com/ articles/1212303) • Snort, Suricata(http://www. volexity.com/blog/?p=19) • ソース IP アドレスでアクセスを制限 してください。CGI プログラムの利 用が必要でパッチ適用が現実的では ない場合には、ソース IP アドレスで アクセスを制限することができます。 信頼できる IP レンジやホストにのみ サービスへのアクセス権を与えるよ うにしてください。

(12)

へ独占的に帰属します。 トレンドマイクロ株式会社が書面により事前に承諾 している場合を除き、形態および手段を問わず本書 またはその一部を複製することは禁じられていま す。本書の作成にあたっては細心の注意を払ってい ますが、本書の記述に誤りや欠落があってもトレン ドマイクロ株式会社はいかなる責任も負わないもの とします。本書およびその記述内容は予告なしに変 更される場合があります。 本書に記載されている各社の社名、製品名、および サービス名は、各社の商標または登録商標です。 〒151-0053 東京都渋谷区代々木2-1-1 新宿マインズタワー 大代表 TEL:03-5334-3600 FAX:03-5334-4008 http://www.trendmicro.co.jp イルランド・中国・フランス・イギリス・ブラジルの10 カ国12ヵ所の各国拠点と連携してソリューションを 提供しています。 数カ月におよぶ厳しいトレーニングを経て最終合格 率約1%の難関を突破した、選びぬかれた1,000名以 上の専門スタッフが、脅威の解析やソリューションへ の反映など、24時間365日体制でインターネットの脅 威動向を常時監視・分析しています。 世界中から収集した脅威情報を、各種レピュテーシ ョンデータベースや不正プログラム、迷惑メールな どの各種パターンファイルなど、グローバル共通の ソリューションに随時反映しています。 サポートセンターの役割も兼ねる研究所として、お 客様に満足いただけるサポート体制を整備し、より 多くの脅威に迅速に対応しています。

参照

関連したドキュメント

問についてだが︑この間いに直接に答える前に確認しなけれ

この 文書 はコンピューターによって 英語 から 自動的 に 翻訳 されているため、 言語 が 不明瞭 になる 可能性 があります。.. このドキュメントは、 元 のドキュメントに 比 べて

  BCI は脳から得られる情報を利用して,思考によりコ

題護の象徴でありながら︑その人物に関する詳細はことごとく省か

の知的財産権について、本書により、明示、黙示、禁反言、またはその他によるかを問わず、いかな るライセンスも付与されないものとします。Samsung は、当該製品に関する

このような情念の側面を取り扱わないことには それなりの理由がある。しかし、リードもまた

本文書の目的は、 Allbirds の製品におけるカーボンフットプリントの計算方法、前提条件、デー タソース、および今後の改善点の概要を提供し、より詳細な情報を共有することです。

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本