前言

不可否认,目前阿里旺旺垃圾消息还是比较多的。这个现状并不可怕,只要我们真正花时间和精力去解决,一定能大为改善。

知己知彼方能百战百胜,要解决垃圾消息的问题,必须要从以下方面入手分析:

◆垃圾消息发送的必要条件

◆目前市面上的群发软件的工作原理

◆我们的漏洞

◆垃圾消息内容分析

其中,垃圾发送的必要条件是最应该仔细分析的,因为既然是必要条件,是缺一不可的,只要能斩断其中的某个条件,或许就可以极大的改善。

分析市面上流行的群发软件的工作原理,有助于我们针对性地推出一些防御措施。虽然堵漏洞不是治本的方法,但是某些时候的确也是比较有效的方法。

分析我们的漏洞,有助于我们提高自身的免疫力,使得垃圾消息的发送者无机可乘。

对垃圾消息的内容进行分析,可以让我们设置一些过滤器,做到即使收到也能不显示出来,以免污染我们的眼球。这基本上是最后一道防线了。

垃圾消息阿里旺旺的用户造成了一些不便,同时也极大的损害了阿里旺旺这个品牌。因此本人经过一段时间的思考和分析,总结了一些心得,经过组织形成了本文。

现状

目前市面上比较流行的IM产品主要有QQ、MSN、阿里旺旺、雅虎通、gtalk等等,对于一些比较冷门的IM,不在本文的分析之内。

通过网上一些网友的文章基本上可以了解到,目前QQ和阿里旺旺的垃圾消息是比较多的,而MSN和雅虎通相对要好一些。这是偶然的情况吗?其实偶然中是有必然的因素在里面的。

是否是我们的用户比较容易引起发送垃圾消息者的兴趣?答案是”错”。阿里旺旺的用户和别的IM的用户没有什么本质区别。如果垃圾消息的内容主要是广告,这或许还可以说是因为发送者认为针对阿里旺旺用户发送广告比较有价值。但问题是垃圾消息的内容很多是诈骗信息,我们总不能说是阿里旺旺的用户比较啥,容易诈骗成功,因此骗子喜欢发给阿里旺旺的用户。事实上,诈骗信息的现状仍然在QQ、阿里旺旺上比较多,而在MSN等上面相对要少一些,这个就基本可以排除因为用户群不同而导致的垃圾消息数量的差异了。

真正的原因是什么呢?我们有必要讨论一下垃圾消息群发的必要条件了。

一个必要条件及我们的漏洞

要解决任何事情,都要先找到这件事情发生的原因。只要原因找到,事情顺理成章的就能解决了。就像修改软件的BUG,一旦这个BUG的重现路径被找到,这个BUG其实就可以说已经被解决了。因此我们要想解决垃圾消息泛滥的问题,一定要先找到垃圾邮件发送的路径,或者说是必要条件。

如果我们是垃圾消息的发送者

有时候换位思考一下,把自己放在进攻方,这样做起防守的时候会比较容易一些。现在我们假设自己是一个开发垃圾消息群发器的人。

假设我们是开发垃圾消息群发器的人,第一步会如何做?当然是首先获取一个真实,精确的用户ID列表。如果拿不到这个列表,就无法实现群发。可以肯定,如果一款IM产品,或者是邮箱产品,如果能很方便地得到这个ID列表,那么这款IM或者邮箱必定垃圾信息和垃圾邮件会比较多。

如果我要做一个QQ的垃圾消息群发器,生成ID列表是毫无技术含量的。因为QQ的号码是一个数字,而且随着时间的推移,全国QQ用户的号码放在一起已经成了一个基本连续的数列了,因此只要写一个简单的程序,把某个整数每次加一就能生成一个相当精确的ID列表了。因此QQ上如果垃圾消息不多,简直没有天理了。

