輕鬆 3 步驟,著手維護應用程式安全

By 2019-09-16電子報專刊
  • 簡介
  • 建立彈性而全方位的應用程式安全程式
  • 3 個步驟輕鬆上手

確保應用程式安全無虞不一定非得進行繁瑣的程序。
只要擁有正確的程式和工具,您就能提升貴組織的
安全水準,而不影響開發人員的生產力。

想想您在組織中每天使用哪些應用程式:電子郵件、瀏覽器、商務應用程式,以及辦公室生產工具,像是 Google 應用程式和 Microsoft Office。和客戶與合作夥伴溝通時,公司愈來愈仰賴行動和 Web 應用程式。新型商務應用程式的快速交付需求不斷成長,而開發團隊在努力跟上腳步的同時,卻往往忽略了安全。


Fortify 的軟體安全研究團隊發現,80% 的 Web 應用程式至少含有一個重大或是高危險性的弱點。根據 2017 年的 Verizon 資料外洩調查報告 (DBIR) 指出,相較前一年,Web 應用程式更常遭到攻擊。在所報告的外洩案例中,一半以上有個人資料遭入侵的情形。因為公司網站上的應用程式弱點,而造成大量資料外洩的情事可說是屢見不鮮。這些外洩案例會影響數以百萬計的消費者,犯罪者將能存取敏感資料,包括社會安全號碼、出生日期、地址,以及駕照號碼。

造成外洩案例的主因是應用程式層級遭受攻擊,這並不讓人意外。因為開發極其競爭且受速度驅使,安全往往被視為次要考量,導致軟體當中無意造成的缺陷或弱點增加。透過入侵應用程式中的缺陷,網路犯罪者就能進入系統,盜走敏感資料。除此之外,許多組織仍持續錯誤地認為,其周圍的安全佈陣,例如 Web 應用程式防火牆 (WAF) 與安全網路閘道,即足以防範網路攻擊。但事實上,就算築了較高的牆,仍不足以保護您的「珍寶」,也就是您的應用程式和敏感資料。您需要應用程式安全程式,以確保您的 Web 和行動應用程式安全無虞。

建立彈性而全方位的應用程式安全程式

有時候,建立一套應用程式安全程式,看來似乎是困難重重的一件事。而對有些人來說,更是令人卻步,不知從何著手。但其實起頭要比您想像中容易。

在討論如何建立一套程式前,我們應先瞭解應用程式安全所指為何。應用程式安全 (AppSec) 包含了您必須採取以提升您應用程式安全的措施,也就是要能識別、矯正,並預防軟體弱點。

有兩種重要的方式能為應用程式提供保障:靜態應用程式安全測試 (SAST),以及動態應用程式安全測試 (DAST)。

靜態應用程式安全測試 (SAST)

SAST 又稱為白箱測試,通常作為編碼查核的一部分來執行,且應整合至軟體開發生命週期 (SDLC) 中。使用 SAST 時,您可掃描來源代碼以找出是否有已知的弱點型態,方便開發人員剔除安全缺陷。請務必確認您在考慮的 SAST 解決方案是否為各種程式語言和工具提供支援,例如 PHP、C# 和 Java;IDE 包含 Eclipse 和 Visual Studio;以及構建伺服器包含 Ant、Maven和 Gradle 等,以便符合您的開發流程。Web 和行動應用程式經常使用協力廠商開放原始碼元件,而該元件有可能不安全且過
時,因此 SAST 解決方案應能分析協力廠商元件。SAST 能在開發生命週期及早即消弭弱點,這點極其受用。

動態應用程式安全測試 (DAST)

DAST 又稱為黑箱測試,能在部署應用程式前的上線前環境中,在執行的應用程式中識別弱點。使用 DAST 時,應用程式會受到即時的模擬攻擊,以找出攻擊者可能入侵的缺陷。其會透過HTTP 和 HTTPs 探索並測試 Web 應用程式與服務。DAST 並不需要任何知識,或是對來源代碼或二進位的存取權限。DAST 評估使用駭客可能用來滲透應用程式安全的攻擊類型,對於找出伺服器組態錯誤以及輸入/輸出驗證問題等廣泛缺陷相當實用。

根據 2017 年的 DBIR 指出,相較前一年,Web 應用程式更常遭到攻擊。在所報告的外洩案例中,一半以上有個人資料遭入侵的情形。

DAST 工具可在網路搜尋應用程式,識別出甚至連您也不知道其存在的應用程式,例如舊版行銷頁面,或是陰影 IT 與開發應用程式,並針對這些應用程式進行測試以識別弱點。此程序能協助安全團隊隨時掌握所有應用程式,迅速識別並矯正弱點,贏得先機。

