六大质量属性—安全性代码层面描述(以“信息领域热词分析系统”为例)

      安全性是六大质量属性中及其重要的,往往被开发者忽略;但如果忽略了安全性出现安全问题却是难以挽救的。

  (一)安全性战术的目标是:

    1,检测网络攻击;

    2,抵抗网络攻击;

    3,很快的从攻击中恢复。

  (二)常见的安全攻击有:

1,XSS攻击:即跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。分类:反射型和持久型

    解决方式:1,消毒(将特殊字符转义)2,禁止访问带有HttpOnly的敏感Cookie数据,

  2,注入攻击:如SQL注入,OS注入

  解决方式:1,消毒(通过正则表达式过滤可能的恶意SQL命令)2,参数绑定

  3,CSRF攻击:跨站点请求伪造,伪造用户请求

  解决方式:1,添加表单Token(标记)2,验证码3,Referer check

  4,Error Code:错误回显,通过系统报错的信息寻找漏洞

  解决方式:通过配置web服务器参数跳转500专门错误页面

  5,HTML注释:

  6,文件上传:通过上传可执行程序进行攻击。

  解决方式:限制上传文件类型

  7,路径遍历

(三)提起安全性就不得不提数据加密的问题,常见的数据加密:

  1. 单项散列加密:将要加密的信息进行散列计算得到固定长度的输出信息。为了安全性,可以给散列算法添加密匙(salt)增加破解难度。常见的相应算法:MD5,SHA。只能将明文转为密文;不能将密文转为明文。
  2. 对称加密:加密和解密使用同一个密匙(或互相推算);优点:算法简单,加解密效率高,系统开销小,适合对大量数据加密;缺点:使用同一个密匙,远程通信下难以安全的交换。常用算法:DES,RC
  3. 非对称加密:加密和解密使用不同的密匙;公匙对外公开,私匙只有所有者知道;使用公匙加密,则使用私匙解密;使用私匙加密,则使用公匙解密。常用算法:RSA,HTTPS传输使用的数字证书就是非对称加密的公匙。

      (四)安全性常用战术:

       

   (五)安全性在信息热词系统中的使用:

    1,首先用户注册登录的账号和密码要进行信息加密;避免不法用户破解密码;

    2,其次在用户输入账号和密码时添加输入验证码,防止暴力破解,以及需要查询词条等所有输入框禁止用户输入非法字符。从而避免SQL注入问题;

    3,在代码中多使用try...catch...,如果出现问题则抛异常;在前端页面显示时,如果出现问题统一跳转到一个报错页面;

    4,如果用户不进行注册直接访问某个中间网页时,则提示登录;

    5,页面与页面之间跳转的Cookie中有隐蔽信息的设置为HttpOnly属性避免XSS攻击;

    等等

猜你喜欢

转载自www.cnblogs.com/lq13035130506/p/12391762.html