输入验证,也称为数据验证,是指根据预期标准对用户或应用程序提供的任何输入(或数据)进行测试。输入验证可以防止恶意或不合格的数据进入信息系统。应用程序应检查并验证输入到系统中的所有数据,以防止攻击和错误。从外部方或来源接收数据时,输入验证也至关重要。错误的输入验证可能导致注入攻击、内存泄漏,并最终导致系统被入侵。
输入验证可以使用两套不同的验证标准。这些比较标准可以是允许列表或拒绝列表。允许列表数据验证优于拒绝列表数据验证。拒绝列表依赖于 IT 人员了解所有存在的攻击(具体拒绝哪些攻击),以及这些攻击可能用于攻击您的应用程序或系统。允许列表依赖于 IT 人员了解哪些命令和数据类型是允许或可接受的,并允许它们通过系统(系统拒绝所有被过滤器扫描到的恶意数据)。
设置允许或拒绝列表对于数据处理系统和应用程序中强大的纵深防御安全性非常重要。
输入验证攻击是指黑客故意输入恶意内容,意图扰乱、崩溃或破坏应用程序。此类攻击会导致意外操作、系统中断,甚至远程访问。恶意输入可能包含代码、脚本和命令,如果未正确验证,则可能被用于利用漏洞。最常见的输入验证攻击包括缓冲区溢出、跨站脚本攻击 (XSS)和SQL 注入。OWASP Top 10将输入验证列为 SQL 注入和 XSS 的缓解策略,但不应将其作为预防这些攻击的主要方法。不过,如果实施得当,输入验证可以显著降低攻击的影响。应用程序安全人员应充分了解这些威胁以及OWASP Top 10中列出的其他 9 种威胁。
CyberHoot 为开发人员提供了一个培训计划,概述了程序员在应用程序开发中犯的十大错误。
除了让开发人员加强应用程序安全性之外,企业中的所有员工还可以采取一些措施来降低成为网络攻击受害者的可能性:
立即在CyberHoot开始构建您强大的纵深防御网络安全计划。
来源:
延伸阅读:
相关术语:
发现并分享最新的网络安全趋势、技巧和最佳实践——以及需要注意的新威胁。