肖新光:时间比较晚了,我希望我的演讲使大家暂时忘记饥饿。

首先要说明几点,这个报告是从一个整体网银用户客户端的普遍安全状况进行思考的,不是单纯探讨单点攻防技术。这个报告披露了一些案件,这个案件是以本人掌握为基础,没有法律的意义。第三,这个报告是本人的观点,与本人团队和其他的没有关系。

报告分为三个部分,第一部分是木马!又见木马!首先,重回犯罪现场,在去年,有一起轰动国内的网银被盗案,当时被称为蔡中建设银行被盗案,事后通过技术分析来看一下过程。他使用一台电脑,这台电脑被安装木马之后,木马做了什么行为?获取中断信息,七分钟发送一次,只要每天攻击者联通虚拟域名超过七分钟以上,他就一定能收到信息,这大规模减少了他的风险。另外,他在本机开放一个15440的断口,这是一个CMD,用来等待攻击者的联系。他也会开放一个7618的断口,我分析这是木马作者用于自测的过程。这个作者的行为都没有被记录下来,为什么会出现这种情况?为什么有了防病毒软件,仍然会被安装木马?我觉得需要看两个数据,第一个数据,要看2001年(Pusaf)的数字,基本上主流防病毒软件的总体检出数都在95%,但是我们再看一下,2005年(cipu)的测试,木马整个检出数,可以说所有厂商木马检出数均低于80%。这意味着什么?并不是这个库本身有什么特殊性,意味着所有厂商样本库互检的检出率低于80%,这构成终端安全的基本情况。对木马问题,已经成为当前网银攻防斗争中核心的挑战,需要关注的有三点:数量与分布、传播途径、方法。

首先看一下数量与分布,2003年7月7日在黑龙江教育科研网网络监控整个病毒流量数据,我们看一下这个流量数据特点是什么样,第一名求职信传播17万次,第二名中国黑客传输3.9万次,到第八名,已经降到2次。这说明什么?说明在当前的情况下,基本在2003年以前,每年基本病毒依赖于主流媒介,98、99年的时候,基本机器感染的都是(CRH),后来电子邮件成为主要的通道,整个电子邮件传播成为主通道。在这样的主通道下,第一个是由硬件蠕虫为核心先导,在降到第五、第六名程度的时候,感染率和传播率比较低。大家看看2008年4月1日—7日,求7日均数的统计图。首先看一下病毒类别,03年基本按照(Ibom)把持,08年4月的排行榜上完全由特洛伊木马把持,当时发现的第一名感染数是5000多个。从491名到500名的时候,分别从121个到128个,这个数字跟前面不同的是什么?没有明显收敛于前几名的病毒,而呈现出超级长尾,比传统所谓的长尾还要长。(图)看一下这个分布图,按照过去两讲,往往第一名超过后续所有名的总额,目前来讲,1—10名的数量低于10—500名的数量总和。这代表木马是小众化的趋势,原来打个一个比方,写一个小木马的人每天到网吧拿U盘把所有机器感染一遍,每个月收几万块的收入。回头来看,1986年到第一个病毒产生,到2000年,15年内全球共产生19836种病毒,08年预计产生的总数可能突破25万种,而且这25万种还是由于当前整个病毒统计难度太大,已经把统计标准压缩了,如果按照原来的标注,可能到年底会存在30万种甚至更多的情况。这是整体数量的空前膨胀。

我们需要关注的一些数据,06年根据从搜索引擎的统计,全国原创木马站点2200个,2004年国产后门灰鸽子家族占全球后门总变种的17%。2008年,全球恶意代码关联总数约100人。08年,全球恶意代码专业分析工程师的总数加起来不超过8000人。这实际是当前的攻防实践。

看一下传播途径。(图)这是06年征集一些民间志愿者,通过全系统的方式跟踪,确认木马是怎么来到机器上的。这和病毒的感染渠道对比,比如03年的数据,基本上由当时的主流交换通道——邮件传播。06年WAP注入的13.4%,在06年,由于微软SPR机制没有出现的时候,自动传播的情况比较多。数据交换设备进入19%,通过USB的方式。考虑到中国很多用户都是安全盗版的操作系统,而盗版的系统把微软最重要的安全配置之一空口令不许连接去掉了,通过空口令进入的7%。邮件进入的4%,用户搜索造成感染的是2%,人工社交传输主要是3%。这使整个木马传播的手段,到06年,已经高度立体化。在这种情况下,已经不是原来简单通过一个通道,比如过去通过广域网电子邮件传播,可以通过网络上的过滤设备予以监控和统计,通过U盘的短距离传播,就不具备这样的宏观调控条件。

木马搭载方式,最近看到的事件,数据存储产品,然后是驱动盘,还有盗版ISO,比较典型的是共享软件,在盗版Office中发现散步僵尸软件的情况。未来,攻防重点将在手机上。

讲一下方法。回到整个犯罪现场,我们对当前的评价,叫做精工细作。假如这是一个静态蔡中案,一旦启动起来,发生IE对.IR解包,创建两个服务,这两个服务的标题名是抽取其他标题名做伪装的。这起什么作用?重新伪装其AAA.IR,伪装起它让它开放的断口通过一些工具找不到,它伪装它让它显示是一个零字节的。为什么没有发现断口?就是被这个伪装掉了。这个文件创立了一个相应文本标题名加密的日志文件,这里存储了IP地址、本机操作版本、计算机名等等,我们确认攻击者后台有一个维护系统,能对所有受害主机进行辨识和管理。U盘传播、键盘记录、网络发送,这是核心的传播体系。从常规反病毒软件扫描,通过一般文件访问,一旦启动,根本访问不到这几个文件,读取不到何谈杀毒?这不是精工细作最典型的例子。另外需要说明的一点,这个文件是哪里来的?不是攻击者自行编写的,(图)它专门提供钩子程序进行销售,也就是说我们看出这种精工细则里还有上下游的分工。

(图)这是最典型的,它的特点是什么?所有的东西,整个攻防体系完全由开源的公开工具搭出来的,没有任何一个反病毒软件有合法检测的理由,全部的工作是由分工完成的,任何一个程序的行为绝达不到任何主动防御的劝止。这么多木马杀不了,反病毒软件的根本软肋是什么?为什么杀不了?我认为反病毒的软件根本软肋与攻防这些根本没有关系,如果说攻防无效,不也是用一条检测规则检测了上千个灰鸽子的变种吗?如果说攻防是无效的,没有攻防,如何处置?反病毒软件的根本软肋是两点,一是易于获得的安全资源,每个反病毒软件的售价,在国内网站上都有免费适用,很多流氓软件系统本身有这样一套系统,支持20多个反病毒扫描。为什么易于获得的安全资源,非常廉价的、易于获得的,从这个角度,可以使用测试,这是与硬件防火墙IDS不同,到底能不能被IDS检测出来?花几万美元买一个,可能舍不得,但反病毒就面临这个问题。第二点是主动防御看上去很美,说主动防御如何如何,能解决什么,主动防御一样绕不过这个,不断多么智能,驱动编写多么完美,永远逃避不了人家在你体系下一直测试到你发现不了为止再发布的局面,更何况还包括我刚才讲的例子,完全是分工的,每个程序的行为都是合理的。第二点,反病毒软件没有任何先决优势,是纯主机权限的对抗,只要在第一轮对静态数据审计之后,就变成代码,代码和代码是纯控制权之争,没有先决条件。还有AV可为之,VX亦可为之,举个例子,大概在去年,我们处理了两例智能查杀反病毒软件的病毒,第一个用的是什么方法?既然要实施监控,右下交托盘处一定有一个图表,把这个全盖掉,还有吗?全球病毒有几十万,反病毒软件不超过百种,原来把路径存下来,现在直接把托盘进程变一下。还有一种更绝的,从微软的安全中心查到你现在的安全软件,然后根据这个反向处之。安全网络能做什么,僵尸网络也能做什么,在这里没有任何的先决优势,这两点根本软肋是无法解决的,要给人用,就是易于获得的资源。还有一个问题,需要看到的是什么?即使反病毒传播有上古先知的智慧,也无济于事。

