新聞中心
Part 01、什么是API

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南山企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),南山網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
關(guān)于API的定義,先來看看維基百科上對API的描述。
“An application programming interface(API)is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.”
從這段描述中可以了解到,API是一個在應(yīng)用程序開發(fā)過程中會被經(jīng)常提及的東西,它的全稱是Application Programming Interface(應(yīng)用程序接口)。API通過定義一組函數(shù)、協(xié)議、數(shù)據(jù)結(jié)構(gòu),明確應(yīng)用程序中各個組件之間通信與數(shù)據(jù)交互方式。將Web應(yīng)用、操作系統(tǒng)、數(shù)據(jù)庫以及計算機軟硬件的能力以接口的形式提供給外部使用,而無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。
Part 02、常見API類型
在API的發(fā)展歷程中,根據(jù)其表現(xiàn)形式的不同,大致分為如下四種類型:
類庫型API
- 定義
類庫型API通常是一個類庫,它的使用依賴于特定的編程語言,開發(fā)者通過接口調(diào)用,訪問API的內(nèi)置行為,從而處理所需要的信息。
- 舉例
應(yīng)用程序調(diào)用微軟基礎(chǔ)類庫(MFC)
操作系統(tǒng)型API
-定義
操作系統(tǒng)型API通常是操作系統(tǒng)層對外部提供的接口,開發(fā)者通過接口調(diào)用,完成對操作系統(tǒng)行為的操作。
- 舉例
應(yīng)用程序調(diào)用Windows API或Linux標準庫
遠程應(yīng)用型API
- 定義
遠程應(yīng)用型API是開發(fā)者通過標準協(xié)議的方式,將不同的技術(shù)結(jié)合在一起,不用關(guān)心所涉及的編程語言或平臺,來操縱遠程資源。
- 舉例
Java通過JDBC連接操作不同類型的數(shù)據(jù)庫
Web應(yīng)用型API
- 定義:
Web應(yīng)用型API通常使用HTTP協(xié)議,在企業(yè)與企業(yè)、企業(yè)內(nèi)部不同 的應(yīng)用程序之間,通過Web開發(fā)過程中架構(gòu)設(shè)計的方法,以一組服務(wù)的 形式對外提供調(diào)用接口,以滿足不同類型、不同服務(wù)消費者的需求。
- 舉例:
社交應(yīng)用新浪微博的用戶登錄
在API技術(shù)的發(fā)展歷史中,業(yè)界習(xí)慣把前兩個階段的API稱為古典 API,后兩個階段的API稱為現(xiàn)代API?,F(xiàn)代API是當(dāng)前API技術(shù)的主要使用形式,以Web應(yīng)用型API為主?;诂F(xiàn)代API的服務(wù)對象不同、技術(shù)形式不同、使用者不同,可以對現(xiàn)代API做不同類型的劃分。
Part 03、API安全問題主要成因
近年來,越來越多的攻擊者開始將目標對準API,因為API被攻擊或者存在漏洞而出現(xiàn)的攻擊事件或數(shù)據(jù)泄露事件頻頻發(fā)生,例如:
- 2019年11月,Twitter出現(xiàn)過利用通訊錄匹配功能獲得百萬推特用戶賬號和手機號的數(shù)據(jù)泄露事件。
- 2020年3月,F(xiàn)acebook數(shù)據(jù)大規(guī)模泄露,包括用戶昵稱、郵箱、電話、家庭住宅等信息,涉及5億多用戶,
- 2020年4月,GitLab API問題導(dǎo)致私有項目的名稱空間泄露。
那么,導(dǎo)致API安全問題頻繁發(fā)生的原因是什么呢?
企業(yè)API安全意識不足
人們通常假設(shè)程序會按照想象中的過程運行,從而導(dǎo)致API被攻擊的可能性以及影響被嚴重低估,因此不去采取充分的防護措施。此外,第三方合作伙伴系統(tǒng)的API,也容易被組織所忽視。
技術(shù)革新導(dǎo)致API安全風(fēng)險增加
隨著云計算技術(shù)的廣泛應(yīng)用,越來越多的企業(yè)將應(yīng)用和數(shù)據(jù)遷移至云端,并暴露核心業(yè)務(wù)能力和流程相關(guān)的API為外部合作伙伴提供服務(wù),無形中使得API安全風(fēng)險增大。且很多技術(shù)開發(fā)人員熱衷于采納新的、酷的技術(shù),在技術(shù)路線上選擇新的特性,忽視API是否被攻擊,導(dǎo)致API安全風(fēng)險更不可控。
API自身安全機制不足
API為企業(yè)提供便利的對外開放能力的同時,也為攻擊者提供了攻擊的通道。API自身的安全機制存在缺陷,比如缺少授權(quán)訪問控制或異常檢測手段、缺少對API資產(chǎn)的生命周期管理,這些在攻防對抗中容易成為突破口。
Part 04、OWASP API Top 10
隨著針對API的攻擊日益嚴重,OWASP組織推出了OWASP API Security TOP 10項目,對目前API最受關(guān)注的十大風(fēng)險點進行了總結(jié),以警示業(yè)界提高對API安全問題的關(guān)注。
Part 05、企業(yè)API安全建設(shè)
針對企業(yè)API安全建設(shè),綜合了網(wǎng)上部分安全建議,以供大家參考:
- API資產(chǎn)管理
主動發(fā)現(xiàn)并構(gòu)建API資產(chǎn)列表,清理僵尸/影子API。統(tǒng)計各個API的詳情,包括API的請求方法、參數(shù)特征、業(yè)務(wù)用途、發(fā)現(xiàn)時間、活躍時間等,多維度繪制API資產(chǎn)畫像,實現(xiàn)對API資產(chǎn)的統(tǒng)一管理。
- API攻擊防護
綜合利用智能規(guī)則匹配及智能攻擊檢測引擎,持續(xù)監(jiān)控并分析流量行為,對安全攻擊進行實時防護。智能攻擊檢測引擎在用戶與應(yīng)用程序交互的過程中收集數(shù)據(jù),并利用統(tǒng)計模型來確定API請求/響應(yīng)的異常。
- 敏感數(shù)據(jù)管控
識別API訪問中的敏感數(shù)據(jù)并分類分級管理,對傳輸中的敏感數(shù)據(jù)可以進行模糊化或者實時攔截,防止敏感數(shù)據(jù)泄露。
- 訪問行為管控
對API接口的訪問行為進行監(jiān)控分析,通過多維度建立API訪問基線,及時發(fā)現(xiàn)批量注冊、撞庫、資源濫用等各類異常訪問行為,避免惡意訪問和接口濫用造成的業(yè)務(wù)損失。
Part 06、總結(jié)
如今API安全已經(jīng)成為提供API服務(wù)的企業(yè)之間以及企業(yè)內(nèi)部都需要關(guān)注的一個安全問題,一旦沒有很好的保護好提供服務(wù)的API,不僅會對用戶的使用體驗以及個人隱私帶來威脅和風(fēng)險,而且可能會使企業(yè)面臨安全威脅和風(fēng)險。隨著信息技術(shù)的快速發(fā)展,API安全防護也在持續(xù)演進過程中,企業(yè)要重點關(guān)注API安全的整個生命周期,加強系統(tǒng)化、自動化安全防護措施,向智能防護智能的方向演進。
參考文獻
[1] API安全技術(shù)與實踐 錢君生 楊明 韋巍
[2] https://mp.weixin.qq.com/s/pZM1qUgct-Xi3Cagi8WzvA
[3] https://mp.weixin.qq.com/s/vJ4xJwOuSI9RXVD4TI6XZQ
分享名稱:API安全淺析
鏈接地址:http://fisionsoft.com.cn/article/coeoopg.html


咨詢
建站咨詢
