來吧,聊聊API安全

綠盟科技發表於2020-08-14

一、前言

近些年,API安全在安全領域越來越多的被業界和學術界提及和關注。OWASP在2019年將API安全列為未來最受關注的十大安全問題。事實上隨著應用程式驅動的普及,API介面已經是Web應用、移動網際網路以及SaaS服務等領域的重要組成部分,無論是我們在網上購物,或者是在銀行交易,甚至在醫院看病掛號都會伴隨著對API介面的訪問和控制。由於對API介面的訪問與控制伴隨著資料的傳輸,其中不乏大量的使用者隱私資料以及重要檔案資料,因此越來越多的非法駭客將API介面作為攻擊的目標,並透過非法控制和使用API介面竊取資料等。所以沒有安全的API服務,就會帶來生產生活上的巨大不便和潛風險。

來吧,聊聊API安全

所謂API安全防護就是對API的完整性進行有效的保護。目前API安全防護措施主要集中在訪問授權認證機制、訪問頻率與訪問量的限制與負載平衡以及資料在網路通訊過程中的資料隱私保護。其解決方案主要圍繞TLS、SSL以及訪問控制等技術手段進行防護。

二、API安全發展趨勢

目前隨著網際網路、物聯網等快速發展,越來越多的開發者會使用API介面為客戶提供各種微服務並透過雲原生應用快速部署容器進行快速迭代開發。因此無論是在網際網路訪問網路資源或者透過物聯網進行系統應用的控制都會利用API介面。由於在API介面既能夠起到連線服務的功能,又可以用來傳輸資料,因此API的安全防護非常重要也非常敏感。目前已經出現了多起因為API被攻擊或者存在漏洞而出現的資料洩漏的事故,例如2019年Instagram因API介面漏洞導致使用者資料以及照片被洩露。這一類API安全被破壞的情況一旦出現在資料敏感的重要領域,例如金融行業,醫療行業等,就會引發惡劣的社會影響,一旦被洩漏的資料被駭客非法使用都可能帶來經濟上甚至政治上的不良影響。因此對API安全進行防護,既有利於使用者安全使用API所提供的服務,又能夠為使用者的隱私資料進行保駕護航。

來吧,聊聊API安全

一般而言,我們提到的API安全防護是指Web API安全防護,其中一個主要的關注問題在於經過API介面建立起來的使用者和服務之間的通訊資料如何防護。目前大部分開放的API介面都屬於REST(表述性狀態傳遞)介面或者是SOAP(簡單物件訪問協議)介面。RESTAPI介面是透過HTTP協議建立連線並使用TLS(傳輸層安全性)進行加密,確保在服務連線過程中資料被加密並防止資料被篡改。此外RESTAPI也可以利用JSON的資料傳輸格式進行檔案的資料傳輸。SOAPAPI介面是透過Web服務安全性的內建協議建立服務連線並傳輸資料,並且支援W3C(全球資訊網聯盟)和OASIS(結構化資訊標準促進組織)兩個標準機構制定的標準。由於內建協議中自定義了加密和身份認證的規則集,因此食用SOAPAPI在安全措施上更受歡迎,但這也意味著使用SOAPAPI會帶來更多在身份認證方面的管理和授權。由於RESTAPI不需要儲存或者對資料進行重新打包封裝,因此RESTAPI的資料傳輸速度比SOAPAPI會更快。但是對於處理敏感資料比較多的場景下使用SOAPAPI會更加安全。

三、API安全防護措施

為了提高API安全性,根據OWASP提出的API威脅所包含的拒絕服務攻擊、竊取隱私資料、未授權訪問等型別的攻擊威脅,安全廠商可以在以下方面進行應用或者提升,以保障使用者的API服務使用體驗。

1)使用令牌技術,透過令牌建立API介面的可信身份,然後使用屬於可信身份的令牌才能夠實現對服務和資料資源等進行訪問以及控制。

2)使用加密和簽名技術,例如在RESTAPI中使用TLS等加密方式對資料進行加密,保證資料在傳輸過程中被加密並防止被篡改。使用簽名技術可以保證只有擁有資料訪問許可權的使用者才能夠對資料進行解密並對資料進行修改。

3)主動識別API中的漏洞。可以使用檢測嗅探器對API安全進行檢測並檢查資料被洩漏的情況,確保在網路環境下API服務的安全性,實時追蹤API介面是否被非法駭客進行攻擊以及漏洞被利用的情況。

