首页 >> 网络营销词典 >> 互联网基础知识FAQ >> 反垃圾邮件技术

反垃圾邮件技术[编辑]


      当前的反垃圾邮件技术可以分为4大类:过滤器(Filter)、反向查询(Reverse lookup)、挑战(challenges)和密码术(cryptography),这些解决办法都可以减少垃圾邮件问题,但是都有它们的局限性。

一、过滤

  过滤(Filter)是一种相对来说最简单却很直接的处理垃圾邮件技术。这种技术主要用于接收系统(MUA,如OUTLOOK EXPRESS或者MTA,如sendmail)来辨别和处理垃圾邮件。从应用情况来看,这种技术也是使用最广泛的,比如很多邮件服务器上的反垃圾邮件插件、反垃圾邮件网关、客户端上的反垃圾邮件功能等,都是采用的过滤技术。

1.1 关键词过滤

  关键词过滤技术通常创建一些简单或复杂的与垃圾邮件关联的单词表来识别和处理垃圾邮件。比如某些关键词大量出现在垃圾邮件中,如一些病毒的邮件标题,比如:test。这种方式比较类似反病毒软件利用的病毒特征一样。可以说这是一种简单的内容过滤方式来处理垃圾邮件,它的基础是必须创建一个庞大的过滤关键词列表。

  这种技术缺陷很明显,过滤的能力同关键词有明显联系,关键词列表也会造成错报可能比较大,当然系统采用这种技术来处理邮件的时候消耗的系统资源会比较多。并且,一般躲避关键词的技术比如拆词,组词就很容易绕过过滤。

1.2 黑白名单

  黑名单(Black List)和白名单(White List)。分别是已知的垃圾邮件发送者或可信任的发送者IP地址或者邮件地址。现在有很多组织都在做*bl(block list),将那些经常发送垃圾邮件的IP地址(甚至IP地址范围)收集在一起,做成block list,比如spamhaus的SBL(Spamhaus Block List),一个BL,可以在很大范围内共享。许多ISP正在采用一些组织的BL来阻止接收垃圾邮件。白名单则与黑名单相反,对于那些信任的邮件地址或者IP就完全接受了。

  目前很多邮件接收端都采用了黑白名单的方式来处理垃圾邮件,包括MUA和MTA,当然在MTA中使用得更广泛,这样可以有效地减少服务器的负担。

  BL技术也有明显的缺陷,因为不能在block list中包含所有的(即便是大量)的IP地址,而且垃圾邮件发送者很容易通过不同的IP地址来制造垃圾。

1.3 HASH技术

  HASH技术是邮件系统通过创建HASH来描述邮件内容,比如将邮件的内容、发件人等作为参数,最后计算得出这个邮件的HASH来描述这个邮件。如果HASH相同,那么说明邮件内容、发件人等相同。这在一些ISP上在采用,如果出现重复的HASH值,那么就可以怀疑是大批量发送邮件了。

1.4 基于规则的过滤

  这种过滤根据某些特征(比如单词、词组、位置、大小、附件等)来形成规则,通过这些规则来描述垃圾邮件,就好比IDS中描述一条入侵事件一样。要使得过滤器有效,就意味着管理人员要维护一个庞大的规则库。

1.5 智能和概率系统

  广泛使用的就是贝叶斯(Bayesian)算法,可以学习单词的频率和模式,这样可以同垃圾邮件和正常邮件关联起来进行判断。这是一种相对于关键字来说,更复杂和更智能化的内容过滤技术。我将在下面详细描述这种在客户端和服务器中使用最广泛的技术。

1.6 Bayesian 贝叶斯算法

  在过滤器中,现在表现最好的应该是基于评分(score)的过滤器,因为我们很容易就可以明白对付狡猾的垃圾邮件,那些黑白名单、关键词库或者HASH等过滤器是多么的简单。评分系统过滤器是一种最基本的算法过滤器,也是贝叶斯算法的基本雏形。它的原理就是检查垃圾邮件中的词或字符等,将每个特征元素(最简单的元素就是单词,复杂点的元素就是短语)都给出一个分数(正分数),另一方面就是检查正常邮件的特征元素,用来降低得分的(负分数)。最后邮件整体就得到一个垃圾邮件总分,通过这个分数来判断是否spam。

  这种评分过滤器尽量实现了自动识别垃圾邮件的功能,但是依然存在一些不适应的问题:

  *特征元素列表通过垃圾邮件或者正常邮件获得。因此,要提高识别垃圾邮件的效果,就要从数百邮件中来学习,这降低了过滤器效率,因为对于不同人来说,正常邮件的特征元素是不一样的。

  *获得特征元素分析的邮件数量多少是一个关键。如果垃圾邮件发送者也适应了这些特征,就可能让垃圾邮件更象正常邮件。这样的话,过滤特征就要更改了。

  *每个词计算的分数应该基于一种很好的评价,但是还是有随意性。比如,特征就可能不会适应垃圾邮件的单词变化,也不会适应某个用户的需要。

  贝叶斯理论现在在计算机行业中应用相当广泛,这是一种对事物的不确定性描述,比如google计算中就采用了贝叶斯理论。贝叶斯算法的过滤器就是计算邮件内容中成为垃圾邮件的概率,它要首先从许多垃圾邮件和正常邮件中进行学习,因此,效果将比普通的内容过滤器更优秀,错报就会更少。贝叶斯过滤器也是一种基于评分的过滤器。但不仅仅是一种简单的计算分数,而更从根本上来识别。它采用自动建立特征表的方式,原理上,首先分析大量的垃圾邮件和大量的正常邮件,算法分析邮件中多种特征出现概率。

  贝叶斯算法计算特征的来源通常是:

  ·邮件正文中的单词

  ·邮件头(发送者、传递路径等)

  ·其他表现,比如HTML编码(如颜色等)

  ·词组、短语

  ·meta信息,比如特殊短语出现位置等

  比如,正常邮件中经常出现单词AAA,但是基本不在垃圾邮件中出现,那么,AAA标示垃圾邮件的概率就接近0,反之则然。

  贝叶斯算法的步骤为:

  收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。

  提取特征来源中的独立字符串,例如 AAA等作为TOKEN串并统计提取出的TOKEN串出现的次数即字频。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件。

  每一个邮件集对应一个哈希表,hashtable_good对应非垃圾邮件集而hashtable_bad对应垃圾邮件集。表中存储TOKEN串到字频的映射关系。

  计算每个哈希表中TOKEN串出现的概率P=(某TOKEN串的字频)/(对应哈希表的长度)

  综合考虑hashtable_good和hashtable_bad,推断出当新来的邮件中出现某个TOKEN串时,该新邮件为垃圾邮件的概率。数学表达式为:

  A 事件 ---- 邮件为垃圾邮件;

  t1,t2 …….tn 代表 TOKEN 串

  则 P(A|ti)表示在邮件中出现 TOKEN 串 ti 时,该邮件为垃圾邮件的概率。设

  P1(ti)=ti 在 hashtable_good 中的值

  P2(ti)=ti 在 hashtable_ bad 中的值

  则 P(A|ti)=P2(ti)/[(P1(ti)+P2(ti)] ;

  6. 建立新的哈希表hashtable_probability存储TOKEN串ti到P(A|ti)的映射

  7.根据建立的哈希表 hashtable_probability可以估计一封新到的邮件为垃圾邮件的可能性。

  当新到一封邮件时,按照步骤2,生成TOKEN串。查询hashtable_probability得到该TOKEN 串的键值。假设由该邮件共得到N个TOKEN 串,t1,t2…….tn,hashtable_probability中对应的值为 P1 ,P2 ,……PN ,P(A|t1 ,t2, t3……tn) 表示在邮件中同时出现多个TOKEN串t1,t2……tn时,该邮件为垃圾邮件的概率。

  由复合概率公式可得:

  P(A|t1 ,t2, t3……tn)=(P1*P2*……PN)/[P1*P2*……PN+(1-P1)*(1-P2)*……(1-PN)]

  当 P(A|t1 ,t2, t3……tn) 超过预定阈值时,就可以判断邮件为垃圾邮件。

  当新邮件到达的时候,就通过贝叶斯过滤器分析,通过使用各个特征来计算邮件是spam的概率。通过不断的分析,过滤器也不断地获得自更新。比如,通过各种特征判断一个包含单词AAA的邮件是spam,那么单词AAA成为垃圾邮件特征的概率就增加了。

  这样,贝叶斯过滤器就有了自适应能力,既能自动进行,也可以用户手工操作,也就更能适应单个用户的使用。而垃圾邮件发送者要获得这样的适应能力就很难了,因此,更难逃避过滤器的过滤,但他们当然还是能够将邮件伪装成很普遍的正常邮件的样子。除非垃圾邮件发送者能去对某个人的过滤器进行判断,比如,采用发送回执的办法来了解哪些邮件被用户打开了等,这样他们就可以适应过滤器了。

  虽然贝叶斯过滤器还存在有评分过滤器的缺陷,但是它更优化了。实践也证明,贝叶斯过滤器在客户端和服务器中效果是非常明显的,优秀的贝叶斯过滤器能够识别超过99.9%的垃圾邮件。大多数目前应用的反垃圾邮件产品都采用了这样的技术。比如Foxmail中的贝叶斯过滤。

1.7 验证查询

  SMTP在设计的时候并没有考虑到安全问题。在1973年,计算机安全还没有什么意义,那个时候能够有一个可执行的邮件协议已经很了不起了。比如,RFC524描述将SMTP作为独立协议的一些情况:

  "虽然人们可以或者可能可以,以本文档为基础设计软件,但请恰如其分地进行批注。请提出建议和问题。我坚信协议中依然存在问题,我希望读者能够阅读RFC的时候能够将它们都指出来。"

  尽管SMTP的命令组已经发展了很长时间,但是人们还是以RFC524为基础来执行SMTP的,而且还都假定问题(比如安全问题)都会在以后被解决。因此直到2004年,源自RFC524中的错误还是依然存在,这个时候SMTP已经变得非常广泛而很难简单被代替。垃圾邮件就是一个滥用SMTP协议的例子,多数垃圾邮件工具都可以伪造邮件头,伪造发送者,或者隐藏源头。

  垃圾邮件一般都是使用的伪造的发送者地址,极少数的垃圾邮件才会用真实地址。垃圾邮件发送者伪造邮件有下面的几个原因:

  *因为是违法的。在多个国家内,发送垃圾邮件都是违法行为,通过伪造发送地址,发送者就可能避免被起诉。

  *因为不受欢迎。垃圾邮件发送者都明白垃圾邮件是不受欢迎的。通过伪造发送者地址,就可能减少这种反应。

  *受到ISP的限制。多数ISP都有防止垃圾邮件的服务条款,通过伪造发送者地址,他们可以减少被ISP禁止网络访问的可能性。

  因此,如果我们能够采用类似黑白名单一样,能够更智能地识别哪些是伪造的邮件,哪些是合法的邮件,那么就能从很大程度上解决垃圾邮件问题,验证查询技术正是基于这样的出发点而产生的。以下还会解析一些主要的反垃圾邮件技术,比如Yahoo!、微软、IBM等所倡导和主持的反垃圾邮件技术,把它们划分在反向验证查询技术中并不是很恰当,但是,从某种角度来说,这些技术都是更复杂的验证查询。

二、反向查询技术

  从垃圾邮件的伪造角度来说,能够解决邮件的伪造问题,就可以避免大量垃圾邮件的产生。为了限制伪造发送者地址,一些系统要求验证发送者邮件地址,这些系统包括:

  这些技术都比较相近。DNS是全球互联网服务来处理IP地址和域名之间的转化。在1986年,DNS扩展,并有了邮件交换纪录(MX),当发送邮件的时候,邮件服务器通过查询MX纪录来对应接收者的域名。

  类似于MX纪录,反向查询解决方案就是定义反向的MX纪录("RMX"--RMX,"SPF"--SPF,"DMP"--DMP),用来判断是否邮件的指定域名和IP地址是完全对应的。基本原因就是伪造邮件的地址是不会真实来自RMX地址,因此可以判断是否伪造。

2.1 DKIM技术

  DKIM(DomainKeys Identified Mail)技术基于雅虎的DomainKeys验证技术和思科的Internet Identified Mail。

  雅虎的DomainKeys利用公共密钥密码术验证电子邮件发件人。发送系统生成一个签名并把签名插入电子邮件标题,而接收系统利用DNS发布的一个公共密钥验证这个签名。 思科的验证技术也利用密码术,但它把签名和电子邮件消息本身关联。发送服务器为电子邮件消息签名并把签名和用于生成签名的公共密钥插入一个新标题。而接收系统验证这个用于为电子邮件消息签名的公共密钥是授权给这个发件地址使用的。

  DKIM将把这两个验证系统整合起来。它将以和DomainKeys相同的方式用DNS发布的公共密钥验证签名,它也将利用思科的标题签名技术确保一致性。

  DKIM给邮件提供一种机制来同时验证每个域邮件发送者和消息的完整性。一旦域能被验证,就用来同邮件中的发送者地址作比较检测伪造。如果是伪造,那么可能是spam或者是欺骗邮件,就可以被丢弃。如果不是伪造的,并且域是已知的,可为其建立起良好的声誉,并绑定到反垃圾邮件策略系统中,也可以在服务提供商之间共享,甚至直接提供给用户。

  对于知名公司来说,通常需要发送各种业务邮件给客户、银行等,这样,邮件的确认就显得很重要。可以保护避免受到phishing攻击。

  现在,DKIM技术标准提交给IETF,可以参考draft文档

  DomainKeys的实现过程

  发送服务器经过两步:

  建立。域所有者需要产生一对公/私钥用于标记所有发出的邮件(允许多对密钥),公钥在DNS中公开,私钥在使用DomainKey的邮件服务器上。

  签名。当每个用户发送邮件的时候,邮件系统自动使用存储的私钥来产生签名。签名作为邮件头的一部分,然后邮件被传递到接收服务器上。

  接收服务器通过三步来验证签名邮件:

  准备。接收服务器从邮件头提取出签名和发送域(From:)然后从DNS获得相应的公钥。

  验证。接收服务器用从DNS获得的公钥来验证用私钥产生的签名。这保证邮件真实发送并且没有被修改过。

  传递。接收服务器使用本地策略来作出最后结果,如果域被验证了,而且其他的反垃圾邮件测试也没有决定,那么邮件就被传递到用户的收件箱中,否则,邮件可以被抛弃、隔离等。

2.2 SenderID技术

  2004年,Gates曾信誓旦旦地预言微软能够在未来消灭垃圾邮件,他所期望的就是Sender ID技术,但是,最近他则收回了他的预言。这也就是标准之争,微软希望IETF能够采用Sender ID技术作为标准,并且得到了大量支持,比如Cisco, Comcast, IBM, Cisco,Port25,Sendmail,Symantec,VeriSign等,也包括后来又倒戈的AOL的支持,但是在开源社区,微软一直没有得到足够的支持,IETF最终否决了微软的提议。

  SenderID技术主要包括两个方面:发送邮件方的支持和接收邮件方的支持。其中发送邮件方的支持主要有三个部分:发信人需要修改邮件服务器的DNS,增加特定的SPF记录以表明其发信身份,比如"v=spf1 ip4:192.0.2.0/24 -all",表示使用SPF1版本,对于192.0.2.0/24这个网段是有效的;在可选情况下,发信人的MTA支持在其外发邮件的发信通信协议中增加SUBMITTER等扩展,并在其邮件中增加Resent-Sender、Resent-From、Sender等信头。

  接收邮件方的支持有:收信人的邮件服务器必须采用SenderID检查技术,对收到的邮件检查PRA或MAILFROM,查询发件者DNS的SPF纪录,并以此验证发件者身份。

  因此,采用Sender ID技术,其整个过程为:

  第一步,发件人撰写邮件并发送;

  第二步,邮件转移到接收邮件服务器;

  第三步,接收邮件服务器通过SenderID技术对发件人所声称的身份进行检查(该检查通过DNS的特定查询进行);

  第四步,如果发现发信人所声称的身份和其发信地址相匹配,那么接收该邮件,否则对该邮件采取特定操作,比如直接拒收该邮件,或者作为垃圾邮件。

  Sender ID技术实际上并不是根除垃圾邮件的法宝,它只是一个解决垃圾邮件发送源的技术,从本质上来说,并不能鉴定一个邮件是否是垃圾邮件。比如,垃圾邮件发送者可以通过注册廉价的域名来发送垃圾邮件,从技术的角度来看,一切都是符合规范的;还有,垃圾邮件发送者还可以通过别人的邮件服务器的漏洞转发其垃圾邮件,这同样是SenderID技术所不能解决的。

2.3 FairUCE技术

  FairUCE(Fair use of Unsolicited Commercial Email)由IBM开发,该技术使用网络领域的内置身份管理工具,通过分析电子邮件域名过滤并封锁垃圾邮件。

  FairUCE把收到的邮件同其源头的IP地址相链接--在电子邮件地址、电子邮件域和发送邮件的计算机之间建立起一种联系,以确定电子邮件的合法性。比如采用SPF或者其他方法。如果,能够找到关系,那么检查接受方的黑白名单,以及域名名声,以此决定对该邮件的操作,比如接收、拒绝等。

  FairUCE还有一个功能,就是通过溯源找到垃圾邮件的发送源头,并且将那些传递过来的垃圾邮件再转回给发送源头,以此来打击垃圾邮件发送者。这种做法利弊都有。好处就是能够影响垃圾邮件发送源头的性能,坏处就是可能打击倒正常的服务器(比如被利用的)的正常工作,同时该功能又复制了大量垃圾流量。

2.4 指纹技术

  “邮件指纹”技术作为一种反垃圾邮件的新技术越来越受到人们的青睐,这种新的技术给每封发送的电子邮件信息增加扩张了的报头信息。这种报头中会包含一种独特的签名信息,签名信息由相应的加密算法生成,这种算法基于电子邮件用户身份的特有识别信息以及邮件的时间识别信息等。外部电子邮件器通常返回原始信息的传输指令,称为“报头信息”,其中包括新指纹的扩展信息和原始信息的一部分。这就允许服务器检测签名信息以确定电子邮件是合法的用户信息还是垃圾邮件制造者的伪造返回消息。其目的是利用邮件指纹组织垃圾邮件风暴。当然这种新技术不可能解决所有问题,但可以保证采用这种技术的邮件服务器免受垃圾邮件的淹没。

三、挑战

  垃圾邮件发送者使用一些自动邮件发送软件每天可以产生数百万的邮件。挑战的技术通过延缓邮件处理过程,将可以阻碍大量邮件发送者。那些只发送少量邮件的正常用户不会受到明显的影响。但是,挑战的技术只在很少人使用的情况下获得了成功。如果在更普及的情况下,可能人们更关心的是是否会影响到邮件传递而不是会阻碍垃圾邮件。

  这里介绍两种主要的挑战形式:挑战-响应,和 计算性挑战(challenge-response and proposed computational challenges)

3.1 挑战-响应

  挑战-响应(Challenge-Response:CR)系统保留着许可发送者的列表。一个新的邮件发送者发送的邮件将被临时保留下来而不立即被传递。然后向这个邮件发送者返回一封包含挑战的邮件(挑战可以是连接URL或者是要求回复)。当完成挑战后,新的发送者则被加入到许可发送者列表中。对于那些使用假邮件地址的垃圾邮件来说,它们不可能接收到挑战,而如果使用真实邮件地址的话,又不可能回复所有的挑战。但是,CR系统还是有许多局限性:

  CR死锁。假如Alice告诉Bill要给朋友Charlie发送邮件。Bill发送一个邮件给Charlie,Charlie的CR系统临时中断邮件并发送给Bill一个挑战。但是Bill的CR系统又会中断Charlie这里发送出来的挑战邮件,并发送自己的挑战。因此,结果就是,用户都没有接收到挑战,而且用户也无法回复邮件。而且用户也无法知道,在挑战过程中发生了问题。因此,如果双方都使用CR系统的话,他们就可能根本无法进行沟通。

  自动系统问题。邮件列表或者那些自动系统,比如一些网站的"发送给朋友……"功能,就不可能回应挑战。

  解释挑战。许多CR系统都执行解释性挑战。这些复杂的CR系统包含了字符识别和参数匹配,但是即便如此,还是能够进行自动化操作。比如,Yahoo的CR系统在创建新邮件账号的时候,对于那些有简单智能字符分析的系统是存在漏洞的。Hushmail的邮件CR系统要求从蓝背景图片中找出指定的图形(分析背景,找出图形,提交坐标,这是可能的)

  这些在市场宣传神化中强调了两点:1、人们必须得提供挑战,2、这些问题都非常复杂而不太可能自动化操作。但是实际上,多数的垃圾邮件发送者完全不理睬了这些CR系统,因为他们主要是担心没有大量的接收者,而不是担心挑战太复杂。许多垃圾邮件发送者也使用有效的邮件地址。当CR系统会干扰垃圾邮件的时候,那些发送者也会找出自动化搞定这些挑战的办法的。

3.2 计算性挑战

  现在也提出了一些计算性挑战方案Computational Challenge (CC),如,通过增加发送邮件的"费用"。多数CC系统使用复杂的算法来有意拖延时间。对于单个用户来说,这种拖延很难被察觉,但是对于发送大量邮件的垃圾邮件发送者来说,这就意味着要花费很多时间了。CC系统的实例,如Hash Cash (http://www. cypherspace .org/adam/hashcash/)。但是,即便如此,CC系统还是会影响快速通讯而不仅仅影响垃圾邮件。这些局限包括:

  ·不平等影响。计算性挑战是以CPU、内存和网络为基础的,比如,在1Ghz计算机上挑战可能花费10秒,但是在500Mhz上就需要花费20秒了。

  ·邮件列表。许多邮件列表都有数千,甚至数百万的接受者。比如BugTraq,就可能会被看作垃圾邮件了。CC系统来处理邮件列表是不现实的。如果垃圾邮件发送有办法通过合法的邮件列表来绕过挑战,那么他们也就有办法绕过其他的挑战了。

  ·机器人程序。Sobig或者其他象垃圾邮件一样的病毒,能让垃圾邮件发送者控制大量的机器。这就让他们能够用大量的系统来均衡"费用"了。

  ·合法的机器人程序。垃圾邮件发送者发送垃圾邮件是因为会给他们带来收入。如果这些人联合起来,就可能提供大量的系统来分担"费用",这完全是合法的,而且不需要通过病毒了。

  当前,计算性挑战还没有广泛应用,因为这种技术还不能解决spam问题,反而可能干扰正常用户。

四、密码术

  现在提出了一些采用密码技术来验证邮件发送者的方案。从本质上来说,这些系统采用证书方式来提供证明。没有适当的证书,伪造的邮件就很容易被识别出来,下面就是一些研究中的密码解决办法:

  目前的邮件协议(SMTP)不能直接支持加密验证。研究中的解决方案扩展了SMTP(比如S/MIME,PGP/MIME和AMTP),还有一些其他的则打算代替现在的邮件体系,比如MTP。有趣的是,MTP的作者说到:"SMTP已经有20多年历史了,然而近代的一些需求则在过去5到10年内发展起来。许多扩展都是针对SMTP的语句和语义,纯粹的SMTP不能满足这些需求,如果不改变SMTP的语句,是很难有所突破的。"但是,很多的扩展的SMTP实例恰恰表明了SMTP的可变性,而不是不变性,完全创造一个新的邮件传输协议并不是必须的。

  在采用证书的时候,比如X.509或TLS,某些证书管理机构必须得可用,但是,如果证书存储在DNS,那么私钥必须得在验证的时候可用。(换句话说,如果垃圾邮件发送者可以访问这些私钥,那么他们就可以产生有效的公钥)。另一方面,也要用到主要的证书管理机构(CA),但是,邮件是一种分布式系统,没有人希望所有的邮件都由单独的CA来控制。一些解决办法因此允许多个CA系统,比如,X.509就会确定可用的CA服务器。这种扩展性也导致垃圾邮件发送者也可以运行着私有的CA服务器。

  如果没有证书管理机构,就需要其他的途径在发送者和接收者之间来分发密钥。比如,PGP,就可以预先共享公钥。在未连接网络或者比较封闭的群组中,这种办法是可行的,但是在大量个体使用的时候,就不是太适合,特别是对于需要建立新的联系的情况下。从本质上来说,预先共享密钥有些类似白名单的过滤器:只有彼此知道的人才能发送邮件。

  不幸的是,这些加密解决方案还不能阻止垃圾邮件,比如,假设其中的一种加密方案广泛被接受了。这些办法都不能确认邮件地址是真实的,而只是可以确认发送者有邮件的正确密钥。

参考资料:
扩展阅读:
相关词条:
合作编辑:

网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。

词条信息

浏览次数:289

编辑次数:0历史版本

创建者: 周慧玲

最近更新:2011/11/9 1:03:46

词条分类导航

关于网络营销教学网站| 本站动态| 网站地图| 版权声明| 联系作者| 问题和建议|

版权声明:网络营销教学网站所有作品版权均归原作者所有,未经书面许可,严禁任何形式的转载/转贴、出版、篡改、汇编、编译等。