論文格式
        電氣工程 會計論文 金融論文 國際貿易 財務管理 人力資源 輕化工程 德語論文 工程管理 文化產業管理 信息計算科學 電氣自動化 歷史論文
        機械設計 電子通信 英語論文 物流論文 電子商務 法律論文 工商管理 旅游管理 市場營銷 電視制片管理 材料科學工程 漢語言文學 免費獲取
        制藥工程 生物工程 包裝工程 模具設計 測控專業 工業工程 教育管理 行政管理 應用物理 電子信息工程 服裝設計工程 教育技術學 論文降重
        通信工程 電子機電 印刷工程 土木工程 交通工程 食品科學 藝術設計 新聞專業 信息管理 給水排水工程 化學工程工藝 推廣賺積分 付款方式
        • 首頁 |
        • 畢業論文 |
        • 論文格式 |
        • 個人簡歷 |
        • 工作總結 |
        • 入黨申請書 |
        • 求職信 |
        • 入團申請書 |
        • 工作計劃 |
        • 免費論文 |
        • 現成論文 |
        • 論文同學網 |
        搜索 高級搜索

        當前位置:論文格式網 -> 免費論文 -> 其他論文

        計算機安全實用技術及研究(三)

        本論文在其他論文欄目,由論文格式網整理,轉載請注明來源www.donglienglish.cn,更多論文,請點論文格式范文查看  
         大凡上網久點的網人對緩沖區溢出應該是知道的,因為它的確是一個眾人皆知、非常危險的漏洞,它是個不分什么系統、什么程序,都廣泛存在的一個漏洞。以緩沖區溢出為類型的安全漏洞是最為常見,也是被黑客最多使用的攻擊漏洞。所以了解緩沖區溢出方面的知識對于黑客也好或者管理員也好也或者是一般的網人也好都相對是有必要的。
         一、緩沖區溢出的概念和原理
         緩沖區是內存中存放數據的地方。在程序試圖將數據放到機器內存中的某一個位置的時候,因為沒有足夠的空間就會發生緩沖區溢出。而人為的溢出則是有一定企圖的,攻擊者寫一個超過緩沖區長度的字符串,然后植入到緩沖區,而再向一個有限空間的緩沖區中植入超長的字符串可能會出現兩個結果,一是過長的字符串覆蓋了相鄰的存儲單元,引起程序運行失敗,嚴重的可導致系統崩潰;另有一個結果就是利用這種漏洞可以執行任意指令,甚至可以取得系統root特級權限。大多造成緩沖區溢出的原因是程序中沒有仔細檢查用戶輸入參數而造成的。緩沖區是程序運行的時候機器內存中的一個連續塊,它保存了給定類型的數據,隨著動態分配變量會出現問題。大多時為了不占用太多的內存,一個有動態分配變量的程序在程序運行時才決定給它們分配多少內存。這樣想下去的話,如果說要給程序在動態分配緩沖區放入超長的數據,它就會溢出了。一個緩沖區溢出程序使用這個溢出的數據將匯編語言代碼放到機器的內存里,通常是產生root權限的地方,這就不是什么好現象了。僅僅就單個的緩沖區溢出惹眼,它并不是最大的問題根本所在。但如果溢出送到能夠以root權限運行命令的區域,一旦運行這些命令,那可就等于把機器拱手相讓了。
         二、緩沖區溢出漏洞攻擊方式
         緩沖區溢出漏洞可以使任何一個有黑客技術的人取得機器的控制權甚至是最高權限。一般利用緩沖區溢出漏洞攻擊root程序,大都通過執行類似“exec(sh)”的執行代碼來獲得root 的shell。黑客要達到目的通常要完成兩個任務,就是在程序的地址空間里安排適當的代碼和通過適當的初始化寄存器和存儲器,讓程序跳轉到安排好的地址空間執行。
         1、在程序的地址空間里安排適當的代碼:
         其實在程序的地址空間里安排適當的代碼往往是相對簡單的,但也同時要看運氣如何。如果說要攻擊的代碼在所攻擊程序中已經存在了,那么就簡單的對代碼傳遞一些參數,然后使程序跳轉到目標中就可以完成了。攻擊代碼要求執行“exec(‘/bin/sh’)”,而在libc庫中的代碼執行“exec(arg)”,當中的“arg”是個指向字符串的指針參數,只要把傳入的參數指針修改指向“/bin/sh”,然后再跳轉到libc庫中的響應指令序列就OK了。當然了,很多時候這個可能性是很小的,那么就得用一種叫“植入法”的方式來完成了。當向要攻擊的程序里輸入一個字符串的話,程序就會把這個字符串放到緩沖區里,這個字符串包含的數據是可以在這個所攻擊的目標的硬件平臺上運行的指令序列。緩沖區可以設在像:堆棧(自動變量)、堆(動態分配的)和靜態數據區(初始化或者未初始化的數據)等的任何地方。也可以不必為達到這個目的而溢出任何緩沖區,只要找到足夠的空間來放置這些攻擊代碼就夠了。
         2、將控制程序轉移到攻擊代碼的形式:
         所有的這些方法都是在尋求改變程序的執行流程,使它跳轉到攻擊代碼,最為基本就是溢出一個沒有檢查或者其它漏洞的緩沖區,這樣做就會擾亂程序的正常執行次序。通過溢出某緩沖區,可以改寫相近程序的空間而直接跳轉過系統對身份的驗證。原則上來講攻擊時所針對的緩沖區溢出的程序空間可為任意空間。但因不同地方的定位相異,所以也就帶出了多種轉移方式。
         (1)unction Pointers(函數指針)
         在程序中,“void (* foo) ( )”聲明了個返回值為“void” Function Pointers的變量“foo”。Function Pointers可以用來定位任意地址空間,攻擊時只需要在任意空間里的Function Pointers鄰近處找到一個能夠溢出的緩沖區,然后用溢出來改變Function Pointers。當程序通過Function Pointers調用函數,程序的流程就會實現。這個你可調用Linux下的superprobe程序體驗一下。
         (2)ctivation Records(激活記錄)
         當一個函數調用發生時,堆棧中會留駐一個Activation Records,它包含了函數結束時返回的地址。執行溢出這些自動變量,使這個返回的地址指向攻擊代碼,再通過改變程序的返回地址。當函數調用結束時,程序就會跳轉到事先所設定的地址,而不是原來的地址。這樣的溢出方式也是較常見的。你在使用漏洞掃描(Unix下的SATAN或者NT下的Retina)器時,最好是多注意“stack smashing attack”的字樣。
         (3)Longjmp buffers(長跳轉緩沖區)
         在C語言中包含了一個簡單的檢驗/恢復系統,稱為“setjmp/longjmp”,意思是在檢驗點設定“setjmp(buffer)”,用longjmp(buffer)“來恢復檢驗點。如果攻擊時能夠進入緩沖區的空間,感覺“longjmp(buffer)”實際上是跳轉到攻擊的代碼。像Function Pointers一樣,longjmp緩沖區能夠指向任何地方,所以找到一個可供溢出的緩沖區是最先應該做的事情。
         3、植入綜合代碼和流程控制:
         常見的溢出緩沖區攻擊類是在一個字符串里綜合了代碼植入和ctivation Records。攻擊時定位在一個可供溢出的自動變量,然后向程序傳遞一個很大的字符串,在引發緩沖區溢出改變ctivation Records的同時植入代碼(權因C在習慣上只為用戶和參數開辟很小的緩沖區)。植入代碼和緩沖區溢出不一定要一次性完成,可以在一個緩沖區內放置代碼(這個時候并不能溢出緩沖區),然后通過溢出另一個緩沖區來轉移程序的指針。這樣的方法一般用于可供溢出的緩沖區不能放入全部代碼時的。如果想使用已經駐留的代碼不需要再外部植入的時候,通常必須先把代碼做為參數。在libc(熟悉C的朋友應該知道,現在幾乎所有的C程序連接都是利用它來連接的)中的一部分代碼段會執行“exec(something)”,當中的something就是參數,使用緩沖區溢出改變程序的參數然后利用另一個緩沖區溢出使程序指針指向libc中的特定的代碼段。
         4、緩沖區溢出的防患:
         緩沖區溢出的漏洞被發現到利用以來一直都是網絡安全領域的最大隱患,很多安全人士均對這些漏洞做了仔細的研究,但是緩沖區溢出的完全防止往往因為這樣那樣的人為或者其它的因素仍顯得有點力不從心。在這篇文章里,就目前緩沖區溢出漏洞的幾種保護方法做個簡單的描述。
         (1)正確的編寫代碼
         我想在編寫代碼的時候一般不會有人故意想要發生錯誤的,但是絲毫的錯誤往往會造成嚴重后果(C語言多是字符串因0收尾,往往就是一個很不安全例子)。所以正確的編寫代碼是很關鍵的。
         在編寫時以免錯誤發生最原始的方法就是用gerp來找出源代碼中較容易產生的漏洞的庫的調用。像對sprintf和strcpy的調用,這兩個函數都不會檢查參數輸入的長度。有的在編寫的時候采用了sprintf和strcpy的替代函數來防止,但是還是會有問題發生的。因為這些錯誤的隱蔽性,所以就出現了查錯工具faultin-jection。faultin-jection可以通過人為隨時產生一些緩沖區溢出來找到代碼的安全漏洞。只能說faultin-jection等類似的工具可以讓編寫時緩沖區溢出的漏洞更少一點,而完全的沒有則是不現實的。因為它們確實不可能找到所有的溢出緩沖區的漏洞。編寫時重復的檢查代碼的漏洞可以使程序更加完美和安全。
         (2)非執行的緩沖區
         在老版的UNIX系統中,程序的數據段地址空間是不可執行的,這樣就使得黑客在利用緩沖區植入代碼時不能執行。但是現在的UNIX和Windows系統考慮到性能和功能的速率和使用合理化,大多在數據段中動態形式的放入了可執行的代碼,為了保證程序的兼容性不可能使用所有程序的數據段不可執行間。但可以通過只設定堆棧數據段不可執行,這樣就很大程度上保證了程序的兼容性能。UNIX、Linux、Windows、Solaris都已經發布了這方面的補丁。
         (3)檢查數組邊界
         數組邊界檢查完全沒有緩沖區溢出的產生,所以只要保證數組不溢出,那么緩沖區溢出攻擊也就只能是望梅止渴了。實現數組邊界檢查,所有的對數組的讀寫操作都應該被檢查,這樣可以保證對數組的操作在正確的范圍之內。檢查數組是一件叫人頭大的事情,所以利用一些優化技術來檢查就減少了負重。可以使用Compaq公司專門為Alpha CPU開發的Compaq C編譯器、Jones&Kelly的C的數組邊界檢查、Purify存儲器存取檢查等等來檢查。
         所有的緩沖區溢出漏洞都歸于C語言的“功勞”。如果只有類型-安全的操作才可以被允許執行,這樣就不會出現對變量的強制操作。類型-安全的語言被認定為Java和ML等,但作為Java執行平臺的Java虛擬機是C程序,所以攻擊JVM的途徑就是使JVM的緩沖區溢出。
         (4)程序指針完整性檢查
         程序指針完整性檢查在程序指針被引用之前檢測到它的改變,這個時候即便是有人改變了程序的指針,也輝因為系統早先已經檢測到了指針的改變而不會造成指針對利用的。但程序指針完整性檢查不能解決所有的緩沖區溢出問題;如果有人使用了其它的緩沖區溢出,那么程序指針完整性檢查就不可能檢測到了。可話又說回來了,程序指針完整性檢查在性能上卻有著很大的優勢,并且有良好的兼容性。
        2.1.4  網絡監聽攻擊技術
         在網絡中,當信息進行傳播的時候,可以利用工具,將網絡接口設置在監聽的模式,便可將網絡中正在傳播的信息截獲或者捕獲到,從而進行攻擊。網絡監聽在網絡中的任何一個位置模式下都可實施進行。而黑客一般都是利用網絡監聽來截取用戶口令。比如當有人占領了一臺主機之后,那么他要再想將戰果擴大到這個主機所在的整個局域網話,監聽往往是他們選擇的捷徑。很多時候我在各類安全論壇上看到一些初學的愛好者,在他們認為如果占領了某主機之后那么想進入它的內部網應該是很簡單的。其實非也,進入了某主機再想轉入它的內部網絡里的其它機器也都不是一件容易的事情。因為你除了要拿到他們的口令之外還有就是他們共享的絕對路徑,當然了,這個路徑的盡頭必須是有寫的權限了。在這個時候,運行已經被控制的主機上的監聽程序就會有大收效。不過卻是一件費神的事情,而且還需要當事者有足夠的耐心和應變能力。
         一、網絡監聽的原理
         Ethernet(以太網,它是由施樂公司發明的一種比較流行的局域網技術,它包含一條所有計算機都連接到其上的一條電纜,每臺計算機需要一種叫接口板的硬件才能連接到以太網)協議的工作方式是將要發送的數據包發往連接在一起的所有主機。在包頭中包括有應該接收數據包的主機的正確地址,因為只有與數據包中目標地址一致的那臺主機才能接收到信息包,但是當主機工作在監聽模式下的話不管數據包中的目標物理地址是什么,主機都將可以接收到。許多局域網內有十幾臺甚至上百臺主機是通過一個電纜、一個集線器連接在一起的,在協議的高層或者用戶來看,當同一網絡中的兩臺主機通信的時候,源主機將寫有目的的主機地址的數據包直接發向目的主機,或者當網絡中的一臺主機同外界的主機通信時,源主機將寫有目的的主機IP地址的數據包發向網關。但這種數據包并不能在協議棧的高層直接發送出去,要發送的數據包必須從TCP/IP協議的IP層交給網絡接口,也就是所說的數據鏈路層。網絡接口不會識別IP地址的。在網絡接口由IP層來的帶有IP地址的數據包又增加了一部分以太禎的禎頭的信息。在禎頭中,有兩個域分別為只有網絡接口才能識別的源主機和目的主機的物理地址這是一個48位的地址,這個48位的地址是與IP地址相對應的,換句話說就是一個IP地址也會對應一個物理地址。對于作為網關的主機,由于它連接了多個網絡,它也就同時具備有很多個IP地址,在每個網絡中它都有一個。而發向網絡外的禎中繼攜帶的就是網關的物理地址。Ethernet中填寫了物理地址的禎從網絡接口中,也就是從網卡中發送出去傳送到物理的線路上。如果局域網是由一條粗網或細網連接成的,那么數字信號在電纜上傳輸信號就能夠到達線路上的每一臺主機。再當使用集線器的時候,發送出去的信號到達集線器,由集線器再發向連接在集線器上的每一條線路。這樣在物理線路上傳輸的數字信號也就能到達連接在集線器上的每個主機了。當數字信號到達一臺主機的網絡接口時,正常狀態下網絡接口對讀入數據禎進行檢查,如果數據禎中攜帶的物理地址是自己的或者物理地址是廣播地址,那么就會將數據禎交給IP層軟件。對于每個到達網絡接口的數據禎都要進行這個過程的。但是當主機工作在監聽模式下的話,所有的數據禎都將被交給上層協議軟件處理。
         當連接在同一條電纜或集線器上的主機被邏輯地分為幾個子網的時候,那么要是有一臺主機處于監聽模式,它還將可以接收到發向與自己不在同一個子網(使用了不同的掩碼、IP地址和網關)的主機的數據包,在同一個物理信道上傳輸的所有信息都可以被接收到。
         在UNIX系統上,當擁有超級權限的用戶要想使自己所控制的主機進入監聽模式,只需要向Interface(網絡接口)發送I/O控制命令,就可以使主機設置成監聽模式了。而在Windows9x的系統中則不論用戶是否有權限都將可以通過直接運行監聽工具就可以實現了。
         在網絡監聽時,常常要保存大量的信息(也包含很多的垃圾信息),并將對收集的信息進行大量的整理,這樣就會使正在監聽的機器對其它用戶的請求響應變的很慢。同時監聽程序在運行的時候需要消耗大量的處理器時間,如果在這個時候就詳細的分析包中的內容,許多包就會來不及接收而被漏走。所以監聽程序很多時候就會將監聽得到的包存放在文件中等待以后分析。分析監聽到的數據包是很頭疼的事情。因為網絡中的數據包都非常之復雜。兩臺主機之間連續發送和接收數據包,在監聽到的結果中必然會加一些別的主機交互的數據包。監聽程序將同一TCP會話的包整理到一起就相當不容易了,如果你還期望將用戶詳細信息整理出來就需要根據協議對包進行大量的分析。Internet上那么多的協議,運行進起的話這個監聽程序將會十分的大。
         現在網絡中所使用的協議都是較早前設計的,許多協議的實現都是基于一種非常友好的,通信的雙方充分信任的基礎。在通常的網絡環境之下,用戶的信息包括口令都是以明文的方式在網上傳輸的,因此進行網絡監聽從而獲得用戶信息并不是一件難點事情,只要掌握有初步的TCP/IP協議知識就可以輕松的監聽到你想要的信息的。前些時間美籍華人China-babble曾提出將望路監聽從局域網延伸到廣域網中,但這個想法很快就被否定了。如果真是這樣的話我想網絡必將天下大亂了。而事實上現在在廣域網里也可以監聽和截獲到一些用戶信息。只是還不夠明顯而已。在整個Internet中就更顯得微不足道了。
         二、檢測網絡監聽的方法
         網絡監聽在上述中已經說明了。它是為了系統管理員管理網絡,監視網絡狀態和數據流動而設計的。但是由于它有著截獲網絡數據的功能所以也是黑客所慣用的伎倆之一。網絡監聽是很難被發現的。當運行監聽程序的主機在進聽的過程中只是被動的接收在以太網中傳輸的信息,它不會跟其它的主機交換信息的,也不能修改在網絡中傳輸的信息包。這就說明了網絡監聽的檢測是比較麻煩的事情。
         一般情況下可以通過ps-ef或者ps-aux來檢測。但大多實施監聽程序的人都會通過修改ps的命令來防止被ps-ef的。修改ps只需要幾個shell把監聽程序的名稱過濾掉就可以了。
         當你懷疑網內某太機器正在實施監聽程序的話,可以用正確的IP地址和錯誤的物理地址去ping它,這樣正在運行的監聽程序就會做出響應的。這是因為正常的機器一般不接收錯誤的物理地址的ping信息的。但正在進聽的機器就可以接收,要是它的IP stack不再次反向檢查的話就會響應的。不過這種方法對很多系統是沒效果的,因為它依賴于系統的IP stack。
         另一種就是向網上發大量不存在的物理地址的包,而監聽程序往往就會將這些包進行處理,這樣就會導致機器性能下降,你可以用icmp echo delay來判斷和比較它。還可以通過搜索網內所有主機上運行的程序,但這樣做其的難度可想而知,因為這樣不但是大的工作量,而且還不能完全同時檢查所有主機上的進程。可是如果管理員這樣做也會有很大的必要性,那就是可以確定是否有一個進程是從管理員機器上啟動的。
         在Unix中可以通過ps –aun或ps –augx命令產生一個包括所有進程的清單:進程的屬主和這些進程占用的處理器時間和內存等。這些以標準表的形式輸出在STDOUT上。如果某一個進程正在運行,那么它將會列在這張清單之中。但很多黑客在運行監聽程序的時候會毫不客氣的把ps或其它運行中的程序修改成Trojan Horse程序,因為他完全可以做到這一點的。如果真是這樣那么上述辦法就不會有結果的。但這樣做在一定程度上還是有所作為的。在Unix和Windows NT上很容易就能得到當前進程的清單了。但DOS、Windows9x很難做到。
         有個叫Ifstatus的運行在Unix下的工具,它可以識別出網絡接口是否正處于調試狀態下或者是在進聽裝下。要是網絡接口運行這樣的模式之下,那么很有可能正在受到監聽程序的攻擊。Ifstatus一般情況下不會產生任何輸出的,當它檢測到網絡的接口處于監聽模式下的時候才回輸出。管理員可以將系統的cron參數設置成定期運行Ifstatus,如果有好的cron進程的話可以將它產生的輸出用mail發送給正在執行cron任務的人,要實現可以在crontab目錄下加****/usr/local/etc/ifstatus一行參數。這樣不行的話還可以用一個腳本程序在crontab下00****/usr/local/etc/run-ifstatus。
        2.1.5  IP欺騙攻擊
         這種攻擊方式主要應用于用IP協議傳送的報文中。它僅適用于少數幾種平臺。所謂IP欺騙,無非就是偽造他人的源IP地址。其實質就是讓一臺機器來扮演另一臺機器,籍以達到蒙混過關的目的。IP欺騙技術只能實現對某些特定的運行Free TCP/IP協議的計算機進行攻擊。一般來說,任何使用Sun RPC調用的配置、利用IP地址認證的網絡服務、MIT的X Window系統、R服務等這些服務易受到IP欺騙攻擊。
         IP欺騙式攻擊形式多種多樣,從隨機掃描到利用系統已知的一些漏洞。IP欺騙攻擊通常發生于一臺主機被確信在安全性方面存在漏洞之后。此時入侵者已作好了實施一次IP欺騙攻擊的準備,他(或她)知道目標網絡存在漏洞并且知道該具體攻擊哪一臺主機。IP欺騙攻擊對技術的要求相當高,它的原理是這樣的:
         1.假設Z企圖攻擊A,而A信任B,并且Z已經知道了A、B之間存在信任關系。
         2.Z想辦法使B的網絡功能暫時癱瘓,以免對攻擊造成干擾。
         3.Z必須確定A當前的ISN。首先連向25端口,開始記錄A的ISN,以及Z到A的大致的RTT(round trip time)。這個步驟要重復多次以便求出 RTT的平均值。現在Z知道了A的ISN基值和增加規律,也知道了從Z到A需要RTT/2的時間。
         4.Z將自己的IP改成了B的IP后向A發送帶有SYN標志的數據段請求連接。這時A會以為是B發的SYN,從而導致A向B回送SYN+ACK數據段,但此時的B已經無法響應。
         5.Z暫停一小會兒,讓A有足夠時間發送SYN+ACK,因為Z看不到這 個包。然后Z再次偽裝成B向A發送ACK,此時發送的數據段帶有 Z預測的A的ISN+1。如果預測準確,連接建立,數據傳送開始。
         6.到此時,欺騙攻擊可以說完成了一大半,因為此時A仍然會向B發送數據,而不是Z,Z 仍然無法看到A發往B的數據段。
         7.Z必須按照rlogin協議標準假冒B向A發送類似 "cat + + >> ~/.rhosts" 這樣的命令, 于是攻擊完成。
         從上面的過程我們可以看到,攻擊最困難的地方就是預測A的ISN。這要求攻擊者對協議本身相當熟悉,不是一般的黑客能夠做到的。
        2.1.6  掃描程序與口令攻擊
         掃描的工作原理通過選用遠程TCP/IP不同的端口的服務,并記錄目標給予的回答,通過這種方法,可以搜集到很多關于目標主機的各種有用的信息(比如:是否能用匿名登陸!是否有可寫的FTP目錄,是否能用TELNET,HTTPD是用ROOT還是nobady在跑!)
         掃描并不是一個直接的攻擊網絡漏洞的程序,它僅僅能幫助我們發現目標機的某些內在的弱點。一個好的掃描器能對它得到的數據進行分析,幫助我們查找目標主機的漏洞。但它不會提供進入一個系統的詳細步驟。
         在網絡上最常見的就是掃描了,掃描大致可分為幾種:端口掃描、系統信息掃描、漏洞掃描。掃描一般都是用專門的工具進行,現在網上的黑客工具屬于掃描工具的有很多,而且功能越來越強。很多的掃描工具都是支持多進程、多線程的。可以同時掃描整個的B類或C類網段。
         一個黑客進行入侵,最必要的就是對目標進行掃描。所謂“知己知彼,百戰百勝”,要想成功入侵,對目標的信息一定要進行詳盡的收集,而這一步的實施就主要靠掃描。
         網上的掃描程序、工具基本上是現下現用的,不需要使用者深入了解什么專業的知識。這也是一個初級黑客用得最多的原因。我用過很多的掃描工具:portscan、Wingate scan、PingPlus、SuperScan、rscan、Shadow scan等等,其中不乏精品。對于我們來講,使用掃描軟件是必要的,用來掃掃自己的機器,從中找到漏洞并及時彌補,才不會給黑客可乘之機。
         口令攻擊是黑客最喜歡采用的入侵在線網絡的方法。一般他們都采用逐個試口令直到成功為止。在“行話”中常把他們使用的方法叫做“字典攻擊”。所謂“字典攻擊”就是黑客用專門的破解軟件對系統的用戶名和口令進行猜測性的攻擊。從理論上來講,只要Hacker使用的字典文件中包含那個密碼字串的話,你的密碼就是再復雜也會被破解出來的。而在多操作系統中,UNIX 是最容易受到字典攻擊的對象,因為UNIX不象其他操作系統一樣在一定次數的登陸(注冊)失敗后就封鎖這個用戶。
         我們知道基于UNIX下的加密算法——DES加密,但關于DES加密技術的材料很少,這主要是IBM應美國國家安全局的要求把某些文檔定的為了國家機密文檔。而UNIX下的一個加密程序Crypt(3) 卻廣泛的流傳,甚至它的源代碼隨處可得。所以我介紹一下Crypt(3)的加密過程:
         1】以明碼正文形式取出口令。
         2】把口令作為關鍵詞,用一系列的“0”進行敝屏加密。
         3】把一個64位二進制值轉變成以56位為變量基礎的唯一的64位二進制值作為關鍵字再加密。
         兼于CRYPT(3)的加密隨機性之大,56位關鍵字的存在可能 性超過7×10E16種,所以想要逆向解碼是不可能的,但是我們可以用比較法,其方法如下:
         1】獲得一個字典文件,它是一個單詞表。
         2】把這些單詞用用戶的加密程序進行加密,(符合DES標準)。
         3】把每個單詞加密后的結果與目標加密后的結果進行比較 如果匹配,則該單詞就是加密關鍵字。
         上面的可能說得有點深奧,也許大家不太懂。不過有人已經編出了現成的程序專門對付UNIX的加密算法。最有名的莫過于John the Riper。

        首頁 上一頁 1 2 3 4 5 6 下一頁 尾頁 3/6/6


        相關論文
        上一篇:LED數碼管顯示技術 下一篇:防御網站被攻擊對策探討
        Tags:計算機 安全 實用技術 研究 【收藏】 【返回頂部】
        人力資源論文
        金融論文
        會計論文
        財務論文
        法律論文
        物流論文
        工商管理論文
        其他論文
        保險學免費論文
        財政學免費論文
        工程管理免費論文
        經濟學免費論文
        市場營銷免費論文
        投資學免費論文
        信息管理免費論文
        行政管理免費論文
        財務會計論文格式
        數學教育論文格式
        數學與應用數學論文
        物流論文格式范文
        財務管理論文格式
        營銷論文格式范文
        人力資源論文格式
        電子商務畢業論文
        法律專業畢業論文
        工商管理畢業論文
        漢語言文學論文
        計算機畢業論文
        教育管理畢業論文
        現代教育技術論文
        小學教育畢業論文
        心理學畢業論文
        學前教育畢業論文
        中文系文學論文
        最新文章
        熱門文章
        計算機論文
        推薦文章

        本站部分文章來自網絡,如發現侵犯了您的權益,請聯系指出,本站及時確認刪除 E-mail:349991040@qq.com

        論文格式網(www.donglienglish.cn--論文格式網拼音首字母組合)提供其他論文畢業論文格式,論文格式范文,畢業論文范文

        Copyright@ 2010-2018 LWGSW.com 論文格式網 版權所有

        感谢您访问我们的网站,您可能还对以下资源感兴趣:

        论文格式网:毕业论文格式范文