污点检验

✍ dations ◷ 2024-12-23 05:26:16 #计算机编程,静态程序分析

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

相关

  • 席振峰席振峰(1963年4月2日-),河南商丘虞城县人。中国有机化学家,北京大学教授(教育部“长江学者计划”特聘教授),主要从事金属有机化学与有机合成化学方面的研究。2015年当选为中国科学院
  • 急公好义坊坐标:25°02′28″N 121°30′51″E / 25.041117°N 121.514229°E / 25.041117; 121.514229急公好义坊现位于台北市的二二八和平纪念公园内,为三门四柱格式的清朝牌坊,亦为中
  • 下一站,说爱你《曼谷轻轨恋曲》或译《地铁来了你》(泰语:รถไฟฟ้า มาหานะเธอ),是一部2009年10月15日上映的泰国浪漫喜剧片,由阿迪颂·提里西里森(英语:อดิสรณ์ ตรีสิ
  • 捷克议会捷克共和国议会(捷克语:Parlament České republiky),是捷克的立法机构。捷克议会总部位于首都布拉格。捷克议会为两院制,分为参议院与众议院。
  • 昌江区昌江区是中国江西省景德镇市的一个市辖区。总面积为391.8平方公里,2003年人口为15万。昌江区下辖2个街道:西郊街道,新风街道,1个镇:鲇鱼山镇,3个乡:吕蒙乡,丽阳乡,荷塘乡。
  • 2019冠状病毒病布基纳法索疫情2019冠状病毒病布基纳法索疫情,介绍在2019新型冠状病毒疫情中,在布基纳法索发生的情况,可能无法涵盖所有及时的事件。2020年3月9日,该国首次确诊两例新冠肺炎病例。两人是一对夫
  • 奇幻电影奇幻电影(fantasy films)是奇幻类型的电影。这类型的电影都大量的包含魔法、超自然现实事件、或是幻想生物如龙、半兽人以及幻想世界如魔戒中的中土奇幻电影。在电影的划分中
  • PLUSPLUSPLUSPLUS(乌克兰语:ПлюсПлюс),是乌克兰的免费电视频道,是1+1媒体集团(英语:+1 Media Group)的一部分,PLUSPLUS是一个家庭频道,原名CITI,2012年更为现名,同时设计了新的标志与一
  • 维尔纳·冯·海登斯坦卡尔·古斯塔夫·维尔纳·冯·海登斯坦(瑞典语:Carl Gustaf Verner von Heidenstam,又译魏尔纳·海顿斯坦姆,1859年7月6日-1940年5月20日),瑞典诗人、小说家,1912年成为瑞典学院院士
  • 麻婆岛麻婆岛(韩语:마파도,英语:),是一部2005年上映的韩国电影。本剧于全罗南道的灵光郡拍摄。女犯人带着1亿3000万韩圆逃往一个叫麻婆岛的小岛,这个岛的居民只有5位女性,她们20多年来一直