二、安全

网络安全
一、 攻击服务器
   a) 操作系统自身漏洞。需要时常打补丁,用windows的深受其害。linux的理念是只提供必要服务,不提供其他服务。这样即使黑客向攻击,也找不到门,算是既节约资源又防止攻击的好办法。所以服务器建议采用linux,而非windows。
   b) 软件自身漏洞
      i. 注入攻击。常见于初级程序员,初级程序员对数据库的操作(SQL语句)往往大量采用拼凑方式,而非预编译方式,为注入攻击提供方便。解决办法就是使用预编译SQL提高软件的健壮性。
      ii. 成为帮凶。此攻击对服务器无影响,只是被黑客利用攻击其他客户,服务器也满冤的。多见于论坛,比如在签名或留言放置危险标签、允许放置脚本等等,如此其他客户访问网站时,就被这些标签或脚本攻击。解决办法就是:1、在软件内置过滤器,将危险标签全剔除;2、网页用“ifram”标签,将用户录入的签名或留言等内容标记起来,也能起到阻止攻击的效果。
      iii. 对外服务接口漏洞,既通常所说的API漏洞。
         1. 单一接口漏洞。对该接口是否允许执行的前提考虑不周造成的漏洞。
            a) 漏洞的产生主要有以下几个方面:1、对传入的参数斠验漏洞;2、内部环境是否允许,比如是否符合图谱、是否有权限、数据库记录是否允许等等;3、以上两者的结合
            b) 减少这些漏洞的方法有:1、有经验的程序员;2、软件测试
         2. 多个接口的协同漏洞。
            a) 面向人的服务,也就是云服务的下游。首先研究一下人的操作行为,人操作电脑时,界面上只有一个对象是焦点对象,所以:
               i. 人操作电脑是串行访问。可以设置信号量,标识当前是否处于服务状态。若处于服务状态,则不提供下次服务,直到本次服务结束,处于非服务状态时,才提供下次服务。
               ii. 单功能访问。设定功能块,只有进入功能块才能访问内部的功能,亦只能访问内部功能,禁止访问外部功能,但可访问公共功能。众多的功能块组成树,这就是接口图谱(API图谱)。用户访问就按照图谱提供服务。
               iii. 人有作息时间,可据此限定访问。只有在工作时间服务器才提供服务。
               iv. 人的工作是有一定权限的,所以在软件内设定权限,是普遍采用的办法。
            b) 面向服务而服务,也就是中游。在下没有实际经验,只能说是尽量功能单一化、专业化。服务器间采用统一的加密方案,比如政府推广的SM2。
   c) 拒绝服务攻击。动用大量计算机向服务发起垃圾访问,让服务器疲于处理,直至瘫痪而出现漏洞,为黑客入侵提供便利。
      i. 利用半连接攻击(SYN),将服务器资源消耗完。解决办法:SYN网关。
      ii. 完整连接,众多用户访问网站。解决办法:1、提高处理速度;2、不响应访问频率过快的ip。这在管理软件很难出现。因为管理软件是需要经过验证登入的,非验证的访问会被拒绝。拒绝速度是非常快的,对各方面的资源占用很小,而且拒绝完就释放掉。所以对管理软件的拒绝服务攻击是无效的。但大量的拒绝服务攻击会带来正常客户的访问延迟。这个手段是黑客的最终手段之一,尚无更好的解决办法。
         1. 盗链。盗链本身用窃取资源,可演化成拒绝服务攻击的一种手段。解决办法:1、过滤掉非本域访问;2、过滤掉未从主页进入的访问;3、图形验证码下载关键资源。 不能阻止的有:大量开启主页。开启主页属于每一个用户的正常行为,所以很难防范,交由专职软件防范。
   d) 利用搜索引擎。搜索引擎搜索网页内容,泄漏客户敏感數據。解决办法,用客户端js框架,这样网站不存在客户的敏感數據,搜索引擎也就无法搜到。

