從程式碼著手 強化應用安全才是王道

開放網站應用程式安全計畫(OWASP)非營利組織所揭露的弱點,每隔三年發布的十大最關鍵的風險報告,向來是網頁應用程式防火牆(WAF)設計發展防禦措施,以及產業界制定安全規範的參考準則。近年來因應殭屍電腦(Bot)攻擊流量增長、終端用戶應用模式的改變,在OWASP風險報告中也開始納入自動化威脅(Automated Threat),以及行動App存在封裝檔案保護不足(Lack of Binary Protection)問題,提醒企業盡早擬定因應措施。

ForceShield亞太區銷售副總裁Eric Hsu指出,現代犯罪者在挑選攻擊目標時,勢必會經過一番研究與評估,以確保有限的攻擊資源得以發揮最大效益。最常見的作法即是透過機器人,以自動化方式掃描全球網站。因此OWASP開始定義自動化威脅(Automated Threat),其代表的意義,即表示自動化威脅數量愈來愈多,才會被OWASP新增定義指出威脅手法,例如盜刷卡(Carding)、Credential Cracking(大陸稱為「撞庫」)等,後者是利用已掌握的帳號與密碼資料庫,去網站嘗試登入。

以動態變更程式碼 反制自動化攻擊

以往熟知的暴力破解是採用字典攻擊,幾乎所有防禦機制皆可辨識與攔阻,現在則是利用假的Wi-Fi熱點(Hotspot)來蒐集帳號與密碼,待資料庫累計一定數量後即可撰寫自動執行程式,連線到Facebook、Google等網站嘗試登入,如此過濾篩選確認為有效的帳號與密碼資料,再透過地下經濟販售。

攻擊手法已翻新,防禦措施也必須隨之精進,尤其是對外提供服務的應用系統。Eric Hsu說明,針對應用層的防禦機制,通常必須結合工作流程,才能夠保護網站。也就是說,必須要遵循網站流程,例如網路銀行,需經過圖形認證登入,之後再輸入實體Token產生的一次性密碼,需要好幾個步驟,惡意人士可能就會攔截攻擊,為了保障網站安全,防火牆就必須依照工作流程配置保護措施。

然而現在網站改版的頻率相當快,一旦前端網站工作流程變更,應用防火牆也必須隨之調整,Eric Hsu觀察,為了避免麻煩,也有銀行業乾脆停用WAF中提供的白名單機制,畢竟多數企業的應用開發與IT維運通常分屬不同團隊,因此常發生應用系統變更後,其他的防禦配置或環境設定來不及跟上,造成應用服務出現問題。

當然,資安領域會持續鑽研設計新技術來協助客戶因應,Eric Hsu即指出,ForceShield基於反向代理(Reverse Proxy)架構的網站安全防護(Application Security Proxy)軟體,內建自主研發動態程式碼安全保護機制,即可用來規避新型態未知型攻擊,讓攻擊者無從下手最終放棄。該機制包含動態亂碼(Dynamic Morphism)與動態信譽評等(Dynamic Reputation),部署在網站與存取端之間,當用戶透過瀏覽器存取網站之前,ForceShield會先行取得網頁資訊,並予以「加工」後再回傳至用戶端。

所謂的加工,Eric Hsu說明,首先是網頁程式碼中屬於欄位的資訊皆予以加密;其次是用戶端每次的Request都會產生一組新的Token,且嵌入該網頁中;最後再寫入動態辨識碼,並且封裝後遞送給用戶。「在封裝過程中會嵌入經由加密演算產生數值,作為兩地端驗證依據,以確認網頁程式未被竄改。畢竟現在中間人攻擊(Man-in-the-Middle Attack)相當常見,此機制即可用來避免封包被攔截、竄改後再導向目的位址。」


▲ForceShield研發推出反向代理架構的網站安全防護軟體,內建Dynamic Morphism機制,以動態加密、封裝、驗證等方式保護原始程式,確保傳輸資訊安全性。(資料來源:ForceShield)

App版本更新頻率 反組譯威脅不容忽視

不論是線上服務、行動化應用環境,建立多層式防禦已是必要措施。只是隨著資訊科技快速地發展,傳統應用模式正逐步轉變,例如銀行業正在推動的Fintech,當提供的業務管道(Channel)變得更多元後,欲確保應用安全性,叡揚資訊資安業務處處長范家禎認為,必須回歸根本,從開發階段著手,不管撰寫的程式碼是運行於Web或Mobile環境,皆必須具備安全開發的知識,才能有效降低安全漏洞帶來的危機。

「國內銀行業常見採以WAF防護,主要特性是無法解決根本問題,僅能針對已知的弱點配置保護措施。由於應用服務的種類不同,習慣採用的程式語言、商業邏輯也各異,因此WAF只能針對普遍性問題設計控管政策,否則可能會發生誤判,進而影響線上服務正常運行。面對攻擊手法轉趨精緻化,欲增添對應的阻擋措施,又需許多調校時間。與其要耗費很多時間、人力調校,倒不如從根本上解決。」范家禎指出。當然,除非既有應用服務架構為高度複雜度的環境下,無法從程式碼優化調整著手,即適用WAF協助抵擋。

但是,撰寫程式碼的開發人員普遍欠缺資安概念,可說是目前較大的挑戰。范家禎指出,可經由教育訓練補強,不論是透過叡揚資訊開設的課程、或公司內部的線上學習平台,先建立開發者對於安全性的認知;同時搭配Code Review輔助確認,例如採以Checkmarx提供的白箱檢測,分析比對程式碼本身是否存在安全漏洞,並評估安全漏洞的嚴重等級、原因說明,以及修改方式,既能及時發現漏洞,開發者也可藉此學習安全漏洞的成因。

在應用服務上線後,直接面對攻擊威脅,網頁應用程式還可於服務前端建置WAF協助抵擋;若為App上架讓用戶下載安裝於行動裝置,即便是程式碼安全無虞,仍無法避免面臨被反組譯的風險,惡意人士得以透過免費工具或破解教學,以反組譯工程(Reverse Engineering)技術,幾乎可還原回到設計階段的架構,如此一來,即可掌握App運行邏輯,因而暴露程式碼設計的安全政策;甚至,程式碼本身不具備安全機制,即可能因此被模仿、竄改,或利用來夾帶惡意程式。

因此對於App的自我保密性、完整性防護,需要謹慎地考量,正是叡揚資訊代理的Arxan可協助之處,運用混淆(Obfuscation)與加密抵抗反組譯、Checksum偵測竄改行為等機制,讓App本身得以具備靜態與動態的自我保護。即可解決OWASP於行動應用風險報告中,提及的封裝檔案保護不足問題。

「叡揚資訊成立至今皆專注於軟體領域,除了代理產品以外,也有自主研發應用程式。而我們資安部門職責是提供合適的工具,尤其是在應用程式安全方面,從初期的教育訓練,到工具的部署建置、整合配置,皆可協助客戶,即便在版本更新頻率相當高的狀況下,仍可保障應用程式安全。」范家禎說。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!