Linux的Bash安全漏洞,比心臟出血Heartbleed還糟

Linux安全漏洞 比心臟出血還糟

網路安全專家基多今天警告,電腦作業系統Linux用來控制命令提示視窗的軟體Bash有一個安全漏洞,對於電腦使用者的威脅可能大於4月出現的「心臟出血」(Heartbleed)。

根據網路安全公司Trail of Bits執行長基多(DanGuido),駭客可以利用「心臟出血」監看某部電腦,但無法控制它們;駭客則可以利用Bash的安全漏洞,完全控制使用Linux的電腦。

基多說:「利用這個漏洞的方法非常簡單,只消將一列指令貼上去,就完成了。」

基多表示,他考慮把自家公司非必要的伺服器下線,以免駭客利用Bash的漏洞攻擊這些伺服器,等到他能修補這套軟體後再重新打開。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

CVE-2014-6271

新闻很迅速阿,这个是今天的及时消息

我要成為幸運的一般會社員

Unix /Linux 的Bash Shell 出現重大漏洞,危險等級可能超越 Heartbleed

美國電腦緊急應變中心(US-CERT)、紅帽,及多家資安業者於周三(9/24)警告,在UNIX平台上被廣泛使用的Bash Shell含有嚴重漏洞,該漏洞可能讓駭客遠端執行惡意程式,影響GNU、Linux及Mac OS等基於UNIX的各種作業系統。有資安業者認為,此一被稱為Shell Shock的漏洞影響程度可能與Heartbleed相當,甚至更甚於Heartbleed

Bash Shell為UNIX的介面程式,不但是GNU作業系統的介面程式,也是Linux及Mac OS X的預設介面程式,算是各種Linux版本上最常見的公用程式。它採用命令列介面,允許使用者輸入文字命令,也可讓使用者遠端下達指令(如透過ssh或 telnet)。

此一漏洞是由法國的軟體開發人員Stéphane Chazelas所發現,負責維護Bash Shell的Chet Ramey已經修補該漏洞,更新了自Bash 3.0至Bash 4.3的版本,各界則統一於周三公布該漏洞。

