如何在移动和桌面上构建安全软件

已发表: 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 软件提供商
  • 您的防病毒软件会降低您的互联网速度吗?