代码安全 | 第二十六期:通过错误消息导致的信息暴露
本期主题为通过错误消息导致的信息暴露缺陷漏洞的相关介绍。
一、什么是通过错误消息导致的信息暴露缺陷?
软件会生成一条错误消息,其中包含有关其环境,用户或关联数据的敏感信息。
二、通过错误消息导致的信息暴露缺陷构成条件有哪些?
敏感信息本身可能是有价值的信息(例如密码),或者对于发起其他更严重的攻击可能很有用。该错误消息可能以不同的方式创建:
1、自生成的:源代码显式构造错误消息并将其传递
2、外部生成的:外部环境(例如语言解释器)处理错误并构造自己的消息,其内容不受程序员的直接控制。
三、通过错误消息导致的信息暴露缺陷会造成哪些后果?
通常,这可能会泄露敏感信息,也可能会被用于后续的攻击,也可能存储在服务器中的私人信息中。
四、通过错误消息导致的信息暴露缺陷的防范和修补方法有哪些?
内部处理异常,不向用户显示包含潜在敏感信息的错误。如果必须对错误进行详细跟踪,请在日志消息中捕获错误,但是要考虑如果攻击者可以查看日志消息,会发生什么情况。避免以任何形式记录高度敏感的信息,如密码。
五、通过错误消息导致的信息暴露缺陷样例:
用Wukong软件检测上述程序代码,则可以发现代码中存在着“通过错误消息导致的信息暴露” 导致的代码缺陷,如下图:
通过错误消息导致的信息暴露缺陷在CWE中被编号为CWE-209:Generation of Error Message Containing Sensitive Information
软件安全是网络安全的最后一道防线。