六月 4th, 2009

DirectShow 0day爆发警告

1 Comment, 业界咨询, by Neeao, 381 views.

DirectShow 0day是一个中率极高的0day漏洞,目前已经开始在网上爆发,其攻击形势不亚于去年的IE7 0day以及往年的ANI 0day。

攻击特性如下:

1.使用了.NET SHELLCODE技术,机器上装有.net framework就会中招。

2.利用XP自带的Windows Media Player播放漏洞媒体文件触发。

3.IE和FF 通杀,所谓的微软的killbit临时解决方案也无法防住。

解决方案:

目前微软没有补丁,所有安全厂商中只有360安全卫士独家提供了完美且有效的解决方案,为了防止0DAY攻击,推荐安全圈人士也使用360的独家补丁 http://dl.360safe.com/360safefixavi.exe

From:http://hi.baidu.com/80sec/blog/item/db7bb544ad956a2ecefca362.html

六月 2nd, 2009

安全为本,云计算任重道远

No Comments, 安全防护, by Neeao, 206 views.

云计算是当前最热的IT词汇之一,狂热支持者有之,大力推行者有之,冷静观望者有之,以其“引起歧义”号召消灭它的亦有之。不管怎样,业界的大腕们 已经下场了,IBM, Google, Microsoft, Amazon, 等等。CSA (Cloud Security Alliance)列出的IAAS, PAAS, SAAS三层云计算提供商名单已是林林总总。或许是限于国际市场交流,上面还没有中国厂商的身影。实际上,已经有几家先行者了。

