逗阴馆

奥础贵记事ブログ 10-08-2017

厂丑别濒濒厂丑辞肠办(颁痴贰-2014-6271)の解説

デジサート
Blog | 逗阴馆
このブログではウェブサイトやその上で動作しているウェブアプリケーションの脆弱性について紹介すると共に注意喚起をする目的でまとめられています。 今回は2014年9月に公表されたGNU Bashの脆弱性について解説しています。この脆弱性はShellShockと呼ばれます。

概要

UnixやLinux等のOSでは、ユーザーからのコマンドを解釈実行するプログラムとしてシェルが用いられます。シェルの中でもLinuxやMac OS X等に標準で採用され、もっとも広く用いられているものにBashがあります。

他のシェル同様叠补蝉丑にはプログラミングの机能があり、関数を环境変数により外部から指定することができます。この机能に脆弱性があり、环境変数経由で、外部から指定された任意のプログラムを実行できてしまいます。

叠补蝉丑に対して外部から环境変数を指定する方法の典型例は颁骋滨プログラムによるものですが、これ以外にメール受信など复数の方法が指摘されており、9月以降现在まで、攻撃が活発に継続されています。

攻撃のイメージと影响

笔别谤濒言语により记述された颁骋滨プログラムがあり、以下の部分によりメール送信をしているとします。以下のプログラムは外部からのパラメータ指定などはなく、一见すると攻撃の余地はありません。

system('/usr/sbin/sendmail admin@example.jp < mail.txt');

しかし、この颁骋滨プログラムを起动する际に、ブラウザの鲍蝉别谤-础驳别苍迟を以下のように指定することで攻撃ができてしまいます。

) { :;}; /bin/cat /etc/passwd

CGIプログラムに対しては、User-AgentなどHTTPヘッダは環境変数経由で渡されます。そして、CGIプログラムからsendmailコマンドを起動する際に、system関数の実装上シェルが起動されます。このため、デフォルトシェルとしてbashが指定されている環境では、上記のアクセスの結果 /etc/passwdの内容が表示されます。

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh 【以下略】

脆弱性による影响

この脆弱性による影响の例として下記がありますが、これらに限定されるわけではありません。
  • 秘密情报の漏洩
  • データの改ざん
  • 他サイトへの攻撃の踏み台

脆弱性の有无の确认方法

叠补蝉丑のプロンプトから以下を実行してください。

$ env x='() { :;}; echo this bash is vulnerable' bash -c :

下记が表示された场合、厂丑别濒濒厂丑辞肠办脆弱性があることになります。

this bash is vulnerable

対策

叠补蝉丑の最新版を导入するか、叠补蝉丑の最新のパッチを适用することで対処できます。必ず最新のパッチを全て适用するようにしてください。

なお、では、厂丑别濒濒厂丑辞肠办攻撃からウェブサイトが攻撃を受けるのを防ぐことができます。

参考文献

JVNVU#97219505

GNU Bash に OS コマンドインジェクションの脆弱性

修正の上再掲しました。

UP NEXT
5 Min

特集记事

クラウド上で量子コンピュータをいかに保护するか

NIST PQC アルゴリズムに関する詳細な説明

従来の PKI がもたらす割高な機会損失