二、 攻击对话。
   a) 包括旁路窃听、代理服务器窃听等。黑客可以更改用户数据来达到目的。解决办法,用非对称加密解密,比如RSA、ECC等。这两个是公开算法,是久经考验,已经形成产业。
   b) 影子服务器。属于代理服务器窃听。对客户而言就是服务器,对服务器而言就是客户。客户与服务器双方检测对方都是合法的,但二者之间确实多了一个影子服务器。与代理服务器的区别就是,影子服务器没有IP地址,属于非法服务。影子服务器就可以代替客户取得數據,经过修改後再发往真正的客户;也将客户的數據处理後发往服务器。如此取得數據。关键点就是影子服务器代替真正服务器与客户握手,取得对话的话语权。解决办法:客户端通过非网路方式与服务器握手,使得影子服务器无法代替握手。

三、 攻击客户
   a) 影子客户。就是黑客冒充正常用户,绑定的各种信息都会被模拟,服务器是无法辨识的。解决办法:采用无法模拟的信息,如随机性非对称加密解密。因为黑客无法获取私钥,而通过公钥获得私钥需要10年以上的时间,这样破解密钥对就是无效行为。黑客自己生成密钥对,与原客户的密钥对不同,得不到服务器认可,可以说密钥对成为区别影子客户与正常客户的标识。所以影子客户的攻击法是失败的。
   b) 客户被植入木马。服务器无需人干预,也不是为人提供服务的,所以除了管理漏洞外,技术上可以做到非常安全;客户端就是为人提供服务的,所以必然有人为的缺陷,哪怕是再正常的操作都会引入病毒、木马等,所以也是最容易被植入木马的地方。
      i. 浏览器被植入恶意插件,当用户向服务器递交数据时,插件将数据修改或改乱後走正常流程或自己指定的流程,从而达到窃取用户数据或破坏数据的目的。这种行为存在一定程度的注入攻击行为,不同的是,客户端可以配合做些安全措施。解决办法:1、不安装来历不明的插件;2、核心业务用专用浏览器;3、服务器程序做好斠验,保证数据的完整合法(无法保障真实)。
      ii. 电脑中毒或木马。这是用户遇到最多的,基本上都是对客户端电脑造成伤害,只要重新安装操作系统就可以解决了。还有就是像插件那样通过修改数据注入攻击或记录键盘屏幕,从而达到窃取或破坏数据的目的。解决办法:1、对于注入攻击,解决办法与解决插件攻击的办法相同;2、对于记录键盘或屏幕,就需要安装杀毒软件来防止操作系统感染病毒或木马,当然选择安全操作系统更好,比如ubuntu的桌面版,只是鉴于实际使用不太现实。

四、 操作员职业操守。既操作员利用职务之便窃取数据,是无法避免的。比如写一段程序取得数据,是完全有可能的,上面的弥补接口漏洞也只能是减缓数据泄漏速度,而不能杜绝。因为只要面向人的,就必需显示明文,数据也就一定可以被获取。即使服务器间的服务,内存也要以明文处理,所以服务器一旦被监控,也有泄密的可能,这方面还要看看内存安全的资料。

五、 C/S与B/S。传统C/S是客户端直接访问数据库,采用的是明文传输,就存在窃听安全方面的隐患了,即使黑客不攻击服务器,也可通过改变传输数据来改变数据库,参考网址:http://bbs.csdn.net/topics/30346627。同时明文传输,也为黑客破解用户、口令提供了方便,所以传统C/S模式不安全。解决办法,用VPN。B/S模式分客户端、服务端;客户端负责响应客户的操作,服务端实现业务逻辑,客户端不直接操作数据库,客户端与服务端直接是有安全保障的,所以不存在C/S模式那种不安全。木马隐患是两者共有的。


对比上述,
专职安全工作需要考虑的有选用安全的操作系统、防止半连接攻击等拒绝服务攻击等等。
核心业务需要处理的有:注入攻击、防止成为帮凶、单一接口漏洞(尤其注意越权问题)、接口间回旋的漏洞、确保单一身份证串行访问、控制单一身份证访问频率、非对称加密握手对称加密对话的方式确保传输的安全、客户端用图形验证码确保不被暴力破解。其中确保单一身份证串行访问、控制单一身份证访问频率又是提高服务效率的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值