如何在移動和桌面上構建安全軟件
已發表: 2019-03-06在現代世界中,安全問題比以往任何時候都受到更多關注。 隨著每枚硬幣價值數十萬美元的加密貨幣的興起,各種黑客和詐騙者開始蓬勃發展。 名人的敏感數據、銀行憑證、有關匯款或新技術的信息——網絡流氓受益於一切,因為人們往往忽略關鍵的保護措施。
然而,一條魚從頭向下發臭。 如果沒有軟件開發人員設計的適當安全功能,就不可能在客戶端保護您的數據。 考慮到移動設備由於不斷增加的功能而越來越受歡迎,而桌面/網絡平台仍然是頂級的,我們想了解作者如何使他們的產品兼容和安全。 您將在最後一節中找到針對用戶的提示。
安全概述
首先,讓我們區分應用程序安全和安全軟件。 這些術語可能看起來是同義詞,但它們與不同方面相關,其中第一個定義代表已發布產品的整體安全性,第二個定義涵蓋部署後和部署前階段。
基本上,軟件應用程序是幫助用戶通過移動設備或桌面平台與數據交互的簡單工具。 比如說,如果您想查看健康記錄或獲取有關您最近交易的信息,使用智能手機或醫院/銀行網站比打電話或訪問這些地方要方便得多。
問題是軟件無法識別按其敏感性分類的數據類型。 如果沒有手動編程的類別和訪問權限,應用程序無法將您的姓名與信用卡的 CVV/CVC 號碼區分開來。 因此,從最初的開發階段就開始構建適當的安全系統非常重要。 以下是有關此過程的一些提示:
- 執行安全編碼。
- 對數據進行分類並設置授權要求。
- 找到錯誤並擺脫它們。
- 評估每個開發階段的安全性。
- 檢查第三方東西的可靠性。
- 向開發人員介紹詐騙技術。
- 要求員工進行 2FA。
- 軟件發布後定期升級。
已知的安全問題
如果不了解移動和桌面平台如何容易受到黑客攻擊,幾乎不可能創建可靠的受保護應用程序。 簡而言之,有幾種傳統方法可以破解具有不同架構的設備,因此我們建議現在對其進行檢查。 當您為移動和桌面產品計劃最佳安全措施時,這些要點應該會在設計階段有所幫助。
智能手機和平板電腦
移動生活方式必須使用移動設備。 因此,現在很多人將他們的核心數據從計算機傳輸到智能手機,或者至少在兩個平台之間同步信息。 結果,我們又得到了一個點,騙子可以訪問有價值的數據。 從技術上講,存在三個易受攻擊的方面:
- 設備的硬件。
- 軟件本身。
- 公共網絡。
例如,竊賊可以輕鬆地在人群中偷走您的手機,對其進行 root 操作,然後訪問系統內的所有內容。 如果您從非官方經銷商處購買小工具,也可能會操縱硬件。 除了這個弱點之外,眾所周知,黑客還通過未受保護的公共 Wi-Fi 網絡侵入智能手機和平板電腦。 最後,如果惡意軟件是從非官方商店下載的,那麼通過普通遊戲或媒體應用程序安裝惡意軟件毫無價值。
網頁和桌面
如果瀏覽器和下載的軟件需要 Internet 連接,它們的工作方式通常相似。 在這裡,應用程序充當客戶端發送請求並獲取結果,而主數據庫(如果您使用瀏覽器瀏覽網站,則為接口)位於連接的服務器上。 因此,安全挑戰分為三個部分:
- 客戶端。
- 服務器端。
- 數據交換過程。
最危險的問題與遺留軟件有關,因為在線流氓很容易闖入不再受更新系統保護的舊界面。 同樣,頁面緩存、不良加密服務和 cookie 暴露的地址/敏感信息是黑客可以利用的潛在薄弱環節。

開發安全軟件
現在的問題是:如果這兩個平台具有不同的弱點,如何為這兩個平台創建一個可靠的系統? 一般來說,有三種方法。 您可以選擇最合適的,但請務必考慮每個示例的優缺點。
移動和桌面
在這種情況下,開發人員應該分別創建兩個產品(用於移動平台和瀏覽器/桌面)。 應用程序不是互連或同步的,因此請準備好在金錢和時間上花費高昂的費用,因為您的團隊將不得不投入兩倍以上的資源。 因此,將發布兩個獨立的應用程序,每個應用程序都有專門為目標平台設計的保護。
移動與桌面
此選項用於啟動一個高度自適應的網站,因此它將為 Web 和移動用戶正確顯示所有元素。 因此,您會得到一個基於上述 Web 漏洞的只有一個弱點的單一平台。 儘管如此,最終產品的功能將不如原生移動平台,內容加載速度較慢,整體功能將受到限制。
移動加桌面
無需創建單獨的項目或設計具有移動兼容性的網站,而是最有效和最安全的選擇。 包括 Diceus.com 開發人員在內的各種團隊都使用這種方法。 需要創建一個後端平台,但在其上安裝兩個不同的前端系統。
例如,可以使用 RESTful API 實現基本軟件,該 API 支持移動和桌面的可擴展架構。 此外,React.js 是 Web 前端的不錯選擇,而 Xamarin 或 Cordova 框架將滿足移動跨平台開發人員的需求。
轉向安全措施,移動桌面方法有一些經過時間驗證的方法:
- 提供一流的加密。 對於網絡版本,有必要擁有防止黑客入侵的實際加密技術。
- 包括檢測。 如果前端系統與後端平台有很強的聯繫,您將能夠隨時發現惡意軟件。
- 包括自我保護。 應用程序可以利用運行時特性,例如放棄非活動會話或失敗通知。
- 定期測試軟件。 使用 SAST 進行代碼測試,使用 DAST 進行應用程序和基礎架構,使用 IAST 進行數據檢查。
- 更新和支持產品。 隨著流氓發明新的攻擊,最好用新的防禦措施快速做出反應。
所描述的開發模型在資源、特性和安全性方面是最平衡的。 您必須創建和保護三個點(一個後端和兩個前端),而不是單獨產品的四個元素,但您可以獲得幾乎相同的功能。
用戶驅動的保護
歸根結底,不要忘記客戶端安全性。 開發人員可以創建最好的系統,但用戶的疏忽會毀掉一切。 在使用任何類型的特定軟件時,請記住互聯網衛生:不要信任可疑電子郵件、仔細檢查網站的加密證書、使用防病毒軟件等。始終啟用 2FA 以通過 SMS 或身份驗證應用程序獲取額外的驗證碼。 使用智能手機和平板電腦的指紋或面部檢測等生物特徵識別工具。
總體而言,當開發人員和用戶都知道如何保護數據時,保護數據並不難。 如果我們所有人都嚴格遵守安全規則,黑客就會丟掉工作。
對此有什麼想法嗎? 在下面的評論中讓我們知道,或者將討論帶到我們的 Twitter 或 Facebook。
編輯推薦:
- 採訪流媒體軟件公司 Lightstream 首席執行官 Stu Grubbs
- 2019 年你應該關注的 10 位軟件開發者
- 5 家最受歡迎的遊戲軟件提供商
- 這是最大和最成功的 iGaming 軟件提供商
- 您的防病毒軟件會降低您的互聯網速度嗎?