云计算的安全有两种方向。其一是借用云计算这种形式,来改造、演化相对传统的互联网安全服务,安全大师Bruce早在2006年就对此有过精彩的评 论(http://www.schneier.com/blog/archives/2006/02/security_in_the.html)。当前 市场上声音比较大的就像Trend Micro, 国内的瑞星, 还有一些网络扫描漏洞管理厂商,这是比较直观的一个安全拥抱云计算的途径(我“云”了,你“晕”了没有,呵呵)。我在很多年前写过一个帖子叫“安全自动化 杂谈”(http://sbin.cn/blog/2000/08/29/security-automation/), 其中的概念已是“云”化的安全了, 呵呵
其二呢,是开发云计算体系中的安全环节,例如RSA在其云计算安全白皮书中,列举了在供应商管理、技术标准、数据可迁移性、数据机密和隐私、访问控制、符 合性、以及安全服务水平等方面的安全考量点。记住这里面每个词汇都包括很多很让人充满想像空间的技术要点。白皮书总结了三大类云计算安全要素:身份 (Identity)、基础设施(Infrastructure),信息(Information),简称I3吧。Gartner在其最近的一篇白皮书 “Teleworking in the Cloud: Security Risks and Remedies”(http://www.gartner.com/resources/167600/167661 /teleworking_in_the_cloud_sec_167661.pdf)中也列举了使用云计算服务时应该考虑到的安全风险。这些安全风险的 处置可能带来崭新的商业机会。

云计算和早年的数据集中、前些年的IBM的ON-Demand, HP的Adaptive Enterprise,Microsoft的Dynamic Enterprise等都是一脉相承的。其实,大型企业或多或少地都已经参与其中。作为一个企业的IT部门,所以,云计算是不可忽视的一个新技术方向。 CFO, CEO, CTO, 可能会问CIO,CIO可能会问中层经理或架构师,”云计算能帮我们什么?”, “我们如何利用云计算省钱?”, 简单地回答“那还很遥远”,“和我们关系不大”,“那是消费市场和中小企业玩的东西”,显然不是明智的回答,不能让提问者满意。

McKinsey在其报告“Clearing the air on cloud computing”中给CIO的建议是“不要对建设企业专有的“云”平台抱有过高的期望,而是应该更加专注地先做好服务器、存储的虚拟化和网络运行等, 这些都会带来立竿见影的效果”。从财务角度看,云计算带来的最大变化是一次性的资本支出(CapEx)变成了每月、每季度、每年的运行性支出 (OpEx)。但是在保持服务水平的同时能否带来立即的成本下降,有很多风险和不可预见因素在其中。在肯定云计算给中小型企业带来明显成本下降(甚至实际 的服务水平上升)同时,McKinsey认为当前云计算的投入回报水平比不上现有的大型企业自己完善的数据中心高。

cloud-slaCSA 的创始人Craig Balding在其欧洲Blackhat大会上的演讲中提到当前云计算提供商的服务水平SLA是惨不忍睹的。在其服务条款中,推掉了几乎所有的安全责任。 对于大型企业的IT合同管理来讲,这简直是难以想象的。当然,对于大型企业重要客户,可能会重新谈判SLA,而不是直接使用公开市场上的模板。

cloud-dinasaurs在你能够确认IT的责任被云计算提供商有效地承接之前,建议不要轻易动“公共云”的主意,除非你认为那是一些“不怎么重要”的服务。下面一幅漫画,不知道作者本意如何,我把它解释成云计算服务失败对于大型企业IT部门的灾难性后果。

我个人给大家的推荐是:
1 作为个人,参与并置身其中,发现商业机会,可能会给自己一个惊喜,也未可知
2 作为IT部门,熟悉相关技术产品Offering和商业条款, 与相关厂商进行技术和商业交流,知己知彼,
3 作为IT产品管理部门,评估并优化自己企业的产品组合(Product Portfolio),借力互联网和云计算
4 作为信息安全专业公司,风险评估(包括渗透测试)、终端安全、身份和访问控制(也包含信任管理)、安全审计、Web应用和生命周期安全等等都是非常相关的领域,建议关注。

from:http://sbin.cn/blog/2009/06/01/cloud-computing-1/

六月 2nd, 2009

渗透,目的不单纯

2 Comments, 技术文档, by Neeao, 647 views.

帮朋友忙 帮到目的不单纯 好可怜 被好多兄弟教训了
甚至被威胁了下…
总结下 教训…
关于单臂路由如果掌握到设备权限还是可以继续玩,另外一些对拨的vpn如果没有做好限制也可以溜达溜达,如果是帮忙的话 还是小心翼翼的溜达,不要做什么很实际的操作了,因为…
先说设备
IPS IDS 自然不说了 现在这些都搞复合呢 all in one 行为管理也有给复合进去的
在说流量报警和时间 流量报警现在和手机整合的 就是说如果在一个日均1Gb流量的网络下载一个大家伙流量超出界定范围会被发送到手机流量异常,说到手机这个东西现在的确发达了,有时候发邮件也要先搞清楚对方是不是手机在收,不过有些人貌似有手机软件的0day …
然后有比较业务化的一些规则 比如行为+时间 这样算因子?或者还有更多因子的 比如在9:00-17:30之外玩个IPC$或者ftp外部再或者发个邮件,那么又被记录了…
说到这里好像记得电子科技大学一个老师讲那个搞某大公司的牛人将搞到的东西分成NNNN个份更改为容量不大于某值的.gif,然后每天定时定量分多次下载… 回想自己好像根本就没这方面的意识…这次丢人丢大了
说说这次吸取的教训和累积的经验,当然主要是对一些相对严格的网络环境
1、不要采用相同的留后门的方式
虽然自己平时也不用后门,但是有时候为了方便还是要装下,这个时候对自己占领的土地一定要分块分类型来安装后门,如果手法只有一种那么很可能被一次扫地出门(这点感谢叮当给的意见)。
2、留后门也要看人
留后门选什么样的机器也是一种学问,如果找一个CTO的机器给他屁股上开个洞他会很敏感滴,这次我被cto猛揍了一顿,选一台边缘机器吧,比如财务菜鸟…比如公共用的上网机..
3、时间很重要
在拿到某设备权限后看到一张自己创造的流量图,我竟然搞出在对方的凌晨1点web上流量峰值和下午5-6点的值竟然持平,所以以后要养成习惯,先分析设备,分析时差,然后再考虑下一步的动作。
4、别映射磁盘了
这个不多说了,映射很容易被发现,太明显了,还是dir来看吧,看到想要的xcopy回来好了,这样至少安全点。(这点感谢”九局下半”这个名字是艺名,复ID)。
5、关于vpn
一些对拨vpn设置比较变态,但是如果分析清楚架构是可以穿透这些限制,当修改这些配置的时候应该先停止设备通知,再备份配置,添加直接入口,最后再改设置,这样可以保证自己搞错时还有机会更改。
6、熟悉服务
熟悉网络后要熟悉服务,这样挑选对方主要网络服务,主要软件,然后在fileserver上做些手脚,当然时间要克隆一下,也别动太疯狂了,另外切记选好 目标,不可以随便找个adobe的pdf浏览器下手,如果遇到负责的管理员,adobe更新软件之日就是那特洛伊的忌日了,。
7、找找同行
这个情况很常见,这次也遇到了,这时最好是分析分析和我奋战在同一服务器的兄台什么时间来玩、怎么玩、玩了之后留下些什么,这样当自己再也无法闯进去的时候、或者这位兄台不仗义把我一脚蹬出去的时候,我还可以拿他钥匙再来坐坐。
8、邮件&文档
选择好时间,尽量在不触发设备规则的时候把pst文件和重要文档down了,另外在清理自己痕迹前最好先把服务器日志完整down一份,方便以后分析。

扯了这么多都是这次吸取的教训,血泪的教训…
贴士:
今天看到一句话,很是崇拜
“一个人什么都会就意味着什么都不会;当你觉得自己一无是处的时候离成功才最近”

from:http://hi.baidu.com/hackloft/blog/item/16a819171aac8701c93d6dae.html

六月 2nd, 2009

Flash应用程序安全攻防战

No Comments, 安全防护, by Neeao, 278 views.

Adobe的Flash技术已经变得越来越流行,现在它不仅用于创建动画和广告,而且还用来开发复杂的互联网应用软件。Flash应用程序(即 SWF文件)不仅可以通过web协议进行分发,并且还能读取本地或者远程文件、建立网络连接,以及跟其他SWF文件进行通信等。通过本文,您将了解具体的 Flash攻击手段,有用的Flash安全审查技巧以及安全有关的开发/配置技术。

一、XSS威胁

从事Web应用程序的开发或者测试工作的人都知道,Web应用程序有一个常见的安全漏洞,即通常所说的跨站点脚本攻击(XSS)。一般地,如果一个 应用程序接受不可信任的源提供的恶意代码,并且在没有对这些数据进行消毒处理的情况下直接将其返回给毫无防备的用户的话,就会发生XSS。虽然Flash 应用程序对XSS及其他类型的安全威胁也没有免疫能力,但是web管理员和Flash应用程序开发人员却能够通过采取相应的安全措施来提高这种新兴技术的 安全性。

一般情况下,进行跨站点脚本攻击时,攻击者需要将恶意脚本代码(诸如JavaScript或者VBScript代码)注入到Web 应用程序中,这通常是通过哄骗用户单击一个链接或者访问一个邪恶的网页来完成的。随后,该web应用程序将在受害者的web会话的上下文中显示并执行注入 的代码。这种攻击通常能导致用户帐户失窃,但是却不会导致执行命令,除非同时利用了浏览器的安全漏洞。因为SWF程序可以嵌入到网站中,并对HTML DOM(文档对象模型)有完全的访问权,所以可以通过利用它们来发动XSS攻击。想像一个显示第三方Flash广告的免费电子邮件web服务:一个恶意的 广告商可以创建一个恶意的SWF应用程序来劫持您的电子邮件帐号,以便发送垃圾邮件。默认时,Flash Player对同域的DOM具有完全的访问权限。

下面介绍针对SWF应用程序的XSS攻击的基本流程。第一步,攻击者必须首先设法将代码注入到应用程序中,以便让代码重新显示给其他用户。 Adobe为程序员提供了各式各样的用户界面组件,诸如组合框、单选按钮以及文本字段等,它们的用法跟HTML表单对象极为相似。此外,让SWF应用程序 接受从外部输入的参数的方法也很多。

我们可以使用 < OBJECT > 和< embed >标签将属性FlashVar嵌入到一个HTML文档中。

图1

此外,还可以直接通过URL传入数据:

图2

另外,可以利用类LoadVars来装载外部数据。

图3

对于ActionScript 2来说,FlashVars会被自动导入到Flash应用程序的变量空间,但是在ActionScript 3中,加载外部参数时需要额外的代码来完成。一个常见的错误是,从FlashVars或者URL参数接受数据后,没有经过恰当的输入验证就直接将它们传递 给了与浏览器直接通信的那些函数了。ActionScript 2中的函数getURL以及ActionScript 3中的函数navigateToURL具有将指定的URL装载到一个浏览器窗口的能力。可以考虑一下以下ActionScript代码:

图4

该代码直接利用一个来自外部源的变量来调用函数getURL,这会将用户重定向至指定的URL。例如,攻击者可能会建立如下所示的请求:

图5

发出该请求之后,会弹出一个JavaScript警告框,并显示站点cookie的内容。Cookie经常用于存储敏感的帐户数据,诸如会话标识符 等。DOM是一种标准对象模型,用来以树状结构表示HTML;DOM可被JavaScript代码用于动态刺探或者修改HTML页面。可以考虑下面的 JavaScript代码,它将更改在这个HTML页面上的第一个图像的属性source。属性source被修改后,在该页面上显示的图像也将随之改 变。

图6

攻击者常用的一种手法是,通过修改HTML DOM插入一幅新的图像,并让该图像的属性source指向在攻击者所控制的服务器上的一个文件,同时将cookie内容作为一个参数。通过这种方法,攻 击者只要监视他的计算机的日志就能够获取cookie数据。如果其中含有会话id的话,攻击者就能够完全控制用户的帐户,直至会话到期为止。还有一个 ActionScript函数可用于发动XSS攻击,它就是fscommand。SWF文件可以通过这个fscommand函数跟Flash Player或者托管Flash Player的程序进行通信。通常情况下,Flash Player会驻留于一个Web浏览器中,但是它也可以位于其他能够托管ActiveX控件的程序中。函数fscommand由两个部分组成:一个命令和 一个参数。下面的fscommand函数将发送一个changeText命令,该命令的参数是由FlashVar来指定的。

图7

清单 1 中的JavaScript代码因此能留驻在处理SWF应用程序发送的命令的HTML文档中。它只是取得参数,然后修改由text指定的HTML 元素。开发人员应该注意从用户那里接收的、用于fscommand函数的输入数据的类型,以及各参数在HTML文档中是如何使用的。

清单 1. 接收fscommand的代码

图8

清单 2. 简单的密码检查代码

图9

上述的示例代码为攻击者直接向DOM注入HTML或者脚本代码提供了方便之门,例如,下面的请求将包含并执行一个存放在远程主机上的JavaScript文件。

图10

二、HTML格式的组件

Adobe可以支持标准的HTML标签的一个子集,我们可以使用ActionScript 2.0中的Text Field 组件或者TextArea组件把这些受支持的HTML标签可以放到Flash电影片段中。如果不对用于构造HTML的用户输入进行严格的验证的话,这两个 组件都有可能被滥用。对image和anchor标签的验证需要格外仔细,因为它们尤其容易导致安全漏洞。在Flash中,利用< img >标签不仅可以在SWF文件和电影片断中嵌入外部图象文件,而且还可以嵌入SWF文件和电影片断,从而发起各式各样的攻击。下面的代码会把来自外部 源的数据赋给HTML的text组件:

图11

将JavaScript嵌入图像的尝试将会失败,因为Flash Player好像会验证图像是否真是一幅JPEG、GIF 或者PNG格式的图像。

图12

但是以下代码将向您证明,Flash Player所做的验证太小儿科。它只是检查给定的source属性是否以字符串.jpg结尾的,因此,只需添加一个类似C语言的行注释,我们无需改变这 个脚本代码的功能便可哄骗Flash Player去执行< IMG >标签中的脚本。浏览器一旦加载了这个SWF文件,不需要人工介入该JavaScript就会被执行,并出现一个弹出式窗口。

图13

使用此方法我们可以很轻松地将JavaScript或者VBScript注入TextArea组件中。以下请求说明对于锚标签没有这样的验证,但是这类XSS攻击要求人工介入。用户必须单击这个连接才会执行代码。

图14

就像前面提到的那样,< IMG >标签不仅能够装载实际的图象文件,而且还可以装载SWF文件。这可能导致一个不怀好意的SWF文件被载入到一个受信任的应用程序中。当装载其他 SWF文件时,应该使用一个框罩来限制这个子SWF文件的显示区。如果原始的SWF没有设置框罩,那么子SWF文件就有可能覆盖整个播放区域。这可用于欺 骗受信任的应用程序。但是如果这个注入的SWF来自一个外部域的话,Flash安全策略仍旧对其有效。

三、ActionScript的函数协议

上述的例子使用了JavaScript来演示用户常见的XSS攻击,但是有一个专门用于Flash的协议即asfunction,它可以致使一个连 接调用一个ActionScript函数。例如,当用户点击了存放在TextArea组件中的锚点时,下面的代码会调用带两个参数的本地函数foo。

图15

显而易见,这种能够从HTML组件内部直接调用Actionscript函数的能力存在极大的安全隐患。可以考虑一下清单 2所示的一个简单Flash应用程序,该程序通过接收用户名和口令来进行身份验证。当用户输入了错误的密码时,用户名以基于HTML的TextArea组 件形式回显给用户。假设一个输入了如下所示的用户名,并随意猜了一个密码。

图16

应用程序将通知这个用户,提供的用户名/密码无效,同时用户注入的锚也作为HTML输出的一部分显示了出来。当用户点击这个链接 时,setPassword函数将会被调用,从而将密码设为abc。上例说明了允许用户执行任意的Actionscript函数来操纵程序的应用程序数据 是非常危险的。如果一个Flash应用程序中存在持久性的XSS安全漏洞,这会导致存心不良的用户能够让其他用户在受信任的沙箱中执行任意的Flash函 数。受本地信任的SWF文件甚至能读取本地的文件,并向任意服务器发送消息。ActionScript包含有丰富的函数库,因此攻击者可以通过更高级的攻 击类型利用这些库函数进行联网和通信,以至于访问本地的文件系统。

四、未初始化的变量

PHP程序员可能听说过一种有争议的特性,叫做Register Globals,该特性允许从POST和GET请求将请求中的变量注入到一个脚本的变量空间中。当然,该特性并不常用,甚至有的程序员都不知道该特性的存 在,由于备受抨击,所以将在新的PHP 6中去掉该特性。 理论上,使用register globals也有可能写出完全安全的程序,但是现实中在Web应用程序中发现的大量漏洞都是由于该特性使用不当所导致的。

ActionScript也有一个类似的特性,不过在版本3的时候已将其取消了,但是因为ActionScript 2依旧在Flash社区内广泛使用,所以这个问题仍然值得我们关注。任何未初始化的变量都可以作为FlashVar进行初始化。当程序员忘记给关键变量赋 初值或者将变量指定为undefined的时候,很可能会带来后患。可以考虑一下清单 3 中的代码,它决定用户是否被允许查看一些机密信息。

清单3. 依赖于未初始化变量的代码示例

图17

程序员依赖于这样一个事实,即如果变量userLoggedIn没有初始化,它就会被设为undefined。而undefined这个值在条件语 句中被作为false对待。绕过ActionScript 2中的代码很容易,因为变量userLoggedIn未经初始化。只需在GET请求或者在HTML中作为一个对象参数将userLoggedIn设为 true,如下所示:

图18

在ActionScript 3中,FlashVars只能通过LoaderInfo类的parameter属性进行访问,这使得针对未初始化的数据的这种攻击不再可行,不过,开发人员仍然应该仔细检查传给SWF的所有参数。

五、SWF之间的通信

与浏览器的Cookie机制相似,本地共享对象(LSOs)为SWF应用程序提供了少量的持久性存储空间。LSO会受到特定的域、本地路径或者 HTTPS连接等方面的限制。 在清单 4 中的代码将生成一个共享对象,并且该对象可以被存储在/a/b或者其子目录(如a/b/c)下的其它SWF程序所访问。函数flush将强制将这个对象写 到这个文件中。

清单4. SharedObject示例代码

图19

如果您打算把机密信息储藏在一个本地共享对象之内,那么可以把标志secure设为true,这样一来就只有通过HTTPS才能访问这个SWF。不 管它们是如何被传输的,LSOs是以明文的形式存放在客户端的机器中的。由于ActionScript自身没有提供加密类,所以如果想保护存储在LSO中 的重要的信息的话,就只好使用第三方加密程序库了。

为了让运行于同一个客户端机器上的SWF应用程序之间可以直接相互通信,ActionScript提供了LocalConnection类。这时必 须有一个swf应用程序充当接收方,另一个充当发送方。 这些SWF应用程序并不一定非要运行在同一个浏览器中不可,但是默认时,只有位于相同的域中的SWF程序才能相互通信。在调试阶段,开发人员经常使用 allowDomain函数来放宽这个默认的安全限制。清单5中的代码,让LocalConnection来接收数据。

清单5. 接受 LocalConnection 的代码

图20

如果产品代码中遗留了allowDomain(‘*”) 将是非常危险的,因为它允许来自任何域的任何SWF程序都能访问你的应用程序的内部函数。通配符最好的使用方式是只允许相同的域或者子域之间的SWF可以 进行通信。例如,allowDomain(“*.test.com”)将允许在www.test.com和mail.test.com之间的通信。为了发送数据,可以使用LocalConnection函数,如清单 6所示。 如果不使用函数connect的话,发送方可以使用想要函数名和参数来直接调用函数send。

清单 6. 发送LocalConnection的代码

图21

六、正确的输入验证

输入验证的常见方法是检查一块数据是否匹配一个正则表达式。正则表达式的作用是描述一个字符模式。ActionScript在版本3开始对正则表达 式提供本地支持,并使用EMCAScript语言规范来实现正则表达式。仍然使用ActionScript 2的传统开发人员在验证数据时,却无法借助正则表达式或者诸如As2lib之类的第三方程序库。可以考虑一下以下有弱点的代码:

图22

不要盲目信任用户提交的电子邮件,而要使用正则表达式进行双重检查来将恶意用户拒之门外。清单7中的代码给出了一个使用正则表达式测试一个电子邮件地址是否合法的函数示例。

清单 7.验证电子邮件的规则表达式

图23

如果您的应用程序必须迁移到ActionScript 3.0,那么即使不用正则表达式也能进行输入验证,尽管此解决方案不太优雅并且不太合乎RFC标准。不用正则表达式验证输入时,一般地需要调用许多标准串函数,如清单8所示。

清单8. 无规则表达式的电子邮件验证

图24

如果您必须使用用户输入的数据来供getURL函数或者HTML文本组件使用,那么可以利用正则表达式定义那些数据是可以接受的,并只接受http 或者https协议处理程序用于有效的链接。不要依赖转义函数来进行输入验证。按照Flash帮助文档的规定,escape函数将参数转换成一个字符串, 并以URL编码的格式对其进行编码,其中非数字字母字符被替代为%十六进制序列。可以考虑一下以下代码,它没有正确地使用escape函数来进行输入验 证。

图25

Escape函数不能阻止恶意用户潜入JavaScript函数,并执行他们自己任意的脚本代码,例如请看以下请求:

图26

七、安全地公布内容

不仅Flash开发人员应该花时间去验证输入,web管理员也应该通过设置安全措施来防止不可信的SWF文件访问浏览器和/或网络。可以通过 < OBJECT > < embed >标签把SWF应用程序作为对象嵌入在一个HTML页面中。您可以在影响安全策略的< embed >或者< object >标签之内规定三个可选参数。 参数allowScriptAccess控制SWF文件是否能够访问HTML容器。而allowNetworking参数则控制SWF使用 ActionScript的网络API的能力。最后,allowFullScreen参数决定Flash应用程序是否被允许控制整个屏幕。

参数allowScriptAccess有三个可能的值:

◆always:允许SWF和HTML页面通讯,不管加载这个HTML页面的域名如何。 只有在完全信任这个SWF的时候才能使用这个选项,它是Flash Player 7和早先的版本的默认行为。

◆sameDomain:只有在两者位于同一个域中时才允许SWF应用程序修改底层的HTML页面。 位于域www.a.com中的Flash应用程序不能修改位于www.b.com中的HTML页面。这个是Flash Player 8及随后版本的默认行为。

◆never :绝不允许在HTML页面和SWF应用程序之间进行通信。

参数allowNetworking也有三个可能的值:

◆all:SWF应用程序被允许使用网络API建立无限制的网络连接。

◆internal:SWF应用程序不允许调用浏览器的导航或者交互API,但是被允许调用其他网络调用。

◆none:禁止SWF应用程序使用任何网络API。

参数allowFullScreen仅仅有两个可能的值:

◆true :SWF应用程序被允许占用整个屏幕。 这个选项可能被恶意用于诱骗攻击。

◆false:fullscreen模式不被允许。

许多流行的论坛允许其管理员创建他们自己的BBCode以使得用户可以格式化讨论贴或者包含额外的内容。许多管理员已经增加了支持SWF的BBCodes。可以考虑一下以下不安全的HTML代码替换Flash BBCode。

图27

在一个有敌意的你不可以信任任何张贴的swf应用程序设置中,必须将在< embed >标签之内的allowNetworking、allowScriptAccess和allowfullscreen显式设置,以防止恶意应用程序 进行非本意的网络或者脚本调用。不应依赖默认Flash Player安全设置,而应当假设一些用户无法或不愿意更新软件。清单 9中的HTML代码给出了安全的设置。

清单 9. 为 HTML 的Object 标签添加适当的安全设置

图28

八、安全分析工具

目前,可用来对Flash应用程序进行安全审计的工具仍然不多。Stefano Di Paola已经编写了精巧的工具用来发现跨站点脚本攻击和跨站Flash漏洞,该工具名为SWFIntruder。这个工具提供了一组预定义的攻击方式, 这些是可定制的,并能以半自动化的方式进行XSS测试。这个工具运行在Web服务器上,可以通过浏览器进行访问,它能显示全部未定义变量和SWF应用程序 中所有已经实例化的变量。

用户可以通过选择一个参数来测试和执行各种攻击,并提供XSS扫描的输出结果。 SWFIntruder的一个主要局限性是它仅仅能分析低于版本8或者ActionScript 1或者2创建的Flash应用程序。当审计封闭源码的Flash应用程序或元件的时候,反编译器就显得尤为重要了。反编译器提供了编译程序的逆过程,因为 它将低级计算机代码转换为一个高层的抽象化代码。 Flash反编译器接受swf应用程序的字节码,然后生成相应的ActionScript代码,而后者相对来说更易于人类阅读。为了揭露安全性缺陷,使用 静态分析工具来针对生成的ActionScript代码进行分析就更方便了。免费的反编译器的一个例子是Flare,它将从一个swf应用程序中提取全部 ActionScript文件。不过,就像SWFIntruder一样,Flare 不支持ActionScript。 但是有商业产品可以从ActionScript1/2或者ActionScript3应用程序生成FLA文件,前提是必须掏钱。

九、结束语

在开发基于web的富应用程序的时候,许多Flash应用程序开发人员并没有意识到它们正受到恶意用户的各种安全威胁。尽管安全社区对XSS、未初 始化的变量攻击及其他输入验证漏洞并不陌生,但是Flash提供了一种新的攻击类型,尤其是那些无防备的和未经严格测试的Flash程序。不过,只要经过 程序员、测试人员和web管理员密切配合,经过适当的培训并对输入端进行严格检查,就能够有效减轻Flash应用程序中的跨站点脚本攻击漏洞所带了的威 胁。

【51CTO.COM 独家特稿,转载请注明出处及作者!】

工信部近日下发关于印发《木马和僵尸网络监测与处置机制》的通知.
通知指出,对于特别重大、重大、较大事件的处置情况,国家计算机网络应急技术处理协调中心(以下简称CNCERT)应在接到处置单位反馈后2小时内向通信保障局和相关通信管理局反馈处置结果.对于涉嫌犯罪的木马和僵尸网络事件,应报请公安机关依法调查处理.

《木马和僵尸网络监测与处置机制》自2009年6月1日起实施.

工信部称,制定此办法的主要目的是防范和处置木马和僵尸网络引发的网络安全隐患,净化公共互联网环境.

以下为通知全文:

工信部保[2009]157号

各省、自治区、直辖市通信管理局、国家计算机网络应急技术处理协调中心、中国互联网络信息中心、政府和公益机构域名注册管理中心、部电信研究院、中国互联网协会、中国电信集团公司、中国移动通信集团公司、中国联合网络通信集团有限公司、其他相关单位:

为防范和处置木马和僵尸网络引发的网络安全隐患,净化公共互联网环境,维护我国公共互联网安全,制定《木马和僵尸网络监测与处置机制》,现印发给你们,请遵照执行。

联系人:付景广 010-66022774

二〇〇九年四月十三日

木马和僵尸网络监测与处置机制

第一条 为有效防范和处置木马和僵尸网络引发的网络安全隐患,规范监测和处置行为,净化网络环境,维护我国公共互联网安全,依据《中华人民共和国电信条例》、《互联网网络安全应急预案》,制定本办法。

第二条 木马是指由攻击者安装在受害者计算机上秘密运行并用于窃取信息及远程控制的程序。僵尸网络是指由攻击者通过控制服务器控制的受害计算机群。木马和僵尸网络对网络信息安全造成危害和威胁,是造成个人隐私泄露、失泄密、垃圾邮件和大规模拒绝服务攻击的重要原因。

第三条 本办法适用于对危害公共互联网安全的木马和僵尸网络控制端(以下简称木马和僵尸网络)及其使用的IP地址和恶意域名的监测和处置。

第四条 工业和信息化部指导、组织、监督全国木马和僵尸网络的监测和处置工作。工业和信息化部通信保障局(以下简称通信保障局)负责具体工作。

各省、自治区、直辖市通信管理局(以下简称通信管理局)指导、组织、监督本行政区域内木马和僵尸网络的监测和处置工作。

国家计算机网络应急技术处理协调中心(以下简称CNCERT)受通信保障局委托,负责对木马和僵尸网络的规模、类型、活跃程度、危害等情况进行监测、汇总、分析、核实,组织开展通报工作,协调处置木马和僵尸网络IP地址和恶意域名。

基础电信运营企业负责对本单位网内木马和僵尸网络进行监测、核实,对CNCERT汇总通报的涉及本单位的木马和僵尸网络进行处置和反馈。

互联网域名注册管理机构负责对CNCERT通报的由自身管理的恶意域名进行处置。对于由国内互联网域名注册服务机构注册的由境外域名注册管理机构管理的域名,由CNCERT直接协调国内互联网域名注册服务机构进行处置。

第五条 基础电信运营企业、互联网接入服务提供商、IDC服务提供商、互联网域名注册管理机构、国内互联网域名注册服务机构在提供互联网接入服务、域名解析服务时,应在与用户签订的服务协议、合同中告知用户承担的网络安全保障责任。

第六条 CNCERT、基础电信运营企业应不断提高木马和僵尸网络的监测能力。CNCERT、基础电信运营企业、互联网域名注册管理机构、国内互联网域名注册服务机构应建立健全本单位的处置机制,协同配合、快速处置,共同做好木马和僵尸网络的监测和处置工作。

第七条 木马和僵尸网络事件分为特别重大、重大、较大、一般共四级。

特别重大事件:涉及全国范围或省级行政区域,单个木马和僵尸网络规模超过100万个IP地址,对社会造成特别重大影响。

重大事件:涉及全国范围或省级行政区域,同一时期存在一个或多个木马和僵尸网络,总规模超过50万个IP地址,对社会造成重大影响。

较大事件:涉及全国范围或省级行政区域,同一时期存在一个或多个木马和僵尸网络,总规模超过10万个IP地址,对社会造成较大影响。

一般事件:涉及全国范围或省级行政区域,发生木马和僵尸网络事件,对社会造成一定影响,但未造成上述后果。

通信保障局负责对分级规范进行修订。

第八条 监测和通报:

(一)CNCERT、基础电信运营企业负责对木马和僵尸网络进行监测。

(二)基础电信运营企业按照本机制第七条对监测到的事件进行分级,特别重大、重大、较大事件应在发现后2小时内报送通信保障局,同时抄报CNCERT;一般事件应在发现后5个工作日内报送CNCERT。

报送内容包括:控制端IP地址、端口、发现时间及其使用的恶意域名。

(三)CNCERT 汇总自主监测、基础电信运营企业报送和从其他渠道收集的事件,进行综合分析、分级。对于特别重大、重大、较大事件,CNCERT应在2小时内向通信保障局 报告,并及时通报相关通信管理局。通信保障局认为必要时,组织有关单位和专家进行研判。事件情况及研判结果由通信保障局直接或委托CNCERT通报相关单 位。对于一般事件,CNCERT应在发现后5个工作日内通报相关单位。

事件通报内容包括:

1、威胁较大的木马和僵尸网络IP地址、端口、发现时间、所属基础电信运营企业。

2、木马和僵尸网络使用的恶意域名。

3、木马和僵尸网络的规模和潜在危害。

第九条 处置和反馈:

基础电信运营企业、互联网域名注册管理机构、互联网域名注册服务机构接到CNCERT木马和僵尸网络事件通报后,应按如下流程处理:

(一)通知与木马和僵尸网络IP地址和恶意域名相关的具体用户进行清除,并跟踪用户处置情况。

对于域名注册信息不真实、不准确、不完整的,互联网域名注册管理机构、互联网域名注册服务机构根据《中国互联网域名管理办法》有关规定进行处置。

(二)反馈用户的处置情况。特别重大、重大、较大事件的处置情况应在接到事件通报后4小时内向CNCERT反馈,一般事件的处置情况应在5个工作日内向CNCERT反馈。

反馈内容包括:用户已处置的IP地址和恶意域名、单位名称、用户未处置的IP地址和恶意域名及未处置的原因。

(三)监测单位验证处置情况。

对于CNCERT自主监测的事件,由CNCERT对处置情况进行验证。特别重大、重大、较大事件应在接到处置单位反馈后2小时内向处置单位反馈验证结果,一般事件应在5个工作日内反馈验证结果。

对于基础电信运营企业监测到的事件由基础电信运营企业自行验证。特别重大、重大、较大事件应在接到CNCERT事件通报后6小时内向CNCERT反馈验证结果,一般事件应在10个工作日内向CNCERT反馈验证结果。

(四)对于未处置或经验证仍存在恶意连接的木马和僵尸网络IP地址和恶意域名,按如下方式处置:

对于重要信息系统单位,向通信保障局反馈用户相关情况,抄报CNCERT,由通信保障局或当地通信管理局书面通知其主管部门。

对于其他单位用户和个人用户,应依据与用户签署的服务协议、合同等进行处置。

(五)对于特别重大、重大、较大事件的处置情况,CNCERT应在接到处置单位反馈后2小时内向通信保障局和相关通信管理局反馈处置结果,一般事件处置情况由CNCERT每月汇总,按照互联网网络安全信息通报有关办法通报监测和处置情况。

第十条 CNCERT、基础电信运营企业、互联网域名注册管理机构、国内互联网域名注册服务机构应留存木马和僵尸网络相关数据或资料以备查验。数据或资料保存时间为60天。

第十一条 CNCERT、基础电信运营企业、互联网域名注册管理机构、国内域名注册服务机构应保护用户正当权益,规范处置流程,建立用户申诉机制,妥善解决用户争议。

第十二条 通信保障局通过会商制度,组织相关单位和专家研讨木马和僵尸网络相关问题及其应对策略。

第十三条 事件通报和反馈应按照统一表格以书面方式报送(报送格式见附件三)。紧急情况下,可以先电话联系,后补表格。

第十四条 对于国家举办重要活动等特殊时期,对木马和僵尸网络监测和处置工作另有要求的,从其规定。

第十五条 相关单位应将本单位木马和僵尸网络监测和处置工作主管领导,责任部门负责人、联系人、联系方式报送通信保障局,抄送CNCERT。以上信息发生变更,应在3个工作日内报送变更情况。

第十六条 CNCERT应与非经营性互联单位合作,协调非经营性互联单位处置其网内木马和僵尸网络;应与网络安全研究机构、网络安全技术支撑单位、网络安全企业、病毒厂商等单位合作,建立研究、分析机制。

本机制中非经营性互联单位指中国教育和科研计算机网、中国科技网、中国国际经济贸易网、中国长城互联网。

第十七条 对于涉嫌犯罪的木马和僵尸网络事件,应报请公安机关依法调查处理。

第十八条 通信管理局应参照本办法制定本行政区域内木马和僵尸网络监测和处置机制。

基础电信运营企业集团公司应督促本单位省级公司按照当地通信管理局要求,及时反馈木马和僵尸网络事件监测处置情况,接受当地通信管理局的监督管理。

第十九条 本办法中重要信息系统指政府部门、军队以及银行、海关、税务、电力、铁路、证券、保险、民航等关系国计民生的重要行业使用的信息系统。

第二十条 本办法自2009年6月1日起实施。

联系方式

(1)通信保障局

主管领导: 熊四皓 010-66069910

联 系 人: 闫宏强 010-66069895,13011881107

付景广 010-66022774,13701353949

(2)工业和信息化部24小时值班电话:010-66014249

(3)CNCERT

主管领导:云晓春 010-82990501

联 系 人:孙蔚敏 010-82990103 13911218086

温森浩 010-82990680 13810059765

CNCERT 24小时值班电话:010-82990999

五月 27th, 2009

Run PHP on the Google App Engine

1 Comment, 技术文档, by Neeao, 251 views.

Google launched their Google App Engine (GAE) a year ago. The free hosting in App Engine is allocated 500 MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month. Also, if you really want more you can see pricing plans.

GAE will support Java going forward. Unfortunately PHP support on the App Engine is still left as the top item in the wishlist. So until Google announces their official PHP support we have a workaround to run PHP using Quercus. Quercus is basically a 100% Java implementation of the PHP language (requires JDK 1.5).  Since the App Engine now supports Java this means we can use Quercus to run PHP scripts on the App Engine.

So all you need to use the GAE and run PHP
1) Register a free account.
2) Download this file to your computer.
3) Edit application XML tag in the file war\WEB-INF\appengine-web.xml to the name of the application you have registered.
4) Finally upload your application. I downloaded Google App Engine SDK for Java and use the following command in windows.
appcfg.cmd update C:\projects\phpwithjava\war

