如何防止API接口被惡意調(diào)用
- 客戶端防護
1.客戶端雙向認證。在app中預置證書(跨平臺也是一致的方案),要求更高的話使用專用的證書設備,線下簽發(fā),例如銀行的U盾。
2.客戶端雙反hook,反調(diào)試,防逆向。
3.客戶端運行環(huán)境校驗,通過讀取硬件信息識別pc還是移動設備以及設備MAC相關信息。 - 傳輸層防護
1.傳輸協(xié)議防護,首先接口建議使用 HTTPS 協(xié)議,這樣至少會給破解者在抓包的時候提高一些難度。 - 服務端防護
1.驗證簽名與授權(quán)信息是否合法,是否失效。
2.參數(shù)合法性校驗,例如時間戳和參數(shù)簽名校驗。過濾一些非法參數(shù)。
3.數(shù)據(jù)加密,簽名可以采用非對稱加密,參數(shù)采用對稱加密,密匙采用非對稱的私匙。
4.定時更新簽名以及加密信息。
5.接口監(jiān)控,接口的使用設備,使用頻率,調(diào)用順序是否合法。
6.風控策略防護,有一點作用但是對于有明確指向性的攻擊意義不大,IP可以換,頻率可以變,很容易就繞過了,策略的設計上要注意盡量少用短命的規(guī)則,而且一般只對低級別的對抗有效。
7.通過風控平臺進行用戶行為分析,數(shù)據(jù)挖掘,然后通過機器學習形成風控模型,對風險進行全方位識別,預警以及管控。
目前市面上很多產(chǎn)品都支持API接口防御,比如主機吧的高防產(chǎn)品也支持API防御,有需要的可以聯(lián)系主機吧咨詢。