GB | BIG5
|
| 首頁 > 安全技術 > 系統 > 正文 |
 |
| Unix高級安全設置 一、Unix歷史與發展 二、Unix典型安全隱患 |
| 本文出自:http://sinbad.zhoubin.com 作者: KCN (2002-11-29 06:02:00) |
第一部分 Unix歷史與發展
1.1 UNIX簡介
UNIX 已有數十年的歷史,在這期間,它的改變即使沒有上億次,也有數百萬次了,有成千上
萬的個人和公司實現了上千種不同的版本,有上百萬系統管理員在從微型嵌入式系統到超級
計算機上都安裝過它。無可爭論,沒有兩個實際的UNIX操作系統是完全相同的。
UNIX”一詞是屬Open Group的一個商標,該組織是一個要求符號得到正確歸屬的國際
協會。在這數十年當中,該標識已經被沖淡到沒有具體含義。雖然如此,Open Group仍發布
了“The Single UNIX Specification”,這可以在http://www.UNIX-systems.org/online.
html上看到。
“Unix”是雙關語,表示名字Multics,它最初被寫作“Unics”,表示UNiplexed Info
rmation and Computing System。“Unix”和“UNIX”在如今都被廣泛使用。曾經有一段時
間,Dennis Ritchie試圖宣布用小寫版本,因為“UNIX”不是開頭字母組成。
許多運行Linux等類似UNIX系統的人認為他們運行的是UNIX。正式UNIX系統和非正式UNI
X系統通常被認為屬一類----不論是書中、媒介、網上還是社會公認。
按照UNIX FAQ的定義,UNIX是“一個用C語言編寫的操作系統,它有層次文件系統並集成
了文件和設備I/O,其系統調用接口包括fork ( )和pipe ( )等服務,用戶界面包括cc、tro
ff、grep、awk等工具和一個被選擇的shell”。可以再加一些,UNIX為多任務提供一致的方
式,並內置有創建、同步和終止進程的操作,它可在不同種類計算機間進行移植。
1.2 UNIX發展與歷史
1969年,Ken Thompson、Dennis Ritchie和其他一些人在AT&T貝爾實驗室開始進行一個“li
ttle-used PDP-7 in a corner”的工作,它來成為UNIX。10年裡,UNIX在AT&T的發展經歷
了數個版本。V4(1974)用C語言重寫,這成為系統間操作系統可移植性的一個裡程碑。V6(
1975)第一次在貝爾實驗室以外使用,成為加州大學伯克利分校開發的第一個UNIX版本的基
礎。
貝爾實驗室繼續在UNIX上工作到80年代,有1983年的System V(“五”,不是字母)版本和
1989年的System V,Release 4(縮寫為SVR4)版本。同時,加利福尼亞大學的程序員改動了
AT&T發布的源代碼,引發了許多主要論題。Berkeley Standard Distribution(BSD)成為第
2個主要“UNIX”版本。1984年的BSD 4.2版在大學和公司計算部門中得到廣泛應用,它的一
些特征被吸收到SVR4中。
從90年代開始,AT&T的源代碼許可証創造了市場的繁榮,不同開發者開發了數百種UNIX版本
。AT&T在1993年把UNIX產業賣給了Novell, Novell兩年又把它賣給了Santa Cruz Operati
on。同時,UNIX商標被轉讓給X/Open協會,X/Open協會來成為了Open Group。
當UNIX的經營從一個實體到另一個實體傳遞時,幾個長期的開發開始收獲果實。傳統上,要
得到一個運行的BSD系統,用戶需要從AT&T得到源代碼許可証。但到90年代早期,伯克利的開
發者在BSD上做了許多工作,使原始的AT&T源代碼大部分被改動了。續的程序員,從Willi
am和Lynne Jolitz開始在網絡分布環境中開發BSD,來在1992年成為386BSD 0.1版。這個最
初的“免費源代碼”BSD具有三個分支,即:Net BSD、Free BSD和Open BSD,都以BSD 4.4為
基礎。
1984年,程序員Richard Stallman開始開發來源UNIX的免費GNU(GNU Not UNIX)。到90年
代早期,GNU項目出現了幾個編程裡程碑,包括GNU C庫和Bourne Again Shell (bash)的發行
。整個系統除了一個關鍵因素即工作內核外基本完成。
接下來是芬蘭赫爾辛基大學的學生Linus Torvalds。Linus看到了一個叫作Minix的小型UNIX
系統,覺得自己能做得更好。1991年秋天,他發行了一個叫“Linux”的免費軟件內核的源代
碼是他的姓和Minux的組合。到1994年,Linus和一個內核開發小組發行了Linux 1.0版。L
inus和朋友們有一個免費內核,Stallman和朋友們擁有一個免費的UNIX克隆系統的其余部分
。人們把Linux內核和GNU合在一起組成一個完整的免費系統,該系統被稱為“Linux”,盡管
Stallman更願意取名為“GNU/Linux System”[6]。有幾種不同類別的GNU/Linux:一些可以
被公司用來支持商業使用,如Red Hat、Caldera Systems和S.U.S.E;其他如Debian GNU/Li
nux,更接近最初的免費軟件概念。
Linux現已發展到內核2.2版。Linux能在幾種不同體系結構的芯片上運行,並已經被各界接納
或支持。其支持者有惠普、硅谷圖像和Sun等有較長歷史的UNIX供應商,還有康柏和Dell等P
C供應商以及Oracle和IBM等主要軟件供應商。或許最具諷刺的是,微軟承認無所不在的免費
軟件的競爭性威脅,但它不願或不能公開自己的軟件源代碼。
來微軟開始推出Windows NT (Windows 2000)。到90年代末,許多供應商開始放棄UNIX服務
器平台而轉向Windows NT。例如Silicon Graphics 公司已決定把Intel硬件和NT作為未來的
圖形平台
第二部分 Unix典型安全隱患
2.1 RPC守護進程程序的錯誤使入侵者可以直接獲得root權限
對Unix威脅最大可以說就是rpc上面的漏洞,遠程過程調用(Remote Procedure Call)允許
一台計算機上的程序去執行另一台計算機上的程序。它們廣泛的應用在各種網絡服務中,如
文件共享服務NFS。有很多漏洞是RPC本身的缺陷導致的,它們正不停的湧現出來。有很明顯
的証據表明,1999年末2000年初大規模的分布式拒絕服務攻擊中,很多被作為攻擊跳板的犧
牲品就是因為存在RPC漏洞。在Solar Sunrise事件期間,對美國陸軍廣為人知的成功攻擊就
是因為在數百台國防部的系統中找到了一個RPC漏洞。
2.2 一些應用的遠程漏洞
遠程漏洞可以使遠程攻擊者在只對開放了有漏洞服務的應用利用的情況下,就可以得到一些
權限或者root權限。
例如:BIND程序存在的問題,利用nxt,qinv,in.named可直接得到root權限
BIND(Berkeley Internet Name Domain)軟件包是域名服務(DNS)的一個應用最廣泛的實現
軟件--我們所有人都通過它來定位Internet上的系統,只需知道域名(如www.cnns.net)
而不用知道IP地址,由此可體會它的重要性--這使它成為最受歡迎的攻擊目標。
2.3 本地漏洞
本地漏洞雖然沒有上面兩種漏洞那嚴重,但是他也是評估系統安全與否的一個重要因素,
它可以使權限地的系統用戶來提升自己的系統權限,或者使一個得到了一些權限的遠程攻擊
者,擴大自己的戰果,提升權限。
例如,ff.core緩沖區溢出漏洞,一個普通用戶只要執行一個簡單的腳本,就可以令緩沖區溢
出從而的到一個root shell。
2.4 暴露系統信息
嚴格的說這不是漏洞,但是他核你的系統安全相關。舉例子來說,finger暴露了系統合法用
戶名,默認shell等等信息,這就可以被攻擊者利用起來猜密碼。再如某個軟件的版本號暴露
,就會令攻擊者,針對此版本來進行攻擊,這就使攻擊者更容易的入侵的系統。
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |