互联网业务安全

本书中的很多章节都是在探讨Web攻击技术的原理和解决方案。但对于互联网公司来说,个别漏洞的影响也许是可以接受的,真正难以接受的是那些影响到公司发展的安全问题。而业务安全问题,受害者往往是互联网公司的用户,攻击的是互联网公司的业务。业务安全问题往往难以根治,是公司业务发展的阻力,需要引起重视。

产品需要什么样的安全

一个好产品应该具备什么样的特性?很多人都有自己的答案。比如去商场选购一台电视机,一般会比较电视机的方方面面:功能是否先进、硬件配置如何、外表美观程度、厂商的口碑、售后服务的质量,以及价格。专业的买家,还会详细比较参数规格上的细微差别,面板接缝的做工细节,以及噪音和环保等问题。

一个完整的产品有许多特性,互联网产品亦如此。互联网产品其实是网站提供的在线服务,产品特性包括性能、美观、方便性等方面,同时也包括安全。

一般来说,安全是产品的一个特性。

安全本身可视作产品的一个组成部分。一个好的产品,在设计之初,就应该考虑是否会存在安全隐患,从而提前准备好对策。将安全视为产品特性,往往也就解决了业务与安全之间的矛盾。

其实业务与安全之间本来是没有冲突的,出现冲突往往是因为安全方案设计得不够完美。比如安全方案的实现成本相对较高,从而不得不牺牲一些产品功能上的需求,有时候牺牲的可能还有性能。

曾经有一位安全专家,对数百位开发者进行了调研,在这些开发者的眼中,对于一个项目,影响因素的优先级排序分别是:

(1)功能是否能按原定设计实现;

(2)性能;

(3)可用性;

(4)是否能按原定计划上线;

(5)可维护性;

(6)安全。

可以看到,安全被开发者放在了第6位置上,从产品的角度来看,这也是可以理解的。

互联网产品对安全的需求

当一个产品功能有缺陷、用户体验极差,甚至是整天宕机的时候,是谈不上安全性的,因为产品本身可能都已经无法存在下去了。但是当一个产品其他方面都做得很好的时候,安全有可能会成为产品的一种核心竞争力,成为拉开产品与竞争对手之间差距的秘密武器。只有安全也做得好的产品,才能成为真正的好产品。

有许多这样的例子。在搜索引擎行业,竞争一直非常激烈。Yahoo是搜索引擎的巨头,后来Ya-hoo自己扶植起来的Google在搜索方面反而超越了Yahoo。这些搜索引擎,都非常重视搜索结果的安全性。Google与Stopbadware展开了合作,Stopbadware提供一份实时更新的恶意网站列表给Google,其中包括了挂马网站、钓鱼网站、欺诈网站等;而Google则根据这份名单对搜索引擎结果中的数据进行筛选,过滤掉不安全的结果。Google的安全团队也在研究恶意网址识别技术,用于对搜索结果和浏览器进行保护。

搜索结果是否安全,对网民来说是很重要的,因为搜索引擎是互联网最重要的一个门户。

在曾经发生的一些欺诈案件中,钓鱼网站公然出现在搜索结果中,导致很多用户上当受骗。钓鱼网站、欺诈网站通常使用一些搜索引擎优化(SEO)技术,来提高自身在搜索结果中的排名,一旦被搜索引擎收录,就可以更有效地传播,骗到更多的人。

而挂马网站略有不同,挂马网站往往是黑客入侵了一个颇受欢迎的网站之后,篡改了网站的页面。黑客在网页中植入一段攻击代码,试图利用浏览器的漏洞攻击网站的用户。

挂马网站本身是一个正常的网站,有的搜索排果如下:

此次研究总共发现了34627个恶意网站;

每1000个搜索结果中就会有一个导向恶意网站;

每5个搜索主题中就有一个导向恶意网站。

除了搜索引擎外,电子邮箱领域的竞争也凸显了安全的重要性。在电子邮箱领域,最重要的一项安全特性就是“反垃圾邮件”。

其实早在2006年,就有调查显示,当时的中国互联网用户平均每周都会收到19.94封垃圾邮件,而垃圾邮件每年给国民经济带来大约63.8亿元的损失。而到2008年,这个数字显然已经呈几何基数膨胀到了一个不可思议的境地。据保守估计,仅在2007年,垃圾邮件对中国造成的直接经济损失就达到200亿元,间接损失更是超过万亿。而为了处理垃圾邮件,中国每个用户平均每天要花费36分钟的工作时间。

以往的“垃圾邮件”内容一般是推广和广告信息,现在还要加上钓鱼和欺诈邮件。邮件钓鱼、邮件诈骗的案件已经屡见不鲜,如何应对这些业务安全问题,也是很有挑战的工作。

目前在反垃圾邮件领域,各家互联网公司都各有妙招。在用户使用的电子邮箱中,能够收到的垃圾邮件多少,也能判断出各个互联网公司在安全实力上的高低。

推而广之,可以发现,在互联网中,一个成熟的产品几乎必然会存在安全性方面的竞争。IM、微博、SNS、论坛、P2P、广告等领域,只要有利可图,就会出现安全问题,也就会存在安全方面的竞争。出现安全性竞争,也可以从侧面反映出一个领域在渐趋成熟。

安全性做得好的产品,对于用户来说可能不会有什么特别的感觉,因为坏人、坏的信息已经被处理掉了;相反,如果产品安全没有做好,则用户一定会感受到:垃圾消息泛滥、骗子满地跑,这些业务安全的问题会带来糟糕的用户体验,有时候甚至会毁掉一个新兴的领域。

安全是产品特性的一个组成部分,具备了安全性,产品才是完整的;安全做好了,产品最终才能真正成熟。

什么是好的安全方案

可是产品需要什么样的安全呢?产品在选择安全方案时,往往会面临很多选择,这时候又该如何取舍呢?

笔者认为,一个优秀的安全方案,除了可以有效地解决问题以外,至少还必须具备两个条件:

(1)良好的用户体验;

(2)优秀的性能。

这两点,也往往是产品对安全方案所提出的最大挑战。

假设要设计一个安全方案,保护网站的Web登录入口,如何着手呢?

对于认证,我们有许多选择。最基本的做法是使用用户名和密码认证,而一些敏感系统可能会选择双因素(Tow Factors)认证。比如网上银行办理的“U盾”、“动态口令卡”、“令牌”、“客户端证书”、“手机短信验证码”等业务,就都属于双因素认证,它在用户名与密码之外再做了一次认证。

然而,双因素认证可能会降低用户体验,因为用户使用起来更加麻烦了。比如用户每次登录时,都需要接收一条手机短信,将短信接收到的动态口令结合密码一起用于认证。对于用户来说,这是很痛苦的一件事情。

目前用的比较多的双因素认证方案,都或多或少地存在类似的问题。比如,手机短信有一个到达率的问题,有些国外的用户就接收不到手机短信;“U盾”、“令牌”的制作成本比较高,不大面积推广的话是一笔不菲的花费;客户端证书则需要解决不同浏览器、不同操作系统的兼容问题,以及证书的过期与更新也不是件容易的事情。

目前的双因素认证方案,提高了用户的使用门槛,损失了部分用户体验,远远不如一个用户名和密码简单。因此,我们需要慎重使用双因素认证方案。一般来说,只有一些安全要求非常高的账户,或者系统本身就极其敏感的地方,才使用双因素认证方案。

如果说“双因素认证”可能会降低用户体验,那么为了更安全,是否可以考虑让用户把密码设置得复杂一些呢?比如要求用户密码必须有16位,且为数字、字母、特殊字符的不同组合。

复杂密码安全吗?

设置复杂密码也是一种糟糕的体验。有些非活跃用户,可能常常会忘记一个非常用的复杂密码;而有的用户设置了一个自己也记不住的密码后,可能会把“记不住的密码”记录在便条或者本子上,甚至是贴在电脑显示器上,这反而导致密码泄露的可能性提高了。

其实设置复杂密码的初衷,是担心密码会被攻击者猜解。密码被猜解的途径有很多种,最常见的是暴力破解;其次是密码有关联性,比如密码是用户的手机号码、生日等。所以“提高密码复杂度”这个安全需求,其本质其实可以分解为:

(1)如何对抗暴力破解;

(2)如何防止密码中包含个人信息。

这样,设计安全方案的思路就有了一些变化。

比如可以在登录的应用中检测暴力破解的尝试。检查一个账户在一段时间内的登录失败次数,或者检测某一个IP地址在一段时间内的登录行为次数。这些行为都是比较明显的暴力破解特征。暴力破解往往还借助了脚本或者扫描器,那么在检测到此类行为后,向特定客户端返回一个验证码,也可以有效地缓解暴力破解攻击。

如何防止密码中包含个人信息呢?在用户注册时,可以收集到用户填写的个人资料,如果发现用户使用了诸如:用户名、邮件地址、生日、电话号码之类的个人信息作为密码,则应当立即进行提示。

解决好了这两个问题,也就解决了用户密码可能被猜解的威胁。而这样的一套安全方案,对于用户基本上是透明的,没有侵入性,也没有改变用户的使用习惯。这样的方案,把安全需要付出的成本转移到网站。而设定“用户不能使用个人信息作为密码”的策略后,对用户也是一种引导,在注册的环节教育用户如何形成良好的安全习惯。

但问题并未至此结束。这套方案的前提是密码认证所面临的威胁只有“暴力破解”和“密码中包含个人信息”。如果出现了新的未考虑到的威胁,还是有可能让用户处于危险之中。

因此在设计安全方案之前,应该把问题认真地分析清楚,避免出现遗漏。在“我的安全世界观”一章中,介绍了安全评估的基本过程,其中“威胁分析”是设计安全方案的基础。设计一个真正优秀的安全方案,对安全工程师提出了很高的要求。

安全是产品的一种特性,如果我们的产品能够潜移默化地培养用户的安全习惯,将用户往更安全的行为上引导,那么这样的安全就是最理想的产品安全。

业务逻辑安全

永远改不掉的密码

2007年,笔者遇到了一起离奇的攻击事件。

公司网站的某个用户账户发现被人盗用,攻击者使用该账户来发广告。客服介入后,帮助用户修改了密码、安全问题,并注销了登录状态。但这并没有使事情有所好转,攻击者仍然能够登录进用户的账户。

公司网站的账户体系和公司的IM(即时通讯软件)账户体系是互通的,但IM限制同时只能有一个账户在线。于是就出现了一个很神奇的现象:客服登录进该用户的IM账户后,攻击者又紧跟着登录,还会把客服登录的账户踢下线;客服又继续登录,把攻击者踢下线,如此反复。

后来笔者追查这个问题时发现,问题出在IM的自有账户体系中。IM有两套账户体系,一套是网站的用户账户,另一套是IM自己的。这两套账户有一一对应的“绑定”关系。

一般来说,网站的用户修改密码后,会同步修改IM的账户密码。但是这个案例里,网站修改密码的逻辑里,并没有同步修改对应的IM账户,于是出现了这样的一个逻辑漏洞:不管网站的用户密码如何更改,攻击者总是能够通过对应的IM账户登录(因为之前账户已经被盗了)。

这就是一个典型的业务逻辑安全问题。业务逻辑问题与业务的关系很紧密,花样百出,很难总结归类。

业务逻辑问题是一种设计缺陷,在产品开发过程中,可以考虑在产品设计和测试阶段解决。但业务逻辑问题没有一个成熟的归纳体系,很多时候,只能依靠安全工程师的个人经验来判断这些问题。

我们再看两个案例。

谁是大赢家

在2007年的Blackhat大会上,来自Whitehat公司的Jeremiah Grossman专门做了一场关于业务逻辑安全的演讲,其中提到了几个很有意思的案例。

某家在线购物网站为了对抗密码暴力破解,规定短时间内账户登录失败5次,就将锁定账户一个小时。该网站的业务中,提供了一个在线竞拍的功能,用户可以给喜欢的商品出价,后来者必须给出一个更高的价格。在拍卖时间截止后,商品将为出价高者所得。

这其中存在什么问题呢?也许你已经猜到了,某黑客在给商品出价后,在网站上继续观察谁出了一个更高的价格,当他发现有人出价更高时,就去恶意登录这个用户的账户:当登录失败次数达到5次时,该账户就被系统锁定了。

订单系统和账户安全系统是相关联的,当订单系统发现账户被锁定后,该用户的出价也同时作废。这样,黑客就能以极低的价格,获取他所想竞拍的物品。

Grossman给出的解决建议是在登录错误返回时,先添加一个登录用的验证码,以避免脚本或扫描器的自动登录;同时在网站页面上隐藏每个用户的ID,只显示nick。

在这个案例中,其实还存在另外一个逻辑问题。网站如果将用户的ID显示在网页上,那么就有可能被黑客抓取,黑客可以实施一种恶意攻击,使用一个脚本不停地尝试登录所有的ID。

这样,正常的用户都会被系统锁定。如果大多数的用户都无法正常登录网站,那么网站的业务会受到非常大的影响。这种攻击针对的是安全三要素中的“可用性”。很多网站在设计对抗暴力破解的方案时,都会使用“锁定账户”的策略,其实都会存在这样的逻辑缺陷。

如何解决这个问题呢?这得回到暴力破解的对抗上来。在Jeremiah Grossman提出的解决方案中,提到了检测到暴力破解后,增加一个验证码的方案。我们知道,验证码并非一种好的用户体验,所以应该尽量不要在用户第一次登录时就增加验证码。

首先,需要检测到暴力破解的行为。

暴力破解通常都有一定的特征,比如某个账户在5分钟内登录错误达到10次。还有一种暴力破解攻击是根据弱口令来遍历用户名的,比如黑客使用密码“123456”,尝试登录不同的用户名。这需要黑客事先收集一份可以使用的ID列表。

但无论如何变化,暴力破解是需要高效率的,所以“短时间”、“高频率”的行为特征比较明显。黑客为了躲避安全系统的检测,常常会使用多个IP地址来进行登录尝试。这些IP地址可能是代理服务器,也可能是傀儡机。

但经过实践检验,即使黑客使用了多个IP地址,想要使攻击达到一定的规模,还是会使用重复的IP地址。最终的结果就是单个IP地址可能会发起多次网络请求。

在设计对抗的方案时,为了避免本案例中出现的逻辑漏洞,就不应该再锁定账户,而是应该锁定来自某一IP地址的请求。并且当认定某一IP地址存在恶意行为后,对IP地址的历史记录追加处罚。这样就不会阻碍正常用户的访问,而仅仅把坏人关在门外。

要实现这样的一套系统颇为复杂,同时还要兼顾性能和高效。但实现之后确实是行之有效的。

瞒天过海

下面看看Jeremiah Grossman举出的另一个经典案例。

在北加州,某电视台的网站为了Web 2.0化,开发了一个新的功能:允许网友们提供当地的天气信息,该信息将在电视新闻中滚动播出。为了防止垃圾信息,网友们提供的信息是经过人工审核后才播出的。

但是这套系统在设计时还允许网友们对信息进行编辑。此处存在一个逻辑漏洞:审核通过后的信息,如果被用户重新编辑了,不会再次进行审核,也会直接发送到电视新闻的滚动条中。于是有不少人利用这一逻辑漏洞,在电视新闻中发送各种垃圾信息。

电视台的滚动信息被黑客篡改

解决这个不大不小的麻烦也很简单,在信息编辑前加入人工审核,但缺点是需要耗费更多的人力。

关于密码取回流程

很多网站曾经提供的“修改密码”功能中,也存在一个典型的逻辑问题:用户修改密码时不需要提供当前密码。

这种设计,导致账户被盗后,黑客就可以直接使用此功能修改账户的密码。账户被盗的原因有很多种,比如Cookie劫持导致的账户被盗,黑客是不知道用户密码的。因此修改密码时不询问当前密码,是一个逻辑漏洞。

正确的做法是,在进行敏感操作之前再次认证用户的身份。

网站的修改用户密码页面

除了“修改密码”功能外,密码取回流程也是一个很复杂、很容易出现逻辑问题的地方。

用户密码丢失后,就不能再使用用户密码作为认证手段。通常,如果不考虑客服的话,用户想自助取回密码,有三个方法可以用来认证用户:一是用户设定的安全问题,比如“妈妈的生日是什么时候”,答:“生我的那天”;二是用户注册时留下的安全邮箱,可以通过邮箱修改密码;三是给用户发送手机短信验证码,这需要用户预留手机信息。

假设黑客已经知道了用户的密码,那么这里面可能会涉及到很多逻辑问题。

这三种认证用户身份的信息,是否可能被黑客修改呢?比如在修改安全问题前,如果没有要求认证当前安全问题的答案,则黑客可以直接修改安全问题;再比如修改用户手机号码,是否会将短信发送到当前手机上进行身份验证?

但是出于可用性的考虑,不能只给用户一种选择。比如:用户的手机号码如果作废了,不能强求用户在修改手机号码时,还要验证一下已经作废的手机号的。这是不合理的,必须给出其他的解决途径。

当三种认证信息都不太可靠时,只能选择一些其他的办法来解决。一个比较好的方法,是使用用户在网站上留下过的一些私有信息,与用户逐一核对,以验证用户身份确实是本人。

比如:用户曾经使用过的密码;用户曾经登录过的时间、地点;用户曾经在站内发表过,但又删除了的文章等。这些信息可以称为用户的“基因”,因为这些信息越详细,就越能准确地区分出一个独立的用户。“密码取回流程”是安全设计中的一个难题,它与业务结合紧密,牵一发而动全身。目前没有非常标准的解决方案,只能具体问题具体分析。

账户是如何被盗的

账户的安全问题,是互联网业务安全的一个关键问题。大多数网站面临的业务安全类投诉,都与账户被盗有关。

2007年,《南方日报》报道过这样一个案例:12月14日早上,广州某国际旅行社吴小姐上QQ时突然发现“您的QQ账户在另一地点登录,您已被迫下线”的提示。吴小姐再次上线后,很快又再次出现这一情况。吴小姐正感到纳闷时,却收到几名QQ好友的电话,“他们说在QQ上收到我经济有困难,请汇款给我帮忙。的信息”。吴小姐方知自己的QQ号已被人盗取利用。“我这个被盗的QQ很重要,里面很多朋友都有工作关系,特别是QQ里面的群组织。他老在QQ上乱说话,对我影响很大。”吴小姐心急如焚。随后,吴小姐申请了另一个QQ号,通过原QQ号与盗号者联系。“不料对方竟然狮子大开口,要我汇款300元才还我QQ号,不然就逐个把好友删除,现在已删了一部分。”吴小姐忿忿不平地说,盗号者当时24小时在线,使她根本无法上线,欲更改密码,但又没有申请密码保护。无奈之下,吴小姐给盗号者汇款300元,希望盗号者能兑现“诺言”。

盗号问题,已经成为影响用户体验、影响网站业务正常发展的一个重要问题。大多数网站的业务安全,主要是在与盗号做斗争。网络游戏行业,因为有利可图,虚拟货币、游戏装备的变现能力吸引了大量黑客,因此网游成为盗号的重灾区。同样盗号问题严重的,还有网上银行以及网上支付相关的行业。

账户被盗的途径

账户会面临哪些威胁呢?通过一轮头脑风暴发现,在以下几种情况下,用户的账户存在被盗的可能。

(1)网站登录过程中无HTTPS,密码在网络中被嗅探。

(2)用户电脑中了木马,密码被键盘记录软件所获取。

(3)用户被钓鱼网站所迷惑,密码被钓鱼网站所骗取。

(4)网站某登录入口可以被暴力破解。

(5)网站密码取回流程存在逻辑漏洞。

(6)网站存在XSS等客户端脚本漏洞,用户账户被间接窃取。

(7)网站存在SQL注入等服务器端漏洞,网站被黑客入侵导致用户账户信息泄露。

以上这些威胁中,除了“用户电脑中了木马”与“用户上了钓鱼网站”这两点与用户自身有关外,其余几点都是可以从服务器端进行控制的。换句话说,如果这几点没有做好而导致的安全问题,网站都应该负主要责任。

进一步进行风险分析,根据DREAD模型(参见“我的安全世界观”一章),可以得出如下的风险判断。(按照风险从高到低排列)

(1)网站被暴力破解D(3)+R(3)+E(3)+A(3)+D(3) = 15

(2)密码取回流程存在逻辑漏洞D(3)+R(3)+E(3)+A(3)+D(2) = 14

(3)密码被嗅探 D(3)+R(3)+E(3)+A(1)+D(3)= 13

(4)网站存在SQL注入漏洞D(3)+R(3)+E(2)+A(3)+D(1) = 12

(5)用户被钓鱼 D(3)+R(1)+E(3)+A(2)+D(3)= 12

(6)网站存在XSS,账户被间接窃取D(3)+R(2)+E(2)+A(2)+D(2) = 11

(7)用户中木马 D(3)+R(1)+E(2)+A(1)+D(1)= 8

尽管风险的判断存在一定的主观因素,但DREAD模型还是能帮助我们更清楚地认识到目前的问题所在。对这7个风险进行比较,可以得出安全工作的优先级。从以上分析可以看出:

用户登录时安全 > 网站实现上的安全漏洞 > 用户

使用环境安全

这与今天的现状是基本一致的。

由于门槛低,见效快,所以“暴力破解”长期以来一直存在。

一家叫“RockYou”的SNS网站遭受攻击后,有3200万用户密码被公布在网上,黑客们可以毫不费力地下载这些密码。

安全研究员舒尔曼和他的公司对这3200万被盗密码进行了研究,发现了网络用户设置密码的习惯。他们发现,3200万用户中将近1%的人以“123456”作为密码;使用第二多的密码是“12345”;排名前20位的密码还有“qwerty”(键盘布局靠近的几个字母)、“abc123”和“princess”等。

舒尔曼表示,更令人不安的是,在3200万账户中,大约五分之一用户所使用的密码来源于相当接近的5000个符号。这意味着,只需要尝试人们常用的密码,黑客就可以进入很多账户。由于电脑和网络运行速度的加快,黑客每分钟就可以进行几千个密码破解。

舒尔曼说:“我们以为密码破解是个非常耗时间的攻击方式,你必须对每个账户都逐个字符地试,每破译一个密码都需要尝试大量的字符。但实际情况是,只要选择人们最常用的几个字符,就能破译大量的密码。”

暴力破解的防范也远远不如想象的简单,在上一节中,谈到过这个问题。“网络嗅探”本来是一个很严重的安全问题。但是在今天,大家都开始重视“ARP欺骗”,在许多IDC机房里都实施了对抗ARP欺骗的方案,比如采用带有DAI功能的思科交换机,或者静态绑定IP地址与MAC。所以今天想在网站服务器所在的VLAN实施ARP欺骗是比较困难的。今天的ARP欺骗,更多的是在威胁个人用户。因此在DREAD模型的评分中,“网络嗅探”的“Affected Users”一项只评了1分。

尚未列出来的威胁还有很多,需要在工作中不断完善。比如网站所使用的Web Server出现漏洞,导致被远程攻击。

此外,还曾经发生过这样的案例:某大型社区被黑客入侵,泄露了数据库中的全部用户数据。如果网站将用户的密码明文保存在数据库中,或者没有加Salt的哈希值,则黑客可以根据这些密码,再次尝试入侵同一用户的邮箱、IM等第三方网站账户。因为大部分用户都习惯于使用同一个密码登录不同的网站。

分析账户被盗的原因

盗号的可能性有这么多,那么如何分析和定位问题所在呢?

首先,客服是最重要和直接的渠道。

从客服收集第一手资料,甚至由工程师回访客户,会有意想不到的收获。客户往往讲不清楚问题的关键,所以需要事先考虑好各种可能性,并有针对性地向客户提一些问题。有时候访问个别客户也许无法得到所需结果,此时应该耐心等待并收集更多证据。

但在工作中,经常容易犯的错误是主观臆断。我们可以事先考虑到各种可能性,但是一定要做到“大胆假设,小心求证”。求证的过程必须一丝不苟,务必保证严谨。如果没搞清楚事实的真相到底是什么,而只是靠猜测来设计解决方案的话,则很容易找错目标,从而浪费非常宝贵的时间,问题也很可能因此而扩大化。

其次,从日志中寻找证据。

除了从客户处收集第一手资料外,也应该重视网站日志的作用,从日志中去大胆求证。

比如暴力破解,很有可能会在登录日志中留下大量错误登录的记录,如果找到了,则求证成功。稍微复杂点的,如果是“密码取回流程”之类的逻辑漏洞,则被盗用户可能有这样的特征:异地登录后实施更改密码一类的操作,甚至有个别“高危地区IP”登录多个不相关账户的行为。这些都是能够从日志里找到的证据。

最后,打入敌人内部,探听最新动态。

在黑色产业链中,有人制作、销售工具,也有人专门从事诈骗活动。这些人建立的群体,关系并不是非常紧密的,可能仅仅是依靠QQ群或其他IM互相联系。因此打入这些人所在的圈子,并不是特别困难的事情,这样能掌握敌人的第一手资料。黑客们也有自己的群体,在社区里打听,也能得到一些有用的消息。

互联网的垃圾

在上一节,探讨了盗号的问题。但很多时候,恶意用户并不需要盗号,也能完成他们的目的。在本节,将探讨垃圾注册和垃圾信息,这是另一个让网站无比头疼的问题。

垃圾的危害

今天的互联网中垃圾信息泛滥,但互联网对垃圾信息的重视程度却远远不够。在网站应用中,垃圾注册几乎成为一切业务安全问题的源头。

通过一些调研结果发现,垃圾注册问题积弊已久。一个大型网站平均每天的新增注册用户中,可能有超过一半是垃圾注册造成的。

这么多的注册账户,都干什么去了?这些垃圾账户的目的有很多,有的是为了发广告,有的是为了宣传政治观点,有的是为了诈骗其他用户,不一而同。

那怎么认定一个账户是垃圾账户呢?一般来说,“目的不是网站所提供的服务”的注册账户,都属于垃圾账户。

比如一个论坛提供一些内部资源供会员购买(比如付费的正版电影),但是购买的形式是会员每次购买都需要支付相应的“虚拟金币”。“虚拟金币”的获得有几种途径:会员在论坛里发帖,可以获得一定的金币;或者会员通过网银充值,能够兑换到金币;还有就是论坛为了鼓励新注册会员,会给每个新注册账户赠送10个金币。

这给了恶意用户可乘之机:利用“新注册用户奖励10个金币”的机制,恶意用户通过批量注册的手段,一夜之间注册了几千个账户,并在站内将金币都转到一个账户上,最终在论坛里消费掉这些金币。

这样产生的几千个账户,就变成了“垃圾账户”。而论坛本来能收到的费用,则在无形中损失了。网站将为此买单。

这个案例,就是一个通过垃圾注册利用逻辑漏洞的典型案例。

垃圾注册的账户,常常用来发广告和推广信息。任何可以“留言”以及产生“用户交互”的地方,都可能会被垃圾消息盯上。

如下为淘宝网的商品评价中,出现的垃圾消息。

淘宝网的商品评价中的垃圾信息

百度可以搜索到很多自动注册机,在网上可以随意下载。

搜索到的自动注册机结果

垃圾处理

如何防范垃圾注册和垃圾消息呢?垃圾处理离不开两个步骤:“识别”和“拦截”。

拦截的方法根据业务而定。可以选择冻结账户或者删除账户,也可以只针对垃圾内容做屏蔽。但问题的关键是屏蔽什么、拦截什么,这就涉及到“垃圾识别技术”了。

想要拦截垃圾注册和垃圾消息,就要先了解它们。垃圾注册的一个特点是“批量”,由程序自动完成。垃圾消息的传播也如此,很少有垃圾消息是手动一条条发出来的。但是当有极大利益驱动时,垃圾注册也可能会变成一种半自动或者手动的方式。笔者曾经见过一些批量注册账户的程序——由于网站在注册时要求输入验证码,而验证码难以破解,骗子雇佣了一批人,在网吧里每天的工作就是手动输入验证码。因为相对于骗子所获得的高回报来说,这些雇佣成本几乎可以忽略不计。“批量”、“自动化”的特点意味着:

(1)同一客户端会多次请求同样的URL地址;

(2)页面与页面之间的跳转流程可能会不正常(页面1→页面3,不像正常用户行为);

(3)同一客户端两次请求之间的时间间隔短;

(4)有时客户端的UserAgent看起来不像浏览器;

(5)客户端可能无法解析JavaScript和Flash;

(6)在大多数情况下验证码是有效的。

如果再从垃圾注册和垃圾消息的内容去分析,又可以发现很多不同的特点:

(1)注册时填写的用户名可能是随机生成的字符串,而非自然语言;

(2)不同账户的资料介绍可能出现同样的内容,在需要打广告时尤其如此;

(3)可能含有一些敏感词,比如政治敏感词和商业广告词;

(4)可能出现文字的变形,比如把半角变全角,或者类似地把“强”拆成“弓虽”。

如果与业务相结合的话,还能挖掘出更多的特征,比如在IM里:

(1)如果某个用户给许多不同用户发送消息,但接收者都不回消息的话,这个人可能就是在发送垃圾消息;

(2)如果某个用户加入不同的IM群后,发送的消息总是同样的内容,不说其他话,则可能也是在发送垃圾消息。

有了这些特征,就可以依此建立规则和模型。

规则系统比较简单,多条规则结合还可以建立更复杂的模型。在垃圾识别或者Anti-Spam领域里,被广泛应用的方法是“机器学习”。

想要实现一个优秀的垃圾识别算法,需要算法专家与业务专家一起合作,这是一个需要不断改进的过程。目前并没有一个万能的算法能一次解决问题。与业务相关的系统,必然是在不断的磨砺中成长。今天许多大型互联网公司都组建了自己的商业智能团队来做这些事情。在本书中,不深谈此类算法的实现细节。

如果仔细分析垃圾行为特征,可以大致分成:内容的特征、行为的特征、客户端本身的特征。从这三个方面入手,可以得出不同类型的规则。

基于内容的规则:以自然语言分析、关键词匹配等为代表。

基于行为的规则:以业务逻辑规则为代表。

基于客户端识别的规则:以人机识别为代表,比如验证码,或者让客户端去解析JavaScript。

三种规则配合使用,能够起到较好的效果,最终可以建立一个比较完善的风险控制系统——在事中监控并拦截高风险的用户行为;在事后追溯恶意用户,取证、统计损失;并可以为决策提供依据。

识别出非法用户和非法行为后,在“拦截”上也需要讲究策略和战术。因为很多时候,规则都是“见光死”,规则的保密性非常重要。如果使用规则和恶意用户做直接对抗,那么规则的内容很容易暴露,导致规则很快会被绕过。因此要有技巧地保护规则。

如何保护呢?以“拦截”来说,如果不是特别紧急的业务,则可以打一个时间差。当使用规则识别出垃圾账户后,过一段时间再做处理,这样恶意用户就摸不准到底触犯了哪条规则。同时还可以“打压”大部分账户,放过一小批账户。这样既控制住大部分的风险,又让风险不会随意转移,可以一直把可控的风险放在明处。这样从防御的角度看,就能掌握主动权。

与垃圾注册和垃圾信息的对抗最终还是会升级。作为安全团队,需要紧跟敌人的变化,走在敌人的前面。

关于网络钓鱼

在今天的互联网中,钓鱼与欺诈问题已经成为一个最严重的威胁。在金山网络安全中心发布的《2010年中国网络购物安全报告》中指出,有超过1亿用户遭遇过网购陷阱,直接经济损失将突破150亿元。而中国的网民在2011年才刚刚突破4亿。在这样恶劣的环境下,如何对抗钓鱼问题,就显得尤为重要了。

钓鱼网站简介

很多站长都会觉得很无辜:“是钓鱼网站模仿了我的网页,又不是我的网站出现了漏洞”、“用户上当,是因为用户傻”。

很多时候,钓鱼网站确实不是网站的主要责任。但是问题既然发生了,光抱怨是没有用的,最终受到伤害的还是网站的用户。所以,网站可以主动承担更大的责任,尽可能地处理网络钓鱼问题。

在互联网安全中,网络钓鱼问题是至今都难以根治的一个难题。它难就难在欺诈过程中,利用了许多人性的弱点,或以利诱,或以障眼法。网络钓鱼问题并不完全是一个技术问题,单纯从技术的层面去解决,很难根治。

在今天,网络钓鱼已经像挂马一样,形成了一个产业链。这个产业链中分工明确:有人制作并销售生成钓鱼网站的程序,有人负责在邮件、IM中传播钓鱼网站,有人负责将骗到的钱财从银行账户中洗出来。

根据中国反钓鱼联盟的统计,网络钓鱼大多集中在网络购物、网上银行等行业。下图是2011年4月份的钓鱼网站行业分布统计。

在网上支付行业中产生的网络钓鱼,有机会让骗子直接骗取用户的钱财,所以是网络钓鱼的重灾区。淘宝网是目前中国最大的电子商务网站,占据了中国网购市场的半壁江山。因此,模仿淘宝网的钓鱼网站非常多。

钓鱼网站行业分类统计

根据中国反钓鱼联盟在2011年4月份的统计数据,可以看出淘宝网的钓鱼网站是目前国内钓鱼网站的主流。

钓鱼网站模仿目标站点统计

在国外,钓鱼网站(Phishing)的定义是页面中包含了登录表单的网站,此类网站的目的是骗取用户的密码。

但是随着网络犯罪手段的多样化,很多钓鱼网站开始模仿登录页面之外的页面,目标也不仅仅是简单的骗取密码。此类钓鱼网站可以称为“欺诈网站”,也可以认为是广义的钓鱼网站,因为它们都是以模仿目标网站的页面为基本技术手段。在本书中,将统一称之为“钓鱼网站”。

以淘宝网的钓鱼网站为例,正常的淘宝网登录页面如下:

而伪造的淘宝网钓鱼网站则如下:

注意钓鱼网站的URL是:

1 2 3
http://item.taobao-com-ite.cz.cc/member/ login.jhtml_f_top.Asp?u=admin

钓鱼网站一般都会使用欺骗性的域名,并通过各种文字变形诱骗用户。

一些经验不是很丰富的用户,可能就分辨不出来网站的真实性;有时候甚至一些老网民也会因为粗心大意而上当。令人吃惊的是,笔者接触到的许多因为钓鱼网站而被盗的案件中,用户强调自己能分辨钓鱼网站,但真相是往往用户自己并不知道曾经访问了钓鱼网站。

从传播途径上来说,钓鱼网站并非无迹可寻。

骗子总是希望能够骗到更多的人,他们也有目标客户。比如,如果是骗取用户购买游戏点卡的,则很有可能会在网络游戏的公共频道中“喊话”。此外,IM和邮箱也是钓鱼网站传播的主要途径。淘宝网上的购物有自己的IM——淘宝旺旺,在旺旺上传播的钓鱼网站一般是模仿淘宝网的钓鱼网站;而在QQ上,更多的是传播拍拍与财付通的钓鱼网站。但这个趋势并非绝对,需要看具体情况。

邮件钓鱼

钓鱼邮件,是垃圾邮件的一种,它比广告邮件更有针对性。

令人比较无奈的是,SMTP协议是可以由用户伪造发件人邮箱的。而在邮件服务器上,如果没有实施相关的安全策略,则无从识别发件人邮箱的真伪。

一封典型的钓鱼邮件如下,注意邮件的发送者被伪造成真实的邮箱地址。

伪造的Alibaba发件人邮箱

在邮件正文中,则诱骗用户到一个伪造的钓鱼网站。

包含钓鱼网站的邮件正文

目前有许多识别发件人邮箱的安全技术,大部分都是基于域名策略的,比如SPF(Sender PolicyFramework)、Yahoo的DomainKeys、微软的Sender ID技术等。

Yahoo的DomainKeys会生成一对公私钥。公钥布署在收信方的DNS服务器上,用于解密;私钥则用于发信方的邮件服务器,对发出的每封邮件进行签名。这样收信方在收信时,到DNS服务器上查询属于发信方域名的公钥,并对邮件中的加密串进行解密验证,以确保该邮件来自正确域。

SPF技术与DomainKeys不同,SPF是基于IP策略的,有点类似于DNS反向解析。收信方在接收到邮件时,会去DNS查询发信方域的SPF记录。这个记录写着发信方邮件服务器和IP的对应关系,检查了这个记录后,就可以确定该邮件是不是发自指定IP的邮件服务器,从而判断邮件真伪。

微软的Sender ID技术,是以SPF为基础的。

但是,这三种技术在今天都面临一个很大的推广难题。DomainKeys尤其复杂,它是在原本的标准邮件协议上多出了一个扩展;同时加/解密对服务器性能的影响比较大,在处理海量数据时,容易形成瓶颈;配置与维护上的困难也会让很多邮件服务商望而止步。

SPF相比于DomainKeys来说更易于配置,只需要收信方单方面在DNS中配置即可。但是SPF是针对IP和域名的策略,难以覆盖到互联网上的所有网站。各大邮件运营商的SPF策略又各不相同,使得骗子有很多空子可以钻。而基于IP的策略,一旦写死,维护起来也是一件非常痛苦的事情。这意味着发信方域的邮件服务器IP不能做较大的变化——一旦IP变化了,SPF策略却未及时更新,就可能会造成大面积误杀。

但是在今天,SPF仍然成为对抗“邮件地址伪造”的一项主要技术,在没有更好的技术出现时,只能选择去推广SPF。

钓鱼网站的防控

钓鱼网站的防控是一件很有挑战的事情。尤其是现在互联网整体环境比较恶劣,在此方面的基础建设远远不足的情况下,很可能会面临投入大、产出小的窘境。但是钓鱼网站的防控是必须要做的事情,一步步改善环境,总能迎来最后的胜利。

前文谈到了钓鱼网站的传播途径,主要集中在邮箱、IM等处。根据网站业务的差异,在评论、博客、论坛等处也可能会存在钓鱼链接,时下非常热门的SNS和微博,也可能会成为钓鱼网站传播的主要途径之一。

控制钓鱼网站传播途径

控制钓鱼网站传播的途径,就能对钓鱼网站实施有效的打击。

一个网站如果有IM、邮箱等互联网基础服务的业务,则可以利用自有资源对用户产生的内容进行控制,检查其中是否包含钓鱼网站,尤其在一些“用户与用户之间交互”比较多的地方。

但钓鱼网站也有可能在“站外传播”。目前很多网站是没有自己的邮箱服务的,用户注册时使用的邮箱由第三方邮件运营商提供,比如Gmail、Ya-hoo Mail等。如果钓鱼邮件发送到这些用户邮箱中,就脱离了网站本身的范畴。

网络钓鱼是需要整个互联网共同协作解决的一个问题,因此当钓鱼传播途径脱离了目标网站本身的范畴时,应该积极地通过与外部合作的方式,共建一个安全的大环境,也就是建立一个反钓鱼的统一战线。

目前很多大的互联网公司都已经意识到统一战线的重要性,这条反钓鱼的统一战线已经初具规模,网站、互联网基础服务、浏览器厂商、反病毒厂商、银行、政府都成为这条战线的成员。

浏览器是一个较为特殊的环节,因为浏览器是互联网的入口,钓鱼网站不管是在IM中传播,还是在邮件里传播,归根结底还是要上到浏览器上的。

所以在浏览器中拦截钓鱼网站,能事半功倍。下图是Chrome拦截到钓鱼网站并发出报警。

浏览器与杀毒软件在反钓鱼方面面临的问题,就是软件的用户覆盖率,以及钓鱼网址信息的互通与共享。

只有当不同的浏览器厂商、杀毒软件厂商能够及时同步钓鱼网址的黑名单时,才能完善这道最终的防线。

钓鱼网站的黑名单,可以成为一个公共信息公布在互联网上,任何浏览器和反病毒厂商都可以使用这些黑名单。Google公开了一个“Safe Brows-ing API”,公布了Google发现的这些恶意网址。通过“Safe Browsing API”,可以获取钓鱼网址、挂马网址、诈骗网址的黑名单。

直接打击钓鱼网站

在钓鱼网站的防控中,还有一个有力的措施,就是关停站点。

很多DNS运营商、IDC运营商目前都开始提供站点关停的业务。可是运营商本身无法识别一个网址是否是钓鱼网站,因此很多运营商依靠一些第三方的安全机构或者安全公司,以合作的方式对恶意网址进行关停。

安全公司发起的“关停恶意网址要求”目前已经变成一项生意,网站可以购买相关的服务以对自身品牌进行保护。关停包括对域名的关停,以及对虚拟主机上应用的关停。

在国外,RSA、Mark Monitor、NetCraft 等公司均开展了相关业务,站点关停的响应时间最快可以控制在数个小时之内;在国内,主要是通过CN-NIC下属的反钓鱼联盟(APAC),对“.cn”的域名和主机进行关停。

随着中国对运营商监管的力度越来越大,以及为了规避某些法律风险和增加追查难度,越来越多的钓鱼网站开始转移到国外的运营商。经过调查发现,大多数钓鱼网站选择了美国和韩国的运营商。

目前中国法律方面对网络犯罪的相关条例尚不完善。以往的网络犯罪案件,仍然是使用传统法律条款进行解释。“盗窃罪”和“诈骗罪”是网络犯罪案件中被引用得最多的条款。

但是钓鱼类案件有其特殊性。网络钓鱼是一种欺诈行为,可以以“诈骗罪”论处。但钓鱼网站的苦主可能成千上万,每个苦主的单笔金额也许不是很多,取证和诉讼方面都会遇到很大的困难。而且由于互联网的特殊性,很多骗子都通过代理服务器或者更换IP地址的方式以躲避追踪,为取证带来了一定的难度。

虽然困难很大,但由司法机关直接对网络钓鱼行为进行打击,是最有力的方法。每当打掉了一个钓鱼犯罪团伙后,钓鱼案件总量都会下降很多,起到了极大的震慑作用。

用户教育

用户教育永远是安全工作中必不可少的一环。网站需要告知用户什么是好的,什么是坏的。但是光喊“狼来了”也是没用的,过多的警告信息只会使用户丧失警惕性。笔者曾经看过这样的一个案例:一个木马在某IM里传播,很多用户上当受骗,于是该IM做了一个功能:检查用户传输的文件是否为.exe等可执行文件,如果是压缩包则看压缩包里是否包含了.exe,如果有则警告用户这可能是一个木马。在用户被骗后举报的案件记录中,看到骗子是这样诱导用户的:“您用的是最新版本吗?是最新版本就对了,这个版本什么都报是木马。没事的,您点吧!”

用户教育的工作任重而道远。

自动化识别钓鱼网站

在钓鱼网站的拦截过程中,有一个关键的工作,就是快速而准确地识别钓鱼网站。依靠人工处理钓鱼网站,工作量会非常大,因此有必要使用技术手段,对钓鱼网站进行一些自动化的识别。

目前许多安全公司都开始进行此方面的研究,并且卓有成效。

钓鱼网站的域名都具有一定的欺骗性。但反过来说,具有欺骗性,也就具有相似性。比如正常的淘宝宝贝页面URL中包含了参数值“-0db2-b857a497c356d873h536h26ae7c69”,这种参数值几乎成了淘宝URL的特色。

因此,下面这个钓鱼网站模仿了这种URL:

1 2 3 4 5 6 7
http://item.taobso.comdiz.info/auction/ item_detail-0db2- b857a497c356d873h536h26ae7c69 .htm.asp?ai=486

在域名上,也有很多字母变形。比如将字母“o”变形为数字“0”,字母“l”与数字“1”互换等方法,都是骗子的惯用伎俩。

在页面的源代码中,也能分析出许多相似的地方。比如上面的钓鱼网站,其页面代码中就包含了如下脚本:

而这段脚本实际上是钓鱼网站原封不动地从目标网站“淘宝网”上拷贝下来的,这段脚本就可以成为一个特征。

自动识别钓鱼网站是一项复杂的工作,不同的思路会有不同的结果。同时这项工作必然是在不断的对抗中成长,没有一成不变的规则和模型,也没有一成不变的钓鱼网站。

但即使再精准的系统,也会有误报的,因此最终还是需要有人工审核进行把关。

网购流程钓鱼

上面展示的那个钓鱼网站,和前文提到的登录页面的钓鱼不同,这是一个淘宝宝贝页面的钓鱼。那么这个钓鱼网站又是如何行骗的呢?接下来,就要讲讲这种比较奇特的诈骗方式,它实际上利用了今天电子商务支付环节的一个设计缺陷,而且这个设计缺陷还难以在短时间内修补。

在这个宝贝页面的钓鱼网站上,如果点击“立刻购买”,则会跳出一个登录浮层,它同时骗取了用户的密码。

输入一个测试账户后,就进入了确认购买页面,这也是淘宝网购里正常流程会走到的一步。一切看起来都和真的一样,除了URL。

输入一个测试账户后,就进入了确认购买页面,这也是淘宝网购里正常流程会走到的一步。一切看起来都和真的一样,除了URL。

点击“确认无误,购买”,将进入付款页面。在正常的淘宝网购流程中,是去支付宝付款。钓鱼网站同时伪造了支付宝的收银台页面,骗取用户的支付密码。

实际上用户是不会支付成功的,但此时用户的支付密码已经被盗了。

用户点击“返回”,重新选择网银支付。

在此过程中,用户的淘宝账户密码、支付宝的支付密码都已经被钓鱼网站所获取。用户看到的所有的页面都是钓鱼网站伪造的。

但这一切并不是最重要的,最重要的是钓鱼网站即使不知道用户的密码,也能骗走用户的钱。这涉及一个网购流程的设计缺陷。

在这个过程中,最终钓鱼网站走到的这个支付页面,其中内嵌了一个表单。查看源代码可以看到,这是一个工商银行的支付表单。

  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
