優步數據洩露:如何防止您的應用發生此類事件
已發表: 2017-11-282016 年,Uber 將 5700 萬用戶和司機信息洩露給了黑客,黑客隨後支付了 10 萬美元來刪除這些數據。
幾天前,當他們的首席執行官 Dara Khosrowshahi 發表了一篇文章,揭露了數據洩露事件時,這一事件就出現了。 從那時起,應用程序安全案例成為焦點。
優步並不是第一起數據洩露事件,用戶的個人數據曾多次遭到洩露:這一事件讓人們對使用詢問其信息的移動應用程序持謹慎態度。
鑑於應用程序安全問題,這是顯示移動應用程序用戶立場的視覺效果 -
看看有多可怕?
但是,您可以防止您的應用程序成為下一個案例研究,以提醒品牌將他們的應用程序安全遊戲放在重要位置。
就是這樣 -
1.從零開始保護您的應用
應用程序的源代碼中存在許多漏洞,但大多數應用程序公司只關注網絡部分,同時專注於實施移動應用程序安全最佳實踐。 有很多地方可能成為數據洩露的基礎——編碼錯誤、代碼測試等。
以下是您可以採取的措施來保護您的應用程序從其存在之日起 -
- 通過加密保護您的應用程序代碼。 有兩種方法可以做到這一點——縮小和混淆,但這還不夠。 建議您堅持使用與 API 加密相結合的支持良好的算法。
- 經常對您的代碼運行源代碼掃描
安全代碼的標誌是即使在操作系統和設備之間移植後它仍然是安全的。 創建敏捷代碼在這方面非常有幫助。
2.從後端保護網絡連接
您的應用程序 API 訪問的雲服務器需要有適當的安全措施,以防止未經授權的訪問並保護用戶的數據。 API 驗證應該到位,以使零敏感信息從客戶端傳遞到應用程序數據庫或服務器。
為了使這一步成功,您的後端開發過程必須是健壯的。
以下是保護網絡連接的方法
- 創建用於存儲文檔和數據的加密容器
- 對您的網絡進行一系列漏洞評估和滲透測試,以確保數據受到保護。
- 使用 SSL、VPN 和 TLS 加密數據庫和連接以增加安全性
- 應用聯合——該措施將資源分佈在服務器之間,使它們不在一個地方,同時將關鍵資源與用戶分開。
3.有適當的身份驗證、識別和授權流程
以下是使您的應用程序被識別、驗證和授權的方法
- 確保您的應用程序使用的 API 只是運行所需的 API,並且只允許訪問焦點所在的部分,而不是所有應用程序功能。
- 當您的應用程序處於開發階段時,您可以使用並確保遵循許多工具和協議。 他們來了 -
- JSON Web Token – 用於加密數據交換的輕量級工具,其簡單的實現使其成為移動應用程序的理想選擇。
- OpenID Connect – 這是一種協議,允許用戶在 ID 令牌的幫助下跨不同域重複使用他們的憑據,以節省他們每次註冊和註冊相同信息的時間。
- OAuth2 – 該協議用於通過一次性用戶特定令牌管理安全連接。 在授權服務器中安裝框架後,您可以通過收集諸如 2 因素 SMS 問題之類的憑據,在最終用戶和客戶端之間授予您的用戶權限。
4.做一套全面的測試
與 Web 應用程序不同,大多數移動應用程序數據都保存在本地,並且由於數據位於帶寬、性能和質量各不相同的設備上,因此被黑客入侵的風險要大得多。
除了設備的不穩定因素外,還有一些應用程序傾向於在用戶不知情的情況下發布數據,例如他們的性別、年齡、設備使用情況等。
確保客戶數據在應用程序上安全的方法 –
- 借助文件級加密,您可以逐個文件保護數據。 這是加密靜態數據的方法之一,以便在攔截時不被讀取。
- Appcelator平台等工具可確保本地存儲的移動數據安全。
密鑰管理應該是您的首要任務。 強大算法的基礎是其同樣強大的證書和密鑰。
5.計劃的 API 安全策略
由於移動開發與 API 緊密結合,使應用程序安全的主要部分取決於使其 API 安全。 API 在應用程序、雲和多個用戶之間傳輸數據。 需要識別和授權所有相關方才能查看和使用數據。 API 是功能、內容和數據的基石,因此確保其安全可能需要很長的路要走。
您需要處理 API 中的三個階段,即識別、身份驗證和授權。
讓我們看看下面所有三個的元素 -
鑑別
過程的第一部分,可以通過實現 API 密鑰來防止識別黑客。 這些密鑰是隨機的、唯一的標識符,無需密碼。
雖然您可以使用 API 密鑰保護何時看到數據,但您無法確定應該看到它的人看到了它。
驗證
這是保證信息被本來打算查看它的人看到的過程。 在此階段,您設置用戶名和密碼以確保系統獲得額外的安全級別。
授權
這一步回答了這個問題——可以用 API 做什麼。 保護此過程的步驟包括 2 因素授權、令牌和一次性密碼。
6.測試應用
無論您的應用程序是混合應用程序、本機應用程序還是 Web 應用程序,都應不僅從可用性和功能方面進行測試,還應從安全性方面對其進行測試。 您必須遵循許多步驟來確保您的應用程序質量有保證,以確保其安全。
以下是確保您的應用程序經過安全測試的方法 -
- 滲透測試——這意味著探測網絡和系統以發現弱點。
- 使用模擬器測試應用程序在模擬環境中的性能。
- 詳細測試授權和認證、會話管理和數據安全問題。
因此,這些是您可以在應用程序開發過程中採用的 6 種方法,以確保您的方法不會成為眾人矚目的焦點。
確保您在有時間的同時及時融入。