雲端運算的普及為企業帶來便利的同時,也衍生出新的安全挑戰。過去仰賴內部基礎設施的安全防護措施,在雲端環境中需要重新評估與調整。資料洩露、憑證竊取、不當存取等風險,都可能對企業造成重大損失。因此,理解不同雲端服務模式的特性與安全責任劃分,並採取多層次安全防護策略,是確保雲端環境安全的關鍵。

雲端運算的崛起與安全挑戰

雲端運算的趨勢在近年來迅速增強,並且沒有顯示出放緩的跡象。各組織正在將其基礎設施,包括關鍵任務系統,從直接控制中轉移至由雲端服務提供商(CSP)交付和支援的平台。當我們考慮到在雲端處理和儲存的資料價值時,這種轉變在不久前似乎是不可能或至少是非常不可能的。

雲端運算的優勢

在過去的幾十年中,我們圍繞基礎設施建立了保護牆,以防止未經授權的人員存取我們的寶貴資料和智慧財產權。然而,現在我們將這些資產大量遷移到我們幾乎無法直接控制的系統上。雲端運算提供了什麼價值,使其值得承擔如此多的風險?它為我們提供了結構和成本上的靈活性。

早期網際網路的挑戰

在網際網路的早期,一家公司的網址出現在電視廣告中可能會導致網站因流量過大而當機。那時,流量被導向公司內部資料中心(或協作櫃)中的公司託管網頁伺服器。公司可以提前準備額外的網頁伺服器來應對這些峰值。然而,這些伺服器和託管它們的流量仍然是公司的責任和所有權。這些伺服器將是實體伺服器,具有實體成本,包括硬體和建置、除錯人員的成本。

雲端運算的演進

隨著使用者需要在遠離辦公室的地方存取關鍵計算服務,雲端運算的另一個優勢開始顯現。歷史上,組織實施了各種遠端存取機制,使員工能夠存取基礎設施內的系統。最初,這些是根據電話的撥號連線,直接連線到公司網路。後來,這些連線被移到虛擬私人網路(VPN)上。許多人記得在早期的網際網路路由器上透過撥號連線設定VPN的挑戰。當網路位址轉換(NAT)出現並變得普遍時,這個過程變得更加困難,因為需要適當地路由流量。

當前的雲端服務

如今,我們有多種雲端服務型別,按需交付,通常採用隨用隨付或消耗模式。這種模式消除了許多早期解決規模和靈活性問題所需的資本支出。許多這些服務可以透過應用程式介面(API)交付和控制,從而實作高度自動化。例如,當網站流量過多時,可以啟動額外的網頁伺服器例項,並在需求減少時關閉它們。

特權存取的重要性

正如“介紹”中所述,特權存取在雲端運算的所有方面都發揮著關鍵作用,從設定和管理雲端運算服務的管理員到使用API來適應環境需求的流程。每個階段都有特權存取,為惡意行為者提供了破壞營運、竊取寶貴資料或兩者的機會。這發生在修補漏洞以防止被利用的持續競爭之上。

雲端服務的安全責任

隨著我們繼續將營運遷移到雲端,意識到我們在保護這些解決方案方面的責任變得越來越重要。是的,每個提供商都有責任提供一個安全可靠的平台供您使用,但毫無疑問,這是他們的責任終點。如何使用該平台並確保您組織的使用是安全的,仍然完全是您的責任。為此,不同的使用雲端的方式將幫助您制定策略,以安全地防禦威脅。讓我們對一些更常見的雲端服務進行一次高階別的概覽。

軟體即服務(SaaS)

對於許多人來說,軟體即服務(SaaS)是雲端運算成為新事物的開始,而不僅僅是別人電腦的概念。這是一種模式,其中服務提供商託管一個或多個應用程式,並使其可供使用者在訂閱基礎上使用,通常從雲端託管的位置(或多個位置)。這是與舊的商業現成(COTS)方法相比的一種正規化轉變,在COTS中,軟體是透過永久許可證購買的,由組織自己安裝和執行在本地。與雲端服務唯一相似之處是支援和維護契約,該契約提供持續的更新、升級和執行軟體的故障修復支援。

SaaS與COTS的區別

SaaS不應與根據訂閱許可證但由購買者託管的軟體混淆,無論是在其自己的基礎設施內還是在租用的第三方基礎設施中。透過SaaS提供的應用程式通常(但並非唯一)使用網頁瀏覽器存取,儘管它們也可以是根據服務的,以託管分散式技術,如終端使用者資產上的代理,而無需VPN或類別似技術。

內容解密:

此段落說明瞭SaaS與傳統COTS軟體的不同之處,以及SaaS如何改變了軟體的使用和佈署方式。關鍵點包括SaaS的訂閱模式、雲端託管、以及與COTS在許可證和託管方面的區別。這些變化對組織在軟體使用、成本和安全性方面都有著深遠的影響。

雲端服務模型比較

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 雲端服務模型比較

rectangle "本地安裝" as node1
rectangle "雲端託管" as node2
rectangle "虛擬化資源" as node3
rectangle "開發平台" as node4
rectangle "維護成本高" as node5
rectangle "降低成本" as node6
rectangle "資源彈性" as node7
rectangle "開發效率高" as node8

node1 --> node2
node2 --> node3
node3 --> node4
node4 --> node5
node5 --> node6
node6 --> node7
node7 --> node8

@enduml

此圖示說明瞭不同雲端服務模型之間的比較,包括傳統COTS、SaaS、IaaS和PaaS。它們各自在佈署方式、成本結構和管理複雜度方面有不同的特點。

此圖表呈現了各種雲端運算服務模型的比較,包括傳統COTS軟體、SaaS、IaaS和PaaS。每種模型都有其特定的特點和優缺點,例如本地安裝與雲端託管、維護成本、靈活性等。這有助於讀者更好地理解不同雲端服務之間的差異及其適用場景。

雲端運算服務模式的安全考量

雲端運算提供了多種服務模式,包括軟體即服務(SaaS)、平台即服務(PaaS)和基礎設施即服務(IaaS)。每種模式都有其特定的安全考量和責任劃分。

軟體即服務(SaaS)

SaaS 提供完整的軟體應用程式,讓使用者可以透過網路存取所需的服務。現代企業廣泛使用 SaaS 解決方案,例如 Office 365、Salesforce 和 SAP S/4HANA Cloud 等。根據 McAfee 2019 年的雲端採用和風險報告,平均每個組織使用了近 2,000 個不同的雲端服務。

選擇合適的 SaaS 供應商對於企業的安全至關重要。除了考慮成本和功能外,還需要關注供應商的資安實踐和潛在的攻擊向量。SaaS 應用程式通常是多租戶架構,即單一例項服務多個客戶,同時保持客戶間的資料隔離。

SaaS 安全風險

  1. 憑證洩露:憑證洩露是 SaaS 應用程式最常見的攻擊向量,無論是使用者介面還是底層 API 都可能受到影響。
  2. 密碼管理:弱密碼和錯誤的許可權組態可能導致重大安全風險。使用商業化的特權帳戶和會話管理(PASM)解決方案可以自動生成複雜密碼,降低憑證洩露的風險。

平台即服務(PaaS)

PaaS 提供了一個平台,讓使用者可以開發、執行和管理自己的應用程式,而無需管理底層基礎設施。PaaS 可以包括受管理的伺服器、容器化平台和無伺服器環境。

PaaS 安全責任

  1. 安全責任共擔:PaaS 的安全責任通常在服務提供者和使用者之間分享。使用者需要負責應用程式和容器的安全,而提供者負責平台的安全。
  2. 漏洞管理:PaaS 環境中的應用程式和容器函式庫需要定期評估和修補漏洞,以防止被攻擊。

基礎設施即服務(IaaS)

IaaS 提供虛擬化的運算資源,如虛擬機器、儲存和網路裝置,使用者可以透過 API 組態和管理這些資源。

IaaS 安全考量

  1. 安全責任劃分:使用者需要了解自己在使用 IaaS 資源時所承擔的安全責任,包括虛擬機器的安全管理。
  2. 組態管理:使用者需要正確組態 IaaS 資源的安全設定,以防止未授權的存取。
圖示說明

此圖示展示了不同雲端服務模式下的安全責任劃分。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title IaaS 安全考量

rectangle "應用程式安全" as node1
rectangle "使用者憑證" as node2
rectangle "平台安全" as node3
rectangle "基礎設施安全" as node4
rectangle "資源組態安全" as node5

node1 --> node2
node2 --> node3
node3 --> node4
node4 --> node5

@enduml

此圖示清晰地展示了 SaaS、PaaS 和 IaaS 三種雲端服務模式下的安全責任劃分,有助於理解不同模式下的安全考量。

安全最佳實踐

  1. 定期評估和修補漏洞:無論是在 SaaS、PaaS 還是在 IaaS 環境中,定期評估和修補漏洞都是非常重要的。
  2. 使用強大的身份驗證和存取控制:實施多因素身份驗證和使用特權帳戶管理解決方案,以降低憑證洩露的風險。
  3. 明確安全責任:與雲端服務提供商明確安全責任劃分,並確保相關的安全措施得到落實。

透過採取這些最佳實踐,企業可以在享受雲端運算帶來的好處的同時,有效地管理和降低相關的安全風險。

雲端運算服務的安全挑戰

雲端運算已成為現代企業不可或缺的一部分,各種「X即服務」(XaaS)模式的出現,更是大大簡化了企業的營運模式與成本結構。然而,這些服務也帶來了新的安全挑戰。

基礎設施即服務(IaaS)的安全責任

在使用IaaS時,企業必須承擔與本地佈署系統相同的責任,確保系統的安全性和更新維護。否則,一旦出現漏洞,將會被惡意攻擊者利用,造成嚴重後果。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 基礎設施即服務(IaaS)的安全責任

rectangle "管理" as node1
rectangle "安全責任" as node2
rectangle "更新維護" as node3

node1 --> node2
node2 --> node3

@enduml

內容解密:

此圖示說明瞭在IaaS模式下,使用者需要自行承擔安全責任並進行更新維護。使用者直接管理IaaS服務,並且需要確保服務的安全性。

函式即服務(FaaS)的抽象化與安全風險

FaaS,也稱為無伺服器運算,是一種極度抽象化的雲端運算模式。開發者只需專注於撰寫程式碼,而無需關心基礎設施的維護。然而,這種模式也帶來了新的安全風險,例如函式間資料傳遞的安全性和靜態資料儲存的安全性。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 函式即服務(FaaS)的抽象化與安全風險

rectangle "撰寫程式碼" as node1
rectangle "動態資源分配" as node2
rectangle "結果儲存" as node3

node1 --> node2
node2 --> node3

@enduml

內容解密:

此圖示展示了FaaS的工作流程。開發者撰寫程式碼並佈署到FaaS平台,平台根據需求動態分配資源執行程式碼,並將結果儲存到資料函式庫中。這種模式雖然方便,但也需要特別注意資料傳遞和儲存的安全性。

資料函式庫即服務(DBaaS)的安全挑戰

DBaaS提供了一種方便的資料函式倉管理服務,客戶可以透過服務介面建立和管理資料函式庫,而無需關心底層的基礎設施。然而,這種模式也使得資料函式庫伺服器暴露在網際網路上,增加了被攻擊的風險。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 資料函式庫即服務(DBaaS)的安全挑戰

rectangle "建立資料函式庫" as node1
rectangle "管理" as node2
rectangle "暴露在網際網路" as node3

node1 --> node2
node2 --> node3

@enduml

內容解密:

此圖示說明瞭DBaaS的工作原理。客戶透過DBaaS服務建立和管理資料函式庫,而資料函式庫伺服器由服務提供商託管並暴露在網際網路上,這使得資料函式庫伺服器面臨潛在的攻擊風險。

桌面即服務(DaaS)的便利性與風險

DaaS提供了一種虛擬桌面基礎設施,讓使用者可以在任何地方存取他們的企業桌面和應用程式。這種模式雖然方便靈活,但也伴隨著諸如不當存取、憑證竊取等安全風險。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 桌面即服務(DaaS)的便利性與風險

rectangle "存取虛擬桌面" as node1
rectangle "虛擬桌面環境" as node2
rectangle "潛在安全風險" as node3

node1 --> node2
node2 --> node3

@enduml

內容解密:

此圖示闡述了DaaS的架構。使用者可以透過DaaS服務存取虛擬桌面環境,其中包含所需的應用程式和儲存。然而,這種便利性也伴隨著諸如不當存取和憑證竊取等安全風險。

