自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Cross-build注入攻擊:注意Web應(yīng)用程序源碼組件

安全
對于黑客的Cross-build注入攻擊,我們都知道黑客經(jīng)常查找Web應(yīng)用程序以發(fā)現(xiàn)其結(jié)構(gòu)或者操作漏洞。其中比較常見的一種方法是將代碼注入正在運(yùn)行的程序。

黑客攻防是我們必須了解的,對于Cross-build注入攻擊,我們都知道黑客經(jīng)常查找Web應(yīng)用程序以發(fā)現(xiàn)其結(jié)構(gòu)或者操作漏洞。比較常見的查找漏洞的一種方法,是將代碼注入正在運(yùn)行的程序,這個(gè)過程在SQL注入和跨站腳本中很常見。更復(fù)雜的注入方法是建立緩沖區(qū)溢出(buffer overflow),強(qiáng)行讓程序運(yùn)行攻擊者寫的代碼。

基于注入的攻擊已經(jīng)證明十分有效,它們可能訪問私人數(shù)據(jù)或者控制受感染的計(jì)算機(jī)。軟件供應(yīng)商不斷地努力修復(fù)這些導(dǎo)致攻擊成功的漏洞。但是如果程序在編譯或者創(chuàng)建時(shí)黑客就可能注入惡意代碼,又該怎么辦呢?某些編制程序的方法使應(yīng)用程序變得很容易受到一種叫做“cross-build注入”的攻擊。

利用編制過程

現(xiàn)在的軟件應(yīng)用程序非常復(fù)雜,往往由許多不同的組件組成。為了加快應(yīng)用程序的發(fā)展,開發(fā)人員都是結(jié)合已經(jīng)寫好的源代碼和第三方組件來編制大多數(shù)軟件。畢竟,既然可以很快找到程序部件,并能集成到應(yīng)用程序中,尤其是許多組件又是開放源代碼,可以通過GNU(通用公共授權(quán))免費(fèi)獲得,為什么還要花幾星期的時(shí)間重新開發(fā)程序部件呢?

為進(jìn)一步加速開發(fā)過程,簡化項(xiàng)目管理,以及減少軟件編制時(shí)間,現(xiàn)代的編譯程序允許開發(fā)人員在項(xiàng)目設(shè)置中引用依賴關(guān)系信息(dependency information)。依賴關(guān)系信息可以從適用的代碼庫里檢索預(yù)定組件,從而自動(dòng)編制應(yīng)用程序。例如,Maven是一種非常流行且廣泛使用的編制系統(tǒng),能夠處理依賴關(guān)系管理和多項(xiàng)目關(guān)系。Maven和Ant、Ivy等相似的小工具能幫助開發(fā)人員處理大量的代碼。這類管理會導(dǎo)致cross-build injection問題。

如果開發(fā)人員在編制過程中自動(dòng)檢索開放源碼組件等外部依賴文件,那么攻擊者就有機(jī)會通過感染第三方組件將代碼嵌入目標(biāo)程序。完成這個(gè)過程有兩種方法。

第一,攻擊者能感染裝有組件的服務(wù)器,并以惡意的復(fù)制文件替代組件。第二,惡意軟件編制人員能感染計(jì)算機(jī)的DNS服務(wù)器,將需求轉(zhuǎn)給由攻擊者控制的計(jì)算機(jī)。兩種方法都很有效,因?yàn)殚_發(fā)人員及其采用的工具不會懷疑他們所使用的代碼源及代碼的完整性。大多數(shù)互聯(lián)網(wǎng)用戶都知道不能打開來路不明的郵件附件,然而軟件開發(fā)人員經(jīng)常會下載一些代碼,集成到自己的應(yīng)用程序中,而不會審核代碼究竟對程序產(chǎn)生了什么影響。如果設(shè)置編制過程自動(dòng)從互聯(lián)網(wǎng)檢索代碼,這種方法的危險(xiǎn)也就擴(kuò)大了。

風(fēng)險(xiǎn)加大

用這種方法編制應(yīng)用程序的完整性取決于提供開放源碼組件的網(wǎng)站是否安全。應(yīng)用程序還依賴用于找尋程序的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。避免Cross-build注入攻擊最安全的方法就是不要采用合并依賴關(guān)系解決方案的自動(dòng)工具。如果這種方法不可行,那么開發(fā)團(tuán)隊(duì)就必須創(chuàng)建內(nèi)部代碼庫,制定需要嚴(yán)格執(zhí)行的策略,以控制新代碼或新組件加入代碼庫的過程。這些規(guī)則應(yīng)包括為保證代碼安全且合適所進(jìn)行的復(fù)審。為減輕DNS受到的攻擊,提供代碼庫的服務(wù)器應(yīng)該只提供IP地址。

如果cross-build 注入攻擊變得十分廣泛,它們就會逐漸破壞開放源碼運(yùn)動(dòng),而開放源碼軟件越來越得到認(rèn)可的現(xiàn)象也會受到影響。如果程序在編制的時(shí)候就受到感染,那產(chǎn)生的惡意行為將會毫無限制。從長遠(yuǎn)來看,我認(rèn)為數(shù)字簽名代碼和能檢驗(yàn)簽名的編制工具將會有更廣泛的用途,它們能保證代碼來自已知的出處,而且沒有經(jīng)過任何方式的篡改。

【編輯推薦】

  1. 雙重保護(hù)、立體防御--WEB安全新招數(shù)
  2. Web應(yīng)用防火墻安全大揭秘之“十誡” 下篇
  3. Web應(yīng)用防火墻安全大揭秘之“十誡” 上篇
  4. 高性能WEB開發(fā)之Web性能測試工具推薦
  5. 高性能WEB開發(fā)之HTTP服務(wù)器
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2017-08-09 17:09:47

2023-08-01 08:00:00

SQLWeb應(yīng)用安全

2010-12-15 17:22:59

2010-05-20 09:48:36

2011-03-22 14:12:17

LAMP

2010-02-01 14:05:03

2012-03-20 09:20:40

Go語言

2009-04-01 14:33:33

2009-07-09 16:47:26

Servlet的Web

2012-06-11 09:37:41

2013-08-08 09:48:10

Web

2018-03-10 07:39:06

2009-10-13 15:07:43

2010-03-09 13:27:23

Web 2.0應(yīng)用程序

2023-01-09 17:04:24

2013-11-19 15:35:01

2009-04-02 10:26:27

2018-08-23 09:16:22

2021-04-08 08:06:55

SAP應(yīng)用程序攻擊

2023-09-01 00:05:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號