作为信息安全领域的从业者,很高兴回答您的问题。关于如何修复Web安全,我认为漏洞修复分为四个步骤:发现漏洞,确定漏洞的危害,确定哪些修复方案和费用,综合比较选择修复方案进行修复。
在找到漏洞并修复它之前,我们必须确定漏洞是什么。(如注入、XEE、跨站点、信息泄露、反序列化等常见的OWASP top10漏洞或支付、验证码、密码修改等逻辑漏洞)。漏洞可以通过专业的漏洞扫描工具或者专业的安全服务团队来发现,不同类型的漏洞修复方案也是不同的。如注入、XEE、跨站点、反序列化都可以通过input或IPS/IDS来控制,逻辑漏洞要重新设计。
确定漏洞的危害。同样的漏洞,在不同的情况下造成不同的危害。比如同样是sql注入漏洞。有些公司的数据库存储着极其重要的敏感数据(如身份证、手机号、账号、密码等。),而有的可能只存储一些无关的数据(比如一些新闻),所以你可以根据实际情况选择是否修复。
确定了有哪些修复方案,确定了成本后,就可以找到相应的修复方案了。下面举几个例子来说明几种漏洞的修复方案:
Sql注入修复方案:
1.使用正则表达式过滤传入的参数。
2.预编译:在执行阶段,只将输入字符串作为数据处理,而不解析和准备sql语句,避免了sql注入的问题。
3.权限控制:在创建SQL数据库的用户帐号时,我们应该遵循最小权限规则。
4.IDS/IPS::过滤来自网络层的请求以降低风险怎么样?
支付逻辑漏洞修复方案:
多重验证如下:
确定自己网站的漏洞有几种修复方案,以及每种修复方案的成本和影响。
确定维修计划。根据修复漏洞的成本、不修复漏洞造成的损失、对公司业务和声誉的影响(如果修复费用100万,损失10万,完全不用修复),选择相应的修复方案或缓解措施。如果立即修复未加密重要信息的漏洞,会对业务造成很大影响(如需要更改代码添加加密算法,需要重新设计数据库结构,第三方对接业务代码也可能需要更改)。可以用协议等缓解措施增加攻击难度,然后慢慢改。总之要根据自己的实际情况进行调整。