第二个问题是客观端认证——美杜莎之筏。再回到犯罪现场,受害用户和银行产生的主要争议是什么?是因此申请了银行的客户端证书,而这个证书没有保持他的安全,也就是说脱离可信文件的认证体系。

大家认为USBK是比较安全的,但是USBK解决了什么?确保定点登陆的问题。一些USBK没有实现完整的PKI签名机制,这是比较危险的。另外一点,签名机制目前USBK的机制没有解决要它签名的数据是不是由用户发出的问题。目前有一点用U3体系的软USBK,UG体系的软USBK是可以直接软写的,一旦软写进去,这个东西是普通用户清除不掉的。

SSL是否安全?肯定不安全,为什么?链路和逻辑无关。不窃取帐号的网银密码,怎么办?他钩住了IE两个函数,比如你要转款你的朋友,直接把账户改掉,转到他的帐号里面。当改掉的数据送给SSL的时候,它不知道。从这里面,我们看到的是,在终端环境无法保证安全的情况下,所面临的一些窘境。还要看一个问题,有一个非常有趣的现象,从终端的安全保护上,本来更有实力的银行提供的保障机制落后于网游公司。我们看看网游公司的手段,这是矩阵卡,矩阵卡的意义是什么?横坐标、纵坐标,每次问A4是什么,E8是什么,填对了进去。矩阵卡遭没遭到攻击?遭到过。每次都是用四个位置,累积到一定的位置,刷了几次,可能刷到第五次的时候,所有位置都落进了我所累积的位置,进去之后把账户和矩阵卡的关联解掉,下次就可以自由登陆。矩阵卡为什么被破解?最关键的原因,实际不是一次一地的行为,密钥组合是受限的。这是密保,密保的机理是针对时钟的密钥发生器。这是约定密钥的第二条信道,而且这个信道与主信道没有关联。密报遭没遭到破解?遭到了。它在前面听到了你的密保之后,那边马上有一个机器人自动上去,一个很好的机器犯了一个小错误,这个密码登录后应该立即废止掉,不是绝对一次一密,因为是基于时钟的,而这个时钟的准确性大概是5分钟,实际上需要牺牲掉一点点不方便性来获取安全性,如果5分钟内掉线了,第二次再登同一个密钥是登不上去的。仿佛它们被攻破了,但它们不像反病毒技术一样惨,因为这是方法对抗,我们仿佛看到了一些东西。

即使没有这些错误,还需要考虑的。如果用户被远程控制,本地行为和远程控制行为是难以判定的,用户不能暂行判定登录的是不是银行,这点无法判别,用户难以判别出有些专业软件要安装客户端,里边有反键盘记录都做好了,这时候把桌面图表给你去掉了,运行界面一样,账户密码输进去。这就是算法验证系统不能满足的。

我认为,针对网银保护这个话题,虽然从明显的基于本身直接登录认证的攻防对抗,其实比反木马本身的有效性高,但我们也看到相应的问题,所以说漂泊在惊涛骇浪里的美杜莎之筏,会挽救一些人,但不会是所有人。伪安全感有时比没有安全感更可怕。

第三个话题叫重回正途。实际上很多人在提安全之本,节点和信道,我们知道,一个要准安全环境,我认为可以论证安全操作下不存在绝对安全的操作方式。对准安全环境来说,有可能是全局的,也有可能是局部的,比如USBK,本身就是一个安全环境,我认为操作取决于最终的环境是否安全,而不是链路的问题,链路的问题可以由PKI解决。配置优化的思想是什么?一个系统感染病毒,杀下去,发现可能很困难,但其实一个强化过的系统感染过病毒,也不是很容易。还有一点是双通道,实际上双通道也做了,比如手机二次短消息认证、密钥发放通道,双通道的意义就是这个通道一定不与主环境发展关系,如果主环境能读取到,就不是双通道。

仿佛搭建了一个很完美的体系,这是可能搭建的目标么?需要考虑用户驾驭安全环境的能力。用户能用明白吗?比如还要调USB优先启动,他可能不会。用户所能承受的不方便代价,不方便系统就是没有人用的系统。比如A银行特难用,用B银行的吧,反正没有多少钱。

