|
|
| ESPN衛視體育台在Google中的連結,被加註危險警告,雖排序第一,但使用者可比較其他網址的安全性,會影響瀏覽意願。 |
囿於經費,網站安全優先度往往低於營運內容,企業多認為網站安全很重要卻非必要,導致臺灣的網站安全千瘡百孔。以前你可以因為沒能力顧及而不在意,但現在不行,因為Google開始列管惡意網站,阻止使用者直接瀏覽,未來這甚至是個趨勢。企業若未顧及網站安全,將嚴重危及搜尋引擎導引的流量。
小心,惡意程式就在你身邊
隨著依賴網路程度日深,舉凡生活上食衣住行育樂,如上網查詢時間、比較價格、訂購商品、掌握資訊等等,都有機會經過「被入侵」的網站。
勤勞使用者可降低風險,但關鍵仍是企業安全控管
惡意網站只是企業網站被入侵的後果,早在檢測為惡意網站之前,企業伺服器早已受到破壞者入侵,勤勞的使用者雖可鍛鍊自身防禦力,來抵抗惡意攻擊,但修復問題來源的企業網站,才是治本之道。
Google列管危險網站,安全風險評價攤在用戶眼前
Google將企業網站安全風險直接攤在使用者眼前,迫使企業必須將網站安全視同網路頻寬的基礎架構要求,即使只是少數網址安全有問題,也將造成整個網站流量與商譽的損失。
最快速、有效的iFrame治標解法
對於缺乏技術人員持續修補漏洞的網站而言,防禦iFrame攻擊最快速、低成本的治標解法,就是網頁回復工具,它可以在網頁異動後立即回復原始網頁,而長久之計則可從6大解決方案下手。
提升網站程式開發安全的6大訣竅
我們所介紹的6種訣竅,常常是網站開發時常見的問題,如能多留意,對於提升網站應用程式的安全性將有所助益。
2007年網頁安全漏洞TOP 10 |
| 1. 跨站腳本攻擊(XSS) |
| 2. (資料庫)惡意指令攻擊 |
| 3. 惡意檔案載入執行 |
| 4. 不安全的檔案直接讀取 |
| 5. 合法夾帶惡意HTTP指令(CSRF) |
| 6. 錯誤訊息洩漏敏感資料 |
| 7. 網站身份驗證的缺陷 |
| 8. 不安全的加密資訊保存 |
| 9. 不安全的通訊 |
| 10. 網頁權限管控失敗 |
| 資料來源:OWASP臺灣分會 |
知名體育新聞台ESPN衛視體育台今年多次遭入侵植入惡意連結。截至截稿前ESPN衛視體育台仍被Google標示為惡意網站,阻止熱愛王建民的球迷透過Google直接連結。雖然McAfee的SiteAdvisor檢查顯示,ESPN上的惡意網頁均已修復,不會危及使用者安全。但越晚移除惡意標誌,造成的商譽影響就越大。
臺灣有越來越多網站也面臨網站入侵的問題,以及被搜尋引擎列管的壓力。據知名資訊安全部落格「大砲開講」的資料顯示,至少有3家臺灣知名電視台的網站曾遭植入惡意連結,以及許多知名企業服務,例如多家金融、旅遊、醫療、出版、食品、藝文活動售票系統等網站都曾遭入侵,甚至連國立大學資訊工程系所或資訊實驗室網站也曾淪陷。
網頁資安研究曾獲微軟學者獎的阿碼科技執行長黃耀文表示:「對企業網站而言,使用頻率越高,安全問題也越多。」
企業越多服務放上網路,同樣也增加伺服器暴露在入侵者攻擊的窗口。一般來說,網站中的惡意連結其實是企業網站被入侵的結果。攻擊者透過各種手法秘密入侵企業提供服務的伺服器,修改企業對外的網頁,並植入問題連結或惡意程式,當顧客打開網頁時,就會自動下載這個惡意程式。
惡意程式可能只是在使用者的瀏覽器中暗藏一些廣告追蹤程式,也可能是準備要竊取使用者的帳號、密碼。更甚者,只是靜靜潛伏著,等待半年一年後,攻擊者下達指令時,受惡意程式感染的電腦,成為攻擊其他網站的殭屍電腦(Zombie)。資安業者表示臺灣春節前後,不時傳出企業遭到網站勒索的案例,如不付款,勒索者宣稱將動員數十萬臺已遭入侵的殭屍電腦,如擠兌銀行般癱瘓企業服務的伺服器。不論個人或企業,其實都面臨惡意程式的威脅。
小心,惡意程式就在你身邊
令人擔憂的不僅是惡意網站驟增的數量,更值得注意的是惡意網站所遍佈的網站類型也日漸增多。不同於過去,網頁安全問題多半集中於少數高風險類型的網站,瀏覽例如下載盜版軟體、分享盜版音樂等網站才容易中毒,一般大眾不見得經常接觸這類網站,因此也就不易面臨這類風險。
隨著依賴網路程度日深,舉凡生活上食衣住行育樂,如上網查詢時間、比較價格、訂購商品、掌握資訊等等,都有機會經過「被入侵」的網站。一旦使用者的個人電腦抵抗力也不佳時,如防護軟體辨識能力不足、或操作系統的安全漏洞未更新等,就會感染惡意程式。生活網路化的時代,任何人隨時都可能進入高風險的感染雷區,甚至還不自覺。
簡單地說,過去電腦病毒就像是愛滋病毒,可能需從事特殊活動或出現特定地點,才面臨感染的高風險。現在的惡意程式,如同流行性感冒,只要出現在一般生活中的公共場所,就有感染的危險。過去只有提供「特殊服務」的娛樂網站才容易發生問題,現在提供日常生活資訊的企業網站,也往往成為惡意程式感染的溫床。
若以公共場所比喻這些公開提供服務的網站。惡意程式,就像是流行性感冒病毒。感冒病毒是無法百分之百消除,不但會一波一波出現,還會引起大規模的流行感染。公共場所總會有感染病毒的顧客光臨,病毒也會不斷變種,無法一次永久解決病毒的存在。只有定期清掃與垃圾清除,做好自身的衛生控管,保持一定衛生品質,才能避免染病,進而傳染危害更多顧客。
雖然顧客可能因為抵抗力不佳而發病,但多數人還是將染病的責任,責難公共場所的衛生安全。而遭媒體公開點名的商店,營收往往大受影響。
網站安全凸顯出企業技術與管理的問題
對多數企業網站而言,網站遭入侵的後果,對使用者的影響大過對企業的影響。除少數商譽敏感業者如金融業以外,除非問題嚴重到網站停擺或無法提供服務,否則企業難以直接感受到網站安全問題的嚴重性。實際上,不少企業對網站入侵也感到束手無策,只能採取最低標準,維持網站基本營運就好,無力顧及對使用者的危害。
企業束手無策的原因不單是技術不足,還包括管理的侷限。網站遭入侵的管道多來自兩大類,系統漏洞與網頁內容問題。系統漏洞維護,看似只是企業日常的基本維護,但對系統維護人員而言,解決無法執行的優先度,遠高於系統漏洞的更新。總認為一段時間後,再來一起更新就好。但入侵工具的發達,使得攻擊者可以輕易運用工具針對系統新漏洞自動攻擊,管理者稍有遲疑,可能就被攻擊者捷足先登,入侵成功。
有些企業則是因為核心網路服務過於重要,而不敢輕易進行更新。擔心更新後反而造成更大的相容問題或不穩定。因此形成一種弔詭,越重要的網站反而越脆弱,必須尋求外部的保護,例如購買上百萬的應用伺服器,從外面檔掉各種攻擊入侵。
少數網站維護人員則因刻板印象而採取消極的心態,認為本身技術能力,一定比不過高超的駭客,必須找到最厲害的技術高手來協助,因此而疏忽或放棄更積極的維護網站安全。但事實上,網路攻擊99%都是套裝攻擊軟體的入侵,鮮少會遇到技術高超的駭客,能夠一層層破掉伺服器的保護。套裝攻擊軟體,實際上主要是對已知漏洞進行攻擊,網站管理員只要能做好必須的安全更新,多數都能抵禦攻擊。但預設的消極心態造成網站防禦能力的不足。
臺灣軟體開發外包方式影響網站後續安全問題。臺灣軟體委外契約,多採一次性專案,維護費用經常遠低於開發費用。供應商對維護費用所涵蓋的服務,僅能提供基本系統更新與備份,鮮少涵蓋新安全漏洞影響的預防與修補,或提供新增程式碼問題的修補。遇到網站入侵時,囿於人力和時間,多採取直接還原網站內容,而無法重新檢視程式碼或檢測系統,造成網站漏洞依舊,一再被入侵。
網站程式碼的設計漏洞,是今年大幅上升的威脅攻擊。阿碼科技執行長黃耀文表示:「開發人員不見得擅長撰寫安全的程式碼,加上臺灣開發時程經常壓縮最後的測試和修補時間,造成網站安全問題和程式碼錯誤無法避免。」他強調:「網站安全越早開始整備,成本越低,最好網站開發一開始就考量網站安全,才能減少錯誤修補的時間成本,也降低被入侵的風險。」但他也表示目前遇到的企業客戶,多數是網站發生問題後才來求援。勤勞使用者可降低風險,但關鍵仍是企業安全控管
身處高風險網路資訊時代,對使用者而言,如同流行性感冒的預防一般,只要身體健康,抵抗力充足就不用擔心病毒感染。平時能即時更新安全漏洞,定期執行掃毒程式檢查電腦檔案,避免瀏覽高危險的網頁。目前已有少數新版本的瀏覽器程式、搜尋引擎或者部分資訊安全廠商,開始提供惡意網站的檢查和警告機制,安裝這類工具或透過這些工具先對打算瀏覽的網頁,進行檢查,確保要前往的網路空間無毒。
如同飯前常洗手是杜絕感冒病毒傳染的好方法,區分敏感網頁的操作與一般網頁瀏覽也是一種預防方式。瀏覽重要網頁,或是需透過網頁進行機密敏感資訊的操作時,例如登入網路銀行或報稅系統之前,先關閉瀏覽器再開啟網址,避免先前瀏覽網頁指令的影響。或是清除過去網站的瀏覽暫存檔,快速執行防護軟體掃瞄系統記憶體等。即便使用者剛瀏覽過惡意網站,也能透過這些動作使惡意網站私藏的間諜程式或指令失效。
惡意網站只是企業網站被入侵的後果,早在檢測為惡意網站之前,企業伺服器早已受到破壞者入侵,待其掠奪完重要資料後,最後才會露出馬腳留下惡意程式。勤勞的使用者雖可鍛鍊自身防禦力,來抵抗惡意攻擊,但修復問題來源的企業網站,才是治本之道。過去使用者不易分辨攻擊來源,難以歸咎企業的責任,企業也能以使用者不當使用來卸責。但越來越多的惡意攻擊警告機制,提供使用者指證企業的缺失,迫使企業必須正視使用者安全問題,否則網站流量將受到影響。Google的新服務:惡意網站警告,對企業而言,正是其中一股新的安全壓力來源。
雪上加霜新風險:搜尋排名加註危險警告
根據Google線上安全網站最新資料顯示,截至5月21日,已檢測1千2百萬個可疑連結,約1百萬個網頁連結判定為會產生路過下載(Drive-by-download)惡意程式的行為。Google已將惡意網站的偵測結果反映在搜尋處理中,不少臺灣常見網站也因為被視為惡意網站,即使具優先的檢索排名,使用者仍無法直接點選瀏覽。
現已有不少工具具備惡意網頁的提醒功能,如IE瀏覽器、Yahoo!工具列、McAfee的SiteAdvisor或多數防毒軟體等均有阻止惡意程式或警告使用者的功能。但Google不同的是,直接將網站安全警告顯示於搜尋結果上。對一般網路使用者而言,透過搜尋引擎提供惡意網站的警告訊息,企業網站安全度,將直接揭露在顧客的螢幕上,效果相當直接。顧客透過Google查詢相關服務的企業網站,問題網址與安全網址同時並列,企業在搜尋引擎中的排名越高,反而使網頁安全問題越快被顧客看見,直接影響顧客瀏覽的意願和難度。企業對搜尋排名投資,例如關鍵字購買,網頁程式搜尋最佳化等,都可能因安全問題反而成為一種負面宣傳。
Google採取連坐法,凡網站內多數或主要連結被判定為惡意連結,整個網站都會視為惡意網站,因而無法於搜尋結果中直接連結。將迫使企業不僅需查核自行產生的內容,還需仔細檢查使用者貢獻的每一筆資訊,廣告商串連的每一則廣告,或每一行協力廠商提供的程式碼。新興訂閱服務「推推王」執行長邱繼弘表示:「安全問題一直都在,Web2.0增加伺服器對外的窗口,安全問題浮上臺面。」強調使用者貢獻和連結串連的Web 2.0精神,面臨更高的安全風險。稍有疏忽,幾個危險連結,可能會造成整個企業網站在搜尋引擎中的噤聲與負面形象,企業被迫從使用者角度考量網站整體安全。
企業網站與套裝軟體不同,往往是專殊化的功能設計,安全漏洞與所需的防護修補方式也不盡相同,不易有一套通用的安全解決方案,原碼自動檢測工具雖能減少人力負擔,但過多漏洞,判別漏洞的安全風險需經驗。壓力滲透測試雖然誤判率低,但不容易發現網站的所有問題。企業需要全面考量所面臨的安全風險,再依據不同階段的需求,從開發、上線到維運,網站服務重要性與經營成本,考量影響安全風險的關鍵,精打細算選擇針對性的解決方案,因應日益沈重的網站安全風險。文⊙王宏仁Google列管危險網站,安全風險評價攤在用戶眼前
根據Google線上安全部落格最新資料,截至5月21日,Google安全小組已檢測1千2百萬個可疑連結,其中約1百萬個網頁連結判定為會產生路過下載(Drive-by-download)惡意程式的行為。惡意網頁的偵測結果,現已經反映在Google搜尋處理中,不少臺灣常見網站也因為被視為惡意網站,儘管具優先的檢索排名,使用者卻無法直接點選瀏覽。
Google安全小組發布惡意網站分析報告說明Google的判定方法。主要從已索引(2006/3/21至2007/3/21止)的數十億網頁連結中,以簡單啟發式演算法(Simple heuristics)選出其中450萬個有效網址進行深度分析,在虛擬環境中執行IE瀏覽器,透過自動程式瀏覽這些網址,監控虛擬環境的系統變動如所有檔案與註冊碼的異動,來找出有問題的網址。
採連坐原則判定,納入第三方連結內容的影響
Google採路過下載的惡意程式判定原則,指在追蹤網址的瀏覽過程中,若可不需使用者同意,仍會自動下載或執行惡意程式,Google就會將此連結判定為惡意連結。另外也考慮網址生命週期,存在時間超過一週的惡意連結,才被Google視為是有效惡意連結。Google判定方式具有連坐效應。在一個網站中,除網站企業主所提供的內容外,還可能包括使用者貢獻的內容、第三方串連廣告以及其他來源所提供的網頁內嵌小工具(Widget)。
依據瀏覽結果判定的優點是,不需進行網頁內容程式碼的判讀,分析速度較快,涵蓋面也較完整,貼近使用者實際瀏覽時的狀況。即使惡意程式經過編碼,難以直接辨識,但會產生惡意程式下載時,也會被偵測出來。
連坐效應進一步還運用在Google搜尋結果中。Google以網站為基礎,當網站中多數網址或主要網址均遭判定為惡意連結時,以此網站會被判定為惡意網站,於搜尋結果中,所有該網站的相關連結都將被加上惡意網站的警告標示,同時也限制使用者直接開啟這些連結。
Google將企業網站安全風險直接攤在使用者眼前
這就是所謂的Google網站安全警告服務:直接於搜尋結果中,針對已被檢測出惡意程式的網站,會於網址下方,直接標示惡意網頁的警告,提醒檢索的使用者避免進入該網頁,甚至會阻止使用者直接點選搜尋結果清單中的連結。使用者若想瀏覽該網址,需自行於將網址複製到瀏覽器網址列中執行,才能進行瀏覽。對使用者而言,企業網址若未能通過Google的安全檢測,即使出現在搜尋結果清單中,瀏覽便利性也大幅降低,等同降低使用者對該企業網站的使用意願。
過去這類被入侵的網站案例,多流傳於網路安全的特定幾個技術論壇或部落格中,臺灣少數資深安全技術網站的站長也定期彙整出高風險網站清單,例如「大砲開講」部落格站長邱春樹,他經常彙整各方發現受害網站,建立網站黑名單並定期追蹤修復情形。一方面提醒網友避開危險網頁,同時希望提醒網站企業主修復網站。這些高風險網站名單,僅流傳於少數技術社群,或原本已具高防護力的網路使用者。除少數機敏性資訊服務的企業體,例如金融業,會慎重因應與處理相關網站安全漏洞外,對多數網站的企業主而言,不見得能直接感受到網站入侵的殺傷力與安全修正的迫切性。甚至質疑社群的偵測結果。
企業需面對金融資訊等級的安全期待
Google對惡意網站的警告,不僅是宣示企業網站的安全風險,還將原本專屬於特定服務網站中,高機密敏感資訊的安全風險,複製到每一個被貼上惡意網站標籤的網頁。對使用者而言,是否瀏覽這個被宣告具惡意程式的企業服務,不僅考慮該服務內容的敏感性,還需擔憂是否會因瀏覽這個惡意網頁,而導致個人資料、信用卡資料、銀行帳號密碼等敏感資料的外洩。
比如說,當使用者透過搜尋引擎查詢電視節目表時,若發現該節目表網頁遭入侵,成為惡意網頁,使用者就會面臨抉擇,是否願意冒著洩漏個人信用卡資料的風險,來查詢待會要看的電視節目名稱,若相同功能但安全的連結一起並列,使用者會打開哪個連結,結果顯而易見。
過去使用者無法得知企業網站的安全程度,往往不易喚起使用者潛在的安全顧慮。Google將風險的關連性顯現使用者的瀏覽器畫面中,使用者檢視連結的同時,自然會察覺到安全上的顧慮,進而評估選擇的後果。也就是說,企業網站不論內容為何,都將受到使用者高規格的安全標準,甚至會被視為與個人隱私資料或金融資料同等價值的資訊。企業將面臨新的挑戰,以本身的服務內容,來規畫網站的安全設計,已不能滿足使用者,更需從使用者經驗過的最高資訊安全規格審視自身網站。
惡意網站警告及時性不足,解除費時恐有爭議
趨勢科技技術顧問戴燊肯定Google的做法,他認為這將使企業主動面對網站資安問題。但他表示:「惡意網站警告的及時性是關鍵,能否迅速發現,達到警告使用者的效果。或者企業移除惡意程式後,能否迅速解除,維護企業網站的商譽,配套措施必須完整才不易引起爭議。」
目前Google辨別惡意網站的速度,平均每天可處理30萬個可疑連結,存在超過一週的惡意網址,才納入警告範圍。以Google數十億網頁索引量,短期內恐難以及時發現惡意網站。
目前市面上亦有不少防護工具,可提供惡意網頁警告機制,如IE瀏覽器、Yahoo!工具列、McAfee的SiteAdvisor或多數防毒軟體等。但採取與Google不同的做法,多數針對使用者所瀏覽的單一網頁進行檢查,當出現路過下載惡意程式的行為時,會提醒使用者危險,同時拒絕連結。Google採連坐管制方式,可能會導致過多連結不易瀏覽,引起使用者反彈,擴大了惡意連結的影響效果。
對Google誤判或已修復的網站,網站主需自行申請第三方機構複查,結果送Google後,才能移除警告標示。申請程序未提供中文版,企業主恐怕不易於短時間內立即解除狀況,商譽受損時間恐會比惡意程式實際影響維持更久。短期可能會引發網站企業主對網站安全檢測評鑑以及相關安全防禦機制的需求。企業主不得不越來越重視上線前安全檢查、平時維運的安全監控與防護機制,避免遭入侵後耗時解決引起的損失。文⊙王宏仁
|
企業網站不安全,透過Google無法直接瀏覽 |
| Google分析ESPN衛視體育台中至少有5個惡意網址,截至截稿前,ESPN衛視體育台網址下1050個相關連結均被標示為惡意網站,包括2003年的新聞連結。使用者欲瀏覽這1050個網址,必須自行於網址列手動鍵入網址,嚴重影響透過Google查詢的使用者上站意願。ESPN衛視體育台修補漏洞後,需自行向StopBadware機構申請網址複查,Google收到StopBadware複查結果通過後,才會將警告移除。
|
![]() 企業主可要求StopBadware複檢Google分析的結果。Google不提供網站主直接回應的要求,而是提供網站主向第三方獨立機構StopBadware申請複檢的機制。 |
最快速、有效的iFrame治標解法
當網站成為駭客熱愛的攻擊的目標,也成為散播惡意程式的跳板,企業蒙受的風險與損失隨之擴大,也會讓網站使用者受到波及。
目前Google開始在搜尋結果中加入提醒字串,標示受駭的網站,對企業而言,更可能因此流失用戶。
如何在這波「網駭/害」烽火中生存,最重要的是必須正視問題的嚴重性,在網站開發與維運階段提升安全意識。另外,也可藉由導入自動化工具的方法提升安全性,如果資安預算有限,至少找出企業能負荷的安全防護底線,保障企業網站與用戶的安全。
治標:監控網頁異動,立即回復
駭客有許多攻下網站的手法,但以修改網頁進行偷渡惡意程式的手法而言,最終必須修改網頁才能達到目的,因此監控網頁便是IT人員可以應變駭客攻擊的方法。
駭客修改網頁時,對於檔案的大小、網頁的最後修改時間都會造成影響,因此IT人員可以自行撰寫程式,比對網站最近一次修改檔案的大小或日期和線上檔案是否一致,一旦有出入,就代表有異常,這時就可以進一步檢視檔案是否有不明的iframe或JavaScript語法指向外部網站,藉此判定是否已經遭到駭客攻擊。萬一遭到攻擊的話,則必須先做好證據保存的動作,再將網站復原成未入侵前的狀態。
市面上有針對網站的監控與復原動作提供自動化解決方案的產品,這類產品通常能做到即時化的監控與通報機制,當網站遭到竄改時,立即復原成原先頁面,就能阻擋在網頁中植入程式碼的攻擊方式,入侵的記錄也會保留住。網頁監控與復原產品通常也能保護檔案伺服器上的檔案,如果駭客企圖刪除或更改文件時,系統便會即時復原。
這類產品的價格通常在數萬元到十幾萬元,以資安的產品而言相對較低,對於規模較小的企業較能負擔,但它能做便是保持網頁不被竄改更動,乍看之下成功的抵擋目前這波新興的駭客攻擊手法,然而它終究只是治標之道。
雖然駭客不能竄改網頁內容,但畢竟已經登堂入室,取得修改網頁的權限,這意味著駭客也能將資料帶走,或者不使用修改網頁程式碼的方式,繞道透過SQL Injection的攻擊手法,將資料庫中的內容帶走。
因此不論企業自行撰寫程式或採用自動化產品來監控與復原網頁,都必須明白它的限制在於提供消極的解法,只保護住網頁,但駭客進攻的漏洞沒有找出來修補,攻擊仍會發生。
|
解析iFrame攻擊手法 |
| 對駭客而言,如何讓使用者毫無警覺,下載惡意程式到使用者的電腦,才能達到駭客之後的目的,例如竊取帳號、密碼或植入傀儡程式。
利用HTML語法中的iframe語法,即是一個極常見的手法。iframe設計的目的,是讓設計人員能在網頁中嵌入頁框,而頁框中可以載入另一個頁面,透過這種方式可以設計出更為彈性的網頁功能。 但iframe到駭客手中,就有了不一樣的玩法。只要在iframe屬性將寬與高設定為「0」時,被呼叫的頁面一樣會執行,但不會顯示在網頁上。這種宛如替網頁穿上隱身衣的作法,就會在使用者瀏覽被駭網站時,神不知鬼不覺地執行藏在隱身頁面中的語法。 由於iframe手法太過盛行,而且具有明顯的辨識特徵,於是就有變種的方式出現,利用JavaScript語法改寫呼叫手法,再混進網頁原有JavaScript中,增加發掘的難度。 一般而言,瀏覽器如果設定適當的安全性等級,惡意程式在下載或執行時會出現警告訊息,但如果駭客利用安全漏洞,就有機會在不用任何詢問下安裝惡意程式。 比起自行偽造網站容易被人識破,駭客會挑選流量大或知名網站作為散播的源頭,成功率較高。駭客會嘗試由各種可能的管道入侵,例如網頁應用程式本身的缺陷或是未更新的漏洞。Google強大的搜尋能力,更是助長駭客能取得更多沒有作好設定的網站,透過一些關鍵字往往能查出系統資訊或可能的弱點,而讓駭客可以取得修改網頁的權限。 因此當企業發現網站被植入惡意程式時,已經是駭客攻擊手段的最後階段,它只是表面上最容易發現的跡象,事實上,系統或網站應用程式必然存在漏洞,讓駭客得以順藤摸瓜,進而修改網頁。文⊙黃天賜 |
治本:從開發階段就打下健康體質
駭客進攻的暗道可能來自系統,也可能來自網頁應用程式,而近年來系統與網路的資安產品已經成熟,防禦效果通常不錯,企業也多半導入防火牆、IDS/IPS產品,對駭客而言,進攻相對較難,因此網頁應用程式就更容易成了覬覦的對象。
SQL Injection、Cross Site Scripting與網站釣魚一直是網頁應用程式遭到入侵的熱門手法,而這些威脅,通常在網站程式開發過程中就已經種下的惡果。因此如果在開發過程中,程式開發人員能提高安全意識,就能在源頭杜絕安全漏洞。
不過就現實的情況而言,程式開發人員可能缺乏安全意識或相關知識,或者系統上線時間緊迫,只能著重功能是否正常運作,以便如期上線,而忽略安全方面的強化。也因此像程式碼掃描這類工具原本是協助開發人員在上線前,找出程式的錯誤,但往往卻是網站發現被駭之後,才急忙找來這類的解決方案亡羊補牢。
要確保網頁應用程式的安全,除了提高網站開發人員的安全意識與知識,企業也必須將程式安全檢測納入開發周期中,雖然開發周期會因此延長,卻可減少日後因為網站被駭而蒙受實質與形象上的損失要來得划算。
如果企業網站的應用程式採外包的方式,在驗收之前,除了功能、效能這類的檢測之外,也要要求進行如滲透測試,以確保系統上線之前是安全可靠的。另外原始碼掃描也是可行的方式。底下針對開發周期,能提高應用程式安全性的解決方案作簡要介紹,藉此了解各個解決方案的適用性。
弱點掃描
網頁應用程式遭到竄改與攻擊,除了從應用程式本身下手之外,從作業系統到網頁伺服器等,都是可能攻陷的目標,因此隨時保持系統沒有安全性漏洞,才能讓駭客無機可趁。
不過教IT人員隨時注意不同系統的弱點,下載更新檔、檢視相容性、進行更新等動作,往往難以追上層出不窮的漏洞,也因此,透過自動化工具或是外包給資安廠商進行檢測工作,是比較可行的作法。
補住漏洞是種縮小打擊面的方式,在套裝軟體、系統上成效不錯,定期進行弱點掃描可以降低駭客攻擊。然而面對高比例客製化的網站應用程式,弱點掃描就無能為力。但守住這個基本面,至少能降低利用弱點攻擊的手法。
滲透測試
要防止駭客入侵網頁應用程式,有時就必須用駭客的思維來進行檢測,而滲透測試(Penetration Test)便是在這樣概念下進行,利用駭客攻擊手法來測試網頁應用程式是否能安然通過。由於它是在不知道程式內部的情況下進行,因此又稱之為黑箱測試。
滲透測試是由外部進行測試,因此無論是網站是用什麼程式語言寫成都不影響測試過程。而且對於常見的攻擊手段也能對證下藥,找到的漏洞通常就是駭客的攻擊目標。不過滲透測試仰賴已知的攻擊手法,因此不見得能摸清應用程式的漏洞,進而產生漏報的情形。
此外,滲透測試只負責抓漏洞,卻沒辦法指出程式碼相應的弱點在哪,因此需要有經驗的開發人員或廠商才能正確修補,對經驗不足的開發人員,往往需要耗費不少時間在程式碼間穿梭。
因此滲透測試適合的階段,是在系統上線之前,作為檢驗網頁應用程式的體質,確保它能抵禦常見的攻擊弱點。
程式碼檢測
程式碼檢測又稱為白箱測試,它是透過自動化的程式碼分析工具,檢查程式碼撰寫有無安全上的疑慮。
這類工具適合將它與網頁應用程式開發流程結合在一起,在開發初期即可利用檢測工具分析問題點,對於網站程式開發人員而言,同時也能訓練他們寫出安全的程式碼。此外,如果企業的網站程式是委外開發,在驗收時如果也能進行白箱測試,既可防止安全漏洞出現,也可降低日後爭議。
程式碼檢測由於能從程式碼去追出安全問題,因此能夠正確找出潛在的風險,然而卻也可能找出過多的問題,甚至是連駭客也不可能發掘的攻擊點。理論上打造滴水不漏的應用程式聽起來相當美好,然而修改程式的時間與人力成本有可能遠超過企業預估,因此這類程式應該要有適當威脅程式分類及修改程式的建議,讓開發人員可以視實際的狀況修正程式,將風險最高的問題修改掉,才能在上線與安全之間取得平衡。
企業在選購程式碼檢測工具時,首要選擇在於是否支援網站應用程式的語言,因為它針對程式碼進行分析,對語言有針對性。另外這類自動化工具通常價格不低,較適合大型網站。
網頁應用程式防火牆有助防禦,但成本高
無論是程式碼檢測、滲透測試或掃描,這些理當在應用程式上線前進行,但往往在網站被直搗黃龍之後,企業才急急想到要找合適的解決方案,而這時透過上述的一些方法雖然管用,但時間往往緩不濟急,因為必須找出問題後,還必須修改有問題的程式碼,才能解決困境。如果企業想要立即收效的解決方案,網頁應用程式防火牆通常是最切合這種情境的解法。
網頁應用程式防火牆顧名思義,是如同防火牆一般,設置在應用程式之前,要存取應用程式之前,都先透過它進行分析與過濾,一旦確認這個存取動作是正常合法的,才會放行。這個應用層的檢查機制,可以阻擋SQL Injection或是輸入查驗攻擊、跨站攻擊的方式,因此即使在應用程式不修改的情況下,它也能做好把關的動作,確認80埠進來的動作是合法、安全的。此外,架設網頁應用程式防火牆可以在不調整網路架構下進行,因此可以快速上線。在安裝設定上也可以透過自動學習機制,分析統計網站的存取模式,再依此歸納出所需的規則, 就基本功能而言,IT人員不需要經過長時間的學習,就能使用。
聽起來網頁應用程式防火牆彷彿就是網站安全的救星了,如果單就功能面來考量,也許可以成立,然而昂貴的成本,卻是它往往讓人怯步的原因。網頁應用程式防火牆的價位是從百萬起跳,而且為了確保網站安全沒有空窗期,通常必須採用容錯移轉與負載平衡的機制,因此檯面上的建制費用也可能高達千萬元,這麼高昂的費用,能負擔得起的網站其實就相當有限。
因此企業如果要導入應用程式防火牆作為網站安全解決方案,第一個會遇到的當然是成本考量,企業網站是否值得這樣的資安投資。其次,與應用程式防火牆的效能與設定的規則有關,如何有效制定防制規則,又能降低對網站效能的影響,這也是企業選購時必須注意的地方,一旦對效能影響太嚴重,即使是安全的網站,也會招來使用者的不滿。最後必須提醒的是,沒有任何資安產品能夠保證百分之百的安全,以投資這個「高貴」的解決方案,結果又達不到預期的效果,就形成無謂的浪費。因此在導入之前,先做好網站安全的需求評估與分析,並進行滲透測試等機制,確保應用程式防火牆能達到預期的效果。
網站防駭戰鼓方興,從源頭防治才能根絕
網頁防駭是一場方興未艾的戰爭,對企業而言,層出不窮的攻擊手法,除了對企業實體資產、企業形象乃至交易造成困擾之外,因為不當的網頁應用程式讓駭客有機可趁,而對使用者造成損失時,使用者會不會反過頭來向企業求償,更可能造成企業的傷害。
要杜絕這些危害,正本清源之道仍在網站應用程式開發上,寫出安全的程式,就能降低資安的風險。因此程式開發人員應加強資安的意識,程式不只要能運作,還要能安全的運作,而這也有賴企業加強在開發人員上的投資。
當網站被駭頻傳的今日,要維持一個可靠、安全的網站,成本上逐節攀升,不但對新興一波網路創業潮形成不利的環境,對於預算有限的中小型企業也會形成阻礙,這還有賴資安廠商進一步發展在成本上更為適當的解決方案,才能協助企業獲取網站帶來的效益。文⊙黃天賜
六大解決方案比較表 |
|||
| 功用 | 優點 | 缺點 | |
| 弱點掃描 | 找出套裝應用程式、系統的安全漏洞 | ‧ 減少駭客入侵管道 ‧ 維持系統更新品質 |
‧無法掃除客製化網頁應用程式的漏洞 |
| 滲透測試 | 模擬駭客手法,找出網頁應用程式的弱點 | ‧ 發現的漏洞都是確實存在的問題 | ‧ 無法找出所有問題點 ‧ 知道問題點,但對如何修改程式碼幫助有限 |
| 程式碼檢測 | 從網頁應用程式碼進行分析,找出所有問題點 | ‧ 能發掘出絕大多數的漏洞 ‧ 可以協助程式碼修改 |
‧ 找出的漏洞,不見是實務上需要修改的問題 ‧ 有程式開發語言的限制 ‧ 成本較高 |
| 網頁回復工具 | 監控網頁異動與自動回復網頁 | ‧ 確保網頁不被竄改 ‧ 成本低 |
‧ 只能保持網頁正常,無法防堵駭客進攻漏洞 |
| 網頁應用程式防火牆 | 透過分析機制,阻擋來自80埠的攻擊 | ‧ 能阻擋針對網頁應用程式的攻擊手法 ‧ 具自動學習功能,設定容易 ‧ 導入快 |
‧ 成本高 ‧ 有可能影響網頁應用程式效能 |
| 提升安全意識與知識 | 解決網站營運各環節的安全威脅 | ‧從根本提升網站開發與營運的安全 ‧降低購置資安產品的成本 ‧靈活應變不同問題 |
‧收效漫,無法解決眼前問題 |
提升網站程式開發安全的6大訣竅
提升網站的安全性,有時只要在網站開發過程中多留意,或者多了解一些駭客常用的手法,就能降低網站被駭的機率。底下我們將介紹6種訣竅,常常是網站開發時常見的問題,如能多留意,對於提升網站應用程式的安全性將有所助益。
1.前後、端都要檢查使用者輸入
許多程式開發人員喜歡用JavaScript來檢查使用者輸入的內容,雖然透過正規表達能檢視出一些不正常的語法,然而如果駭客將頁面儲回自己的電腦,或是透過JavaScript語法修改DOM,就能移除掉這些檢查機制。
因此前端做過的檢查工作,丟給後端程式之前,仍必須查驗一遍,千萬不要以為前端做過檢查,就可以放行。
2.過濾使用者輸入內容
目前網站安全最常見的問題,莫過於SQL Injection和XSS攻擊手法,而這兩個攻擊的源頭,都來自於沒有妥善過濾由使用者傳來的資料,除了輸入資料之外,包含cookie、參數都可能成為駭客利用的工具。
這些攻擊手法都包含一些特定字元,像是「'」、「`」、「 "」、「 <」、「 >」、「 %xx」、「\0xx」等,因此在任何使用者可以傳遞字元的地方,都要設下檢查的機制,過濾資料中是否包含這些特殊字元,將特殊字元進行轉化,例如將「'」轉換成「'」或「<」轉換成「<」。
3.妥善處理錯誤訊息
有許多程式開發人員對於錯誤處理不夠細心,導致腳本語法或資料庫發生錯誤時,直接讓錯誤碼呈現在瀏覽器,錯誤資訊對一般的使用者沒什麼意義,但往往會給駭客帶來許多參考價值。
4.檢查上傳內容
由於Web 2.0帶來的強調分享機制,因此也越來越多網站允許使用者上傳資料。然而駭客有可能在上傳的檔名上動手腳,如果不加以檢查,就有可能執行對網站有所危害的腳本程式。
5.敏感資訊要妥善處理
有些檔案該刪就刪,例如一些應用程式的安裝腳本不要留在系統上,帳號等相關的敏感資料一定要設在防止搜尋引擎索引、快取的資料夾,或設定相關的防索引語法。
6.將密碼以編碼方式儲進資料庫
密碼不要採用明碼的方式儲進資料庫,透過像是md5的方式進行編碼,讓敏感資訊可以受到更好的保障。
熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12




