首頁>Club>
3
回覆列表
  • 1 # 使用者4689132392367

    軟體漏洞分門別類,主要有以下幾大種類:硬體中內嵌的軟體的漏洞,電腦或者手機上的軟體的漏洞,網站的動態語言處理使用者的資料時的漏洞。

    導致這些漏洞的原因如下:有些是開發時由於程式設計師經驗不足或者疏忽而留下了安全隱患,有些是本身設計時的思路就有問題,典型的比如以前聽說過有些網遊可以刷幣。

    而樓主的所說的軟體漏洞,我覺得應該是偏向於軟體二進位制的漏洞。

    軟體漏洞的挖掘一般利用fuzz工具進行測試。fuzz工具的原理很簡單--就是透過傳送海量的各種不同的畸形資料給一個軟體處理,如果軟體處理出錯了就分析原因。

    我們先說軟體的工作模型: 我們知道軟體的工作模式概括地說就是:指令處理資料,指令把資料處理完成後輸出結果。舉個生活中的例子:類似你炒菜,你的翻,炸,炒就是指令,資料就是各種食材。經過各種指令的處理後的結果當然就是一桌飯菜啦。軟體的工作模型類似:你用word開啟一個doc文件,word軟體就得到了素材,然後對doc檔案中的各種資料進行處理,最後呈現在你面前的就是一份精美的文件(比如簡歷或者一份圖文並茂的小說等)。

    理解以上的內容,再說下面的:

    一,處理流程是可以被改變的。

    還是剛才的案例,你用word開啟一個doc的文件檔案,這個檔案就是資料,這個文件裡的任何資料都是你自己完全可以控制的,而word軟體就是ms公司生產的工具,他裡面的指令是固定的,處理流程也是預先設定好固定不變的。當軟體處理你的文件的時候,如果能在改變軟體的處理流程,那就是一個漏洞。還是舉個例子:廣東的血汗工廠的流水車間,其工作模式和流程就很有代表性。一條組裝電視機的流水線,幾名員工先後分工合作,其中第一步張三負責安裝後蓋,第二步李四負責安裝射線管,第三步王五負責安裝電路板。當張三在安裝後蓋時,發現產品沒有射線管,於是他在產品上貼上“返回給張三”的標籤再轉發給李四,李四接到後,發現沒有電路板,於他又貼上“返回給李四”的標籤,再轉給王五。王五裝上電路板後,根據返回標籤所示,返回給了李四,李四拿到半成品,裝上射線管,再根據標籤返回給張三。這一個流程就完成了。如果在工作的過程中,返回標籤掉了怎麼辦?或者不小心從哪飄來了一個陳六的返回標籤剛好蓋住了返回標籤的位置怎麼辦?那按嚴格的執行流程,當然是返回給了陳六,於是乎,處理流程被改變了。明白麼?

    真實的cpu工作方式與這個類似,CPU經常會在各種場地來回地跳轉。以c語言中的呼叫函式為例,如果你呼叫一個函式,那函式執行完了,是不是得接著回到跳轉點繼續執行下面的程式碼?為了實現這個效果,cpu在跳轉到目標地址之前,會把當前地址儲存起來,以後要跳回來就看看這個地址就知道跳到哪了,這個就類似上文所說的返回標籤,我們叫它返回地址,這個返回地址是個資料,就存放在某個記憶體區域內,在指令處理完當前的資料後,要從這個資料區取回返回地址。從哪來就回哪去。就這麼簡單,如果這個資料區被篡改了,那不好意思,cpu是很呆板的,他就會跳到指定的地址去。

    二,資料等於指令 , 指令也等於資料 。

    計算機在工作的時候,資料和指令都是先放到記憶體中,再由cpu執行指令處理資料的。但x86的cpu在設計之初就沒嚴格區分指令和資料。只是在cpu內設計了指向指令區的暫存器eip,和指向資料區的暫存器(有很多,比如esp,ebp)。換言之,記憶體中這麼多資訊,凡是eip指向的區域就是指令;esp,ebp等指向的就是資料,如果eip指向了資料,那毫無疑問,資料這時變成了指令,他當然可以被cpu所執行。

    如果你明白了以上兩點,再想想,如果 word軟體在處理你的檔案資料時,由於處理不慎,不小心把文件中的資料覆蓋掉了返回地址,那麼cpu返回的地址就出錯了,如果精心構造一個虛假的返回地址,那麼執行流程被你控制了,你把返回地址指向到你的檔案中的某個地址上,而這個地址你事先放了一些資料,cpu把這些資料當指令來執行,於是乎,這個軟體就執行了非微軟官方的指令。而受你擺佈了。

    這個原理應用在很多場合,word軟體處理文件是這樣,那伺服器上的服務軟體也是這樣的。這類軟體開了一個埠,接受關處理客戶端發來的資料。如果這個軟體有某個已知的漏洞的話。你可以發一些經過精心改造的資料去給這樣的軟體,讓他執行你資料裡的指令,至於是下載某個病毒還是讓整個軟體退出,全看自己喜好了。

    現在來正式回答樓主的問題,用一些fuzz工具,編寫一些策略來生成畸形資料,然後傳送到目標軟體上,靜待他處理出錯,然後分析成因,如果能控制他的流程,恭喜你,你挖到漏洞了!!!

    不得不提的是還有web 安全,網上常說黑了某某網站一般是web安全的範疇,這一般是透過sql注入來完成的,sql注入和上面所說的漏洞有本質的區別,由sql注入的漏洞原理相當簡單,自行上網檢視就行了。

    補充要說的是,二進位制的漏洞從技術上說更難發現,但危害也相當大。利用上述所說的漏洞,美國成功地延遲了伊朗的核計劃研究若干年。而xp被微軟拋棄後為什麼引起世人的關注,很大程度上也是因為上述的漏洞危害太大,微軟不再對此類漏洞進行修補,那意味xp真的不安全!

  • 中秋節和大豐收的關聯?
  • 小松挖機操作方法?