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