污点检验

✍ dations ◷ 2025-05-10 17:32:46 #计算机编程,静态程序分析

污点检验是某些程序语言所拥有的特性,例如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上实现数据污点化。然而,自从客户端支持被当作实验性功能,该功能被禁用(要求用户手动激活),而且需要页面作者修改脚本才能使用。而其他浏览器从未实现这个功能,通讯服务器也没有大体完成,微软后来成了新的互联网信息提供商。

相关

  • 麦可·斯图亚特·布朗迈克尔·斯图亚特·布朗(英语:Michael Stuart Brown,1941年4月13日-),出生于布鲁克林,美国遗传学家。1985年,他与约瑟夫·里欧纳德·戈尔茨坦同因对胆固醇的研究而获颁诺贝尔生理学
  • 凡尔赛花园凡尔赛花园(法语:Jardins du château de Versailles)曾经是凡尔赛皇家领地的一部分,位于凡尔赛宫以西,面积800公顷,为经典的法国园林,园内是精心修剪整齐的草坪,花坛,雕塑喷泉。其周
  • 巯乙磺酸钠美司钠(INN:Mesna,发音: /ˈmɛznə/),又名巯乙磺酸钠,是一种主要用于辅助环磷酰胺和异环磷酰胺化疗的有机硫化合物。它由百特国际以Uromitexan和Mesnex作为商品名销售。它的英文名
  • 细纹斑马细纹斑马(学名:Equus grevyi)又名格氏斑马、狭纹斑马,是三种斑马中体型最大的一种。分布于非洲的肯尼亚和埃塞俄比亚。与其他斑马相比,细纹斑马的个子较高,耳较大,斑纹则更加狭窄,差
  • 石嘴山市石嘴山市是中华人民共和国宁夏回族自治区下辖的地级市,位于宁夏北部。市境南临银川市,西、北、东三面分别与内蒙古自治区阿拉善盟、乌海市、鄂尔多斯市相邻。地处银川平原北部
  • 总统国家安全事务助理兼顾问美国总统国家安全事务助理(英语:Assistant to the President for National Security Affairs,又称国家安全顾问)是美国总统在国家安全相关事项的主要幕僚。国家安全顾问隶属总统
  • 记忆/心灵跃动《记忆/心灵跃动》(日语:きおく/ココロオドレバ),为关西杰尼斯8成员涩谷昴于2015年2月11日发行的首张Solo出道单曲。CDDVD5日 Thank you啦!(日语:Thank youじゃん!)(Kis-My-Ft2) | 12日
  • 堆积区一般而言,以最热月月均温0°C的等温线为界,分为堆积区和消融区。以最热月月均温0°C的等温线为界,上游地势较高,温度较低,冰雪终年堆积,属于冰河的堆积区;下游地势较低,温度较高,一旦
  • 陈凯旋 (歌手)Adrian陈凯旋(1988年09月14日-)马来西亚华裔男艺人。与王明丽、陈珂冰等所属Real Celebrity 弘稳娱乐经理业公司艺人。
  • 马岛猬属马岛猬属(马岛猬),哺乳纲、食虫目的一属,而与马岛猬属(马岛猬)同科的动物尚有大马岛猬属(大马岛猬)、纹猬属(纹猬)等之数种哺乳动物。