污点检验

✍ dations ◷ 2025-09-16 15:52:34 #计算机编程,静态程序分析

污点检验是某些程序语言所拥有的特性,例如Perl和Ruby,可用于增加安全性和避免恶意用户在主机上执行命令。污点会检验突出的安全风险,一般来说这些风险与那些使用SQL注入或缓冲区溢出攻击的网站相关。

污点检验的原理是任何变量(例如在网页表单区域的一个变量集)能够被外部用户修改,从而造成了潜在的安全危险。如果该变量被一个表达式赋值给第二个变量,那么第二变量也是可疑的。污点检验工具在变量间传递运行,直到外部输入潜在地影响到所有的变量。如果这些变量中任何一个变量被用于执行危险命令(例如对SQL数据库或主机操作系统的直接命令),污点检检验工具将警告该程序正在使用有潜在危险的污点变量。程序员可以通过重新设计程序来避免因危险的输入而导致的安全问题。

污点检验能够被视为一个无界面全面验证的保守近似或者是更一般化的安全信息流概念。因为系统中的信息流不能通过检验一个简单的执行追踪而被验证,污点分析的结果将必然地反映关于该系统信息流特征的近似信息。

以下危险的Perl代码在没有检验$name变量的值情况下,启动了一个大型SQL注入漏洞:

#!/usr/bin/perlmy $name = $cgi->param("name");  # Get the name from the browser...$dbh->TaintIn = 1;$dbh->execute("SELECT * FROM users WHERE name = '$name';"); # Execute a SQL query

如果开启污点检验,那么Perl将会拒绝运行命令,显示错误信息并退出,因为一个污点变量正在SQL查询中被使用。没有污点检验,用户能进入foo'; DROP TABLE users --,因此运行命令将删除全部的数据库表。更安全的方法是将$name的污点值编码到一个SQL字符串字面值和使用SQL查询的结果,这保证了没有嵌入在$name的危险命令会被执行。另一方法是使用预处理语句去净化所有变量输入。

需要注意的是Perl DBI需要设定数据库句柄的TaintIn属性,才允许污点模式去检验该SQL字符串。

Perl从至少1989年当T switch加入到Perl 3的时候开始支持污点化。

在1996年,网景同时在网景通讯服务器的服务器端JavaScript和客户端的网景浏览器3上实现数据污点化。然而,自从客户端支持被当作实验性功能,该功能被禁用(要求用户手动激活),而且需要页面作者修改脚本才能使用。而其他浏览器从未实现这个功能,通讯服务器也没有大体完成,微软后来成了新的互联网信息提供商。

相关

  • 窥视症窥淫癖、窥阴癖(英语:voyeurism)意指一个人喜欢借由偷看他人更衣、裸体或性行为而得到性快感的行为;这种行为不被社会接受。偷窥者要在被偷窥者不知情的情况下,才会得到快感。患
  • 老 (消歧义)老可以指:
  • 太平洋侧气候太平洋侧气候(たいへいようがわきこう)指的是日本列岛在太平洋侧的地区气候特征。亦称太平洋岸式气候(たいへいようがんしききこう)。东日本以南地区受洋流影响,气候温暖多雨,夏季
  • 人民-动物-自然人民-动物-自然(葡萄牙语:Pessoas–Animais–Natureza)是葡萄牙的一个生态主义政党。该党成立于2009年5月22日,初名爱护动物党。2011年11月27日,该党以爱护动物和自然党的名义向葡
  • 北京大学体育馆北京大学邱德拔体育馆是为2008年北京奥运乒乓球专项而新兴建的比赛场馆,随后的残疾奥运会中,该大学体育馆亦会进行乒乓球项目的比赛。2008年8月13日至8月23日,2008年北京奥运乒
  • 阿卜杜勒-卡迪尔·塔利卜·奥马尔阿卜杜勒-卡迪尔·塔利卜·奥马尔(阿拉伯语:عبد القادر طالب عمر‎、西班牙语:Abdelkader Taleb Oumar;1951年-),萨基亚埃尔阿姆拉和黄金河人民解放阵线(简称“西撒
  • 和硕联合科技和硕联合科技股份有限公司(英语:Pegatron Corporation),简称和硕或和硕联合,是一家台湾的电子制造公司,主要业务为开发电脑周边、通信技术及消费性电子产品予品牌供应商, 并从事计
  • 黄伟明 (导演)黄伟明(1972年11月15日-),籍贯广东台山,生于广州。中国漫画家、动画导演,广东明星创意动画有限公司创始人。黄伟明曾留学加拿大,在红鹿学院(英语:Red Deer College)美术设计系学习动漫
  • 非洲头版《非洲头版》(英文:FrontPage Africa)是由文字工作者罗德尼·希2005年成立的利比里亚日报,截至2012年,其发行量达1,500份。《非洲头版》的调查报导获得国际肯定,美国基督科学箴言
  • 睫眉蟾蜍睫眉蟾蜍(),又名喀麦隆蟾蜍,是一种蟾蜍。它们分布在喀麦隆、中非、刚果共和国、刚果民主共和国、科特迪瓦、赤道畿内亚、加蓬、加纳、尼日利亚、利比里亚及塞拉里昂。它们栖息在