廉價和高質量的設備在Android中得到廣泛使用,這創(chuàng)造了巨大的市場。 想要保持可見性并與客戶(或員工)互動的公司必須確保他們擁有移動應用程序等。但是,選擇可信賴的應用程序開發(fā)公司可能是一個挑戰(zhàn)。 Nix Solutions是一家網絡和移動軟件開發(fā)公司,也是Upwork(自2002年以來)排名最高的成員。 工作成功率為98%,在2,100多個工作中賺取了大約1,000萬美元。
該公司的GitHub開源產品組合可以在https://github.com/nixsolutions/portfolio中找到。鑒于該公司還具有Android開發(fā)方面的專業(yè)知識,因此下面概述了該公司所觀察到的與該平臺相關的最突出的安全問題。
API管理差API的
問題值得一提。鑒于這些負責應用程序,用戶,云之間的集成功能和數據交換,并且可以從其他方重用這些事實,因此開發(fā)人員必須非常了解這些交換的數據類型以及潛在的安全漏洞。
缺少二進制保護
如果缺少這種保護,則可以對代碼進行反向工程以引入質量差甚至惡意的序列(惡意軟件,病毒),從而導致用戶體驗受損,軟件制造商形象受損甚至財務欺詐和用戶數據失竊。因此,需要采用各種二進制強化技術,例如校驗和檢測,越獄檢測,調試器檢測等。此外,應使用代碼混淆和加密。
不安全的數據存儲
鑒于本機應用程序將所有數據和功能代碼存儲在設備上,因此與Web應用程序相比,它們更容易受到利用和病毒的攻擊。此外,盜竊用戶設備可能會導致個人數據濫用,并由此引發(fā)所有后果。明智的解決方案是在操作系統(tǒng)附帶的加密技術之外或至少將用戶數據和文件存儲在加密容器中的基礎上,實現額外的加密級別。
加密
技術破裂盡管開發(fā)人員進行了加密工作,但他們可能會犯一些錯誤,從而使惡意的方可以解密敏感數據。常見原因包括加密算法不安全,自定義協議或對內置加密的過度依賴。顯然,解決方案是使用強大的,公認的加密協議以及有效的實現。
緩存管理不善
一個潛在的錯誤是使緩存不受保護,并允許將敏感數據存儲在此處。為了解決這個問題,必須實現一個智能緩存清理周期。日志和瀏覽器cookie管理也是如此。
身份驗證措施使用
不當如今,設備具有許多增強安全性的功能,例如指紋掃描儀和面部識別(除了傳統(tǒng)功能,例如密碼,手勢解鎖等)。因此,最好使用迄今為止可用的最安全的功能(或它們的組合),而不會影響用戶體驗。尤其重要的是訪問令牌的實現(用戶每次訪問應用程序時均無需引入登錄憑據),例如:JSON Web令牌,OAuth2,OpenID Connect。
不安全的網絡連接和不良的服務器安全性
必須保護在應用程序服務器和用戶之間或用戶與Internet之間交換的數據免受第三方或意外泄漏的影響。一些建議包括:
by通過VPN建立加密連接,
?實施證書固定,
?承包網絡安全公司的服務以執(zhí)行滲透測試,
?對用戶數據庫(在服務器上)進行加密。
會話處理不佳
該概念通常表示在適當的情況下未從用戶退出會話的情況,這會導致會話時間過長,從而帶來風險和潛在利用風險(如果訪問令牌被盜或設備被盜) )。一種解決方案是針對應用程序內的任何重要操作,另外請求用戶憑據(例如密碼)。
安全性測試不足
由于對應用程序代碼的測試不足,引入了許多錯誤。開發(fā)人員需要測試其代碼是否存在漏洞(使用設備和瀏覽器模擬器)。此外,Google Play批準該應用程序時所采用的安全性測試并非全面解決方案,因此需要開發(fā)人員采取其他措施。
如果您有一個開發(fā)項目,并且正在尋找一家在適當實施所有安全措施的情況下執(zhí)行該工作的公司,請隨時與100多位已經簽約服務的客戶探討Nix Solutions的評論。