利用短信网关发送垃圾短信的监控与过滤方法及系统的制作方法

文档序号:6463310阅读:160来源:国知局

专利名称::利用短信网关发送垃圾短信的监控与过滤方法及系统的制作方法
技术领域
:本发明涉及垃圾短信,尤其涉及利用短信网关发送垃圾短信的监控与过滤方法及系统。
背景技术
:随着移动运营商推出面向企业的行业短信应用,越来越多的企业用户开始使用行业短信业务,为运营商带来了可观的经济效应。但在业务开展的过程中,也有部分不法分子以及不良服务提供商(SP),利用该业务可以快速发送大量短信的特征,群发大量非法信息,造成了不良的社会影响,引起了用户的投诉。因而,必须对这些垃圾短信进行监控和过滤。在现有的面向短信中心的垃圾短信过滤方法中,主要有两种机制实现短信息的监控和过滤内容关键字过滤机制、同一主叫号码的发送频次过滤机制。传统的内容关键字过滤机制中的内容(关键字)主要依靠人工添加的方法来实现,尚无法实现自动添加,这种过滤机制的优点在于其原理和实现方式都较为简单,应用成本较低。但该机制存在一些重大的局限性一是关键字选取难度很大,仅通过关键字匹配很难判断出短信内容的合法性,经常漏掉非法短信;二是不法分子很容易通过各种方法绕过关键字列表,对此类短信而言,关键字过滤机制形同虚设;三是误判严重,经常过滤掉正常短信。例如在对大量垃圾短信日志进行分析后表明,不法分子经常靠对短信内容进行变换来欺骗关键字过滤机制,常见的手段有以下几种同音字替换——比如用"发轮功"代替"法轮功";拼音替换——比如用"FaLunGong"代替"法轮功";敏感词组夹杂其他字符——比如用"法/轮/功"或者"法轮功"代替"法轮功";全角替换——涉及数字的过滤时,用"12345"等全角字符代替"12345"等半角字符,或者用全角半角字符混杂;象形字替换——涉及数字的过滤时,用小写的"1"或者大写的"I"代替数字"1",用大写字母"0"或者小写字母"0"代替数字"0"。在实际的分析中,还发现这些手段被综合使用,如有些涉黄声讯台使用10159带头的接入号,发送诱骗短信的时候,就用"10159"来替换"10159",注意第一个数字实际上是字母"I",第二个是大写字母"0",第三个是小写字母"1",第四个是全角的数字"5"。由于这些变换方式的排列组合很多,不可能将所有的组合列入关键字列表中,导致很容易被一些反过滤方法欺骗。另外,传统的关键字过滤方式很容易误判用户的发送意图,假设"10159"字符串在关键字表中,那么任何一条包含该字符串的短信都被过滤,事实上,用户被过滤的短信可能只发了这么一条"各位同事,我的手机号码已换成13305710159"。正确的做法是,不管用户发送包含什么关键字的短信,只有超过一定的条数后,才能算是群发垃圾短信。同一主叫号码的发送频次过滤机制主要用判断单位时间内同一号码发送的短信数量是否超过预定标准来实现。实际使用中的取值大致为每小时几百条短信,也就是说,如果一个手机号码一小时内发送超过几百条短信,就有可能被短信中心放入黑名单,从而屏蔽掉后续发送的所有短信。这种过滤方式不适合于短信网关上的短信过滤,因为企业接入到短信网关时使用的是单一的接入号,而且本身的流量每秒就有几十到上百条短信。上述两种常用的过滤机制皆难以适用于短信网关上的垃圾短信过滤,这种短信的特点是,用户使用计算机系统连接到短信网关来发送的短信本来就速度快,数量多,内容动态变换更方便,便于实现反过滤变换。总之如何过滤通过短信网关发送垃圾短信已经成为当前迫切需要解决的一个重要问题。
发明内容为了解决上述的技术问题,本发明提供了利用短信网关发送垃圾短信的监控与过滤方法及系统,其目的在于,提高垃圾短信过滤成功率。本发明提供了利用短信网关发送垃圾短信的监控与过滤方法,包括步骤l,对关键字进行内容预处理;步骤2,对短信内容进行所述内容预处理;步骤3,内容预处理后的关键字与内容预处理后的短信内容进行匹配,并统计匹配后的加权值总和;歩骤4,对加权值总和符合预设条件的短信予以过滤。歩骤3还包括计算所述内容预处理后的所述短信内容长度,并根据该长度调整所述内容预处理后的所述关键字的加权值总和。所述内容预处理包括对所述短信内容和所述关键字采用Unicode编码,并作如下处理全角字符替换为相应的半角字符,与数字象形字母替换为数字,标点符号、非字母汉字类字符和空格对应替换为空字符,大写字母替换为相应的小写字符,和/或汉字替换为对应的拼音编码。所述内容预处理还包括维护一张所有Unicode字符的替换字符表。步骤4中,还设置一张加权值总和与允许发送短信数量的对应表,并依据加权值总和以及所述对应表过滤预设符合条件的短信。步骤2中,采用Hash值存储记录所述内容预处理后的短信内容;步骤4中,通过Hash值匹配的方法査询已经发送的所述内容预处理后的短信内容的数量。本发明还提供了利用短信网关进行发送垃圾短信的监控与过滤系统,包括内容预处理模块,用于预处理关键字和短信内容;关键字匹配模块,用于匹配内容预处理后的关键字与内容预处理后的短信内容,并统计匹配后的加权值总和;过滤模块,用于对加权值总和符合预设条件的短信予以过滤。关键字匹配模块,还用于计算所述内容预处理后的所述短信内容长度,并根据该长度调整所述内容预处理后的所述关键字的加权值总和。预处理关键字和短信内容包括对所述短信内容和所述关键字采用Unicode编码,并作如下处理全角字符替换为相应的半角字符,与数字象形字母替换为数字,标点符号、非字母汉字类字符和空格对应替换为空字符,大写字母替换为相应的小写字符,和/或汉字替换为对应的拼音编码。内容预处理模块,还用于维护一张所有Unicode字符的替换字符表。过滤模块,还用于设置一张加权值总和与允许发送短信数量的对应表,并依据加权值总和以及所述对应表过滤预设符合条件的短信。内容预处理模块,还采用Hash值存储记录所述内容预处理后的短信内容;过滤模块,还用于通过Hash值匹配的方法查询已经发送的所述内容预处理后的短信内容的数量。本发明可克服反过滤技术的干扰,大幅度提高垃圾短信的过滤成功率,可有效解决错误过滤正常短信的问题,可以提高上述短信发送数量判断过滤的准确性。在实际过滤中,短信内容预处理步骤能够有效地克服拆字、插入乱码、象形字等反过滤手段的干扰,从而提高过滤的成功率和准确度;使用多关键字加权控制发送频度,并结合短信长度特征,能够有效降低误判比率,从而允许系统添加更多的关键字,进一步提高过滤的准确度。三者结合起来,能够实现可靠的高精确度的垃圾短信过滤功能。另外本发明也适用于面向互联网用户的应用短信服务系统上的垃圾短信过滤。图1是基于编码替换的内容预处理过程的流程图;图2是本发明提供的垃圾短信过滤过程的流程图;图3是本发明提供的垃圾短信的监控与过滤系统。具体实施例方式本发明的目的是提供一种利用短信网关发送垃圾短信的监控与过滤方法。其监控与过滤方法步骤如下步骤l)、采用编码替换和拼音替换对短信内容进行预处理(也可以不进行拼音替换),对预处理后的短信内容计算MD5Hash值,对经过短信网关的所有短信的Hash值维护一个历史发送次数列表;处理某一条短信时,当历史表中该Hash值不存在的时候,则增加该Hash值记录,如果己经存在,则该Hash值的发送计数器加1。历史表的某个Hash值经过定义的失效时间后被清除。同时对关键字做同样的预处理。步骤2)、将过滤关键字做同样的内容预处理后与预处理后的短信文本进行匹配,统计短信内容中出现的所有匹配关键字的加权值总和,各个关键字的加权值是通过已经收集到的垃圾短信样本进行统计分析后,计算出这些关键字在垃圾短信中出现的频度来确定的,并随着垃圾短信样本的增加定期修正。步骤3)、计算待过滤短信文本长度,根据其长度对步骤2)得到的匹配关键字加权值和共进行调整,短信长度和调整比例呈线性的关系,也就是说这条短信的内容越长,关键字引起这条短信为垃圾短信的可能性就越大。步骤4)、系统定义一张加权值和发送次数限制的对应表。根据步骤3)获得的加权值总和查表得到发送次数限制,再对比步骤l)得到的该条短信内容已经发送过的次数,对已超过发送次数限制的短信予以过滤,不允许发送。为了使本发明的技术方案和优点更加清楚,下面结合附图对本发明做进一步的详细描述。简单的关键字过滤算法容易受到各种内容变换方法的干扰,内容变换的主要方法为在前面内容中提及的同音字替换、拼音替换、敏感词组中夹杂其他字符、全角替换以及象形字替换等。所述的用编码替换技术对短信内容进行预处理的作用在于将变换过的短信内容统一处理成一致的格式,其工作原理如附图l所示,具体流程下面进行详细描述。当系统收到一条短信时,第一个步骤是将短信内容编码成Unicode编码,由于短信的原始内容一般是英文、数字和中文混杂,有的字符是单字节,而有的是双字节的,如果不进行变换,下一步的匹配过程中就需要动态分割,不利用算法的快速实现,变成Unicode编码,统一使用16bit的编码格式,便于下一步进行编码替换。步骤二是进行编码替换,这种替换能够有效地对付全角替换、象形字替换和敏感词组夹杂其他字符的短信。具体方法是过滤系统维护一张所有Unicode字符的替换字符对应表,对应表由管理员根据常见的垃圾短信行为添加,例如对应表中所有的全角字符对应相应的半角字符,一些经常使用象形字母如大写的"0"对应数字"0",大写的"I"和小写的"1"对应数字1,所有的标点符号、空格和非中文的字符全部对应空字符,其他所有的大写字母统一替换成小写字母,这样短信根据这个对应表替换后会整理成统一的格式,下面几种常见的内容替换的编码替换效果如下<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>为了方便起见,上表中编码替换后的内容没有使用Unicode编码来展示,在实际实施的过程中,编码替换后的内容同样是用Unicode编码记录编码替换后的短信内容。可以看到,替换后的内容统一性大大提高,下一步再采用普通的关键字比对算法,准确度将提高很多。编码替换实现的具体方式如下:Unicode使用16位编码,字符总数为65536个字符,在系统中创建一个长度为65536个元素的数组,首先将数组内容默认初始化为编码0x0000、0x0001、0x0002......0xffff,这样数组Index为N的元素就是编码0xN,然后系统根据替换规则,将相应字符对应下标的数组项修改为应替换的字符编码,编码表的初始化工作即完成,这样,不需要替换的字符在编码表中保留为原来的字符,有替换规则的则是替换后的字符。访问编码表不需要查找,只需要用短信内容中每个Unicode字符的二进制数值作为Index访问数组即可,所以编码预处理的速度非常快,编码表仅仅需要占用65535x2=128k的内存,所以这一步变换消耗的资源可以忽略不计。在进行编码替换后,全角替换、象形字替换和关键字夹杂其他字符等反过滤措施被有效地抑制,但是还无法分辨经过拼音替换和同音字替换的短信。所以系统中又设计了拼音替换步骤,该步骤将所有的中文字符替换成拼音,非中文字符则保持原状,比如,前例中已经过编码替换后的短信内容(为了方便阅读说明书,编码替换后的短信内容没有使用Unicode编码表示替换后的内容),再经过拼音替换后的效果如下编码替换后的内容拼音替换后的内容好久不见近来可好我给你点了一首歌留了段心声你拨1015908901听听吧haojiubujianjinlaikehaowogeinidianleyisougeliuleduanxinshengnibo1015908901tintinba本公司办理各学府毕业证身份证营业执照票据刻章bengongsibanligexuefubiyezhengshengfengzhengyiyezhizhaopiaojukezhang拼音替换的具体编程实现和编码替换类似,也是在系统中预留一个项数为65536的Unicode编码一拼音对应数组,由于最长的拼音是6个字符,考虑到计算机处理以双字节对齐的内存速度比较快,数组项的长度为8个字节,这样,整个编码表只需要64kx8:512kb,替换的算法中,同样是采用索引寻址方式来获取替换后的拼音字符串,占用CPU资源很少。在实际的使用中,系统能够根据实际情况进行配置,动态打开或者关闭编码替换或拼音替换模块,以满足不同级别的过滤需要。内容预处理机制能够成功运行的关键是,用于比对的关键字列表必须和短信内容一起按照相同的规则进行预先处理,当打开了拼音替换模块后,短信的内容最终转换成拼音,而用于匹配的关键字也必须经过拼音替换,例如关键字"法轮功"会被替换成"falungong",这样,无论短信内容中出现"法轮功"、"发轮功"、"法/轮/功"、"FaLunGong"等内容,最终都会被处理成"falungong",从而在关键字匹配时能够被辨认出来。以上为对内容进行编码替换的详细算法。下面描述的是基于对比多个关键字计算加权值总和结合短信发送数量的过滤方法。常用的垃圾短信过滤算法中,关键字通常被用于判断短信中是否存在非法内容,一般来说,凡是符合某个关键字的,都被认为是内容非法而不允许发送,虽然办证、枪支弹药宣传等短信基本不会被错误拦截,但是总的来说,如果关键字列表比较短,则可能漏掉一些需要过滤的短信;而关键字列表比较长,则容易误拦截很多短信。例如,在实际的应用中,曾经有短信网关为了屏蔽一些敏感内容而将"人民"两字加入了关键字列表,结果很多正常的短信,如单位发布通知到人民大会堂开会,银行发布人民币存款加息通知,用户通知他人到人民路见面等均被拦截。类似的例子非常多。另外,部分短信中,只有多个关键字结合起来才组成非法短信,如常见的声讯台宣传短信"拨10159xxx找我聊聊"、"打10157听xxx"、"发xxx到xxxx"等,关键字很难提取,如果将"拨"、"发"、"听"、"到"等加入传统过滤方法中的关键字列表,势必误拦截非常多的正常短信。事实上,只要引入了关键字加权机制,对符合条件的关键字的加权计算总和,并根据总加权值来确定该短信允许发送的数量,加权值低则允许同样内容的短信大量发送,加权值高则允许少量发送,这样就可以将垃圾短信控制在非常小的范围内,达到控制不法分子群发垃圾短信的目的。例如上面的宣传短信中,服务提供商(SP)诱骗订阅的短信总是少不了"发"、"到"、"询"字样,声讯台宣传短信总少不了"拨","打"字样并包含大量"夜"、"激情"、"视频"、"放纵"、"成熟"、"性"、"欲望"、"饥渴"、"聊"、"爽"等字样,只要将这些关键字加入关键字列表,并根据程度定义不同的加权值,那么对一条短信的内容用所有的关键字比对下来,这些字就能全部反映出加权值来,将匹配的关键字的总加权值算出来,就能够很客观地反映短信的"垃圾度"。本发明中,对于普通的关键字的加权值设置为1,对于上述的特殊关键字的加权值可以设置为大于1的值(例如1.2,1.5等)。得到匹配的所有的关键字的加权值总和后,为了进一步提高判断的精确度,本发明根据内容编码替换预处理前的短信长度修正加权值总和。假设一条短信能够允许的最大长度为70个字符,定义为100%,那么内容只有35个字符的短信则将加权值乘以50%修正,最终加权值=加权值总和乂短信长度/短信最大允许长度。本发明还设置一张加权值和允许发送数量的对应表,该表的取值由管理员根据经验设置,例如,加权值为10以下的不过滤,10—20之间的允许发送1万条,超过20的允许10条等等,这样就能够有效地控制垃圾短信的发送数量。另外,不管加权值有多大,允许条数不应该减少到0,这样就不会拦截仅仅发送几条的看起来非常像垃圾短信的短信,因为这样的短信往往属于正常的短信交流。通过关键字加权值来控制发送条数必须结合短信内容计数才能实现,这就需要系统有记录短信内容并进行匹配的功能,直接存储所有短信内容并进行全文匹配的系统开销很大,本发明采用了Hash值存储并进行匹配的方式来记录相同内容的短信发送条数。具体的算法由附图2所示,下面进行详细描述。当一条短信进入过滤系统时,首先进行前面所述的内容编码替换,然后进行关键字匹配并得到"垃圾度"加权值,用指定的规则转换成该内容允许发送的条数。同时,对内容变换后的短信计算Hash值,以便在Hash表中查找该短信已发送的条数。不是对变换前的短信内容计算Hash值是因为变换后的内容已经剔除了反过滤变换的因素,可以更精确地界定同样内容的短信。Hash表中的数据项由Hash值、已经发送的条数、记录添加时间等项目构成,如果在Hash表中没有找到匹配的项目,则系统在Hash表中添加该项目,随着系统的运行,到一定时间后,最旧的Hash项被丢弃,Hash表的空间循环使用。如果Hash表中找到了匹配的项目,系统继续对比对应Hash项的发送计数器是否到达允许发送条数,如果没有到达,则允许短信发送,并且将发送计数器加l;如果已经到达允许发送条数,则短信被拦截。本发明还提供了利用短信网关进行发送垃圾短信的监控与过滤系统,如图3所示,包括内容预处理模块,用于预处理关键字和短信内容;关键字匹配模块,用于匹配内容预处理后的关键字与内容预处理后的短信内容,并统计匹配后的加权值总和;过滤模块,用于对加权值总和符合预设条件的短信予以过滤。关键字匹配模块,还用于计算所述内容预处理后的所述短信内容长度,并根据该长度调整所述内容预处理后的所述关键字的加权值总和。预处理关键字和短信内容包括对所述短信内容和所述关键字采用Unicode编码,并作如下处理全角字符替换为相应的半角字符,与数字象形字母替换为数字,标点符号、非字母汉字类字符和格对应替换为空字符,大写字母替换为相应的小写字符,和/或汉字替换为对应的拼音编码。内容预处理模块,还用于维护一张所有Unicode字符的替换字符表。过滤模块,还用于设置一张加权值总和与允许发送短信数量的对应表,并依据加权值总和以及所述对应表过滤预设符合条件的短信。内容预处理模块,还采用Hash值存储记录所述内容预处理后的短信内容;过滤模块,还用于通过Hash值匹配的方法查询己经发送的所述内容预处理后的短信内容的数量。本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。权利要求1、利用短信网关发送垃圾短信的监控与过滤方法,其特征在于,包括步骤1,对关键字进行内容预处理;步骤2,对短信内容进行所述内容预处理;步骤3,内容预处理后的关键字与内容预处理后的短信内容进行匹配,并计匹配后的加权值总和;步骤4,对加权值总和符合预设条件的短信予以过滤。2、如权利要求1所述的利用短信网关进行发送垃圾短信的监控与过滤方法,其特征在于,步骤3还包括计算所述内容预处理后的所述短信内容长度,并根据该长度调整所述内容预处理后的所述关键字的加权值总和。3、如权利要求1所述的利用短信网关进行发送垃圾短信的监控与过滤方法,其特征在于,所述内容预处理包括对所述短信内容和所述关键字采用Unicode编码,并作如下处理全角字符替换为相应的半角字符,与数字象形字母替换为数字,标点符号、非字母汉字类字符和空格对应替换为空字符,大写字母替换为相应的小写字符,和/或汉字替换为对应的拼音编码。4、如权利要求3所述的利用短信网关进行发送垃圾短信的监控与过滤方法,其特征在于,所述内容预处理还包括维护一张所有Unicode字符的替换字符表。5、如权利要求l、2、3或4所述的利用短信网关进行发送垃圾短信的监控与过滤方法,其特征在于,步骤4中,还设置一张加权值总和与允许发送短信数量的对应表,并依据加权值总和以及所述对应表过滤预设符合条件的短信。6、如权利要求5所述的利用短信网关进行发送垃圾短信的监控与过滤方法,其特征在于,步骤2中,采用Hash值存储记录所述内容预处理后的短信内容;步骤4中,通过Hash值匹配的方法査询已经发送的所述内容预处理后的短信内容的数量。7、利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,包括内容预处理模块,用于预处理关键字和短信内容;关键字匹配模块,用于匹配内容预处理后的关键字与内容预处理后的短信内容,并统计匹配后的加权值总和;过滤模块,用于对加权值总和符合预设条件的短信予以过滤。8、如权利要求7所述的利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,关键字匹配模块,还用于计算所述内容预处理后的所述短信内容长度,并根据该长度调整所述内容预处理后的所述关键字的加权值总和。9、如权利要求7所述的利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,预处理关键字和短信内容包括对所述短信内容和所述关键字采用Unicode编码,并作如下处理全角字符替换为相应的半角字符,与数字象形字母替换为数字,标点符号、非字母汉字类字符和空格对应替换为空字符,大写字母替换为相应的小写字符,和/或汉字替换为对应的拼音编码。10、如权利要求9所述的利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,内容预处理模块,还用于维护一张所有Unicode字符的替换字符表。11、如权利要求7、8、9或IO所述的利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,过滤模块,还用于设置一张加权值总和与允许发送短信数量的对应表,并依据加权值总和以及所述对应表过滤预设符合条件的短信。12、如权利要求11所述的利用短信网关进行发送垃圾短信的监控与过滤系统,其特征在于,内容预处理模块,还采用Hash值存储记录所述内容预处理后的短信内容;过滤模块,还用于通过Hash值匹配的方法査询已经发送的所述内容预处理后的短信内容的数量。全文摘要本发明涉及利用短信网关发送垃圾短信的监控与过滤方法及系统。该方法包括步骤1,对关键字进行内容预处理;步骤2,对短信内容进行所述内容预处理;步骤3,内容预处理后的关键字与内容预处理后的短信内容进行匹配,并统计匹配后的加权值总和;步骤4,对加权值总和符合预设条件的短信予以过滤。本发明可克服反过滤技术的干扰,提高垃圾短信的过滤成功率,可解决错误过滤正常短信的问题,可以提高上述短信发送数量判断过滤的准确性。文档编号G06F17/30GK101304589SQ20081010401公开日2008年11月12日申请日期2008年4月14日优先权日2008年4月14日发明者罗云彬,黄文良申请人:中国联合通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1