提供 SAST 和/或 DAST 的解決方案必須既快速又有彈性,足以跟上您持續整合 (CI) 或開發實務的腳步 (例如 Agile 和 DevOps),同時又能提供含最少誤報和漏報的結果。此外,若貴組織有合規要求 (包含 PCI DSS 和 HIPAA),或想遵循 OWASP Top 10 的標準,您應確保您所選擇的解決方案能夠根據這些要求進行弱點評估。

SAST 或 DAST?您該選擇何者?

決定要採用靜態或動態分析測試,取決於貴組織的要求。來源代碼或靜態分析能為軟體開發人員針對其代碼提供意見回饋,甚至即時給予指導;而動態分析則能為您的安全團隊搶得先機,在執行的應用程式中找出可入侵的弱點。

在大部分的情況下,發展成熟的機構兩者都會執行。靜態與動態攜手合作,針對應用程式層級的攻擊,提供您最佳防護。人們往往偏好選擇可同時提供兩種測試方法的技術。如此一來,在從設計到交付的過程中,只需透過單一全方位檢視,就能掌握您應用程式的安全。

雲端 vs 內部部署安全解決方案

在程式建立過程中的某個時機點,您將須考量要用內部部署SAST 和 DAST 工具,還是透過雲端服務來執行評估。使用雲端服務則不需現場實作,應用程式安全提供者會管理您的評估作業。若使用內部部署工具,則由貴組織的安全團隊於內部維護並管理程序。當今許多組織偏好使用雲端服務,但也有部分堅持使用內部部署工具或是兩者並用。無論您選擇何種方式,都應該與貴組織的業務目標相符。

確保應用程式安全無虞不一定非得進行繁瑣的程序。只要擁有正確的程式和工具,您就能提升貴組織的安全態勢,卻不影響開發人員的生產力。

3 個步驟輕鬆上手

第 1 步:瞭解當前情勢

請先花點時間,瞭解當前情勢為何、主要參與者有誰,而他們的目標和動機又是什麼。例如,開發團隊是否有使用應用程式安全程式?請花時間在組織中您最不熟悉其運作的部門,以便知道在決策程序中應如何將其納入。識別視您業務而定的安全要求。貴組織是否必須符合 PCI DSS、NIST 或 HIPAA 等要求?業務驅動因素可能源自於產業合規義務或內部政策,而您的應用程式安全程式應與其相符。採用以風險為基礎的方式,識別最高風險區,並緩和該風險。瞭解當前情勢後,您便能回答如下的問題:

■ 您最關鍵的 Web 和行動應用程式為何?
■ 我的組織目前使用哪些安全工具和服務?
■ 在軟體開發生命週期中,安全位於何處?
■ 我們應該執行何種評估類型?

為簡化程序,您可以從進行自我評估測試著手,其設計旨在讓您瞭解您應用程式安全程式的狀態,並提供您改善建議。

第 2 步:從小處著手,立即開始

對於大部分的組織而言,開始建立應用程式安全程式之際,所遇到的最大阻礙在於不知道如何開始,因而停滯不前。最簡單的起頭方式,就是挑一個貴組織的 Web 應用程式,並對其執行評估。您可使用 Fortify on Demand 免費試用版進行評估,它能協助您快速識別任何潛在弱點,並查看掃描結果與您剛進行的自我評估是否相符。

將您的應用程式進行試用掃描,可讓您在彈指之間即可得知結果,並對該應用程式的狀態有所瞭解,並且知道您的程式該如何繼續進行。

第 3 步:衡量成效,規劃下一步

應用程式測試完成後,您可重新考量您的自我評估,並修改專案需求。使用試用時所蒐集的報告,與其他利害關係者共享評估時的發現。您可透過管理儀表板溝通相關測量標準,或依據嚴重性進行篩選,及快速顯示識別的關鍵弱點,甚至向下探鑽至實際的程式碼行並予以矯正及提供建議和範例代碼。

這項資訊不但有助您在識別弱點上迅速搶得先機,還能為您的計畫制定階段以擴充程式並保護您所有的應用程式。

結語

如近期網路攻擊所示,應用程式遭受攻擊的程度前所未見,而其中至少一半以上的攻擊有敏感資料遭入侵的情形。在 Web 和行動應用程式上找到的弱點為數驚人,組織勢必應準備好自我防衛。對於您的深度防禦策略,乃至提升貴組織的安全態勢,一套彈性而全方位的應用程式安全程式 (包含 SAST 與 DAST,且能滿足您的業務與開發程序所需) 是不可或缺的重要關鍵。

如需更多資訊,請瀏覽:www.microfocus.com/appsecurity