开发者的安全意识

计算机安全,随着历史的进程,曾被称过系统安全、开发安全、软件安全、信息安全等等,最近被称为网络安全,是计算机系统的属性。系统构建者关注的主要属性是正确性,他们希望他们的系统表现如预期的情况一样。

如果我正在开发一个银行网站,我所关心的是,当客户从她的一个账户中转出一笔1000块钱的资金时,如果资金余额足够,那么1000块钱就能转出成功。如果我正在开发一个文字处理器,我关心的是,当一个文件被保存并重新加载时,我上次离开时保存的数据能够被成功开启……等等诸如此类。

安全的计算机系统是在较宽范围的环境下防止特定的不良行为。虽然正确性在很大程度上是关于系统应该做什么的,但安全性是关于不应该做什么的。即使有对手居心叵测地试图规避任何可能实施的保护措施。昆明亭长朗然科技有限公司IT安全专员董志军说:通常有三个经典的安全属性需要系统来努力满足。这些是广为人知的属性,这些属性的破坏会导致不良的行为。根据系统的不同,它们将具有这些属性的某些特别实例。

  • 第一个属性是保密性。如果攻击者能够操纵系统以窃取个人信息或公司秘密等信息资源,那么他就破坏了机密性。
  • 第二个属性是完整性。如果攻击者能够修改或破坏系统所保留的信息,或者能够滥用系统功能,那么他就破坏了系统的完整性。破坏行为包括损毁记录、修改系统日志、安装不受欢迎的程序如间谍软件等。
  • 最后一个属性是可用性。如果攻击者侵入一个系统,以便使系统拒绝对合法用户提供服务,被拒绝服务的例子包括线上购物或网络银行访问,那么攻击者就破坏了系统的可用性。

今天,很少有系统是绝对安全的,如同您可能在新闻中看到的的一样,安全漏洞不断涌现。例如,在2011年,美国RSA公司被入侵,我在稍后将详谈。入侵者能够窃取与RSA SecureID设备相关的敏感令牌。然后,这些令牌被用来侵入使用了SecureID的公司。2013年底,美国Adobe公司遭到入侵,被盗的不仅有源代码,还有客户记录。几乎在同一个时期,攻击者入侵了美国零售业者Target的销售终端,部分门店内的客户信用卡和借记卡资料被盗。董志军表示:即使在标榜言论自由媒体自由的美国,典型的安全事故案例也都是尽可能被捂着的,如上这些只是一些影响较大且被媒体披露的例子,其实只是冰山一角。

攻击者是如何侵入这些系统的呢?许多入侵行为首先是利用了相关系统中的漏洞(也称弱点)。一项漏洞就是一项缺陷,入侵者可以利用精心构建的交互来使系统运行的不安全。一般来说,缺陷是系统在设计或实施时就已经产生了,这就使得它在后期无法避免出现问题。换句话说,它的运行就不安全。

缺陷是设计中的欠缺,而错误是实施中的欠缺。一个漏洞是一个影响安全相关行为的缺陷,而不是简单的正确性。让我们说回到RSA在2011年被入侵的案例,这种入侵行为取决于Adobe Flash播放器的执行缺陷。Flash播放器本来应该顺利地拒绝格式错误的输入文件,但是事实上,它的这个缺陷让攻击者成功利用了一个精心构建的输入文件,该文件可以操纵程序来运行攻击者编定的代码。该输入文件可以嵌入到微软Excel电子表格中,以便在电子表格在被打开时自动调用Flash播放器。

在实际的攻击中,入侵者将这样的电子表格发送给目标公司的执行官。由于电子邮件被伪装成来自于同事,所以执行官被误导而开启了该文件。这种伪造电子邮件的方法被称为鱼叉式网络钓鱼攻击,这种攻击方式是很常见的。一但电子表格被打开,攻击者就能够在该执行官的机器上悄悄安装恶意软件,并从那里发起进一步的渗透攻击。这个例子突出了通过正确性和通过安全性两个不同的视角来查看软件时的重要区别。

