圖片來源: 

周峻佑攝

網站開發者在製作網站時,很可能只是基於便於維護等考量,無意留下了駭客可用來滲透的漏洞,在1月23日於富邦國際會議中心舉辦的自動化維運與資訊安全趨勢研討會中,詮睿科技資安顧問陳昱崇(Zero)特別以攻擊者與網站開發者思維的差異,提醒企業必須重視網站安全。

陳昱崇指出,無論駭客攻擊網站的目的為何,不論是為了牟利,還是竊取同業的商業機密,他們下手找出可以入侵網站的角度,往往來自於網站可能潛藏的弱點。他以電子購物網站的功能為例,網站的會員功能,在駭客眼中是能夠取得網站管理權限的途徑,購物車可能曝露網站的商業邏輯漏洞,至於搜尋功能,則有機會進行跨網站腳本攻擊(XSS)。而針對手機上網用戶的行動版網頁,也可能存在了行動裝置App的弱點,或是API存取機制的問題等。陳昱崇說,這些極為常見、企業與使用者也視為理所當然的電子商務平臺功能,在攻擊者的觀點看來,則是有機會找出下手弱點的地方。

電商網站上常見的功能,在駭客的角度看來,都是可能用來發動攻擊的地方。

資料庫注入漏洞仍是最頻繁的攻擊手段

根據OWASP在2013年與2017年歸納的前10大網站攻擊手法,陳昱崇指出,雖然2017年時多了XML外部實體注入(XML External Entity Injection,XXE)等新項目,但資料庫的注入(SQL Injection)攻擊手法在兩次統計之中,都是位居榜首,因此,截至目前為止,這種攻擊方式還是相當常見。

OSWAP彙整出的網站攻擊前10大手法中,最近兩次的整理先後在2013年與2017年推出,後者的排行裡,雖然出現新的手法,但大部分仍延續前一次的項目,尤其是SQL資料庫的注入(Injection)攻擊,依舊是2017年最為嚴重的網站威脅。

陳昱崇也引用了資料庫注入攻擊的經典漫畫--故事的主角被打針之後,回到家竟發現桌子不見了,然後才想起來他剛剛受到了資料庫注入(SQL Injection)攻擊。桌子消失意指駭客在發動注入攻擊之後,會移除資料庫的資料表(Dropping Table),導致資料庫所有者再也無法取得其中內容。

不過,資料庫注入攻擊難道真的只能用來盜取企業網站的資料嗎?有些人會想到,微軟SQL Server 2008開始,預設將xp_cmdshell關閉,理論上網站搭配具備這種管制政策的資料庫,應該安全性就可以得到改善。然而,陳昱崇說,若是網站採用的是SA帳號存取資料庫,或是駭客取得企業AD環境裡的管理者權限,便可直接重新開啟相關功能,從網站上的漏洞,注入像是中國菜刀等一行指令,將後門置入,將網站作為滲透企業內部網路的跳板。

陳昱崇以他工作檢測到客戶的網站為例,該企業發現疑似個資外洩的情況,便懷疑客服系統出現異常,經陳昱崇檢查之後,發現其中部分欄位沒有做到正規化,一旦攻擊者注入指令,就能得知該公司使用者的名單,甚至是內部網路路由的規畫等等。陳昱崇說,駭客可將整個資料庫複製出來,假若取得的權限夠大,也能夠植入各式的作案工具。

跨網站腳本攻擊可變相應用

另一個相當常聽到的網站攻擊方式,是跨網站腳本攻擊,就手法的原理而言,它主要是針對前端的使用者,讓使用者看到駭客竄改後的內容,並非實際滲透到網站伺服器。陳昱崇舉出總統府網站曾經遭到相關攻擊的事件,攻擊者在網頁加上了iFrame,使得使用者會在該網站上,看到前總統馬英九和執政團隊跳韓國流行歌曲Sorry, Sorry的影片,就是採用這種手法。

跨網站腳本攻擊的應用,不只能竄改網頁內容,攻擊者也可以植入惡意軟體,使得瀏覽者存取後,電腦就中毒。但陳昱崇說,駭客能運用的方式,遠遠超過只是在網頁上加料,例如,某個網站以使用者電腦上載入的JavaScript,過濾所填寫個資的內容,駭客可利用額外架設的代理伺服器(Proxy),在封包送出之前,才做修改,便能繞過上述的檢測機制,填寫任意的內容,進而截取Cookie,用來對網站管理者發動網路釣魚攻擊,一旦成功,駭客就可能得以取得網站後臺的管理權限。陳昱崇強調,這樣的複合攻擊手法,一般的網站弱點檢測難以找出相關的漏洞。

設計瑕疵也會變成企業網站疏於防範的弱點

除了常見的攻擊手法,陳昱崇認為,網站開發者基於日後維護和除錯等考量,可能因此留下了駭客可利用的管道,像是許多電商網站以使用者與行動電話號碼綁定,做為用戶實名制的措施,這種做法中,使用者註冊一個帳號之後,網站就以簡訊寄送驗證碼,確認該行動電話是使用者所有。

網站開發者雖然想要透過手機簡訊一次性的動態密碼(OTP),進而做到會員的實名制。但陳昱崇說,有的開發者為了除錯方便,竟在回應網頁程式碼裡,埋入驗證碼內容,以為不會有人會看,駭客一旦發現就能隨意註冊大量的人頭帳號。

但是,有的網站開發者為了除錯,竟將驗證碼留存在用戶驗證的網頁程式碼中,也認為不會有人會刻意去看網頁的原始碼,攻擊者一旦留意到開發者保留的驗證碼,就能任意註冊帳號,使得這個網站的用戶實名化形同虛設,進而濫用。

此外,陳昱崇指出,開發者也可能相當倚賴各式的防護機制,例如SSL流量加密,但駭客也可能見招拆招,以上述的保護機制而言,攻擊者很可能能夠利用已經取得Root權限的Android手機,進而移除相關憑證,發動中間人攻擊(MITM)。網站開發者很可能認為,使用者執行我所提供的App,與Web的互動性有所不同,功能受前端限制,而且後端處於隱匿狀態,應該沒有安全疑慮;然而攻擊者則試圖找出不需經過驗證機制的API,以便竊取資料,甚至他們發現,有些公司的API能直接在Google上搜尋得到(Google Hacking)。

有些企業為求方便,還會大開不必要網站的權限或是功能,使之成為對駭客友善的(Hacker Friendly)弱點,陳昱崇說,這就好像是網站開發者幫駭客開發了用來攻擊自己的工具。

保護必須依據網站進行妥善配置

面對各式的網站威脅,企業可能會用網頁應用程式防火牆(WAF),防範各式網路第7層的攻擊,而基本上,這類防護機制能夠保護網站各種技術上的弱點,像是資料庫注入等缺陷,甚至普遍能遮蓋信用卡等機敏資料,減少資料外洩的風險。不過,陳昱崇說,WAF功能上的局限性,則是部分商業流程上的設計瑕疵,由於往往是設計給使用者的正常功能,難以藉此防範。

另外一個常見的現象,則是許多的IT人員部署了WAF之後,就可能以為高枕無憂,陳昱崇表示,事實上大多數的WAF設備,預設並未完全開啟符合企業網站要求的功能,因此他認為,妥善的政策設定非常重要,這類設備才能真實發揮保護的能力。

熱門新聞

Advertisement