專家質(zhì)疑程序員使用SQL注入功能
這種編碼方式是應(yīng)用程序運(yùn)行的關(guān)鍵。這個(gè)問題很普遍,以至于一些安全廠家,包括TippingPoint,他們的入侵防御系統(tǒng)(IPS)出廠時(shí)默認(rèn)關(guān)閉了SQL注入保護(hù)過濾功能,以避免導(dǎo)致應(yīng)用程序不能使用。
TippingPoint的DVlabs安全研究主任Rohit Dhamankar表示公司在全球的IPS蜜罐系統(tǒng)都發(fā)現(xiàn)利用一些Web應(yīng)用的SQL注入功能來進(jìn)行的SQL注入攻擊出現(xiàn)猛增。TippingPoint通過它的IPS過濾器捕捉攻擊企圖,進(jìn)而跟蹤全球性的威脅。它也匿名地跟蹤客戶如何配置他們的IPS。
有時(shí)編寫這些應(yīng)用程序的人并沒有意識到他們已經(jīng)無意中在應(yīng)用程序放置SQL注入作為一個(gè)功能。Dhamankar說。當(dāng)某個(gè)廣告公司利用一個(gè)漏洞,一個(gè)SQL注入來向它所有的公司分發(fā)報(bào)告時(shí),這一攻擊就出現(xiàn)了。
SANS協(xié)會(huì)在本周發(fā)布的《The Top Cyber Security Risks.》報(bào)告中聲稱,SQL注入和跨站點(diǎn)腳本攻擊是網(wǎng)上的兩個(gè)最大的問題。這些錯(cuò)誤也往往是最容易被公司忽視的。而美國史上最大的數(shù)據(jù)安全攻擊的黑客們使用的就是SQL注入方法。
開源和定制的程序中的WEB應(yīng)用程序漏洞,占被發(fā)現(xiàn)的漏洞的80%以上,SANS在報(bào)告提到。該研究細(xì)分了SQL注入錯(cuò)誤,像“使用SELECT SQL的SQL注入”“逃避使用字符串函數(shù)的SQL注入”和“使用布爾標(biāo)識的SQL注入”所有的錯(cuò)誤,都可以在有漏洞的應(yīng)用程序啟用之前,在軟件開發(fā)周期糾正。
Dhamankar說那些代碼沒有寫好的在線廣告,導(dǎo)致了那次紐約時(shí)報(bào)網(wǎng)站訪問者所遇到的問題。一旦漏洞暴露,攻擊者能在廣告中下毒,并把點(diǎn)擊它們的訪問者重定向到惡意網(wǎng)站上去。在那些站點(diǎn)里的自動(dòng)化腳本會(huì)檢查有缺陷的瀏覽器插件和其它沒打補(bǔ)丁的應(yīng)用程序,從而給攻擊者一個(gè)立足點(diǎn)來感染受害者的電腦。
紐約時(shí)報(bào)部分地使用了一個(gè)廣告分發(fā)網(wǎng)絡(luò)。前不久,一個(gè)獲批的廣告正常地顯示出來,但是攻擊者隨后將其替換為一個(gè)惡意廣告,它彈出一個(gè)警告窗口,聲稱用戶的電腦已經(jīng)被感染了,而且需要點(diǎn)擊鏈接來清除病毒。
這個(gè)問題整變得非常普遍,但專家稱,修復(fù)SQL注入錯(cuò)誤往往很困難,并且很昂貴。漏洞掃描能發(fā)現(xiàn)成千上萬個(gè)有SQL注入的錯(cuò)誤。
Dhamankar,在SANS協(xié)會(huì)會(huì)議上進(jìn)行報(bào)告的安全專家之一,稱合法的在線廣告附屬公司和其他公司可以使用IPS或WEB 應(yīng)用防火墻(WAPs)來停止這樣的攻擊,并且讓程序員為他們的錯(cuò)誤代碼負(fù)責(zé)。讓他們提高意識和進(jìn)行教育也應(yīng)該作為優(yōu)先事項(xiàng),Dhamankar在會(huì)后的一封email信息中寫道。
“如果開發(fā)部門確保其雇員經(jīng)過安全編程練習(xí)和課程,將能減少此類事件的發(fā)生,”他寫道?!霸诠緝?nèi)部或者通過第三方進(jìn)行應(yīng)用程序的安全測試是另一個(gè)好辦法,以確保web應(yīng)用程序的漏洞在投入生產(chǎn)之前能被發(fā)現(xiàn)。”
數(shù)據(jù)調(diào)查專家和SANS協(xié)會(huì)講師,Mandiant的Rob Lee說他的研究表明,黑客正在使用釣魚攻擊以及各種各樣的社會(huì)工程學(xué)技巧來欺騙用戶點(diǎn)擊惡意鏈接。但是三分之一的攻擊專門使用SQL注入,針對有公開網(wǎng)站的金融機(jī)構(gòu)和零售商,他說。
他們通過面向公眾的網(wǎng)站侵入,以獲得對在后端的信用卡數(shù)據(jù)的訪問能力。Lee說。“這有點(diǎn)像破門入室的盜竊,不過他們要找的是信用卡數(shù)據(jù)?!?
沒有一個(gè)銀子彈能保護(hù)組織免受攻擊,InGuardians公司的創(chuàng)始人兼高級安全顧問Ed Skoudis說。一旦惡意代碼通過SQL注入或其他方式嵌入進(jìn)網(wǎng)站,然后受害者就會(huì)把惡意內(nèi)容帶入到他們公司內(nèi)部的機(jī)器上,而這臺機(jī)器上的客戶端軟件沒有完全打好補(bǔ)丁。
這需要更深入的防御,Skoudis說。敏感數(shù)據(jù)不存儲在客戶機(jī)上,最終用戶是否感染就無關(guān)緊要——安全專家不能陷入這樣的思維。
“一旦壞人攻破了一個(gè)客戶機(jī),而在目標(biāo)環(huán)境有了立錐之地,他不會(huì)到此為止,”Skoudis說?!翱蛻魴C(jī)被攻破之后,攻擊者會(huì)對公司展開大面積攻擊……然后摸到內(nèi)部網(wǎng)絡(luò)服務(wù)器,這時(shí)候你就被全面攻破了。