To see this in action just visit:
http://phpwithjava.appspot.com/webdigi.php

http://phpwithjava.appspot.com/info.php

NOTE: phpwithjava is my app name with GAE.

来源:cnBeta

上个月,安全调查人员发现一群地下黑客在高价收购2003年生产的诺基亚1100手机,怀疑诺基亚1100上存在漏洞可以被黑客利用。诺基亚声明它并不清楚为什么犯罪分子要花数千欧元购买只要十几美元的旧手机。现在Ultrascan的调查人员重现了使用诺基亚1100手机入侵银行账户的过程,终于明白为什么黑客会对其发生兴趣:利用黑客自己编写的软件,手机可用于访问受害人的银行账户。

当手机安装了黑客重现编写程序后,使用他人的手机号码就能接受到他人短信,包括拦截欧洲银行的mTAN(移动处理验证号码,mobile transaction authentication number)。唯一能生效的手机型号只有Nokia 1100,Ultrascan 成功重编程了一个Nokia 1100手机,并拦截到了一条mTAN短信,他们使用的是从网络上找到的黑客软件。软件破译了Nokia 1100的固件,然后通过固件修改国际移动身份识别(IMEI)和国际移动用户识别码(IMSI)等信息,修改后的固件还能抹掉ROM。最终黑客能克隆出 一个用户识别模块(SIM)卡。调查人员认为Nokia 1100的固件中有漏洞。

文/solidot

五月 26th, 2009

SDL 4.1 发布了

No Comments, 业界咨询, by Neeao, 212 views.

下载地址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=967389d8-6ed0-4751-a8d2-9c2fad39adce&displaylang=en

五月 25th, 2009

南京女子被电话诈骗152万

1 Comment, 业界咨询, by Neeao, 234 views.

南京一名退休女子接到一串电话后被骗走152万元.南京警方5月22日破获这起近年来被骗数额最大的一起电话诈骗案,3名主要嫌疑人陈某、王某、许某在福建厦门落网.
5月19日下午4时许,退休市民邓女士到南京市玄武区公安分局报案,称当日中午在家中接到一陌生女子电话,该女子冒充邮局工作人员以邓女士有一邮件未签收被退回为名,骗取邓女士的身份信息.

之后,其他几名犯罪嫌疑人又分别冒充福州市公安局、检察院工作人员打来电话,称邓女士涉嫌洗钱和诈骗犯罪,即将冻结其所有存款,待调查清楚确认与邓女士无关再将存款退还,并要求邓女士将存款转至所谓的“检察院安全账号”.

邓女士信以为真,于当日下午4时在玄武区一工商银行将152万元存款汇出,等再与对方联系时才发现上当.目前,案件正在进一步审理中.

