請不要忽略API的安全性

2021-06-18 23:06:50 字數 1844 閱讀 8397



不管你採用什麼樣的技術或是平台總會輕易遭到攻擊,沒有任何方法可以保證百分之百安全。 俗話說:「道高一尺,魔高一丈」。但你可以做的是達到適當的安全級別並且時刻準備解決安全問題。原文作者ole lensmar發表了一篇博文《please stop ignoring api security

》,筆者對原文進行了摘譯:

6月初,owasp更新了其十大安全漏洞列表,這也是自2023年至今首次更新。通過評估看以看出,安全一直是應用程式首要關注的問題,尤其是在api領域,因為大部分公司正在將核心資產及業務流程提供給其他人整合,旨在將其打造成為生態系統中乙個至關重要的一部分(藉此轉化為貨幣利益)。

如今,入侵攻擊風險、竊取資料或者dos攻擊等無處不在。這些風險看起來似乎很渺小,但是其帶來的後果卻是巨大的。從playstation**7700萬賬戶被暴露,再到最近2月份twitter的安全漏洞導致250,000賬戶被暴露,安全問題逐漸引發人們重視。

但奇怪的是,測試安全漏洞並確保應用程式或者api不被安全漏洞攻擊,很多開發團隊要麼不知道要麼就忽略了。2023年starwest和stareast (總部位於福羅里達州的software quality engineering)有超過70場會議都在討論安全漏洞問題。最近我曾與一家分析公司**關於缺乏對api安全問題的「困惑」,包括**商、api贊助商以及api客戶似乎都沒有在這塊領域上投入太多精力。

對此,我有幾點想法:

首先,簡單的無知。「這個不會發生在我們身上,或者我不知道你在說什麼。」 很多人都有這種想法:沒有人會在意攻擊你的應用程式、api、技術元件或者你使用的語言不會輕易受到攻擊,然而這種想法是錯誤的。

其次,盡早採納新、酷技術。正如上文所述,開發團隊往往不關心**安全隱患,這個現實中很常見,當然這也同樣適用於開發人員新元件和框架。然而這樣存在很高的風險,開發者的關注的重點更多是在新增新特性或是否破壞它們的風格上,而不是擔心他們的敏感資訊是否被暴露或者api是否輕易被攻擊。

最後,安全涉及的領域很廣泛,這就意味著不同的人看法也不同。有的人注重認證和授權;有的人注重ssl、加密和簽名;還有的人則注重vpns、防火牆及byod。倘若新增永無止境的列表標準和縮略詞組合(ws-security,saml,oauth,ssl等)會存在較高的風險,在專案開發中通常只有極少部分領域被評估。

此外,在計算機領域還存在這樣的趨勢:

1.  將應用和資料遷移至雲端,最終把它們設定在乙個環境中,而雲中的資料比私人資料中心的資料更容易被竊取,無論你有多少防火牆和路由器配置。

2.  暴露核心資料業務和流程api使得它們被潛在的商業合作夥伴(good)及黑客(bad)更容易竊取。

3.  大資料/nosql,包括儲存盡可能多的資料——也存在風險,倘若它們落在了有些人手中,這個資料可能會被濫用。

1.確保在你的需求和封裝過程(backlog processes)中新增安全係數,包括效能,功能,易用性等。

2.積極投身安全問題、測試。確保開發人員和測試人員了解常見的安全漏洞,以及如何加以防範,這就好它們知道常見的效能缺陷知道如何避免一樣。

3.在專案初期進行測試和評估安全問題,不要遺留在最後生成前才進行。

4.利用可用工具或者本地的解決方案持續監視應用程式安全問題——就像監控效能及功能。尤其是當你處在乙個快速的移動架構擁抱開發和持續部署時間、新組建或者更改。,由此而產生有害的***。

5.利用免費的工具和資源來獲取漏洞相關概述以及如何確保它們不會對你產生影響。

歸根結底,安全問題很難,它需要大量的時間和深入掌握技術要領。因此,請不要把安全歸咎為「別人」的問題——尤其是那些因「別人問題」造成的,如果你妥協了,那麼這很可能會導致你的使用者或者客戶遭受更大傷害。

英文出自:smartbear

api安全性設計

介面的安全性主要圍繞token timestamp和sign三個機制展開設計,保證介面的資料不會被篡改和重複呼叫,下面具體來看 token授權機制 使用者使用使用者名稱密碼登入後伺服器給客戶端返回乙個token 通常是uuid 並將token userid以鍵值對的形式存放在快取伺服器中。服務端接收...

API介面安全性設計

介面的安全性主要圍繞token timestamp和sign三個機制展開設計,保證介面的資料不會被篡改和重複呼叫,下面具體來看 token授權機制 使用者使用使用者名稱密碼登入後伺服器給客戶端返回乙個token 通常是uuid 並將token userid以鍵值對的形式存放在快取伺服器中。服務端接收...

開放介面API安全性

開放介面時最基本需要考慮到介面不應該被別人隨意訪問,而我也不能隨意訪問到其他使用者的資料,從而保證使用者與使用者之間的資料隔離。這個時候我們就有必要引入token機制了。具體的做法 在使用者成功登入時,系統可以返回客戶端乙個token,後續客戶端呼叫服務端的介面,都需要帶上token,而服務端需要校...