从正确性的角度来说,Flash漏洞只是一个错误而已,除了非常简单的小程序之外,其它所有的软件不可避免会出现错误。软件公司通常在认可他们的软件有已知错误的情况下出售软件,因为要解决这些错误花费过于昂贵。相反,开发人员主要关心在通常情况下会出现的错误。剩下的错误,比如Flash漏洞,很少会出现,用户们也习惯于自己处理它们。如果做某些事情导致了软件的崩溃,用户们很快就会了解到,这不算什么大不了的事情,重试一下或者换种方式就好了。最终,只有当大量用户的遭遇到同样的错误时,软件公司才会解决这个问题。

另一方面,从安全性的角度来看,仅仅针对常规典型的用例来判断错误的重要性是不够的。开发者必须考虑非常规非典型的滥用情况,因为这正是入侵者所处心积虑的地方。

正常用户可能会跳过软件错误,然后导致软件崩溃,但是入侵者则会尝试让该崩溃情景重现,以便了解其为什么发生,然后操纵交互将该崩溃转化为利用方式。简而言之,为了确保系统达到其安全目标,我们必须努力消除错误和设计缺陷。我们必须仔细思考哪些安全属性是我们要牢牢掌握的,并确保我们在设计和实施时不会出现危害安全的缺陷。我们还必须设计系统,使得任何不可避免的缺陷都难以被入侵者恶意利用。

而软件特别是互联网创新的市场竞争那么激烈,时间就是效率,在争分夺秒增加系统功能的时候,别指望开发者或测试人员能主动解决危害安全的缺陷。昆明亭长朗然科技有限公司董志军表示:入侵者不断发现和利用这些缺陷,或者在找出缺陷之后立即在地下市场当天出售(零天漏洞)。要防范入侵者利用零天漏洞借助用户的失误造成破坏,提升用户安全意识是较为有效的途径。在上述RSA被入侵的案例中,如果执行官有足够的信息安全防范意识,不去开启被黑客伪造的电子表格,直接删除那封钓鱼邮件,则至少可以在Flash漏洞被厂商修复之前,保护住自己。

说到底,对安全管理者来讲,安全是一整套解决方案,立体防御、多重防御无疑是正确的安全战略;开发者的安全意识是软件产品和服务是否稳健与安全的关键;用户的信息安全防范意识,也是整体安全管理体系中的不可或缺的重要一环。

在针对用户的网络信息安全意识方面,昆明亭长朗然科技有限公司创作了几十部安全教程模块、互动小游戏,以及三百来部信息安全动画视频、宣传画和培训系统等等。有多种沟通方式和展示渠道来灵活地使用它们,学员也可以通过电脑、平板和智能手机随时随地参与信息安全学习。如果您有兴趣预览,欢迎您通过如下方式快速联系到我们。

昆明亭长朗然科技有限公司

电话:0871-67122372

手机:18206751343

微信:18206751343

邮箱:info@securemymind.com

QQ:1767022898

从软件应用程序方面谈数据安全

有地下消息称,每年有几十亿条数据记录在暗网中交易。随着越来越多的人在家工作并且没有采取足够的预防措施,这个数字正在增长。有专家表示:数据泄露的数量怎么夸大都不为过。在当今世界,数据越来越多地以电子的方式共享和存储。因此,保护数据免受未经授权的访问或盗窃的需求比以往任何时代都更加重要。对此,昆明亭长朗然科技有限公司网络安全研究专员董志军补充说:数据不仅仅只是诸如图表、照片等电子文件,在数据分析和画像的应用下,更是关系到个人的隐私、人们的生活、商业的秘密、机构的运作甚至国家的安全。数据失窃或被未授权的访问,带来的可能是个人遭遇广告轰炸和欺诈勒索、日常生活的一团糟、商业交易的失败、组织形象与信誉的损毁、甚至国家利益与安全的威胁。

数据不仅仅是重要的资产,简直就是生命线。保护数据不丢失或损坏,在个人、组织和国家多个层面,都成了一项关键的任务。国家出台了一系列措施,包括数据安全相关立法,以及对数据乱象的整治。各类型的组织机构也在法规驱动和业务驱动之下,建立了数据保护相关的管理体系,包括人员组织、技术措施以及规章制度。这种至上而下的管控体系最终落实到个人,给个人用户带来了数据安全保护的权利、责任和义务,进一步演变成个人的数据安全认知与行为。

不可否认的是,在不同地区、不同行业、不同年龄、不同品性的人们之间,存在着一定的数据安全认知差距,甚至数字安全鸿沟。这就需要在多个层面加强社会大众的数据安全意识认知,提升数据安全技术能力,培养数据安全行为习惯,进而在全社会层面实现数据安全保护的文化氛围。懂这个道理的网络安全主管官员以及信息安全从业人员很多,然而,知晓怎么做的人却比较少,能够做好的更是凤毛麟角。那么接下来,就让我们从最难的入手,也就是从软件应用的管理层面,分享一些保护数据安全的技巧。

安全地存储数据

数据安全标准相关要求不断发展,越来越严格。这就要求软件实现相关数据保护的安全需求,随着软件越来越依赖存储在服务器上的数据,数据安全问题变得更加关键。基于服务器的数据存储比本地存储数据更方便,因为用户可以从世界任何地方访问数据。但是,这也意味着数据安全更依赖服务器的安全性。道理很简单,如果服务器被黑客入侵,数据几乎无例外地将会受到损害。对此,董志军补充说:传统上,封闭场所的一台不联网的孤立主机,不需要登录密码,也不需要加密,仍然可以有很强的数据安全性。然而,今天的数据是通过网络流动的,要通讯、要传输、要交换,才能发挥数据的价值。所以,我们应选择信誉良好且可靠的托管服务提供商来保护服务器上的数据。

在保护服务器免受外部威胁方面,不要过度指望托管服务提供商的安全措施,但是,仍然可以考虑一些可用性的服务,比如多线路的高可靠性、拒绝服务攻击防范,系统备份等等。其次,我们应在将数据存储在服务器上之前对其进行加密,这一点非常重要,尽管根据某些系统平台或应用软件的实际情部,实现起来较为麻烦,也应尽量实现加密,在加密后,即使黑客或不良的服务商工作人员获得对服务器的访问权限,加密也将使他们难以访问数据。

监控审计数据活动

出于多种原因,监控活动对于应用程序的数据安全至关重要。首先,了解用户在应用程序中所做的事情可以识别潜在的滥用或恶意活动。其次,跟踪用户活动有助于通过快速识别和响应未经授权的访问,进而来防止数据泄露。最后,监控活动还可以帮助解决应用程序的问题或确定需要改进的地方。

为了正确实施实时安全监控和审计,了解这些系统的工作原理至关重要。安全专业人员通常使用安全系统的硬件和软件组合来监控潜在威胁。硬件组件可以包括传感器、摄像头和其他旨在检测可疑活动的设备。软件组件通常由已知威胁数据库和分析引擎来识别可能的潜在攻击模式。我们可以使用各种商业化的或开源的监控工具,每种工具都有其优缺点。可以根据应用程序的大小、需要保护的数据类型和预算来进行监控和审计工具的选择。选择工具后,必须设置一些基本参数的设置。例如,希望该工具多久扫描一次的应用程序以查找潜在威胁,多大频率分析一次日志记录,以发现可疑的行为等等。

定期备份重要数据

