---
title: "開發安全應用程式的五項建議"
locale: "zh-hant"
language: "zh-Hant-HK"
published: "2018-02-22T15:53:46+08:00"
updated: "2026-03-17T23:03:57.023Z"
canonical: "https://accordhk.com/blog/zh-hant/5%E5%80%8B%E9%96%8B%E7%99%BC%E4%B8%80%E5%80%8B%E5%AE%89%E5%85%A8%E7%9A%84%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E7%9A%84%E6%8C%87%E5%8D%97"
---

# 開發安全應用程式的五項建議

我們都記得雅虎臭名昭著的安全漏洞事件。在2013年，有30億用戶的帳戶受到了網絡攻擊影響。此事件成為了史上其中一宗最大規模的安全漏洞事件。 這類型的新聞以廣泛的方式，標記了2017年。 8月份，信用評級機構Equifax被揭發了大規模的數據洩露，當中受影響人數達1.43億人。根據安全公司，Gemalto，在2017年上半年，在全球有約20億的個人記錄受到了盜竊。 這種安全漏洞事件將會繼續不斷發生，因為最新政府使用的黑客工具，意外流出，使得黑客更容易使用惡意軟件竊取公司的數據。根據網絡安全公司的報告，到2021年，由於網絡犯罪，全世界將不得不每年蒙受6萬億美元的損失，這甚至比全球非法毒品交易造成的損失還要多。 這些令人畏懼的數字顯示了為什麼在啟動之前任何類型的軟件，網絡是至關重要的。這裡有五個秘訣去建立一個安全的解決方案： 1.防止SQL攻擊 SQL攻擊是OWASP Top 10 Web應用程式漏洞列表中的主要漏洞之一。 OWASP手機應用安全項目開始的原因，是為開發人員提供一些威脅網絡應用程式安全性的常見因素。SQL攻擊非常常見，並且在不可信源在應用程序中輸入數據時發生。常用的入口點包括購物車，註冊表單和登錄表單。SQL攻擊 是常見的，因為SQL是所有數據庫使用的通用語言，並且不需要太多的專業知識。SQL攻擊允許黑客更改現有數據。黑客也可以披露和銷毀所有數據，甚至更糟的是可以成為服務器的管理員。開發人員可以通過查詢參數化（Query Parametrization）來阻止SQL注入，在這種情況下，服務器在執行請求之前處理請求，以便它知道它是什麼類型的查詢。 2.加密一切加密是保護應用程序最關鍵的一步。 2014年，黑客襲擊了eBay，盜取了100名eBay 員工的信息。黑客從那裡他們獲得了大約1.45億用戶的數據。有趣的是，黑客在公司沒有注意的情況下篡改了eBay的系統229天。 這種情況發生在低質量加密的情況下。攻擊者可以安裝被盜的證書(certificate)，讓他們隱藏。當HTTPS解決方案無法訪問所有密鑰和證書時，這些流氓證書就無法被發現。 另外，值得一提的是，LinkedIn對其移動應用程式感到自滿。當公司推出新的日曆集成功能時，它將本地日曆數據公開地轉移到了互聯網上的LinkedIn服務器上，任何人都可以隨時查看 請參閱您的應用程序已加密，確保軟件和服務器之間的所有通信都通過HTTPS連接完成 3.確保密碼安全密碼安全在任何應用程序開發中都是至關重要的。 Adobe 2013年數據安全漏洞事件是有名的，事件起源於公司沒有安全地存儲密碼。通常，應用程序會存儲密碼未加密的錯誤，這使得它們更容易受到攻擊。 因此，您應該確保你的密碼不能從數據庫中恢復。要真正保護密碼，您可以使用密碼雜湊函數（cryptographic hash），以防止任何嘗混合和切碎輸入。 此外，您可以使用一種名為hash and salt的策略，從而將來自每個密碼的散列函数與一些被稱為’鹽‘（salt)的隨機添加混合在一起。 4.實施多因素認證 隨著世界正朝著多重要素驗證（multifactor authentication.）方向發展，僅使用密碼進行身份驗證就顯得過時了。 Google和Apple等許多網站和應用程序都提供多重要素驗證。支付應用程序Venmo及其安全漏洞事件證明了多重要素驗證 的重要性。 Venmo的一名客戶Griswold的賬戶受到了損害，他發現的時候只剩下3000美元。 雖然目前尚不清楚攻擊者是如何獲得訪問賬戶的，但Venmo因為不支持多重要素驗證而受到批評。 雙重要素驗證的最常見形式是通過手機應用程序。 但是，它不太安全。 最近，Twitter更新了平台的安全性，允許用戶實施第三方認證。 Twitter用戶現在可以使用Google Authenticator等第三方應用進行驗證。 5.進行安全審計 所以，你認為你已經盡了一切來保護你的應用程式，並且對任何攻擊都是免疫的？ 再想一想。 您也可能已經測試並重新測試了您的軟件，但並不能保證您的安全性是無懈可擊的。 這是因為開發人員自己編寫代碼，這使得他們更容易忽視或忽視具體的因素。 這就是為什麼有必要從不同的角度來看你的解決方案。 要進行成功的審計，您首先需要確定您的要求是什麼。 此外，您需要確定您的應用程序可能容易受到的風險類型，以便設計適當的測試。 您也可以使用自動工具進行工作。 這些工具顯著降低了成本，並增加了覆蓋範圍。 總結隨著世界變得越來越密切，我們對軟件解決方案的依賴越來越大。而且，隨著網絡犯罪的興起，任何網絡應用程序都無法生存，特別是PayPal，AliPay，Venmo等支付系統。網絡安全日益變得更具挑戰性，因為黑客越來越聰明，越來越複雜。黑帽常常在安全白帽之前。 一個有經驗的黑客只需要 10分鐘來破解一個六字符的密碼。

