CN117651277B - 一种基于安全组件的短信炸弹防护方法和装置 - Google Patents

一种基于安全组件的短信炸弹防护方法和装置 Download PDF

Info

Publication number
CN117651277B
CN117651277B CN202410126339.XA CN202410126339A CN117651277B CN 117651277 B CN117651277 B CN 117651277B CN 202410126339 A CN202410126339 A CN 202410126339A CN 117651277 B CN117651277 B CN 117651277B
Authority
CN
China
Prior art keywords
short message
time
request
unit time
safety
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
Application number
CN202410126339.XA
Other languages
English (en)
Other versions
CN117651277A (zh
Inventor
王志伟
孟庆飞
李晨曦
顿壮壮
徐铭阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Guoshun Technology Co ltd
Original Assignee
Beijing Guoshun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Guoshun Technology Co ltd filed Critical Beijing Guoshun Technology Co ltd
Priority to CN202410126339.XA priority Critical patent/CN117651277B/zh
Publication of CN117651277A publication Critical patent/CN117651277A/zh
Application granted granted Critical
Publication of CN117651277B publication Critical patent/CN117651277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种基于安全组件的短信炸弹防护方法和装置,涉及应用安全防护技术领域,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中;所述方法包括:接收客户端发送的短信请求;通过应用系统调用所述防短信炸弹安全组件的安全方法;基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。通过本发明提供的方法,实现短信炸弹安全防护的通用化。

Description

一种基于安全组件的短信炸弹防护方法和装置
技术领域
本发明涉及应用安全防护技术领域,尤其涉及一种基于安全组件的短信炸弹防护方法和装置。
背景技术
在应用系统的登录、注册、密码找回等业务场景中会涉及短信验证码,通过向用户手机发送短信验证码以辅助进行身份验证。然而在发送手机短信验证码时如果系统没有进行短信验证码发送限制的安全防护,会存在短信炸弹的安全问题,即在短时间内发送大量的短信验证码给某一系统用户,影响用户正常使用手机、影响企业声誉、并造成了短信资源的浪费。
现有技术中,针对短信炸弹安全问题的解决方案为:在前端页面通过javascript代码,设置一定时间(如60s)来限制用户点击发送短信验证码的按钮;在后端服务器通过对短信验证码发送频率和发送次数的设定,限制向用户发送短信验证码,达到短信炸弹防护的目的。这种方式直接将安全防护与涉及短信功能的业务代码耦合在一起,随着安全要求的提高,若仅依赖开发人员实现安全防护,成本投入会越来越大,并且安全防护代码很少复用或共用,会造成开发资源浪费。
如何实现短信炸弹安全防护的通用化,是目前需要解决的技术问题。
发明内容
本发明提供一种基于安全组件的短信炸弹防护方法和装置,用以解决现有技术中存在的缺陷。
本发明提供一种基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
接收客户端发送的短信请求;
通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
根据本发明提供的一种基于安全组件的短信炸弹防护方法,所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,所述方法还包括:
通过所述安全方法向所述计数器类提供的count字段中请求获取字段值;
若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段;
若获取到值,将获取到的值作为所述客户端在单位时间的请求次数。
根据本发明提供的一种基于安全组件的短信炸弹防护方法,基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔,包括:
通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较;
若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率;
若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔。
根据本发明提供的一种基于安全组件的短信炸弹防护方法,通过所述安全组件防护代码类中提供的安全方法判断所述客户端在单位时间的请求次数是否符合预设请求次数,包括:
在确定所述请求时间间隔符合预设请求时间间隔之后,将单位时间的请求次数加1,继续将单位时间的请求次数与单位时间内允许最大请求次数进行比较;
若单位时间的请求次数大于单位时间内允许最大请求次数,则校验单位时间的请求次数失败,返回超过单位时间的最大请求次数的异常信息;
若单位时间的请求次数小于单位时间内允许最大请求次数,校验成功,将当前时间赋值给time字段,用于下一次校验。
根据本发明提供的一种基于安全组件的短信炸弹防护方法,在确认存在短信炸弹,执行拒绝所述客户端的短信请求之后,所述方法还包括:
根据所述客户端的短信请求、客户端的参数、单位时间的请求次数、所述时间间隔、所述单位时间以及所述单位时间内允许最大请求次数生成短信炸弹告警日志,以基于所述短信炸弹告警日志展示短信炸弹攻击告警行为。
本发明还提供一种基于安全组件的短信炸弹防护装置,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述装置包括:
接收模块,用于接收客户端发送的短信请求;
调用模块,用于通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
判断模块,用于基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
防护模块,用于在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
根据本发明提供的一种基于安全组件的短信炸弹防护装置,所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
所述装置还包括确定模块,具体用于:
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,通过所述安全方法向所述计数器类提供的count字段中请求获取字段值;
若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段;
若获取到值,将获取到的值作为所述客户端在单位时间的请求次数。
根据本发明提供的一种基于安全组件的短信炸弹防护装置,所述判断模块,具体用于:
通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较;
若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率;
若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于安全组件的短信炸弹防护方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于安全组件的短信炸弹防护方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于安全组件的短信炸弹防护方法。
本发明提供的一种基于安全组件的短信炸弹防护方法和装置,应用于防短信炸弹安全组件,防短信炸弹安全组件集成在服务端应用系统中,应用系统通过调用防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;接收客户端发送的短信请求,通过应用系统调用防短信炸弹安全组件的安全方法,其中,调用过程进行参数值的传递,参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;基于调用安全方法所传递的参数值,通过安全组件防护代码类中提供的安全方法判断客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;在客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝客户端的短信请求,以实现短信炸弹防护。由此可知,本发明通过安全组件防护代码类中提供的安全方法实现短信炸弹防护,由于安全组件的通用性,可以实现短信炸弹安全防护的通用化。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于安全组件的短信炸弹防护方法的流程示意图之一;
图2是本发明提供的基于安全组件的短信炸弹防护方法的流程示意图之二;
图3是本发明提供的基于安全组件的短信炸弹防护方法的流程示意图之三;
图4是本发明提供的基于安全组件的短信炸弹防护方法的流程示意图之四;
图5是本发明提供的基于安全组件的短信炸弹防护装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,短信炸弹,即在短时间内发送大量的短信验证码给某一系统用户,影响用户正常使用手机并造成了短信资源的浪费。
现有技术中,针对短信炸弹安全问题的解决方案为:在前端页面通过javascript代码,设置一定时间(如60s)来限制用户点击发送短信验证码的按钮;在后端服务器通过对短信验证码发送频率和发送次数的设定,限制向用户发送短信验证码,达到短信炸弹防护的目的。
现有技术的各应用系统在实现对短信功能涉及的短信炸弹漏洞的安全防护时,未采用安全组件的方式设计、开发短信炸弹安全防护功能,而是直接将安全防护与涉及短信功能的业务代码耦合在一起。1)由于开发人员安全水平不一,实现安全防护时仍然存在短信炸弹漏洞反复出现的情况;2)各应用系统的短信炸弹的安全防护代码实现不一致,导致通过源代码安全检测工具检测短信炸弹安全问题的工作较难开展,无法全面有效验证安全策略落实情况;3)在前端页面通过javascript代码的安全防护会被绕过,仅能用于用户体验。
随着安全要求的提高,若仅依赖开发人员实现安全防护,成本投入会越来越大,并且安全防护代码很少复用或共用,会造成开发资源浪费。基于此,本发明提出一种基于安全组件的短信炸弹防护方法和装置,用以解决上述问题中的至少一种。
下面结合图1-图6描述本发明的一种基于安全组件的短信炸弹防护方法和装置。
图1是本实施例提供的基于安全组件的短信炸弹防护方法的流程示意图之一,如图1所示,本实施例提供的基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
步骤100、接收客户端发送的短信请求。
需要说明的是,本实施例执行主体为防短信炸弹安全组件,其集成在服务端的应用系统中,本实施例提供一种防短信炸弹安全组件,在服务端的应用系统中实现短信炸弹漏洞的安全防护。应用系统通过调用安全组件提供的防护代码类SmsProtection中提供的安全方法实现短信炸弹的防护。通过集成安全组件的方式,可将安全组件应用在不同应用系统的短信炸弹防护中,可以实现短信炸弹防护的通用化。
步骤200、通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔。
步骤300、基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数。
需要说明的是,安全组件还提供计数器类CountValidator,创建对象counter,并将该对象传入安全方法中,该对象为安全组件中提短信炸弹的安全校验方法validateCount,需要应用系统存储在用户的会话中。
具体地,通过计数器类CountValidator确定客户端在单位时间的请求次数之后,进一步基于请求次数和单位时间,通过计数器类CountValidator判断客户端的请求时间间隔是否符合预设请求时间间隔以及客户端在单位时间的请求次数是否符合预设请求次数。
具体地,预设请求时间间隔可以为当前请求与前次请求的时间间隔条件,预设请求次数可以为在单位时间内的请求次数条件。时间间隔参数用于限制两次请求之间的最小时间间隔,例如可以为60s;访问次数条件为单位时间内允许的最大请求次数,例如1次/分钟。不同的应用系统可以根据实际情况配置响应参数,本实施例对此不作任何特别限定。
需要说明的是,CountValidator类中实现了validateCount的校验方法,调用SmsProtection类中validateCount方法时会调用CountValidator的validateCount的校验方法,调用该方法时需提供5个参数,分别为:
1、客户标识,例如手机号、客户号、IP地址等。
2、单位时间内允许的最大请求次数,若对单位时间内允许的最大请求次数无限制需传递的值为:-1。
3、单位时间(单位:分钟),若对单位时间无限制需传递的值为:-1。
4、时间间隔(单位:秒),若对时间间隔无限制需传递的值为:-1。
5、请求,用于获取请求内容。
该类校验失败会抛出异常,并在异常类中记录校验失败的信息。
具体的方法名如下所示:
public void validateCount(String key, long allowedMaxCount, longallwedMaxtimeMinute, long intervalSecond, HttpServletRequest request) throwsValidationException。
步骤400、在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
在一个实施例中,若客户端当前用户发送短信请求的时间间隔不符合预设请求时间间隔,则校验失败,确认存在短信炸弹,返回访问频率过快的异常信息,拒绝客户端当前用户的短信请求,以实现短信炸弹防护。
在另一个实施例中,若客户端当前用户在单位时间的请求次数不符合单位时间的预设请求次数,则校验失败,确认存在短信炸弹,返回超过最大请求次数的异常信息,拒绝客户端当前用户的短信请求,以实现短信炸弹防护。
具体地,应用系统通过调用安全组件防护代码类SmsProtection中提供的安全方法实现短信炸弹防护。调用该方法时需提供6个参数,如下所示:
1、客户标识,例如手机号、客户号、IP地址等。
2、单位时间内允许的最大请求次数,若对单位时间内允许的最大请求次数无限制需传递的值为:-1。
3、单位时间(单位:分钟),若对单位时间无限制需传递的值为:-1。
4、时间间隔(单位:秒),若对时间间隔无限制需传递的值为:-1。
5、计数器对象,用于存储用户会话时发送短信请求的访问次数。
6、请求,用于获取请求内容。
安全方法返回值为:校验结果类SecapiResult,其中包含安全校验是否成功,结果为true,则表示校验成功,没有发现短信炸弹攻击;结果为false,则表示校验失败,发现短信炸弹攻击,并返回校验失败信息,供调用安全组件的应用系统使用。
具体的方法名如下所示:
Public SecapiResult validateCount(String value, int allowedMaxCount,int allowedMaxtimeMinute, int intervalSecond, CountValidator counter,HttpServletRequest request)。
以上是对本发明提供的基于安全组件的短信炸弹防护方法的步骤说明。从上述步骤的描述可以看出,根据本发明提供的基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,防短信炸弹安全组件集成在服务端应用系统中,应用系统通过调用防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;接收客户端发送的短信请求,通过应用系统调用防短信炸弹安全组件的安全方法,其中,调用过程进行参数值的传递,参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;基于调用安全方法所传递的参数值,通过安全组件防护代码类中提供的安全方法判断客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;在客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝客户端的短信请求,以实现短信炸弹防护。由此可知,本发明通过安全组件防护代码类中提供的安全方法实现短信炸弹防护,由于安全组件的通用性,可以实现短信炸弹安全防护的通用化。
基于上述实施例,在本实施例中,图2是本实施例提供的基于安全组件的短信炸弹防护方法的流程示意图之二,如图2所示,所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,所述方法还包括:
步骤210、通过所述安全方法向所述计数器类提供的count字段中请求获取字段值。
步骤220、若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段。
步骤230、若获取到值,将获取到的值作为所述客户端在单位时间的请求次数。
具体地,安全组件还提供计数器类CountValidator,创建对象counter,并将该对象传入安全方法中,该对象为安全组件中提供了用于记录客户端发送短信验证请求次数的方法,需要应用系统存储在用户的会话中。
本实施例提供的基于安全组件的短信炸弹防护方法,通过调用计数器类提供的校验方法确定客户端当前用户在预设时段的请求次数,效率较高。
基于上述实施例,在本实施例中,图3是本实施例提供的基于安全组件的短信炸弹防护方法的流程示意图之三,如图3所示,基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔,包括:
步骤310、通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较。
步骤320、若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率。
步骤330、若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔。
具体地,通过计数器类CountValidator确定客户端当前用户在预设时段的请求次数之后,进一步基于请求次数通过计数器类CountValidator判断客户端当前用户在单位时间的请求频率是否符合预设频率条件。
需要说明的是,CountValidator类中存储count字段,用于记录请求次数;并存储time字段,用于记录当前时间。
本实施例提供的基于安全组件的短信炸弹防护方法,基于请求次数通过调用计数器类提供的校验方法判断客户端当前用户在单位时间的请求频率是否符合预设频率条件,对方法中传入的参数进行自动化检测,实现了自动化方式验证。
基于上述实施例,在本实施例中,图4是本实施例提供的基于安全组件的短信炸弹防护方法的流程示意图之四,如图4所示,通过所述安全组件防护代码类中提供的安全方法判断所述客户端在单位时间的请求次数是否符合预设请求次数,包括:
步骤410、在确定所述请求时间间隔符合预设请求时间间隔之后,将单位时间的请求次数加1,继续将单位时间的请求次数与单位时间内允许最大请求次数进行比较。
步骤420、若单位时间的请求次数大于单位时间内允许最大请求次数,则校验单位时间的请求次数失败,返回超过单位时间的最大请求次数的异常信息。
步骤430、若单位时间的请求次数小于单位时间内允许最大请求次数,校验成功,将当前时间赋值给time字段,用于下一次校验。
本实施例提供的基于安全组件的短信炸弹防护方法,基于请求次数通过调用计数器类提供的校验方法判断客户端当前用户在单位时间的请求次数是否符合预设次数条件,对方法中传入的参数进行自动化检测,实现了自动化方式验证。
基于上述实施例,在本实施例中,在确认存在短信炸弹,执行拒绝所述客户端的短信请求之后,所述方法还包括:
根据所述客户端的短信请求、客户端的参数、单位时间的请求次数、所述时间间隔、所述单位时间以及所述单位时间内允许最大请求次数生成短信炸弹告警日志,以基于所述短信炸弹告警日志展示短信炸弹攻击告警行为。
需要说明的是,客户端用户发送短信验证请求的过程中,若发生短信炸弹攻击,则通过防短信炸弹安全组件代码生成标准化的短信炸弹告警日志,以展示短信炸弹攻击告警行为。
具体地,例如生成的短信炸弹告警日志为:
{
event name":"安全组件告警",
event type": "attack",
event time":"2022-10-05 18:58:50",
company": "XX,
appname:"XX应用",
attack params"."13000000000",
attack type":"短信炸弹",
"rule id": "2",
"rule":"ExceedTheMaximumNumber",
plugin message":“超过单位时间最大次数”,
plugin confidence": 100,
plugin name":“防短信炸弹组件”,
plugin version": "1.0.1"
}
根据上述短信炸弹告警日志的内容,可以清楚地展示攻击告警行为的时间、具体应用、攻击类型等。
本实施例提供的基于安全组件的短信炸弹防护方法,通过对短信炸弹告警日志进行采集,在日志分析工具中展示攻击告警行为,便于进行后续的日志分析及应急响应。
下面对本发明提供的基于安全组件的短信炸弹防护装置进行描述,下文描述的基于安全组件的短信炸弹防护装置与上文描述的基于安全组件的短信炸弹防护方法可相互对应参照。
图5是本实施例提供的基于安全组件的短信炸弹防护装置的结构示意图,如图5所示,本实施例提供的基于安全组件的短信炸弹防护装置,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述装置包括:
接收模块501,用于接收客户端发送的短信请求;
调用模块502,用于通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
判断模块503,用于基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
防护模块504,用于在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
本实施例提供的基于安全组件的短信炸弹防护装置,应用于防短信炸弹安全组件,防短信炸弹安全组件集成在服务端应用系统中,应用系统通过调用防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;接收客户端发送的短信请求,通过应用系统调用防短信炸弹安全组件的安全方法,其中,调用过程进行参数值的传递,参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;基于调用安全方法所传递的参数值,通过安全组件防护代码类中提供的安全方法判断客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;在客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝客户端的短信请求,以实现短信炸弹防护。由此可知,本发明通过安全组件防护代码类中提供的安全方法实现短信炸弹防护,由于安全组件的通用性,可以实现短信炸弹安全防护的通用化。
基于上述实施例,在本实施例中,所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
所述装置还包括确定模块,具体用于:
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,通过所述安全方法向所述计数器类提供的count字段中请求获取字段值;
若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段;
若获取到值,将获取到的值作为所述客户端在单位时间的请求次数。
基于上述实施例,在本实施例中,所述判断模块403,具体用于:
通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较;
若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率;
若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔。
基于上述实施例,在本实施例中,所述判断模块403,具体用于:
在确定所述请求时间间隔符合预设请求时间间隔之后,将单位时间的请求次数加1,继续将单位时间的请求次数与单位时间内允许最大请求次数进行比较;
若单位时间的请求次数大于单位时间内允许最大请求次数,则校验单位时间的请求次数失败,返回超过单位时间的最大请求次数的异常信息;
若单位时间的请求次数小于单位时间内允许最大请求次数,校验成功,将当前时间赋值给time字段,用于下一次校验。
基于上述实施例,在本实施例中,所述装置还包括生成模块,具体用于:
在确认存在短信炸弹,执行拒绝所述客户端的短信请求之后,根据所述客户端的短信请求、客户端的参数、单位时间的请求次数、所述时间间隔、所述单位时间以及所述单位时间内允许最大请求次数生成短信炸弹告警日志,以基于所述短信炸弹告警日志展示短信炸弹攻击告警行为。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
接收客户端发送的短信请求;
通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
接收客户端发送的短信请求;
通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于安全组件的短信炸弹防护方法,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
接收客户端发送的短信请求;
通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种基于安全组件的短信炸弹防护方法,其特征在于,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述方法包括:
接收客户端发送的短信请求;
通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护;所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,创建对象并将所述对象传入安全方法中,所述对象用于为安全组件提供用于记录客户端发送短信请求次数的方法,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,所述方法还包括:
通过所述安全方法向所述计数器类提供的count字段中请求获取字段值;
若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段;
若获取到值,将获取到的值作为所述客户端在单位时间的请求次数;基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔,包括:
通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较;
若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率;
若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔;通过所述安全组件防护代码类中提供的安全方法判断所述客户端在单位时间的请求次数是否符合预设请求次数,包括:
在确定所述请求时间间隔符合预设请求时间间隔之后,将单位时间的请求次数加1,继续将单位时间的请求次数与单位时间内允许最大请求次数进行比较;
若单位时间的请求次数大于单位时间内允许最大请求次数,则校验单位时间的请求次数失败,返回超过单位时间的最大请求次数的异常信息;
若单位时间的请求次数小于单位时间内允许最大请求次数,校验成功,将当前时间赋值给time字段,用于下一次校验。
2.一种基于安全组件的短信炸弹防护装置,其特征在于,应用于防短信炸弹安全组件,所述防短信炸弹安全组件集成在服务端应用系统中,所述应用系统通过调用所述防短信炸弹安全组件防护代码类中提供的安全方法实现短信炸弹防护;
所述装置包括:
接收模块,用于接收客户端发送的短信请求;
调用模块,用于通过应用系统调用所述防短信炸弹安全组件的安全方法;其中,调用过程进行参数值的传递,所述参数值包括客户标识、单位时间内允许最大请求次数、单位时间、时间间隔;
判断模块,用于基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数;
防护模块,用于在所述客户端发送的短信请求不符合预设请求时间间隔或单位时间的预设请求次数的情况下,确认存在短信炸弹,拒绝所述客户端的短信请求,以实现短信炸弹防护;所述防短信炸弹安全组件还提供计数器类,所述计数器类嵌套于所述安全组件防护代码类中,创建对象并将所述对象传入安全方法中,所述对象用于为安全组件提供用于记录客户端发送短信请求次数的方法,且所述计数器类中存储有用于存储请求次数的count字段和用于存储发送短信请求时的当前时间的time字段;
所述装置还包括确定模块,具体用于:
在基于调用所述安全方法所传递的参数值,通过所述安全组件防护代码类中提供的安全方法判断所述客户端的短信请求是否符合预设请求时间间隔或单位时间的预设请求次数之前,通过所述安全方法向所述计数器类提供的count字段中请求获取字段值;
若未获取到值,则为首次获取,向count字段中添加值1,并将当前时间存储于所述time字段;
若获取到值,将获取到的值作为所述客户端在单位时间的请求次数;所述判断模块,具体用于:
通过所述安全组件防护代码类中提供的安全方法向所述time字段获取上次访问的时间,与当前时间进行比较;
若上次访问的时间与当前时间的差值大于单位时间,将count字段值重置为1,向所述time字段中存储当前时间作为字段值;若上次访问的时间与当前时间的差值不大于单位时间,将上次访问的时间与当前时间的差值继续与时间间隔进行比较,其中,所述时间间隔用于限制两次请求之间的最小时间间隔,所述单位时间和请求次数用于限制请求频率;
若上次访问的时间与当前时间的差值小于时间间隔,则校验请求失败,返回访问请求过快的异常信息;若上次访问的时间与当前时间的差值大于等于所述时间间隔,则确定请求时间间隔符合预设请求时间间隔;
在确定所述请求时间间隔符合预设请求时间间隔之后,将单位时间的请求次数加1,继续将单位时间的请求次数与单位时间内允许最大请求次数进行比较;
若单位时间的请求次数大于单位时间内允许最大请求次数,则校验单位时间的请求次数失败,返回超过单位时间的最大请求次数的异常信息;
若单位时间的请求次数小于单位时间内允许最大请求次数,校验成功,将当前时间赋值给time字段,用于下一次校验。
3.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述基于安全组件的短信炸弹防护方法。
4.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述基于安全组件的短信炸弹防护方法。
CN202410126339.XA 2024-01-30 2024-01-30 一种基于安全组件的短信炸弹防护方法和装置 Active CN117651277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410126339.XA CN117651277B (zh) 2024-01-30 2024-01-30 一种基于安全组件的短信炸弹防护方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410126339.XA CN117651277B (zh) 2024-01-30 2024-01-30 一种基于安全组件的短信炸弹防护方法和装置

