知己知彼 黑客常用攻擊手法大揭秘
發(fā)表時(shí)間:2023-06-02 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]【IT168 專稿】最近一臺(tái)被黑客控制的服務(wù)器被發(fā)現(xiàn), 上面包含了1.4GB從世界各地被感染計(jì)算機(jī)竊取來的企業(yè)和個(gè)人數(shù)據(jù), 其中包含眾多銀行帳號(hào)信息和5000多個(gè)大型金融機(jī)構(gòu)的日志文件。 為了更好...
【IT168 專稿】最近一臺(tái)被黑客控制的服務(wù)器被發(fā)現(xiàn), 上面包含了1.4GB從世界各地被感染計(jì)算機(jī)竊取來的企業(yè)和個(gè)人數(shù)據(jù), 其中包含眾多銀行帳號(hào)信息和5000多個(gè)大型金融機(jī)構(gòu)的日志文件。 為了更好的防護(hù)自己, 我們需要了解黑客進(jìn)行入侵和攻擊的手法。 安全業(yè)著名記者Davey Winder近日發(fā)表分析文章, 從一個(gè)黑客的角度揭示了他們經(jīng)常使用的技術(shù)。
黑客作為英雄的時(shí)代已經(jīng)過去, 今天多數(shù)黑客的目光都盯在了金錢上, 其攻擊的主要目標(biāo)是商業(yè)公司的客戶數(shù)據(jù)庫。 因?yàn)檫@些數(shù)據(jù)中包含了大量的信用卡信息、個(gè)人數(shù)據(jù)和其它有助于其竊取銀行賬號(hào)的信息。 據(jù)市場分析機(jī)構(gòu)Gartner表示, 大約有75%的安全入侵都是通過軟件安全漏洞進(jìn)行的。 鑒于企業(yè)越來越多的使用基于Web的應(yīng)用, 這個(gè)結(jié)果并不令人感到驚訝。
對(duì)于黑客來說, 獲取數(shù)據(jù)訪問權(quán)限的最簡單方法之一就是發(fā)現(xiàn)系統(tǒng)的一個(gè)后門, 導(dǎo)致該后門的原因可能是不妥當(dāng)?shù)能浖渲茫?或者編程漏洞, 或者未能即時(shí)安裝已經(jīng)發(fā)布的漏洞補(bǔ)丁。
一、利用整數(shù)溢出(integer overflow)
無論是隨意的編程, 還是懶散的補(bǔ)丁安裝, 都可以給用戶帶來整數(shù)溢出安全缺陷, 而它正是最受黑客喜愛的入侵方法之一。 那么什么是整數(shù)溢出?它可以給黑客帶來什么好處?簡單的說, 數(shù)字溢出是一種軟件行為, 導(dǎo)致的原因是數(shù)字運(yùn)算的結(jié)果超出了系統(tǒng)所能處理的范圍。 安全專業(yè)廠商Coverity的C/C++和Java程序員Sumant Kowshik表示, “當(dāng)一個(gè)數(shù)字運(yùn)算得出了一個(gè)系統(tǒng)位寬無法存儲(chǔ)的大結(jié)果時(shí), 該結(jié)果會(huì)被截取, 會(huì)得到異常的結(jié)果值, 這個(gè)溢出的值可以被用來實(shí)現(xiàn)一個(gè)關(guān)鍵的操作, 諸如數(shù)組索引、內(nèi)存分配或內(nèi)存廢棄等。 ”這類行為不僅可以讓軟件崩潰, 而且還可以被黑客利用來訪問系統(tǒng)中的特權(quán)內(nèi)存內(nèi)容。

實(shí)際上, 所有這些安全缺陷都與數(shù)字運(yùn)算產(chǎn)生不可信賴、用戶可修改數(shù)值有關(guān), 潛在的溢出結(jié)果數(shù)據(jù)被用來作為進(jìn)行諸如內(nèi)存分配或緩沖區(qū)索引之類的關(guān)鍵操作。 Kowshik表示, “通過利用整數(shù)溢出來重寫任意存儲(chǔ)位置, 黑客能夠以超級(jí)用戶權(quán)限來運(yùn)行安全關(guān)鍵應(yīng)用, 在現(xiàn)實(shí)世界軟件中的整數(shù)溢出安全缺陷實(shí)例中, 攻擊者可以使用任意代碼的地址來覆蓋程序需要跳轉(zhuǎn)的地址。 ”以下整數(shù)溢出除了打印錯(cuò)誤值之外并不進(jìn)行任何操作, 因此該程序并不會(huì)造成破壞:
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í)候一個(gè)惡意用戶可以借助整數(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)成惡意軟件工具, 只需點(diǎn)擊幾下鼠標(biāo)就可以實(shí)現(xiàn)這種復(fù)雜的攻擊。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。