看MSN,垃圾消息相对来说是不算多的,原因何在?其实很简单,和MSN使用邮箱作为ID是有点关系的。虽然从全球范围上看,垃圾邮件的数量相当惊人,但实际上,如果要通过程序穷举生成的邮箱ID列表,其中有效邮箱的数量,或者说命中率是不高的。一个垃圾邮件的发送者必定从某些渠道搞到一个精确的,真实的邮件地址列表,通过这个列表来发送垃圾邮件。

如何获取阿里旺旺的ID列表

回到阿里旺旺上面来,要发送阿里旺旺的垃圾消息,同样必须先拿到一个精确,真实的ID列表。目前阿里旺旺(包括贸易通和淘宝以及口碑等)的ID体系也是使用字符,数字等构成,比QQ好一点,不容易通过编写程序遍历的方式生成精确,真实的ID列表。那么为什么还是有这么多垃圾消息呢?

目前,贸易通的ID就是中文站的ID,淘宝旺旺的ID就是淘宝网的ID。我们知道,如果正面攻击没有效果的话,可以从侧面,后面甚至从顶上进行攻击。如果我要要获取精确,真实的ID列表,我就从中文站和淘宝网入手。

用IE打开下面这个网页:

http://search.china.alibaba.com/search/offer_search.htm?keywords=%B5%E7%C4%D4&do=true&doSearchNews=true&catcount=10,将得到一个搜索”电脑”之后的结果,在每一条结果的最后都有一个按钮”跟我洽谈”,如图:

众所周知,点击”跟我洽谈”按钮就可以打开阿里旺旺的跟对方洽谈。

查看上面那个网址对应的HTML的源代码,会发现,内容里有搜出来的每个用户的ID,例如:value=rifeixiang type=checkbox name=191930532 memberId=”rifeixiang”> </DIV>。只需要写一个很简单的程序,就可以把ID从html里解析出来,保存成一个列表。这个程序只要运行一段时间,就可以获得一个非常庞大的列表。有了这个列表,就可以很容易的遍历这个列表,发送消息。

从淘宝网的网页上抓取ID的方法和中文站的略有差别,但原理极为类似,同样只需要一个很简单的程序就可以解析出一个详细的ID列表。

可以设想,我们增加获取ID列表的门槛,必定会改善目前垃圾消息泛滥的状况。

垃圾群发器原理

其实,目前市面上流行的垃圾消息群发器相当的没有技术含量,基本上都是通过模拟人工的方式进行发送的,就是用电脑模拟人的动作进行发送。目前在google上能搜索到的群发器,还没有通过破解协议来发送的。这一方面可能是破解协议相对来说有点难度,另一方面可能是电脑模拟人的动作太简单,因此没有必要去破解协议。

以目前市面上比较流行的《小康淘宝旺旺群发 2008贺岁版》为例,在它的动态信息里,有下面这段话:

这里基本上讲出了这个软件的实现原理。只要我们有针对性地加以防御,应该不难。

电脑模拟人工发送,分解开来的动作就是:指定用户打开聊天窗口->粘贴内容到输入框->发送一个WM_COMMAND消息到聊天窗口,模拟鼠标点击”发送”按钮的事件,发出消息。这一个序列用软件自动完成即可。当然也可能是真的模拟一个鼠标点击事件出去,不一定直接发送WM_COMMAND。正是因为基于模拟人工发送,我们是很难在服务器端加以控制的。因为即使通过限制发送频率,限制为没10秒才能发送一条(这个已经是一个非常大的时间了),我们可以通过计算得到,每天可以有24*60*60/10 = 8640条消息可以被发送。如果同时开100个旺旺进行发送,这个数字就是864000,非常大了,相当于三分之一的在线用户都能收到了。

通过活跃度限制发送的数量同样也用处不大,因为我注册一堆帐号,写个程序互相发点东西,用不了几天这些帐号的活跃度就够了。现在市面上已经有自动注册中文站帐号的软件,可以很方便地注册用户。

过滤关键字基本上也有点困难,比如说我发送一条介绍我店铺的消息出去,即合理又合法,凭什么把这条消息过滤掉?

解决方案分析

是否无法解决?只要我们下决心,一定是可以解决的。解决垃圾消息不是阿里旺旺一个团队的事,而是整个集团的事,各子公司要通力合作。

第一步要先斩断获取ID列表的途径。有人会说现在发送垃圾消息的人手里都已经有了一份ID列表了。这话不错,但亡羊补牢,为时不晚。不能说因为别人已经有列表了,我们就不在这方面加强。而且如果做了这部分工作,至少发垃圾消息的人拿不到新用户的ID,这样新用户至少可以免受垃圾消息的骚扰。至于如何做这部分工作,需要中文站和淘宝网配合,不过至少可以做到在网页中不显示ID的明文。

关于电脑模拟人工发送,或许使用非窗口控件代替窗口控件是一个解决方案。使用非窗口控件,就无法通过枚举或者查找窗口的方法来得到窗口的句柄,从而也无法给窗口发送消息。不知MSN之类的IM使用的控件都是非窗口的,是不是出于这个目的考虑。

Windows里有几个API,可以直接模拟鼠标和键盘事件,对于这种情况,我们可能需要做一些判断,判断当”发送”按钮被点击的事件来的时候,是用户鼠标或者键盘操作产生的,还是通过程序发送过来的。结合人操作电脑的一些客观情况,这个判断应该不难完成。

基于客户端的防范,有一个必须要面对的问题是,如果发送垃圾消息的人使用的是老客户端来发送,那么是无法防范的。在条件满足的时候,应该强制用户升级到某一个版本以上的客户端。

另外,从客户端看,可以考虑加一个复杂一点的垃圾消息判断机制,能相对准确地判断出一条消息是否为垃圾消息。仅仅是检测关键字是远远不够的,不但很容易漏过消息,更可能误杀消息。这个功能值得投入一定的时间和人手来研究一下,或者和目前业界一些有经验的公司或个人合作。

总之,解决垃圾消息是一项长期的过程,是一个道高一尺,魔高一丈的斗争过程。没有简单的方案来彻底解决,我们所能做的就是积极防范,同时提高自己产品被利用的难度和门槛。相信只要我们能下决心投入精力去做,垃圾消息泛滥的状况一定会改善。

服务器技术, 桌面应用开发 RSS 2.0 trackbackleave a response

  • No Related Post
引用计数我不怕之智能指针
日志系统的后续

6 Responses to “阿里旺旺垃圾消息分析及解决方案探讨”

  1. 陈海

    2008-12-22 at 09:11

    分析的很有道理,从源头上堵、在终端防、在服务器上截。

  2. xuzg99

    2008-12-25 at 12:31

    补充几点具体的:
    1. 用户id的奇缺性。 提高注册门槛。
    2.外挂(破解软件)。我们做好协议保密。
    3.疏优于防,我们要让创造空间给用户推广。
    4.加强pc id识别方案
    先想这几点了。

  3. bennyyao

    2009-04-19 at 18:09

    有没有换个角度来思考这个问题?

    不要仅仅从技术角度。从业务角度,一味的封堵旺旺群发消息,对阿里集团和淘宝,有什么好处和坏处?

    或者反过来说,旺旺群发消息,对阿里和淘宝,有什么坏处非得赶尽杀绝不可?

    我觉得,只要不是非法的信息,只要是正当的商业促销信息,有人要发,就让他去发好了。然后,用户是否愿意接受,那是用户的事,用户可以把垃圾发送者加黑,或者设置一个开关:拒绝一切陌生人信息。就可以了。

    至于拒绝陌生人消息后,对用户有什么利弊,他自己衡量了。

    其实,我们生活的社会,本身就不是真空的。我们现实生活里,真的能屏蔽掉一切广告吗?电视广告我不爱看,能屏蔽吗?分众的电梯广告,我不爱看,能屏蔽吗?超市里也有电视广告,我不爱看,能屏蔽吗?信箱里的各种传单、账单广告,我不爱看,能屏蔽吗?

    我们必须承认,这是一个被广告占领的世界,我们没有能力,也没有必要去理想化的建立一个真空的无广告世界。

    没有广告,固然清静,但是也未必是好事。

    很多旺旺的所谓垃圾信息,也确实能为淘宝用户提供很多不错的产品、服务,你不能说它们不应该出现。

    作为一个商业平台,阿里和淘宝应该做什么,不应该做什么?

    应该做的,是把一切的选择权,交给用户。

    不应该做的,是把自己当作家长,替用户做一切决定。这是错误的。

  4. bennyyao

    2009-04-19 at 18:14

    做这种“道高一尺魔高一丈”的博弈,是很费力的。是一种对技术资源的极大浪费。

    阿里应该把有限的技术资源,投入到如何帮助买家、卖家更多的做成生意方面,而不是毫无意义的做“城管”,和小摊小贩整天过不去。这有什么意义吗?有什么价值吗?

    大家从名牌大学毕业,拿了高级学位,就为了做一个网络上的“城管”?恐怕,阿里的马云先生,也一直只说:帮助商家做成生意。而不是堵截那些想做大生意的广告发送者吧!

    永远记住,阿里集团的上帝是谁?千万别搞错。

  5. bennyyao

    2009-04-19 at 18:21

    发送广告信息的,恰恰都是阿里和淘宝的客户,而不是敌人。

    如果堵截了他们,封死了他们,那么他们就会转向其他平台,例如腾讯或百度的平台。

    还是那句老话:堵,不如疏。

  6. 赵凯

    2009-04-27 at 09:58

    bennyyao的观点本人不赞同。
    1. 广告和垃圾广告,消息和垃圾消息之间是有区别的。一个好的广告对用户是有用的,而垃圾广告是用户厌恶的。
    2. 存在的东西,并非都是合理,并不是说电视上、电梯里有很多垃圾广告我们无法避免,就认为这些都是合理的。事实上作为用户我们非常讨厌这些垃圾广告,希望不再受到这些东西的污染。
    3. 其实目前电视上垃圾泛滥,作为运营的电视台是有责任的,没有站在客户第一的角度上做事。阿里软件作为阿里旺旺的运营商,从用户角度上考虑是有责任清除这些垃圾消息,尤其是骗子的垃圾消息的。
    最后强调一下,垃圾消息和正常的广告是不一样的。

阿里旺旺垃圾消息分析及解决方案探讨相关推荐

  1. 阿里旺旺分析系列一:实时获取阿里旺旺聊天消息,实现旺旺客服机器人

    目前网络上有为数不多的几款客服机器人.比如某某旺旺机器人.实现的大概机制是获取淘宝旺旺收到的聊天消息.从本地数据库中搜索答案.然后再自动或者手动回复. 本文详细讲述如何分析阿里旺旺和某某旺旺机器人软件 ...

  2. 2019年车联网安全 问题分析与解决方案探讨

    5G网络系统的高速度低时延特性将快速推进物联网技术及车联网技术的迅猛发展,5G网络不仅体现在高带宽.低时延 ,深度覆盖的低成本优势.更具有低能耗.大连接.深度覆盖的特点. 伴随5G网络逐渐实用化,将使 ...

  3. 今天 想了个问题,阿里旺旺及时消息

    为什么买了个东西,消息就立马显示了,这么多的卖家,买家,数据量这么大,是什么机制呢? 转载于:https://www.cnblogs.com/Kmoon/archive/2012/05/09/2491 ...

  4. 阿里旺旺聊天发包CALL发送消息

    之所以需要这个CALL是因为之前在淘宝卖一个软件时需要自动发消息功能,自己有时可能不在电脑旁,客人付款后就要把软件激活码及时发送出去.模拟按键又不太准确,所以找到了这个CALL.这段CALL代码是20 ...

  5. 系统监控——监控系统选型分析及误区探讨

    本文摘自于朱政科撰写的<Prometheus 云原生监控:运维与开发实战>,重点介绍了在监控系统选型中应该考虑的问题.在本文中,你将会了解监控应用程序的黑盒和白盒方法,也会了解监控执行检查 ...

  6. 监控之美——监控之美-监控系统选型分析及误区探讨

    朱政科 读完需要 29 分钟 速读仅需 10 分钟 本文摘自于朱政科撰写的<Prometheus 云原生监控:运维与开发实战>,重点介绍了在监控系统选型中应该考虑的问题. 上一期监控之美- ...

  7. AVG提醒:网银大盗疯狂肆虐阿里旺旺

    空间 [简 介] 网银大盗泛滥,近日,AVG中国区实验室截获到利用淘宝网购"社会工程学"传播的病毒,该病毒通常以卖家给买家传送"高清实物照片"的形式传播.如果买 ...

  8. 阿里旺旺自动回复工具开发一

    引言: 早在很久以前,当我还是一个菜菜鸟的时候(当然现在也是一个菜鸟,相比以前还是有了一点提高),就想过要开发一个QQ自动回复工具.意思就是能把别人发过来的消息通过自己开发的程序进行处理并回复.我当时 ...

  9. epsfallback_5G语音回落4G解决方案探讨

    原标题:5G语音回落4G解决方案探讨 5G语音回落4G解决方案探讨 马金兰1,杨征2,朱晓洁1 (1.中国电信股份有限公司智能网络与终端研究院,广东 广州 510630:2.中国电信股份有限公司,北京 ...

  10. 2016阿里云121款产品和解决方案全向图(9月制)

    2016阿里云121款产品和解决方案全向图(9月制) 摘要: 云栖社区在9月底又更新了"2016阿里云产品全向图和解决方案全向图". 导语:DT时代,一切都将走向数据化,可视化.在 ...

最新文章

  1. 使用pytorch最关键的几个点
  2. huizhang要约会
  3. typescript可辨识联合
  4. php把时间格式转换为时间戳,php如何将时间格式转换成时间戳?
  5. 前端学习(3076):vue+element今日头条管理-分支的使用
  6. java 泛型 子类_Java泛型:要求泛型成为某种类型的子类
  7. 零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(代码篇)
  8. 2018Oracle11g下载与安装菜鸟教程(一)
  9. python绘制隐含波动率曲面_隐含波动率曲面
  10. win11窗口桌面管理器突然很吃内存?
  11. 超简单方法搭建Eclipse下的Android NDK
  12. Fabric系列 - 多通道技术(Muti-channel)
  13. C++ 虚函数表 vfptr
  14. 容器中启动ssh状态总是sshd is not running
  15. 模拟重力场(多方向运动+碰撞检测+重力加速度+能量损失)
  16. virtualbox安装ubuntu时,not syncing: attempt to kill the idle task
  17. 罗升阳:那两年炼就的Android内功修养(转)
  18. php设置用户头像,php制作圆形用户头像的实例_自定义封装类源代码
  19. jquery,js实现手机端全屏轮播图手动滑动+自动切换(autoplay)
  20. 《纸牌屋》——交换才是硬道理?

热门文章

  1. (SQL)使用Excel连接数据库
  2. arcgispython空间插值_[学习总结]如何利用GIS建模批量处理气象数据-以micaps 第四类数据空间插值为例-专业气象研究-气象家园_气象人自己的家园...
  3. 2020-2023保时捷Taycan维修手册电路图技术培训手册用户手册电动汽车技术资料
  4. 海康rtsp视频流媒体服务器搭建(去除flash插件):rtsp > nginx-rtmp > http-flv > flv.js
  5. 易语言文件夹加密解密助手
  6. Nutch 深入浅出
  7. 金士顿u盘数据恢复软件推荐
  8. 流氓又见流氓!-有感雅虎中国通过公证部门 证明雅虎助手非恶意软件
  9. 开源计算机辅助翻译(CAT)软件OmegaT快速上手指南
  10. dbc2000 v2.0官方版