首页 > 编程知识 正文

应用密码安全问题是什么,密码泄露的途径及防治方法

时间:2023-05-05 21:58:51 阅读:219059 作者:4410

在软件项目开发时,安全是一个容易被忽略的问题,但又可能会造成严重损失。所以在开发时有必要对安全问题引起重视,防患未然,构建安全软件。

一、软件安全问题

软件安全问题本质上也是一种技术风险,我们可以借鉴对风险管理的方法来改进软件的安全问题,即风险识别、风险量化、应对计划、风险监控。
识别和量化,软件中的安全问题主要分为以下三类:

1、恶意输入

如SQL注入、XSS攻击。
应对方式就是对用户输入的数据做严格的校验、格式化。

2、假冒身份

有些程序对用户身份的校验比较弱,可能会出现用户做出超越权限的事情。
应对策略就是对用户的身份与权限做验证,涉及敏感权限的操作,甚至要做两重验证。

3、数据泄露

如用户敏感信息(登录用户密码、信用卡信息、)及服务器的敏感信息(数据库连接信息)等。
我们不能假设数据存储是安全的,而是要考虑到数据是有泄露的可能的,提前做好预防措施,对敏感数据进行加密。

二、如何预防

在识别和量化风险后,接下来就是要制定应对计划。
应对安全问题,最好的方式就是在整个生命周期中都重视安全问题,各个阶段都考虑到安全方面的问题。

1、需求阶段

在确定需求,做产品设计的时候,不仅考虑功能上的需求,也要考虑安全方面的需求,这样才能不会轻易遗漏安全方面的架构设计。

2、设计阶段

把安全加入到设计目标,同时增加安全方面的评审。现在也有一些公认的安全设计原则,如攻击面最小化、权限最小化、纵深防御等。

3、开发阶段

很多编码问题其实都是开发阶段的。
编程规范中加入安全相关内容:如对于用户输入的数据,需要有校验,防止恶意输入;对于涉及权限的操作,要检查用户权限;对于敏感数据要进行加密处理;对于用户的操作,要有日志记录;不能在日志中记录敏感信息等等。
要有安全方面的代码审查、增加安全相关的自动化测试。

4、测试阶段

需要有对安全性方面的测试,也可以借助一些安全测试工具。

5、运行维护阶段

只部署编译后程序、删除Debug文件。
对服务器进行安全设置,如端口、访问目录、白名单、操作日志等。

三、应对安全问题

设立应急流程,做好Plan B,第一时间恢复生产,降低损失。
分析漏洞,针对性修补。
总结原因,吸取教训,改进流程。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。