还要看一点的是什么?即使用技术体系去看,攻防不对称性在谁那方面?如果网络攻击和网络攻防持平,木马对反病毒产品,攻击者绝对占优势,专业攻击者和不专业用户对抗,攻击者占绝对绝对优势。

这是一个纯技术问题,我想说什么?比如上淘宝,通过操作者的操作系统访问银行网站,操作者是网银,网络活动后面是网络服务商,链路后面是通讯运营商,银行网站后面是银行。从另一个角度,攻击者的链路是什么?有跳板、挂马、收帐号等资源,用木马对抗安全产品,也需要通信链路,用ATM取款或刷卡消费。攻击者里面有利益集团,挂马者木马后面可能有上游厂商,木马不是他写的,链路后面也有运营商。操作者对银行来讲是用户,他有存款的自由,攻击者对银行也是用户,他有取款的自由。在后面,实际是体系化的对抗,怎么通过前面技术手段解决所有的问题?

为什么歇菜?整个网银用户是一个链,操作系统安装,安装安全产品,通过链路进行网络活动,在网络活动中可能发生银行访问,是整个链条,这个链条任何一个环节出问题,网银马上歇菜。再看攻方,攻击者有什么资源?也有木马,掌控挂马、肉鸡这些资源。为什么歇菜?因为整个攻击者体系是严密的聚合在攻击者最强联手的资源,这种技术层面对抗一定会歇菜。

再回犯罪现场,首先攻击者是怎么入侵的?通过淘宝网。看警察搜寻的过程,首先银行帐号找到郭某某,再查郭某某,和他没有关系。然后追查银行自动提款,一个女的来提款,有人的长相,有活动范围,之后两个人是男女朋友,人脏并获。人民公安根本不需要进行技术分析,他把握了最关键的、最脆弱的一环,网上是汪洋大海,但是偷了钱不可能不到网下来,不可能不产生实体的取款或消费行为,这点就是最短板,这个东西应该由技术的安全环节解决。解开整体网用户的不对称关键技术之外,一定要有去PK的东西,执法者和操作者用网银用户PK,只有达成这样的社会体系,才有可能达成目的。

我认为任何安全技术环节都是提高攻击者的成本,攻击者最大的代价不是高成本,而是法律的惩罚。在过去几年中,网络DDS攻击非常强烈,去年突然消失,因为一个卖DDS的被打掉,后来其他人看到法律的威力,都不敢出现了。社会公权部门,特别是立法,司法体系是决定性因素。要改善这样的体系,通过法律的威慑施加打击。银行作为改善网银安全状况的关键受益者应该作为最主动的因素,而不是以用户端安全是用户自己的责任来搪塞。社会应急体系的中心应该有所迁移。

没有技术,当然是万万不能的,但技术不能万能的,网银安全综合保障,要从社会科学的角度综合治理。

我要为反病毒技术辩护,反病毒技术是什么?本身是以捕获为基础,面向常规代码对抗的大众化对抗方式,说白了它是民品,民品就是对抗民品,民用的防弹衣一定没有军用的盔甲结实。现在的反病毒软件和终端安全体系是建立在对抗的前提上,完整的确保节点的高等级安全并应对定制性的威胁,超出了其产品附加值所能支持的实现能力。反病毒企业的使命就是尽可能多的辨识和清除病毒,他们无法背负完整的社会安全义务。其他性质安全企业同样面对类似问题,不应把社会责任完全抛给安全厂商。我以前看过一个案例,小两口结婚,把里层木门打开,外面的防盗门丢了。罪案下降了,是防盗门的质量提高了吗?不是,一定是人民公安的努力,是社会综合防治体系的努力。反病毒厂商不可能对攻击者实行肉体的打击,只能是对抗,如何减少病毒作者的责任,还在整个社会的综合防治体系。这样说不代表着我们不想承担责任,我想说的是,作为一个传统的反病毒工作者,我们深知一个不能查杀的木马,对于反病毒是二十万分之一,但对于受这个木马的用户其所受到的侵害则是百分之百。