1、Don’t write your own crypto / 不要自己编写一种加密方法。 2、验证所有来自非信任源的输入信息,是使用白名单,不是黑名单。 3、采用加密(crypto),并不意味着你就安全了(攻击者会寻找弱点) 4、从一开始就要策划安全。安全并不是可以在最后来做的。 5、注意缓冲区溢出,并了解如何防范 6、保持简单。复杂性会增加安全漏洞的可能性。 7、最低限度保持你程序的攻击面(attack surface)。 8、确保程序有“自动防故障装置”(Fail-safe) 9、采用深度防御(defence in depth) 10、坚持最小特权原则(least privilege) 11、采用威胁建模(threat modelling)(Web程序更应如此) 12、没有不透风的墙,在代码中隐藏秘密都无法长久。 13、不要信任用户的输入信息! 14、权限分离(Compartmentalize) 原文:http://www./Cache/bbs/3/thread_2615.html(转帖请注明出处) |
|