Publications (2)

Publication Number Publication Date
CN117651277A CN117651277A (zh) 2024-03-05
CN117651277B true CN117651277B (zh) 2024-05-03

Family

ID=90046465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410126339.XA Active CN117651277B (zh) 2024-01-30 2024-01-30 一种基于安全组件的短信炸弹防护方法和装置

Country Status (1)

Country Link
CN (1) CN117651277B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108064030A (zh) * 2017-11-14 2018-05-22 北京百悟科技有限公司 短信拦截方法和装置
CN110032872A (zh) * 2019-05-08 2019-07-19 北京国舜科技股份有限公司 一种业务逻辑漏洞检测方法及装置
CN110049055A (zh) * 2019-04-24 2019-07-23 北京国舜科技股份有限公司 业务漏洞防护方法、装置和系统
WO2019200799A1 (zh) * 2018-04-17 2019-10-24 平安科技(深圳)有限公司 短信验证码的推送方法、电子装置及可读存储介质
CN110968872A (zh) * 2019-11-20 2020-04-07 北京国舜科技股份有限公司 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN114598550A (zh) * 2022-03-28 2022-06-07 中国银行股份有限公司 短信验证码攻击防护方法及装置
CN114867025A (zh) * 2022-05-16 2022-08-05 中国银行股份有限公司 一种防止短信轰炸方法及装置
CN115603961A (zh) * 2022-09-28 2023-01-13 苏州良医汇网络科技有限公司(Cn) 一种防止恶意刷取验证码的方法、装置及应用

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108064030A (zh) * 2017-11-14 2018-05-22 北京百悟科技有限公司 短信拦截方法和装置
WO2019200799A1 (zh) * 2018-04-17 2019-10-24 平安科技(深圳)有限公司 短信验证码的推送方法、电子装置及可读存储介质
CN110049055A (zh) * 2019-04-24 2019-07-23 北京国舜科技股份有限公司 业务漏洞防护方法、装置和系统
CN110032872A (zh) * 2019-05-08 2019-07-19 北京国舜科技股份有限公司 一种业务逻辑漏洞检测方法及装置
CN110968872A (zh) * 2019-11-20 2020-04-07 北京国舜科技股份有限公司 文件漏洞的检测处理方法、装置、电子设备及存储介质
CN114598550A (zh) * 2022-03-28 2022-06-07 中国银行股份有限公司 短信验证码攻击防护方法及装置
CN114867025A (zh) * 2022-05-16 2022-08-05 中国银行股份有限公司 一种防止短信轰炸方法及装置
CN115603961A (zh) * 2022-09-28 2023-01-13 苏州良医汇网络科技有限公司(Cn) 一种防止恶意刷取验证码的方法、装置及应用

