作者 主題: Apache HTTP server存在嚴重漏洞危及web安全/蠕虫出現  (閱讀 5249 次)

0 會員 與 1 訪客 正在閱讀本文。

protech

  • 活潑的大學生
  • ***
  • 文章數: 322
  • 性別: 男
    • 檢視個人資料
涉及程序:
Apache 1.x
 
描述:
Apache HTTP server存在嚴重漏洞危及web安全/蠕虫出現(更新)
 
詳細:
注:很多商業的web服務器包括Oracle 9i、IBM Websphere都使用Apache HTTP server。Apache是目前使用得最多的web server軟件之一,也是Open source的,被人們視為最好用的Free web服務器軟件。
最近發現Apache服務器存在遠程緩沖溢出漏洞,允許遠程非法root訪問。這個漏洞非常嚴重,影響多個平台上的Apache web server。
目前互聯網上已經出現利用這個漏洞進行大規模攻擊的蠕虫程序。
-------------------------------------------------------------------------
細節:
chunk encoding,是HTTP協議定義的用接受web用戶所提交數據的功能。當web用戶提交數據,web server需要為這些數據分配一個確定大小的緩沖區,但當提交的數據長度不確定的時候,客戶端將通過與HTTP SERVER協商的機制創建一個數據塊向web server提交數據。
Apache服務器缺省也提供了對塊編碼(chunked encoding)支持。Apache使用了一個有字符變量儲存分塊長度,同時分配了一個固定大小的堆棧緩沖區來儲存分塊數據。出安全考慮,在將塊數據拷貝到緩沖區之前,Apache會對塊長度進行檢查,如果塊長度大緩沖區長度,Apache將最多只拷貝緩沖區長度的數據,否則,則根據塊長度進行數據拷貝。然而在進行上述檢查時,沒有將塊長度轉換為非字符型進行比較,因此,如果攻擊者將塊長度設置成一個負值,就會繞過上述安全檢查,Apache會將一個超長(至少>0x80000000字節)的塊數據拷貝到緩沖區中,這會造成一個緩沖區溢出。
對這個錯誤,Windows版本1.3.24和Unix版本1.x,有相同的攻擊原理。現在已經証實在Win32系統下, 遠程攻擊者可以利用這一漏洞執行任意代碼。據報告稱下列系統也可以成功的利用:
*    Sun Solaris 6-8 (sparc/x86)
*    FreeBSD 4.3-4.5 (x86)
*    OpenBSD 2.6-3.1 (x86)
*    Linux (GNU) 2.4 (x86)

對Apache 2.0到2.0.36(含2.0.36),盡管存在同樣的問題代碼,但它會檢測錯誤出現的條件並使子進程退出。
遠程攻擊者如果成功利用漏洞,可以修改web文件、發起拒絕服務和相關的,利用apache web server對系統的非法訪問。

About this issue:
6月16日發布漏洞信息
6月18日發布第一個攻擊腳本
6月25日發布第二個攻擊腳本
6月29日發布apache蠕虫

==========================
受影響的程序:
Apache Group Apache 2.0.34-BETA win32
Apache Group Apache 2.0.32-BETA win32
Apache Group Apache 2.0.28-BETA win32
Apache Group Apache 1.3.9win32
Apache Group Apache 1.3.9
Apache Group Apache 1.3.7-dev
Apache Group Apache 1.3.6win32
Apache Group Apache 1.3.4
Apache Group Apache 1.3.3
Apache Group Apache 1.3.24win32
Apache Group Apache 1.3.24
Apache Group Apache 1.3.23win32
Apache Group Apache 1.3.23
Apache Group Apache 1.3.22win32
Apache Group Apache 1.3.22
Apache Group Apache 1.3.20win32
Apache Group Apache 1.3.20
Apache Group Apache 1.3.19win32
Apache Group Apache 1.3.19
Apache Group Apache 1.3.18win32
Apache Group Apache 1.3.18
Apache Group Apache 1.3.17win32
Apache Group Apache 1.3.17
Apache Group Apache 1.3.16win32
Apache Group Apache 1.3.15win32
Apache Group Apache 1.3.14win32
Apache Group Apache 1.3.14Mac
Apache Group Apache 1.3.14
Apache Group Apache 1.3.13win32
Apache Group Apache 1.3.12win32
Apache Group Apache 1.3.12
Apache Group Apache 1.3.11win32
Apache Group Apache 1.3.11
Apache Group Apache 1.3.1
Apache Group Apache 1.3
=========================================
不受影響程序:  
Apache Group Apache 2.0.39
Apache Group Apache 1.3.26
=================================
 
 
攻擊方法:
更新攻擊腳本:
apache-scalp.c OPENBSD/X86 APACHE REMOTE EXPLOIT
apache-nosejob.c OpenBSD/NetBSD

目前互聯網上已經出現針對這個漏洞的蠕虫。這個蠕虫自動尋找脆弱的Apache web server實施攻擊,駐留並攻擊感染其它的Apache web server。代碼下載:
apache-worm.c
eEye為此漏洞開發了一個脆弱性掃描器,下載:
RetinaApacheChunked.exe

 
 
解決方案:
正式解決方案:下載補丁程序:
=========================================================================================

Apache:
http://www.apache.org/dist/httpd/

=========================================================================================
slackware:
Updated Apache package for Slackware 8.0:
ftp://ftp.slackware.com/pub/slackware/slackware-8.0/patches/packages/apache.tgz

Updated Apache package for Slackware 8.1:
ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/apache-1.3.26-i386-1.tgz

Updated mod_ssl package for Slackware 8.0:
ftp://ftp.slackware.com/pub/slackware/slackware-8.0/patches/packages/mod_ssl.tgz

Updated mod_ssl package for Slackware 8.1:
ftp://ftp.slackware.com/pub/slackware/slackware-8.1/slackware/n/mod_ssl-2.8.9_1.3.26-i386-1.tgz

=========================================================================================

OpenLinux:
ftp://ftp.caldera.com/pub/updates/OpenLinux/3.1.1/Server/current/RPMS
ftp://ftp.caldera.com/pub/updates/OpenLinux/3.1.1/Workstation/current/RPMS
============================================================================================
Debian
------
Debian已經為此發布了一個安全公告(DSA-131-1)以及相應補丁:
DSA-131-1:Apache chunk handling vulnerability
鏈接:http://www.debian.org/security/2002/dsa-131

補丁下載:
Source archives:
http://security.debian.org/dists/stable/updates/main/source/apache_1.3.9-14.1.diff.gz
http://security.debian.org/dists/stable/updates/main/source/apache_1.3.9-14.1.dsc
http://security.debian.org/dists/stable/updates/main/source/apache_1.3.9.orig.tar.gz

Architecture independent archives:
http://security.debian.org/dists/stable/updates/main/binary-all/apache-doc_1.3.9-14.1_all.deb

Alpha architecture:
http://security.debian.org/dists/stable/updates/main/binary-alpha/apache-common_1.3.9-14.1_alpha.deb
http://security.debian.org/dists/stable/updates/main/binary-alpha/apache-dev_1.3.9-14.1_alpha.deb
http://security.debian.org/dists/stable/updates/main/binary-alpha/apache_1.3.9-14.1_alpha.deb

ARM architecture:
http://security.debian.org/dists/stable/updates/main/binary-arm/apache-common_1.3.9-14.1_arm.deb
http://security.debian.org/dists/stable/updates/main/binary-arm/apache-dev_1.3.9-14.1_arm.deb
http://security.debian.org/dists/stable/updates/main/binary-arm/apache_1.3.9-14.1_arm.deb

Intel IA-32 architecture:
http://security.debian.org/dists/stable/updates/main/binary-i386/apache-common_1.3.9-14.1_i386.deb
http://security.debian.org/dists/stable/updates/main/binary-i386/apache-dev_1.3.9-14.1_i386.deb
http://security.debian.org/dists/stable/updates/main/binary-i386/apache_1.3.9-14.1_i386.deb

Motorola 680x0 architecture:
http://security.debian.org/dists/stable/updates/main/binary-m68k/apache-common_1.3.9-14.1_m68k.deb
http://security.debian.org/dists/stable/updates/main/binary-m68k/apache-dev_1.3.9-14.1_m68k.deb
http://security.debian.org/dists/stable/updates/main/binary-m68k/apache_1.3.9-14.1_m68k.deb

PowerPC architecture:
http://security.debian.org/dists/stable/updates/main/binary-powerpc/apache-common_1.3.9-14.1_powerpc.deb
http://security.debian.org/dists/stable/updates/main/binary-powerpc/apache-dev_1.3.9-14.1_powerpc.deb
http://security.debian.org/dists/stable/up


補丁安裝方法:

1. 手工安裝補丁包:

首先,使用下面的命令來下載補丁軟件:
# wget url (url是補丁下載鏈接地址)

然,使用下面的命令來安裝補丁:  
# dpkg -i file.deb (file是相應的補丁名)

2. 使用apt-get自動安裝補丁包:

  首先,使用下面的命令更新內部數據庫:
  # apt-get update
   
  然,使用下面的命令安裝更新軟件包:
  # apt-get upgrade

FreeBSD
-------
FreeBSD已經為此發布了一個安全公告(FreeBSD-SN-02:04)以及相應補丁:
FreeBSD-SN-02:04:security issues in ports
鏈接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SN-02:04 .asc

為了升級一個修復的port包,可以採用下列兩種方法中的任意一種:

1) 更新您的“Ports Collection”,然重建、重新安裝port.您可以使用下列幾個工具來使升級工作更簡單:

/usr/ports/devel/portcheckout
/usr/ports/misc/porteasy
/usr/ports/sysutils/portupgrade

2) 卸載舊的port軟件包,從下列地址獲取並安裝一個新的包:

[i386]
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/All/

OpenBSD
-------
目前廠商已經發布了升級補丁以修復這個安全問題,請到廠商的主頁下載:

ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.1/common/005_httpd.patch

更多信息可以參考如下鏈接:
http://www.openbsd.org/errata.html#httpd  

本文出自:http://www.cnns.net 作者: (2002-07-04 06:02:00)