• 彩色的沙漠
    2019-06-04
    malloc 开辟的空间可能包含释放了内存空间但是没有清除里面数据,所以里面的敏感信息有泄露的风险。释放内存空间的同时清空内存数据也是一个好习惯,避免很多不必要的麻烦

    作者回复: 是的,一个完整的方案要做到两个方面:清空敏感数据以及防范内存泄漏。

    
     3
  • DasonCheng
    2019-06-13
    作为开发人员,有哪些途径即时获取各种漏洞信息以便修补漏洞,避免损失呢?

    作者回复: 主要有:订阅相关的安全威胁情报,查看依赖软件的安全修复发布版,跟踪NIST提供的安全漏洞数据库。

    
     1
  • 天佑
    2019-04-14
    老师,文件IO怎么也算外部数据呢?

    作者回复: 文件修改不在代码可以控制的范围里呀。

    
     1
  • 空知
    2019-04-01
    之前的整数溢出也算是边界问题的一种吧

    作者回复: 是的。

    
     1
  • 天佑
    2019-03-29
    我看防御式编程会在边界处,专门构建一些类进行外部输入过滤,穿越进边界内不,可以完全信任,这在实际场景当中可操作性更强些吧,避免个人开发的遗漏。
    另外,我看到有些例子对外部输入有标准化归一化处理,比如String normalized = Normalizer.normalize(xxx, Normalizer.Form.NFKC);道理也很好理解,觉得这样做会更好些,但是我咨询了开发,他们并不会经常用到,这是为什么,还是有特定场景才会使用?还有nfkc这玩意儿我一直没参透明白,希望老师解惑,谢谢。

    作者回复: 专门有一个过滤层,这种办法也能有作用,但是局限性很大。个例还可以,不是一个普遍的解决方案。 因为,在边界处,如果处理了所有的数据,过滤层就和内部的代码没什么重大区别;如果处理不了所有的数据,遗漏的数据还是不可信任。 就像我们文中边界那一部分的数据d一样。另外,加一层做所有的过滤损害效率,增大代码复杂度,破坏代码逻辑。我很少看到这种用法。如果过滤层能想到检查,没有过滤层,常规代码里也能做到。先想到,才能做到;想到了,怎么做就有很多选择了。

    我也不懂NFKC是什么。

    
     1
  • 丁丁历险记
    2019-10-15
    涨了不少见识
    
    
我们在线,来聊聊吧