API安全的發展趨勢展望

我們在日常的應用開發過程中,應當時刻專注API的安全性,本文向您介紹當前業界針對API安全的發展趨勢。

【線上直播】11月21日晚8點貝殼技術總監侯聖文《數據安全之數據庫安全黃金法則》

【51CTO.com快譯】如今,應用程序編程接口(API)已經變得非常流行了。各個企業的應用開發都深度依賴於它們之間的相互調用,以支持新產品和服務的按時交付。與此同時,隨著API絕對數量的增加,在互聯網絡上傳遞的數據量也正在呈指數級地增長。

API安全的發展趨勢展望

不過,這些海量數據中,往往會包括諸如:用戶詳細信息、電子郵件、以及密碼等敏感且隱私的數據。例如:通過使用Facebook的某些API(請參見:https://developers.facebook.com/docs/graph-api/),您完全可以訪問到大量用戶的照片、位置之類詳細的信息。由於網絡世界用戶之間的不可見性,這些敏感數據很有可能會被非法分子用於多種惡意的用途。因此,我們在日常的應用開發過程中,應當時刻專注API的安全性,通過安全編碼等技術手段,構建出安全可靠的程序API。

API安全性日益受到關注

根據SmartBear最近進行的一項研究顯示(該研究發佈了API現狀報告,請參見:

https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/):

  • 在受訪並給予回應的對象中,有41.2%的人認為:安全性是他們的API所面對的最大技術問題,而且是當務之急。他們希望在自己的軟件產品中不要出現與API安全性相關的漏洞。
  • 在被普遍認為需要改善和提高的API相關領域,安全性排名第四。
  • 有超過40%的API提供者會使用某種工具,來獲悉當前API的安全態勢。他們希望能夠快速且全面地發現潛在的安全漏洞。
API安全的發展趨勢展望

目前,API技術已經滲透到了各個行業,乃至各種業務策略的制定環節。其中,最為常見的API當屬REST、SOAP、以及ASYNC API。另外,隨著物聯網的迅速發展,全新的智能化API也在不斷地湧現。這些API充當了智能設備和互聯網之間的接口作用。那麼,到底API是如何做業務趨勢以及深度融合發揮作用的呢?通過如下三個方面,我們可窺一斑:

  • 為了讓客戶獲得更好的服務體驗,銀行機構正在採用、甚至遷移到API式的敏捷模型中,以實現高效、強適應性的金融安全架構。
  • 醫療保健行業的從業人員通過各種可用的AP​​I,向患者和客戶提供集成化的醫療保健服務,並能提高自身產品的互操作性。
  • 零售商正在使用API​​為其客戶提供更加智能化的電子商務平臺,例如:多元化的移動支付應用等。

API安全性的當前狀態

當前,在互聯網上,每天通過各種API傳輸的大量數據可謂是魚龍混雜。有的是一些公眾性的普通數據,有的則是需要通過加密的機密性數據。因此,應用開發與維護人員需要和那些看不見的隱形對手進行攻防較量,以確保提前揪出軟件產品中的各種漏洞。總的說來,API的安全性隱患主要集中在如下三個方面:

  • 授權、認證與審核機制(一般通過訪問控制來應對)。
  • 訪問量的負載平衡和速率限制。
  • 通信和網絡中的數據隱私問題(一般通過SSL/TLS來應對)。

API的安全展望

根據本人的開發與項目實施經驗,我大膽地對API的安全性趨勢做出瞭如下展望,可供您參考與借鑑。

1. DNS安全性(DNSSEC)

在人們運用移動設備訪問各類APP的時候,大多數信息都是以未加密的方式,通過無線網絡進行往復傳輸的,因此它們很容易受到截獲甚至是攻擊。我們需要通過設置SSL或TLS的連接方式,來確保傳輸數據的安全性。當前,最新的TLS版本為1.3,而大多數網站也都能夠通過API的設計,以HTTPS的方式去加密用戶的各類敏感信息。

同時,由於幾乎所有的網絡流量都需要進行標準的DNS查詢,因此DNS成為了眾矢之的,針對DNS的劫持和中間人攻擊時有發生。此類攻擊通過將網站的入向流量,重定向到偽造的網站處,進而收集到網站用戶的敏感信息,並讓企業蒙受損失。

與許多互聯網協議相同,DNS系統在設計之初也並未考慮到安全性的相關問題,並且存在著一些設計上的限制。而這些限制在面對技術的快速迭代時,就留下了可乘之機。攻擊者很容易出於惡意目的去劫持DNS的查找請求。例如,他們會將用戶轉發到分發惡意軟件、或收集個人信息的欺詐性網站上。

下面是DNS劫持的具體流程:

API安全的發展趨勢展望

在上述DNS劫持過程中,攻擊者通過惡意軟件、或是對某些未授權DNS服務器的修改,來將查詢請求重定向到持有其他域名的服務器上。也就是說,您本想訪問www.mybank.com,卻實際上來到了www.notmybank.com,而且自己渾然不知。

DNS安全擴展(DNSSEC,

https://dzone.com/refcardz/introduction-to-dns-security?chapter=1)是針對此類問題而創建的安全協議。DNSSEC協議通過對數據進行數字簽名來保護其有效性,並防止其受到攻擊。為了確保實現安全的DNS查找,此類簽名必須在DNS查找過程的每個順序級別上進行。

2. 聚焦安全的API設計

一提到安全,人們往往想到的是複雜性、甚至是不便。因此,API設計的易用性和可擴展性,才是吸引API開發人員、乃至用戶的關鍵戰略秘訣。在實踐中,當您開始著手為某個微服務構建公開的API時,就應該認真考慮如何設計API的安全性。

只有在設計之初融入了安全性,特別是用戶隱私方面的管控,才能節省後續補救與整改的時間和資源。業界著名的RestCase API平臺正是通過各種AI和複雜的算法,以方便用戶在設計階段去檢查和驗證自己的API。同時,它能夠給出如何處置API安全性方面的各種建議。

3. 人工智能(AI)驅動的API安全性

目前,在不同的行業,開發人員通過將系統的API與海量的數據相集成,在計算機視覺、空間位置、嵌入式應用、Web網格、移動文本數據、以及自然語言處理等領域,得到了很好的商業智能化應用,和對發展趨勢的預判。通過對於不同實時數據源的持續檢測與分析,各類應用具備了更快、更智能的響應能力。

與此同時,我們應該利用好豐富的數據資源,運用AI相關的趨勢分析能力,對於調用API的流量進行深度分析,進而偵測到各種歷史攻擊與異常,並通過自動化的修補措施,以防止後續攻擊的再次發生。例如,某些針對特定API的DoS攻擊源,會在網絡中掃描並攻擊那些設計方案欠佳,且未對訪問請求實施流速限制的API。有時候,某些API節點會在算力(computation)上非常消耗資源。例如:那些需要通過哈希算法來進行身份驗證的邏輯。因此,一些經驗豐富的攻擊者,經常會有目的性地利用並向此類節點發送垃圾郵件,以拖垮或破壞整個系統。

4. 機器學習(ML)驅動的API安全性

如果說AI主要是用於對攻擊進行智能判斷的話,那麼ML則主要能夠用於提取威脅的特徵。通過開發帶有ML功能的智能API,運維人員能夠有效地管理各種具有挑戰性和新出現的威脅模型。運用此類API的安全性,我們將能夠更加準確地識別和標記出各種異常行為,判斷出惡意攻擊的發展趨勢,以及識別和阻止在多種環境、及情況下針對API的攻擊行為模式。可以說,有了持續學習功能對於API的加持,我們便可以在無法預知攻擊源、以及預設應對策略的情況下,及時識別出正在發生的異常行為。

目前,廣泛用於各種API安全方面的機器學習算法,包括:樸素貝葉斯、KNN最近鄰(K-Nearest Neighbors)、決策樹、隨機森林、支持向量機、深度學習、以及神經網絡等。

總結

隨著現代化技術的日新月異,API安全性已日漸成為了網絡應用方面的主要技術需求之一。目前,AI和ML作為有效且智能的工具,已經逐漸被應用到了協議棧的各個層面上,以實現API的全棧安全防護。當然,就下一步發展趨勢來看,開發人員需要進一步加大對於API業務模型、分析能力、技術藍圖、以及合規性與標準化方面的深入研究與開發。

原文標題:State of API Security,作者:Guy Levin


分享到:


相關文章: