民航業是全球競爭最為激烈和復雜的行業之一,面臨著不斷增加的運營成本、監管限制和客戶偏好變化等挑戰。隨著行業競爭加劇,以及客戶變得更加數字化,客戶需求變得更加復雜,航空公司正在尋求創新解決方案,以改善客戶體驗,降低運營成本,并增加利潤。
在當今由應用程序驅動的世界中,創新的基本要素是API(應用程序編程接口)。API是各行各業構建創新應用的關鍵部分。隨著航空公司數字化程度的加深和零售化轉型進程的推進,在網站和APP之外,API接口成為航空新分銷能力建設的重點,API也是航空公司創新應用的關鍵部分和底層支持。
同時,API的廣泛應用也為API的安全性提出了新的挑戰,針對API這種新興資產的安全管理顯得愈發重要。安全的API,是創新應用以及安全的創新應用的基礎。
本文著重探討了在航空公司Offer管理系統建設過程中,針對API接口安全管理可以參考的安全模型,在此基礎上介紹典型場景下的接口安全管理實踐,并強調安全的接口才是機票應用創新的基礎。
航空公司的Offer管理系統負責響應旅客的查詢請求,提供具有相關性的產品和服務,包括提供與產品相關的價格,這是航空公司Offer管理系統的功能定位。其產品和服務可以包括航班座位、附加服務產品、非航產品等。
航空公司Offer管理系統通常通過API接口輸出其銷售能力,支持航空公司網站和APP以及其他銷售和服務前端應用的建設。同時,一部分航空也會通過對NDC的實現,或者類似接口規范的實現,以支持更多的第三方創新應用和創新渠道的建設。
以前航空公司或者解決方案供應商更多會關注其網站的安全性,現在隨著API接口的廣泛應用,API面臨的安全威脅和安全風險隨之顯著增加,針對API這種新興資產的安全管理顯得愈發重要。
接口安全管理和前端應用比如網站的安全管理有相關性,有其統一的方面。同時,因為交互方式不同,網站是人機交互,接口是機機交互,所以兩者面臨的安全威脅和風險有顯著差異,安全管理需求和管理方式也各有側重。
亡羊補牢是安全管理的典型場景,有積極的一方面,但是并不是理想方式。我們更希望能夠借助某些安全模型,通過系統方式加強接口安全管理,而不是哪里出了問題補哪里。OWASP API安全Top 10或許能夠為我們系統加強接口安全管理提供借鑒。
OWASP是一個開源的、非盈利的全球性安全組織,致力于應用軟件的安全研究。其使命是使應用軟件更加安全,使企業和組織能夠對應用安全風險做出更清晰的決策。推動安全標準、安全測試工具、安全指導手冊等應用安全技術的發展。OWASP被視為web應用安全領域的權威參考。

API在現代應用程序體系結構中扮演著非常重要的角色。盡管更廣泛的web應用程序安全風險Top 10仍然有意義,但是由于API區別于web應用的特殊性,需要一個特定于API的安全風險列表。OWASP為強調API安全的重要性,在2019年首次提出了API Security Top 10?!禣WASP API安全 Top 10》自發布后迅速被行業采納,為安全決策提供參考。此后隨著安全產業實踐加深,于2023年發布了API Security Top 10的內容更新。該更新內容進一步強調了API攻擊場景與Web攻擊的差異化,突出API權限管理、API資產管理、業務風控及第三方服務調用等安全問題。
表1是十類API接口面臨的典型風險。我們可以認為這是一個安全模型,或者是有助于系統地加固API接口安全性的檢查列表,通過對標以及采取相應的防范措施,從而系統地提高我們的API接口安全性。
以下我們僅選擇航空公司Offer系統API接口可能涉及的典型的安全風險場景,結合我們的工作實踐,進行討論分析。
(一)資源消耗不受限制
資源消耗不受限制,是航空公司Offer系統面臨的非常典型的風險場景。因為終端應用往往是面向互聯網用戶的銷售或者服務網站,來自用戶的不受限訪問普遍存在。具體到銷售類的網站,資源消耗不受限制這個問題轉換到業務場景下,就是控制查定比的問題。
高企的查詢預定比,一直是航空公司及其IT供應商所面臨的重要問題。大規模高并發的訪問,需要IT供應商投入更多的服務器資源,以保障服務的可用性,而這些服務器資源的投入,也會轉化為成本問題。在服務器資源沒有擴展的情況下,大規模高并發的訪問,尤其是不直接產生預定的訪問,會加重服務負擔,降低Offer查詢服務的響應時間,影響預訂用戶的體驗,這可能會進一步提高查詢預訂比,增加航空公司的成本壓力。
控制查定比的問題,也就是如何解決資源消耗不受限制的問題。
(二)緩解策略
針對資源消耗不受限制的問題,OWASP提供了若干策略建議,限于篇幅,并未全部引用,僅針對控制查定比場景列出如下幾條。
(1)在一定時間范圍內限制客戶端與 API 的交互頻率(速率限制)。
(2)根據業務需求對速率限制進行調優。某些API 端點可能需要更嚴格的策略。
(3)為所有服務提供商 /API 集成配置消費限制。如果無法設置消費限制,則應配置計費警報。
(三)API安全管理實踐
為了控制航空公司Offer系統的查定比,同時也是防范不受限資源訪問可能導致的風險,我們在實際工作中執行了以下一些措施。核心還是對API接口觸發的資源訪問進行合理的限制,兼顧可用性和安全性。
1.限制并發
基于對用戶API接口調用的合理規模的評估,我們會對接口做最大并發限制,當用戶請求的最大并發數超過限制,就會返回提示信息。并會通知客戶評估自己的業務量,如果屬于合理的業務增長,再做擴容。
2.限制TPS
同理,也會基于對用戶API接口調用的合理規模的評估,我們會對接口做最大TPS限制,當用戶請求的最大TPS數超過限制,就會返回提示信息。并會通知客戶評估自己的業務量,如果屬于合理的業務增長,再做擴容。
3.總量限流和預警
基于對用戶API接口調用的合理規模的評估,我們會對接口做最大調用次數的限制。區別于并發或者TSP限制,為了保證接口服務的持續可用性,接口調用的總量限流我們采取的是預警措施,而不是停止服務的方式。當用戶調用總量超過預警值,就會通知客戶,評估當前調用量的合理性,以決定是采取擴容支持,還是進一步限制應用端可能面對的惡意流量。
通過在Offer系統API接口層面采取資源訪問的限制措施,可以有效地控制可能的API接口濫用,降低查定比,保護后臺資源的可用性,降低接口安全風險。
智慧民航是科技創新成果轉化為新質生產力的過程,旨在提升民航安全水平、行業運行效率和發展質量,更好地服務人民的航空出行。航空公司致力于尋求數字化應用創新,提升旅客出行體驗;而安全的API,是創新應用的基礎,也是安全的創新應用的基礎。