## 重點摘要

保障應用程式安全的五項措施是防範SQL攻擊、加密通訊、以雜湊及加鹽保護密碼、實施多因素驗證，以及進行安全審計。

我們都記得雅虎臭名昭著的安全漏洞事件。在2013年，有30億用戶的帳戶受到了網絡攻擊影響。此事件成為了史上其中一宗最大規模的安全漏洞事件。 這類型的新聞以廣泛的方式，標記了2017年。 8月份，信用評級機構Equifax被揭發了大規模的數據洩露，當中受影響人數達1.43億人。根據安全公司，Gemalto，在2017年上半年，在全球有約20億的個人記錄受到了盜竊。

 

這種安全漏洞事件將會繼續不斷發生，因為最新政府使用的黑客工具，意外流出，使得黑客更容易使用惡意軟件竊取公司的數據。根據網絡安全公司的報告，到2021年，由於網絡犯罪，全世界將不得不每年蒙受6萬億美元的損失，這甚至比全球非法毒品交易造成的損失還要多。

 

這些令人畏懼的數字顯示了為什麼在啟動之前任何類型的[軟件](<https://www.accordhk.com/>)，網絡是至關重要的。這裡有五個秘訣去建立一個安全的解決方案：

 

1.防止SQL攻擊

 

SQL攻擊是OWASP Top 10 Web[應用程式](<https://www.accordhk.com/>)漏洞列表中的主要漏洞之一。 OWASP手機應用安全項目開始的原因，是為開發人員提供一些威脅[網絡應用程式](<https://www.accordhk.com/>)安全性的常見因素。SQL攻擊非常常見，並且在不可信源在應用程序中輸入數據時發生。常用的入口點包括購物車，註冊表單和登錄表單。SQL攻擊

是常見的，因為SQL是所有數據庫使用的通用語言，並且不需要太多的專業知識。SQL攻擊允許黑客更改現有數據。黑客也可以披露和銷毀所有數據，甚至更糟的是可以成為服務器的管理員。開發人員可以通過查詢參數化（Query Parametrization）來阻止SQL注入，在這種情況下，服務器在執行請求之前處理請求，以便它知道它是什麼類型的查詢。

 

2.加密一切加密是保護應用程序最關鍵的一步。 2014年，黑客襲擊了eBay，盜取了100名eBay 員工的信息。黑客從那裡他們獲得了大約1.45億用戶的數據。有趣的是，黑客在公司沒有注意的情況下篡改了eBay的系統229天。 這種情況發生在低質量加密的情況下。攻擊者可以安裝被盜的證書(certificate)，讓他們隱藏。當HTTPS解決方案無法訪問所有密鑰和證書時，這些流氓證書就無法被發現。 另外，值得一提的是，LinkedIn對其[移動應用程式](<https://www.accordhk.com/>)感到自滿。當公司推出新的日曆集成功能時，它將本地日曆數據公開地轉移到了互聯網上的LinkedIn服務器上，任何人都可以隨時查看 請參閱您的應用程序已加密，確保軟件和服務器之間的所有通信都通過HTTPS連接完成 3.確保密碼安全密碼安全在任何應用程序開發中都是至關重要的。 Adobe 2013年數據安全漏洞事件是有名的，事件起源於公司沒有安全地存儲密碼。通常，應用程序會存儲密碼未加密的錯誤，這使得它們更容易受到攻擊。

因此，您應該確保你的密碼不能從數據庫中恢復。要真正保護密碼，您可以使用密碼雜湊函數（cryptographic hash），以防止任何嘗混合和切碎輸入。 此外，您可以使用一種名為hash and salt的策略，從而將來自每個密碼的散列函数與一些被稱為’鹽‘（salt)的隨機添加混合在一起。

 

4.實施多因素認證

隨著世界正朝著多重要素驗證（multifactor authentication.）方向發展，僅使用密碼進行身份驗證就顯得過時了。 Google和Apple等許多網站和應用程序都提供多重要素驗證。[支付應用程序](<https://www.accordhk.com/>)Venmo及其安全漏洞事件證明了多重要素驗證

的重要性。 Venmo的一名客戶Griswold的賬戶受到了損害，他發現的時候只剩下3000美元。 雖然目前尚不清楚攻擊者是如何獲得訪問賬戶的，但Venmo因為不支持多重要素驗證而受到批評。

 

雙重要素驗證的最常見形式是通過手機應用程序。 但是，它不太安全。 最近，Twitter更新了平台的安全性，允許用戶實施第三方認證。 Twitter用戶現在可以使用Google Authenticator等第三方應用進行驗證。

 

5.進行安全審計

所以，你認為你已經盡了一切來保護你的[應用程式](<https://www.accordhk.com/>)，並且對任何攻擊都是免疫的？ 再想一想。 您也可能已經測試並重新測試了您的軟件，但並不能保證您的安全性是無懈可擊的。 這是因為開發人員自己編寫代碼，這使得他們更容易忽視或忽視具體的因素。 這就是為什麼有必要從不同的角度來看你的解決方案。

要進行成功的審計，您首先需要確定您的要求是什麼。 此外，您需要確定您的應用程序可能容易受到的風險類型，以便設計適當的測試。 您也可以使用自動工具進行工作。 這些工具顯著降低了成本，並增加了覆蓋範圍。

總結隨著世界變得越來越密切，我們對軟件解決方案的依賴越來越大。而且，隨著網絡犯罪的興起，任何網絡應用程序都無法生存，特別是PayPal，AliPay，Venmo等支付系統。網絡安全日益變得更具挑戰性，因為黑客越來越聰明，越來越複雜。黑帽常常在安全白帽之前。 一個有經驗的黑客只需要 10分鐘來破解一個六字符的密碼。 這些網絡盜竊行為使他們做了很多事情，並且不會很快停止。 由於市場上有大量的選項可供選擇，並且開關費用較低，所以客戶在選擇另一種解決方案而不是您自己之前不要猶豫。一旦聲譽受損，很難從中恢復過來。 這篇客人的文章是由阿什利羅莎貢獻。她是一名自由作家和博客作家。寫作是她的熱情，為什麼她喜歡寫關於最新的技術趨勢的文章，有時候也寫一些關於健康技術的文章。

Link :http://techacute.com/5-tips-develop-secure-application/

## 常見問題

### 開發安全應用程式有哪些主要措施？

本文建議防範SQL攻擊、加密通訊、保障密碼安全、實施多因素驗證，以及進行安全審計。

### 開發人員如何防止SQL注入？

本文建議採用查詢參數化，讓伺服器在執行請求前先處理請求，以識別查詢類型。購物車、註冊表格及登入表格都是SQL攻擊的常見入口。

### 應如何安全地儲存密碼？

應確保密碼無法從資料庫中還原。本文建議使用密碼雜湊函數，並採用雜湊加鹽策略，將每個密碼的雜湊值與隨機的「鹽」結合。

### 軟件已經反覆測試，為何仍需要安全審計？

反覆測試並不能保證安全性無懈可擊，開發人員也可能忽略自己所寫程式碼中的某些因素。安全審計可提供不同角度，並根據應用程式的要求及潛在風險設計測試。