ps:骗子的社工太牛了吧。

五月 21st, 2009

5月19日大陆DNS大规模故障始末

1 Comment, 业界咨询, by Neeao, 534 views.

18日开始,著名免费dns服务提供商的6台服务器开始受到攻击.dnspod为诸多网站提供域名解析服务,其中包含暴风影音.

18日晚上20点33分59秒.在史无前例的大流量攻击下dnspod的6台解析服务器开始失效,大量网站开始间歇性无法访问,其中包括国内诸多知名网站,当然,其中也包含我的不知名网站.第一波攻击的流量在21点30分左右达到高峰,流量超过了10Gbps,如下图 ,要知道,一个电信核心机房的带宽也仅仅最多只有几十G

18日当晚,由于dnspod耗尽了整个机房近乎3分之1的带宽资源,为了不影响机房其他用户,dnspod的电信主力dns服务器被迫离线

19日晚上,在另一轮高强度攻击下,dnspod服务完全中断,由于暴风影音播放器客户端无法解析出服务器的IP,开始不断向网络供应商的dns服务器发送解析请求,造成当地运营商的dns服务器堵塞.

19日晚上21点左右,浙江电信dns开始瘫痪 , 之后的两个小时内北京、天津、上海、河北、山西、内蒙古、辽宁、吉林、江苏、黑龙江、浙江、安徽、湖北、广西、广东等地区的dns陆续瘫痪.

