計算機相關專業(yè)實習報告_第1頁
計算機相關專業(yè)實習報告_第2頁
計算機相關專業(yè)實習報告_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、計算機相關專業(yè)實習報告 專業(yè)實習報告871279 朱育民一、工作內(nèi)容這學期跟李錫捷老師實習,參加的工作項目是信息安全組,因為平時較其它三位組員多接觸unix-like的環(huán)境,因此成為本組組長并協(xié)助聯(lián)絡事情。我們期初一開始便有正式的case接手,是一個韓國的駭客教育機構hackerslab委托翻譯他們的一份駭客教材。對于這方面,我們四人雖然很有愛好,但是相關的技術背景都還嫌不夠,因此做起來并不是很輕松,最常碰到的問題就是專業(yè)名詞的查詢與翻譯,常常會有不知如何是好的窘境發(fā)生,幸好系上的學長大多能提供我們一些查詢的方向,大部分的問題到最后還是能順利完成,這樣初期的翻譯工作大約持續(xù)了一個多月后暫時結束

2、。對外的case完成后,我們繼續(xù)朝著信息安全相關的方向研究,主要是針對兩個程序進行改進工作,一個為測試系統(tǒng)漏洞的nessus,一個為偵測入侵系統(tǒng)snort,至此小組里再以兩人一組細分為nessus組跟snort組,各自進行測試工作。我所分配的是nessus組,這是一種可以用來測試服務器有哪些網(wǎng)絡漏洞的程序,由于采用plug-ins的方式安裝,因此可以隨時安插新漏洞的測試plug-ins,加上nessus總部的cvs機制,只要你的nessus系統(tǒng)有定期cvs更新,就能保持最新的完整漏洞測試。在業(yè)界雜志的評選里nessus的評價甚至超越許多商用軟件(nessus是免費的),但是他有個小缺點,就是有

3、關漏洞測試報告的部分作的并不是十分完整,每支漏洞的測試回報完整與否,取決于plug-ins作者是否有在寫作plug-ins加上完整的敘述與解決方案,問題是大部分的plug-ins都只有程序代碼,并沒有對敘述及解決方式作批注說明,因此即使在使用nessus測出系統(tǒng)的安全漏洞后,使用者必須在到網(wǎng)絡上搜尋解決方法,這樣作實在不是很便利,因此老師希望我們能對于nessus的測試回報部分作改良,寫出一個報告閱讀程序,結合龐大的信息安全信息,讓使用者能在檢測出漏洞的同時,直接取得相關的信息和解決方案,便利系統(tǒng)治理者在改善本身系統(tǒng)安全的時效性。二、學習1.free hackers zone這學期最早接觸的學

4、習環(huán)境,應該要算hackerslab提供的一個駭客練習用工作站free hacker zone。這是一臺用linux架起來的工作站,里面分將使用者分作level0到level14,每取得下依個等級的使用者權限,都有一個相對應的系統(tǒng)漏洞需要去破解,練習使用者在實作中了解駭客破解系統(tǒng)的方法,我一面翻該組織的faq,一面嘗試錯誤,讓我一路攻到level10,其中學習到的手法包括了使用者權限設定,尋找特定權限的檔案,利用系統(tǒng)分隔符來欺騙系統(tǒng),溢位攻擊等等,然而在前進level11時,因為該漏洞必須自韓國本地進行破解,因此只好作罷,沒能進一步繼續(xù)。不過這個經(jīng)驗對于后來翻譯hackerslab的文件有的不

5、少的助益!2.hackerslab教材翻譯經(jīng)過這段暖身后,我們正式接下hackerslab文件翻譯的工作,我負責的是sniff(監(jiān)聽)與網(wǎng)頁安全兩份教材。在以太網(wǎng)絡上,只要是同一個lan上的機器,都能收到在lan上傳送的封包,系統(tǒng)核心會進行比對,假如該封包是屬于自己的就繼續(xù)處理,假如不是就忽略掉,而sniffing原理就是改變最后的步驟,將所有經(jīng)過的封包,不管是否屬于自己,全部抓進來記錄。sniffing的正面意義應該是用于處理觀察網(wǎng)絡流量狀況,一旦網(wǎng)絡出現(xiàn)異常時,可以藉由sniffing來觀察有哪些異常封包,幫忙排除異常狀況。至于竊取傳送中的使用者賬號跟密碼,則是cracker的行為,這并非

