API 攻擊分析:黑客利用大量IP低頻爬取敏感數據
近日,某互聯網公司在使用永安在線API安全管控平臺時捕獲到一起數據泄露風險事件,攻擊者使用大量動態代理秒撥IP對該公司某用戶信息查詢API進行低頻的敏感數據爬取攻擊。
永安在線API安全團隊及時響應此次風險事件,定位到了有缺陷的API,并提煉了此次風險事件的攻擊特征,幫助該公司及時調整安全應對策略,避免了大規模的用戶信息泄露。
事件分析
據了解,該公司的網站面向公眾提供考生信息查詢的API,用戶輸入姓名與身份證號,便可獲取到包括個人照片、分數、準考證號、證書編號、所屬學校等考生相關的敏感信息。考生信息對于詐騙團伙用于電信詐騙、招生機構進行精準營銷推廣有著極高價值:
2016年,某學生被詐騙案,詐騙者掌握該考生信息,以助學金發放為理由,向該學生實施詐騙,使其不幸離世;2019年,某省普通話成績查詢網站由于配置不當將考生信息暴露在網站中,導致405名考生信息泄露;永安在線數據資產泄露風險監測平臺在暗網和QQ群經常能監測到考生信息的數據在販賣……
考慮到數據敏感性,從數據安全考慮,該網站信息查詢API使用圖片驗證碼進行人機校驗,并采用了基于IP的限頻策略,但這遠遠不夠。攻擊者在高價值數據的誘惑下,借助打碼平臺和大量的動態代理秒撥IP繞過該網站的安全防護策略,對信息查詢API發起了低頻的爬取攻擊,以獲取考生信息。
下面從多個角度來還原此次攻擊情況:
1. 從攻擊時間來看
攻擊者的攻擊趨勢與工作時段高度重合,主要集中于白天攻擊。
為讓攻擊流量看起來更“正常”,攻擊者往往會在工作時段(即白天)發起攻擊,并在晚上進行次數限制,防止異常時段(晚上)發起請求容易被企業感知到數據異常,從而長期獲益。

2. 從攻擊者使用的身份證和姓名信息來看
此次攻擊使用的身份證/姓名組均一一對應,沒有出現身份證對應多個姓名或者一個姓名對應多個身份證的情況,統計查詢成功率為97%,由此排除暴力破解的可能。
通過分析發現,攻擊者日均爬蟲查得率在17.8%,推斷這批身份證/姓名組可能是攻擊者從其他平臺獲取到的,并在該平臺進行爬取嘗試攻擊。
查詢成功率:指身份證和姓名相匹配,能在網站上成功發起查詢。
查得率:指成功發起查詢后,網站成功反饋相應的考生信息。
3. 從攻擊者使用的源IP信息來看
為了繞過IP限頻的安全策略,攻擊者借助打碼平臺和動態代理平臺,每天使用12790個動態代理秒撥IP對該查詢接口進行爬蟲攻擊,平均每個IP的攻擊次數為1.96次,最高的攻擊次數也才10次。

基于永安在線的風險情報,對此次攻擊事件的源IP進行溯源分析,發現有93.79%的IP近一個月在阿布云平臺中活躍,因此猜測攻擊者大概率是使用阿布云代理提供的IP資源發起了這次攻擊。

此外,從IP所屬地域信息來看,將近一半的IP來自安徽省和江蘇省,其他的零散分散在多個地方。

但通過對IP和身份證的地域一致性進行分析,在25146次的請求中,有23227次(占比92.37%)存在身份證歸屬與IP地理位置不一致,這說明攻擊者在攻擊時并沒有精心構造身份證歸屬地和源IP的對應關系。
這類身份地址和IP地址不一致的比例信息很高是安全運營人員在日常的運營中需要特別關注的。
4. 從攻擊者行為的維度來看
相較于正常用戶的查詢業務,攻擊者缺少請求查詢頁面API的行為。此外,相較正常業務在調用獲取圖片驗證碼API與查詢考生信息API時,會攜帶查詢頁面API的referer信息,而攻擊者構造的攻擊請求都沒有referer字段。平臺運營人員可以對該類非正常行為邏輯的請求進行限制。

5. 從攻擊者使用的UA維度來看
推測存在兩批攻擊團伙,一個攻擊團伙使用較新的瀏覽器版本進行攻擊,另一個攻擊團伙,偽造了一個老版本的Chrome瀏覽器發起攻擊,由此看出在日常運營過程中,企業是需要重視這類老版本客戶端發起的請求流量。
團伙一的User-agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36
團伙二的User-agent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36
總結和安全建議
1.關于數據泄露
數據泄露在網絡安全中屬于是一個老生常談的話題,根據 Imperva 發布的最新報告,自 2017 年以來,全球網絡攻擊泄露數據記錄的數量平均每年增長高達 224%。僅 2021 年 1 月報告的泄露記錄(8.78 億)就超過了 2017 年全年(8.26 億)。
根據永安在線數據泄露情報監測顯示,數據泄露從早些年的系統入侵后拖庫帶來的泄露,到后來通過SDK上報、運營商的DPI和短信通道帶來的泄露。隨著企業安全措施的不斷加強以及更多的企業數據數字化和在線化(越來越多的數據是通過API來進行流轉),通過企業提供的API來爬取數據帶來的數據泄露占比越來越高。

2016年,劍橋分析公司通過Facebook提供的開放API獲得了多達8700萬用戶的個人信息;2020年,攻擊者通過對某社交平臺通訊錄上傳API進行暴力爬取,導致用戶綁定手機號、ID、昵稱、所在地和頭像等5.3億條個人信息泄露;2021年,攻擊者通過某網購平臺API 爬取了11億條個人網上購物和商品評價信息……
Gartner在其“如何建立有效的API安全策略”報告中預測,“到2022年,API濫用將成為導致企業Web應用程序數據泄露的最常見攻擊媒介。”
2.防御與檢測
《數據安全法》、《個人信息保護法》先后正式實施,意味著國家對數據安全的重視及監管力度與日俱增。對企業而言,保護用戶的信息安全是基本責任之一,泄露用戶信息會缺失公信力,損毀公司品牌形象,建議企業從下面每一個小處開始,持續提升企業自身數據安全保護能力。
以下是針對API低頻爬蟲攻擊的防御和檢測的建議:
a. 加強API基礎的防護措施
- 針對涉及到敏感數據的API,使用破解復雜度比較高的行為驗證碼,如滑塊驗證碼、空間推理驗證碼等,雖然可以通過打碼平臺繞過,但在一定程度上提高了攻擊的成本,減緩了黑產的攻擊效率;
- 增加訪問控制和授權管理,需要登錄驗證權限后才可以查詢歸屬該賬號權限的敏感數據信息;
- 針對一些特殊場景,還需要對查詢者身份進行二次驗證,實施諸如短信驗證、指紋認證、人臉認證等多因素身份認證;
- 針對需要開放訪問的API,可以采集訪問終端環境信息和行為信息,從訪問環境的聚類特征、歷史訪問頻率、訪問行為序列等方面構建爬蟲檢測模型識別異常爬取行為,通過構造虛假返回數據和動態驗證碼的方式來提高爬取的門檻。
b. 使用動態驗簽
- 可以對API的請求參數加上動態簽名之類的信息,如服務器隨機從多套已經準備好的加密算法中下發一套加密算法給到客戶端,客戶端對API請求的參數進行動態加密,再比較服務器端和請求端雙方簽名信息是否一致從而確保請求是否來自攻擊者自動化攻擊,由于加密算法是動態變換且做過混淆的,提高了攻擊者自動化爬取敏感數據的攻擊門檻。
c. 基于風險情報構建登錄API攻擊檢測系統
- 針對海量IP低頻的爬蟲攻擊,還需要借助基于IP風險情報、API攻擊情報構建的API攻擊檢測和感知工具,確保及時預警數據爬蟲攻擊事件,盡早采取措施,避免大規模數據泄露。
- 例如,永安在線基于風險情報構建的API安全管控平臺,能夠梳理系統所有的敏感數據API,評估API的認證授權、數據暴露和脫敏不一致等設計缺陷,基于風險情報構建API異常行為基線模型實時監測數據爬取行為,及時發現并阻斷低頻爬蟲攻擊風險。
寫在最后
數據資產逐漸成為了企業的基礎生產要素,數據通過API來進行流通交換創造價值,流動中的數據安全保護是企業當前急需要解決的數據安全難題。面對海量IP的低頻爬取攻擊,防守方不僅要從多個維度來構建防御體系,更需要基于風險情報來構建攻擊檢測模型,做到及早感知及時防御,從而保障企業及其用戶的數據安全。