3,000 多個應用程序發現溢出 Twitter API 密鑰,機器人大軍面臨風險
想建立自己的軍隊嗎?由于 API 密鑰從應用程序中泄漏,CloudSEK 的工程師發布了一份關于如何在機器人和 Twitter 方面做到這一點的報告。
該公司的研究人員表示,他們發現了 3,207 個泄露 Twitter API 密鑰的應用程序,這些密鑰可用于訪問甚至完全接管 Twitter 帳戶。
Twitter 有用地公開了一個 API,以允許開發人員訪問微博平臺。有了它,開發人員可以使用諸如閱讀和發送推文和直接消息、關注和取消關注用戶等功能。事實證明,它有時會引起爭議,最近 Elon Musk 的法律團隊抱怨 API 速率限制。基本上,馬斯克聲稱他無法確定有多少 Twitter 賬戶是由機器人運行的,或者是不真實的。
相同的 API 已證明對開發人員來說是一個福音,他們的工作因該功能而變得更輕松,盡管它們偶爾也會對用戶造成刺激(例如,某些游戲會將最近的分數添加到用戶的 Twitter 時間線中。)
誰需要機器人軍隊?
然而,API 并不是真正的問題。問題在于為 API 訪問提供給開發人員的身份驗證密鑰以及這些密鑰的存儲方式。是的,根據安全機構的說法,密鑰有時以可訪問的方式存儲在代碼中。給出了開發移動應用程序的示例,其中 API 用于測試,然后將憑據保存在應用程序中。然后,隨著應用程序投入生產,密鑰并沒有被刪除。不法分子可以簡單地下載應用程序,對其進行反編譯并獲取 API 密鑰。
“因此,可以從這里收集大量 API 密鑰和令牌,為 Twitter 機器人大軍做好準備,”研究人員說。
至于用這樣的軍隊能做什么?CloudSEK 提出的場景包括傳播錯誤信息、從所謂的受信任帳戶發起惡意軟件攻擊、垃圾郵件和不可避免的網絡釣魚。
在 3,207 個泄露的應用程序中,有 57 個擁有 Twitter API 的高級或企業訂閱(據研究人員稱,每月費用為 149 美元),并且一些泄露的憑據屬于經過驗證的 Twitter 帳戶。230 人泄露了足夠的憑據以允許完整的帳戶接管。
可以做什么?答案只是很好的做法。雖然在現代開發世界中可能不是很流行,但 CloudSEK 建議進行適當的版本控制,包括代碼審查和批準。應旋轉鍵并建議將它們隱藏在變量中。
研究人員寫道:“應注意確保源代碼中不包含包含環境變量的文件。”
雖然在代碼中留下秘密對于我們每周的《誰,我?》來說似乎是一個有趣的軼事。列(Register 讀者承認他們在追求 IT 卓越的過程中所犯的錯誤),該報告證明了偽劣的編碼實踐仍然存在并且可能對受影響的組織和帳戶造成潛在的災難性后果。