發生在 UNIX 及 Linux 系統的 Bash 漏洞,令不少系統管理員膽顫心驚。但其實只要系統有經常更新,通常都不會有問題。但假如還是不放心的話,可以使用由 Red Hat 提供的一段命令檢查。
Bash Shell 其實從 2004 年 7 月起就已經存在一個安全漏洞,允許環境變數設定指令夾帶惡意命令被一併執行。當今世界上運作中的 Mac OS X、Linux 和 UNIX 系統甚至 Android 都有 Bash ,因此牽連範圍甚廣。Red Hat 資訊安全部門的部落格提供了一個簡單的測試命令,只要打開終端機執行它,便可得知系統有沒有受到攻擊的潛在可能。此命令不但可在 Red Hat Enterprise Linux (RHEL) 上使用,在 CentOS、Fedora、ubuntu、Debian 和 openSUSE 上也可執行。
env ‘x=() { :;}; echo vulnerable’ ‘BASH_FUNC_x()=() { :;}; echo vulnerable’ bash -c “echo test"
看到以下輸出結果便表示有問題,要馬上更新。
vulnerable
bash: BASH_FUNC_x(): line 0: syntax error near unexpected token `)’
bash: BASH_FUNC_x(): line 0: `BASH_FUNC_x() () { :;}; echo vulnerable’
bash: error importing function definition for `BASH_FUNC_x’
test
看到以下輸出結果也表示有問題,雖然已有基本的 Shellshock 修正低不全面,如樣要馬上更新。
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
bash: error importing function definition for `BASH_FUNC_x()’
test
看到以下輸出結果便表示沒有問題。
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `BASH_FUNC_x’
test
另一個命令也可測試系統是否有 Shellshock 抵抗能力。
cd /tmp; rm -f /tmp/echo; env ‘x=() { (a)=>\’ bash -c “echo date"; cat /tmp/echo
看到以下輸出結果,即結果中含有時間資訊,建議馬上更新系統。
bash: x: line 1: syntax error near unexpected token `=’
bash: x: line 1: `’
bash: error importing function definition for `x’
Fri Sep 29 11:49:58 GMT 2014
看到以下輸出結果便表示沒有問題。
date
cat: /tmp/echo: No such file or directory
暫時 Raspberry Pi、ubuntu 14.04、RHEL7 和 Azure 提供的 ubuntu 磁碟映像檔的 Bash ,都是已修正過的版本。