資訊中心管理
提供完整API Lifecycle 的 安全防禦平台─ IMVISION API AMP
IMVISION 開發出全球第一個在整個API Lifecycle 中,能全自動偵測、測試與保護客戶的API 平台,Anomaly Management
Platform - AMP。在正式運行API 系統時,AMP 能夠透過機器學習的方式,從API 流量中建構出此系統的專屬模型、Swagger 文件與客製化的OWASP 模擬攻擊。

APISecurity的市場需求

隨著硬體的升級以及行動裝置的普及,許多應用程式功能所需的計算,已從後端伺服器轉移至行動裝置上運算。以訂票網站作為例子,過去訂票網站的介面設計都是以瀏覽器為出發點,但智慧型手機的出現使得社會大眾改變了上網的習慣,開始在行動裝置上進行訂票。為了跟上市場需求並開發新客戶,許多企業開始有條件的Open Data豐富了API生態圈,也出現了許多便利的應用程式抓住龐大的客群,例如:行動支付。雖然API這項技術開始被市場大量使用,但API Security的技術並沒有跟上腳步。過去的安全防護,例如:WAF、API Gateway、源碼掃描……等都只能檢測已知的漏洞進而防範已知的攻擊。在Open Data的潮流下會有越來越多非企業內部的人使用API與敏感資料,API系統中的業務邏輯無法以rule-based的方式防範駭客的入侵,而這過程中也常常伴隨著未知且多樣的攻擊模式,隨之而來的就是眾多與API相關的資安事件如雨後春筍般出現社會大眾眼前。

9 1

首先,先讓大家了解什麼是API?

API
(Application Programming Interface)

類似說明文件,提供應用程式去使用函式庫,給予指定的輸入便能得到所需的輸出。例如:訂票就是一種API,只需輸入訂票相關的資訊,不需了解程式內部運行方式,即可完成訂票作業。API的優點在於開發者無須重複開發相同的功能,並且能針對不同的行動裝置設計不同的應用程式與UI介面,進而優化使用者體驗。

Open API

是公開給大眾使用的API,使用上沒有太多的限制,開發者只需要進行申請便能得到key來使用API。例如:Google Map就是Open API,架設網站時,若需要加入地圖的功能,無須寫地圖相關的程式碼,只需透過URL或URI來呼叫Google Map即可。

REST(Representational State Transfer)

是一種輕量化的API設計架構,而設計為REST架構的API就可以稱為RESTful API。它的優點主要是可以將界面與資料分離,使用上相對安全,另外可以重複使用性高,減少開發資源的浪費!

再來,向各位介紹常見的API攻擊

9 3

OWASP(Open Web Application Security Project)是一個致力於提高軟體安全性的非營利組織,收集各種應用程式的安全漏洞並彙整出常見的資安問題、排名與防範措施。此組織會定期公布及更新常見的資安問題,並且提供全球的開發人員以及技術人員最新的教育和培訓。

API與瀏覽器應用程式相似,都容易受到高度的攻擊。尤其API暴露行動應用程式的底層架構,使用者狀態通常由客戶端應用程式維護與監控,以及每一個HTTP request中的參數增加,導致API的安全性問題更加特別。這些問題的漏洞可以分為三種類別:敏感資訊暴露、中間人攻擊以及對後端伺服器發起Dos攻擊。

這邊會從OWASP在2019年發表的前十大與API相關的安全問題中,挑選幾項來探討攻擊的特徵以及IMVISION API AMP會如何防範該安全漏洞:

A4 Lack of Resources & Rate Limiting 缺乏資源與速率限制

對於每個用戶,API架構的構建服務都有一個預期的使用水平。同時大量的請求會使API癱瘓、減慢服務速度甚至造成拒絕服務(DoS)。例如:透過應用程式來買賣股票,每個用戶1秒只能發出200筆委託單,當攻擊者將此限制調成1秒可發送600筆委託單,交易所的伺服器會在短時間內接收超出負荷量的委託訊息,導致伺服器大當機,使得金融股市損失慘重。

IMVISION API AMP如何預防A4攻擊與建議

AMP會從流量中學習出系統模型,並檢測端點的使用頻率、消費者名稱與響應時間,以及經過身份驗證的用戶的異常使用。

A5 Broken Function Level Authorization 無效功能權限控管

這類攻擊通常以最高管理者權限為目標,當攻擊者成功發現(或猜測)管理端點時,而此管理端點的訪問控制策略大部分都相當鬆散,可以訪問未經授權的功能。在其他情況下,攻擊者可以發現缺乏適當角色分離的用戶端點並使其能夠篡改數據。例如:在數字人力銀行向某公司投遞履歷,攻擊者可以複製此HTTP請求訊息加以修改並發送,使得攻擊者取得該公司的數字人力銀行管理者權限,自己發面試通知給自己。

IMVISION API AMP 如何預防A5攻擊與建議

這種攻擊的出現意味著所有管理員訪問端點都應該受到密切監視,並使用適當的授權和身份驗證方法進行部署,這樣攻擊者就無法取得權限。AMP會自動學習用戶和調用端點的關聯性,並在使用非授權的端點時觸發異常。

A6 Mass Assignment 批量配置不當

現代的網頁程式框架支援自動將使用者輸入內容與程式碼中的內部變數綁定在一起的功能,而這種漏洞有多種形式,最終會導致數據被竄改。每一個端點中使用者輸入的欄位都有特定的目的,若攻擊者輸入沒被加入規範內的數據,最終能修改非自身權限所允許的資料。

例如:在網路銀行中,使用者可以修改個人資料,如:姓名、地址……等等,但攻擊者在修改數據的欄位使用HTTP的指令,除了合法的資料以外,帳戶餘額、紅利點數...等數據也一同被修改,攻擊者當天就能財富自由。

IMVISION API AMP 如何預防 A6 攻擊與建議

除了了解每個欄位的使用目的、商業邏輯、用戶預期和允許的使用情況,也可以透過AMP的輔助,在正確的上下文中分析數據並了解必需和常用的字段。這可以對輸入的任何不規則字段和數據篡改發出警報,同時將誤報降至最低。

APISecurity案例

API中的bug

9 4

一家美國電訊商T-Mobile,在2020年底發生一宗資料外洩事件,超過百萬用戶個資外洩,個資內容包含了預付費用帳戶名稱、帳單地址、電話號碼、費率以及是否有啟用國際電話功能……等。

一般操作時,在操作介面輸入ID及電話號碼,即可顯示出相關個資。而個資之所以會被盜取是因為,電腦只會驗證ID的正確性,確認後再根據輸入的電話號碼給予相對應的資料。由於電腦不會驗證ID與電話號碼的關聯性是否正確,導致非法使用者用一個ID並輸入不同的電話號碼,就能輕鬆盜取他人個資。

API溝通之間缺少管控

在2016年時,Domino發現自己的應用程式Pizza Tracker有個嚴重的漏洞,即使沒有付款也能獲得免費的披薩。在Pizza Tracker選擇想要的披薩並完成付款後即可獲得該訂單的兌換券。Domino的安全顧問發現,負責付款的API與產生訂單的API之間的交流沒有嚴格的安全管理,因此非法使用者可以違造一組信用卡號碼,並發送給付款API,將被拒絕的信息攔截、修改並回傳給訂單API,即可得到免費的披薩。這個漏洞就好比在商店進行電子支付或信用卡付款時,即使顯示餘額不足或卡片過期,但這筆交易依然是成功的,顧客能免費得到商品。

9 5

9 6

IMVISION API AMP(Anomaly Management Platform)

AMP使用了基於NLP的AI技術,學習自動收集到的所有API流量,並建立出API系統的關聯模型,顯示出運行中的API數量、端點數量和使用API與端點的消費者數量與敏感數據。最重要的是AMP能即時的偵測出異常事件並發出警報,此平台會分析異常事件的類型與過程,並告訴使用者此事件可能造成的後果以及可以解決的方向。

以下為AMP在不同階段的API生命週期能提供的安全服務:

實時防護 Runtime Protection

在API正式運行時,會偵測並收集所有的異常事件,再將所有的事件進行分類以評估事件的嚴重性。透過整合API Gateway,AMP也能夠自動或半自動的去阻擋嚴重程度高的異常事件。所有異常事件都會以條列式的方式清楚的讓使用者看到,裡面都有包含詳細的補救建議與報告,提供開發團隊以及安全團隊一起解決API安全上的漏洞。

安全測試 Security Testing

AMP能透過API流量收集,以OWASP TOP 10為基礎建立出專屬於此API的模擬攻擊。進行模擬攻擊後,AMP會進行弱點分析並預測惡意使用API與端點的方式,也能從測試過程中半自動的找出API中的敏感資訊、敏感事件與PII。提供團隊優化API的方向並重新評估每個端點與欄位的權限與必要性,減少敏感資訊暴露的風險。

Swagger開發分析 Schema Analysis

AMP能提供開發者針對Swagger文件進行安全與品質的檢測,給予風險評估與程式碼優化的建議。此功能可以給予開發團隊在開發API或進行API改版時,能夠將程式寫得更加完善並減少在Runtime Protection發生異常事件的次數以及程式維護的難度。除此之外,在建立模型的同時AMP也能自動的產出此API的程式框架,給予團隊進行二次檢查。

總結

IMVISION開發出全球第一個在整個API Lifecycle中,能全自動偵測、測試與保護客戶的API平台,Anomaly Management Platform-AMP。

在正式運行API系統時,AMP能夠透過機器學習的方式,從API流量中建構出此系統的專屬模型、Swagger文件與客製化的OWASP模擬攻擊。

●當偵測到異常事件,AMP能及時的發出警訊並將異常事件的時間點、端點位置、傳輸資料名稱、傳輸資料類型與使用此端點的消費者,詳細的條列在平台當中並告知此攻擊的可能的類型、後果與解決方法。

●AMP能夠客製化該API系統的模擬攻擊,測試完模擬攻擊後,AMP會條列式的將攻擊後的過程與結果呈現出來,也能產出此模擬攻擊的資訊,使安全團隊與開發團隊清楚的了解API系統可能被攻擊的端點、欄位可能被注入的SQL指令以及找出尚未發掘的盲點。以上幾點最大的好處在於減少開發團隊與資安團隊之間資訊不對等的情況,讓資安團隊能夠快速地找出問題所在,而開發團隊能夠立即處理減少損失。 

●AMP能夠自動產出所有API的Swagger文件,減少額外寫文件及維護文件的成本。此外也能減少溝通成本,讓服務端使用者像是前端、QA、Support同仁清楚的知道接口相關資訊。

●AMP也能夠針對產出的Swagger文件進行安全與品質的檢測,在系統改版時能夠針對檢測報告的建議進行優化,同時也能從報告中得知不同版本的API的安全標準是否一致。當安全與品質這兩方面的警示資訊減少,也代表新版本正式上線時會減少異常訊息且log檔也能越發完整,方便去監控與維護API系統。

以上幾點最大的好處在於減少開發團隊與資安團隊之間資訊不對等的情況,讓資安團隊能夠快速地找出問題所在,而開發團隊能夠立即處理減少損失。