美文网首页百人计划
安全测试②(设计安全方案依据原则)

安全测试②(设计安全方案依据原则)

作者: 洛姆 | 来源:发表于2018-07-02 00:21 被阅读2次

    以下主要内容全部来自《白帽子讲web安全》以及一部分我自己添加的补充。

    1. Secure by Default原则 —— 总则

    安全问题本质是信任问题,安全方案也是基于信任来设计的。

    ①白名单:注意白名单的配置及内容是否设置正确。

    ②最小权限原则:系统只授予用户必要的权限(业务所需的最小权限)。

    2. 纵深防御(Defense In Depth)原则 —— 更全面、正确的看问题

    ①对根本问题实施针对性的安全方案。

    从不同层面、不同角度对系统做出整体的解决方案。警惕安全方案中的“短板”。

    ②在正确的地方做正确的事。

    i) 深入理解威胁本质,做出正确应对。

    比如XSS防御技术的发展过程:

    过滤特殊字符 -> 区分富文本和非富文本,encode非富文本 -> 对富文本做语法树分析 -> 综合方案。

    ii) 把防御方案放到最合适的地方。

    综上,对于一个复杂的系统而言,纵深防御是构建安全体系的必然选择。

    虽说如此,就在去年看来纵深防御在现实中仍有难以落地的难言之隐。但是今年5月,工信部印发《工业互联网APP培育工程实施方案(2018-2020年)》,旨在推动工业互联网应用生态加快发展。工业生产将面临比以往任何时候都更为复杂的安全挑战,通付盾移动安全实验室作为国内最早移动安全领域研究机构,以移动安全技术为基础,提出和建立了工业互联网APP安全纵深防御技术体系。由此可见,对于纵深防御的研究将会越来越深入并以实用为目标前进。

    扩展阅读:

    为什么“纵深防御”雷声大雨点小

    中国制造2025:通付盾推出工业APP安全纵深防御体系

    通付盾全球首推"量子码",引领终端安全防护进入"不可观测"新时代

    3. 数据与代码分离原则 —— 从漏洞成因看问题

    要防止让用户数据被当做代码执行。

    适用于各种如XSS、SQL injection、CRLF injection与X-Path等由注入引发安全问题的场景。

    扩展阅读:

    为什么要实现程序指令和程序数据的分离?(以Linux为例)

    4. 不可预测性原则 —— 从克服估计方法看问题

    无法修复问题,但是可以使估计的方法无效。能有效地对抗基于篡改、伪造的攻击。

    该方法的实现需要用到加密算法、随机数算法、哈希算法,即让攻击者无法提前预知他想要得到的数据。

    如微软无法无法让系统中的软件没有漏洞,它就使漏洞的攻击方法失效,比如的增加对抗缓冲区溢出等内存攻击的功能。

    相关文章

      网友评论

        本文标题:安全测试②(设计安全方案依据原则)

        本文链接:https://www.haomeiwen.com/subject/lwyhuftx.html