4)使用API安全閘道器。目前API安全閘道器已經被作為防護API安全的一個關鍵技術被使用,由於API安全閘道器可以用來控制和管理API介面的使用情況,同時也可以對使用API介面和服務的使用者進行身份認證,因此在保護資料和API安全性上具備一定優勢。

5)透過對API介面的訪問頻率進行限制。由於業務的不同,API介面被呼叫的情況也會不同,透過分析和監測API介面被訪問和呼叫的頻率來確保API介面未被攻擊者攻擊以及資料被洩漏。一般來說被攻擊的API介面往往會出現被呼叫次數增多或者頻率與正常情況出現較大差異,因此透過限制API介面被訪問的情況,進行限流等方式可以防護API出現被攻擊者攻擊甚至是拒絕服務的情況。

API的安全防護離不開業務層面上對API介面的開發和對API介面的管理。一般來說API介面的安全開發需要開發人員具備API安全開發的知識和意識,並遵循安全開發規範對API介面進行開發和部署,而API介面的管理可以透過管理平臺對其進行安全防護,例如使用基礎的使用者名稱密碼的方式進行身份驗證,或者透過API金鑰即令牌字串進行安全防護,或者基於OAuth框架進行使用者身份資訊的驗證以及基本資訊的校驗。事實上對API的安全防護是一件從開發到應用到運營維護整個階段都要參與和防護的過程,這一點和傳統的Web安全防護有所區別又有相似之處,是一件很有價值和意義的安全防護工作。

來吧,聊聊API安全

現在市場上已經出現了一些API安全防護的產品,例如紅帽提供的3scaleAPI管理,能夠持續的對API進行管理和防護。它不僅可以管理API、應用和開發者角色的API管理器,也可以執行API管理器策略和流量管理,並支援多身份認證協議的身份提供商中心。在API閘道器方面,Amazon提供的API閘道器可以解析到期的時間戳令牌,檢查客戶端身份是否有效,以及使用公鑰來確認簽名等。此外,GOKU安全閘道器也可以實現閘道器係統的要求並具備一定的定製化特點。在不同API安全閘道器產品中,安全性、便捷性和個性化是最重要的幾個影響因素,閘道器不僅要求API安全性和可用性有安全保障,也會避免隱私資料在閘道器傳輸過程避免被洩漏。Google收購的Apigee能夠給客戶提供一個跨雲的API管理平臺,透過主動探測API流量結合上下文進行分析併產生警報,為API服務提供實時上下文監控並快速診斷的能力以及採取補救的措施。

來吧,聊聊API安全

四、API安全未來趨勢

目前來看,API安全閘道器是各個企業保護API安全的有效手段。API安全閘道器是一種便捷的保護API安全的工具,API安全閘道器可以利用流量過濾以及監控等方式對入侵進行檢測並防止駭客攻擊。即使目前市場上已經出現了一些API安全防護產品和解決方案,但是由於在API海量資料中檢測威脅並進行防護還是面臨著很多挑戰,在複雜多樣的環境下進行防護是很難做到防護的智慧化。此外攻擊者的攻擊手段日新月異,變化很快,如何設計彈性的管理系統對API服務進行安全監控是未來需要解決的問題。在未來智慧API安全解決方案會成為解決API安全問題的一個有效方法,而且已經在業界多次提及。使用人工智慧和機器學習技術在海量API流量中進行威脅發現和安全防護,並利用AI模型的學習能力,在不同環境下動態的對API正常行為模式進行學習與積累,將有關行為的前置知識學習出來,然後自適應的在環境下對API異常活動進行識別並阻斷,實現API安全的智慧安全防護策略。

五、總結

如今API安全已經成為提供API服務的企業之間以及企業內部都需要關注的一個安全問題,一旦沒有很好的保護好提供服務的API,不僅會對使用者的使用體驗以及個人隱私帶來威脅和風險,而且可能會使企業面臨安全威脅和風險。對於開發人員來說,為了提高API安全性需要在設計和開發階段,對API的安全性進行良好的構建和設計,此外要遵守API安全開發規範進行實施。對於管理人員來說,應該使用API管理平臺對API服務所面臨的風險進行檢測和防護。

參考連結    

[1].https://www.usenix.org/conference/usenixsecurity18/presentation/oneill

[2].https://www.ndss-symposium.org/ndss2014/workshop-usable-security-usec-2014-programme/should-i-protect-you-understanding-developers-behavior-privacy-preserving-apis/

[3].https://www.aqniu.com/news-views/37485.html

[4] https://www.redhat.com/

[5].https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/

關於天樞實驗室 

天樞實驗室聚焦安全資料、AI攻防等方面研究,以期在“資料智慧”領域獲得突破。

相關文章