6、sniffing的本意。對于區(qū)網(wǎng)內(nèi)要如何避開被sniff,最簡單是在該區(qū)網(wǎng)內(nèi)使用switch hub。跟hub不同的是,hub會將接收到的封包向所有連接的host傳送出去,但switch本身具有mac路由表的功能,可以記得哪一個mac地址要從哪一個連接埠送出去,因此不會讓不相關的host收到該封包,大大減少了被sniff擷取封包的機會。另外一種作法是對于傳送的封包均作加密處理,這樣就算被他人擷取到封包,對方也很難將封包解密而還原成原本的樣字加以解讀。常見的加密方式例如: ssl(secure socket layer)、pgp (pretty good privacy)、ssh (secure

7、 shell)、vpn (virtual private network)等等。sniff完最重要的工作是分析抓到的封包,因此這里對于各種通訊協(xié)議的封包意義大致講解過一遍,例如該封包的來源與目的地,長度,數(shù)據(jù)內(nèi)容,crc檢查碼等等。另外一個章節(jié)是有關網(wǎng)頁安全,包含了瀏覽器跟服務器兩部分,這里大多是講解并描述理論性質的部分。首先是有關網(wǎng)頁服務器,對于crack的問題,最重要的還是治理者(administrator)的認知問題,只要對系統(tǒng)的安全性隨時保持警覺,絕對能防止crack事件的發(fā)生。目前有關網(wǎng)絡上的服務應用雖然對于ftp或e-mail,都有許多獨立的應用程序可以利用(如cute-ftp或o

8、utlook),但現(xiàn)在一般上網(wǎng)的使用者,仍有許多的機會直接使用網(wǎng)頁來對ftp做存取跟收發(fā)e-mail,此外還有許許多多功能,也都被整合在網(wǎng)頁瀏覽中,當網(wǎng)頁服務器要兼任的服務越多,也就提供了更多讓cracker入侵的機會,這是進展網(wǎng)頁功能的同時必須付出的代價,因此,身為一個網(wǎng)頁服務器的治理員,有責任負起保護自己服務器使用者的權益,對于安全性一定要隨時保持高度的警覺性。尤其隨著電子商務的進展,網(wǎng)頁扮演的角色越來越吃重,在往夜間傳遞使用者信息的機會越來越多,更增加了安全性的顧慮,然而使用者多半對于這方面安全性問題不夠警覺(甚至不了解嚴重性),只要有cracker使用一些惡意或欺騙的applet或sc

9、ripts,就有可能將使用者的信息竊取到手,也可以自遠程將使用者的計算機加以控制甚至令其當機,使用者對于瀏覽網(wǎng)頁時的安全比必須要比過去更加留意。常見的網(wǎng)頁攻擊模式包括:溢位攻擊(buffer overflow) :顧名思義, 就是利用 buffer overflow 的原理達成目的的.比如, 一個數(shù)組只有 100 bytes, 但我喂給它 200 bytes 的數(shù)據(jù),于是這個數(shù)組裝不下這些數(shù)據(jù), 造成了 overflow.為什么 overflow 會有 security hole 呢?首先, overflow 發(fā)生時, 多出來的數(shù)據(jù)會蓋到其它變量上,相信這一點大家早就知道了。問題是, 為什么數(shù)

10、據(jù)蓋到其它變量上時, 頂多使程序執(zhí)行錯誤,會嚴重到出現(xiàn) security 的問題嗎? 這時, 好玩的事情就發(fā)生了.當我們呼叫一個 function 時, 以匯編語言的觀點,會將 return address 堆入 stack 中。假如這個 function 宣告了一些 local 變量,那進入這個 function 之后, 會在 stack 中再空出一塊區(qū)域給這些 local 變量,當要從這個 function return 回去時, 就把這些在 stack 中的 local 變數(shù)清掉?,F(xiàn)在好了, buffer overflow security hole 就是在這里發(fā)生了.假如有某個 fun

