leoleoleo
2022-12-06 14:56:12 +08:00
这个场景下,前提是用户本身并不会有足够的安全意识,接下来需要关注的几个问题。一是密码泄露的可能性(比较大概率的几个途径,比如你发送短信的业务本身的日志、短信渠道商的系统和用户手机终端本身) 二是密码泄露后产生影响的持续性(这个密码是永久的,还是有时效的,还是一次性的。) 三是如果真的出现泄露,影响的范围和利用的成本。(可以影响多广的范围以及自动化利用的难度是否比较大)四是这个方式的用户体验。
作为安全工程师的个人建议:发送有时间有效性限制的密码设置链接(有条件的,不同短信渠道,后台做一个标记),且链接使用后立即失效。这样子的益处是:不直接发送密码,泄露后无法直接登录利用,提高自动化利用的成本,而且解决了强制用户修改密码的问题(密码复杂度是另外一个问题)。通过有效时间的控制和使用后立即失效,可以保证在出现泄漏的情况下,除非有极强的自动化利用手段,不然对方很难大范围的利用这个泄漏来搞破坏。如果做了不同短信渠道的标记,也能作为短信渠道信息泄漏的排查线索。
直接给用户发密码的应用或者业务,除非不得已,不然就不用。