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