在零点之前,部分地区的运营商进行了处理,将暴风影音的服务器Ip加入dns缓存或者禁止了这个域名的解析,网络开始恢复.

截至目前为止,还有很多地区的dns服务存在问题,dnspod的也仍然没有完全恢复.

后经了解,此次事故的罪魁祸首竟然仅仅是同样在使用dnspod服务的一个私服网站,这个网站的”同行”在对其web服务器攻击不成的情况下动用大量肉鸡对其dns服务商dnspod进行了丧心病狂的攻击,其规模之大真的让人胆战心惊.

据电信部门称,五月十九日二十一点零六分开始,由于暴风影音客户端软件存在缺陷,在暴风影音域名授权服务器工作异常的情况下,导致安装该软件的上网终端频繁发起域名解析请求,引发DNS拥塞,造成大量用户访问网站慢或网页打不开。据集团反馈的信息,全国范围内各运营商在此期间也发生类似故障。对于罕见的互联网络大瘫痪,许多网民称,仿佛又回到了二00六年底。当时台湾地震造成海底通信光缆发生中断,中国内地的国际互联网访问质量受到严重影响。对于软件故障引起这样全国范围的互联网瘫痪,令业内人士大吃一惊,也引起很多网民不满。有网民表示,网络运行商不能按照合约提供网络服务,将会对网络运营商进行索赔。

此次网络瘫痪事件,再次为互联网安全敲响了警钟。

现在还不能正常进行解析的朋友可以尝试opendns,将网络设置中的dns地址修改为208.67.222.222 和 208.67.220.220 即可。

来源:テレピ番組の攻擊