根據開放源碼安全郵件論壇OSS-Sec的說明,Bash不僅支援介面變數的匯出,也可藉由程序環境至子程序將介面功能匯出至其他Bash實例,目前Bash的各種版本使用由功能名稱命名的環境變數,在環境變數中是以 ( ) {為始於該環境中傳遞功能定義,此一漏洞的產生源自於在處理功能定義後,Bash並沒有就此停住,它繼續解析與執行功能定義之後的其他介面命令。因此,若有駭客在功能定義後加入惡意命令,就會加重漏洞的嚴重性。


Bash specially-crafted environment variables code injection attack

Bash or the Bourne again shell, is a UNIX like shell, which is perhaps one of the most installed utilities on any Linux system. From its creation in 1980, bash has evolved from a simple terminal based command interpreter to many other fancy uses.

In Linux, environment variables provide a way to influence the behavior of software on the system. They typically consists of a name which has a value assigned to it. The same is true of the bash shell. It is common for a lot of programs to run bash shell in the background. It is often used to provide a shell to a remote user (via ssh, telnet, for example), provide a parser for CGI scripts (Apache, etc) or even provide limited command execution support (git, etc)

Coming back to the topic, the vulnerability arises from the fact that you can create environment variables with specially-crafted values before calling the bash shell. These variables can contain code, which gets executed as soon as the shell is invoked. The name of these crafted variables does not matter, only their contents. As a result, this vulnerability is exposed in many contexts, for example:

  • ForceCommand is used in sshd configs to provide limited command execution capabilities for remote users. This flaw can be used to bypass that and provide arbitrary command execution. Some Git and Subversion deployments use such restricted shells. Regular use of OpenSSH is not affected because users already have shell access.
  • Apache server using mod_cgi or mod_cgid are affected if CGI scripts are either written in bash, or spawn subshells. Such subshells are implicitly used by system/popen in C, by os.system/os.popen in Python, system/exec in PHP (when run in CGI mode), and open/system in Perl if a shell is used (which depends on the command string).
  • PHP scripts executed with mod_php are not affected even if they spawn subshells.
  • DHCP clients invoke shell scripts to configure the system, with values taken from a potentially malicious server. This would allow arbitrary commands to be run, typically as root, on the DHCP client machine.
  • Various daemons and SUID/privileged programs may execute shell scripts with environment variable values set / influenced by the user, which would allow for arbitrary commands to be run.
  • Any other application which is hooked onto a shell or runs a shell script as using bash as the interpreter. Shell scripts which do not export variables are not vulnerable to this issue, even if they process untrusted content and store it in (unexported) shell variables and open subshells.

Like “real” programming languages, Bash has functions, though in a somewhat limited implementation, and it is possible to put these bash functions into environment variables. This flaw is triggered when extra code is added to the end of these function definitions (inside the enivronment variable). Something like:

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

The patch used to fix this flaw, ensures that no code is allowed after the end of a bash function. So if you run the above example with the patched version of bash, you should get an output similar to:

 $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
 bash: warning: x: ignoring function definition attempt
 bash: error importing function definition for `x'
 this is a test

We believe this should not affect any backward compatibility. This would, of course, affect any scripts which try to use environment variables created in the way as described above, but doing so should be considered a bad programming practice.

Red Hat has issued security advisories that fixes this issue for Red Hat Enterprise Linux. Fedora has also shipped packages that fixes this issue.

We have additional information regarding specific Red Hat products affected by this issue that can be found at https://access.redhat.com/site/solutions/1207723

Information on CentOS can be found at http://lists.centos.org/pipermail/centos/2014-September/146099.html.


我以為要複製貼上綠色的全部內容,結果只有「env x='() { :;}; echo vulnerable' bash -c "echo this is a test"」這個指令!

我也來玩看看!打開「終端機」以後,貼上「env x='() { :;}; echo vulnerable' bash -c "echo this is a test"」指令,再按Enter,就會看到螢幕上有顯示底下的兩行「vulnerable」跟「this is a test」。

這表示Mac OS X也有相同的漏洞,所以很可能會有駭客入侵我的MacBook Pro了嗎?

bashbug.jpg

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

这个是bash的漏洞,如果在mac上面使用受到影响的bash版本都会如此

我要成為幸運的一般會社員

我沒差!就算駭客入侵我的MacBook Pro也沒用!我根本從來都不拍啥「OOXX裸照」!電腦裡面只有一大堆駭客根本不想看的「美食寫真」以及一堆「旅遊風景寫真」而已!

要是駭客免費幫我把「美食寫真」以及一堆「旅遊風景寫真」流出去,貼到各大網站,幫我打廣告,我還很開心咧~

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

Bash 漏洞已出現攻擊行動,又傳出修補後仍有漏洞!

Linux及Mac OS上使用相當普遍的Bash shell傳出Shellshock(破殼,殼層衝擊)漏洞(CVE-2014-6271)才一天時間,包括澳洲電腦緊急應變中心、以及趨勢科技、卡巴斯基、Bluecoat等資安業者都表示,已經發現鎖定該漏洞的攻擊行動。此外,雖然各家Linux業者已釋出修補程式,但後來又發現修補並不完全。

趨勢科技則指出,由於這個臭蟲的分布相當廣泛,再加上其攻擊的技術門檻相當低,因此可能的傷害也會很大。網際網路上有過半的伺服器用的都是Linux,另外還有Android手機及許多的物聯網裝置,更讓這個漏洞的觸角無遠弗屆。此外,Bitcoin Core也是用Bash來控制,因此該漏洞也影響了比特幣的採礦與相關系統,這也提高了對攻擊者的吸引力。同時,趨勢表示,已經看到攻擊行為已經在展開。

Bluecoat的資深研究員Waylon Grange也表示,已經開始看到DDOS殭屍網路嘗試利用這個漏洞展開攻擊,而且可能不需多久時間就會看到鎖定這個漏洞的流量大幅增加。他表示,由於這個臭蟲存在於 /bin/bash 解析器(parser),因此網站接受來自用戶端的許多欄位(fields)皆可以在標頭(header)注入任何的惡意程式。使用者代理(User Agent)、引用(referrer)、URL變數、cookies,任何其他的標頭欄位都可能受到影響。他認為,隨著越來越多共通的網頁框架將會被分析出來,未來將會有更多的目標式攻擊出現。

賽門鐵克則表示,相關攻擊最有可能通過使用廣泛的CGI網頁伺服器(web server),攻擊者可能會利用CGI發送一個畸形的環境變數到低防護的web server讓伺服器執行惡意指令。攻擊者一旦成功利用伺服器上的漏洞,便可下載惡意程式到受感染的電腦,並突破受害者電腦的防火牆,感染網路上的其他電腦。除了多個版本的Linux和Unix作業系統,包括Mac OS X都有可能受到攻擊外,以Bash運作的物聯網和嵌入式設備,如路由器也可能受到威脅。然而,許多較新的設備都以一套稱為BusyBox的工具取代Bash運作,因此不受此漏洞影響。

測試網站是否有ShellShock漏洞:到 bashsmash.ccsir.org 網站直接輸入網址即可。


是喔~我也去測試看看!結果說是:你似乎不容易受到攻擊,但你的一個頁面上可能仍然容易受到Shellshock!

You don't seem to be vulnerable but please have in mind that one of your pages might still be vulnerable to Shellshock!

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

Bash Bug引恐慌 風險答客問

網路安全專家警告,新程式漏洞「Bash Bug」可能對數百萬台電腦及家用網路路由器等其他裝置構成嚴重威脅。就連用來管理廠房和發電廠的系統也可能受影響。

以下為關於這個引發最新安全恐慌程式瑕疵的問與答。

*何謂Bash Bug?

這種臭蟲又稱「Shellshock」,出現在被普遍使用的系統軟體Bash中。Bash自1989年就存在,用於Linux、蘋果電腦Mac OS X等各種以Unix為基礎的作業系統中。

*為何人們說Bash Bug比加密軟體安全瑕疵「心臟出血」可怕?

心臟出血能使駭客竊取密碼和其他敏感資料,BashBug則能使外來者掌控受影響的裝置,以安裝程式或下達指令。

*Bash已存在25年,為何此漏洞現在成為威脅?

因為Akamai科技公司的查茲拉斯(StephaneChazelas)剛剛發現這項漏洞。心臟出血存在超過2年後才被發現。

*該擔心嗎?

截至目前為止,Bash Bug似乎比較像是潛在麻煩,而非重大威脅。對Mac使用者而言,比較令人感到煩惱。電腦安全公司Veracode技術長魏索帕(ChrisWysopal)表示,Bash Bug將使駭客更易控制使用咖啡廳或機場等公共Wi-Fi的Mac電腦。

*能做什麼因應?

用戶現在無法做些什麼,只能等製造商為自家產品推出補救措施。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

Linux大廠二度釋出Shellshock漏洞的修補程式!

上周傳出Bash Shell殼層程式Shellshock漏洞之後,包括紅帽(RedHat)及Ubuntu等Linux版本也都紛紛釋出修補程式。然而隨即又傳出Bash Shell的新漏洞,因此業者再次釋出修補程式以妥善解決Bash漏洞問題。

美國國家漏洞資料庫(NVD)是在9月24日發出CVE-2014-6271通報,指出4.3 版以前的GNU Bash皆存在一個漏洞,讓攻擊者可藉由偽造環境變數遠端執行任意程式碼,其影響等級NVD給予最嚴重的10.0分。然而,由於CVE-2014-6271漏洞修補並不完整,因此NVD緊接著又在9月25日發出CVE-2014-7169通報,該通報說明,這個漏洞的存在是因為CVE-2014-6271修復並不完全。後來則又發現了CVE-2014-7186及CVE-2014-7187兩個漏洞。這次紅帽與Canonical二度釋出的修補程式則一口氣修補了上述漏洞。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

甲骨文緊急修補Bash漏洞,四十多款產品還在排隊!

甲骨文(Oracle)於上周釋出更新程式,修補部份產品中有關Bash Shell的CVE-2014-7169漏洞,但仍有四十多款產品目前還未釋出修補程式。

第一個被發現的Bash Shell漏洞為CVE-2014-6271,但外界很快就發現針對該漏洞的修補程式既不完整也不正確,因而再發布了CVE-2014-7169漏洞通報,此次甲骨文即是針對CVE-2014-7169進行漏洞修補,並說明該漏洞將允許駭客在未經認證下遠端執行任意程式。

該漏洞初估影響了數十款甲骨文產品,不過,甲骨文初步釋出的修補程式只涵蓋少數產品

至於其他同樣受到相關漏洞影響,但卻未修補的產品數量則更多,包含Big Data Appliance、Oracle Communications系列產品、Oracle Fusion及Oracle Switch ES1-24等超過40項。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏

Bash 漏洞連環爆:第二波修補還未完,第三波漏洞又來襲!

Bash Shell在上周爆發的Shellshock漏洞風波還在繼續延燒,繼CVE-2014-6271、CVE-2014-7169之後又有CVE-2014-7186及CVE-2014-7187。Linux大廠才剛開始釋出第二波修補程式,現在再添兩個新漏洞:CVE-2014-6277與CVE-2014-6278。

對於這兩個安全漏洞Google安全工程師Michal Zalewski表示,CVE-2014-6277是個遠端攻擊漏洞,駭客能夠藉由該漏洞存取未初始化的記憶體,包括讀取或寫入,而CVE-2014-6278則是他認為迄今最嚴重的Bash漏洞,非常容易就能自遠端執行程式。Michal並表示,檢查該漏洞是否已修補的簡單方法,就是利用以下指令:

foo='() { echo not patched; }' bash -c foo


我打開Mac OS X 10.9.5的終端機,複製貼上上面的指令,當然也是會看到「not patched」的回應!啥?遠端攻擊安全性漏洞很可怕?是喔~不知道有誰要來攻擊我的MacBook Pro?

Last login: Wed Oct  1 16:28:59 on console

shindouhikaru:~ hikaru$ foo='() { echo not patched; }' bash -c foo

not patched

shindouhikaru:~ hikaru$ 

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