Also Published As

Publication number Publication date
CN117651277A (zh) 2024-03-05

Similar Documents

Publication Publication Date Title
CN108366176B (zh) 一种终端应用的计费方法、装置及系统
CN108600162B (zh) 用户认证方法及装置、计算设备及计算机存储介质
CN112653714A (zh) 一种访问控制方法、装置、设备及可读存储介质
CN111182547A (zh) 登录保护方法、装置及系统
CN107040497B (zh) 网络账号防盗方法及装置
CN117651277B (zh) 一种基于安全组件的短信炸弹防护方法和装置
CN109428804B (zh) 一种账号管理方法及装置
CN111131273A (zh) 一种网络工程用互联网接入控制系统
CN110856168A (zh) 一种网络数据安全传输方法
CN116233851A (zh) 一种基于sim卡的验证方法、装置、设备及介质
CN106357657B (zh) 一种签核发起用户管理方法和设备
CN113079023B (zh) 一种文件分发管理方法、装置以及相关设备
CN113987435A (zh) 非法提权检测方法、装置、电子设备及存储介质
CN112149078A (zh) 一种制造执行系统的审计方法及系统
CN111475433A (zh) 串口使用方法、装置、电力终端及存储介质
CN117195275B (zh) 数据访问方法、装置、电子设备和存储介质
CN115695052B (zh) 共享界面的数据防护方法及装置
CN112564915B (zh) 验证方法和一号多终端管理服务器、终端
CN116996236B (zh) 一种数据库操作认证处理方法和装置
CN117014873A (zh) 一种检测终端注册行为的方法、装置
CN112498269B (zh) 车载终端的异常识别方法、装置、服务器和存储介质
CN114461293B (zh) 配置文件式开放数据获取方法、装置及电子设备
CN107819668B (zh) 一种即时通信im防灌水方法及装置
JP7059741B2 (ja) 不正操作検出装置、不正操作検出方法および不正操作検出プログラム
CN109150797B (zh) 专网终端的安全认证方法和装置

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