11、ction 宣告了一個 local array, 如:int func() int i, j, k; char buf16; struct abc *x, *y, *z; . . .這樣就很明顯了, 假如在這個 function 內(nèi)有了 bug, 忘記去控制數(shù)據(jù)喂給 buf 的長度,當數(shù)據(jù)喂長一點, 就可以蓋到這個function 的 return address指到自己所喂進去的 code 上 這時, function 執(zhí)行完畢, 要 return 時, 它就不會 return 到原來呼叫它的地方, 而會 “return” 到我所喂進去的那些 code,這么一來入侵者就可以為所欲為了!den

12、ial of service ( dos ,阻斷服務攻擊) :所謂阻斷服務攻擊,是攻擊者利用受害者的操作系統(tǒng)、網(wǎng)絡應用程序(服務)或網(wǎng)絡通訊協(xié)議的漏洞來攻擊受害者,促使目標主機的系統(tǒng)或服務發(fā)生癱瘓的情況,可能造成系統(tǒng)資源耗盡、引響正常聯(lián)機品質、網(wǎng)絡頻寬被占滿、網(wǎng)絡應用程序(服務)停止運作、系統(tǒng)當機等情形,使正當?shù)氖褂谜邿o法正常使用該主機所提供的服務。另一種情況是系統(tǒng)治理者為了測試目的嘗試對自己主機展開攻擊,測試操作系統(tǒng)或是網(wǎng)絡應用程序(服務)中是否含有可能被攻擊的漏洞存在。像立駭科技(hackerslab)的入侵測試(penetration test)、衛(wèi)道科技的網(wǎng)絡安全漏空掃瞄儀(nai c

13、ybercop scanner)都可針對企業(yè)內(nèi)的操作系統(tǒng)、網(wǎng)絡甚至數(shù)據(jù)庫做健康檢查,其它dos的攻擊都是不合法的,而且動機通常出自惡意。distributed denial of service(ddos,分布式阻斷服務攻擊):所謂分布式阻斷服務攻擊,是運用在于受害者的系統(tǒng)資源、網(wǎng)絡頻寬條件都比攻擊者來的好,假如攻擊者想一對一的攻擊被害者,可能會失敗甚至導致自己的系統(tǒng)或網(wǎng)絡癱瘓,所以采取一對多的攻擊方式,攻擊者先在一些防備較弱的主機中種植攻擊程序。隨后攻擊者對各主機中的的攻擊程序發(fā)出攻擊命令,要求對目標主機發(fā)出龐大數(shù)量且多種的封包,龐大的數(shù)據(jù)量會癱瘓目標主機而使得無法正常提供服務。ddos不但

14、可以提高成功率,還可以縮短攻擊的時間及減少被發(fā)現(xiàn)的機會。以目前駭客的行徑而言,大多比較傾向于使用威力強大的ddos攻擊,尤其是針對規(guī)模大的網(wǎng)站時。 cgi :一種讓網(wǎng)頁執(zhí)行外部程序的一種接口,正因為如此,只要權限或設定有問題,或程序編寫有問題,很輕易成為cracker入侵系統(tǒng)的快捷方式。自動目錄列表 : 取得網(wǎng)頁跟目錄下的檔案列表將使得cracker清楚知道該網(wǎng)站結構,很輕易便能發(fā)覺后門所在甚至下載有問題的程序代碼回去破解分析,對于入侵更為輕易使用者認證的攻擊 : 利用一賬號文件跟密碼字典文件的配合,強制通過網(wǎng)頁認證的一種手法。3. nessusnessus官方網(wǎng)站 : ,目前最新釋出的版本為

15、1.0.8,是一種用來偵測網(wǎng)絡服務器或工作站的網(wǎng)絡漏洞的工具。這套偵測系統(tǒng)是client-server的方式運作,服務器端包括了使用者賬號的治理以及各種漏洞測試的plug-ins,而client則利用服務器端所提供的各種plug-ins來測試工作站或服務器并產(chǎn)生報告,報告的格式包括了html、xml、nsr(nessus本身的存檔格式) 、txt、tex(latex格式)。其plug-ins自有一套語法叫做nasl(nessus attack scripts language),可以自訂對特定的連接埠進行封包測試,藉以判定是否為漏洞(早期使用c語言來作為plug-ins的語法,但以被淘汰)一、