<form id="ebankPayForm" name="ebankPayForm" target="_blank" method="post" action="https://B2C.icbc.com.cn/servlet/ ICBCINBSEBusinessServlet" > <input type="hidden" name="interfaceName" value="ICBC_PERBANK_B2C"/> <input type="hidden" name="interfaceVersion" value="1.0.0.0"/> <input type="hidden" name="orderid" value="507148170"/> <input type="hidden" name="amount" value="985000"/> <input type="hidden" name="curType" value="001"/> <input type="hidden" name="merID" value="4000EC23359695"/> <input type="hidden" name="merAcct" value="4000021129200938482"/> <input type="hidden" name="verifyJoinFlag" value="0"/> <input type="hidden" name="notifyType" value="HS"/> <input type="hidden" name="merURL" value="http://bank.yeepay.com/app-merchant- proxy/neticbcszrecv.action"/> <input type="hidden" name="resultType" value="0"/> <input type="hidden" name="orderDate" value="20110522205936"/> <input type="hidden" name="goodsName" value="中国联通交费充值"/> <input type="hidden" name="merSignMsg" value="fwWXBaBUrgwpxzP5oxyZay7ObihJrHt9UkGm9o kjRrHH828Kx8b/lkX8hOdS7wv74lgh3rZybkqSL+ DpB9F0u24+Pji9CWrGJeN5Y96qd97agv/n802vVp +VhKbFc0h6yuSQH4HK6dRxFrz4DsdpqgAr7ZdpUiM2DgS zjHCQUK0="/> <input type="hidden" name="merCert" value="MIIDBDCCAeygAwIBAgIKYULKEHrkAC49gjANBg kqhkiG9w0BAQUFADA2MR4wHAYDVQQDExVJQ0JDIE NvcnBvcmF0ZSBTdWIgQ0ExFDASBgNVBAoTC2ljYmMuY29 tLmNuMB4XDTEwMDkyNTA3NTU0MloXDTExMTAxMDE 1NTk1OVowPzEYMBYGA1UEAxMPeWVlcGF5MDEuZS40MDAw MQ0wCwYDVQQLEwQ0MDAwMRQwEgYDVQQKEwtpY2Jj LmNvbS5jbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCg YEA1LE1UbpYQd2bW87+hzo/3F9N8A8m3OCVU4Vj8 rYN7g499YwXJtCmvXJpKGHzpsygEvrwDsEWQp2rOFI0nS Ayga4VyyVbmFnx3dkiKFpAco6pi+G2YvtaxsoI8o I0ZpBzytRJRDy3WSZG6mKw3ty5UlbAiNlugJARfcMuYGv Q7jsCAwEAAaOBjjCBizAfBgNVHSMEGDAWgBT5yEX DU5MmNjGTL5QQ38hTPfZvnjBJBgNVHR8EQjBAMD6gPKA6 pDgwNjEQMA4GA1UEAxMHY3JsMzAzMTEMMAoGA1UE CxMDY3JsMRQwEgYDVQQKEwtpY2JjLmNvbS5jbjAdBgNVH Q4EFgQUI+mwl5mh7sI81gNXua2rcv/nev0wDQYJK oZIhvcNAQEFBQADggEBALaJ5oyxbHP8LsWiyvi//ijREA iA6oJ35hEy6Yn4Y8w7DZwM0H1il7txG0KfGPYU7p AQ6A9iQ+wMnMCBMrLOyws1osi2JQIwZncs7/ AisCXfGlji6wesAU4MCNiAfV2+nPmr2SMpkhak0OIcOZl ZHqN PeTBcTIuPmR3tH3UAJnC5vaz+7/Y +veEXa2PDia//TT2GCsaV3UP3mfdHFzGKVYIIZJ0qGJFN 4nBDqF1aYXgG BawfJwUVDIIJBnv94K9kj4u7sac1Eicl3AwkPJdrhWY/ Y5SZuu11pckfiserbSoGEKDCQ3OD9HoSVFIMpJi7n kwP56xhrJW8mQlUggGAgGE="/> <input type="hidden" name="remark1" value="0"/> <input type="hidden" name="remark2" value="0"/> </form>

这个表单的提交地址是:

1 2 3
action=https://B2C.icbc.com.cn/servlet/ ICBCINBSEBusinessServlet

这是一个真实的工商银行付款地址。也就是说,这个表单是真实存在的!

再看看这个表单中的几个关键参数:

 1  2  3  4  5  6  7  8  9 10 11
name="orderid" value="507148170" 订单号 name="merID" value="4000EC23359695" 商户标识 name="merAcct" value="4000021129200938482" 商户标识 name="merURL" value=http://bank.yeepay.com/ app-merchant-proxy/neticbcszrecv.action 商户URL name="goodsName" value="中国联通交费充值" 商品名称

从商户URL可以看到,这笔订单实际上是支付到了yeepay.com,而用户以为自己是支付到了支付宝。

再看看商品名称,变成了“中国联通交费充值”,而用户以为自己买的是“美的空调”。这个表单的隐藏字段说明了一切。

此外有两个关键参数:merSignMsg和 mer-Cert,这是针对该订单的签名和商户的证书,用来确定一笔订单。

最终,用户在钓鱼网站上提交这笔“真实”的订单后,通过工商银行的网银支付了一笔钱到yeepay.com。分析与防范网购流程钓鱼

在整个支付流程中,我们看到了什么?

一个正常的网购流程,一般如下:

商户(比如淘宝网)

第三方支付平台(比如支付宝、yeepay)

网上银行(比如工商银行)

这实际上是一个跨平台传递信息的过程。

贯穿不同平台的唯一标识,是订单号。订单中只包含了商品信息,但缺少创建订单用户的相关信息。这是网上支付流程中存在的一个重大设计缺陷。

造成这个设计缺陷的原因是,在网购过程中的每个平台都有一套自己的账户体系,而账户体系之间并没有对应关系。因此平台与平台之间,只能根据订单本身的信息作为唯一的判断依据。

比如银行的账户是银行卡号和开户名,第三方支付平台有自己的账户,商户又有自己的一套账户体系(比如京东商城)。

某用户小张在京东商城注册了账户“abc”,在支付宝的账户是“xyz”,在银行的卡号是“xxx”。假如小张在京东商城上买了一个空调,并经由支付宝到网银支付。在网银端,银行看到小张就是“xxx”,而不知道京东商城的“abc”以及支付宝的“xyz”也是小张;在支付宝端,同样也不知道小张就是京东商城的“abc”。这样的订单信息就不完整。

因此是否由小张本人完成了这个订单的支付,银行端其实是不知道的。银行只知道这个订单是否已被支付完成,而不知道是谁支付了订单。

这个缺陷是如何被利用的呢?

骗子去商户创建一个订单,然后交给用户去第三方支付平台支付;或者骗子创建一个第三方支付平台的订单,然后交给用户去银行支付——正如前文案例中所演示的一样。

目前中国互联网有成千上万的商户,也有数十家像支付宝一样的第三方支付平台,还有数十家提供网上支付业务的银行。这些平台拥有的账户体系已经变得错综复杂,很难再把这么多的账户一一对应起来。

解决这个设计缺陷的方法是,找到一个唯一的客户端信息,贯穿于整个网上支付流程的所有平台,保证订单是由订单创建者本人支付的。根据用户的需求,可能还会产生“代付业务”,这时候还需要设计一个合法的代付流程。只有当所有平台都统一了订单拥有者的信息后,才能真正解决这个问题。目前看来,使用客户端IP地址作为这个信息,比较经济,易于推广。

网络钓鱼问题不是某一个网站的问题,而是整个互联网所需要面对的问题。解决钓鱼问题,需要建立一条统一战线,改善和净化整个互联网的大环境。

用户隐私保护

2011年4月,索尼(SONY)发生了一起令全球震惊的黑客入侵事件。事件的结果是索尼运营的PSN网络(一个由SONY运营的以PS游戏机为终端的对战网络平台)陷入瘫痪,同时导致大量的用户数据被泄露。

索尼表示,可能有超过7700万的用户注册信息或已遭到黑客的盗取,而随后有黑客在论坛上开始挂牌销售220万个来自索尼PSN网络数据泄露受害者的个人信息,其中包括姓名、地址、电话号码、信用卡号码甚至后三位CVV2码,这些数据足以让大量用户的信用卡失窃。

之前索尼曾表示信用卡信息已经得到加密,但事实上数据库里的内容已经被读出,黑客甚至还炫耀数据库的关键字:fname, lnam, address, zip,country, phone, email, password, dob, ccnum,CVV2, exp date。事后有分析师认为,索尼在这次事件中遭受的损失可能会超过10亿美金,包括业务的丢失、不同的补偿成本、新的投资。

互联网的用户隐私挑战

互联网在给人们带来便捷的同时,也放大了负面事件的影响。

在互联网时代,网站在提供服务的同时,也拥有了各种各样的用户数据。从好的方面想,网站在拥有这些用户数据的同时,能够提供给用户更加优质的服务。网站收集用户信息最主要的用途就是用于精准地投放广告,广告目前仍然是大多数互联网公司最主要的收入来源。

互联网这个平台之所以比传统媒体更为先进,就是因为广告在互联网上可以进行精准投放。试想传统媒体,比如电视,在电视里投放广告时,所有的用户都坐在电视机前观看同样的广告。电视里的广告投放,只能按照不同的时间段、不同的频道风格进行大致的分类。比如在少儿频道投放玩具、母婴类广告,在戏曲频道投放中老年保健品广告等。

但是在互联网上,可以做到更为精准的广告投放。以搜索引擎为例,如果一个用户在搜索引擎上搜索“杭州楼盘”等关键词,则可以认为这个用户有买房的意向,从而可以展示杭州房地产相关的广告。如果搜索引擎更加智能一些,能够记住这个用户,知道这个用户前后几天一直在搜索“楼盘”、“中介”,“房产政策”等关键词,搜索引擎就可以猜测这个用户有强烈的购房意向,从而可以进行更深度的营销,比如由销售直接联系这个用户。

这时问题就来了,网站怎么知道如何联系这个用户?原来,用户在网站注册时,将手机号码填写在了个人资料中,当时填写的理由可能是“密码找回”、“注册确认”等,又或许是今天SNS最常用的手段:完善多少个人资料,就将获得多少奖励。

除了用户自己在网站填写的个人信息外,网站还可以通过“搜索记录”、“浏览网页的历史记录”、“IP地址对应的地理位置”等信息来猜测用户的真实情况。网站越“智能”,网站所持有的个人信息就越多。用户在有意和无意中会泄露大量的个人数据,而用户的个人数据一旦未能被妥善保管,就可能酿成“SONY数据泄露事件”的悲剧。

在PCI-DSS(支付卡行业数据与安全标准)中,对企业持有的“持卡人个人信息”做出了非常严格的要求。比如pin码不得以明文在网络中传输,使用后需要删除等。PCI认为现有的安全技术是复杂的,要想完美地保护好用户个人信息比较困难,最好的做法是限制数据的使用——“不存在的数据是最安全的”。

但PCI标准目前只在支付行业中推广;在其他行业,网站则仍然在肆无忌惮地收集用户的个人数据。目前互联网缺乏一个对用户隐私数据分级和保护的标准,没有定义清楚哪些数据是敏感的,哪些数据是公开化的,从而也无从谈起隐私数据应该如何保护。

比如用户的手机号码,乍一看是非常隐私的数据,如果泄露了,可能会让用户饱受垃圾短信和各类推销电话的骚扰。但是有的用户,出于商业宣传的目的,却希望其手机号码能广而告之,从而承接业务,这些手机号码又不属于隐私数据。类似的例子还有很多。因此对隐私数据进行标准化的定义,也是一件很困难的事情——业务场景太复杂了。

如何保护用户隐私

在通常情况下,笔者认为,如果网站为了提供更好的服务而收集用户的个人数据,则应该做到以下几点。

首先,用户应该拥有知情权和选择权。网站有义务告知用户获取了什么数据,并公布自己的隐私策略或条款。用户也有权利对不喜欢的隐私策略说不。

有一位名叫Aza Raskin的安全研究者,认为网站在向用户告知自己的隐私策略时,可以使用简单鲜明的图标来表示,并对数据的使用做了简单的分类。

更多的图标可以参考Aza Raskin的个人网站。

其次,网站应该妥善保管收集到的用户数据,不得将数据用于任何指定范围以外的用途。比如将用户的个人信息转卖给其他组织则是非法的,应该被禁止。

妥善保管这些数据,还意味着网站有义务为数据的安全性负责。应该达到类似于PCI-DSS中提到的各种保护数据的要求。

除了保证没有漏洞外,网站还应该限制员工接触到原始数据。比如监控员工是否有“查看用户隐私数据”的行为——没有人愿意让自己的邮件内容或者短信内容被网站的工作人员偷看。

曾经有人怀疑Google偷看用户的邮件内容,因为Gmail里的广告总是能够伴随着邮件的内容而精准投放。Gmail实际上是使用了算法实现这一切,但这给我们提了个醒:网站不应该有个人能够接触到用户的隐私数据。在正常情况下,个人数据应该只能由算法或者程序来计算,工作人员不应该有直接查看的权限。

在有的网站后台系统里,工作人员能看到完整的用户信息,比如完整的身份证号码、手机号码。这其实是不合理的设计,在大多数情况下工作人员并不需要知道完整的数据即可完成工作。因此使用“掩码”的方式会更加的合理和人性化。

1 2 3
身份证:43010119990909xxx4 手机:13666661xx4

Do-Not-Track

目前,越来越多的人认识到隐私保护的重要性。美国国会议员系统通过立法确保用户有权拒绝网上追踪用户的行为,这就是引起极大争议的“Do-Not-Track”。

Do-Not-Track工作在浏览器上。该选项打开后,将在HTTP头中增加一个header,用以告诉网站用户不想被追踪。最初由美国政府权威机构联邦贸易委员会(Federal Trade Commission)发布,其灵感来自于阻止电话推销的“全美不接受电话推销名单”(do-not-call registry)。

目前一些主流浏览器比如Firefox 4、IE 9的新版本都开始支持此项功能。

可是Do-Not-Track本身并不受欢迎。Yahoo、Google等互联网巨头均对Do-Not-Track表示了一定的抵制,一开始是不愿意加入,到后来甚至联名抗议试图阻止此项法案生效。Do-Not-Track势必将影响到广告主的利益。

目前此项法案还在讨论中,其是否能给隐私保护带来新的变化需要拭目以待。

Do-Not-Track只是工作在浏览器中,工作在HTTP层,但隐私数据收集问题其实已经渗透到互联网的每一个层面。

在非英语国家,产生了一个很神奇的产品:输入法。

在起初,输入法只是一个PC上的小应用程序,但是后来搜狐挖掘出输入法的价值。

在中国,人人离不开输入法。人们上网聊天、写邮件、使用搜索引擎都要使用输入法,包括笔者现在坐在电脑前敲这篇文章,同样也离不开输入法。输入法才是中国人上网的第一入口!云输入法因此而生。

在为用户提供更好体验的同时,“云端”也可以不断地猜测用户在想什么,而这是建立在大量的用户数据基础之上的。这些用户敲打出来的数据有助于帮助公司确立商业目标。

比如,云端如果发现大多数输入法的用户都开始敲打“股票”、“股息”等词语,则说明宏观经济可能发生了一些变化。还可以像分析搜索引擎关键词一样,分析用户使用输入法的习惯。比如,如果一个用户经常键入科技类的词语,则可以猜测这个用户的职业可能是工程师或者是学者。

2011年,苹果的iPhone和Google的An-droid手机系统先后被曝光出有跟踪用户地理位置信息的行为,引起轩然大波。这只是一个开端,接

小结

本章讲述的是互联网安全中,网站最关心的业务安全。

互联网公司在发展业务时,也许会忽略自身的安全防护和漏洞修补,但一定不会漠视业务安全问题。因为业务安全问题,直接损害的是用户的利益、公司的利益,这些安全问题会有真正的切肤之痛。因此无论是公司内部,还是政府、行业,甚至是社会舆论,都会产生足够大的压力和推动力,迫使互联网公司认真对待业务安全问题。

互联网公司要想健康地发展,离不开业务安全。把握住业务安全,对于公司的安全部门来说,就真正把握住了部门发展的命脉,这是真正看得见、摸得着的敌人。业务安全问题更加直接,损失的都是真金白银,考核的目标也易于设定。

安全工程师可以承担更大的责任,帮助公司的业务健康成长。

(附)麻烦的终结者

各位站长、各位来宾大家下午好!今天我演讲的题目是“麻烦的终结者”,我觉得安全问题对于中小网站站长来说并不能算业务发展上的重大阻力,也并不是迈不过去的难关,安全问题更多的时候像是一种麻烦,非常讨厌,但是你又不得不去面对它。就像你的牙疼,会让你吃不下饭,睡也睡不香,牙疼不是病,疼起来要人命。安全问题是令人头疼的麻烦,而我,是一个麻烦的终结者。

我这个人特别怕麻烦,但是每当我出现的时候,就意味着有麻烦出现了,所以我会尽我的全力,把这些麻烦以最快的速度解决掉。

首先自我介绍,我叫吴翰清,来自阿里巴巴集团信息安全中心,我是西安交通大学少年班毕业,2000年开始进行网络安全研究,有10年的安全研究经验。

我05年加入阿里巴巴,先后负责阿里巴巴、支付宝、淘宝的安全评估工作,帮他们建立了应用安全体系,现在我主要在阿里云负责云计算安全、全集团的应用安全,以及全集团的反钓鱼、反欺诈工作。

今天网站面临了很多威胁,有各种各样的威胁——有人在网站发反动政治信息;刚才主持人还提到美女的U盘丢了,隐私可能受到威胁。今天中小网站面临的各种威胁也是我们曾经遇到过的。

淘宝、阿里巴巴、支付宝、阿里云、雅虎中国,这些网站也是从小网站成长起来的,我们曾经遇到过的问题,也是中小网站明天可能会遇到的问题,因为明天中小网站也必然成长为大网站。当有一天我们的站长打开他的网站时发现站点已经打不开了,造成打不开的原因可能非常多,可能是硬件坏了、磁盘坏了,也有可能是IDC机房网络断了,当然也有可能是被拒绝服务攻击了,这完全是有可能发生的。

这是我们昨晚刚录的一段视频,这是我们自己的一个本地测试网站,我们使用一个工具测试,在两三秒之后,发现这个网站打不开了,把这个工具停掉,网站立马恢复正常。这种攻击完全是有可能发生的,这个漏洞就是上个月即11月,在一个安全的权威大会上有两个国外的安全研究者所演示的Web Server层的漏洞,这和传统的拒绝服务攻击不一样,它工作在应用层,传统保护方案可能会失效。

它的攻击条件非常简单,刚才只用了一台PC就把网站打宕掉,我们事后曾经利用这个漏洞测试过一些朋友网站,发现威力非常强大,包括我们自己内网的办公系统,也是刚刚一把工具打开,网站马上宕掉。这种威胁中小企业都面临着,我在03年也做过一个网站,做得非常大,后来不知道什么原因,有人拒绝服务攻击我的网站,之后这个网站再也没有打开过,我心灰意冷,就没有想再开起来。

在02、03年时,我们没有技术条件和环境解决这种问题,但是在今天,我们完全有可能解决,在安全性上叫可用性、业务连续性的问题,我们要让网站一直活着,不能让它打不开。我们如何解决拒绝服务攻击?在前面陈波介绍他在弹性云计算里面有很多方案,包括安全域、分布式防火墙,弹性云的环境当中还有很多网络设备来保护网络层对抗拒绝服务攻击。拒绝服务攻击分两种,第一种是前面陈波提到的,在网络层,传统的SYN flood等攻击,我们通过弹性云的很多方案已经保护得很好了。

另外一种是在Web Server层,在应用层,可能存在拒绝服务攻击,这是今天整个互联网都较为缺乏应对手段的攻击,但是我们部门已经解决掉了。我们在Web Server层定制一些模块,对WebServer进行保护,我们通过分析网络连接、频率、地域、客户端信息,最终进行判断,哪个请求是坏的。

你担心漏洞吗?其实漏洞跟风险还有一定距离。漏洞首先要有人使用,然后才会成为风险。什么人会去使用漏洞?这其实是一个很大的链条。漏洞会给我们带来什么?我们可以看一下演示。这是本地的测试网站,我们演示一次入侵过程,这是一个SQL注入漏洞,像这种黑客工具在网站可以随便下载到,而且有很多不同版本。

我们的攻击者尝试了网站后台,路径是Ad-min,发现路径是正确的,在入侵过程当中,很多是靠猜的。我跟很多资深黑客都聊过,他们有大概30%是靠运气才能够拿到一个系统权限,通过注入这个漏洞,找到了系统管理员这张表,然后找到用户名,现在正在破解密码。这时候攻击者把16位的MD5值放在表上查,马上找到了对应的密码,然后登录进网站后台。但是现在还没有完,在后台还有一个能够上传图片的功能,这里又有一个漏洞,这里没有对图片类型做验证,所以攻击者直接上传后门程序,现在他已经拿到了一个后门,可以为所欲为了。

可以浏览C盘目录,包括下载文件,攻击者上传一个页面,证明他入侵过,这就是一个漏洞引发的血案。

我们不得不担心漏洞,因为漏洞最终会成为很严重的风险,代码是人写的,程序员是人,不是神,只要是人写的代码,必然产生漏洞。漏洞不能被消灭,但是可以被控制。

这是我从国内现在比较著名的一个网站“乌云”上截取的图。这是一帮安全研究者弄出来的网站,会收集各个站点的漏洞,通报给厂商。在这个列表上(是我昨天刚抓到的),列举了8月份到12月3号的很多大网站漏洞,很多大网站榜上有名,有网易、QQ、凤凰网,还有百度、新浪,所以说大网站也会出现漏洞,小网站也不可避免。

我们是怎么解决漏洞的?现在我所在的团队是国内非常专业的一支团队,圈子里的朋友可能都知道,我们团队里面招了很多各个安全领域的专家,有无线安全专家、客户端安全专家、网络安全专家、应用安全专家,我们这些人研究出很多方法来控制漏洞。现在阿里巴巴全集团下有几千人的工程师团队,每天写代码,每周发布的项目有30个,小需求有200个,代码量非常大。我们的目标是要检查每一行代码的安全,但是我们只有30多个人,所以我们选择了四两拨千斤的方法。我们总结一些常见的代码问题,自己定制一些检测工具,对每一行代码进行检查,保证程序员写出来的代码是安全的。

我们现在还定制了自己的安全扫描器,扫描了包括淘宝、B2B、支付宝在内的6000万网页,这是今天任何一个商用安全扫描器都做不到的,但是我们做到了。这6000万页面是我们精选出来可能造成安全危害的页面,我们会在第一时间把扫描出来的漏洞通报给业务方,通报给应用,通报给程序员,我们会在第一时间掌控漏洞,我们要跑在黑客前面,要比黑客更早地发现漏洞所在。

当漏洞变成了风险时,我们的站长可能会担心杀毒软件突然弹出一个框说网站上面有木马,这件事情是非常令人头疼和讨厌的,给网站的声誉也带来非常大的影响。互联网中有一个黑色产业链在不断谋求发展,不断在追寻利益,可能很多在座的朋友都看过,前些时候中央电视台报道过的黑色产业链——一条木马产业链,他们是怎样盈利的?最主要的盈利点,在这个环节是盗用游戏账号、网银账号,然后卖掉,这是数十亿的产业链。在网站上面攻击用户,包括大网站用户、中小网站用户,这条产业链的攻击目标是最终用户,而这些用户也是中小网站用户,是重合的,所以这就是他们利益的驱动所在。我们很多站长想不明白,为什么这些黑客莫名其妙地跑到我们网站上来攻击我,这就是他们的利益点所在,因为每年有几十亿利益驱动在背后,所以会千方百计找流量,大网站攻不进去就找小网站,小网站也能给他们带来可观流量,导致他们最后获得丰厚收入。

就像苍蝇不盯无缝蛋,有漏洞就有黑客攻击的可能,不能抱有侥幸心理。我们如何解决挂马的风险?挂马的问题令人非常头疼,我这里有两个数字:一个是10万,一个是10分钟,阿里巴巴集团有一套系统能够定时周期性检测这个网站是不是挂马。业界普遍有两种做法:一种做法是检测原代码,看是否有危害性的JS脚本;另一种做法就是用类似虚拟机的做法,在虚拟机中用浏览器访问网页,然后在后台有一系列杀毒软件判断网页是不是挂马。我们两者皆用,目前监控10万网页,这10万网页是我们精选出来的阿里巴巴、淘宝、支付宝可能存在挂马风险的网页。

10分钟是指我们能在10分钟之内,如果10万个网页当中某一个网页挂马,就能发出警报。这跟扫描不太一样,扫描周期会比较长,而挂马检测周期非常短,这就是我们解决挂马的思路。目前这个方法也是得到实践认可的,确实能够从里面发现很多挂马问题的存在。最让人头疼的是这些挂马很可能并不是我们自己网站出现漏洞,很有可能是我们的外部合作者,比如说广告,如果内容供应商页面里面挂马了,访问我们网站时,杀毒软件也会报警。这就冤枉了,我们没做错事,却背黑锅。所以检测挂马这个工作非常有意义。

我还发现了另外一条产业链,一条比挂马产业链隐藏得更深、更可怕、更难抓到的产业链,这条产业链也有巨大利益在背后驱使,也是环环相扣,也有前后层级关系,但是在现在的媒体中报道的非常少。垃圾注册是万恶之源,这条产业链从垃圾注册开始。现在我发现很多网站,包括大网站的很多邮箱、很多论坛应用都存在着大量垃圾注册用户,这些垃圾注册用户对网站自身并不会造成危害,但是对整个互联网会产生巨大的影响。这些垃圾账号能够拿来干什么?首先是做广告。点击欺诈、广告欺诈,很多广告联盟,包括百度、雅虎可能都有这样一批人在背后做广告推广。其次是发反动政治言论。这些都是垃圾账号发出来的,没有人用自己的真实账号发,很多时候我们在网上碰到陌生人发一条消息,是广告或者反动言论,有的朋友心里可能非常反感,就会指责回去,其实对方只是一个机器人,你这样骂它是没有意义的,这都是垃圾注册惹的祸。

还有就是刷等级,可能存在一些用户行为,可以把低等级会员刷成高等级会员。还有领红包,我们给团队一些推广费用,希望给用户回报,但是没有一个有效措施保障这些回报落到有效客户手里,大部分推广费用落到了垃圾注册的口袋,最终可能只有一个团伙在收钱。

另外垃圾流量也会消耗大量的流量和资源,侧面反映就是我们的经费、我们的钱、我们的服务器,每年会消耗成本,如果能够控制垃圾注册,也就能够降低我们的维护成本。我们是如何成为清洁工的?现在的垃圾注册大部分是由机器人在发,我们要做的事情就是人机识别。想到人机识别(就是识别人和机器),大家的第一反应就是验证码,如果有一个好的验证码,确实能够很快识别出是人还是机器;但是验证码有验证码的问题,很多时候出于用户体验等因素的考虑不能使用验证码。所以我们有一套专门的解决方案,通过用户行为分析,判断到底是人还是机器,这套系统的准确率已经达到99.999%,在10万个分析里面有一个误报,这是我们目前的现状。

我们通过分析这个人发消息的一些频率,包括他的来源是不是代理IP,我们建立了很大的代理IP库,抓全国、全世界代理IP,判断消息来源是否可信;我们在后端还会有一些规则分析用户行为到底是不是一个正常用户行为,从而判断出这是不是一个垃圾注册。通过我们的努力,在前段时间,垃圾注册量有一个下降,这个具体数据比较敏感,不能放在这儿,红色的是正常用户,蓝色的是垃圾注册,我们发现有一个明显下降。这个效果是非常明显的,这样网站的业务干净了,也就安全了很多,包括诈骗、钓鱼风险小了很多,更不会有人上来发反动言论。垃圾注册是万恶之源,是这条产业链的所有源头。

钓鱼在金融行业是重灾区,这个图显示有80%的钓鱼是针对金融行业的,钓鱼目标包括所有的提供支付的商家,也包括想要在金融平台提供服务的网站,这和中小站长有着密切的关系,如果你想给用户提供在线支付业务,就有可能成为钓鱼网站的目标。钓鱼网站我们是怎么解决的?这个图是中国反钓鱼联盟(下属于CNNIC的一个机构)出具的一个报表,在10月份淘宝钓鱼网站有2400多个,数据全是我们提供给他们的,在我看来,这个报表并不能说淘宝的钓鱼网站数最多,而是因为我们检测能力最强,强到什么程度,第一个数字5000万,我们现在每天检查5000万个URL,5秒之内如果有新的钓鱼网站出现,就会被我们的系统捕捉。我们现在把钓鱼网站运营成本和周期,从最开始的1周压缩到1天,现在正在向1分钟迈进,也就是说,一个钓鱼网站以前能用1周,现在只能用1天了,用1天之后,这个网站马上失效,会在杀毒软件里失效,IDC机房会把服务器下线,域名也会关掉,我们正在向1分钟努力,现在已经有阶段性成果,这也是我们的下一阶段的目标。

我的职责就是终结麻烦,中小网站面临着各种各样的安全问题,面临着各种各样的麻烦——网站被DDOS,网站被入侵,数据被偷走,网站被挂马,杀毒软件报警,网站里垃圾消息满天飞。我们会尽全力解决“麻烦”,我们的安全之路是定制化、平台化的思想,为什么要定制化?我们最开始做安全时,也考虑过购买安全厂商的服务和产品,但是后来发现这些商用的安全服务和产品并不能跟上互联网的节奏,并不能为我们的需求实施定制化解决方案,我们最终选择自己来做。我刚才讲的所有东西都是我们自己做的,每一行代码都是我们自己写的,这就是我们的安全之路。今天就介绍这些,谢谢大家。

浙ICP备11005866号-12