专栏特辑 | 开发安全铁三角纵横谈(十二)

admin 2022年9月29日17:04:35评论24 views字数 1738阅读5分47秒阅读模式

专栏特辑 | 开发安全铁三角纵横谈(十二)

专栏特辑 | 开发安全铁三角纵横谈(十二)

开发安全铁三角

为了能更好地理解今天所讲,请大家先回顾一下之前“开发安全铁三角纵横谈”内容:专栏特辑 | 开发安全铁三角纵横谈(十一)初探开发安全能力建设

(三)

安全设计和安全编码阶段

在安全设计和安全编码阶段,安全开发能力是连贯的,所以放在一起讲。从开发角度来说,对开发的支持永远是三个层次:

· 方案级

通过提供文档说明,告诉程序员应该如何设计、如何编码解决问题。

· 代码级

通过提供组件方式的代码,让程序员通过调用组件,解决问题。

· 框架级

通过提供开发框架,让程序员在框架的基础上进一步编程,而框架本身已经解决了很多问题。


而开发安全也一样,也是通过安全解决方案和安全组件、安全框架三个级别来支撑安全设计和安全编码。


· 安全解决方案

安全解决方案是企业针对安全建立的统一解决方案,比如企业实现加密算法,是调用加密机还是软加密,这些都应该统一起来,形成统一方案。


只有形成统一方案,开发安全的质量才能真正实现可管理、可提升。


安全解决方案的建立其实非常简单,对照企业的安全需求库,针对每一条安全需求,分析需要不需要建立统一的实现方案,把所有需要建立统一方案的都实现了,就形成安全解决方案库了。

下面给大家看一个解决方案的范例:

防止重放攻击的解决方案


1.1 登录重放


1.1.1 前置知识

重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。


登录重放及通过重放登录请求的报文,或者将登录请求报文中的关键参数(账号、密码)修改为历史成功登录时的账号密码参数,可以成功登录系统。


威胁描述:

应用系统中常用的登录基本流程如下:

1、前端web页面用户输入账号、密码,点击登录。

2、请求提交之前,web端首先通过客户端对密码明文进行加密。

3、提交账号、加密后的密码密文

4、请求提交至后端,服务端解密,并验证账号与密码是否与数据库中的一致,一致则认为登录成功,反之失败。


上述流程看似安全,认为传输过程中的密码是加密的,即使被监听截取到,由于加密算法被保护、加密算法的不可逆性,监听者无法破解密码密文获取明文密码。


其实不然!监听者无需解密出密码明文即可登录!监听者只需将监听到的url(如:http://****/login.do?method=login&password=加密之后的密码&userid=登录账号)重放一下,即可冒充你的身份登录系统。


涉及功能点:

登录,以及密码设置、密码修改、密码重置等使用密码的功能点。


1.1.2 修复方案


对密码加密时,使用随机因子,随机因子应参与加密运算。可使用随机数或时间戳等方式。如此,每次随机数和时间戳不同,加密后密码密文也不同,实现“一次一密”。

1、使用时间戳。

(1)密码加密时,使用服务端下发的时间戳;

(2)服务端在验密时,先验证请求中的时间戳足够接近当前时刻的时间戳(适当的时间窗,越大越能包容网络传输延时,越小越能防重放攻击),再利用时间戳解密密码密文。

2、使用随机数。

(1)密码加密时,使用服务端下发的随机数;

(2)服务端在验密时,利用服务端保存的随机数(如果验密随机数从客户端获取,服务端必须验证此随机数和本次登录服务端下发的随机数一致)解密验密;

(3)随机数在使用后,服务端应立即重置,防止重复使用。

专栏特辑 | 开发安全铁三角纵横谈(十二)


1.1.3 代码参考


安全开发实例:

(1)服务端生成随机数代码功能:生成6位由数字组成的随机数,并将其存入session中。

专栏特辑 | 开发安全铁三角纵横谈(十二)

(2)随机数的使用

代码功能:服务端利用session内的随机数和前端上送的密码密文解密验密,并重置随机数。

专栏特辑 | 开发安全铁三角纵横谈(十二)


建立解决方案库是安全设计和安全编码的支撑的基础,至关重要。


拓展阅读


国舜股份中标中国光大银行,助力全生命周期安全开发体系再升级

国舜情景式开发安全管理平台与麒麟软件完成兼容认证

国舜开发安全入选鑫智奖·2022金融数据智能“网络信息安全创新优秀解决方案”

专栏特辑 | 开发安全铁三角纵横谈(十二)

原文始发于微信公众号(国舜股份):专栏特辑 | 开发安全铁三角纵横谈(十二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月29日17:04:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   专栏特辑 | 开发安全铁三角纵横谈(十二)http://cn-sec.com/archives/1323809.html

发表评论

匿名网友 填写信息