16、安裝安裝的方式分為server跟client兩部分。首先server必須安裝在unix環(huán)境下,(已試過freebsd : ports安裝 跟linux : rpm安裝)這部分沒有什么問題,裝下去就對了,接下來必須安裝plug-ins(若是不裝plug-ins,nessus什么也不會測),plug-ins可以選擇一個一個下載后拷到指定目錄即可,不過正確的作法應該是使用cvs的方式來維護更新plug-ins的版本。cvs系統(tǒng)又分作current跟stable兩種,stable版本但講究穩(wěn)定,許多新釋出的plug-ins并沒有包括在里面,而current雖然有最新的plug-ins,但測試不見得穩(wěn)定

17、正確,有可能將你的受測工作站或服務器損害,因此要使用那個版本請自行斟酌。安裝方式如下:1. 設定環(huán)境變量 登入cvs系統(tǒng) 密碼為 “ anon” ,只有第一次登入會需要密碼,以后會自動記載你系統(tǒng)的某一個地方$ cvs login3-1. 假如要抓取nessus程序stable版本$ cvs -z3 checkout -rnessus_1_0 nessus-libraries$ cvs -z3 checkout -rnessus_1_0 libnasl$ cvs -z3 checkout -rnessus_1_0 nessus-core$ cvs -z3 checkout -rnessus_1_

18、0 nessus-plugins3-2. 假如要抓取nessus程序current版本$ cvs -z3 checkout nessus-libraries$ cvs -z3 checkout libnasl$ cvs -z3 checkout nessus-core$ cvs -z3 checkout nessus-plugins4. 以后要檢查更新部分時只要打$ cvs -z3 update -p nessus-libraries$ cvs -z3 update -p libnasl$ cvs -z3 update -p nessus-core$ cvs -z3 update -p nes

19、sus-plugins完成!nessus是一套強大的漏洞測試工具,但是對于他產(chǎn)生的報告不夠完整是它的一大致命傷,目前他所采行的方法是把漏洞報告及修補漏洞的方法寫死在plug-ins里,但并不是每一個plug-ins撰寫者都有寫上修補方式這部分的說明,因此我們的目的是寫一個report reader來讀取nessus所產(chǎn)生的報告并自動補上漏洞相關的網(wǎng)址(報告格式為html或xml),補強的方式是連結cert的搜尋器來產(chǎn)生,目前碰到的問題在于我們要選擇哪一種語法來寫這支report reader的程序(vb除外),也使我們的研究主題由nessus暫時轉到了程序語言的部分,因此nessus暫時在此打

20、住4.scripts language 截至目前為止,我們嘗試過的語言tcl、perl、python都是屬于scripting languages,他們跟c或java這種system programming languages有很大的差異。sl 會有一組派得上用場的組件 (component) ,用別的語言寫成。sl 不會從頭開始,而是結合已經(jīng)寫好的組件。比方說,tcl 跟 visual basic 可以用來治理使用者接口組件,而 unix shell script 可以把組件當作 filter ,來組成一條 生產(chǎn)線 ,制造所要的信息。 sl 可以用來擴展已經(jīng)存在組件的功能,而很少用來進展復雜的數(shù)據(jù)結構、算法。這些東西應該由組件提供。因此,sl 常被稱為 黏接語言 或者 系統(tǒng)整合語言。為了簡化組合組件的工作,sl通常沒有型態(tài)。所有東西看起來,用起來都一樣,也可以交換著用。比方說,在tcl 或 vb 中,同一個變量既能存字符串,又能存整數(shù)。而程序代碼跟數(shù)據(jù)可以互通,因此能夠在線產(chǎn)生新程序。由此可以看到sl 對于文字數(shù)據(jù)的處理蠻擅長的。v像這樣無型態(tài)的語言更輕易結合組件。因為它并不對 東西該如何使用 做任何限制。組件會怎么用,搞不好連原先的設計者都不清楚。換句話說,組件的使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論