备份数据是保护数据安全的一项基本做法,在网络勒索非常盛行的时代,备份工作比以往任何时候都更加重要。此外,作为软件应用程序开发人员,保护数据免受硬件故障、软件崩溃甚至恶意攻击至关重要。备份数据大多数情况下是没用的,但是在计算机崩溃或其他不可预见的灾难发生时,日常的备份工作就发挥了救世主般的功能。可以使用不同的基于云的存储服务备份数据,这些服务的好处是可以让我们在任何地方访问数据。另一种选择是将数据存储在外部硬盘驱动器或USB闪存驱动器上,此方法将要求将存储设备物理连接到您的计算机。

在托管服务提供商的系统备份服务之外,我们可以使用外部硬盘驱动器、云存储服务,甚至是简单的USB驱动器来保护数据。一般来说,对于数据管理员来讲,只需使用简单的网络备份命令,即可将数据备份加密地存储于数百公里的异地。但是,记住要迈出这一步,制定定期备份数据的计划,让自动化脚本帮助定期完成。如果出现问题,就可以通过定期数据备份获得重要文件的副本。

使用强密码策略

强密码是保证数据安全的关键部分,弱密码仍然是一个非常严重的问题,因为弱密码很容易被猜到或破解。研究表明:大多数用户并不知道他们的网络身份已被泄露和滥用。如果黑客掌握了我们的密码,我们的敏感数据就很容易被访问,并可能被用来进行电信欺诈或身份盗用。因此,必须启用软件应用程序的强密码,来保证数据安全。

在系统或软件中启用密码安全策略很容易,甚至还可以使用双重身份验证来提供额外的安全层。不过也需要教育用户,让用户学会创建强密码,这需要一些思考和努力。包括让用户在密码中混合使用大小写字母、数字和符号,让用户对密码保密并且不与任何人共享,让用户在怀疑密码失窃时立即修改密码。

保障程序软件的安全

如果软件本身出现问题,被黑客通过漏洞获得了控制权,那么,数据失窃便是注定的了。因此,保障软件的安全非常重要,作为软件应用程序开发人员,能够做的,首先是使用安全的代码,包括使用最新的开发库,很多软件都是由各类组件构成,有些第三方组件存在编码错误、设计糟糕或存在已知安全问题,很多更新会解决已知的安全问题,所以保持更新非常重要。另外,确保数据安全的一种方法是执行代码安全审计,它检查应用程序的源代码以识别潜在的安全风险。在这方面,自动化工具可以提供更全面的代码分析,一旦识别出潜在的漏洞,就需要通过更改代码或使用访问控制机制或加密等安全控制来缓解这些漏洞。

虽然不能苛求软件开发人员写出完美的代码,但是推崇安全的代码习惯非常必要,定期的代码安全审计可以帮助及时发现潜在的安全问题,及时整改有助于确保软件应用程序中的数据安全。通过及早识别和解决潜在的安全风险,组织可以降低攻击的可能性并将攻击的影响降至最低。

总之,数据安全性的重要性不可低估,数据是承载于软件应用程序之上的。对于所有软件应用程序来说,存储于其中的数据存在许多潜在威胁,威胁可能来自组织机构的内部和外部,我们应考虑实施适合其特定需求的监控与审计解决方案。可以采取的措施都是些很普通的管理实践,并不是什么高深莫测的“炫技”。如果谁拿新名词来忽悠,来诱导实施数据安全管理平台,那无疑他们本身就是严重的数据安全威胁。

昆明亭长朗然科技有限公司推出了大量的网络安全、信息保密及合规意识宣传教育内容,包括动画视频、平面图片和电子课件等各种形式的内容资源,其中也包含网络安全小游戏,以及互动式、场景式、案例式的教程模块,以及稳定可靠的在线培训平台(学习管理系统),欢迎有兴趣的客户及行业合作伙伴联系我们,预览作品、体验平台的功能以及洽谈采购合作。

  • 电话:0871-67122372
  • 手机、微信:18206751343
  • 邮件:info@securemymind.com