網路安全基礎(二) 口令的安全性 (轉)

worldblog發表於2007-12-07
網路安全基礎(二) 口令的安全性 (轉)[@more@]

基礎(二)

/0008.#1">網路的者

與攻擊訊號

 


 

什麼叫攻擊?攻擊的法律定義是指:攻擊僅僅發生在入侵行為完全完成且入侵者已在目標網路內。但是更積極的觀點是(尤其是對網路安全管理員來說):可能使一個網路受到破壞的所有行為都應稱為攻擊。即從一個入侵者開始在目標機上工作的那個時刻起,攻擊就開始了。

通常,在正式攻擊之前,攻擊者先進行試探性攻擊,目標是獲取有用的資訊,此時包括掃描,埠掃描,帳戶掃描,轉換,以及惡性的sniffer(透過技術手段獲取ip packet,獲得系統的重要資訊,來實現對系統的攻擊,後面還會詳細講到),特洛依等。這時的被攻擊狀態中的網路經常會表現出一些訊號,特徵,例如:

· 日誌中有人企圖利用老的send就是比較明顯的攻擊的資訊,即有人在埠25上發出了兩三個命令,這些命令無疑是企圖欺騙將/etc/passwd的複製以的形式傳送給入侵者,另外show mount命令有可能是有人在收集的資訊。

· 大量的掃描應立即使意識到安全攻擊的出現。

· 某主機的一個服務埠上出現擁塞現象,此時應該檢查繫結在該埠上的服務型別。淹沒式和denial of service 式的攻擊通常是欺騙攻擊的先兆(或是一部分)。

· 等等。

良好周密的日誌記錄以及細緻的分析經常是預測攻擊,定位攻擊,以及遭受攻擊後追查攻擊者的有力武器。察覺到網路處於被攻擊狀態後,網路安全管理員應該立刻按照操作規程進行記錄,向主管領導彙報,相應的安全措施等處理。

對計算機網路進行攻擊的手段可以分為幾個主要種類,它們的危害程度和檢測辦法也各不相同:

1 收集資訊攻擊:

經常使用的工具包括:NSS, Strobescan, SATAN(Security Aadministrator's Tool for Auditing Network),Jakal, ntTCPscan, Scan等以及各種sniffer.廣義上說,特洛依木馬程式也是收集資訊攻擊的重要手段。收集資訊攻擊有時是其它攻擊手段的前奏。對於簡單的埠掃描,敏銳的安全管理員往往可以從異常的日誌記錄中發現攻擊者的企圖。但是對於隱秘的sniffer和trojan程式來說,檢測就是件更高階和困難的任務了。

1.1 sniffer

它們可以截獲口令等非常秘密的或專用的資訊,甚至還可以用來攻擊相鄰的網路,因此,網路中sniffer的存在,會帶來很大的威脅。這裡不包括安全管理員用來監視入侵者的sniffer,它們本來是設計用來診斷網路的連線情況的.它可以是帶有很強de功能的普通的網路分析器,也可以是和的聯合形式。現在已有工作於各種平臺上的sniffer,例如:

· Gobbler(MS-DOS)

· ETHLOAD(MS-DOS)

· Netman()

· Esniff.c(SunOS)

· Sunsniff(SunOS)

· -sniffer.c(Linux)

· NitWit.c(SunOS)

· etc.

檢測sniffer的存在是個非常困難的任務,因為sniffer本身完全只是被動地接收資料,而不傳送什麼。並且上面所列的sniffer程式都可以在internet上到,其中有一些是以原始碼形式釋出的(帶有.c副檔名的)。

一般來講,真正需要保密的只是一些關鍵資料,例如名和口令等。使用ip包一級的技術,可以使sniffer即使得到資料包,也很難得到真正的資料本身。這樣的工具包括 secure (ssh),以及F-SSH, 尤其是後者針對一般利用進行通訊的公共傳輸提供了非常強有力的,多級別的加密演算法。ssh有免費版本和商業版本,可以工作在unix上,也可以工作在 3.1, windows 95, 和.

另外,採用網路分段技術,減少信任關係等手段可以將sniffer的危害控制在較小範圍以內,也為發現sniffer的主人提供了方便.

1.2 Trojan

這是一種技術性攻擊方式. 1244中給出了trojan程式的經典定義:特洛依木馬程式是這樣一種程式,它提供了一些有用的,或僅僅是有意思的功能。但是通常要做一些使用者不希望的事,諸如在你不瞭解的情況下複製檔案或竊取你的密碼, 或直接將重要資料轉送出去,或破壞系統等等. 特洛依程式帶來一種很高階別的危險,因為它們很難被發現,在許多情況下,特洛依程式是在二進位制程式碼中發現的,它們大多數無法直接閱讀,並且特洛依程式可以作用在許許多多系統上,它的散播和的散播非常相似。從internet上下載的軟體,尤其是免費軟體和共享軟體,從匿名伺服器或者usernet新聞組中獲得的程式等等都是十分可疑的. 所以作為關鍵網路中的使用者有義務明白自己的責任,自覺作到不輕易安裝使用來路不清楚的軟體.

檢測一個特洛依程式,需要一些比較深入的有關的知識。可以透過檢查檔案的更改時間,檔案長度,校驗和等來檢查檔案是否進行過非預期的操作。另外,檔案加密也是有效的檢查特洛依程式的方法。可以使用的工具包括:

· trip wire 是一個廣泛應用的系統完整性工具.系統透過讀取檔案得到環境變數.在這個檔案中包含著所有的檔案標誌(filemarks),使用者可以詳盡地規定應該對哪些檔案作出哪些改變作出報告等.它們的數字簽名儲存在中.數字簽名可以使用的hash包括: MD5, MD4, CRC32, MD2, Snc frn, SHA等.

· TAMU程式包可以檢查許多專案,包括由CERT通知中定義的專案,以及最近的入侵事件中發現的專案,所有被改動的系統二進位制流,以及要求保密的那些關鍵路徑.

· Hobgoblin

· ATP(The Anti-Tampering Program)

後面兩種工具的使用沒有前面兩種那麼普遍,但是它們都各有特點.

2 denial of service:

這是一類個人或多個人利用internet組的某些方面妨礙甚至關閉其它使用者對系統和資訊的合法訪問的攻擊. 其特點是以潮水般的連線申請使系統在應接不暇的狀態中崩潰。對於大型網路而言,此類攻擊只是有限的影響, 但是卻可能導致較小網路退出服務, 遭到重創.

這是最不容易捕獲的一種攻擊,因為不留任何痕跡,安全管理人員不易確定攻擊來源。由於這種攻擊可以使整個系統癱瘓,並且容易實施,所以非常危險。但是從防守的角度來講,這種攻擊的防守也比較容易. 攻擊者透過此類攻擊不會破壞系統資料或獲得未授權的, 只是搗亂和令人心煩而已. 例如使網路中某個使用者的超出容限而不能正常使用等.

典型的攻擊包括如炸彈, 郵件列表連線,

2.1 炸彈

它是一種簡單有效的侵擾工具. 它反覆傳給目標接收者相同的資訊, 用這些垃圾擁塞目標的個人郵箱. 可以使用的工具非常多, 例如bomb02.zip(mail bomber), 執行在windows平臺上,使用非常簡單. unix平臺上發起email bomb攻擊更為簡單, 只需簡單幾行shell程式即可讓目標郵箱內充滿垃圾.

它的防禦也比較簡單. 一般郵件收發程式都提供過濾功能, 發現此類攻擊後, 將源目標地址放入拒絕接收列表中即可.

2.2 郵件列表連線

它產生的效果同郵件炸彈基本相同. 將目標地址同時註冊到幾十個(甚至成百上千)個郵件列表中, 由於一般每個郵件列表每天會產生許多郵件, 可以想象總體效果是什麼樣子. 可以手工完成攻擊, 也可以透過建立郵件列表資料庫而自動生成. 對於郵件列表連線,尚沒有的解決辦法. 受害者需要把包含登出"unsubscribe"資訊的郵件發往每個列表.

許多程式能夠同時完成兩種攻擊, 包括Up yours(Windows), KaBoom(Windows), Avalanche(Windows), Unabomber(Windows), eXtreme Mail(Windows), Homicide(Windows), Bombtrack(Macintosh), FlameThrower(Macintosh), etc.

2.3 其它

還有一些針對其它服務的攻擊, 例如Syn-Flooder, Ping of Death(傳送異常的很大的進行ping操作的packet來攻擊windows nt), DNSkiller(執行在linux平臺上, 攻擊windows nt平臺上的dns伺服器)等。

在的層次上,對資料流進行過濾, 透過合適的配置會減少遭受此類攻擊的可能性. Systems就提供了路由級的解決方案.

3 spoofing attack(電子欺騙):

針對http,ftp,dns等協議的攻擊,可以竊取普通使用者甚至超級使用者的許可權,任意修改資訊內容,造成巨大危害。所謂ip欺騙,就是偽造他人的源。其實質上就是讓一臺機器來扮演另一臺機器,藉以達到矇混過關的目的。下面一些服務相對來說容易招致此類攻擊:

· 任何使用sunrpc的配置;rpc指sun公司的過程呼叫標準,是一組工作於網路之上的處理系統呼叫的方法。

· 任何利用ip地址的網路服務

· mit的xwindow系統

· 各種r服務: 在unix環境中,r服務包括rlogin和rsh,其中r表示遠端。人們設計這兩個應用程式的初衷是向使用者提供遠端訪問internet網路上主機的服務。r服務極易受到ip欺騙的攻擊。

幾乎所有的電子欺騙都倚賴於目標網路的信任關係(計算機之間的互相信任,在unix系統中,可以透過設定rhosts和host.equiv 來設定)。入侵者可以使用掃描程式來判斷遠端機器之間的信任關係。這種技術欺騙成功的案例較少,要求入侵者具備特殊的工具和技術(,並且現在看來對非unix系統不起作用)。另外spoofing的形式還有dns spoofing等。

解決的途徑是慎重設定處理網路中的主機信任關係,尤其是不同網路之間主機的信任關係。如只存在內的信任關係,可以設定路由器使之過濾掉外部網路中自稱源地址為內部網路地址的ip包,來抵禦ip欺騙。下面一些公司的產品提供了這種功能

· Cisco System

· iss.net公司的安全軟體包可以測試網路在ip欺騙上的。

· etc.

國際已經進入有組織有計劃地進行網路攻擊階段,美國政府有意容忍駭客組織的活動,目的是使駭客的攻擊置於一定的控制之下,並且透過這一渠道獲得防範攻擊的實戰。國際駭客組織已經發展出不少逃避檢測的技巧. 使得攻擊與安全檢測防禦的任務更加艱鉅.

1 敏感層的劃分

使用敏感層的概念來劃分標誌攻擊技術所引起的危險程度.

1 郵件炸彈攻擊(emailbomb)(layer1)

2 簡單服務拒絕攻擊(denial of service)(layer1+)

3 本地使用者獲得非授權讀訪問(layer2)

4 本地使用者獲得他們非授權的檔案寫許可權(layer3)

5 遠端使用者獲得非授權的帳號(layer3+)

6 遠端使用者獲得了特權檔案的讀許可權(layer4)

7 遠端使用者獲得了特權檔案的寫許可權(layer5)

8 遠端使用者擁有了根(root)許可權(駭客已攻克系統)(layer6)

以上層次劃分在所有的網路中幾乎都一樣,基本上可以作為網路安全工作的考核指標。

"本地使用者"(local user)是一種相對概念。它是指任何能自由登入到網路上的任何一臺主機上,並且在網路上的某臺主機上擁有一個帳戶,在上擁有一個目錄的任何一個使用者。在一定意義上,對內部人員的防範技術難度更大。據統計,對資訊系統的攻擊主要來自內部,佔85%。因為他們對網路有更清楚的瞭解,有更多的時間和機會來測試網路安全漏洞,並且容易逃避系統日誌的監視。

2 不同的對策

根據遭受的攻擊的不同層次,應採取不同的對策.

第一層:

處於第一層的攻擊基本上應互不相干,第一層的攻擊包括服務拒絕攻擊和郵件炸彈攻擊.郵件炸彈的攻擊還包括登記列表攻擊(同時將被攻擊目標登入到數千或更多的郵件列表中,這樣,目標有可能被巨大數量的郵件列表寄出的郵件淹沒)。對付此類攻擊的最好的方法是對源地址進行分析,把攻擊者使用的主機(網路)資訊加入inetd.sec的拒絕列表(denylistings)中.除了使攻擊者網路中所有的主機都不能對自己的網路進行訪問外,沒有其它有效的方法可以防止這種攻擊的出現.

此型別的攻擊只會帶來相對小的危害。使人頭疼的是雖然這類攻擊的危害性不大,但是發生的頻率卻可能很高,因為僅具備有限的經驗和專業知識就能進行此型別的攻擊。

第二層和第三層:

這兩層的攻擊的嚴重程度取決於那些檔案的讀或寫許可權被非法獲得。對於isp來說,最安全的辦法是將所有的shell帳戶都集中到某一臺(或幾臺)主機上,只有它們才能接受登入,這樣可以使得管理日誌,控制訪問,協議配置和相關的安全措施實施變得更加簡單。另外,還應該把存貯使用者編寫的cgi程式的機器和系統中的其它機器相隔離。

招致攻擊的原因有可能是部分配置錯誤或者是在軟體內固有的漏洞.對於前者,管理員應該注意經常使用安全工具查詢一般的配置錯誤,例如satan。後者的解決需要安全管理員花費大量的時間去跟蹤瞭解最新的軟體安全漏洞報告,下載或聯絡供貨商。實際上,研究安全是一個永不終結的學習過程。安全管理員可以訂閱一些安全郵件列表,並學會使用一些指令碼程式(如,等)自動搜尋處理郵件,找到自己需要的最新資訊。

發現發起攻擊的使用者後,應該立即停止其訪問許可權,凍結其帳號。

第四層:

該層攻擊涉及到遠端使用者如何獲取訪問內部檔案的權利。其起因大多是伺服器的配置不當,cgi程式的漏洞和問題。

第五層和第六層:

只有利用那些不該出現卻出現的漏洞,才可能出現這種致命的攻擊。

出現第三,四,五層的攻擊表明網路已經處於不安全狀態之中,安全管理員應該立即採取有效措施, 保護重要資料, 進行日誌記錄和彙報,同時爭取能夠定位攻擊發起地點:

· 將遭受攻擊的網段分離出來,將此攻擊範圍限制在小的範圍內

· 記錄當前時間,系統日誌,檢查記錄損失範圍和程度

· 分析是否需要中斷網路連線

· 讓攻擊行為繼續進行

· 如果可能,對系統做0級備份

· 將入侵的詳細情況逐級向主管領導和有關主管部門彙報;如果系統受到嚴重破壞,影響網路業務功能,立即呼叫備件恢復系統

· 對此攻擊行為進行大量的日誌工作

· (在另一個網段上)竭盡全力地判斷尋找攻擊源

總之,不到萬不得已的情況下, 不可使系統退出服務. 尋找入侵者的最重要的工作就是做日誌記錄和定位入侵者,而找出入侵者並透過法律手段迫使其停止攻擊是最有效的防衛手段。

透過口令進行身份認證是目前實現電腦保安的主要手段之一,一個使用者的口令被非法使用者獲悉,則該非法使用者即獲得了該使用者的全部許可權,這樣,尤其是高許可權使用者的口令洩露以後,主機和網路也就隨即失去了安全性。駭客攻擊目標時也常常把破譯普通使用者的口令作為攻擊的開始。然後就採用字典窮舉法進行攻擊。它的原理是這樣的:網路上的使用者常採用一個英語單詞或自己的姓名、生日作為口令。透過一些程式,自動地從字典中取出一個單詞,作為使用者的口令輸入給遠端的主機,申請進入系統。若口令錯誤,就按序取出下一個單詞,進行下一個嘗試。並一直迴圈下去,直到找到正確的口令,或字典的單詞試完為止。由於這個破譯過程由計算機程式來自動完成,幾個小時就可以把字典的所有單詞都試一遍。這樣的測試容易在主機日誌上留下明顯攻擊特徵,因此,更多的時候攻擊者會利用其它手段去獲得主機系統上的/etc/passwd檔案甚至/etc/shadow檔案,然後在本地對其進行字典攻擊或暴力。攻擊者並不需要所有人的口令,他們得到幾個使用者口令就能獲取系統的控制權,所以即使普通使用者取口令過於簡單可能會對造成很大的威脅。員以及其它所有使用者對口令選取的應採取負責的態度,消除僥倖和偷懶思想。

然而,有許多使用者對自己的口令沒有很好的安全意識,使用很容易被猜出的口令,如:帳號本身,第一個字母大寫,或者全部大寫,或者後面簡單加上一個數字,甚至只是簡單的數字,如0,1,123,888,6666,168等,有些是系統或者主機的名字,或者常見名詞如system,manager,admin等。其實,根據目前計算機加密處理的演算法和能力,防止自己口令被使用字典攻擊法猜出的辦法也很簡單,使自己的口令不在相應解密程式的字典中。一個好的口令應當至少有7個字元長,不要用個人資訊(如生日,名字等),口令中要有一些非字母(如數字,標點符號,控制字元等),還要好記一些,不能寫在紙上或計算機中的檔案中,選擇口令的一個好方法是將兩個不相關的詞(最好再組合上大小寫)用一個數字或控制字元相連,並截斷為8個字元。例如me2.Hk97就是一個從安全形度講很不錯的口令。

保持口令安全的一些要點如下:

· 口令長度不要小於6位,並應同時包含字母和數字,以及標點符號和控制字元

· 口令中不要使用常用單詞(避免字典攻擊),英文簡稱,個人資訊(如生日,名字,反向拼寫的登入名,房間中可見的東西),年份,以及機器中的命令等

· 不要將口令寫下來。

· 不要將口令存於電腦檔案中。

· 不要讓別人知道。

· 不要在不同系統上,特別是不同級別的使用者上使用同一口令。

· 為防止眼明手快的人竊取口令,在輸入口令時應確認無人在身邊。

· 定期改變口令,至少6個月要改變一次。

· 系統安裝對口令檔案進行隱藏的程式或設定。(e.g. Shadow Suite for linux)

· 系統配置對使用者口令設定情況進行檢測的程式,並強制使用者定期改變口令。任何一個使用者口令的脆弱,都會影響整個系統的安全性。(e.g. passwd+, ,etc)

最後這點是十分重要的,永遠不要對自己的口令過於自信,也許就在無意當中洩露了口令。定期地改變口令,會使自己遭受駭客攻擊的風險降到了一定限度之內。一旦發現自己的口令不能進入計算機系統,應立即向系統管理員報告,由管理員來檢查原因。

系統管理員也應定期執行這些破譯口令的工具,來嘗試破譯shadow檔案,若有使用者的口令密碼被破譯出,說明這些使用者的密碼取得過於簡單或有規律可循,應儘快地通知他們,及時更正密碼,以防止駭客的入侵。

· 深入地瞭解過至少兩個作業系統,其中之一無可置疑地是unix。熟練配置主機的安全選項和設定,及時瞭解已見報導的安全漏洞,並能夠及時下載相應補丁安裝。在特殊緊急情況下,可以獨立開發適合的安全工具或補丁,提高系統的安全性。

· 對tcp/ip協議族有透徹的瞭解,這是任何一個合格的安全管理員的必備的素質。並且這種知識要不僅僅停留在internet基本構造等基礎知識上,必須能夠根據偵測到的網路資訊資料進行準確的分析,達到安全預警,有效制止攻擊和發現攻擊者等防禦目的。

· 熟練使用c,c++,perl等語言進行。這是基本要求,因為許多基本的安全工具是用這些語言的某一種編寫的。安全管理員至少能正確地解釋,編譯和這些程式。更高的要求是能夠把不專門為某個特定平臺開發的工具移植到自己的平臺上。同時他們還能夠開發出可擴充套件自己系統網路安全性的工具來,如對satan和safe suite的擴充套件和升級(它們允許使用者開發的工具附加到自己上)

· 經常地保持與internet社會的有效接觸。不僅要了解自己的機器和區域網,還必須瞭解熟悉internet。經驗是不可替代的。

· 熟練使用英語讀寫,與internet網上的各個安全論壇建立經常的聯絡。

· 平時注意收集網路的各種資訊, 包括硬體應識別其構造,製造商,工作,以及每臺工作站,路由器,集線器,的型號等;軟體網路軟體的所有型別以及它們的版本號;協議網路正在使用的協議; 網路規劃例如工作站的數量,網段的劃分,網路的擴充套件; 以及其它資訊例如網路內部以前一直實施中的安全策略的概述,曾遭受過的安全攻擊的歷史記錄等.

現在,有關計算機網路安全,侵入等事件的報導和社會的關注明顯增加。一方面,計算機普及率近年來大幅度提高,其中聯入因特網的計算機數量也迅速增加,為計算機入侵等違法犯罪行為提供了群眾基礎和物質條件,另一方面,應該說,社會對於電腦保安的重要性和嚴肅性認識不夠。從入侵的動機來看,包括對原顧主單位的怨恨,對網路安全技術的挑戰,網路接入帳號,信用卡號等金錢利益,或者單純的想利用攻擊網路站點而出名,以及對網路的好奇心(這方面主要是孩子們的行為),以及政治目的等等,當然其它一些原因也都可能引起攻擊者的蓄意攻擊行為。但是從已見報導的計算機犯罪案件來看,大多數計算機網路犯罪者都表示原來不知道這樣做是犯罪。多數系統管理人員和工程施工人員在安全問題上的意識淡漠,建設中或建設後在沒有采取足夠的安全防護措施的情況下,將主機連線到internet上,也為計算機犯罪開啟了方便之門,使得一些青少年利用從網路上學來的簡單入侵手段就能在網路上通行無阻,在滿足自己好奇心的同時,觸犯了國家法律。為此,加強電腦保安教育,包括提高各級人員對網路重要性的認識和安全措施的掌握水平,向社會宣傳計算機網路入侵的嚴肅性,尤其是加強擁有internet訪問能力的青少年的網路安全法律觀念。

具體措施可以包括以公益廣告的形式向社會宣傳計算機網路安全的嚴肅性和法律含義,在各地部門和政府部門的主頁上以醒目的方式告戒有入侵傾向的網路使用者;各種isp在註冊使用者的時候,與使用者簽定安全協定,不滿18週歲的青少年應該有監護人保證才能訪問網路;網路管理員在發現有不明身份的使用者時,應確定其身份,並對其發出警告,提前制止可能的網路犯罪;主要isp和網路經營單位應該有專門的網路安全管理人員對網路進行定期的安全檢查,網路中配置相當的安全檢測工具;等等。

從電信運營商和因特網路接入服務提供商的角度來講,切實地加強網路的安全配置和管理,作到防患於未然,可以有效地減少計算機網路犯罪的頻率和損失,同時安全方面的提高,也會增加使用者對網路的資訊,有利於電子商務等業務的推出和開展,增加業務收入。

本文主要總結了unix系統平臺的安全問題,有些方面與其它作業系統(windows nt等)相通。這並不意味著其它系統平臺或裝置就沒有安全問題或較少安全問題,只是因為目前情況下,關鍵任務應用執行的平臺以unix為主。但是隨著windows nt系統高階應用裝機數量的增加,nt平臺的安全問題也越來越重要。據報導,Cisco公司日前向他們的客戶們確認了他們的網際網路絡作業系統IOS軟體存在漏洞,該漏洞將破壞Cisco公司的多數路由器產品的安全系統。 根據該公司的說法,一個未經授權的入侵將導致執行IOS軟體的Cisco崩潰,而且在重啟後可以不透過路由器直接登入。為了修補這個BUG,Cisco公司估計客戶得對2-3個聯在網際網路絡上的路由器上的軟體進行升級。Cisco可為客戶提供免費升級軟體。目前 Cisco 已將該漏洞的 補丁程式放在其公司網站上供使用者下載。但據說這個補丁程式對I10.3或更低的版本不起作用。據稱此次發現的漏洞已經存在了很長的一段時間,一直沒有被發現。Cisco希望使用者不要對此過於擔心。以此說明,專門提供安全功能的產品本身依然有安全漏洞,安全問題事實上已成為非常普遍存在的隱患,需要投入更充足的人力,資源來重視解決。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989480/,如需轉載,請註明出處,否則將追究法律責任。

相關文章