知己知彼 黑客常用攻擊手法大揭秘
發(fā)表時間:2023-06-02 來源:明輝站整理相關軟件相關文章人氣:
[摘要]【IT168 專稿】最近一臺被黑客控制的服務器被發(fā)現(xiàn), 上面包含了1.4GB從世界各地被感染計算機竊取來的企業(yè)和個人數(shù)據(jù), 其中包含眾多銀行帳號信息和5000多個大型金融機構的日志文件。 為了更好...
【IT168 專稿】最近一臺被黑客控制的服務器被發(fā)現(xiàn), 上面包含了1.4GB從世界各地被感染計算機竊取來的企業(yè)和個人數(shù)據(jù), 其中包含眾多銀行帳號信息和5000多個大型金融機構的日志文件。 為了更好的防護自己, 我們需要了解黑客進行入侵和攻擊的手法。 安全業(yè)著名記者Davey Winder近日發(fā)表分析文章, 從一個黑客的角度揭示了他們經(jīng)常使用的技術。
黑客作為英雄的時代已經(jīng)過去, 今天多數(shù)黑客的目光都盯在了金錢上, 其攻擊的主要目標是商業(yè)公司的客戶數(shù)據(jù)庫。 因為這些數(shù)據(jù)中包含了大量的信用卡信息、個人數(shù)據(jù)和其它有助于其竊取銀行賬號的信息。 據(jù)市場分析機構Gartner表示, 大約有75%的安全入侵都是通過軟件安全漏洞進行的。 鑒于企業(yè)越來越多的使用基于Web的應用, 這個結果并不令人感到驚訝。
對于黑客來說, 獲取數(shù)據(jù)訪問權限的最簡單方法之一就是發(fā)現(xiàn)系統(tǒng)的一個后門, 導致該后門的原因可能是不妥當?shù)能浖渲茫?或者編程漏洞, 或者未能即時安裝已經(jīng)發(fā)布的漏洞補丁。
一、利用整數(shù)溢出(integer overflow)
無論是隨意的編程, 還是懶散的補丁安裝, 都可以給用戶帶來整數(shù)溢出安全缺陷, 而它正是最受黑客喜愛的入侵方法之一。 那么什么是整數(shù)溢出?它可以給黑客帶來什么好處?簡單的說, 數(shù)字溢出是一種軟件行為, 導致的原因是數(shù)字運算的結果超出了系統(tǒng)所能處理的范圍。 安全專業(yè)廠商Coverity的C/C++和Java程序員Sumant Kowshik表示, “當一個數(shù)字運算得出了一個系統(tǒng)位寬無法存儲的大結果時, 該結果會被截取, 會得到異常的結果值, 這個溢出的值可以被用來實現(xiàn)一個關鍵的操作, 諸如數(shù)組索引、內(nèi)存分配或內(nèi)存廢棄等。 ”這類行為不僅可以讓軟件崩潰, 而且還可以被黑客利用來訪問系統(tǒng)中的特權內(nèi)存內(nèi)容。
實際上, 所有這些安全缺陷都與數(shù)字運算產(chǎn)生不可信賴、用戶可修改數(shù)值有關, 潛在的溢出結果數(shù)據(jù)被用來作為進行諸如內(nèi)存分配或緩沖區(qū)索引之類的關鍵操作。 Kowshik表示, “通過利用整數(shù)溢出來重寫任意存儲位置, 黑客能夠以超級用戶權限來運行安全關鍵應用, 在現(xiàn)實世界軟件中的整數(shù)溢出安全缺陷實例中, 攻擊者可以使用任意代碼的地址來覆蓋程序需要跳轉的地址。 ”以下整數(shù)溢出除了打印錯誤值之外并不進行任何操作, 因此該程序并不會造成破壞:
X = 0;
if (a > MAX_INT /2 && b > MAX_INT / 2)
/* x will *not* be equal to a + b */
x = a + b;
print(“x = %d\n”, x);
但是, 有時候一個惡意用戶可以借助整數(shù)溢出來控制內(nèi)存分配尺寸, 并且讓系統(tǒng)執(zhí)行惡意操作, 諸如以下代碼:
x = get_some_number_from_a_packet()
/*overflow in computation */
P = malloc(x * sizeof(int));
/* bad problem here */
P[x-1] = 0;
這種方法看似有些麻煩, 是許多腳本小子(script-kiddies)們使用的方法, 不過, 借助于最新的現(xiàn)成惡意軟件工具, 只需點擊幾下鼠標就可以實現(xiàn)這種復雜的攻擊。
上面是電腦上網(wǎng)安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。