安全知識 探討主動防御型殺毒軟件技術
[ 2007-03-25 02:52:29 | 作者: sun ]
間諜程序、游戲木馬、黑客程序等網絡病毒的頻頻爆發,使國內外反病毒領域開始意識到,單純依靠“特征碼技術”已經不能適應反病毒需求。 那么什么是“主動防御”,它的實現技術又是怎樣的呢?
所謂“主動防御”,就是全程監視進程的行為,一但發現“違規”行為,就通知用戶,或者直接終止進程。它類似于警察判斷潛在罪犯的技術,在成為一個罪犯之前,大多數的人都有一些異常行為,比如“性格孤僻,有暴力傾向,自私自利,對現實不滿”等先兆,但是并不是說有這些先兆的人就都會發展為罪犯,或者罪犯都有這些先兆。因此“主動防御”并不能100%發現病毒,它的成功率大概在60%-80%之間。如果再加上傳統的“特征碼技術”,幾乎可以發現100%的惡意程序了。在國外,諾頓,Kaspersky,McAfee等等殺毒巨頭,都已經向“主動防御”+“特征碼技術”過渡了,這是殺毒軟件的必然發展趨勢。
防火墻是一個運用“主動防御”技術的典型例子,大家都用過防火墻了,對于防火墻經常詢問用戶是否放行一個進程訪問網絡,或者有不明連接進入本機而發出警告是否印象深刻呢?其實防火墻就是在全程監視進程的網絡行為,一但發現違反規則的行為就發出警告,或者直接根據用戶設定拒絕進程訪問網絡。當然,現在的防火墻一般都把系統網絡進程(比如services.exe,svchost.exe,lsass.exe等)記在“受信名單”里,這些進程是默認允許訪問網絡的,如果禁止的話,操作系統就不正常了,這也是現在很多病毒和木馬都喜歡遠程注入這些系統進程以突破防火墻而訪問網絡的原因。
下面重點說一下“主動防御”的實現技術。大家都寫過程序,知道在一個程序里如果要實現自己的功能就必須要通過接口調用操作系統提供的功能函數,在DOS里幾乎所有的系統功能或第三方插件都是通過中斷提供的,在WINDOWS里一般是通過DLL里的API提供,也有少數通過INT2E或SYSENTER提供。一個進程有怎么樣的行為,通過看它調用了什么樣的API就大概清楚了,比如它要讀寫文件就必然要調用CreateFile(),OpenFile(),NtOpenFile(),ZwOpenFile()等函數,要訪問網絡就必然要使用Socket函數。因此只要掛接系統API(盡量掛接RING0層的API,如果掛接RING3層的API將有可能被繞過),就可以知道一個進程將有什么動作,如果有危害系統的動作該怎么樣處理等等。例如瑞星殺毒,大家可以在它的安裝目錄里找到幾個驅動文件,其實這些驅動就是掛接了ntoskrnl.exe,ndis.sys等系統關鍵模塊里的API,從而對進程的普通行為,網絡行為,注冊表行為進行監視的。
最后讓我們設想一下一個“主動防御”型殺毒軟件的一般流程:通過掛接系統建立進程的API,殺毒軟件就在一個進程建立前對進程的代碼進行掃描,如果發現SGDT,SIDT,自定位指令(一般正常軟件不會有這些指令),就提示,如果用戶放行,就讓進程繼續運行;接下來監視進程調用API的情況,如果發現以讀寫方式打開一個EXE文件,可能進程的線程想感染PE文件,就發出警告;如果收發數據違反了規則,發出提示;如果進程調用了CreateRemoteThread(),則發出警告(因為CreateRemoteThread()是一個非常危險的API,正常進程很少用到,倒是被病毒木馬用得最多)。...。可以想象,未來我們運行程序可能要被提示多次,訪問網絡也被提示多次,各種各樣的提示將大多數人搞的昏頭轉向。想安全就要管嚴,放松就不安全了!
所謂“主動防御”,就是全程監視進程的行為,一但發現“違規”行為,就通知用戶,或者直接終止進程。它類似于警察判斷潛在罪犯的技術,在成為一個罪犯之前,大多數的人都有一些異常行為,比如“性格孤僻,有暴力傾向,自私自利,對現實不滿”等先兆,但是并不是說有這些先兆的人就都會發展為罪犯,或者罪犯都有這些先兆。因此“主動防御”并不能100%發現病毒,它的成功率大概在60%-80%之間。如果再加上傳統的“特征碼技術”,幾乎可以發現100%的惡意程序了。在國外,諾頓,Kaspersky,McAfee等等殺毒巨頭,都已經向“主動防御”+“特征碼技術”過渡了,這是殺毒軟件的必然發展趨勢。
防火墻是一個運用“主動防御”技術的典型例子,大家都用過防火墻了,對于防火墻經常詢問用戶是否放行一個進程訪問網絡,或者有不明連接進入本機而發出警告是否印象深刻呢?其實防火墻就是在全程監視進程的網絡行為,一但發現違反規則的行為就發出警告,或者直接根據用戶設定拒絕進程訪問網絡。當然,現在的防火墻一般都把系統網絡進程(比如services.exe,svchost.exe,lsass.exe等)記在“受信名單”里,這些進程是默認允許訪問網絡的,如果禁止的話,操作系統就不正常了,這也是現在很多病毒和木馬都喜歡遠程注入這些系統進程以突破防火墻而訪問網絡的原因。
下面重點說一下“主動防御”的實現技術。大家都寫過程序,知道在一個程序里如果要實現自己的功能就必須要通過接口調用操作系統提供的功能函數,在DOS里幾乎所有的系統功能或第三方插件都是通過中斷提供的,在WINDOWS里一般是通過DLL里的API提供,也有少數通過INT2E或SYSENTER提供。一個進程有怎么樣的行為,通過看它調用了什么樣的API就大概清楚了,比如它要讀寫文件就必然要調用CreateFile(),OpenFile(),NtOpenFile(),ZwOpenFile()等函數,要訪問網絡就必然要使用Socket函數。因此只要掛接系統API(盡量掛接RING0層的API,如果掛接RING3層的API將有可能被繞過),就可以知道一個進程將有什么動作,如果有危害系統的動作該怎么樣處理等等。例如瑞星殺毒,大家可以在它的安裝目錄里找到幾個驅動文件,其實這些驅動就是掛接了ntoskrnl.exe,ndis.sys等系統關鍵模塊里的API,從而對進程的普通行為,網絡行為,注冊表行為進行監視的。
最后讓我們設想一下一個“主動防御”型殺毒軟件的一般流程:通過掛接系統建立進程的API,殺毒軟件就在一個進程建立前對進程的代碼進行掃描,如果發現SGDT,SIDT,自定位指令(一般正常軟件不會有這些指令),就提示,如果用戶放行,就讓進程繼續運行;接下來監視進程調用API的情況,如果發現以讀寫方式打開一個EXE文件,可能進程的線程想感染PE文件,就發出警告;如果收發數據違反了規則,發出提示;如果進程調用了CreateRemoteThread(),則發出警告(因為CreateRemoteThread()是一個非常危險的API,正常進程很少用到,倒是被病毒木馬用得最多)。...。可以想象,未來我們運行程序可能要被提示多次,訪問網絡也被提示多次,各種各樣的提示將大多數人搞的昏頭轉向。想安全就要管嚴,放松就不安全了!
ADSL防御黑客攻擊的十大方法
[ 2007-03-25 02:52:04 | 作者: sun ]
目前,使用ADSL的用戶越來越多,由于ADSL用戶在線時間長、速度快,因此成為黑客們的攻擊目標。現在網上出現了各種越來越詳細的“IP地址庫”,要知道一些ADSL用戶的IP是非常容易的事情。要怎么保衛自己的網絡安全呢?不妨看看以下方法。
一、取消文件夾隱藏共享
如果你使用了Windows 2000/XP系統,右鍵單擊C盤或者其他盤,選擇"共享",你會驚奇地發現它已經被設置為“共享該文件夾”,而在“網上鄰居”中卻看不到這些內容,這是怎么回事呢?
原來,在默認狀態下,Windows 2000/XP會開啟所有分區的隱藏共享,從“控制面板/管理工具/計算機管理”窗口下選擇“系統工具/共享文件夾/共享”,就可以看到硬盤上的每個分區名后面都加了一個“$”。但是只要鍵入“\\計算機名或者IP\C$”,系統就會詢問用戶名和密碼,遺憾的是,大多數個人用戶系統Administrator的密碼都為空,入侵者可以輕易看到C盤的內容,這就給網絡安全帶來了極大的隱患。
怎么來消除默認共享呢?方法很簡單,打開注冊表編輯器,進入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sevices\Lanmanworkstation\parameters”,新建一個名為“AutoShareWKs”的雙字節值,并將其值設為“0”,然后重新啟動電腦,這樣共享就取消了。
二、拒絕惡意代碼
惡意網頁成了寬帶的最大威脅之一。以前使用Modem,因為打開網頁的速度慢,在完全打開前關閉惡意網頁還有避免中招的可能性。現在寬帶的速度這么快,所以很容易就被惡意網頁攻擊。
一般惡意網頁都是因為加入了用編寫的惡意代碼才有破壞力的。這些惡意代碼就相當于一些小程序,只要打開該網頁就會被運行。所以要避免惡意網頁的攻擊只要禁止這些惡意代碼的運行就可以了。
運行IE瀏覽器,點擊“工具/Internet選項/安全/自定義級別”,將安全級別定義為“安全級-高”,對“ActiveX控件和插件”中第2、3項設置為“禁用”,其它項設置為“提示”,之后點擊“確定”。這樣設置后,當你使用IE瀏覽網頁時,就能有效避免惡意網頁中惡意代碼的攻擊。
三、封死黑客的“后門”
俗話說“無風不起浪”,既然黑客能進入,那說明系統一定存在為他們打開的“后門”,只要堵死這個后門,讓黑客無處下手,便無后顧之憂!
1.刪掉不必要的協議
對于服務器和主機來說,一般只安裝TCP/IP協議就夠了。鼠標右擊“網絡鄰居”,選擇“屬性”,再鼠標右擊“本地連接”,選擇“屬性”,卸載不必要的協議。其中NETBIOS是很多安全缺陷的根源,對于不需要提供文件和打印共享的主機,還可以將綁定在TCP/IP協議的NETBIOS關閉,避免針對NETBIOS的攻擊。選擇“TCP/IP協議/屬性/高級”,進入“高級TCP/IP設置”對話框,選擇“WINS”標簽,勾選“禁用TCP/IP上的NETBIOS”一項,關閉NETBIOS。
2.關閉“文件和打印共享”
文件和打印共享應該是一個非常有用的功能,但在不需要它的時候,也是黑客入侵的很好的安全漏洞。所以在沒有必要“文件和打印共享”的情況下,我們可以將它關閉。用鼠標右擊“網絡鄰居”,選擇“屬性”,然后單擊“文件和打印共享”按鈕,將彈出的“文件和打印共享”對話框中的兩個復選框中的鉤去掉即可。
雖然“文件和打印共享”關閉了,但是還不能確保安全,還要修改注冊表,禁止它人更改“文件和打印共享”。打開注冊表編輯器,選擇“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork”主鍵,在該主鍵下新建DWORD類型的鍵值,鍵值名為“NoFileSharingControl”,鍵值設為“1”表示禁止這項功能,從而達到禁止更改“文件和打印共享”的目的;鍵值為“0”表示允許這項功能。這樣在“網絡鄰居”的“屬性”對話框中“文件和打印共享”就不復存在了。
3.把Guest賬號禁用
有很多入侵都是通過這個賬號進一步獲得管理員密碼或者權限的。如果不想把自己的計算機給別人當玩具,那還是禁止的好。打開控制面板,雙擊“用戶和密碼”,單擊“高級”選項卡,再單擊“高級”按鈕,彈出本地用戶和組窗口。在Guest賬號上面點擊右鍵,選擇屬性,在“常規”頁中選中“賬戶已停用”。另外,將Administrator賬號改名可以防止黑客知道自己的管理員賬號,這會在很大程度上保證計算機安全。
4.禁止建立空連接
在默認的情況下,任何用戶都可以通過空連接連上服務器,枚舉賬號并猜測密碼。因此,我們必須禁止建立空連接。方法有以下兩種:
方法一是修改注冊表:打開注冊表“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA”,將DWORD值“RestrictAnonymous”的鍵值改為“1”即可。
最后建議大家給自己的系統打上補丁,微軟那些沒完沒了的補丁還是很有用的!
四、隱藏IP地址
黑客經常利用一些網絡探測技術來查看我們的主機信息,主要目的就是得到網絡中主機的IP地址。IP地址在網絡安全上是一個很重要的概念,如果攻擊者知道了你的IP地址,等于為他的攻擊準備好了目標,他可以向這個IP發動各種進攻,如DoS(拒絕服務)攻擊、Floop溢出攻擊等。隱藏IP地址的主要方法是使用代理服務器。
與直接連接到Internet相比,使用代理服務器能保護上網用戶的IP地址,從而保障上網安全。代理服務器的原理是在客戶機(用戶上網的計算機)和遠程服務器(如用戶想訪問遠端WWW服務器)之間架設一個“中轉站”,當客戶機向遠程服務器提出服務要求后,代理服務器首先截取用戶的請求,然后代理服務器將服務請求轉交遠程服務器,從而實現客戶機和遠程服務器之間的聯系。很顯然,使用代理服務器后,其它用戶只能探測到代理服務器的IP地址而不是用戶的IP地址,這就實現了隱藏用戶IP地址的目的,保障了用戶上網安全。提供免費代理服務器的網站有很多,你也可以自己用代理獵手等工具來查找。
五、關閉不必要的端口
黑客在入侵時常常會掃描你的計算機端口,如果安裝了端口監視程序(比如Netwatch),該監視程序則會有警告提示。如果遇到這種入侵,可用工具軟件關閉用不到的端口,比如,用“Norton Internet Security”關閉用來提供網頁服務的80和443端口,其他一些不常用的端口也可關閉。
六、更換管理員帳戶
Administrator帳戶擁有最高的系統權限,一旦該帳戶被人利用,后果不堪設想。黑客入侵的常用手段之一就是試圖獲得Administrator帳戶的密碼,所以我們要重新配置Administrator帳號。
首先是為Administrator帳戶設置一個強大復雜的密碼,然后我們重命名Administrator帳戶,再創建一個沒有管理員權限的Administrator帳戶欺騙入侵者。這樣一來,入侵者就很難搞清哪個帳戶真正擁有管理員權限,也就在一定程度上減少了危險性。
七、杜絕Guest帳戶的入侵
Guest帳戶即所謂的來賓帳戶,它可以訪問計算機,但受到限制。不幸的是,Guest也為黑客入侵打開了方便之門!網上有很多文章中都介紹過如何利用Guest用戶得到管理員權限的方法,所以要杜絕基于Guest帳戶的系統入侵。
禁用或徹底刪除Guest帳戶是最好的辦法,但在某些必須使用到Guest帳戶的情況下,就需要通過其它途徑來做好防御工作了。首先要給Guest設一個強壯的密碼,然后詳細設置Guest帳戶對物理路徑的訪問權限。舉例來說,如果你要防止Guest用戶可以訪問tool文件夾,可以右擊該文件夾,在彈出菜單中選擇“安全”標簽,從中可看到可以訪問此文件夾的所有用戶。刪除管理員之外的所有用戶即可。或者在權限中為相應的用戶設定權限,比方說只能“列出文件夾目錄”和“讀取”等,這樣就安全多了。
八、安裝必要的安全軟件
我們還應在電腦中安裝并使用必要的防黑軟件,殺毒軟件和防火墻都是必備的。在上網時打開它們,這樣即便有黑客進攻我們的安全也是有保證的。
九、防范木馬程序
木馬程序會竊取所植入電腦中的有用信息,因此我們也要防止被黑客植入木馬程序,常用的辦法有:
● 在下載文件時先放到自己新建的文件夾里,再用殺毒軟件來檢測,起到提前預防的作用。
● 在“開始”→“程序”→“啟動”或“開始”→“程序”→“Startup”選項里看是否有不明的運行項目,如果有,刪除即可。
● 將注冊表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”為前綴的可疑程序全部刪除即可。
十、不要回陌生人的郵件
有些黑客可能會冒充某些正規網站的名義,然后編個冠冕堂皇的理由寄一封信給你要求你輸入上網的用戶名稱與密碼,如果按下“確定”,你的帳號和密碼就進了黑客的郵箱。所以不要隨便回陌生人的郵件,即使他說得再動聽再誘人也不上當。
做好IE的安全設置
ActiveX控件和 Applets有較強的功能,但也存在被人利用的隱患,網頁中的惡意代碼往往就是利用這些控件編寫的小程序,只要打開網頁就會被運行。所以要避免惡意網頁的攻擊只有禁止這些惡意代碼的運行。IE對此提供了多種選擇,具體設置步驟是:“工具”→“Internet選項”→“安全”→“自定義級別”,建議您將ActiveX控件與相關選項禁用。謹慎些總沒有錯!
另外,在IE的安全性設定中我們只能設定Internet、本地Intranet、受信任的站點、受限制的站點。不過,微軟在這里隱藏了“我的電腦”的安全性設定,通過修改注冊表把該選項打開,可以使我們在對待ActiveX控件和 Applets時有更多的選擇,并對本地電腦安全產生更大的影響。
下面是具體的方法:打開“開始”菜單中的“運行”,在彈出的“運行”對話框中輸入Regedit.exe,打開注冊表編輯器,點擊前面的“+”號順次展開到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右邊窗口中找到DWORD值“Flags”,默認鍵值為十六進制的21(十進制33),雙擊“Flags”,在彈出的對話框中將它的鍵值改為“1”即可,關閉注冊表編輯器。無需重新啟動電腦,重新打開IE,再次點擊“工具→Internet選項→安全”標簽,你就會看到多了一個“我的電腦”圖標,在這里你可以設定它的安全等級。將它的安全等級設定高些,這樣的防范更嚴密。
一、取消文件夾隱藏共享
如果你使用了Windows 2000/XP系統,右鍵單擊C盤或者其他盤,選擇"共享",你會驚奇地發現它已經被設置為“共享該文件夾”,而在“網上鄰居”中卻看不到這些內容,這是怎么回事呢?
原來,在默認狀態下,Windows 2000/XP會開啟所有分區的隱藏共享,從“控制面板/管理工具/計算機管理”窗口下選擇“系統工具/共享文件夾/共享”,就可以看到硬盤上的每個分區名后面都加了一個“$”。但是只要鍵入“\\計算機名或者IP\C$”,系統就會詢問用戶名和密碼,遺憾的是,大多數個人用戶系統Administrator的密碼都為空,入侵者可以輕易看到C盤的內容,這就給網絡安全帶來了極大的隱患。
怎么來消除默認共享呢?方法很簡單,打開注冊表編輯器,進入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sevices\Lanmanworkstation\parameters”,新建一個名為“AutoShareWKs”的雙字節值,并將其值設為“0”,然后重新啟動電腦,這樣共享就取消了。
二、拒絕惡意代碼
惡意網頁成了寬帶的最大威脅之一。以前使用Modem,因為打開網頁的速度慢,在完全打開前關閉惡意網頁還有避免中招的可能性。現在寬帶的速度這么快,所以很容易就被惡意網頁攻擊。
一般惡意網頁都是因為加入了用編寫的惡意代碼才有破壞力的。這些惡意代碼就相當于一些小程序,只要打開該網頁就會被運行。所以要避免惡意網頁的攻擊只要禁止這些惡意代碼的運行就可以了。
運行IE瀏覽器,點擊“工具/Internet選項/安全/自定義級別”,將安全級別定義為“安全級-高”,對“ActiveX控件和插件”中第2、3項設置為“禁用”,其它項設置為“提示”,之后點擊“確定”。這樣設置后,當你使用IE瀏覽網頁時,就能有效避免惡意網頁中惡意代碼的攻擊。
三、封死黑客的“后門”
俗話說“無風不起浪”,既然黑客能進入,那說明系統一定存在為他們打開的“后門”,只要堵死這個后門,讓黑客無處下手,便無后顧之憂!
1.刪掉不必要的協議
對于服務器和主機來說,一般只安裝TCP/IP協議就夠了。鼠標右擊“網絡鄰居”,選擇“屬性”,再鼠標右擊“本地連接”,選擇“屬性”,卸載不必要的協議。其中NETBIOS是很多安全缺陷的根源,對于不需要提供文件和打印共享的主機,還可以將綁定在TCP/IP協議的NETBIOS關閉,避免針對NETBIOS的攻擊。選擇“TCP/IP協議/屬性/高級”,進入“高級TCP/IP設置”對話框,選擇“WINS”標簽,勾選“禁用TCP/IP上的NETBIOS”一項,關閉NETBIOS。
2.關閉“文件和打印共享”
文件和打印共享應該是一個非常有用的功能,但在不需要它的時候,也是黑客入侵的很好的安全漏洞。所以在沒有必要“文件和打印共享”的情況下,我們可以將它關閉。用鼠標右擊“網絡鄰居”,選擇“屬性”,然后單擊“文件和打印共享”按鈕,將彈出的“文件和打印共享”對話框中的兩個復選框中的鉤去掉即可。
雖然“文件和打印共享”關閉了,但是還不能確保安全,還要修改注冊表,禁止它人更改“文件和打印共享”。打開注冊表編輯器,選擇“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork”主鍵,在該主鍵下新建DWORD類型的鍵值,鍵值名為“NoFileSharingControl”,鍵值設為“1”表示禁止這項功能,從而達到禁止更改“文件和打印共享”的目的;鍵值為“0”表示允許這項功能。這樣在“網絡鄰居”的“屬性”對話框中“文件和打印共享”就不復存在了。
3.把Guest賬號禁用
有很多入侵都是通過這個賬號進一步獲得管理員密碼或者權限的。如果不想把自己的計算機給別人當玩具,那還是禁止的好。打開控制面板,雙擊“用戶和密碼”,單擊“高級”選項卡,再單擊“高級”按鈕,彈出本地用戶和組窗口。在Guest賬號上面點擊右鍵,選擇屬性,在“常規”頁中選中“賬戶已停用”。另外,將Administrator賬號改名可以防止黑客知道自己的管理員賬號,這會在很大程度上保證計算機安全。
4.禁止建立空連接
在默認的情況下,任何用戶都可以通過空連接連上服務器,枚舉賬號并猜測密碼。因此,我們必須禁止建立空連接。方法有以下兩種:
方法一是修改注冊表:打開注冊表“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA”,將DWORD值“RestrictAnonymous”的鍵值改為“1”即可。
最后建議大家給自己的系統打上補丁,微軟那些沒完沒了的補丁還是很有用的!
四、隱藏IP地址
黑客經常利用一些網絡探測技術來查看我們的主機信息,主要目的就是得到網絡中主機的IP地址。IP地址在網絡安全上是一個很重要的概念,如果攻擊者知道了你的IP地址,等于為他的攻擊準備好了目標,他可以向這個IP發動各種進攻,如DoS(拒絕服務)攻擊、Floop溢出攻擊等。隱藏IP地址的主要方法是使用代理服務器。
與直接連接到Internet相比,使用代理服務器能保護上網用戶的IP地址,從而保障上網安全。代理服務器的原理是在客戶機(用戶上網的計算機)和遠程服務器(如用戶想訪問遠端WWW服務器)之間架設一個“中轉站”,當客戶機向遠程服務器提出服務要求后,代理服務器首先截取用戶的請求,然后代理服務器將服務請求轉交遠程服務器,從而實現客戶機和遠程服務器之間的聯系。很顯然,使用代理服務器后,其它用戶只能探測到代理服務器的IP地址而不是用戶的IP地址,這就實現了隱藏用戶IP地址的目的,保障了用戶上網安全。提供免費代理服務器的網站有很多,你也可以自己用代理獵手等工具來查找。
五、關閉不必要的端口
黑客在入侵時常常會掃描你的計算機端口,如果安裝了端口監視程序(比如Netwatch),該監視程序則會有警告提示。如果遇到這種入侵,可用工具軟件關閉用不到的端口,比如,用“Norton Internet Security”關閉用來提供網頁服務的80和443端口,其他一些不常用的端口也可關閉。
六、更換管理員帳戶
Administrator帳戶擁有最高的系統權限,一旦該帳戶被人利用,后果不堪設想。黑客入侵的常用手段之一就是試圖獲得Administrator帳戶的密碼,所以我們要重新配置Administrator帳號。
首先是為Administrator帳戶設置一個強大復雜的密碼,然后我們重命名Administrator帳戶,再創建一個沒有管理員權限的Administrator帳戶欺騙入侵者。這樣一來,入侵者就很難搞清哪個帳戶真正擁有管理員權限,也就在一定程度上減少了危險性。
七、杜絕Guest帳戶的入侵
Guest帳戶即所謂的來賓帳戶,它可以訪問計算機,但受到限制。不幸的是,Guest也為黑客入侵打開了方便之門!網上有很多文章中都介紹過如何利用Guest用戶得到管理員權限的方法,所以要杜絕基于Guest帳戶的系統入侵。
禁用或徹底刪除Guest帳戶是最好的辦法,但在某些必須使用到Guest帳戶的情況下,就需要通過其它途徑來做好防御工作了。首先要給Guest設一個強壯的密碼,然后詳細設置Guest帳戶對物理路徑的訪問權限。舉例來說,如果你要防止Guest用戶可以訪問tool文件夾,可以右擊該文件夾,在彈出菜單中選擇“安全”標簽,從中可看到可以訪問此文件夾的所有用戶。刪除管理員之外的所有用戶即可。或者在權限中為相應的用戶設定權限,比方說只能“列出文件夾目錄”和“讀取”等,這樣就安全多了。
八、安裝必要的安全軟件
我們還應在電腦中安裝并使用必要的防黑軟件,殺毒軟件和防火墻都是必備的。在上網時打開它們,這樣即便有黑客進攻我們的安全也是有保證的。
九、防范木馬程序
木馬程序會竊取所植入電腦中的有用信息,因此我們也要防止被黑客植入木馬程序,常用的辦法有:
● 在下載文件時先放到自己新建的文件夾里,再用殺毒軟件來檢測,起到提前預防的作用。
● 在“開始”→“程序”→“啟動”或“開始”→“程序”→“Startup”選項里看是否有不明的運行項目,如果有,刪除即可。
● 將注冊表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”為前綴的可疑程序全部刪除即可。
十、不要回陌生人的郵件
有些黑客可能會冒充某些正規網站的名義,然后編個冠冕堂皇的理由寄一封信給你要求你輸入上網的用戶名稱與密碼,如果按下“確定”,你的帳號和密碼就進了黑客的郵箱。所以不要隨便回陌生人的郵件,即使他說得再動聽再誘人也不上當。
做好IE的安全設置
ActiveX控件和 Applets有較強的功能,但也存在被人利用的隱患,網頁中的惡意代碼往往就是利用這些控件編寫的小程序,只要打開網頁就會被運行。所以要避免惡意網頁的攻擊只有禁止這些惡意代碼的運行。IE對此提供了多種選擇,具體設置步驟是:“工具”→“Internet選項”→“安全”→“自定義級別”,建議您將ActiveX控件與相關選項禁用。謹慎些總沒有錯!
另外,在IE的安全性設定中我們只能設定Internet、本地Intranet、受信任的站點、受限制的站點。不過,微軟在這里隱藏了“我的電腦”的安全性設定,通過修改注冊表把該選項打開,可以使我們在對待ActiveX控件和 Applets時有更多的選擇,并對本地電腦安全產生更大的影響。
下面是具體的方法:打開“開始”菜單中的“運行”,在彈出的“運行”對話框中輸入Regedit.exe,打開注冊表編輯器,點擊前面的“+”號順次展開到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右邊窗口中找到DWORD值“Flags”,默認鍵值為十六進制的21(十進制33),雙擊“Flags”,在彈出的對話框中將它的鍵值改為“1”即可,關閉注冊表編輯器。無需重新啟動電腦,重新打開IE,再次點擊“工具→Internet選項→安全”標簽,你就會看到多了一個“我的電腦”圖標,在這里你可以設定它的安全等級。將它的安全等級設定高些,這樣的防范更嚴密。
沖浪DDoS攻擊的趨勢與防御
[ 2007-03-25 02:51:50 | 作者: sun ]
一、阻斷服務(Denial of Service)
在探討DDoS 之前我們需要先對 DoS 有所了解,DoS泛指黑客試圖妨礙正常使用者使用網絡上的服務,例如剪斷大樓的電話線路造成用戶無法通話。而以網絡來說,由于頻寬、網絡設備和服務器主機等處理的能力都有其限制,因此當黑客產生過量的網絡封包使得設備處理不及,即可讓正常的使用者無法正常使用該服務。例如黑客試圖用大量封包攻擊一般頻寬相對小得多的撥接或 ADSL 使用者,則受害者就會發現他要連的網站連不上或是反應十分緩慢。
DoS 攻擊并非入侵主機也不能竊取機器上的資料,但是一樣會造成攻擊目標的傷害,如果攻擊目標是個電子商務網站就會造成顧客無法到該網站購物。
二、分布式阻斷服務(Distributed Denial of Service)
DDoS 則是 DoS 的特例,黑客利用多臺機器同時攻擊來達到妨礙正常使用者使用服務的目的。黑客預先入侵大量主機以后,在被害主機上安裝 DDoS 攻擊程控被害主機對攻擊目標展開攻擊;有些 DDoS 工具采用多層次的架構,甚至可以一次控制高達上千臺電腦展開攻擊,利用這樣的方式可以有效產生極大的網絡流量以癱瘓攻擊目標。早在2000年就發生過針對Yahoo, eBay, Buy.com 和 CNN 等知名網站的DDoS攻擊,阻止了合法的網絡流量長達數個小時。
DDoS 攻擊程序的分類,可以依照幾種方式分類,以自動化程度可分為手動、半自動與自動攻擊。早期的 DDoS 攻擊程序多半屬于手動攻擊,黑客手動尋找可入侵的計算機入侵并植入攻擊程序,再下指令攻擊目標;半自動的攻擊程序則多半具有 handler 控制攻擊用的agent 程序,黑客散布自動化的入侵工具植入 agent 程序,然后使用 handler 控制所有agents 對目標發動 DDoS 攻擊;自動攻擊更進一步自動化整個攻擊程序,將攻擊的目標、時間和方式都事先寫在攻擊程序里,黑客散布攻擊程序以后就會自動掃描可入侵的主機植入 agent 并在預定的時間對指定目標發起攻擊,例如近期的 W32/Blaster 網蟲即屬于此類。
若以攻擊的弱點分類則可以分為協議攻擊和暴力攻擊兩種。協議攻擊是指黑客利用某個網絡協議設計上的弱點或執行上的 bug 消耗大量資源,例如 TCP SYN 攻擊、對認證伺服器的攻擊等;暴力攻擊則是黑客使用大量正常的聯機消耗被害目標的資源,由于黑客會準備多臺主機發起 DDoS 攻擊目標,只要單位時間內攻擊方發出的網絡流量高于目標所能處理速度,即可消耗掉目標的處理能力而使得正常的使用者無法使用服務。
若以攻擊頻率區分則可分成持續攻擊和變動頻率攻擊兩種。持續攻擊是當攻擊指令下達以后,攻擊主機就全力持續攻擊,因此會瞬間產生大量流量阻斷目標的服務,也因此很容易被偵測到;變動頻率攻擊則較為謹慎,攻擊的頻率可能從慢速漸漸增加或頻率高低變化,利用這樣的方式延緩攻擊被偵測的時間。
三、從 DDoS 攻擊下存活
那么當遭受 DDoS 攻擊的時候要如何設法存活并繼續提供正常服務呢?由先前的介紹可以知道,若黑客攻擊規模遠高于你的網絡頻寬、設備或主機所能處理的能力,其實是很難以抵抗攻擊的,但仍然有一些方法可以減輕攻擊所造成的影響。
首先是調查攻擊來源,由于黑客經由入侵機器進行攻擊,因此你可能無法查出黑客是由哪里發動攻擊,我們必須一步一步從被攻擊目標往回推,先調查攻擊是由管轄網絡的哪些邊界路由器進來,上一步是外界哪臺路由器,連絡這些路由器的管理者(可能是某個ISP或電信公司)并尋求他們協助阻擋或查出攻擊來源,而在他們處理之前可以進行哪些處理呢?
如果被攻擊的目標只是單一 ip,那么試圖改個 ip 并更改其 DNS mapping 或許可以避開攻擊,這是最快速而有效的方式;但是攻擊的目的就是要使正常使用者無法使用服務,更改ip的方式雖然避開攻擊,以另一角度來看黑客也達到了他的目的。此外,如果攻擊的手法較為單純,可以由產生的流量找出其規則,那么利用路由器的 ACLs(Access Control Lists)或防火墻規則也許可以阻擋,若可以發現流量都是來自同一來源或核心路由器,可以考慮暫時將那邊的流量擋起來,當然這還是有可能將正常和異常的流量都一并擋掉,但至少其它來源可以得到正常的服務,這有時是不得已的犧牲。如果行有余力,則可以考慮增加機器或頻寬作為被攻擊的緩沖之用,但這只是治標不治本的做法。最重要的是必須立即著手調查并與相關單位協調解決。
四、預防DDoS攻擊
DDoS 必須透過網絡上各個團體和使用者的共同合作,制定更嚴格的網絡標準來解決。每臺網絡設備或主機都需要隨時更新其系統漏洞、關閉不需要的服務、安裝必要的防毒和防火墻軟件、隨時注意系統安全,避免被黑客和自動化的 DDoS 程序植入攻擊程序,以免成為黑客攻擊的幫兇。
有些 DDoS 會偽裝攻擊來源,假造封包的來源 ip,使人難以追查,這個部份可以透過設定路由器的過濾功能來防止,只要網域內的封包來源是其網域以外的 ip,就應該直接丟棄此封包而不應該再送出去,如果網管設備都支持這項功能,網管人員都能夠正確設定過濾掉假造的封包,也可以大量減少調查和追蹤的時間。
網域之間保持聯絡是很重要的,如此才能有效早期預警和防治 DDoS 攻擊,有些 ISP會在一些網絡節點上放置感應器偵測突然的巨大流量,以提早警告和隔絕 DDoS 的受害區域,降低顧客的受害程度。
在探討DDoS 之前我們需要先對 DoS 有所了解,DoS泛指黑客試圖妨礙正常使用者使用網絡上的服務,例如剪斷大樓的電話線路造成用戶無法通話。而以網絡來說,由于頻寬、網絡設備和服務器主機等處理的能力都有其限制,因此當黑客產生過量的網絡封包使得設備處理不及,即可讓正常的使用者無法正常使用該服務。例如黑客試圖用大量封包攻擊一般頻寬相對小得多的撥接或 ADSL 使用者,則受害者就會發現他要連的網站連不上或是反應十分緩慢。
DoS 攻擊并非入侵主機也不能竊取機器上的資料,但是一樣會造成攻擊目標的傷害,如果攻擊目標是個電子商務網站就會造成顧客無法到該網站購物。
二、分布式阻斷服務(Distributed Denial of Service)
DDoS 則是 DoS 的特例,黑客利用多臺機器同時攻擊來達到妨礙正常使用者使用服務的目的。黑客預先入侵大量主機以后,在被害主機上安裝 DDoS 攻擊程控被害主機對攻擊目標展開攻擊;有些 DDoS 工具采用多層次的架構,甚至可以一次控制高達上千臺電腦展開攻擊,利用這樣的方式可以有效產生極大的網絡流量以癱瘓攻擊目標。早在2000年就發生過針對Yahoo, eBay, Buy.com 和 CNN 等知名網站的DDoS攻擊,阻止了合法的網絡流量長達數個小時。
DDoS 攻擊程序的分類,可以依照幾種方式分類,以自動化程度可分為手動、半自動與自動攻擊。早期的 DDoS 攻擊程序多半屬于手動攻擊,黑客手動尋找可入侵的計算機入侵并植入攻擊程序,再下指令攻擊目標;半自動的攻擊程序則多半具有 handler 控制攻擊用的agent 程序,黑客散布自動化的入侵工具植入 agent 程序,然后使用 handler 控制所有agents 對目標發動 DDoS 攻擊;自動攻擊更進一步自動化整個攻擊程序,將攻擊的目標、時間和方式都事先寫在攻擊程序里,黑客散布攻擊程序以后就會自動掃描可入侵的主機植入 agent 并在預定的時間對指定目標發起攻擊,例如近期的 W32/Blaster 網蟲即屬于此類。
若以攻擊的弱點分類則可以分為協議攻擊和暴力攻擊兩種。協議攻擊是指黑客利用某個網絡協議設計上的弱點或執行上的 bug 消耗大量資源,例如 TCP SYN 攻擊、對認證伺服器的攻擊等;暴力攻擊則是黑客使用大量正常的聯機消耗被害目標的資源,由于黑客會準備多臺主機發起 DDoS 攻擊目標,只要單位時間內攻擊方發出的網絡流量高于目標所能處理速度,即可消耗掉目標的處理能力而使得正常的使用者無法使用服務。
若以攻擊頻率區分則可分成持續攻擊和變動頻率攻擊兩種。持續攻擊是當攻擊指令下達以后,攻擊主機就全力持續攻擊,因此會瞬間產生大量流量阻斷目標的服務,也因此很容易被偵測到;變動頻率攻擊則較為謹慎,攻擊的頻率可能從慢速漸漸增加或頻率高低變化,利用這樣的方式延緩攻擊被偵測的時間。
三、從 DDoS 攻擊下存活
那么當遭受 DDoS 攻擊的時候要如何設法存活并繼續提供正常服務呢?由先前的介紹可以知道,若黑客攻擊規模遠高于你的網絡頻寬、設備或主機所能處理的能力,其實是很難以抵抗攻擊的,但仍然有一些方法可以減輕攻擊所造成的影響。
首先是調查攻擊來源,由于黑客經由入侵機器進行攻擊,因此你可能無法查出黑客是由哪里發動攻擊,我們必須一步一步從被攻擊目標往回推,先調查攻擊是由管轄網絡的哪些邊界路由器進來,上一步是外界哪臺路由器,連絡這些路由器的管理者(可能是某個ISP或電信公司)并尋求他們協助阻擋或查出攻擊來源,而在他們處理之前可以進行哪些處理呢?
如果被攻擊的目標只是單一 ip,那么試圖改個 ip 并更改其 DNS mapping 或許可以避開攻擊,這是最快速而有效的方式;但是攻擊的目的就是要使正常使用者無法使用服務,更改ip的方式雖然避開攻擊,以另一角度來看黑客也達到了他的目的。此外,如果攻擊的手法較為單純,可以由產生的流量找出其規則,那么利用路由器的 ACLs(Access Control Lists)或防火墻規則也許可以阻擋,若可以發現流量都是來自同一來源或核心路由器,可以考慮暫時將那邊的流量擋起來,當然這還是有可能將正常和異常的流量都一并擋掉,但至少其它來源可以得到正常的服務,這有時是不得已的犧牲。如果行有余力,則可以考慮增加機器或頻寬作為被攻擊的緩沖之用,但這只是治標不治本的做法。最重要的是必須立即著手調查并與相關單位協調解決。
四、預防DDoS攻擊
DDoS 必須透過網絡上各個團體和使用者的共同合作,制定更嚴格的網絡標準來解決。每臺網絡設備或主機都需要隨時更新其系統漏洞、關閉不需要的服務、安裝必要的防毒和防火墻軟件、隨時注意系統安全,避免被黑客和自動化的 DDoS 程序植入攻擊程序,以免成為黑客攻擊的幫兇。
有些 DDoS 會偽裝攻擊來源,假造封包的來源 ip,使人難以追查,這個部份可以透過設定路由器的過濾功能來防止,只要網域內的封包來源是其網域以外的 ip,就應該直接丟棄此封包而不應該再送出去,如果網管設備都支持這項功能,網管人員都能夠正確設定過濾掉假造的封包,也可以大量減少調查和追蹤的時間。
網域之間保持聯絡是很重要的,如此才能有效早期預警和防治 DDoS 攻擊,有些 ISP會在一些網絡節點上放置感應器偵測突然的巨大流量,以提早警告和隔絕 DDoS 的受害區域,降低顧客的受害程度。
Windows消息鉤子一般都很熟悉了。它的用處很多,耳熟能詳的就有——利用鍵盤鉤子獲取目標進程的鍵盤輸入,從而獲得各類密碼以達到不可告人的目的。朋友想讓他的軟件不被別人的全局鉤子監視,有沒有辦法實現呢?答案是肯定的,不過缺陷也是有的。
首先簡單看看全局鉤子如何注入別的進程。
消息鉤子是由Win32子系統提供,其核心部分通過NtUserSetWindowsHookEx為用戶提供了設置消息鉤子的系統服務,用戶通過它注冊全局鉤子。當系統獲取某些事件,比如用戶按鍵,鍵盤driver將掃描碼等傳入win32k的KeyEvent處理函數,處理函數判斷有無相應hook,有則callhook。此時,系統取得Hook對象信息,若目標進程沒有裝載對應的Dll,則裝載之(利用KeUserModeCallback“調用”用戶例程,它與Apc調用不同,它是仿制中斷返回環境,其調用是“立即”性質的)。
進入用戶態的KiUserCallbackDispatcher后,KiUserCallbackDispatcher根據傳遞的數據獲取所需調用的函數、參數等,隨后調用。針對上面的例子,為裝載hook dll,得到調用的是LoadLibraryExW,隨后進入LdrLoadDll,裝載完畢后返回,后面的步驟就不敘述了。
從上面的討論我們可以得出一個最簡單的防侵入方案:在加載hook dll之前hook相應api使得加載失敗,不過有一個缺陷:系統并不會因為一次的失敗而放棄,每次有消息產生欲call hook時系統都會試圖在你的進程加載dll,這對于性能有些微影響,不過應該感覺不到。剩下一個問題就是不是所有的LoadLibraryExW都應攔截,這個容易解決,比如判斷返回地址。下面給出一個例子片斷,可以添加一些判斷使得某些允許加載的hook dll被加載。
這里hook api使用了微軟的detours庫,可自行修改。
以下內容為程序代碼:
typedef HMODULE (__stdcall *LOADLIB)(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags);
extern "C" {
DETOUR_TRAMPOLINE(HMODULE __stdcall Real_LoadLibraryExW(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags),
LoadLibraryExW);
}
ULONG user32 = 0;
HMODULE __stdcall Mine_LoadLibraryExW(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags)
{
ULONG addr;
_asm mov eax, [ebp+4]
_asm mov addr, eax
if ((user32 & 0xFFFF0000) == (addr & 0xFFFF0000))
{
return 0;
}
HMODULE res = (LOADLIB(Real_LoadLibraryExW)) (
lpwLibFileName,
hFile,
dwFlags);
return res;
}
BOOL ProcessAttach()
{
DetourFunctionWithTrampoline((PBYTE)Real_LoadLibraryExW,
(PBYTE)Mine_LoadLibraryExW);
return TRUE;
}
BOOL ProcessDetach()
{
DetourRemove((PBYTE)Real_LoadLibraryExW,
(PBYTE)Mine_LoadLibraryExW);
return TRUE;
}
CAnti_HookApp::CAnti_HookApp() //在使用用戶界面服務前調用ProcessAttach
{
user32 = (ULONG)GetModuleHandle("User32.dll");
ProcessAttach();
}
首先簡單看看全局鉤子如何注入別的進程。
消息鉤子是由Win32子系統提供,其核心部分通過NtUserSetWindowsHookEx為用戶提供了設置消息鉤子的系統服務,用戶通過它注冊全局鉤子。當系統獲取某些事件,比如用戶按鍵,鍵盤driver將掃描碼等傳入win32k的KeyEvent處理函數,處理函數判斷有無相應hook,有則callhook。此時,系統取得Hook對象信息,若目標進程沒有裝載對應的Dll,則裝載之(利用KeUserModeCallback“調用”用戶例程,它與Apc調用不同,它是仿制中斷返回環境,其調用是“立即”性質的)。
進入用戶態的KiUserCallbackDispatcher后,KiUserCallbackDispatcher根據傳遞的數據獲取所需調用的函數、參數等,隨后調用。針對上面的例子,為裝載hook dll,得到調用的是LoadLibraryExW,隨后進入LdrLoadDll,裝載完畢后返回,后面的步驟就不敘述了。
從上面的討論我們可以得出一個最簡單的防侵入方案:在加載hook dll之前hook相應api使得加載失敗,不過有一個缺陷:系統并不會因為一次的失敗而放棄,每次有消息產生欲call hook時系統都會試圖在你的進程加載dll,這對于性能有些微影響,不過應該感覺不到。剩下一個問題就是不是所有的LoadLibraryExW都應攔截,這個容易解決,比如判斷返回地址。下面給出一個例子片斷,可以添加一些判斷使得某些允許加載的hook dll被加載。
這里hook api使用了微軟的detours庫,可自行修改。
以下內容為程序代碼:
typedef HMODULE (__stdcall *LOADLIB)(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags);
extern "C" {
DETOUR_TRAMPOLINE(HMODULE __stdcall Real_LoadLibraryExW(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags),
LoadLibraryExW);
}
ULONG user32 = 0;
HMODULE __stdcall Mine_LoadLibraryExW(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags)
{
ULONG addr;
_asm mov eax, [ebp+4]
_asm mov addr, eax
if ((user32 & 0xFFFF0000) == (addr & 0xFFFF0000))
{
return 0;
}
HMODULE res = (LOADLIB(Real_LoadLibraryExW)) (
lpwLibFileName,
hFile,
dwFlags);
return res;
}
BOOL ProcessAttach()
{
DetourFunctionWithTrampoline((PBYTE)Real_LoadLibraryExW,
(PBYTE)Mine_LoadLibraryExW);
return TRUE;
}
BOOL ProcessDetach()
{
DetourRemove((PBYTE)Real_LoadLibraryExW,
(PBYTE)Mine_LoadLibraryExW);
return TRUE;
}
CAnti_HookApp::CAnti_HookApp() //在使用用戶界面服務前調用ProcessAttach
{
user32 = (ULONG)GetModuleHandle("User32.dll");
ProcessAttach();
}
IDS入侵特征庫創建實例解析
[ 2007-03-25 02:51:24 | 作者: sun ]
IDS要有效地捕捉入侵行為,必須擁有一個強大的入侵特征數據庫,這就如同公安部門必須擁有健全的罪犯信息庫一樣。但是,IDS一般所帶的特征數據庫都比較死板,遇到“變臉”的入侵行為往往相逢不相識。因此,管理員有必要學會如何創建滿足實際需要的特征數據樣板,做到萬變應萬變!本文將對入侵特征的概念、種類以及如何創建特征進行介紹,希望能幫助讀者盡快掌握對付“變臉”的方法。
一、特征(signature)的基本概念
IDS中的特征就是指用于判別通訊信息種類的樣板數據,通常分為多種,以下是一些典型情況及識別方法:
來自保留IP地址的連接企圖:可通過檢查IP報頭(IP header)的來源地址輕易地識別。
帶有非法TCP 標志聯合物的數據包:可通過對比TCP報頭中的標志集與已知正確和錯誤標記聯合物的不同點來識別。
含有特殊病毒信息的Email:可通過對比每封Email的主題信息和病態Email的主題信息來識別,或者,通過搜索特定名字的附近來識別。
查詢負載中的DNS緩沖區溢出企圖:可通過解析DNS域及檢查每個域的長度來識別利用DNS域的緩沖區溢出企圖。還有另外一個識別方法是:在負載中搜索“殼代碼利用”(exploit shellcode)的序列代碼組合。
通過對POP3服務器發出上千次同一命令而導致的DoS攻擊:通過跟蹤記錄某個命令連續發出的次數,看看是否超過了預設上限,而發出報警信息。
未登錄情況下使用文件和目錄命令對FTP服務器的文件訪問攻擊:通過創建具備狀態跟蹤的特征樣板以監視成功登錄的FTP對話、發現未經驗證卻發命令的入侵企圖。
從以上分類可以看出特征的涵蓋范圍很廣,有簡單的報頭域數值、有高度復雜的連接狀態跟蹤、有擴展的協議分析。一葉即可知秋,本文將從最簡單的特征入手,詳細討論其功能及開發、定制方法。
另外請注意:不同的IDS產品具有的特征功能也有所差異。例如:有些網絡IDS系統只允許很少地定制存在的特征數據或者編寫需要的特征數據,另外一些則允許在很寬的范圍內定制或編寫特征數據,甚至可以是任意一個特征;一些IDS系統只能檢查確定的報頭或負載數值,另外一些則可以獲取任何信息包的任何位置的數據。
二、特征有什么作用?
這似乎是一個答案很明顯的問題:特征是檢測數據包中的可疑內容是否真正“不可就要”的樣板,也就是“壞分子克隆”。IDS系統本身就帶有這個重要的部分,為什么還需要定制或編寫特征呢?是這樣:也許你經常看到一些熟悉的通訊信息流在網絡上游蕩,由于IDS系統的特征數據庫過期或者這些通訊信息本身就不是攻擊或探測數據,IDS系統并沒有對它們進行關注,而這時你的好奇心升起,想在這些可疑數據再次經由時發出報警,想捕捉它們、仔細看看它們到底來自何方、有何貴干,因此,唯一的辦法就是對現有特征數據庫進行一些定制配置或者編寫新的特征數據了。
特征的定制或編寫程度可粗可細,完全取決于實際需求。或者是只判斷是否發生了異常行為而不確定具體是什么攻擊名號,從而節省資源和時間;或者是判斷出具體的攻擊手段或漏洞利用方式,從而獲取更多的信息。我感覺,前者適用于領導同志,后者需要具體做事者使用,宏觀加微觀,敵人別想遛進來!
三、首席特征代表:報頭值(Header Values)
報頭值的結構比較簡單,而且可以很清楚地識別出異常報頭信息,因此,特征數據的首席候選人就是它。一個經典的例子是:明顯違背RFC793中規定的TCP標準、設置了SYN和FIN標記的TCP數據包。這種數據包被許多入侵軟件采用,向防火墻、路由器以及IDS系統發起攻擊。異常報頭值的來源有以下幾種:
因為大多數操作系統和應用軟件都是在假定RFC被嚴格遵守的情況下編寫的,沒有添加針對異常數據的錯誤處理程序,所以許多包含報頭值的漏洞利用都會故意違反RFC的標準定義,明目張膽地揭發被攻擊對象的偷工減料行為。
許多包含錯誤代碼的不完善軟件也會產生違反RFC定義的報頭值數據。
并非所有的操作系統和應用程序都能全面擁護RFC定義,至少會存在一個方面與RFC不協調。
隨著時間推移,執行新功能的協議可能不被包含于現有RFC中。
由于以上幾種情況,嚴格基于RFC的IDS特征數據就有可能產生漏報或誤報效果。對此,RFC也隨著新出現的違反信息而不斷進行著更新,我們也有必要定期地回顧或更新存在的特征數據定義。
非法報頭值是特征數據的一個非常基礎的部分,合法但可疑的報頭值也同等重要。例如,如果存在到端口31337或27374的可疑連接,就可報警說可能有特洛伊木馬在活動;再附加上其他更詳細地探測信息,就能夠進一步地判斷是真馬還是假馬。
四、確定特征“候選人”
為了更好地理解如何開發基于報頭值的特殊數據,下面通過分析一個實例的整個過程進行詳細闡述。
Synscan是一個流行的用于掃描和探測系統的工具,由于它的代碼被用于創建蠕蟲Ramen的開始片斷而在2001年早期大出風頭。Synscan的執行行為很具典型性,它發出的信息包具有多種可分辨的特性,包括:
不同的來源IP地址信息
TCP來源端口21,目標端口21
服務類型0
IP鑒定號碼39426(IP identification number)
設置SYN和FIN標志位
不同的序列號集合(sequence numbers set)
不同的確認號碼集合(acknowledgment numbers set)
TCP窗口尺寸1028
下面我們對以上這些數據進行篩選,看看哪個比較合適做特征數據。我們要尋找的是非法、異常或可疑數據,大多數情況下,這都反映出攻擊者利用的漏洞或者他們使用的特殊技術。以下是特征數據的候選對象:
只具有SYN和FIN標志集的數據包,這是公認的惡意行為跡象。
沒有設置ACK標志,但卻具有不同確認號碼數值的數據包,而正常情況應該是0。
來源端口和目標端口都被設置為21的數據包,經常與FTP服務器關聯。這種端口相同的情況一般被稱為“反身”(reflexive),除了個別時候如進行一些特別NetBIOS通訊外,正常情況下不應該出現這種現象。“反身”端口本身并不違反TCP標準,但大多數情況下它們并非預期數值。例如在一個正常的FTP對話中,目標端口一般是21,而來源端口通常都高于1023。
TCP窗口尺寸為1028,IP鑒定號碼在所有數據包中為39426。根據IP RFC的定義,這2類數值應在數據包間有所不同,因此,如果持續不變,就表明可疑。
五、公布最佳特征“得主”
從以上4個候選對象中,我們可以單獨選出一項作為基于報頭的特征數據,也可以選出多項組合作為特征數據。
選擇一項數據作為特征有很大的局限性。例如一個簡單的特征可以是只具有SYN和FIN標志的數據包,雖然這可以很好地提示我們可能有一個可疑的行為發生,但卻不能給出為什么會發生的更多信息。SYN和FIN通常聯合在一起攻擊防護墻和其他設備,只要有它們出現,就預示著掃描正在發生、信息正在收集、攻擊將要開始。但僅僅這些而已,我們需要的是更多的細節資料。
選擇以上4項數據聯合作為特征也不現實,因為這顯得有些太特殊了。盡管能夠精確地提供行為信息,但是比僅僅使用一個數據作為特征而言,會顯得遠遠缺乏效率。實際上,特征定義永遠要在效率和精確度間取得折中。大多數情況下,簡單特征比復雜特征更傾向于誤報(false positives),因為前者很普遍;復雜特征比簡單特征更傾向于漏報(false negatives),因為前者太過全面,攻擊軟件的某個特征會隨著時間的推進而變化。
多也不行,少亦不可,完全應由實際情況決定。例如,我們想判斷攻擊可能采用的工具是什么,那么除了SYN和FIN標志以外,還需要什么其他屬性?“反身”端口雖然可疑,但是許多工具都使用到它,而且一些正常通訊也有此現象,因此不適宜選為特征。TCP窗口尺寸1028盡管有一點可疑,但也會自然的發生。IP鑒定號碼39426也一樣。沒有ACK標志的ACK數值很明顯是非法的,因此非常適于選為特征數據。當然,根據環境的不同,及時地調整或組合特征數據,才是達到最優效果的不二法門。
接下來我們真正創建一個特征,用于尋找并確定synscan發出的每個TCP信息包中的以下屬性:
只設置了SYN和FIN標志
IP鑒定號碼為39426
TCP窗口尺寸為1028
第一個項目太普遍,第二個和第三個項目聯合出現在同一數據包的情況不很多,因此,將這三個項目組合起來就可以定義一個詳細的特征了。再加上其他的synscan屬性不會顯著地提高特征的精確度,只能增加資源的耗費。到此,判別synscan軟件的特征如此就創建完畢了。
六、拓寬特征的“社會關系”,創建識別更多異常通訊的特征
以上創建的特征可以滿足對標準synscan軟件的探測了。但synscan可能存在多種“變臉”,而其它工具也可能是“變化多端”的,這樣,上述建立的特征必然不能將它們一一識別。這時就需要結合使用特殊特征和通用特征,才能創建一個更好、更全面的解決方案。如果一個入侵檢測特征既能揭示已知“壞蛋”,還能預測“潛在的罪犯”,那么它的魅力將大大提高。
首先看一個“變臉”synscan所發出的數據信息特征:
只設置了SYN標志,這純屬正常的TCP數據包“長相”。
TCP窗口尺寸總是40而不是1028。40是初始SYN信息包中一個罕見的小窗口尺寸,比正常的數值1028少見得多。
“反身”端口數值為53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新版本BIND則不再使用它,因此,經常看到這個信息會讓我們睜大懷疑的眼睛。
以上3種數據與標準synscan產生的數據有很多相似出,因此可以初步推斷產生它的工具或者是synscan的不同版本,或者是其他基于synscan代碼的工具。顯然,前面定義的特征已經不能將這個“變臉”識別出來,因為3個特征子項已經面目全非。這時,我們可以采取三種方法:
再單獨創建一個匹配這些內容的特殊特征。
調整我們的探測目標,只關注普通的異常行為,而不是特殊的異常行為,創建識別普通異常行為的通用特征。
1和2都創建,既全面撒網,也重點垂釣,真實的罪犯必抓,可疑的分子也別跑。
通用特征可以創建如下:
沒有設置確認標志,但是確認數值卻非0的TCP數據包。
只設置了SYN和FIN標志的TCP數據包。
初始TCP窗口尺寸低于一定數值的TCP數據包。
使用以上的通用特征,上面提到過的兩種異常數據包都可以有效地識別出來。看來,網大好撈魚啊。
當然,如果需要更加詳細地探測,再在這些通用特征的基礎上添加一些個性數據就可以創建出一個特殊特征來。還是那個觀點,創建什么樣的特征、創建哪些特征,取決于實際需求,實踐是檢測創建何種特征的唯一標準嗎!
七、報頭值關鍵元素小結,信息包種類檢查分析
從上面討論的例子中,我們看到了可用于創建IDS特征的多種報頭值信息。通常,最有可能用于生成報頭相關特征的元素為以下幾種:
IP地址,特別保留地址、非路由地址、廣播地址。
不應被使用的端口號,特別是眾所周知的協議端口號和木馬端口號。
異常信息包片斷。
特殊TCP標志組合值。
不應該經常出現的ICMP字節或代碼。
知道了如何使用基于報頭的特征數據,接下來要確定的是檢查何種信息包。確定的標準依然是根據實際需求而定。因為ICMP和UDP信息包是無狀態的,所以大多數情況下,需要對它們的每一個“屬下”都進行檢查。而TCP信息包是有連接狀態的,因此有時候可以只檢查連接中的第一個信息包。例如,象IP地址和端口這樣的特征將在連接的所有數據包中保持不變,只對它們檢查一次就可放心。其他特征如TCP標志會在對話過程的不同數據包中有所不同,如果要查找特殊的標志組合值,就需要對每一個數據包進行檢查。檢查的數量越多,消耗的資源和時間也就越多。
另外我們還要了解一點:關注TCP、UDP或者ICMP的報頭信息要比關注DNS報頭信息更方便。因為TCP、UDP以及ICMP都屬于IP協議,它們的報頭信息和載荷信息都位于IP數據包的payload部分,比如要獲取TCP報頭數值,首先解析IP報頭,然后就可以判斷出這個載荷的“父親”是TCP。而象DNS這樣的協議,它又包含在UDP和TCP數據包的載荷中,如果要獲取DNS的信息,就必須深入2層才能看到真面目。而且,解析此類協議還需要更多更復雜的編程代碼,完全不如TCP等簡單。實際上,這個解析操作也正是區分不同協議的關鍵所在,評價IDS系統的好壞也體現在是否能夠很好地分析更多的協議。
八、結語
本文對如何定制IDS的關鍵部件特征數據庫做了詳細地介紹,相信你已經對此有了進一步的認識。入侵者總是狡猾多變的,我們不能讓手中的鋼刀有刃無光,要經常地磨礪它、改裝它,才可能以萬變應萬變,讓入侵者膽戰心驚!
一、特征(signature)的基本概念
IDS中的特征就是指用于判別通訊信息種類的樣板數據,通常分為多種,以下是一些典型情況及識別方法:
來自保留IP地址的連接企圖:可通過檢查IP報頭(IP header)的來源地址輕易地識別。
帶有非法TCP 標志聯合物的數據包:可通過對比TCP報頭中的標志集與已知正確和錯誤標記聯合物的不同點來識別。
含有特殊病毒信息的Email:可通過對比每封Email的主題信息和病態Email的主題信息來識別,或者,通過搜索特定名字的附近來識別。
查詢負載中的DNS緩沖區溢出企圖:可通過解析DNS域及檢查每個域的長度來識別利用DNS域的緩沖區溢出企圖。還有另外一個識別方法是:在負載中搜索“殼代碼利用”(exploit shellcode)的序列代碼組合。
通過對POP3服務器發出上千次同一命令而導致的DoS攻擊:通過跟蹤記錄某個命令連續發出的次數,看看是否超過了預設上限,而發出報警信息。
未登錄情況下使用文件和目錄命令對FTP服務器的文件訪問攻擊:通過創建具備狀態跟蹤的特征樣板以監視成功登錄的FTP對話、發現未經驗證卻發命令的入侵企圖。
從以上分類可以看出特征的涵蓋范圍很廣,有簡單的報頭域數值、有高度復雜的連接狀態跟蹤、有擴展的協議分析。一葉即可知秋,本文將從最簡單的特征入手,詳細討論其功能及開發、定制方法。
另外請注意:不同的IDS產品具有的特征功能也有所差異。例如:有些網絡IDS系統只允許很少地定制存在的特征數據或者編寫需要的特征數據,另外一些則允許在很寬的范圍內定制或編寫特征數據,甚至可以是任意一個特征;一些IDS系統只能檢查確定的報頭或負載數值,另外一些則可以獲取任何信息包的任何位置的數據。
二、特征有什么作用?
這似乎是一個答案很明顯的問題:特征是檢測數據包中的可疑內容是否真正“不可就要”的樣板,也就是“壞分子克隆”。IDS系統本身就帶有這個重要的部分,為什么還需要定制或編寫特征呢?是這樣:也許你經常看到一些熟悉的通訊信息流在網絡上游蕩,由于IDS系統的特征數據庫過期或者這些通訊信息本身就不是攻擊或探測數據,IDS系統并沒有對它們進行關注,而這時你的好奇心升起,想在這些可疑數據再次經由時發出報警,想捕捉它們、仔細看看它們到底來自何方、有何貴干,因此,唯一的辦法就是對現有特征數據庫進行一些定制配置或者編寫新的特征數據了。
特征的定制或編寫程度可粗可細,完全取決于實際需求。或者是只判斷是否發生了異常行為而不確定具體是什么攻擊名號,從而節省資源和時間;或者是判斷出具體的攻擊手段或漏洞利用方式,從而獲取更多的信息。我感覺,前者適用于領導同志,后者需要具體做事者使用,宏觀加微觀,敵人別想遛進來!
三、首席特征代表:報頭值(Header Values)
報頭值的結構比較簡單,而且可以很清楚地識別出異常報頭信息,因此,特征數據的首席候選人就是它。一個經典的例子是:明顯違背RFC793中規定的TCP標準、設置了SYN和FIN標記的TCP數據包。這種數據包被許多入侵軟件采用,向防火墻、路由器以及IDS系統發起攻擊。異常報頭值的來源有以下幾種:
因為大多數操作系統和應用軟件都是在假定RFC被嚴格遵守的情況下編寫的,沒有添加針對異常數據的錯誤處理程序,所以許多包含報頭值的漏洞利用都會故意違反RFC的標準定義,明目張膽地揭發被攻擊對象的偷工減料行為。
許多包含錯誤代碼的不完善軟件也會產生違反RFC定義的報頭值數據。
并非所有的操作系統和應用程序都能全面擁護RFC定義,至少會存在一個方面與RFC不協調。
隨著時間推移,執行新功能的協議可能不被包含于現有RFC中。
由于以上幾種情況,嚴格基于RFC的IDS特征數據就有可能產生漏報或誤報效果。對此,RFC也隨著新出現的違反信息而不斷進行著更新,我們也有必要定期地回顧或更新存在的特征數據定義。
非法報頭值是特征數據的一個非常基礎的部分,合法但可疑的報頭值也同等重要。例如,如果存在到端口31337或27374的可疑連接,就可報警說可能有特洛伊木馬在活動;再附加上其他更詳細地探測信息,就能夠進一步地判斷是真馬還是假馬。
四、確定特征“候選人”
為了更好地理解如何開發基于報頭值的特殊數據,下面通過分析一個實例的整個過程進行詳細闡述。
Synscan是一個流行的用于掃描和探測系統的工具,由于它的代碼被用于創建蠕蟲Ramen的開始片斷而在2001年早期大出風頭。Synscan的執行行為很具典型性,它發出的信息包具有多種可分辨的特性,包括:
不同的來源IP地址信息
TCP來源端口21,目標端口21
服務類型0
IP鑒定號碼39426(IP identification number)
設置SYN和FIN標志位
不同的序列號集合(sequence numbers set)
不同的確認號碼集合(acknowledgment numbers set)
TCP窗口尺寸1028
下面我們對以上這些數據進行篩選,看看哪個比較合適做特征數據。我們要尋找的是非法、異常或可疑數據,大多數情況下,這都反映出攻擊者利用的漏洞或者他們使用的特殊技術。以下是特征數據的候選對象:
只具有SYN和FIN標志集的數據包,這是公認的惡意行為跡象。
沒有設置ACK標志,但卻具有不同確認號碼數值的數據包,而正常情況應該是0。
來源端口和目標端口都被設置為21的數據包,經常與FTP服務器關聯。這種端口相同的情況一般被稱為“反身”(reflexive),除了個別時候如進行一些特別NetBIOS通訊外,正常情況下不應該出現這種現象。“反身”端口本身并不違反TCP標準,但大多數情況下它們并非預期數值。例如在一個正常的FTP對話中,目標端口一般是21,而來源端口通常都高于1023。
TCP窗口尺寸為1028,IP鑒定號碼在所有數據包中為39426。根據IP RFC的定義,這2類數值應在數據包間有所不同,因此,如果持續不變,就表明可疑。
五、公布最佳特征“得主”
從以上4個候選對象中,我們可以單獨選出一項作為基于報頭的特征數據,也可以選出多項組合作為特征數據。
選擇一項數據作為特征有很大的局限性。例如一個簡單的特征可以是只具有SYN和FIN標志的數據包,雖然這可以很好地提示我們可能有一個可疑的行為發生,但卻不能給出為什么會發生的更多信息。SYN和FIN通常聯合在一起攻擊防護墻和其他設備,只要有它們出現,就預示著掃描正在發生、信息正在收集、攻擊將要開始。但僅僅這些而已,我們需要的是更多的細節資料。
選擇以上4項數據聯合作為特征也不現實,因為這顯得有些太特殊了。盡管能夠精確地提供行為信息,但是比僅僅使用一個數據作為特征而言,會顯得遠遠缺乏效率。實際上,特征定義永遠要在效率和精確度間取得折中。大多數情況下,簡單特征比復雜特征更傾向于誤報(false positives),因為前者很普遍;復雜特征比簡單特征更傾向于漏報(false negatives),因為前者太過全面,攻擊軟件的某個特征會隨著時間的推進而變化。
多也不行,少亦不可,完全應由實際情況決定。例如,我們想判斷攻擊可能采用的工具是什么,那么除了SYN和FIN標志以外,還需要什么其他屬性?“反身”端口雖然可疑,但是許多工具都使用到它,而且一些正常通訊也有此現象,因此不適宜選為特征。TCP窗口尺寸1028盡管有一點可疑,但也會自然的發生。IP鑒定號碼39426也一樣。沒有ACK標志的ACK數值很明顯是非法的,因此非常適于選為特征數據。當然,根據環境的不同,及時地調整或組合特征數據,才是達到最優效果的不二法門。
接下來我們真正創建一個特征,用于尋找并確定synscan發出的每個TCP信息包中的以下屬性:
只設置了SYN和FIN標志
IP鑒定號碼為39426
TCP窗口尺寸為1028
第一個項目太普遍,第二個和第三個項目聯合出現在同一數據包的情況不很多,因此,將這三個項目組合起來就可以定義一個詳細的特征了。再加上其他的synscan屬性不會顯著地提高特征的精確度,只能增加資源的耗費。到此,判別synscan軟件的特征如此就創建完畢了。
六、拓寬特征的“社會關系”,創建識別更多異常通訊的特征
以上創建的特征可以滿足對標準synscan軟件的探測了。但synscan可能存在多種“變臉”,而其它工具也可能是“變化多端”的,這樣,上述建立的特征必然不能將它們一一識別。這時就需要結合使用特殊特征和通用特征,才能創建一個更好、更全面的解決方案。如果一個入侵檢測特征既能揭示已知“壞蛋”,還能預測“潛在的罪犯”,那么它的魅力將大大提高。
首先看一個“變臉”synscan所發出的數據信息特征:
只設置了SYN標志,這純屬正常的TCP數據包“長相”。
TCP窗口尺寸總是40而不是1028。40是初始SYN信息包中一個罕見的小窗口尺寸,比正常的數值1028少見得多。
“反身”端口數值為53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新版本BIND則不再使用它,因此,經常看到這個信息會讓我們睜大懷疑的眼睛。
以上3種數據與標準synscan產生的數據有很多相似出,因此可以初步推斷產生它的工具或者是synscan的不同版本,或者是其他基于synscan代碼的工具。顯然,前面定義的特征已經不能將這個“變臉”識別出來,因為3個特征子項已經面目全非。這時,我們可以采取三種方法:
再單獨創建一個匹配這些內容的特殊特征。
調整我們的探測目標,只關注普通的異常行為,而不是特殊的異常行為,創建識別普通異常行為的通用特征。
1和2都創建,既全面撒網,也重點垂釣,真實的罪犯必抓,可疑的分子也別跑。
通用特征可以創建如下:
沒有設置確認標志,但是確認數值卻非0的TCP數據包。
只設置了SYN和FIN標志的TCP數據包。
初始TCP窗口尺寸低于一定數值的TCP數據包。
使用以上的通用特征,上面提到過的兩種異常數據包都可以有效地識別出來。看來,網大好撈魚啊。
當然,如果需要更加詳細地探測,再在這些通用特征的基礎上添加一些個性數據就可以創建出一個特殊特征來。還是那個觀點,創建什么樣的特征、創建哪些特征,取決于實際需求,實踐是檢測創建何種特征的唯一標準嗎!
七、報頭值關鍵元素小結,信息包種類檢查分析
從上面討論的例子中,我們看到了可用于創建IDS特征的多種報頭值信息。通常,最有可能用于生成報頭相關特征的元素為以下幾種:
IP地址,特別保留地址、非路由地址、廣播地址。
不應被使用的端口號,特別是眾所周知的協議端口號和木馬端口號。
異常信息包片斷。
特殊TCP標志組合值。
不應該經常出現的ICMP字節或代碼。
知道了如何使用基于報頭的特征數據,接下來要確定的是檢查何種信息包。確定的標準依然是根據實際需求而定。因為ICMP和UDP信息包是無狀態的,所以大多數情況下,需要對它們的每一個“屬下”都進行檢查。而TCP信息包是有連接狀態的,因此有時候可以只檢查連接中的第一個信息包。例如,象IP地址和端口這樣的特征將在連接的所有數據包中保持不變,只對它們檢查一次就可放心。其他特征如TCP標志會在對話過程的不同數據包中有所不同,如果要查找特殊的標志組合值,就需要對每一個數據包進行檢查。檢查的數量越多,消耗的資源和時間也就越多。
另外我們還要了解一點:關注TCP、UDP或者ICMP的報頭信息要比關注DNS報頭信息更方便。因為TCP、UDP以及ICMP都屬于IP協議,它們的報頭信息和載荷信息都位于IP數據包的payload部分,比如要獲取TCP報頭數值,首先解析IP報頭,然后就可以判斷出這個載荷的“父親”是TCP。而象DNS這樣的協議,它又包含在UDP和TCP數據包的載荷中,如果要獲取DNS的信息,就必須深入2層才能看到真面目。而且,解析此類協議還需要更多更復雜的編程代碼,完全不如TCP等簡單。實際上,這個解析操作也正是區分不同協議的關鍵所在,評價IDS系統的好壞也體現在是否能夠很好地分析更多的協議。
八、結語
本文對如何定制IDS的關鍵部件特征數據庫做了詳細地介紹,相信你已經對此有了進一步的認識。入侵者總是狡猾多變的,我們不能讓手中的鋼刀有刃無光,要經常地磨礪它、改裝它,才可能以萬變應萬變,讓入侵者膽戰心驚!
網絡欺詐有一個很好聽的名字——網絡釣魚(Phishing),這是“Fishing”和“Phone”的綜合體,由于黑客始祖起初是以電話作案,所以用“Ph”來取代“F”,創造了“Phishing”這個詞。所謂“姜太公釣魚,愿者上鉤”,網絡中的“欺詐者”,利用欺騙性的電子郵件和偽造的Web站點進行詐騙活動,或者布局誘惑網友安裝黑客程序和木馬病毒,以達到竊取重要數據的目的。據專家透露,“網絡釣魚”之所以猖狂,是因為在所有接觸詐騙信息的用戶中,總有5%的人會對騙局作出響應。
“釣魚”招數一“發財郵件”坑你沒商量
Yama很有經商頭腦,幾年前,她偶然看到美國一家購物網站上的二手攝像器材不錯,比國內的價格便宜很多。于是,她讓國外的姐姐開了個北美賬號,通過美國這家購物網買了幾臺很新的二手攝像機,然后以小時計費租給影視公司,生意很快就做大了。
由于機器都是通過境外購物網站購買,Yama每天的工作就是泡在網上給買家寫郵件,商量各種購買細節。有一天,她忽然收到一封電子郵件,發件人自稱是紐約賣家Thomas,曾經賣給她鏡頭。
Thomas在郵件中說:“我們曾經有過很愉快的交易,現在我自己開了家網上攝像器材二手店,你只要過來登記會員,就能直接向我購買。也不用再交給購物網站交易傭金,能省很多錢哦!”
Yama點開郵件中的網頁鏈接,發現里面的機器非常新,而且價錢比二手的還低30%。她心想:反正只是注冊一下會員,不妨去看看。雖然在填寫資料時涉及銀行賬號之類的信息,但她還是沒有懷疑。
一場噩夢就這樣開始了。幾天后,當Yama再次用這個境外銀行賬號買東西時,發現卡里只剩下幾美元!她再仔細翻看Thomas的信,忽然發現,這人根本沒有和自己有過任何交易,完全就是騙子發來的垃圾郵件。她意識到自己被騙了。
見招拆招:請刪除垃圾郵件不請自到的商業郵件或垃圾郵件,是網絡詐騙中很常見的手段。過去,回復垃圾郵件最多就是招來更多郵件,而現在,一不小心就會讓騙子獲得可乘之機,在電腦上秘密安裝跟蹤軟件,或者布局讓人主動交出資料。
“釣魚”招數二真假網上銀行
現在通過網上銀行轉賬消費已經不是新鮮事了,王麗見同事每月只要點點鼠標,就能輕松地用網上銀行業務付手機費,也想申請一個網上銀行。
一天,王麗收到一封自稱為“工商銀行”的郵件,說可以免費開通網上銀行。她點開郵件中的網頁鏈接,看到申請網上銀行業務的界面出奇簡單,心里忽然生出些疑問:好像聽同事說申請網上銀行業務手續挺麻煩的,這個怎么就像一般論壇登錄界面呢?謹慎的她沒有繼續。
第二天上班,她在辦公室聊起這事,網管GG立刻大呼:“這是典型的網絡詐騙哦!你遇到克隆工行啦!”
“不信?!我給你看!”網管拉著王麗來到電腦前——“真正的工行網上銀行地址是mybank.icbc.com.cn,而你這個是mybank.iclc.com.cn,把‘b’偷換成‘l’,地址很像,網頁內容更像,還好你沒繼續申請,否則就中招嘍!”
沒過幾天,這個工商銀行的克隆網站就被曝光查封了,一起查封的,還有中國農業銀行網址的克隆網站hnp://www.95569.cn。詐騙者利用一字之差這樣的障眼法,蒙騙粗枝大葉的網民。
見招拆招:撥客服電話確認真假現在網絡欺詐者建立的克隆網上銀行系統和真正的網站極為相似,引誘用戶輸入賬號、密碼等信息,進而通過真正的網上銀行、網上證券系統或者偽造銀行儲蓄卡、證券交易卡竊得資金。還會利用服務器上的漏洞,在站點中惡意插入代碼和病毒插件,竊取用戶重要信息。
既然是詐騙,當然少不了調包計。網絡騙子們可以輕松仿造著名企業或知名銀行的網站,神不知鬼不覺地把你引入“李鬼”網站,獲取你所有的資料,繼而大肆行騙。
據銀行有關人員表示,目前正規的各家網上銀行都有自己的一套安全措施,數字證書是辨別真假網站的有效工具,要放心使用網上銀行,就別偷懶,多了解這些安全設施吧。
說到個人預防,其實和技術并沒很大關系,只要有充分的警惕意識,看到來自網上銀行的郵件通知,順手撥一個客服電話,確認信息真假,就可以保證不被假銀行蒙騙。
“釣魚”招數一“發財郵件”坑你沒商量
Yama很有經商頭腦,幾年前,她偶然看到美國一家購物網站上的二手攝像器材不錯,比國內的價格便宜很多。于是,她讓國外的姐姐開了個北美賬號,通過美國這家購物網買了幾臺很新的二手攝像機,然后以小時計費租給影視公司,生意很快就做大了。
由于機器都是通過境外購物網站購買,Yama每天的工作就是泡在網上給買家寫郵件,商量各種購買細節。有一天,她忽然收到一封電子郵件,發件人自稱是紐約賣家Thomas,曾經賣給她鏡頭。
Thomas在郵件中說:“我們曾經有過很愉快的交易,現在我自己開了家網上攝像器材二手店,你只要過來登記會員,就能直接向我購買。也不用再交給購物網站交易傭金,能省很多錢哦!”
Yama點開郵件中的網頁鏈接,發現里面的機器非常新,而且價錢比二手的還低30%。她心想:反正只是注冊一下會員,不妨去看看。雖然在填寫資料時涉及銀行賬號之類的信息,但她還是沒有懷疑。
一場噩夢就這樣開始了。幾天后,當Yama再次用這個境外銀行賬號買東西時,發現卡里只剩下幾美元!她再仔細翻看Thomas的信,忽然發現,這人根本沒有和自己有過任何交易,完全就是騙子發來的垃圾郵件。她意識到自己被騙了。
見招拆招:請刪除垃圾郵件不請自到的商業郵件或垃圾郵件,是網絡詐騙中很常見的手段。過去,回復垃圾郵件最多就是招來更多郵件,而現在,一不小心就會讓騙子獲得可乘之機,在電腦上秘密安裝跟蹤軟件,或者布局讓人主動交出資料。
“釣魚”招數二真假網上銀行
現在通過網上銀行轉賬消費已經不是新鮮事了,王麗見同事每月只要點點鼠標,就能輕松地用網上銀行業務付手機費,也想申請一個網上銀行。
一天,王麗收到一封自稱為“工商銀行”的郵件,說可以免費開通網上銀行。她點開郵件中的網頁鏈接,看到申請網上銀行業務的界面出奇簡單,心里忽然生出些疑問:好像聽同事說申請網上銀行業務手續挺麻煩的,這個怎么就像一般論壇登錄界面呢?謹慎的她沒有繼續。
第二天上班,她在辦公室聊起這事,網管GG立刻大呼:“這是典型的網絡詐騙哦!你遇到克隆工行啦!”
“不信?!我給你看!”網管拉著王麗來到電腦前——“真正的工行網上銀行地址是mybank.icbc.com.cn,而你這個是mybank.iclc.com.cn,把‘b’偷換成‘l’,地址很像,網頁內容更像,還好你沒繼續申請,否則就中招嘍!”
沒過幾天,這個工商銀行的克隆網站就被曝光查封了,一起查封的,還有中國農業銀行網址的克隆網站hnp://www.95569.cn。詐騙者利用一字之差這樣的障眼法,蒙騙粗枝大葉的網民。
見招拆招:撥客服電話確認真假現在網絡欺詐者建立的克隆網上銀行系統和真正的網站極為相似,引誘用戶輸入賬號、密碼等信息,進而通過真正的網上銀行、網上證券系統或者偽造銀行儲蓄卡、證券交易卡竊得資金。還會利用服務器上的漏洞,在站點中惡意插入代碼和病毒插件,竊取用戶重要信息。
既然是詐騙,當然少不了調包計。網絡騙子們可以輕松仿造著名企業或知名銀行的網站,神不知鬼不覺地把你引入“李鬼”網站,獲取你所有的資料,繼而大肆行騙。
據銀行有關人員表示,目前正規的各家網上銀行都有自己的一套安全措施,數字證書是辨別真假網站的有效工具,要放心使用網上銀行,就別偷懶,多了解這些安全設施吧。
說到個人預防,其實和技術并沒很大關系,只要有充分的警惕意識,看到來自網上銀行的郵件通知,順手撥一個客服電話,確認信息真假,就可以保證不被假銀行蒙騙。
McAfee推免費版SiteAdvisor安全上網工具
[ 2007-03-25 02:50:50 | 作者: sun ]
McAfee近期宣布推出完全免費版McAfee SiteAdvisor上網工具。McAfee SiteAdvisor是業界第一款Web安全工具,能夠主動地提醒用戶在瀏覽、搜索和即時通信或收發電子郵件時所遇到的危險站點,避免遭到網絡釣魚、間諜軟件等惡意程序的攻擊。
McAfee SiteAdvisor是由數名美國麻省理工學院(MIT)的工程師于2005年4月創建的。創建之初,他們希望Web對其家人和朋友更安全,不再需要花很多休息時間來清理家人計算機上大量的垃圾郵件、廣告軟件和間諜軟件。
另外,相對而言,傳統的安全公司擅長處理技術威脅(如病毒),但卻無法有效防止新的"社會工程"伎倆,如間諜軟件感染、身份信息竊取詐騙和發送大量電子郵件的站點。
為了解決這項難題,MIT的工程師們建立了一個自動測試程序系統,它能持續巡視Web來瀏覽站點、下載文件和在注冊表單中輸入信息。這種用于IE和 Firefox瀏覽器的易用軟件會對安全結果進行匯總,并通過直觀的紅色(危險)、黃色(可疑)和綠色(安全)評級表示出來,從而幫助Web用戶在在線搜索、瀏覽和交易時保持安全狀態,保證Web 安全,并讓每位用戶都可以更安全地使用互聯網。
SiteAdvisor于2006年4月5日宣布由全球知名的安全廠商邁克菲收購。加入邁克菲之后,極大地提高了SiteAdvisor在全球范圍的影響力,使用邁克菲提供的領先安全技術,從而加快為眾多用戶開發功能的速度。
目前,SiteAdvisor不僅可以阻止間諜軟件、廣告軟件、瀏覽器攻擊、垃圾郵件和其它網絡欺詐,而且還可以防止網絡釣魚攻擊,可以全面的幫助用戶避免高風險的網上交易和感染惡意軟件的機會。下載地址:http://www.siteadvisor.com/download/iemedia.html?cid=22940
McAfee SiteAdvisor是由數名美國麻省理工學院(MIT)的工程師于2005年4月創建的。創建之初,他們希望Web對其家人和朋友更安全,不再需要花很多休息時間來清理家人計算機上大量的垃圾郵件、廣告軟件和間諜軟件。
另外,相對而言,傳統的安全公司擅長處理技術威脅(如病毒),但卻無法有效防止新的"社會工程"伎倆,如間諜軟件感染、身份信息竊取詐騙和發送大量電子郵件的站點。
為了解決這項難題,MIT的工程師們建立了一個自動測試程序系統,它能持續巡視Web來瀏覽站點、下載文件和在注冊表單中輸入信息。這種用于IE和 Firefox瀏覽器的易用軟件會對安全結果進行匯總,并通過直觀的紅色(危險)、黃色(可疑)和綠色(安全)評級表示出來,從而幫助Web用戶在在線搜索、瀏覽和交易時保持安全狀態,保證Web 安全,并讓每位用戶都可以更安全地使用互聯網。
SiteAdvisor于2006年4月5日宣布由全球知名的安全廠商邁克菲收購。加入邁克菲之后,極大地提高了SiteAdvisor在全球范圍的影響力,使用邁克菲提供的領先安全技術,從而加快為眾多用戶開發功能的速度。
目前,SiteAdvisor不僅可以阻止間諜軟件、廣告軟件、瀏覽器攻擊、垃圾郵件和其它網絡欺詐,而且還可以防止網絡釣魚攻擊,可以全面的幫助用戶避免高風險的網上交易和感染惡意軟件的機會。下載地址:http://www.siteadvisor.com/download/iemedia.html?cid=22940
黑客如何給你的系統種木馬
[ 2007-03-25 02:50:21 | 作者: sun ]
相信很多朋友都聽說過木馬程序,總覺得它很神秘、很高難,但事實上隨著木馬軟件的智能化,很多駭客都能輕松達到攻擊的目的。今天,筆者就以最新的一款木馬程序——黑洞2004,從種植、使用、隱藏、防范四個方面來為網絡愛好者介紹一下木馬的特性。需要提醒大家的是,在使用木馬程序的時候,請先關閉系統中的病毒防火墻,因為殺毒軟件會把木馬作為病毒的一種進行查殺。
操作步驟:
一、種植木馬
現在網絡上流行的木馬基本上都采用的是C/S 結構(客戶端/服務端)。你要使用木馬控制對方的電腦,首先需要在對方的的電腦中種植并運行服務端程序,然后運行本地電腦中的客戶端程序對對方電腦進行連接進而控制對方電腦。
二、使用木馬
成功的給別人植入木馬服務端后,就需要耐心等待服務端上線。由于黑洞2004采用了反連接技術,所以服務端上線后會自動和客戶端進行連接,這時,我們就可以操控客戶端對服務端進行遠程控制。在黑洞2004下面的列表中,隨便選擇一臺已經上線的電腦,然后通過上面的命令按鈕就可以對這臺電腦進行控制。下面就簡單的介紹一下這些命令的意義。
文件管理:服務端上線以后,你可以通過“文件管理”命令對服務端電腦中的文件進行下載、新建、重命名、刪除等操作。可以通過鼠標直接把文件或文件夾拖放到目標文件夾,并且支持斷點傳輸。簡單吧?
進程管理:查看、刷新、關閉對方的進程,如果發現有殺毒軟件或者防火墻,就可以關閉相應的進程,達到保護服務器端程序的目的。
窗口管理:管理服務端電腦的程序窗口,你可以使對方窗口中的程序最大化、最小化、正常關閉等操作,這樣就比進程管理更靈活。你可以搞很多惡作劇,比如讓對方的某個窗口不停的最大化和最小化。
視頻監控和語音監聽:如果遠程服務端電腦安裝有USB攝像頭,那么可以通過它來獲取圖像,并可直接保存為Media Play可以直接播放的Mpeg文件;需要對方有麥克風的話,還可以聽到他們的談話,恐怖吧?
除了上面介紹的這些功能以外,還包括鍵盤記錄、重啟關機、遠程卸載、抓屏查看密碼等功能,操作都非常簡單,明白了吧?做駭客其實很容易。
3 隱藏
隨著殺毒軟件病毒庫的升級,木馬會很快被殺毒軟件查殺,所以為了使木馬服務端辟開殺毒軟件的查殺,長時間的隱藏在別人的電腦中,在木馬為黑客提供幾種可行的辦法。
1.木馬的自身保護
就像前面提到的,黑洞2004在生成服務端的時候,用戶可以更換圖標,并使用軟件UPX對服務端自動進行壓縮隱藏。
2.捆綁服務端
用戶通過使用文件捆綁器把木馬服務端和正常的文件捆綁在一起,達到欺騙對方的目的。文件捆綁器有廣外文件捆綁器2002、萬能文件捆綁器、exeBinder、Exe Bundle等。
3.制做自己的服務端
上面提到的這些方法雖然能一時瞞過殺毒軟件,但最終還是不能逃脫殺毒軟件的查殺,所以若能對現有的木馬進行偽裝,讓殺毒軟件無法辨別,則是個治本的方法。可以通過使用壓縮EXE和DLL文件的壓縮軟件對服務端進行加殼保護。例如1中的UPX就是這樣一款壓縮軟件,但默認該軟件是按照自身的設置對服務端壓縮的,因此得出的結果都相同,很難長時間躲過殺毒軟件;而自己對服務端進行壓縮,就可以選擇不同的選項,壓縮出與眾不同的服務端來,使殺毒軟件很難判斷。下面我就以冰河為例,為大家簡單的講解一下脫殼(解壓)、加殼(壓縮)的過程。
如果我們用殺毒軟件對冰河進行查殺,一定會發現2個病毒,一個是冰河的客戶端,另一個是服務端。使用軟件“PEiD”查看軟件的服務端是否已經被作者加殼,可以看到服務端已經使用UPX進行了壓縮。
現在,我們就需要對軟件進行脫殼,也就是一種解壓的過程。這里我使用了“UPXUnpack”,選擇需要的文件后,點擊“解壓縮”就開始執行脫殼。
脫殼完成后,我們需要為服務端加一個新殼,加殼的軟件很多,比如:ASPack、ASProtect、UPXShell、Petite等。這里以“ASPack”為例,點擊“打開”按鈕,選擇剛剛脫殼的服務端程序,選擇完成后ASPack會自動為服務端進行加殼。再次用殺毒軟件對這個服務端進行查殺,發現其已經不能識別判斷了。如果你的殺毒軟件依舊可以查殺,你還可以使用多個軟件對服務端進行多次加殼。筆者在使用Petite和ASPack對服務端進行2次加殼后,試用了多種殺毒軟件都沒有掃描出來。現在網絡中流行的很多XX版冰河,就是網友通過對服務端進行修改并重新加殼后制做出來的。
為了避免不熟悉木馬的用戶誤運行服務端,現在流行的木馬都沒有提供單獨的服務端程序,而是通過用戶自己設置來生成服務端,黑洞2004也是這樣。首先運行黑洞2004,點擊“功能/生成服務端”命令,彈出“服務端配置”界面。由于黑洞2004采用了反彈技術(請參加小知識),首先單擊旁邊的“查看”按鈕,在彈出的窗口中設置新的域名,輸入你事先申請空間的域名和密碼,單擊“域名注冊”,在下面的窗口中會反映出注冊的情況。域名注冊成功以后,返回“服務端配置”界面,填入剛剛申請的域名,以及“上線顯示名稱”、“注冊表啟動名稱”等項目。為了迷惑他人,可以點“更改服務端圖標”按鈕為服務端選擇一個圖標。所有的設置都完成后,點擊“生成EXE型服務端”就生成了一個服務端。在生成服務端的同時,軟件會自動使用UPX為服務端進行壓縮,對服務端起到隱藏保護的作用。
服務端生成以后,下一步要做的是將服務端植入別人的電腦?常見的方法有,通過系統或者軟件的漏洞入侵別人的電腦把木馬的服務端植入其的電腦;或者通過Email夾帶,把服務端作為附件寄給對方;以及把服務端進行偽裝后放到自己的共享文件夾,通過P2P軟件(比如PP點點通、百寶等),讓網友在毫無防范中下載并運行服務端程序。
由于本文主要面對普通的網絡愛好者,所以就使用較為簡單的Email夾帶,為大家進行講解。我們使用大家經常會看到的Flash動畫為例,建立一個文件夾命名為“好看的動畫”,在該文件夾里邊再建立文件夾“動畫.files”,將木馬服務端軟件放到該文件夾中假設名稱為“abc.exe”,再在該文件夾內建立flash文件,在flash文件的第1幀輸入文字“您的播放插件不全,單擊下邊的按鈕,再單擊打開按鈕安裝插件”,新建一個按鈕組件,將其拖到舞臺中,打開動作面板,在里邊輸入“on (press) {getURL("動畫.files/abc.exe");}”,表示當單擊該按鈕時執行abc這個文件。在文件夾“好看的動畫”中新建一個網頁文件命名為“動畫.htm”,將剛才制作的動畫放到該網頁中。看出門道了嗎?平常你下載的網站通常就是一個.html文件和一個結尾為.files的文件夾,我們這么構造的原因也是用來迷惑打開者,畢竟沒有幾個人會去翻.files文件夾。現在我們就可以撰寫一封新郵件了,將文件夾“好看的動畫”壓縮成一個文件,放到郵件的附件中,再編寫一個誘人的主題。只要對方深信不疑的運行它,并重新啟動系統,服務端就種植成功了。
三、防范
防范重于治療,在我們的電腦還沒有中木馬前,我們需要做很多必要的工作,比如:安裝殺毒軟件和網絡防火墻;及時更新病毒庫以及系統的安全補丁;定時備份硬盤上的文件;不要運行來路不明的軟件和打開來路不明的郵件。
最后筆者要特別提醒大家,木馬除了擁有強大的遠程控制功能外,還包括極強的破壞性。我們學習它,只是為了了解它的技術與方法,而不是用于盜竊密碼等破壞行為,希望大家好自為之。
小知識:
反彈技術,該技術解決了傳統的遠程控制軟件不能訪問裝有防火墻和控制局域網內部的遠程計算機的難題。反彈端口型軟件的原理是,客戶端首先登錄到FTP服務器,編輯在木馬軟件中預先設置的主頁空間上面的一個文件,并打開端口監聽,等待服務端的連接,服務端定期用HTTP協議讀取這個文件的內容,當發現是客戶端讓自己開始連接時,就主動連接,如此就可完成連接工作。
因此在互聯網上可以訪問到局域網里通過 NAT (透明代理)代理上網的電腦,并且可以穿過防火墻。與傳統的遠程控制軟件相反,反彈端口型軟件的服務端會主動連接客戶端,客戶端的監聽端口一般開為80(即用于網頁瀏覽的端口),這樣,即使用戶在命令提示符下使用“netstat -a”命令檢查自己的端口,發現的也是類似“TCP UserIP:3015 ControllerIP:http ESTABLISHED”的情況,稍微疏忽一點你就會以為是自己在瀏覽網頁,而防火墻也會同樣這么認為的。于是,與一般的軟件相反,反彈端口型軟件的服務端主動連接客戶端,這樣就可以輕易的突破防火墻的限制
操作步驟:
一、種植木馬
現在網絡上流行的木馬基本上都采用的是C/S 結構(客戶端/服務端)。你要使用木馬控制對方的電腦,首先需要在對方的的電腦中種植并運行服務端程序,然后運行本地電腦中的客戶端程序對對方電腦進行連接進而控制對方電腦。
二、使用木馬
成功的給別人植入木馬服務端后,就需要耐心等待服務端上線。由于黑洞2004采用了反連接技術,所以服務端上線后會自動和客戶端進行連接,這時,我們就可以操控客戶端對服務端進行遠程控制。在黑洞2004下面的列表中,隨便選擇一臺已經上線的電腦,然后通過上面的命令按鈕就可以對這臺電腦進行控制。下面就簡單的介紹一下這些命令的意義。
文件管理:服務端上線以后,你可以通過“文件管理”命令對服務端電腦中的文件進行下載、新建、重命名、刪除等操作。可以通過鼠標直接把文件或文件夾拖放到目標文件夾,并且支持斷點傳輸。簡單吧?
進程管理:查看、刷新、關閉對方的進程,如果發現有殺毒軟件或者防火墻,就可以關閉相應的進程,達到保護服務器端程序的目的。
窗口管理:管理服務端電腦的程序窗口,你可以使對方窗口中的程序最大化、最小化、正常關閉等操作,這樣就比進程管理更靈活。你可以搞很多惡作劇,比如讓對方的某個窗口不停的最大化和最小化。
視頻監控和語音監聽:如果遠程服務端電腦安裝有USB攝像頭,那么可以通過它來獲取圖像,并可直接保存為Media Play可以直接播放的Mpeg文件;需要對方有麥克風的話,還可以聽到他們的談話,恐怖吧?
除了上面介紹的這些功能以外,還包括鍵盤記錄、重啟關機、遠程卸載、抓屏查看密碼等功能,操作都非常簡單,明白了吧?做駭客其實很容易。
3 隱藏
隨著殺毒軟件病毒庫的升級,木馬會很快被殺毒軟件查殺,所以為了使木馬服務端辟開殺毒軟件的查殺,長時間的隱藏在別人的電腦中,在木馬為黑客提供幾種可行的辦法。
1.木馬的自身保護
就像前面提到的,黑洞2004在生成服務端的時候,用戶可以更換圖標,并使用軟件UPX對服務端自動進行壓縮隱藏。
2.捆綁服務端
用戶通過使用文件捆綁器把木馬服務端和正常的文件捆綁在一起,達到欺騙對方的目的。文件捆綁器有廣外文件捆綁器2002、萬能文件捆綁器、exeBinder、Exe Bundle等。
3.制做自己的服務端
上面提到的這些方法雖然能一時瞞過殺毒軟件,但最終還是不能逃脫殺毒軟件的查殺,所以若能對現有的木馬進行偽裝,讓殺毒軟件無法辨別,則是個治本的方法。可以通過使用壓縮EXE和DLL文件的壓縮軟件對服務端進行加殼保護。例如1中的UPX就是這樣一款壓縮軟件,但默認該軟件是按照自身的設置對服務端壓縮的,因此得出的結果都相同,很難長時間躲過殺毒軟件;而自己對服務端進行壓縮,就可以選擇不同的選項,壓縮出與眾不同的服務端來,使殺毒軟件很難判斷。下面我就以冰河為例,為大家簡單的講解一下脫殼(解壓)、加殼(壓縮)的過程。
如果我們用殺毒軟件對冰河進行查殺,一定會發現2個病毒,一個是冰河的客戶端,另一個是服務端。使用軟件“PEiD”查看軟件的服務端是否已經被作者加殼,可以看到服務端已經使用UPX進行了壓縮。
現在,我們就需要對軟件進行脫殼,也就是一種解壓的過程。這里我使用了“UPXUnpack”,選擇需要的文件后,點擊“解壓縮”就開始執行脫殼。
脫殼完成后,我們需要為服務端加一個新殼,加殼的軟件很多,比如:ASPack、ASProtect、UPXShell、Petite等。這里以“ASPack”為例,點擊“打開”按鈕,選擇剛剛脫殼的服務端程序,選擇完成后ASPack會自動為服務端進行加殼。再次用殺毒軟件對這個服務端進行查殺,發現其已經不能識別判斷了。如果你的殺毒軟件依舊可以查殺,你還可以使用多個軟件對服務端進行多次加殼。筆者在使用Petite和ASPack對服務端進行2次加殼后,試用了多種殺毒軟件都沒有掃描出來。現在網絡中流行的很多XX版冰河,就是網友通過對服務端進行修改并重新加殼后制做出來的。
為了避免不熟悉木馬的用戶誤運行服務端,現在流行的木馬都沒有提供單獨的服務端程序,而是通過用戶自己設置來生成服務端,黑洞2004也是這樣。首先運行黑洞2004,點擊“功能/生成服務端”命令,彈出“服務端配置”界面。由于黑洞2004采用了反彈技術(請參加小知識),首先單擊旁邊的“查看”按鈕,在彈出的窗口中設置新的域名,輸入你事先申請空間的域名和密碼,單擊“域名注冊”,在下面的窗口中會反映出注冊的情況。域名注冊成功以后,返回“服務端配置”界面,填入剛剛申請的域名,以及“上線顯示名稱”、“注冊表啟動名稱”等項目。為了迷惑他人,可以點“更改服務端圖標”按鈕為服務端選擇一個圖標。所有的設置都完成后,點擊“生成EXE型服務端”就生成了一個服務端。在生成服務端的同時,軟件會自動使用UPX為服務端進行壓縮,對服務端起到隱藏保護的作用。
服務端生成以后,下一步要做的是將服務端植入別人的電腦?常見的方法有,通過系統或者軟件的漏洞入侵別人的電腦把木馬的服務端植入其的電腦;或者通過Email夾帶,把服務端作為附件寄給對方;以及把服務端進行偽裝后放到自己的共享文件夾,通過P2P軟件(比如PP點點通、百寶等),讓網友在毫無防范中下載并運行服務端程序。
由于本文主要面對普通的網絡愛好者,所以就使用較為簡單的Email夾帶,為大家進行講解。我們使用大家經常會看到的Flash動畫為例,建立一個文件夾命名為“好看的動畫”,在該文件夾里邊再建立文件夾“動畫.files”,將木馬服務端軟件放到該文件夾中假設名稱為“abc.exe”,再在該文件夾內建立flash文件,在flash文件的第1幀輸入文字“您的播放插件不全,單擊下邊的按鈕,再單擊打開按鈕安裝插件”,新建一個按鈕組件,將其拖到舞臺中,打開動作面板,在里邊輸入“on (press) {getURL("動畫.files/abc.exe");}”,表示當單擊該按鈕時執行abc這個文件。在文件夾“好看的動畫”中新建一個網頁文件命名為“動畫.htm”,將剛才制作的動畫放到該網頁中。看出門道了嗎?平常你下載的網站通常就是一個.html文件和一個結尾為.files的文件夾,我們這么構造的原因也是用來迷惑打開者,畢竟沒有幾個人會去翻.files文件夾。現在我們就可以撰寫一封新郵件了,將文件夾“好看的動畫”壓縮成一個文件,放到郵件的附件中,再編寫一個誘人的主題。只要對方深信不疑的運行它,并重新啟動系統,服務端就種植成功了。
三、防范
防范重于治療,在我們的電腦還沒有中木馬前,我們需要做很多必要的工作,比如:安裝殺毒軟件和網絡防火墻;及時更新病毒庫以及系統的安全補丁;定時備份硬盤上的文件;不要運行來路不明的軟件和打開來路不明的郵件。
最后筆者要特別提醒大家,木馬除了擁有強大的遠程控制功能外,還包括極強的破壞性。我們學習它,只是為了了解它的技術與方法,而不是用于盜竊密碼等破壞行為,希望大家好自為之。
小知識:
反彈技術,該技術解決了傳統的遠程控制軟件不能訪問裝有防火墻和控制局域網內部的遠程計算機的難題。反彈端口型軟件的原理是,客戶端首先登錄到FTP服務器,編輯在木馬軟件中預先設置的主頁空間上面的一個文件,并打開端口監聽,等待服務端的連接,服務端定期用HTTP協議讀取這個文件的內容,當發現是客戶端讓自己開始連接時,就主動連接,如此就可完成連接工作。
因此在互聯網上可以訪問到局域網里通過 NAT (透明代理)代理上網的電腦,并且可以穿過防火墻。與傳統的遠程控制軟件相反,反彈端口型軟件的服務端會主動連接客戶端,客戶端的監聽端口一般開為80(即用于網頁瀏覽的端口),這樣,即使用戶在命令提示符下使用“netstat -a”命令檢查自己的端口,發現的也是類似“TCP UserIP:3015 ControllerIP:http ESTABLISHED”的情況,稍微疏忽一點你就會以為是自己在瀏覽網頁,而防火墻也會同樣這么認為的。于是,與一般的軟件相反,反彈端口型軟件的服務端主動連接客戶端,這樣就可以輕易的突破防火墻的限制
服務器維護中的反黑技巧
[ 2007-03-25 02:50:07 | 作者: sun ]
1.打補丁
微軟的作風就是三天一小補,五天一大補,漏洞太多,補一點就好一點,使用“開始-Windows Update" 然后把所有的補丁都裝進去吧
2.刪除默認共享
2.1刪除IPC$共享
Win2k的缺省安裝很容易被攻擊者取得帳號列表,即使安裝了最新的Service ack也是如此。在Win2k中有一個缺省共享IPC$,并且還有諸如admin$ C$ D$等等,而IPC$允許匿名用戶(即未經登錄的用戶)訪問,利用這個缺省共享可以取得用戶列表。如何防范這東東,很簡單在"管理工具\本地安全策略\安全設置\本地策略\安全選項"中的"對匿名連接的額外限制"可修改為"不允許枚舉SAM帳號和共享"。就可以防止大部分此類連接,但是還沒完,如果使用NetHacker只要使用一個存在的帳號就又可以順利取得所有的帳號名稱。所以,我們還需要另一種方法做后盾,
(1):創建一個文件startup.cmd,內容就是以下的一行命令"net share ipc$ delete"(不包括引號)
(2):在Windows的計劃任務中增加一項任務執行以上的startup.cmd,時間安排為"計算機啟動時執行"。或者把這個文件放到"開始-程序-啟動"中 讓他一啟動就刪除ipc$共享
(3):重新啟動服務器。
2.2刪除admin$共享
修改注冊表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareWks子鍵(REG_DWORD),鍵值為0
2.3清除默認磁盤共享(C$,D$等)
修改注冊表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareServer子鍵(REG_DWORD),鍵值為0
3.修改默認用戶名
"管理工具\本地安全策略\安全設置\本地策略\安全選項"中"重命名來賓帳戶"就是把"guest"改個名字而已,改成abc或者其他名字,下面機器登陸名字也設為"abc"或其他的名字,然后再把"重命名系統管理員帳戶"也改一下,有一次我閑著無聊,用小榕的流光隨便掃了一下我的IP段,就發現有N家網吧服務器的管理員名稱是默認的Administrator,并且是簡單密碼。如果有人想搞個肉機的話,實在是很簡單。
至此下來,服務器已經可以很安全穩定的運行下去了,當然別忘了要一兩天重啟一下你的服務器。
SQL服務器安全設置
首先,關閉sql默認的1433(好象是這個吧) 就是把sql的TCP/IP協議刪除就ok了,刪掉后就不能是用遠程了 那總歸少點事情吧sa 設密碼設的密碼為數字加字母等, 不用我多說了吧administrator 別忘了設密碼。
在tcp/ip協議里關掉所有的無用端口
本地連接狀態 --屬性--tcp/ip協議--高級--選項--tcp/ip篩選 --只允許 tcp端口
開80(網站端口)
開21(ftp端口--可開可不開)
55019(奇跡私服端口)
44405(奇跡私服端口)
以上是針對無路由的使用服務器直接對外的情況。
使用路由的情況見下
映射以下端口就OK了
開80(網站端口)
開21(ftp端口--可開可不開)
55019(奇跡私服端口)
44405(奇跡私服端口)
當然,上面的你也要設一設哦
再來就是asp的安全問題了
請使用fishserver這套工具
就不存在是用asp漏洞改你數據了
這套工具在 夢之奇跡1.05里有非常方便設置。
微軟的作風就是三天一小補,五天一大補,漏洞太多,補一點就好一點,使用“開始-Windows Update" 然后把所有的補丁都裝進去吧
2.刪除默認共享
2.1刪除IPC$共享
Win2k的缺省安裝很容易被攻擊者取得帳號列表,即使安裝了最新的Service ack也是如此。在Win2k中有一個缺省共享IPC$,并且還有諸如admin$ C$ D$等等,而IPC$允許匿名用戶(即未經登錄的用戶)訪問,利用這個缺省共享可以取得用戶列表。如何防范這東東,很簡單在"管理工具\本地安全策略\安全設置\本地策略\安全選項"中的"對匿名連接的額外限制"可修改為"不允許枚舉SAM帳號和共享"。就可以防止大部分此類連接,但是還沒完,如果使用NetHacker只要使用一個存在的帳號就又可以順利取得所有的帳號名稱。所以,我們還需要另一種方法做后盾,
(1):創建一個文件startup.cmd,內容就是以下的一行命令"net share ipc$ delete"(不包括引號)
(2):在Windows的計劃任務中增加一項任務執行以上的startup.cmd,時間安排為"計算機啟動時執行"。或者把這個文件放到"開始-程序-啟動"中 讓他一啟動就刪除ipc$共享
(3):重新啟動服務器。
2.2刪除admin$共享
修改注冊表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareWks子鍵(REG_DWORD),鍵值為0
2.3清除默認磁盤共享(C$,D$等)
修改注冊表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareServer子鍵(REG_DWORD),鍵值為0
3.修改默認用戶名
"管理工具\本地安全策略\安全設置\本地策略\安全選項"中"重命名來賓帳戶"就是把"guest"改個名字而已,改成abc或者其他名字,下面機器登陸名字也設為"abc"或其他的名字,然后再把"重命名系統管理員帳戶"也改一下,有一次我閑著無聊,用小榕的流光隨便掃了一下我的IP段,就發現有N家網吧服務器的管理員名稱是默認的Administrator,并且是簡單密碼。如果有人想搞個肉機的話,實在是很簡單。
至此下來,服務器已經可以很安全穩定的運行下去了,當然別忘了要一兩天重啟一下你的服務器。
SQL服務器安全設置
首先,關閉sql默認的1433(好象是這個吧) 就是把sql的TCP/IP協議刪除就ok了,刪掉后就不能是用遠程了 那總歸少點事情吧sa 設密碼設的密碼為數字加字母等, 不用我多說了吧administrator 別忘了設密碼。
在tcp/ip協議里關掉所有的無用端口
本地連接狀態 --屬性--tcp/ip協議--高級--選項--tcp/ip篩選 --只允許 tcp端口
開80(網站端口)
開21(ftp端口--可開可不開)
55019(奇跡私服端口)
44405(奇跡私服端口)
以上是針對無路由的使用服務器直接對外的情況。
使用路由的情況見下
映射以下端口就OK了
開80(網站端口)
開21(ftp端口--可開可不開)
55019(奇跡私服端口)
44405(奇跡私服端口)
當然,上面的你也要設一設哦
再來就是asp的安全問題了
請使用fishserver這套工具
就不存在是用asp漏洞改你數據了
這套工具在 夢之奇跡1.05里有非常方便設置。
Server2003防木馬權限設置
[ 2007-03-25 02:49:55 | 作者: sun ]
參考了網絡上很多關于WIN2003的安全設置以及自己動手做了一些實踐,綜合了這些安全設置文章整理而成,希望對大家有所幫助,另外里面有不足之處還請大家多多指點,然后給補上,謝謝!
一、系統的安裝
1、按照Windows2003安裝光盤的提示安裝,默認情況下2003沒有把IIS6.0安裝在系統里面。
2、IIS6.0的安裝
開始菜單—>控制面板—>添加或刪除程序—>添加/刪除Windows組件
應用程序 ———ASP.NET(可選)
|——啟用網絡 COM+ 訪問(必選)
|——Internet 信息服務(IIS)———Internet 信息服務管理器(必選)
|——公用文件(必選)
|——萬維網服務———Active Server pages(必選)
|——Internet 數據連接器(可選)
|——WebDAV 發布(可選)
|——萬維網服務(必選)
|——在服務器端的包含文件(可選)
然后點擊確定—>下一步安裝。(具體見本文附件1)
3、系統補丁的更新
點擊開始菜單—>所有程序—>Windows Update
按照提示進行補丁的安裝。
4、備份系統
用GHOST備份系統。
5、安裝常用的軟件
例如:殺毒軟件、解壓縮軟件等;安裝完畢后,配置殺毒軟件,掃描系統漏洞,安裝之后用GHOST再次備份系統。
6、先關閉不需要的端口 開啟防火墻 導入IPSEC策略
在”網絡連接”里,把不需要的協議和服務都刪掉,這里只安裝了基本的Internet協議(TCP/IP),由于要控制帶寬流量服務,額外安裝了Qos數據包計劃程序。在高級tcp/ip設置里--"NetBIOS"設置"禁用tcp/IP上的NetBIOS(S)"。在高級選項里,使用"Internet連接防火墻",這是windows 2003 自帶的防火墻,在2000系統里沒有的功能,雖然沒什么功能,但可以屏蔽端口,這樣已經基本達到了一個IPSec的功能。
修改3389遠程連接端口
修改注冊表.
開始--運行--regedit
依次展開 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/
WINSTATIONS/RDP-TCP/
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
注意:別忘了在WINDOWS2003自帶的防火墻給+上10000端口
修改完畢.重新啟動服務器.設置生效.
二、用戶安全設置
1、禁用Guest賬號
在計算機管理的用戶里面把Guest賬號禁用。為了保險起見,最好給Guest加一個復雜的密碼。你可以打開記事本,在里面輸入一串包含特殊字符、數字、字母的長字符串,然后把它作為Guest用戶的密碼拷進去。
2、限制不必要的用戶
去掉所有的Duplicate User用戶、測試用戶、共享用戶等等。用戶組策略設置相應權限,并且經常檢查系統的用戶,刪除已經不再使用的用戶。這些用戶很多時候都是黑客們入侵系統的突破口。 3、把系統Administrator賬號改名
大家都知道,Windows 2003 的Administrator用戶是不能被停用的,這意味著別人可以一遍又一遍地嘗試這個用戶的密碼。盡量把它偽裝成普通用戶,比如改成Guesycludx。
4、創建一個陷阱用戶
什么是陷阱用戶?即創建一個名為“Administrator”的本地用戶,把它的權限設置成最低,什么事也干不了的那種,并且加上一個超過10位的超級復雜密碼。這樣可以讓那些 Hacker們忙上一段時間,借此發現它們的入侵企圖。
5、把共享文件的權限從Everyone組改成授權用戶
任何時候都不要把共享文件的用戶設置成“Everyone”組,包括打印共享,默認的屬性就是“Everyone”組的,一定不要忘了改。
6、開啟用戶策略
使用用戶策略,分別設置復位用戶鎖定計數器時間為20分鐘,用戶鎖定時間為20分鐘,用戶鎖定閾值為3次。 (該項為可選)
7、不讓系統顯示上次登錄的用戶名
默認情況下,登錄對話框中會顯示上次登錄的用戶名。這使得別人可以很容易地得到系統的一些用戶名,進而做密碼猜測。修改注冊表可以不讓對話框里顯示上次登錄的用戶名。方法為:打開注冊表編輯器并找到注冊表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的鍵值改成1。
密碼安全設置
1、使用安全密碼
一些公司的管理員創建賬號的時候往往用公司名、計算機名做用戶名,然后又把這些用戶的密碼設置得太簡單,比如“welcome”等等。因此,要注意密碼的復雜性,還要記住經常改密碼。
2、設置屏幕保護密碼
這是一個很簡單也很有必要的操作。設置屏幕保護密碼也是防止內部人員破壞服務器的一個屏障。
3、開啟密碼策略
注意應用密碼策略,如啟用密碼復雜性要求,設置密碼長度最小值為6位 ,設置強制密碼歷史為5次,時間為42天。
4、考慮使用智能卡來代替密碼
對于密碼,總是使安全管理員進退兩難,密碼設置簡單容易受到黑客的攻擊,密碼設置復雜又容易忘記。如果條件允許,用智能卡來代替復雜的密碼是一個很好的解決方法。
三、系統權限的設置
1、磁盤權限
系統盤及所有磁盤只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings\All Users 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只給 Administrators 組和SYSTEM 的完全 控制權限
另將\System32\cmd.exe、format.com、ftp.exe轉移到其他目錄或更名
Documents and Settings下所有些目錄都設置只給adinistrators權限。并且要一個一個目錄查看,包括下面的所有子目錄。
刪除c:\inetpub目錄
2、本地安全策略設置
開始菜單—>管理工具—>本地安全策略
A、本地策略——>審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶權限分配
關閉系統:只有Administrators組、其它全部刪除。
通過終端服務允許登陸:只加入Administrators,Remote Desktop Users組,其他全部刪除
C、本地策略——>安全選項
交互式登陸:不顯示上次的用戶名 啟用
網絡訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網絡訪問:不允許為網絡身份驗證儲存憑證 啟用
網絡訪問:可匿名訪問的共享 全部刪除
網絡訪問:可匿名訪問的命 全部刪除
網絡訪問:可遠程訪問的注冊表路徑 全部刪除
網絡訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶
3、禁用不必要的服務 開始-運行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服務上的 NetBIOS 和網絡上客戶端的 NetBIOS 名稱解析的支持而使用戶能夠共享
文件、打印和登錄到網絡
Server支持此計算機通過網絡的文件、打印、和命名管道共享
Computer Browser 維護網絡上計算機的最新列表以及提供這個列表
Task scheduler 允許程序在指定時間運行
Messenger 傳輸客戶端和服務器之間的 NET SEND 和 警報器服務消息
Distributed File System: 局域網管理共享文件,不需要可禁用
Distributed linktracking client:用于局域網更新連接信息,不需要可禁用
Error reporting service:禁止發送錯誤報告
Microsoft Serch:提供快速的單詞搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服務和Microsoft Serch用的,不需要可禁用
PrintSpooler:如果沒有打印機可禁用
Remote Registry:禁止遠程修改注冊表
Remote Desktop Help Session Manager:禁止遠程協助
Workstation 關閉的話遠程NET命令列不出用戶組
以上是在Windows Server 2003 系統上面默認啟動的服務中禁用的,默認禁用的服務如沒特別需要的話不要啟動。
4、修改注冊表
修改注冊表,讓系統更強壯
1、隱藏重要文件/目錄可以修改注冊表實現完全隱藏
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠標右擊 “CheckedValue”,選擇修改,把數值由1改為0
2、防止SYN洪水攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為SynAttackProtect,值為2
新建EnablePMTUDiscovery REG_DWORD 0
新建NoNameReleaseOnDemand REG_DWORD 1
新建EnableDeadGWDetect REG_DWORD 0
新建KeepAliveTime REG_DWORD 300,000
新建PerformRouterDiscovery REG_DWORD 0
新建EnableICMPRedirects REG_DWORD 03. 禁止響應ICMP路由通告報文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名為PerformRouterDiscovery 值為0
4. 防止ICMP重定向報文的攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
將EnableICMPRedirects 值設為0
5. 不支持IGMP協議
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為IGMPLevel 值為0
6、禁止IPC空連接:
cracker可以利用net use命令建立空連接,進而入侵,還有net view,nbtstat這些都是基于空連接的,禁止空連接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把這個值改成”1”即可。
7、更改TTL值
cracker可以根據ping回的TTL值來大致判斷你的操作系統,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
實際上你可以自己改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十進制,默認值128)改成一個莫名其妙的數字如258,起碼讓那些小菜鳥暈上半天,就此放棄入侵你也不一定哦
8. 刪除默認共享
有人問過我一開機就共享所有盤,改回來以后,重啟又變成了共享是怎么回事,這是2K為管理而設置的默認共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer類型是REG_DWORD把值改為0即可
9. 禁止建立空連接
默認情況下,任何用戶通過通過空連接連上服務器,進而枚舉出帳號,猜測密碼。我們可以通過修改注冊表來禁止建立空連接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
10、建立一個記事本,填上以下代碼。保存為*.bat并加到啟動項目中
net share c$Content$nbsp;/del
net share d$Content$nbsp;/del
net share e$Content$nbsp;/del
net share f$Content$nbsp;/del
net share ipc$Content$nbsp;/del
net share admin$Content$nbsp;/del
5、IIS站點設置:
1、將IIS目錄&數據與系統磁盤分開,保存在專用磁盤空間內。
2、啟用父級路徑
3、在IIS管理器中刪除必須之外的任何沒有用到的映射(保留asp等必要映射即可)
4、在IIS中將HTTP404 Object Not Found出錯頁面通過URL重定向到一個定制HTM文件
5、Web站點權限設定(建議)
讀 允許
寫 不允許
腳本源訪問 不允許
目錄瀏覽 建議關閉
日志訪問 建議關閉
索引資源 建議關閉
執行 推薦選擇 “僅限于腳本”
6、建議使用W3C擴充日志文件格式,每天記錄客戶IP地址,用戶名,服務器端口,方法,URI字根,HTTP狀態,用戶代理,而且每天均要審查日志。(最好不要使用缺省的目錄,建議更換一個記日志的路徑,同時設置日志的訪問權限,只允許管理員和system為Full Control)。
7、程序安全:
1) 涉及用戶名與口令的程序最好封裝在服務器端,盡量少的在ASP文件里出現,涉及到與數據庫連接地用戶名與口令應給予最小的權限;
2) 需要經過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。3) 防止ASP主頁.inc文件泄露問題;
4) 防止UE等編輯器生成some.asp.bak文件泄露問題。
6、IIS權限設置的思路
?要為每個獨立的要保護的個體(比如一個網站或者一個虛擬目錄)創建一個系統用戶,讓這個站點在系統中具有惟一的可以設置權限的身份。
?在IIS的【站點屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗證控制→編輯→匿名訪問→編輯】填寫剛剛創建的那個用戶名。
?設置所有的分區禁止這個用戶訪問,而剛才這個站點的主目錄對應的那個文件夾設置允許這個用戶訪問(要去掉繼承父權限,并且要加上超管組和SYSTEM組)。
7、卸載最不安全的組件
最簡單的辦法是直接卸載后刪除相應的程序文件。將下面的代碼保存為一個.BAT文件,( 以下均以 WIN2000 為例,如果使用2003,則系統文件夾應該是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll
然后運行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了。可能會提示無法刪除文件,不用管它,重啟一下服務器,你會發現這三個都提示“×安全”了。
一、系統的安裝
1、按照Windows2003安裝光盤的提示安裝,默認情況下2003沒有把IIS6.0安裝在系統里面。
2、IIS6.0的安裝
開始菜單—>控制面板—>添加或刪除程序—>添加/刪除Windows組件
應用程序 ———ASP.NET(可選)
|——啟用網絡 COM+ 訪問(必選)
|——Internet 信息服務(IIS)———Internet 信息服務管理器(必選)
|——公用文件(必選)
|——萬維網服務———Active Server pages(必選)
|——Internet 數據連接器(可選)
|——WebDAV 發布(可選)
|——萬維網服務(必選)
|——在服務器端的包含文件(可選)
然后點擊確定—>下一步安裝。(具體見本文附件1)
3、系統補丁的更新
點擊開始菜單—>所有程序—>Windows Update
按照提示進行補丁的安裝。
4、備份系統
用GHOST備份系統。
5、安裝常用的軟件
例如:殺毒軟件、解壓縮軟件等;安裝完畢后,配置殺毒軟件,掃描系統漏洞,安裝之后用GHOST再次備份系統。
6、先關閉不需要的端口 開啟防火墻 導入IPSEC策略
在”網絡連接”里,把不需要的協議和服務都刪掉,這里只安裝了基本的Internet協議(TCP/IP),由于要控制帶寬流量服務,額外安裝了Qos數據包計劃程序。在高級tcp/ip設置里--"NetBIOS"設置"禁用tcp/IP上的NetBIOS(S)"。在高級選項里,使用"Internet連接防火墻",這是windows 2003 自帶的防火墻,在2000系統里沒有的功能,雖然沒什么功能,但可以屏蔽端口,這樣已經基本達到了一個IPSec的功能。
修改3389遠程連接端口
修改注冊表.
開始--運行--regedit
依次展開 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/
TERMINAL SERVER/WDS/RDPWD/TDS/TCP
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/
WINSTATIONS/RDP-TCP/
右邊鍵值中 PortNumber 改為你想用的端口號.注意使用十進制(例 10000 )
注意:別忘了在WINDOWS2003自帶的防火墻給+上10000端口
修改完畢.重新啟動服務器.設置生效.
二、用戶安全設置
1、禁用Guest賬號
在計算機管理的用戶里面把Guest賬號禁用。為了保險起見,最好給Guest加一個復雜的密碼。你可以打開記事本,在里面輸入一串包含特殊字符、數字、字母的長字符串,然后把它作為Guest用戶的密碼拷進去。
2、限制不必要的用戶
去掉所有的Duplicate User用戶、測試用戶、共享用戶等等。用戶組策略設置相應權限,并且經常檢查系統的用戶,刪除已經不再使用的用戶。這些用戶很多時候都是黑客們入侵系統的突破口。 3、把系統Administrator賬號改名
大家都知道,Windows 2003 的Administrator用戶是不能被停用的,這意味著別人可以一遍又一遍地嘗試這個用戶的密碼。盡量把它偽裝成普通用戶,比如改成Guesycludx。
4、創建一個陷阱用戶
什么是陷阱用戶?即創建一個名為“Administrator”的本地用戶,把它的權限設置成最低,什么事也干不了的那種,并且加上一個超過10位的超級復雜密碼。這樣可以讓那些 Hacker們忙上一段時間,借此發現它們的入侵企圖。
5、把共享文件的權限從Everyone組改成授權用戶
任何時候都不要把共享文件的用戶設置成“Everyone”組,包括打印共享,默認的屬性就是“Everyone”組的,一定不要忘了改。
6、開啟用戶策略
使用用戶策略,分別設置復位用戶鎖定計數器時間為20分鐘,用戶鎖定時間為20分鐘,用戶鎖定閾值為3次。 (該項為可選)
7、不讓系統顯示上次登錄的用戶名
默認情況下,登錄對話框中會顯示上次登錄的用戶名。這使得別人可以很容易地得到系統的一些用戶名,進而做密碼猜測。修改注冊表可以不讓對話框里顯示上次登錄的用戶名。方法為:打開注冊表編輯器并找到注冊表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的鍵值改成1。
密碼安全設置
1、使用安全密碼
一些公司的管理員創建賬號的時候往往用公司名、計算機名做用戶名,然后又把這些用戶的密碼設置得太簡單,比如“welcome”等等。因此,要注意密碼的復雜性,還要記住經常改密碼。
2、設置屏幕保護密碼
這是一個很簡單也很有必要的操作。設置屏幕保護密碼也是防止內部人員破壞服務器的一個屏障。
3、開啟密碼策略
注意應用密碼策略,如啟用密碼復雜性要求,設置密碼長度最小值為6位 ,設置強制密碼歷史為5次,時間為42天。
4、考慮使用智能卡來代替密碼
對于密碼,總是使安全管理員進退兩難,密碼設置簡單容易受到黑客的攻擊,密碼設置復雜又容易忘記。如果條件允許,用智能卡來代替復雜的密碼是一個很好的解決方法。
三、系統權限的設置
1、磁盤權限
系統盤及所有磁盤只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Documents and Settings\All Users 目錄只給 Administrators 組和 SYSTEM 的完全控制權限
系統盤\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只給 Administrators 組和SYSTEM 的完全 控制權限
另將\System32\cmd.exe、format.com、ftp.exe轉移到其他目錄或更名
Documents and Settings下所有些目錄都設置只給adinistrators權限。并且要一個一個目錄查看,包括下面的所有子目錄。
刪除c:\inetpub目錄
2、本地安全策略設置
開始菜單—>管理工具—>本地安全策略
A、本地策略——>審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶權限分配
關閉系統:只有Administrators組、其它全部刪除。
通過終端服務允許登陸:只加入Administrators,Remote Desktop Users組,其他全部刪除
C、本地策略——>安全選項
交互式登陸:不顯示上次的用戶名 啟用
網絡訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網絡訪問:不允許為網絡身份驗證儲存憑證 啟用
網絡訪問:可匿名訪問的共享 全部刪除
網絡訪問:可匿名訪問的命 全部刪除
網絡訪問:可遠程訪問的注冊表路徑 全部刪除
網絡訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶
3、禁用不必要的服務 開始-運行-services.msc
TCP/IPNetBIOS Helper提供 TCP/IP 服務上的 NetBIOS 和網絡上客戶端的 NetBIOS 名稱解析的支持而使用戶能夠共享
文件、打印和登錄到網絡
Server支持此計算機通過網絡的文件、打印、和命名管道共享
Computer Browser 維護網絡上計算機的最新列表以及提供這個列表
Task scheduler 允許程序在指定時間運行
Messenger 傳輸客戶端和服務器之間的 NET SEND 和 警報器服務消息
Distributed File System: 局域網管理共享文件,不需要可禁用
Distributed linktracking client:用于局域網更新連接信息,不需要可禁用
Error reporting service:禁止發送錯誤報告
Microsoft Serch:提供快速的單詞搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服務和Microsoft Serch用的,不需要可禁用
PrintSpooler:如果沒有打印機可禁用
Remote Registry:禁止遠程修改注冊表
Remote Desktop Help Session Manager:禁止遠程協助
Workstation 關閉的話遠程NET命令列不出用戶組
以上是在Windows Server 2003 系統上面默認啟動的服務中禁用的,默認禁用的服務如沒特別需要的話不要啟動。
4、修改注冊表
修改注冊表,讓系統更強壯
1、隱藏重要文件/目錄可以修改注冊表實現完全隱藏
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠標右擊 “CheckedValue”,選擇修改,把數值由1改為0
2、防止SYN洪水攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為SynAttackProtect,值為2
新建EnablePMTUDiscovery REG_DWORD 0
新建NoNameReleaseOnDemand REG_DWORD 1
新建EnableDeadGWDetect REG_DWORD 0
新建KeepAliveTime REG_DWORD 300,000
新建PerformRouterDiscovery REG_DWORD 0
新建EnableICMPRedirects REG_DWORD 03. 禁止響應ICMP路由通告報文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名為PerformRouterDiscovery 值為0
4. 防止ICMP重定向報文的攻擊
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
將EnableICMPRedirects 值設為0
5. 不支持IGMP協議
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名為IGMPLevel 值為0
6、禁止IPC空連接:
cracker可以利用net use命令建立空連接,進而入侵,還有net view,nbtstat這些都是基于空連接的,禁止空連接就好了。
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把這個值改成”1”即可。
7、更改TTL值
cracker可以根據ping回的TTL值來大致判斷你的操作系統,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(linux);
TTL=252(solaris);
TTL=240(Irix);
實際上你可以自己改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十進制,默認值128)改成一個莫名其妙的數字如258,起碼讓那些小菜鳥暈上半天,就此放棄入侵你也不一定哦
8. 刪除默認共享
有人問過我一開機就共享所有盤,改回來以后,重啟又變成了共享是怎么回事,這是2K為管理而設置的默認共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer類型是REG_DWORD把值改為0即可
9. 禁止建立空連接
默認情況下,任何用戶通過通過空連接連上服務器,進而枚舉出帳號,猜測密碼。我們可以通過修改注冊表來禁止建立空連接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
10、建立一個記事本,填上以下代碼。保存為*.bat并加到啟動項目中
net share c$Content$nbsp;/del
net share d$Content$nbsp;/del
net share e$Content$nbsp;/del
net share f$Content$nbsp;/del
net share ipc$Content$nbsp;/del
net share admin$Content$nbsp;/del
5、IIS站點設置:
1、將IIS目錄&數據與系統磁盤分開,保存在專用磁盤空間內。
2、啟用父級路徑
3、在IIS管理器中刪除必須之外的任何沒有用到的映射(保留asp等必要映射即可)
4、在IIS中將HTTP404 Object Not Found出錯頁面通過URL重定向到一個定制HTM文件
5、Web站點權限設定(建議)
讀 允許
寫 不允許
腳本源訪問 不允許
目錄瀏覽 建議關閉
日志訪問 建議關閉
索引資源 建議關閉
執行 推薦選擇 “僅限于腳本”
6、建議使用W3C擴充日志文件格式,每天記錄客戶IP地址,用戶名,服務器端口,方法,URI字根,HTTP狀態,用戶代理,而且每天均要審查日志。(最好不要使用缺省的目錄,建議更換一個記日志的路徑,同時設置日志的訪問權限,只允許管理員和system為Full Control)。
7、程序安全:
1) 涉及用戶名與口令的程序最好封裝在服務器端,盡量少的在ASP文件里出現,涉及到與數據庫連接地用戶名與口令應給予最小的權限;
2) 需要經過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。3) 防止ASP主頁.inc文件泄露問題;
4) 防止UE等編輯器生成some.asp.bak文件泄露問題。
6、IIS權限設置的思路
?要為每個獨立的要保護的個體(比如一個網站或者一個虛擬目錄)創建一個系統用戶,讓這個站點在系統中具有惟一的可以設置權限的身份。
?在IIS的【站點屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗證控制→編輯→匿名訪問→編輯】填寫剛剛創建的那個用戶名。
?設置所有的分區禁止這個用戶訪問,而剛才這個站點的主目錄對應的那個文件夾設置允許這個用戶訪問(要去掉繼承父權限,并且要加上超管組和SYSTEM組)。
7、卸載最不安全的組件
最簡單的辦法是直接卸載后刪除相應的程序文件。將下面的代碼保存為一個.BAT文件,( 以下均以 WIN2000 為例,如果使用2003,則系統文件夾應該是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll
然后運行一下,WScript.Shell, Shell.application, WScript.Network就會被卸載了。可能會提示無法刪除文件,不用管它,重啟一下服務器,你會發現這三個都提示“×安全”了。

