杨志国
摘要:互联网的一个最大特性就是所有机器的开发性以及相互之间的可访问性,Web应用的每个单个部分都需要进行安全保护,防止可能的错误使用,不能仅仅停留在对应用的电子商务部分进行安全保护,还要开发一个能够计划和处理安全性问题的方法。
关键词:Web应用;威胁;策略
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)06-0039-02
Vocational School "Non-linear Editing Premiere" Teaching Mode
YANG Zhi-guo
(Hefei Economy and Management Vocational School, Hefei 230041, China)
Abstract: One of the biggest characteristics of the Internet is the development of all machines and mutual accessibility, each individual part of the Web application is required for security protection, to prevent possible errors, can not just stay in the application of e-commerce security, but also to develop a method to plan and deal with security issues.
Key words: Web application; threat; strategy
互联网的一个最大特性就是所有机器的开发性以及相互之间的可访问性,这个特性同样成为Web应用开发人员必须面对的最大挑战。由于存在如此之多的计算机,有些用户就会存在一些不道德的想法。由于存在这样的威胁,向全球网络开放一个处理可能的机密信息(例如,信用卡号、银行账户信息或者健康记录)的Web应用的想法就需要慎之又慎。但是商务业务必须开展,作为Web应用开发人员的眼光就不能仅仅停留在对应用的电子商务部分进行安全保护,必须开发一个能够计划和处理安全性问题的方法:保护自身与能够执行业务的可用应用。
1 面临的威胁
1.1 访问或修改敏感数据
作为Web应用的设计和编程人员, 要确保用户提交的任何数据都是安全的,正如我们从其他部门获得的任何数据。当向Web应用的用户公开部分信息时,必须遵循只能看到允许看到的信息的原则,而且不能看到其他用户的信息。
如果开发一个在线股票或基金交易系统的前台程序,可以访问系统账户表的用户可能能够访问用户的纳税唯一信息,用户所持股票以及极端情况下的用户银行账户信息。即使公开一个包含用户名称和地址的表格也是严重地违反安全原则。客户非常重视他们信息的私有性,这些用户的名称和地址以及相关信息可能成为一些不遵守商业规则的市场公司的潜在信息收购对象。
当然,比直接访问数据更糟糕的是,操作这些数据,有的银行客户可能会非常高兴得看到他的账户内多了几千美金,或者修改客户的邮寄地址,从而导致其他客户(假设这个客户修改了别人的数据)收到大量本不应该邮寄给他的包裹。
1.2 数据丢失或破坏
如果突然发现部分数据被删除或者破坏,那么未授权用户能够访问任何敏感数据都是非常糟糕的。如果有人要破坏数据库的表,我们的业务将面临不可恢复的后果。如果我们的应用是一个显示银行账户信息的在线银行系统,任何一个账户信息的丢失,都将表明我们不是一个好的银行。更糟糕的是,如果如果整个用户表都被删除,我们将花费大量时间来重新构建数据库以及数据重新输入。
数据丢失或破坏不一定完全源自系统的恶意或意外的错误使用。如果放置服务器的建筑失火,而所有服务器和硬盘又都放置在该建筑中,我们将丢失大量数据,只能期盼我们具有足够的备份和灾难恢复计划。
1.3 拒绝服务
拒绝服务攻击(Dos)以及更严重的拒绝服务攻击:分布式拒绝服务攻击(DDos),这些都是对应用可用性的破坏性的攻击。它们会使服务器停止工作数小时,这将导致系统恢复更严重的负担。如果考虑互联网主要站点的普及性以及人们对其服务的期望,任何的停机时间都会是问题。
Dos源自有意行为,而不是错误使用。即使有完备的备份机制,如果防止服务器的建筑失火,或者遭遇泥石流,或者被入侵者摧毁,而我们又没有很快恢复这些计算机的计划,我们很快就会发现客户的丢失。
1.4 恶意代码注入
互联网中,一种非常常见的有效攻击类型就是我们所说的恶意代码注入。这种攻击最著名的方式是站点间脚本(Cross Site Scripting),也就是XSS,这样可以与CSS(级联样式表单)相区分。这种供给带来的常见问题就是它们并不会带来立即的数据丢失,但是由于执行了某些代码,这将导致不同程度的信息丢失或者在用户不知情的情况下,错误引导用户操作。
基本上,XSS的工作流程如下所示:
1)恶意用户,在一些公共区域输入一些文本,这些文本将被其他用户看到,但这些文本不仅仅是他们要输入的文本,同时还包含了一些可以在客户端执行的脚本。
2)恶意用户提交这个表单并等待。
3)系统的下一个用户看到了这个包含了恶意用户输入文本的页面,其中的脚本将在这个用户的客户端执行。
1.5 服务器被攻击
尽管服务器被攻破的影响包括许多威胁,但还需要注意的是,攻击者期望能够获得对系统的访问,大多数情况下是希望成为超级用户。这样,他们就可以对被攻破的服务器任意控制,执行他们希望执行的程序,关闭计算机或者安装我们并不希望安装的软件。我们需要警惕这种类型的攻击,因为攻击者在攻破一个服务器后首先要做的就是掩盖他们的攻击以及所有的证据。
2 处理安全性问题的策略
2.1 正确心态
安全性并不是一个特性。当编写一个Web应用以及决定应用的特性列表时,安全性并不会随意的就包含在这个列表,并且由一个开发人员的几天工作就可以完成。它必须出现在应用的代码设计阶段。对安全问题投入的精力永远不会结束,即使是在这个应用已经部署、开发工作进展缓慢。
在构思和计划我们系统可能遭遇的各种攻击阶段,也就是最开始的阶段,我们可以设计代码来减少这些问题发生的可能性。这也可以避免在项目后期阶段当我们将注意力转移到安全性问题时,需要重新更改所有代码和设计。
2.2 安全性和可用性之间的平衡
当设计一个用户系统时,最大的一个顾虑就是用户的密码。用户通常会选择一些通用软件不太难破解的密码,尤其是他们使用字典里可以找到的单词作为密码。我们需要一个方法能够减少用户密码被破解以及通过破解用户密码造成的系统被攻破的风险。
一个可能的解决方案是要求每个用户遍历4个登陆对话框,每个对话框具有不同的密码。也可以要求用户至少每个月修改这4个密码,并且确保新密码不是以前已经使用过的。这可能会使系统更加安全,而且黑客将花费大量的时间来执行登陆过程从而攻破系统。不幸的是,这样的系统是会非常安全,但是没有用户会希望使用它——在某种程度,用户会认为它不值得使用。这就表明,担心安全性非常重要,但是担心安全性对可用性造成的影响同样的是重要的。一个易于使用并且只有少量安全错误的系统可能会吸引用户,但是也将更有可能导致与安全相关的问题以及商业业务的影响。同样的,一个具有很高安全性的系统如果具有很差的可用性,它将不会吸引大量用户,也将对业务带来负面的影响,作为Web应用的设计人员,必须找到一个能够改进系统安全而又不会降低或者破坏系统可用性的方法。由于目前所有问题都与用户界面相关,还没有任何特定规则需要遵循,所以只能依靠某些个人判断、可用性测试以及研究用户对原型和设计的反应。
2.3 安全监视
在完成Web应用的开发并将其部署在产品服务器以供用户使用,我们的工作并没有完成。
系统运营时需要其监视其安全状况,可以通过查看日志以及其他文件确认系统运营和被使用的状况。只有密切关注系统的运营状况,才能发现是否存在安全问题,找到可能需要更多时间来开发更安全的解决方案。
2.4 基本方法
要在合理的精力和时间范围给出最完备的安全解决方案,我们需要描述一个有两部分组成的方法。第一部分主要内容:如果计划应用的安全保护以及设计能够实现安全性的特性。我们将这种方法叫做自上而下的方法。第二部分的方法可以称作自下而上的方法。在这种方法里,我们将面向应用的各个组成模块,例如数据库服务器,服务器本身以及应用运行的网络环境。我们不仅需要确保与这些组件的交互是安全的,安装和配备这些组件同样是安全的。
参考文献:
[1] 郭玉龙. 网络服务器安全配置策略研究[J]. 网络安全技术与应用, 2014(2).
[2] 钟平. Web服务器安全防护技术研究[J]. 现代计算机:专业版, 2007(10).
[3] 钮超. 浅谈WEB服务器的安全[J]. 科技资讯, 2010(5).
[4] 鲁絮飞. Web服务器安全防卫系统构建[J]. 现代商贸工业, 2011(23).