多層次安全防護的重要性

在各種XaaS模式下,單一的安全防護措施往往不足以抵禦複雜的攻擊。因此,多層次的安全防護顯得尤為重要。透過層層設防,可以增加攻擊者的攻擊難度,並提高檢測和防禦攻擊的能力。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 多層次安全防護的重要性

rectangle "突破第一層" as node1
rectangle "檢測與防禦" as node2
rectangle "進一步檢測與防禦" as node3

node1 --> node2
node2 --> node3

@enduml

內容解密:

此圖示展示了多層次安全防護的概念。攻擊者需要逐一突破多層防護,每一層都提供檢測和防禦機制,從而增加了攻擊的難度並提高了整體安全性。

雲端運算服務模式的安全考量

雲端運算提供了多種服務模式,包括 Data Center as a Service (DCaaS)、Managed Software as a Service、Backend as a Service 等,這些模式各有其特點和安全挑戰。

Data Center As a Service (DCaaS)

DCaaS 提供了一種服務模式,讓使用者可以租用實體或虛擬的資料中心基礎設施和設施。這種模式與資料中心託管(Colo)類別似,但它將整個體驗、管理以及服務提供給訂閱組織作為一種服務。DCaaS 允許公司利用提供者的技能和最佳實踐來管理資料中心,同時根據特定的需求營運資料中心的服務。

DCaaS 的安全挑戰

DCaaS 的攻擊向量可能包括實體安全控制、資產和資源的管理存取等。使用者需要考慮將資料中心的管理權交給第三方所帶來的風險,以及與其他使用 DCaaS 服務的組織分享資源的風險。

Managed Software As a Service

Managed Software as a Service 是一種託管模式,組織可以授權(訂閱或永久)軟體解決方案,但使用獨立的服務提供者來託管和管理軟體以滿足其使用案例。這種模式提供了 SaaS 和 PaaS 的橋樑,提供平台和管理,而不直接提供軟體和實際解決方案。

Managed Software As a Service 的安全挑戰

託管本身具有安全風險,應由託管提供者管理。然而,應用程式(軟體)安全具有共擔責任模型。託管提供者通常負責管理應用程式安全補丁的佈署,但應用程式的執行時安全(可能被誤組態或具有弱憑證安全)則由終端使用者負責。

Backend As a Service

Backend as a Service 提供了一種機制,讓網際網路(網頁)和行動應用程式開發者可以透過抽象層介面(如 API)將軟體與雲端儲存和運算服務連線起來。這些服務提供了諸如推播通知、集中式使用者管理、活動監控儀錶板等功能。

Backend As a Service 的安全挑戰

Backend as a Service 的攻擊向量針對的是後端正確託管應用程式所需的資料執行時。如果被洩露的資料透過多個應用程式共用,那麼所有訂閱者都可能面臨錯誤甚至可能威脅生命的資訊。

雲端服務提供者的角色

在探討雲端的攻擊向量之前,瞭解雲端服務提供者的角色是非常重要的。大多數公司、應用程式供應商和第三方服務提供者都使用少數領先的雲端運算提供者來提供所有服務和託管解決方案。這些提供者提供了基本的運算能力,如虛擬機器、容器和其他批次工作負載的佈署和管理,以及根據角色的存取控制組態。

雲端運算的基本能力

雲端運算提供的基本能力包括運算服務,使授權的身分能夠佈署和管理虛擬機器、容器和其他批次工作負載,以及組態根據角色的存取控制。這些能力構成了雲端運算服務的基本基礎。

雲端服務提供者與其功能分類別

雲端運算提供多樣化的服務,以滿足不同企業和組織的需求。這些服務大致可分為以下幾類別:

1. 運算資源(Compute Resources)

運算資源是雲端服務的基礎,能夠根據需求提供彈性的運算能力。這些資源可組態公有 IP(IPv4 或 IPv6)地址或私有 IP 地址(RFC 1918),取決於資源是否需要導向網際網路或僅在私有網路中使用。

2. 行動裝置服務(Mobile Services)

雲端服務提供了一個平台,讓組織能夠開發適用於行動裝置的雲端應用程式。這些服務包括通知和訊息服務、後端運算資源支援、建構應用程式介面(APIs)的工具,以及與其他資料來源(如地理位置)連結的能力。

3. 網頁服務(Web Services)

網頁服務支援網頁應用程式的開發、佈署、維護和報告。它們還提供搜尋、內容傳遞和安全等功能。

4. 儲存服務(Storage Services)

儲存服務提供可擴充套件的雲端儲存,用於結構化和非結構化資料。它還支援災難還原、備份、存檔和雲端儲存的安全。對於某些雲端運算提供者,儲存服務還包括大資料專案和資料湖的儲存。

5. 分析服務(Analytics Services)

分析服務提供分散式分析和相應的儲存。它包括即時分析、大資料分析,並支援資料湖、商業智慧和資料倉儲。

程式碼範例:資料分析處理

import pandas as pd

# 載入資料集
data = pd.read_csv('data.csv')

# 資料預處理
data = data.dropna()  # 移除缺失值

# 資料分析
result = data.groupby('category')['value'].sum()

# 輸出結果
print(result)

內容解密:

  1. 使用 pandas 函式庫載入 CSV 檔案中的資料集。
  2. dropna() 方法用於移除資料中的缺失值,確保資料完整性。
  3. groupby() 方法根據特定欄位(如 ‘category’)對資料進行分組,並計算每組的總和。
  4. 最終輸出分組後的結果,幫助瞭解不同類別的資料總和。

6. 網路服務(Networking Services)

網路服務根據雲端的虛擬網路技術,通常被稱為軟體定義網路(SDN)。這包括專用網路和存取閘道,以及流量管理、負載平衡、網域名稱服務(DNS)託管和根據網路的安全防護,如分散式阻斷服務(DDoS)攻擊防護。

7. 內容傳遞網路(CDN)

CDN 服務包括隨選內容串流、熱門網頁開發函式庫和資源的傳遞、數位版權保護,以及為豐富終端使用者經驗而進行的媒體內容索引。

8. 身份管理(Identity Management)

身份管理功能確保只有經過身份驗證和授權的使用者能夠存取雲端提供者的服務,並管理敏感資料、設定和雲端執行階段環境。這些服務可以包括原生身份管理、與第三方身份儲存的整合,以及多因素身份驗證(MFA)等安全控制。

9. 物聯網(IoT)服務

IoT 服務旨在處理從佈署資產中捕捉、監控和分析 IoT 資料的工作負載。IoT 特有的服務包括通知、分析、監控、資料儲存,以及對 IoT 平台的特定技術支援。

10. 安全開發營運(SecDevOps)

SecDevOps 提供軟體開發過程中的專案和協作工具,以及保護程式碼佈署和測試所需的資源。這個過程涵蓋了從開發者到品質保證、佈署和最終產品發布的整個流程。

11. 開發服務(Development Services)

開發服務幫助應用程式開發者分享和開發程式碼、測試應用程式,並追蹤潛在的安全和品質保證問題。

12. 安全服務(Security Services)

安全服務提供檢測和回應雲端安全威脅的能力,以及管理用於雲端存取的人類或機器身份(如加密金鑰)的機密資訊。

13. 人工智慧(AI)和機器學習(ML)服務

雲端運算提供者提供廣泛的工具和解決方案,供應用程式開發者實施人工智慧、機器學習和認知計算,以獲得傳統統計或模式建模無法提供的應用程式和資料集的安全洞察。

14. 容器服務(Containers Services)

容器服務幫助組織在雲端使用常見平台(如 Docker 和 Kubernetes)建立、註冊、協調和管理容器。

15. 資料函式庫服務(Databases Services)

資料函式庫服務通常以資料函式庫即服務(DBaaS)的形式提供,包括之前在本地佈署的解決方案的雲端版本,以及利用雲端運算能力和儲存能力的雲端原生資料函式庫。

16. 遷移服務(Migration Services)

遷移服務提供一系列工具和程式,幫助組織將資源、資產和工作負載從本地佈署遷移到雲端,或從一個雲端運算提供者遷移到另一個。

17. 管理和治理(Management and Governance)

管理和治理服務提供一系列工具,用於合規、自動化、排程、報告和監控,以幫助組織管理雲端環境,並報告資產和風險狀態以滿足合規要求。