CN112100220B - 一种实现非法账号组实时监控的*** - Google Patents
一种实现非法账号组实时监控的*** Download PDFInfo
- Publication number
- CN112100220B CN112100220B CN202011002823.XA CN202011002823A CN112100220B CN 112100220 B CN112100220 B CN 112100220B CN 202011002823 A CN202011002823 A CN 202011002823A CN 112100220 B CN112100220 B CN 112100220B
- Authority
- CN
- China
- Prior art keywords
- account
- group
- storage medium
- data
- accountname
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种实现非法账号组实时监控的***,所述***包括实时接收数据模块,用于存储账号行为信息和账号的骨架结构信息的日志存储介质,用于存储存量去重账号的账号名、账号状态、骨架结构和所属组序号的存量账号信息存储介质,用于存储分组信息的分组信息存储介质,用于存储白名单匹配方式的白名单存储介质,用于存储黑名单匹配方式的黑名单存储介质,增量账号处理模块,存储信息交互模块,日志实时分析模块和分组实时分析模块;通过各个模块的协同工作来完成对非法账号组实时监控,提高了网络数据的安全。
Description
技术领域
本发明涉及计算机***通信技术领域、黑产检测领域,特别是一种实现非法账号组实时监控的***;另外,本文侧重介绍该***的整体架构设计、存储介质的分布结构、数据的基础存储格式。
背景技术
非法账号一词描述游戏工作室刷金账号、网络论坛水军账号等非法用途的账号,黑产团队为了方便账号管理往往批量注册具有连号特征的非法账号集合,如feifa1、feifa2、feifa3…feifa1000这样的由特定格式生成的账号集合,本专利将这类由非法团队创建和使用的、拥有明显共同特征、与之相似账号数量巨大的账号集合称为非法账号组。
目前有许多从事网络黑色产业的非法团队,通过非法利用网络程序内部漏洞或使用不受许可的第三方非法软件,借助人力操控或软件操控等途径批量注册、登陆、操控账号,实现非法牟利、引导舆论、恶意攻击网络服务提供方等目的,严重侵害网络服务提供方的合法利益;另外黑产团队占用网络服务提供方的网络带宽、服务器资源,也会导致合法用户无法正常享受网络服务方提供的网络服务。对于网络服务提供商,面对上述威胁,需要通过封禁非法账号的方式对抗非法攻击,例如游戏公司需要封禁游戏工作室的打金账号,网络论坛需要封禁发布广告信息的账号等。由于非法团队的账号往往相似度非常高(例如以feifazhanghao1、feifazhanghao2、feifahzanghao3这样的连号形式存在),因此可以通过相似度分析的方法批量分析账号,比较账号之间的相似度,从而对账号进行分组并根据相似账号出现的频率从中筛选出工作室的账号。
现有技术中对于账号的监控,参见名称为:一种基于图分析聚类的微博相似账号检测方法申请号为:201711181758.X,公开号为:2018-05-18的中国专利,该一种基于图分析聚类及多维相似度计算的微博相似账号检测方法,具体内容包括:S1.将恶意账号识别问题转化为用户相似度计算问题;S2.将用户信息通过图计算构建有向图;S3.使用图分析算法对用户聚类;S4.引入稠密度权重d,过滤数据稀疏的用户;S5.引入MDUS算法,基于多维度信息计算相似度;S6.使用层次分析法计算各维度权值,得到加权相似度;S7.爬虫获取m名用户数据,在spark实验,输入目标用户信息,得到相似账号集合作为可疑的恶意账号,MDUS算法的准确率可达80%。该方法将基于图分析聚类和多维相似度计算相结合,实现快速发现异常帐号,对维护社交网站稳定具有重要的意义。
上述专利采用机器学习、多维绘制用户画像等方法对用户进行聚类,从而分析出恶意账号,具有参考意义,但也存在如下局限性:
1.适用场景具有局限性,仅适用于微博等可以收集到大量用户关注信息作为聚类因子的场景。本专利适用于游戏公司、论坛、微博等针对非法账号的检测场景。
2.对于用户画像过于依赖,对于单一量化因子或量化因子过少的场景下数据准确性会下降。本专利采用对账号名称相似度匹配的方式对大量账号进行分组,采用单一因子作为分组的量化依据。
3.需要大量的数据用于训练,对于小规模的企业或个人网站等无法收集到大量现存数据的单位而言难以直接套用。
发明内容
为克服上述问题,本发明的目的是提供一种实现非法账号组实时监控的***,通过调节阈值的方式动态修改对非法账号的监控强度,提高了非法账号监控的精确性。
本发明采用以下方案实现:一种实现非法账号组实时监控的***,其特征在于:所述***包括实时接收数据模块,用于存储账号行为信息和账号的骨架结构信息的日志存储介质,用于存储存量去重账号的账号名、账号状态、骨架结构和所属组序号的存量账号信息存储介质,用于存储分组信息的分组信息存储介质,用于存储白名单匹配方式的白名单存储介质,用于存储黑名单匹配方式的黑名单存储介质,增量账号处理模块,以及存储信息交互模块,
所述存储信息交互模块封装有一操作接口、第一功能接口;
所述实时接收数据模块接收外部传来的账号信息,得到账号名称AccountName和操作时间RecordTime;实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构称为Skeleton,零件数量称为PartNum,零件长度集合称为PartSizeList,并将这些骨架信息写入到日志存储介质中;
所述实时接收数据模块遍历白名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与白名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为白名单,否则,遍历黑名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与黑名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为非法;非法则封禁此账号,禁止其进行活动;
所述实时接收数据模块调用存储信息交互模块的操作接口,查询AccountName是否存在于存量账号信息存储介质中,不存在,则实时接收数据模块将AccountName以及AccountName的账号状态信息传递至增量账号处理模块,增量账号处理模块将信息通过操作接口写入到存量账号信息存储介质中;存在,则更新AccountName的账号状态;即状态更新为白名单或者非法,更新为白名单则退出流程;更新为非法,则实时接收数据模块调用第一功能接口对AccountName分组,即存储到分组信息存储介质中进行分组,并对该AccountName分组的数据进行监控。
进一步的,所述***还包括日志实时分析模块和分组实时分析模块,所述日志实时分析模块实时统计与监控日志存储介质中的内容,监控是否有某个账号组的账号记录在短期内激增或长期高频,并将数据反馈回分组实时分析模块;所述分组实时分析模块实时统计与监控分组信息存储介质中的内容,实时对分组信息存储介质内存储的数据进行统计与监控,并将数据反馈回存量账号信息存储介质。
进一步的,所述实时接收数据模块分析AccountName的骨架信息的实现方式包括如下步骤:
步骤21、申请一块连续的内存用于存储AccountName的骨架结构Skeleton;
步骤22、创建一个空的列表,命名为PartSizeList,是一个存储数字格式数据的列表,用于按顺序存储每个零件的长度,即每个零件的字符串长度,ParSizeList***一个大小为0的数字数据成员;
步骤23、新建一个字节tmp用于存储上一次读取的字节内容并将字节tmp初始化为空字符串;
步骤24、从AccountName中读取1字节的数据CharA,如果CharA为字符串的结束符则进入步骤28;否则进入步骤25;
步骤25、如果CharA的ASCII码在0x30-0x39之间则判定为数字类型字符,否则判定为非数字类型字符,进入步骤26;
步骤26、如果此时tmp为“”或tmp与CharA的数据类型相同,则将PartSizeList的最后一个数据成员大小加1,将CharA赋值给tmp,进入步骤24;如果tmp与CharA的数据类型不同,PartSizeList***一个大小为1的新数据成员,将CharA赋值给tmp,进入步骤27;
步骤27、如果CharA为数字类型数据,则通过字符串拼接的方式在Skeleton的尾部拼接字符I,否则在Skeleton的尾部拼接字符S,进入步骤24;
步骤28、获取Skeleton的字符串长度,这个长度即为AccountName的零件数量PartNum;
步骤29、返回AccountName的零件数量PartNum、骨架结构Skeleton、零件长度集合PartSizeList。
进一步的,所述存储信息交互模块将存量账号信息存储介质与分组信息存储介质的增加、删除、查询、更新、排序操作的接口进行封装为一操作接口,***的其他模块能通过操作接口对存量账号信息存储介质和分组信息存储介质进行数据操作。
进一步的,所述存储信息交互模块提供所述第一功能接口,第一功能是查询某账号是否能被归入指定的某一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号;使用流程是:
步骤11、调用者调用本第一功能接口时传入账号名AccountName和账号组的序号GroupIndex作为参数,
步骤12、存储信息交互模块接收到接口调用请求后通过操作接口从分组信息存储介质中查询账号组序号为GroupIndex的账号组的账号组的组长账号LeaderAccountName和匹配规则MatchRule;
步骤13、如果MatchRule为空值,即该账号组没有设置匹配规则,则进入步骤14;否则使用与匹配规则对应的匹配算法计算AccountName是否与MatchRule匹配;如果匹配,则判定AccountName可以被归入这一组,进入步骤5;否则进入步骤4;
步骤14、使用相似度匹配算法计算AccountName和LeaderAccountName的相似度,如果相似度高于调用者设置的阈值则判定AccountName和这一组的组长名称高度相似,即AccountName被归入到这一组,进入步骤15;否则判定AccountName不属于这一组,退出返回否;
步骤15、使用操作接口将存量账号信息存储介质中存储的账号名称为AccountName的账号的账号所属组的序号改为GroupIndex,使用操作接口将分组信息存储介质中组序号为GroupIndex的组的成员数量加1,退出返回是。
进一步的,所述存储信息交互模块提供所述第二功能接口,第二功能是能将账号名称与所有的账号组规则进行匹配,查询某账号是否能被归入任意一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号;使用流程如下:
调用者调用第二功能接口时传入账号名AccountName作为参数;
存储信息交互模块接收到调用请求以及参数AccountName后通过操作接口查询存量账号信息存储介质中AccountName的账户状态和所属组序列号;
如果AccountName的账户状态为白名单或所属组的序列号不为-1,则判定这个AccountName不需要进行分组操作或已经进行过分组,退出流程;
通过操作接口查询分组信息存储介质中存储的所有账号组的组序号,这些组序号组成序号组GroupIndexList=[GroupIndex0,GroupIndex1,GroupIndex2…];假设GroupIndexList包含N个数据成员,则循环遍历N次,每次访问GroupIndexList的第M个数据成员GroupIndexM;将AccountName和GroupIndexM作为参数,调用第一功能接口看AccountName是否能被归入GroupIndexM组;若某一次成功归入,则返回TRUE;如果遍历完成后仍未成功归入则返回FALSE。
进一步的,所述存储信息交互模块提供一第三功能接口,第三功能是从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并进行分组匹配操作;使用流程如下:
调用者调用第三功能接口时传入需要抽取账号的最大数量MaxCount作为参数;
存储信息交互模块接收到调用请求以及参数MaxCount后通过操作接口查询存量账号信息存储介质中不属于任何组的账号;
假设实际查询读取到Count个账号,这Count个账号组成的集合称为AccountNameList;
遍历Count次,每次取出AccountNameList的第N个数据成员AccountNameN作为参数调用第二功能接口遍历完成后返回。
进一步的,所述***对非法账号组进行实时监控的具体流程还包括:第一阶段:***尚未发现一组非法账号的存在,该第一阶段具体为:
注册非法账号1时,存量账号信息存储介质中并没有存储过与非法账号1相似的账号信息,分组信息存储介质中也没有存储匹配这组账号的匹配方式;
注册非法账号1的行为记录传递至本***时,实时接收数据模块接收到了此信息,得到账号名称AccountName和操作时间RecordTime;实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构成为Skeleton,零件数量称为Part_Amount,零件长度集合称为Part_Size_List;实时接收数据模块将骨架信息写入到日志存储介质中;
实时接收数据模块通过匹配算法得知非法账号1并不存在于白名单存储介质和黑名单存储介质;
实时接收数据模块通过存储信息交互模块的操作接口查询到非法账号1并没有被存储于存量账号信息存储介质中,即该账号属于增量账号,实时接收数据模块将数据传递至增量账号处理模块;
增量账号处理模块通过存储信息交互模块的第二功能接口查询到非法账号1不属于任何组;然后将非法账号1及它的所有信息写入到存量账号信息存储介质中;
外部开始注册后续的同组账号非法账号2、非法账号3…非法账号N后,这些账号都经历了和非法账号1相同的处理流程,因为截至此时分组信息存储介质仍然没有出现该些账号的分组信息;但是此时存量账号存储介质中已经存储了大量相似度的账号;由此进入第二阶段。
进一步的,所述第二阶段:***发现非法账号1该组账号的存在并逐步收集该组数据:该第二阶段具体为:
设置一相似度阈值,存储信息交互模块定时随机从存量账号信息存储介质中随机抽取设定数量的不属于任何组的账号,随着非法账号组的账号成员存入存储介质的数量的上升,单次随机抽取的大量账号中出现2个或2个以上该组账号的几率也随之上升;假设这组账号中包含非法账号J和非法账号K,存储信息交互模块对这些账号进行两两配对比较相似度;匹配结果为非法账号J和非法账号K这两个账号之间的相似度高于所述相似度阈值;存储信息交互模块随机选取非法账号J作为组长,设置当前组员数量为2,通过操作接口写入这个新组的信息;称这个组的序号为InvalidGroupIndex,称该组为InvalidGroup;外部注册的类似的每一个新非法账号都会自动归入到InvalidGroup组中,进入第三阶段。
进一步的,第三阶段:***实时统计非法账号组的账号数量并及时更新该组账号成员的账号状态:该第三阶段具体为:
步骤S1、设置组员数量阈值,命中次数阈值、最近24小时的命中次数阈值、最近12小时的命中次数阈值、最近6小时的命中次数阈值;日志实时分析模块实时分析日志,统计InvalidGroup组最近24小时的命中次数、最近12小时的命中次数、最近6小时的命中次数,并将这些信息反馈至分组规则存储介质中;
步骤S2、分组实时分析模块实时分析分组信息存储介质中存储的信息,通过数学运算的方式将InvalidGroup组的几项数据与设定的阈值进行比较,如果发现InvalidGroup组存在以下任意一条特征,则进入步骤S3:
步骤S22.1、InvalidGroup组的组员数量高于组员数量阈值;
步骤S22.2、最近24小时的命中次数高于最近24小时的命中次数阈值;
步骤S22.3、最近12小时的命中次数高于最近12小时的命中次数阈值;
步骤S22.4、最近6小时的命中次数高于最近6小时的命中次数阈值;
步骤S3、封禁InvalidGroup组的账号,阻止符合InvalidGroup组特征的增量账号完成注册、登陆操作,判定InvalidGroup组的账号成员的账号状态均为非法状态;具体方式如下:通过存储信息交互模块的第四功能接口将InvalidGroup组的所有数据成员的账号状态都修改为非法,同时将InvalidGroup组的组长账号名写入到黑名单存储介质中,作为一个非法账号匹配数据;即以后与非法账号J相似的账号都会被判别为非法账号;进入第四阶段。
进一步的,所述存储信息交互模块提供所述第四功能接口,第四功能是批量修改属于某分组的所有账号的账号状态;使用流程是:调用者调用第四功能接口时传入账号组的序号GroupIndex和需要更新账号状态State作为参数;存储信息交互模块接收到接口调用请求后通过操作接口将存量账号信息存储介质中存储的所有满足账号组的序号等于传入的参数GroupIndex的账号对应的的账号状态修改为State。
进一步的,第四阶段:同组非法账号无法再进行登陆,该第四阶段具体为:外部续注册非法账号X,实时接收数据模块接收到传入的账号名称后将其与黑名单存储介质的数据逐一匹配,发现与非法账号J的相似度高于相似度阈值,判定这是一个非法账号,于是通知***封禁此账号,禁止其进行其他活动;至此,此次注册行为得到终止,另外之前注册的账号也被封禁处于无效状态。
本发明的有益效果在于:1.针对大量存在的恶意账号侵占合法网络服务提供商的现象,本方案提供了一种实现的非法账号组实时监控***,大大增加了非法团队的违法成本,提高了网络安全。
2.经测试和实际应用,网络服务商可以基于此***进行功能拓展,通过调节阈值的方式动态修改对非法账号的监控强度;因此本技术方案可以灵活地适用于多种相关场景。
3.本专利提供的一种实现的非法账号组实时监控***增加了恶意账号检测领域的知识储备。
附图说明
图1是本发明的***工作原理示意图。
图2是本发明的日志存储介质存储的数据的示意图。
图3是本发明的存量账号信息存储介质存储的数据的示意图。
图4是本发明的分组信息存储介质存储的数据的示意图。
图5是本发明的第一功能接口使用的流程示意图。
图6是本发明的某账号进行了一次注册/登陆操作后进行监控的流程示意图。
图7是本发明的日志实时分析模块采用轮询模式的流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种实现非法账号组实时监控的***,所述***包括实时接收数据模块,用于存储账号行为信息和账号的骨架结构信息的日志存储介质,用于存储存量去重账号的账号名、账号状态、骨架结构和所属组序号的存量账号信息存储介质,用于存储分组信息的分组信息存储介质,用于存储白名单匹配方式的白名单存储介质,用于存储黑名单匹配方式的黑名单存储介质,增量账号处理模块,以及存储信息交互模块,
所述存储信息交互模块封装有一操作接口、第一功能接口;
所述实时接收数据模块接收外部传来的账号信息,得到账号名称AccountName和操作时间RecordTime;实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构称为Skeleton,零件数量称为PartNum,零件长度集合称为PartSizeList,并将这些骨架信息写入到日志存储介质中;
所述实时接收数据模块遍历白名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与白名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为白名单,否则,遍历黑名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与黑名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为非法;非法则封禁此账号,禁止其进行活动;
所述实时接收数据模块调用存储信息交互模块的操作接口,查询AccountName是否存在于存量账号信息存储介质中,不存在,则实时接收数据模块将AccountName以及AccountName的账号状态信息传递至增量账号处理模块,增量账号处理模块将信息通过操作接口写入到存量账号信息存储介质中;存在,则更新AccountName的账号状态;即状态更新为白名单或者非法,更新为白名单则退出流程;更新为非法,则实时接收数据模块调用第一功能接口对AccountName分组,即存储到分组信息存储介质中进行分组,并对该AccountName分组的数据进行监控。
其中,所述***还包括日志实时分析模块和分组实时分析模块,所述日志实时分析模块实时统计与监控日志存储介质中的内容,监控是否有某个账号组的账号记录在短期内激增或长期高频,并将数据反馈回分组实时分析模块;所述分组实时分析模块实时统计与监控分组信息存储介质中的内容,实时对分组信息存储介质内存储的数据进行统计与监控,并将数据反馈回存量账号信息存储介质。
所述实时接收数据模块分析AccountName的骨架信息的实现方式包括如下步骤:
步骤21、申请一块连续的内存用于存储AccountName的骨架结构Skeleton;
步骤22、创建一个空的列表,命名为PartSizeList,是一个存储数字格式数据的列表,用于按顺序存储每个零件的长度,即每个零件的字符串长度,ParSizeList***一个大小为0的数字数据成员;
步骤23、新建一个字节tmp用于存储上一次读取的字节内容并将字节tmp初始化为空字符串;
步骤24、从AccountName中读取1字节的数据CharA,如果CharA为字符串的结束符则进入步骤28;否则进入步骤25;
步骤25、如果CharA的ASCII码在0x30-0x39之间则判定为数字类型字符,否则判定为非数字类型字符,进入步骤26;
步骤26、如果此时tmp为“”或tmp与CharA的数据类型相同,则将PartSizeList的最后一个数据成员大小加1,将CharA赋值给tmp,进入步骤24;如果tmp与CharA的数据类型不同,PartSizeList***一个大小为1的新数据成员,将CharA赋值给tmp,进入步骤27;
步骤27、如果CharA为数字类型数据,则通过字符串拼接的方式在Skeleton的尾部拼接字符I,否则在Skeleton的尾部拼接字符S,进入步骤24;
步骤28、获取Skeleton的字符串长度,这个长度即为AccountName的零件数量PartNum;
步骤29、返回AccountName的零件数量PartNum、骨架结构Skeleton、零件长度集合PartSizeList。
如:本方案中将1字节的字符数据分为两类,数字字符和非数字字符;将字符串中的英文字符或连续的英文段定义为S段,将数字字母或连续的数字段称为I段。将S段和I段的组合定义为账号字符串的骨架结构,将每个S段或I段定义为账号字符串的一个零件,将每个零件的账户组合成的集合称为零件长度集合,将零件的数量定义为账号字符串的零件数量。例如账号hei11chan521这个账号,按照本专利的方法和定义规则,将其分为4部分[“hei”,11,”chan”,521],它的骨架结构为SISI,零件长度集合为[3,2,4,3],零件数量为4;另外本方案将骨架结构、零件长度和零件数量合称为骨架特征。
下面结合一具体实施例对本发明作进一步说明:
本发明的一种实现非法账号组实时监控***由以下重要模块组成:
1.一个实时接收数据模块。
2.一个存储账号行为信息(如注册、登陆等)和账号的骨架结构信息的日志存储介质。
3.一个存储存量去重账号的账号名、账号状态、骨架结构和所属组序号的存量账号信息存储介质,以及提供给管理员的用于对数据进行增加、删除、查询、修改的接口。存量账号分为5种状态:白名单、正常、可疑、预警、非法,数学形式的状态码分别为0,1,2,3,4。
4.一个存储分组信息的分组信息存储介质。存储的信息包括每个账号组的分组序号、账号组成员数量、账号组组长的账号名、账号组组长的账号骨架结构信息、组员共有特征(匹配规则)、24小时内的命中次数、12小时内的命中次数、6小时内的命中次数。
5.一个存储白名单匹配规则的存储介质。
6.一个存储黑名单匹配规则的存储介质。
7.一个增量账号处理模块。负责对增量账号进行分组、确认账号状态、存储等操作。
8.一个定期执行或被其他模块唤醒执行某些指定功能的存储信息交互模块。存储信息交互模块负责定期从存量账号信息存储介质中随机抽取一定数量的不属于任何组的账号,并尝试将这些数据归纳到现存组中或组合成新组。存储信息交互模块同时也为其他模块提供读/写存量账号信息存储介质和和分组信息存储介质的指令接口;其他模块可以对存储信息交互模块下发指令,命令其进行如下操作:(包括但不限于)(1)从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并进行分组匹配操作(2)批量修改属于某分组的所有账号的账号状态(3)对存量账号信息存储介质和分组信息存储介质的基础的增加/删除/查询/更新的功能(4)查询某账号是否可以被归入指定的某一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号(5)将账号名称与所有的账号组规则进行匹配,查询某账号是否可以被归入任意一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号。
9.一个实时统计与监控日志存储介质的日志实时分析模块,主要监控是否有某个账号组的账号记录在短期内激增或长期高频,并将数据反馈回分组实时分析模块。
10.一个实时统计与监控分组信息存储介质的分组实时分析模块,实时对分组信息存储介质内存储的数据进行统计与监控,并将数据反馈回存量账号信息存储介质。
本发明中涉及的存储介质需要具备增、删、查、改、检索等基础数据操作功能,包括但不限于mysql/mongodb/redis等数据库;数据的物理存储方式和存储细节并不是本方案的技术重点,因此本方案统一将这类存储数据的工具统称为数据存储介质。
本发明设置有5个阈值,分别为相似度阈值、组员数量阈值、最近24小时的命中次数阈值、最近12小时的命中次数阈值、最近6小时的命中次数阈值。其中相似度阈值用于判别两个账号名称是否高度相似,若两个账号高于相似度阈值则判定两个账号为一组相似账号。组员数量阈值、最近24小时的命中次数阈值、最近12小时的命中次数阈值、最近6小时的命中次数阈值用于判定账号组是否处于非法状态,如果这些阈值对应的任意一项数值超过了阈值,则可以判定这一组账号属于非法账号。
假设存在某非法账号组,则本段下文中非法账号组特指这一组账号,该非法账号组的各个成员根据注册时间依次称为非法账号1、非法账号2、非法账号3…非法账号N;其中第一个注册的非法账号称为非法账号1。
从黑产团队的某一组非法账号第一次注册(或登录行为发生)前,到该组账号的特征被本专利方案自动列入黑名单存储介质中,整个***的分析流程大致可以分为以下四个阶段(本段重点叙述本***中各模块的协同工作流程,各模块的具体实现细节在4.2中有详细介绍因此本段不展开重复介绍):
a)第一阶段——非法账号实时监控***尚未发现这一组账号的存在。
1.黑产团队注册非法账号1时,存量账号信息存储介质中并没有存储过与之相似的账号信息,分组信息存储介质中也没有存储匹配这组账号的匹配规则。
2.当黑产团队注册非法账号1的行为记录由外部***传递至本***时,实时接收数据模块接收到了此信息,得到账号名称AccountName和操作时间RecordTime。实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构成为Skeleton,零件数量称为Part_Amount,零件长度集合称为Part_Size_List。实时接收数据模块将已知信息写入到日志存储介质中。
3.实时接收数据模块通过匹配算法得知非法账号1并不符合白名单规则也不符合黑名单规则。
4.实时接收数据模块通过存储信息交互模块的操作接口【5】查询到非法账号1并没有被存储于存量账号信息存储介质中,即该账号属于增量账号。实时接收数据模块将数据传递至增量账号处理模块。
5.增量账号处理模块通过存储信息交互模块的第二功能接口【8】查询到非法账号1不属于任何组;然后将非法账号1及关于它的所有已知信息写入到存量账号信息存储介质中。
6.黑产团队开始注册后续的同组账号非法账号2、非法账号3…非法账号N等。这些账号都经历了和非法账号1相同的处理流程,因为截至此时分组信息存储介质仍然没有出现它们的分组信息。但是与之前不同的是,此时存量账号存储介质中已经存储了大量相似度极高的账号,被存储信息交互模块随机匹配到的几率逐渐提高(存储信息交互模块定时从存量账号信息存储介质中随机抽取一定数量的不属于任何组的账号并尝试两两组合,随着非法账号组的账号成员存入存储介质的数量的上升,单次随机抽取的大量账号中出现2个或2个以上该组账号的几率也随之上升)。由此进入第二阶段。
b)第二阶段——非法账号实时监控***发现这一组账号的存在并逐步收集该组数据。
7.存储信息交互模块定时随机从存量账号信息存储介质中随机抽取一定数量的不属于任何组的账号(详见【10】),随着非法账号组的账号成员存入存储介质的数量的上升,单次随机抽取的大量账号中出现2个或2个以上该组账号的几率也随之上升。假设这组账号中包含非法账号J和非法账号K。存储信息交互模块对这些账号进行两两配对比较相似度;匹配结果为非法账号J和非法账号K这两个账号之间的相似度高于相似度阈值。存储信息交互模块随机选取非法账号J作为组长,设置当前组员数量为2,通过操作接口【5】写入这个新组的信息。称这个组的序号为InvalidGroupIndex,称该组为InvalidGroup。
8.黑产团队注册的每一个新号都会自动归入到InvalidGroup组中(因为新号与InvalidGroup组的组长非法账号J的相似度高于相似度阈值)。
9.除此之外,由于a)第一阶段发现并创建InvalidGroup组的过程中,仅仅抽取了一部分非法账号,仍存在许多账号在InvalidGroup组成立前被标记为正常状态(这些账号其实属于InvalidGroup组),而它们有没有在a)第一阶段中被随机选中,属于“漏网之鱼”。但是,存储信息交互模块也会定时随机从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并逐一与分组规则存储介质中的所有组进行匹配(详见【10】),所以黑产团队的账号即使一开始没有被归入到InvalidGroup组中,随着存储信息交互模块不停地抽取账号并分组也迟早会被归入到InvalidGroup组中。
c)第三阶段——非法账号实时监控***实时统计非法账号组的账号数量并及时更新该组账号成员的账号状态。
1.日志实时分析模块实时分析日志,统计InvalidGroup组最近24小时的命中次数、最近12小时的命中次数、最近6小时的命中次数,并将这些信息反馈至分组规则存储介质中。
2.分组实时分析模块实时分析分组信息存储介质中存储的信息,通过数学运算的方式将InvalidGroup组的几项数据(下述罗列数据)与设定的阈值进行比较,如果发现InvalidGroup组存在以下任意一条特征,则进入步骤3:
2.1 InvalidGroup组的组员数量高于组员数量阈值。
2.2最近24小时的命中次数高于最近24小时的命中次数阈值。
2.3最近12小时的命中次数高于最近12小时的命中次数阈值。
2.4最近6小时的命中次数高于最近6小时的命中次数阈值。
3.封禁InvalidGroup组的账号,阻止符合InvalidGroup组特征的增量账号完成注册、登陆等操作,判定InvalidGroup组的账号成员的账号状态均为非法状态。具体方式如下:通过存储信息交互模块的第四功能接口【9】将InvalidGroup组的所有数据成员的账号状态都修改为非法,同时将InvalidGroup组的组长账号名(非法账号J)写入到黑名单存储介质中,作为一个非法账号匹配规则;即以后与非法账号J相似的账号都会被判别为非法账号。
d)第四阶段——黑产团队的这一组非法账号无法再进行登陆。
黑产团队继续注册账号非法账号X,实时接收数据模块接收到传入的账号名称后将其与黑名单内的规则逐一匹配,发现与非法账号J的相似度高于相似度阈值,判定这是一个非法账号,于是通知上层***封禁此账号,禁止其进行其他活动。至此,黑产团队的此次注册行为得到终止,另外之前注册的账号也被封禁处于无效状态。
本方案各组件协同工作,其中主要涉及以下场景:
【1】单个账号进行一次登录或注册行为,定义为单次账号操作。日志存储介质存储的数据包括单次账号操作的账号名称、骨架结构、零件数量、零件长度集合、操作时间;参阅图2所示;
【2】黑、白名储存介质中存储的数据成员为匹配规则,包括但不限于正则表达式、脚本语言语句等。
【3】存量账号信息存储介质存储去重的账号名、账号状态、骨架结构、零件数量、零件长度集合和所属组的序号。账号名可能不属于任何组;账号名不能同时属于多个组。因为该存储介质存储的数据均为已接收过或已分组过的,为存量数据,因此命名为存量账号信息存储介质,参阅图3所示;
【4】分组信息存储介质存储每个账号组的分组序号、账号组成员数量、账号组组长的账号名、账号组组长的账号骨架结构信息、组员共有特征(匹配规则)、24小时内的命中次数、12小时内的命中次数、6小时内的命中次数。组员共有特征由管理员定义和编辑。24小时内的命中次数、12小时内的命中次数、6小时内的命中次数用于分析异常数据的变化趋势以及用于给各账号组排序,命中频率高的账号组排序靠前。(日志存储介质存储的日志数据中,每当有一条记录中的账号名称与某账号组的账号规则匹配或与组长账号的相似度高于阈值,则称该账号组被命中一次)。参阅图4所示;
【5】存储信息交互模块将存量账号信息存储介质与分组信息存储介质的增加/删除/查询/更新/排序等操作的接口进行封装形成操作接口,((1)本方案不限定存储介质的形式和种类,但具备增加/删除/查询/更新/排序/索引是合格的应用于大批量数据的存储介质所必需的。(2)封装指隐藏对象的属性和实现细节,仅对外公开接口),其他模块可以通过本接口对存量账号信息存储介质和分组信息存储介质进行数据操作。
【6】基于操作接口【5】提供的数据库操作功能,存储信息交互模块提供一个第四功能接口,第四功能是批量修改属于某分组的所有账号的账号状态。使用流程是:调用者调用本接口时传入账号组的序号GroupIndex和需要更新账号状态State作为参数。存储信息交互模块接收到接口调用请求后通过操作接口【5】将存量账号信息存储介质中存储的所有满足账号组的序号等于传入的参数GroupIndex的账号对应的的账号状态修改为State。
【7】参阅图5所示,基于操作接口【5】提供的数据库操作功能,存储信息交互模块提供一个第一功能接口,第一功能是查询某账号是否可以被归入指定的某一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号。使用流程是:
1.调用者调用本第一功能接口时传入账号名AccountName和账号组的序号GroupIndex作为参数。
2.存储信息交互模块接收到接口调用请求后通过操作接口【5】从分组信息存储介质中查询账号组序号为GroupIndex的账号组的账号组的组长账号LeaderAccountName和匹配规则MatchRule(匹配规则和匹配算法具有发散性,可以采用正则表达式等,本专利不对此作限制)。
3.如果MatchRule为空值,即该账号组没有设置匹配规则,则进入步骤4。否则使用与匹配规则对应的匹配算法计算AccountName是否与MatchRule匹配。如果匹配,则判定AccountName可以被归入这一组,进入步骤5,否则进入步骤4.该匹配算法能采用KMP匹配算法、或者BM匹配算法。
4.使用相似度匹配算法(如现有技术的编辑距离算法、Jaro-Winkler算法或者相似度量化算法)计算AccountName和LeaderAccountName的相似度,如果相似度高于调用者设置的阈值则判定AccountName和这一组的组长名称高度相似,即AccountName可以被归入到这一组,进入步骤5。否则判定AccountName不属于这一组,退出返回否(FALSE)。
5.使用操作接口【5】将存量账号信息存储介质中存储的账号名称为AccountName的账号的账号所属组的序号改为GroupIndex,使用操作接口【5】将分组信息存储介质中组序号为GroupIndex的组的成员数量加1。退出返回是(TRUE)。
【8】基于操作接口【5】提供的数据库操作功能和第一功能接口【7】提供的划分账号组功能,存储信息交互模块提供一个第二功能接口,第二功能是将账号名称与所有的账号组规则进行匹配,查询某账号是否可以被归入任意一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号。使用流程如下:
1.调用者调用本接口时传入账号名AccountName作为参数。
2.存储信息交互模块接收到调用请求以及参数AccountName后通过操作接口【5】查询存量账号信息存储介质中AccountName的账户状态和所属组序列号。
3.如果AccountName的账户状态为白名单或所属组的序列号不为-1,则判定这个AccountName不需要进行分组操作或已经进行过分组,退出流程。
4.通过操作接口【5】查询分组信息存储介质中存储的所有账号组的组序号,这些组序号组成序号组GroupIndexList=[GroupIndex0,GroupIndex1,GroupIndex2…]。假设GroupIndexList包含N个数据成员,则循环遍历N次,每次访问GroupIndexList的第M个数据成员GroupIndexM。将AccountName和GroupIndexM作为参数,调用第一功能接口【7】,查看AccountName是否可以被归入GroupIndexM组。若某一次成功归入,则返回TRUE;如果遍历完成后仍未成功归入则返回FALSE。
【9】基于操作接口【5】提供的数据库操作功能和第一功能接口【7】提供的自动划分账号组功能,存储信息交互模块提供一个第三功能接口,第三功能是从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并进行分组匹配操作。使用流程如下:
1.调用者调用本接口时传入需要抽取账号的最大数量MaxCount作为参数。
2.存储信息交互模块接收到调用请求以及参数MaxCount后通过操作接口【5】查询存量账号信息存储介质中不属于任何组的账号(最多查询读取MaxCount个账号)。
3.假设实际查询读取到Count个账号,这Count个账号组成的集合称为AccountNameList。
4.遍历Count次,每次取出AccountNameList的第N个数据成员AccountNameN作为参数调用第二功能接口【8】。遍历完成后返回。
【10】存储信息交互模块采用计时器机制或采用轮询机制,每隔一段时间自动调用一次第三功能接口【9】,传入的参数MaxCount默认10000(该数值可由使用者根据需求修改)。筛选出这些账号中经历前面步骤仍然不属于任何组的账号,存入到账号名列表AccountNameList中。
1.使用调用者定义的相似度匹配算法,将步骤1获得的AccountNameList中的账号两两比较相似度,若任意两个账号的相似度高于调用者定义的相似度阈值,则判定两个账号为相似账号,进入步骤3。否则进入下一轮两两账号相似度比较。比较完之后结束本流程,进入下一轮轮训。
2.通过操作接口【5】的查询功能查询分组信息存储介质中目前存储的最大数值的账号组序号,成为IndexMax。进入步骤4。
3.将两个账号组成新的账号组;两个账号从两个账号中随机抽出一个账号,选为组长,设置组员数量为2,设置账号组的序号为(IndexMax+1)。通过操作接口【5】将上述数据***到分组规则存储介质中。
【11】参阅图6所示,某账号进行了一次注册/登陆操作。外部***传入此账号的字符串格式的账号名和时间。
1.实时接收数据模块收到外部传入的字符串格式的账号名AccountName和时间T。
2.实时接收数据模块使用4.1.1描述的方法分析AccountName的骨架信息,得到骨架结构Skeleton、零件数量PartNum、零件长度集合PartSizeList。
3.实时接收数据模块将AccountName、T、Skeleton、PartSizeList、PartNum写入到日志存储介质中。
4.实时接收数据模块默认AccountName的账号状态为正常,默认所属的组的序号GroupIndex=-1,代表不属于任何组。
5.实时接收数据模块遍历白名单匹配规则储存介质的每一个数据成员,使用匹配规则对应的匹配算法验证AccountName是否与任一数据匹配,若匹配任一项则判定AccountName的账号状态为白名单,并进入步骤8,否则进入步骤6。
6.实时接收数据模块遍历黑名单匹配规则储存介质的每一个数据成员使用匹配规则对应的匹配算法验证AccountName是否与任一数据匹配,若匹配任一项则判定AccountName的账号状态为非法。进入步骤7,否则进入步骤8。
7.实时接收数据模块通知上层***封禁此账号,禁止其进行其他活动。进入步骤8。
8.实时接收数据模块调用存储信息交互模块的查询操作接口【5】,查询AccountName是否存在于存量账号信息存储介质中,若存在则进入步骤9,否则进入步骤11。
9.实时接收数据模块调用存储信息交互模块的更新操作接口【5】,更新AccountName的账号状态;若在第5步骤中判定AccountName匹配白名单规则,则将状态更新为白名单并退出流程。若在第6步骤中判定AccountName匹配黑名单规则,则将状态更新为非法并进入步骤10。
10.实时接收数据模块调用存储信息交互模块的第一功能接口【7】对AccountName分组。执行完后退出流程。
11.实时接收数据模块将AccountName以及AccountName的账号状态信息(账号状态是否为白名单或非法)传递至增量账号处理模块。退出流程。
【12】增量账号处理模块接收到实时接收数据模块传来的AccountName后将AccountName作为参数,调用存储信息交互模块的第二功能接口【8】。调用完之后将关于AccountName的所有已知信息通过存储信息交互模块的操作接口【5】写入到存量账号信息存储介质中。
【13】参阅图7所示,日志实时分析模块采用轮询模式,循环执行以下操作:
1.日志实时分析模块创建一个新的列表RecordList,用于存储步骤2获得的(账号名称,操作时间)组成的数据对;称第N个操作记录为Record_N。
2.日志实时分析模块通过日志存储介质的查询接口,查询最近24小时内的日志中各项操作的账号名称和操作时间。
3.创建三个新的列表GroupHitCount_List_24H、GroupHitCount_List_12H、GroupHitCount_List_6H,用于记录不同时间范围内的每个账号组的命中次数,存储的内容为(账号组序号,命中次数)组成的数据对。其中GroupHitCount_List_24H记录最近24小时的统计数据,GroupHitCount_List_12H记录最近12小时的统计数据,GroupHitCount_List_6H记录最近6小时的统计数据。
4.创建一个新的列表AccountName-Group_List,用于存储账号名称和账号组序号的映射关系,即存储的数据内容为(账号名称,所属组序号)数据对。
5.初始化列表AccountName-Group_List,然后读取RecordList中的去重账号名,步骤为遍历Recordist,每一轮遍历执行如下操作(假设当前正在进行第N***作):
5.1.从Recordist中取出第N个操作记录Record_N(Record_N为(账号名称,操作时间)组成的数据对),取出Record_N的账号名称字段的数据AccountName_N。
5.2.通过字符串比较的方式判断AccountName_N是否与任意一个AccountName-Group_List的数据成员的账号名称相同,若相同则判定AccountName-Group_List已经包含了AccountName_N的数据,进入下一轮遍历。否则判定AccountName_N是一个新数据,进入步骤5.3。
5.3.使用存储信息交互模块的操作接口【5】查询存量账号信息存储介质中存储的AccountName_N所属的账号组的序号Group_Index。
5.4.将(AccountName_N,Group_Index)这个数据对***到AccountName-Group_List中。完成操作后进入下一轮遍历。
6.基于比较时间大小的方式,以每条数据对中的操作时间为排序元素,由小到大对RecordList进行排序。
7.遍历RecordList的每一个数据成员,每一轮遍历过程中对Record_N进行如下操作:
7.1.从Record_N中取出第N个操作记录Record_N,记Record_N的账号名称字段的数据为AccountName_N,记Record_N的操作时间字段的数据为Time_N。
7.2.查询AccountName-Group_List中存储的AccountName_N对应的账号组的序号,记为Index_N。如果Index_N的值为-1,即AccountName_N不属于任何组,则结束本***作,进入下一轮遍历。
7.3.查询GroupHitCount_List_24H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)
这一数据对***到GroupHitCount_List_24H中。
7.4.判断Time_N和现在的时间差是否大于12小时,若大于则结束本***作,进入下一轮遍历;否则进入步骤7.5。
7.5.查询GroupHitCount_List_12H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)这一数据对***到GroupHitCount_List_12H中。
7.6.判断Time_N和现在的时间差是否大于6小时,若大于则结束本***作,进入下一轮遍历;否则进入步骤7.7。
7.7.查询GroupHitCount_List_6H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)这一数据对***到GroupHitCount_List_6H中。结束本***作,进入下一轮遍历;
8.使用存储信息交互模块的操作接口【5】同步分组信息存储介质中的信息,具体步骤如下:
8.1.取出GroupHitCount_List_24H中的每一组数据(Index_N,Count24_N),逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count24_N。
8.2.取出GroupHitCount_List_12H中的每一组数据(Index_N,Count12_N),逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count12_N。
8.3.取出GroupHitCount_List_6H中的每一组数据(Index_N,Count6_N),逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count6_N。
【14】分组实时分析模块采用轮询模式,循环执行(或定时执行)以下操作(涉及的命中频率阈值Threshold_Hit和组员数量的阈值Threshold_Menber由使用者根据业务需求自行定制,另外白名单、正常、可疑、预警、非法对应的数学形式的状态码分别为0,1,2,3,4):
1.遍历分组信息存储介质中存储的所有组的信息,每一轮遍历中执行如下操作:
1.1.记该组的组序号为Index,组长的账号名为Group_Leader,组员数量为Count_Member,24小时内的命中次数为Hit24,12小时内的命中次数为Hit12,6小时内的命中次数为Hit6。
1.2.默认该组的组状态State为正常,即等于1。组状态在后面的步骤中会同步至组员的组状态。
1.3.如果Count_Member>Threshold_Menber或Hit24>Threshold_Hit或或则该组的组状态State为非法。将组长的账号名写入到黑名单存储介质中,以后次操作请求(登陆、注册等)都会被禁止。进入步骤1.6。否则进入步骤1.4。
1.6.分组实时分析模块调用存储信息交互模块的第四功能接口【9】,批量修改属于Index号分组的所有账号的账号状态为State。
本发明的具体应用场景:
假设某黑产团队注册并登录了大量格式为“heixxxchanxxx”(x指的是任意数字)的账号,并计划注册并登陆20万个相似账号,如hei111chan222、hei111chan333等。则从黑产团队开始进行这一组号的第一次注册操作到被服务器管理员发现并处理之间主要发生了以下场景:
(一)黑产团队注册第一个按照上述格式命名的账号hei111chan111时,存量账号信息存储介质中并没有存储过与之相似的账号信息,分组信息存储介质中也没有存储匹配这组账号的匹配规则。
(二)当注册行为记录由外部***传递至本***时,实时接收数据模块接收到了此信息,得到账号名称hei111chan111和时间20200908-22:46。
(三)实时接收数据模块分析其骨架信息,分析结果为骨架结构是SISI,零件数量是4,零件长度集合是[3,3,3,3]。实时接收数据模块将已知信息写入到日志存储介质中。
(四)实时接收数据模块通过匹配算法得知账号hei111chan111并不符合白名单规则也不符合黑名单规则。
(五)实时接收数据模块通过存储信息交互模块的操作接口【5】查询到该账号并没有被存储于存量账号信息存储介质中,即该账号属于增量账号。实时接收数据模块将数据传递至增量账号处理模块。
(六)增量账号处理模块通过存储信息交互模块的第二功能接口【8】查询到hei111chan111不属于任何组;然后将hei111chan111及关于它的所有已知信息写入到存量账号信息存储介质中。
(七)黑产团队开始注册后续的同组账号hei111chan112、hei111chan113…hei234chan567等。这些账号都经历了和hei111chan111相同的处理流程,因为截至此时分组信息存储介质仍然没有出现它们的分组信息。但是与之前不同的是,此时存量账号存储介质中已经存储了大量相似度极高的账号,被存储信息交互模块随机匹配到的几率逐渐提高(存储信息交互模块定时从存量账号信息存储介质中随机抽取一定数量的不属于任何组的账号并尝试两两组合,随着这组账号存入存储介质的数量的上升,单次随机抽取的大量账号中出现2个或2个以上该组账号的几率也随之上升)。
(八)存储信息交互模块定时随机从存量账号信息存储介质中随机抽取一定数量的不属于任何组的账号(详见【10】),这组账号中包括hei111chan111、hei111chan112、hei111chan113。存储信息交互模块对这些账号进行两两配对比较相似度;匹配结果为hei111chan111、hei111chan112、hei111chan113这三个账号两两之间的相似度高于阈值。存储信息交互模块随机选取hei111chan111作为组长,设置当前组员数量为3,通过操作接口【5】写入这个新组的信息。假设这个组的序号为100,简称100号组。
(九)从(八)发生以后,该黑产团队注册的每一个新号都会自动归入到100号组中(因为新号与100号组的组长hei111chan111的相似度也极高)。
(十)由于第(八)步骤仅抽取了hei111chan111、hei111chan112、hei111chan113个账号组成新组,仍存在许多账号(如hei111chan114等)在新组成立前被标记为正常状态账号,而它们有没有在第(八)步骤被随机选中,属于“漏网之鱼”。但是,存储信息交互模块也会定时随机从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并逐一与分组规则存储介质中的所有组进行匹配(详见【10】),所以这个黑产团队的账号即使一开始没有被归入到100号组中,随着存储信息交互模块不停地抽取账号并分组也迟早会被归入到100号组中。
(十一)日志实时分析模块实时分析日志,将100号组最近24小时内有10000次命中,12小时内有7000次命中,6小时内有5000次命中的信息反馈至分组规则存储介质中。
(十二)(假设管理员设定的组员阈值为20000,命中阈值为9000,假设到这一步骤时100号组已经包含30000个账号成员)分组实时分析模块实时分析分组信息存储介质中存储的信息,通过数学运算发现100号组的组员高于阈值,各项命中频率也均高于阈值,由此判定该组的账号成员的账号状态均为非法状态,于是通过存储信息交互模块的第四功能接口【9】将100号组的所有数据成员的账号状态都修改为非法,同时将100号组的组长账号名hei111chan111写入到黑名单存储介质中,作为一个非法账号匹配规则;即以后与hei111chan111相似的账号都会被判别为非法账号。
(十三)黑产团队继续注册账号hei666chan666,实时接收数据模块接收到传入的账号名称hei666chan666后将其与黑名单内的规则逐一匹配,发现与hei111chan111的相似度极高,判断这是一个非法账号,于是通知上层***封禁此账号,禁止其进行其他活动。至此,黑产团队的此次注册行为得到终止,另外之前注册的账号也被封禁处于无效状态。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (14)
1.一种实现非法账号组实时监控的***,其特征在于:所述***包括实时接收数据模块,用于存储账号行为信息和账号的骨架结构信息的日志存储介质,用于存储存量去重账号的账号名、账号状态、骨架结构和所属组序号的存量账号信息存储介质,用于存储分组信息的分组信息存储介质,用于存储白名单匹配方式的白名单存储介质,用于存储黑名单匹配方式的黑名单存储介质,增量账号处理模块,以及存储信息交互模块,
所述存储信息交互模块封装有一操作接口、第一功能接口;
所述实时接收数据模块接收外部传来的账号信息,得到账号名称AccountName和操作时间RecordTime;实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构称为Skeleton,零件数量称为PartNum,零件长度集合称为PartSizeList,并将这些骨架信息写入到日志存储介质中;
所述实时接收数据模块遍历白名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与白名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为白名单,否则,遍历黑名单存储介质的每一个数据成员,使用匹配方式验证账号名称AccountName是否与黑名单存储介质任一数据匹配,若匹配任一项则判定AccountName的账号状态为非法;非法则封禁此账号,禁止其进行活动;
所述实时接收数据模块调用存储信息交互模块的操作接口,查询AccountName是否存在于存量账号信息存储介质中,不存在,则实时接收数据模块将AccountName以及AccountName的账号状态信息传递至增量账号处理模块,增量账号处理模块将信息通过操作接口写入到存量账号信息存储介质中;存在,则更新AccountName的账号状态;即状态更新为白名单或者非法,更新为白名单则退出流程;更新为非法,则实时接收数据模块调用第一功能接口对AccountName分组,即存储到分组信息存储介质中进行分组,并对该AccountName分组的数据进行监控;
所述存储信息交互模块提供所述第一功能接口,第一功能是查询某账号是否能被归入指定的某一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号;使用流程是:
步骤11、调用者调用本第一功能接口时传入账号名AccountName和账号组的序号GroupIndex作为参数,
步骤12、存储信息交互模块接收到接口调用请求后通过操作接口从分组信息存储介质中查询账号组序号为GroupIndex的账号组的账号组的组长账号LeaderAccountName和匹配规则MatchRule;
步骤13、如果MatchRule为空值,即该账号组没有设置匹配规则,则进入步骤14;否则使用与匹配规则对应的匹配算法计算AccountName是否与MatchRule匹配;如果匹配,则判定AccountName可以被归入这一组,进入步骤15;否则进入步骤14;
步骤14、使用相似度匹配算法计算AccountName和LeaderAccountName的相似度,如果相似度高于调用者设置的阈值则判定AccountName和这一组的组长名称高度相似,即AccountName被归入到这一组,进入步骤15;否则判定AccountName不属于这一组,退出返回否;
步骤15、使用操作接口将存量账号信息存储介质中存储的账号名称为AccountName的账号的账号所属组的序号改为GroupIndex,使用操作接口将分组信息存储介质中组序号为GroupIndex的组的成员数量加1,退出返回是。
2.根据权利要求1所述的一种实现非法账号组实时监控的***,其特征在于:所述***还包括日志实时分析模块和分组实时分析模块,所述日志实时分析模块实时统计与监控日志存储介质中的内容,监控是否有某个账号组的账号记录在短期内激增或长期高频,并将数据反馈回分组实时分析模块;所述分组实时分析模块实时统计与监控分组信息存储介质中的内容,实时对分组信息存储介质内存储的数据进行统计与监控,并将数据反馈回存量账号信息存储介质。
3.根据权利要求1所述的一种实现非法账号组实时监控的***,其特征在于:所述实时接收数据模块分析AccountName的骨架信息的实现方式包括如下步骤:
步骤21、申请一块连续的内存用于存储AccountName的骨架结构Skeleton;
步骤22、创建一个空的列表,命名为PartSizeList,是一个存储数字格式数据的列表,用于按顺序存储每个零件的长度,即每个零件的字符串长度,ParSizeList***一个大小为0的数字数据成员;
步骤23、新建一个字节tmp用于存储上一次读取的字节内容并将字节tmp初始化为空字符串;
步骤24、从AccountName中读取1字节的数据CharA,如果CharA为字符串的结束符则进入步骤28;否则进入步骤25;
步骤25、如果CharA的ASCII码在0x30-0x39之间则判定为数字类型字符,否则判定为非数字类型字符,进入步骤26;
步骤26、如果此时tmp为“”或tmp与CharA的数据类型相同,则将PartSizeList的最后一个数据成员大小加1,将CharA赋值给tmp,进入步骤24;如果tmp与CharA的数据类型不同,PartSizeList***一个大小为1的新数据成员,将CharA赋值给tmp,进入步骤27;
步骤27、如果CharA为数字类型数据,则通过字符串拼接的方式在Skeleton的尾部拼接字符I,否则在Skeleton的尾部拼接字符S,进入步骤24;
步骤28、获取Skeleton的字符串长度,这个长度即为AccountName的零件数量PartNum;
步骤29、返回AccountName的零件数量PartNum、骨架结构Skeleton、零件长度集合PartSizeList。
4.根据权利要求1所述的一种实现非法账号组实时监控的***,其特征在于:所述存储信息交互模块将存量账号信息存储介质与分组信息存储介质的增加、删除、查询、更新、排序操作的接口进行封装为一操作接口,***的其他模块能通过操作接口对存量账号信息存储介质和分组信息存储介质进行数据操作。
5.根据权利要求2所述的一种实现非法账号组实时监控的***,其特征在于:所述存储信息交互模块提供第二功能接口,第二功能是能将账号名称与所有的账号组规则进行匹配,查询某账号是否能被归入任意一组,若划归成功则同步存量账号信息存储介质存储的该账号的所属组序号;使用流程如下:
调用者调用第二功能接口时传入账号名AccountName作为参数;
存储信息交互模块接收到调用请求以及参数AccountName后通过操作接口查询存量账号信息存储介质中AccountName的账户状态和所属组序列号;
如果AccountName的账户状态为白名单或所属组的序列号不为-1,则判定这个AccountName不需要进行分组操作或已经进行过分组,退出流程;
通过操作接口查询分组信息存储介质中存储的所有账号组的组序号,这些组序号组成序号组GroupIndexList=[GroupIndex0,GroupIndex1,GroupIndex2…];假设GroupIndexList包含N个数据成员,则循环遍历N次,每次访问GroupIndexList的第M个数据成员GroupIndexM;将AccountName和GroupIndexM作为参数,调用第一功能接口看AccountName是否能被归入GroupIndexM组;若某一次成功归入,则返回TRUE;如果遍历完成后仍未成功归入则返回FALSE。
6.根据权利要求5所述的一种实现非法账号组实时监控的***,其特征在于:所述存储信息交互模块提供一第三功能接口,第三功能是从存量账号信息存储介质中抽取一定数量的不属于任何组的账号并进行分组匹配操作;使用流程如下:
调用者调用第三功能接口时传入需要抽取账号的最大数量MaxCount作为参数;
存储信息交互模块接收到调用请求以及参数MaxCount后通过操作接口查询存量账号信息存储介质中不属于任何组的账号;
假设实际查询读取到Count个账号,这Count个账号组成的集合称为AccountNameList;遍历Count次,每次取出AccountNameList的第N个数据成员AccountNameN作为参数调用第二功能接口遍历完成后返回。
7.根据权利要求6所述的一种实现非法账号组实时监控的***,其特征在于:所述***对非法账号组进行实时监控的具体流程还包括:第一阶段:***尚未发现一组非法账号的存在,该第一阶段具体为:
注册非法账号1时,存量账号信息存储介质中并没有存储过与非法账号1相似的账号信息,分组信息存储介质中也没有存储匹配这组账号的匹配方式;
注册非法账号1的行为记录传递至本***时,实时接收数据模块接收到了此信息,得到账号名称AccountName和操作时间RecordTime;实时接收数据模块分析AccountName的骨架信息,将分析结果中的骨架结构成为Skeleton,零件数量称为Part_Amount,零件长度集合称为Part_Size_List;实时接收数据模块将骨架信息写入到日志存储介质中;
实时接收数据模块通过匹配算法得知非法账号1并不存在于白名单存储介质和黑名单存储介质;
实时接收数据模块通过存储信息交互模块的操作接口查询到非法账号1并没有被存储于存量账号信息存储介质中,即该账号属于增量账号,实时接收数据模块将数据传递至增量账号处理模块;
增量账号处理模块通过存储信息交互模块的第二功能接口查询到非法账号1不属于任何组;然后将非法账号1及它的所有信息写入到存量账号信息存储介质中;
外部开始注册后续的同组账号非法账号2、非法账号3…非法账号N后,这些账号都经历了和非法账号1相同的处理流程,因为截至此时分组信息存储介质仍然没有出现该些账号的分组信息;但是此时存量账号存储介质中已经存储了大量相似度的账号;由此进入第二阶段。
8.根据权利要求7所述的一种实现非法账号组实时监控的***,其特征在于:所述第二阶段:***发现非法账号1该组账号的存在并逐步收集该组数据:该第二阶段具体为:
设置一相似度阈值,存储信息交互模块定时随机从存量账号信息存储介质中随机抽取设定数量的不属于任何组的账号,随着非法账号组的账号成员存入存储介质的数量的上升,单次随机抽取的大量账号中出现2个或2个以上该组账号的几率也随之上升;假设这组账号中包含非法账号J和非法账号K,存储信息交互模块对这些账号进行两两配对比较相似度;匹配结果为非法账号J和非法账号K这两个账号之间的相似度高于所述相似度阈值;存储信息交互模块随机选取非法账号J作为组长,设置当前组员数量为2,通过操作接口写入这个新组的信息;称这个组的序号为InvalidGroupIndex,称该组为InvalidGroup;外部注册的类似的每一个新非法账号都会自动归入到InvalidGroup组中,进入第三阶段。
9.根据权利要求8所述的一种实现非法账号组实时监控的***,其特征在于:第三阶段:***实时统计非法账号组的账号数量并及时更新该组账号成员的账号状态:该第三阶段具体为:
步骤S1、设置组员数量阈值,命中次数阈值、最近24小时的命中次数阈值、最近12小时的命中次数阈值、最近6小时的命中次数阈值;日志实时分析模块实时分析日志,统计InvalidGroup组最近24小时的命中次数、最近12小时的命中次数、最近6小时的命中次数,并将这些信息反馈至分组规则存储介质中;
步骤S2、分组实时分析模块实时分析分组信息存储介质中存储的信息,通过数学运算的方式将InvalidGroup组的几项数据与设定的阈值进行比较,如果发现InvalidGroup组存在以下任意一条特征,则进入步骤S3:
步骤S22.1、InvalidGroup组的组员数量高于组员数量阈值;
步骤S22.2、最近24小时的命中次数高于最近24小时的命中次数阈值;
步骤S22.3、最近12小时的命中次数高于最近12小时的命中次数阈值;
步骤S22.4、最近6小时的命中次数高于最近6小时的命中次数阈值;
步骤S3、封禁InvalidGroup组的账号,阻止符合InvalidGroup组特征的增量账号完成注册、登陆操作,判定InvalidGroup组的账号成员的账号状态均为非法状态;具体方式如下:通过存储信息交互模块的第四功能接口将InvalidGroup组的所有数据成员的账号状态都修改为非法,同时将InvalidGroup组的组长账号名写入到黑名单存储介质中,作为一个非法账号匹配数据;即以后与非法账号J相似的账号都会被判别为非法账号;进入第四阶段。
10.根据权利要求9所述的一种实现非法账号组实时监控的***,其特征在于:所述存储信息交互模块提供所述第四功能接口,第四功能是批量修改属于某分组的所有账号的账号状态;使用流程是:调用者调用第四功能接口时传入账号组的序号GroupIndex和需要更新账号状态State作为参数;存储信息交互模块接收到接口调用请求后通过操作接口将存量账号信息存储介质中存储的所有满足账号组的序号等于传入的参数GroupIndex的账号对应的账号状态修改为State。
11.根据权利要求9所述的一种实现非法账号组实时监控的***,其特征在于:第四阶段:同组非法账号无法再进行登陆,该第四阶段具体为:外部续注册非法账号X,实时接收数据模块接收到传入的账号名称后将其与黑名单存储介质的数据逐一匹配,发现与非法账号J的相似度高于相似度阈值,判定这是一个非法账号,于是通知***封禁此账号,禁止其进行其他活动;至此,此次注册行为得到终止,另外之前注册的账号也被封禁处于无效状态。
12.根据权利要求6所述的一种实现非法账号组实时监控的***,其特征在于:所述存储信息交互模块采用计时器机制或采用轮询机制,每隔一段时间自动调用一次第三功能接口,传入的参数MaxCount默认;筛选出这些账号中经历前面步骤仍然不属于任何组的账号,存入到账号名列表AccountNameList中;
使用调用者定义的相似度匹配算法,将获得的AccountNameList中的账号两两比较相似度,判断任意两个账号的相似度是否高于调用者定义的相似度阈值,否,则进入下一轮两两账号相似度比较,比较完之后结束本流程,进入下一轮轮训;是,则判定两个账号为相似账号,通过操作接口的查询功能查询分组信息存储介质中目前存储的最大数值的账号组序号,成为IndexMax;
将两个账号组成新的账号组;两个账号从两个账号中随机抽出一个账号,选为组长,设置组员数量为2,设置账号组的序号为(IndexMax+1),通过操作接口将上述数据***到分组规则存储介质中。
13.根据权利要求12所述的一种实现非法账号组实时监控的***,其特征在于:所述日志实时分析模块采用轮询模式,循环执行以下操作:
步骤1.日志实时分析模块创建一个新的列表RecordList,用于存储步骤2获得的账号名称、操作时间组成的数据对;称第N个操作记录为Record_N;
步骤2.日志实时分析模块通过日志存储介质的操作接口,查询最近24小时内的日志中各项操作的账号名称和操作时间;
步骤3.创建三个新的列表GroupHitCount_List_24H、GroupHitCount_List_12H、GroupHitCount_List_6H,用于记录不同时间范围内的每个账号组的命中次数,存储的内容为账号组序号、命中次数组成的数据对;其中GroupHitCount_List_24H记录最近24小时的统计数据,GroupHitCount_List_12H记录最近12小时的统计数据,GroupHitCount_List_6H记录最近6小时的统计数据;
步骤4.创建一个新的列表AccountName-Group_List,用于存储账号名称和账号组序号的映射关系,即存储的数据内容为账号名称、所属组序号数据对;
步骤5.初始化列表AccountName-Group_List,然后读取RecordList中的去重账号名,步骤为遍历Recordist,每一轮遍历执行如下操作:
步骤5.1、从Recordist中取出第N个操作记录Record_N,其中Record_N为账号名称、操作时间组成的数据对,取出Record_N的账号名称字段的数据AccountName_N;
步骤5.2、通过字符串比较的方式判断AccountName_N是否与任意一个AccountName-Group_List的数据成员的账号名称相同,若相同则判定AccountName-Group_List已经包含了AccountName_N的数据,进入下一轮遍历;否则判定AccountName_N是一个新数据,进入步骤5.3;
步骤5.3、使用存储信息交互模块的操作接口查询存量账号信息存储介质中存储的AccountName_N所属的账号组的序号Group_Index;
步骤5.4、将(AccountName_N,Group_Index)这个数据对***到AccountName-Group_List中;完成操作后进入下一轮遍历;
步骤6.基于比较时间大小的方式,以每条数据对中的操作时间为排序元素,由小到大对RecordList进行排序;
步骤7.遍历RecordList的每一个数据成员,每一轮遍历过程中对Record_N进行如下操作:
步骤7.1、从Record_N中取出第N个操作记录Record_N,记Record_N的账号名称字段的数据为AccountName_N,记Record_N的操作时间字段的数据为Time_N;
步骤7.2、查询AccountName-Group_List中存储的AccountName_N对应的账号组的序号,记为Index_N;如果Index_N的值为-1,即AccountName_N不属于任何组,则结束本***作,进入下一轮遍历;
步骤7.3、查询GroupHitCount_List_24H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)这一数据对***到GroupHitCount_List_24H中;
步骤7.4、判断Time_N和现在的时间差是否大于12小时,若大于则结束本***作,进入下一轮遍历;否则进入步骤7.5;
步骤7.5、查询GroupHitCount_List_12H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)这一数据对***到GroupHitCount_List_12H中;
步骤7.6、判断Time_N和现在的时间差是否大于6小时,若大于则结束本***作,进入下一轮遍历;否则进入步骤7.7;
步骤7.7、查询GroupHitCount_List_6H中是否存在账号组序号为Index_N的数据,若存在则将这个数据的命中次数字段的数据加1;否则将(Index_N,1)这一数据对***到GroupHitCount_List_6H中;结束本***作,进入下一轮遍历;
步骤8、使用存储信息交互模块的操作接口同步分组信息存储介质中的信息。
14.根据权利要求13所述的一种实现非法账号组实时监控的***,其特征在于:所述使用存储信息交互模块的操作接口同步分组信息存储介质中的信息具体步骤如下:
步骤8.1、取出GroupHitCount_List_24H中的每一组数据(Index_N,Count24_N), 逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count24_N;
步骤8.2、取出GroupHitCount_List_12H中的每一组数据(Index_N,Count12_N),逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count12_N;
步骤8.3、取出GroupHitCount_List_6H中的每一组数据(Index_N,Count6_N),逐一同步到分组信息存储介质中账号组序号为Index_N的账号组信息中,将这一组的24小时内的命中次数修改为Count6_N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011002823.XA CN112100220B (zh) | 2020-09-22 | 2020-09-22 | 一种实现非法账号组实时监控的*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011002823.XA CN112100220B (zh) | 2020-09-22 | 2020-09-22 | 一种实现非法账号组实时监控的*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100220A CN112100220A (zh) | 2020-12-18 |
CN112100220B true CN112100220B (zh) | 2022-06-21 |
Family
ID=73755842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011002823.XA Active CN112100220B (zh) | 2020-09-22 | 2020-09-22 | 一种实现非法账号组实时监控的*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100220B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262717A (zh) * | 2015-08-31 | 2016-01-20 | 福建天晴数码有限公司 | 一种网络服务安全管理方法及装置 |
CN108052543A (zh) * | 2017-11-23 | 2018-05-18 | 北京工业大学 | 一种基于图分析聚类的微博相似账号检测方法 |
CN111159690A (zh) * | 2019-12-13 | 2020-05-15 | 深圳市科陆电子科技股份有限公司 | 基于嵌入式Linux***的远程监控方法、***及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446577C (zh) * | 2003-06-08 | 2008-12-24 | 华为技术有限公司 | 一种管理黑名单用户的方法 |
US9953160B2 (en) * | 2015-10-13 | 2018-04-24 | Paypal, Inc. | Applying multi-level clustering at scale to unlabeled data for anomaly detection and security |
CN110908883B (zh) * | 2019-11-15 | 2022-08-30 | 江苏满运软件科技有限公司 | 用户画像数据监控方法、***、设备及存储介质 |
-
2020
- 2020-09-22 CN CN202011002823.XA patent/CN112100220B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262717A (zh) * | 2015-08-31 | 2016-01-20 | 福建天晴数码有限公司 | 一种网络服务安全管理方法及装置 |
CN108052543A (zh) * | 2017-11-23 | 2018-05-18 | 北京工业大学 | 一种基于图分析聚类的微博相似账号检测方法 |
CN111159690A (zh) * | 2019-12-13 | 2020-05-15 | 深圳市科陆电子科技股份有限公司 | 基于嵌入式Linux***的远程监控方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112100220A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111565205B (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
CN103297435B (zh) | 一种基于web日志的异常访问行为检测方法与*** | |
Lian et al. | An Intrusion Detection Method Based on Decision Tree‐Recursive Feature Elimination in Ensemble Learning | |
US7472167B2 (en) | System and method for uniform resource locator filtering | |
CN106209488B (zh) | 用于检测网站攻击的方法和设备 | |
CN111740946B (zh) | Webshell报文的检测方法及装置 | |
US11184368B2 (en) | Systems and methods for reporting computer security incidents | |
CN114915479B (zh) | 一种基于Web日志的Web攻击阶段分析方法及*** | |
CN114338064B (zh) | 识别网络流量类型的方法、装置、***、设备和存储介质 | |
KR20210083936A (ko) | 사이버 위협정보 수집 시스템 | |
CN112507336A (zh) | 基于代码特征和流量行为的服务端恶意程序检测方法 | |
CN116915450A (zh) | 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法 | |
CN116980162A (zh) | 云审计的数据检测方法、装置、设备、介质及程序产品 | |
CN115242434A (zh) | 应用程序接口api的识别方法及装置 | |
Tao et al. | A hybrid alarm association method based on AP clustering and causality | |
CN111107101A (zh) | 一种用于nginx的多维过滤请求的防火墙***及方法 | |
CN103093147B (zh) | 一种识别信息的方法和电子装置 | |
CN106528805A (zh) | 基于用户的移动互联网恶意程序url智能分析挖掘方法 | |
CN112100220B (zh) | 一种实现非法账号组实时监控的*** | |
Alosefer et al. | Predicting client-side attacks via behaviour analysis using honeypot data | |
CN116668157A (zh) | 基于零信任网关日志的api接口识别处理方法、装置及介质 | |
CN109918077A (zh) | 代码管理方法、装置、计算机设备和存储介质 | |
CN111898121B (zh) | 基于邮箱的频率限制方法、装置、计算机设备及存储介质 | |
CN107463845A (zh) | 一种sql注入攻击的检测方法、***和计算机处理设备 | |
CN113783920A (zh) | 用于识别web访问入口的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |