发明内容
本申请提出一种基于溯源的Android移动攻击防范方法,包括以下步骤:
S1、Android移动端与预设的第一服务器进行第一定时通讯,并根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态;
S2、若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据;
S3、向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近;
S4、断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时;
S5、实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S6、若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据;
S7、根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;
S8、将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址;
S9、对所述第一溯源结果中的IP地址进行封禁处理,再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态;
S10、若所述Android移动端的网络状态仍不为顺畅状态,则所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接,在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限;
S11、向所述第二服务器发送第二攻击溯源请求,以使所述第二服务器依据所述近距离通信网络并采用预设的第二溯源方法进行攻击溯源处理,从而得到第二溯源结果;
S12、以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。
进一步地,所述根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态的步骤S1,包括:
S101、Android移动端向所述第一服务器发送第一序列的心跳包;
S102、以及,所述第一服务器向所述Android移动端发送第二序列的心跳包;其中,所述第一序列的心跳包之间的时间间隔与所述第二序列的心跳包之间的时间间隔相等;
S103、Android移动端接收所述第一服务器针对所述第一序列的心跳包的第三序列的响应信息包;
S104、以及,Android移动端向所述第一服务器发送针对所述第二序列的心跳包的第四序列的响应信息包;
S105、计算出接收所述第三序列的响应信息包与发送所述第四序列的响应信息包之间的时间差,从而得到时间差序列;
S106、判断所述时间差序列中是否存在连续的五个以上的高值成员;其中,所述高值成员指数值大于预设的时间差阈值的时间差;
S107、若所述时间差序列中存在连续的五个以上的高值成员,则判定所述Android移动端的网络状态不为顺畅状态。
进一步地,所述向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近的步骤S3,包括:
S301、获取所述Android移动端的当前GPS位置信息,并将所述Android移动端的当前GPS位置信息发送给所述云服务器集群,以及向所述云服务器集群发送位置请求;
S302、所述云服务器集群获取所述Android移动端的当前GPS位置信息,并获取当前时间下所述云服务器集群的所有移动服务器的位置信息、预设轨迹信息和移动参数;其中,所述云服务器集群包括多个移动服务器,所述移动服务器指搭载在可移动机具上的服务器;
S303、所述云服务器集群调取预设的正常人类行走速度信息,并根据所述正常人类行走速度信息、所述Android移动端的当前GPS位置信息、所述移动服务器的位置信息、预设轨迹信息和移动参数,从所述所有移动服务器中筛选出第二服务器;其中,所述第二服务器在所述计时器的示数等于第一数值时,离所述Android移动端最近;
S304、所述云服务器集群计算出所述第二服务器在所述计时器的示数等于第一数值时的位置,并发送给所述Android移动端;
S305、Android移动端获取所述云服务器集群返回的所述第二服务器在所述计时器的示数等于第一数值时的位置。
进一步地,所述实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求的步骤S5之后,包括:
S51、若所述Android移动端与所述第二服务器之间的距离不满足预设的近距离通信的要求,则根据预设的公式:t2=t1×(1+p),计算出第二数值t2;t1为所述第一数值,p为预设的参数,p大于0且小于50%;
S52、再次断开所述Android移动端的通信网络,并当所述计时器的示数等于第二数值t2时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第三定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S53、若所述Android移动端与所述第二服务器之间的距离不满足预设的近距离通信的要求,则根据预设的公式:t3=t2×(1+p),计算出第二数值t3;
S54、再次断开所述Android移动端的通信网络,并当所述计时器的示数等于第三数值t3时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第四定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S55、若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则生成在数据采集指令,以指示根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据。
进一步地,所述将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成的步骤S8之前,包括:
S71、获取预先采集得到的第一样本数据集;其中,所述第一样本数据集的数据包括训练用重复数据与预先标记的攻击方;所述训练用重复数据的获取过程为,当预设的样本移动终端遭受网络攻击时,所述样本移动终端进行数据采集以得到第一初始数据;所述样本移动终端断开网络连接再重新连接网络后,再进行数据采集以得得到第二初始数据;对所述第一初始数据和第二初始数据进行对比,以得到训练用重复数据;
S72、根据预设比例对所述第一样本数据集进行划分,以得到训练数据和验证数据;
S73、采用所述训练数据对预设的神经网络模型进行训练,以得到暂时模型;
S74、利用所述验证数据对所述暂时模型进行验证处理,并判断验证是否通过;
S75、若验证通过,则将所述暂时模型记为第一溯源模型。
本申请提供一种基于溯源的Android移动攻击防范装置,包括:
第一定时通讯单元,用于Android移动端与预设的第一服务器进行第一定时通讯,并根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态;
第一通信数据采集单元,用于若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据;
位置请求发送单元,用于向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近;
计时器开启单元,用于断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时;
通信网络恢复单元,用于实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
第二通信数据采集单元,用于若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据;
数据对比单元,用于根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;
第一溯源结果获取单元,用于将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址;
IP地址封禁单元,用于对所述第一溯源结果中的IP地址进行封禁处理,再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态;
网络连接形成单元,用于若所述Android移动端的网络状态仍不为顺畅状态,则所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接,在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限;
第二溯源结果获取单元,用于向所述第二服务器发送第二攻击溯源请求,以使所述第二服务器依据所述近距离通信网络并采用预设的第二溯源方法进行攻击溯源处理,从而得到第二溯源结果;
攻击防范单元,用于以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。
本申请提供一种基于溯源的Android移动攻击防范***,包括计算机终端,所述计算机终端用于执行上述任一项所述方法的步骤。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于溯源的Android移动攻击防范方法、装置、计算机设备和存储介质,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于溯源的Android移动攻击防范方法,包括以下步骤:
S1、Android移动端与预设的第一服务器进行第一定时通讯,并根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态;
S2、若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据;
S3、向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近;
S4、断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时;
S5、实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S6、若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据;
S7、根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;
S8、将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址;
S9、对所述第一溯源结果中的IP地址进行封禁处理,再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态;
S10、若所述Android移动端的网络状态仍不为顺畅状态,则所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接,在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限;
S11、向所述第二服务器发送第二攻击溯源请求,以使所述第二服务器依据所述近距离通信网络并采用预设的第二溯源方法进行攻击溯源处理,从而得到第二溯源结果;
S12、以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。
如上述步骤S1-S4所述,Android移动端与预设的第一服务器进行第一定时通讯,并根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态;若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据;向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近;断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时。
其中,所述第一定时通讯的目的在于,验证Android移动端的网络状态。本申请主要针对的是在遭受过量网络攻击的场景,而在过量网络攻击下时,Android移动端的资源吃紧,其通讯受到影响,因此会反应在第一定时通讯上。进一步地,所述第一服务器专门用于进行定时通讯,即用于与多个Android移动端进行通讯,以便进行准确地判断网络状态是否顺畅。若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据。其中,数据采集方法可为任意可行方法,采集的数据可为任意可行数据,但需要与可能的攻击方相关的数据,即通信数据是与通信相关的数据,例如包括对日志、进程、线程、交换机、路由的数据进行的采集。进一步地,数据采集还包括对响应数据的采集,从而得到的数据还包括第一响应数据。需要注意的是,虽然根据这些采集得到的数据,再采用传统的攻击溯源方法就能进行攻击溯源操作,以得到溯源结果,但是这种溯源结果需要考虑的数据较多较杂(因为不能确定数据来源是来自正常的通信对象还是来自攻击方),因此需要较多的计算资源(这在遭受过量攻击的此时,尤其重要),处理效率低。因此,本申请在此时不进行攻击溯源处理,而仅是进行数据采集操作,得到的数据会用于攻击溯源,但运用的方式与传统的方式不同,这将结合后续步骤进行描述。
向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近。本申请还涉及云服务器集群,但是此处的云服务器集群与前文的第一服务器没有关系,具体而言,第一服务器用于定时通讯,而云服务器集群用于攻击溯源,而且是第二层次的攻击溯源。另外,本申请的云服务器有一个特点,即只利用了云服务器的分布式设置的特性,即云服务器将分散布置在不同区域,例如分布在城市中的各个不同区域,其分布的密度与近距离通信的信号覆盖范围成反比。而选出的第二服务器即是离所述Android移动端的位置最近的服务器,从而所述Android移动端能够尽快与第二服务器完成非通用网络或者广域网络的近距离通信连接。所述近距离通信例如为蓝牙通信、红外数据传输通信等等。再断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时。其中,断开网络并且计时器开始计时有两层用意,其一在于,在移动到第二服务器的位置之前,避免被攻击;其二在于,对数据进行筛选,以确定来自于攻击方的数据。
进一步地,所述根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态的步骤S1,包括:
S101、Android移动端向所述第一服务器发送第一序列的心跳包;
S102、以及,所述第一服务器向所述Android移动端发送第二序列的心跳包;其中,所述第一序列的心跳包之间的时间间隔与所述第二序列的心跳包之间的时间间隔相等;
S103、Android移动端接收所述第一服务器针对所述第一序列的心跳包的第三序列的响应信息包;
S104、以及,Android移动端向所述第一服务器发送针对所述第二序列的心跳包的第四序列的响应信息包;
S105、计算出接收所述第三序列的响应信息包与发送所述第四序列的响应信息包之间的时间差,从而得到时间差序列;
S106、判断所述时间差序列中是否存在连续的五个以上的高值成员;其中,所述高值成员指数值大于预设的时间差阈值的时间差;
S107、若所述时间差序列中存在连续的五个以上的高值成员,则判定所述Android移动端的网络状态不为顺畅状态。
从而实现了根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态。本申请采用的是双向心跳包技术来判断网络状态,其准确性更高。在网络顺畅的状态下,心跳包的接收与响应基本都是即时的,延时可忽略不计,因此移动端与第一服务器在心跳包接收与回应之间都应是相同的,从而计算出接收所述第三序列的响应信息包与发送所述第四序列的响应信息包之间的时间差,从而得到时间差序列,此时的时间差序列中的成员的数值基本为0;反之,若网络不顺畅,时间差序列中的成员的数值会偏离于0,从而出现大于预设的时间差阈值的时间差的成员,当所述时间差序列中存在连续的五个以上的高值成员时,表明这种偏离于数值0的现象不是误差,因此能够判定所述Android移动端的网络状态不为顺畅状态。
进一步地,所述向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近的步骤S3,包括:
S301、获取所述Android移动端的当前GPS位置信息,并将所述Android移动端的当前GPS位置信息发送给所述云服务器集群,以及向所述云服务器集群发送位置请求;
S302、所述云服务器集群获取所述Android移动端的当前GPS位置信息,并获取当前时间下所述云服务器集群的所有移动服务器的位置信息、预设轨迹信息和移动参数;其中,所述云服务器集群包括多个移动服务器,所述移动服务器指搭载在可移动机具上的服务器;
S303、所述云服务器集群调取预设的正常人类行走速度信息,并根据所述正常人类行走速度信息、所述Android移动端的当前GPS位置信息、所述移动服务器的位置信息、预设轨迹信息和移动参数,从所述所有移动服务器中筛选出第二服务器;其中,所述第二服务器在所述计时器的示数等于第一数值时,离所述Android移动端最近;
S304、所述云服务器集群计算出所述第二服务器在所述计时器的示数等于第一数值时的位置,并发送给所述Android移动端;
S305、Android移动端获取所述云服务器集群返回的所述第二服务器在所述计时器的示数等于第一数值时的位置。
从而实现了动态布设云服务器,使得本申请的效率更高(因为在宏观层面上,能够更快与服务器实现近距离通信)。本申请通过所述云服务器集群包括多个移动服务器,所述移动服务器指搭载在可移动机具上的服务器的设置,例如在城市中采用在移动的汽车上搭载服务器的方式,以提高整体效率。此时,虽然采用了移动服务器的设置,因此相对于固定服务器,虽然其计算能力有所下降,但是本申请的移动服务器只承担Android移动端的攻击溯源任务,因此也适合应用于本申请。由于采用的是移动服务器的设计,因此筛选第二服务器以及计算第二服务器的位置时,需要考虑的因素增多了,即需要所述正常人类行走速度信息、所述Android移动端的当前GPS位置信息、所述移动服务器的位置信息、预设轨迹信息和移动参数,才能准确找出合适的位置点(即Android移动端与移动服务器理论上的适合会面位置)。
如上述步骤S5-S8所述,实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据;根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址。
所述计时器的计时用于保证断开网络的时间。本申请采用先断开网络连接并持续一定时间,再恢复所述Android移动端的通信网络,其目的之一在于进行对数据的筛选,而之所以能够进行数据筛选,依据的是攻击方与正常通信方之间的区别,具体地,攻击方在对Android移动端进行攻击时是持续攻击的,因此在一定时间的网络连接断开后,会继续之前的攻击,因此对于攻击方而言,断开网络连接前采集到的数据与恢复网络连接再采集到的数据是相同的;而对于正常通信方,在一定时间的网络连接断开后,会放弃继续通信,或者只是间断性地进行通信。因此,通过先断开网络连接并持续一定时间的方式,能够进行数据筛选。其中,所述第一数值可通过任意可行方式设置,例如通过对历史数据的分析,以确定合适的数值。另外,还需要保持所述Android移动端与所述第一服务器的第二定时间通讯,这是为了确定是否要进行第二层次的攻击溯源。判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求,可采用任意方式实现,例如获取所述近距离通信的覆盖半径,再判断所述Android移动端与所述第二服务器之间的距离是否小于所述覆盖半径,若小于所述覆盖半径,则判定满足预设的近距离通信的要求。所述近距离通信优选为蓝牙通信。
若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据。采集得到第二通信数据时,需要与采集第一通信数据的方式相同。再根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据。其中,数据对比以找出重复数据,因为攻击方在采用过量攻击时,例如采用DoS攻击,会进行重复攻击的方式,因此重复数据就是来自于攻击方的数据。当然,可能也存在来自于部分正常通信方的数据,但这种数据的占比要小的多,不影响本申请的实施。将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址。所述神经网络模型可为任意可行模型,例如为卷积神经网络、BP神经网络等等,或者也可采用其他模型或者方法来替换。此时,由于需要处理的数据是已经过筛选的重复数据,默认为都来源于攻击方,因此处理更容易且更准确。
进一步地,所述实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求的步骤S5之后,包括:
S51、若所述Android移动端与所述第二服务器之间的距离不满足预设的近距离通信的要求,则根据预设的公式:t2=t1×(1+p),计算出第二数值t2;t1为所述第一数值,p为预设的参数,p大于0且小于50%;
S52、再次断开所述Android移动端的通信网络,并当所述计时器的示数等于第二数值t2时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第三定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S53、若所述Android移动端与所述第二服务器之间的距离不满足预设的近距离通信的要求,则根据预设的公式:t3=t2×(1+p),计算出第二数值t3;
S54、再次断开所述Android移动端的通信网络,并当所述计时器的示数等于第三数值t3时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第四定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
S55、若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则生成在数据采集指令,以指示根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据。
从而实现间断恢复通信网络,以保证信息安全。本申请需要在合适的位置才能继续后续步骤,因此采用多次恢复通信网络的方式,以确定是否处于合适位置,即恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第三定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求。并且,间断的时间不能过长,这是本申请的特性决定的,因此需要根据公式t2=t1×(1+p),以确定断开时间的长度。再进行步骤的重复,直至所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,再进行后续的数据采集步骤。
进一步地,所述将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成的步骤S8之前,包括:
S71、获取预先采集得到的第一样本数据集;其中,所述第一样本数据集的数据包括训练用重复数据与预先标记的攻击方;所述训练用重复数据的获取过程为,当预设的样本移动终端遭受网络攻击时,所述样本移动终端进行数据采集以得到第一初始数据;所述样本移动终端断开网络连接再重新连接网络后,再进行数据采集以得得到第二初始数据;对所述第一初始数据和第二初始数据进行对比,以得到训练用重复数据;
S72、根据预设比例对所述第一样本数据集进行划分,以得到训练数据和验证数据;
S73、采用所述训练数据对预设的神经网络模型进行训练,以得到暂时模型;
S74、利用所述验证数据对所述暂时模型进行验证处理,并判断验证是否通过;
S75、若验证通过,则将所述暂时模型记为第一溯源模型。
从而得到特别的溯源模型。本申请的溯源模型与普通的溯源模型存在一定的区别,其主要的区别在于,本申请是对筛选过的数据进行溯源,即输入数据是已知的,而普通的溯源模型针对的是原始数据,即无法辨别哪些是正常数据而哪些又是来自于攻击方的数据。相对的,采用的训练数据也不同,本申请需要第一样本数据集进行训练;其中,所述第一样本数据集的数据包括训练用重复数据与预先标记的攻击方;所述训练用重复数据的获取过程为,当预设的样本移动终端遭受网络攻击时,所述样本移动终端进行数据采集以得到第一初始数据;所述样本移动终端断开网络连接再重新连接网络后,再进行数据采集以得得到第二初始数据;对所述第一初始数据和第二初始数据进行对比,以得到训练用重复数据。再进行训练与验证的过程,以得到最后的模型。因此,本申请的第一溯源模型的训练速度与预测准确性都要更高。
如上述步骤S9-S12所述,对所述第一溯源结果中的IP地址进行封禁处理,再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态;若所述Android移动端的网络状态仍不为顺畅状态,则所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接,在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限;向所述第二服务器发送第二攻击溯源请求,以使所述第二服务器依据所述近距离通信网络并采用预设的第二溯源方法进行攻击溯源处理,从而得到第二溯源结果;以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。
所述第一溯源结果中记录了攻击方的IP地址,因此对所述第一溯源结果中的IP地址进行封禁处理(指禁止这些IP地址对移动端的访问),可以缓解移动端的压力。再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态,以此为依据来确认第一溯源处理及IP地址封禁处理的效果如何。若所述Android移动端的网络状态仍不为顺畅状态,此时的原因可能在于,攻击方增加了攻击力度等,或者在恢复网络后增加了新的攻击,此时所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接(例如以形成蓝牙网络连接的方式形成),在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限。这也是本申请的一个特点,即利用了移动端的可移动特性来实现的,这使得Android移动端与第二服务器能够进行近距离通信,从而能够借用第二服务器的算力完成第二攻击溯源的过程。其中,第二服务器进行第二攻击溯源的手段在本申请中不做限制,例如可利用基于决策树的攻击溯源模型来完成。并且,第二服务器进行第二攻击溯源时依据的数据更全面,例如包括所述第一通信数据和第二通信数据,因此能够更全面地进行攻击溯源。再以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。所述第二溯源结果中例如包括攻击方的IP地址,攻击方的行为特征,彼此间的组合关系等。所述防范策略可为任意可行策略,例如采用直接的封禁IP地址的处理方式等等。
本申请的基于溯源的Android移动攻击防范方法,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
参照图2,本申请实施例提供一种基于溯源的Android移动攻击防范装置,包括:
第一定时通讯单元,用于Android移动端与预设的第一服务器进行第一定时通讯,并根据所述第一定时通讯判断所述Android移动端的网络状态是否为顺畅状态;
第一通信数据采集单元,用于若所述Android移动端的网络状态不为顺畅状态,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第一通信数据;
位置请求发送单元,用于向预设的云服务器集群发送位置请求,并获取所述云服务器集群返回的第二服务器的位置;其中,所述云服务器包括位于不同位置的多个服务器,所述多个服务器包括第二服务器,并且在所述多个服务器中,所述第二服务器的位置离所述Android移动端的位置最近;
计时器开启单元,用于断开所述Android移动端的通信网络,并要求所述Android移动端的持有者前往所述第二服务器的位置,同时开启预设的计时器进行计时;
通信网络恢复单元,用于实时检测所述计时器,当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并保持所述Android移动端与所述第一服务器的第二定时间通讯,获取所述Android移动端的GPS数据,并根据所述GPS数据和所述第二服务器的位置,判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;
第二通信数据采集单元,用于若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则根据预设的数据采集方法,对所述Android移动端的通信数据进行采集,以得到第二通信数据;
数据对比单元,用于根据预设的数据对比方法,对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;
第一溯源结果获取单元,用于将所述重复数据输入预设的第一溯源模型进行处理,从而得到所述第一溯源模型输出的第一溯源结果;所述第一溯源模型基于神经网络模型并利用第一样本数据集训练而成;所述第一溯源结果记录了攻击方的IP地址;
IP地址封禁单元,用于对所述第一溯源结果中的IP地址进行封禁处理,再根据所述第二定时通讯再次判断所述Android移动端的网络状态是否为顺畅状态;
网络连接形成单元,用于若所述Android移动端的网络状态仍不为顺畅状态,则所述Android移动端与所述第二服务器在预先搭建的近距离通信网络中形成网络连接,在所述近距离通信网络中共享数据,并使所述第二服务器具有所述Android移动端的控制权限;
第二溯源结果获取单元,用于向所述第二服务器发送第二攻击溯源请求,以使所述第二服务器依据所述近距离通信网络并采用预设的第二溯源方法进行攻击溯源处理,从而得到第二溯源结果;
攻击防范单元,用于以所述第二溯源结果为操作对象,采用预设的防范策略进行防范操作,从而完成Android移动攻击防范的过程。
其中上述单元分别用于执行的操作与前述实施方式的基于溯源的Android移动攻击防范方法的步骤一一对应,在此不再赘述。
本申请的基于溯源的Android移动攻击防范装置,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
本申请实施例提供一种基于溯源的Android移动攻击防范装置***,包括计算机终端,所述计算机终端用于执行前述任一项所述方法的步骤。
本申请的基于溯源的Android移动攻击防范装置***,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于溯源的Android移动攻击防范方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于溯源的Android移动攻击防范方法。
上述处理器执行上述基于溯源的Android移动攻击防范方法,其中所述方法包括的步骤分别与执行前述实施方式的基于溯源的Android移动攻击防范方法的步骤一一对应,在此不再赘述。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于溯源的Android移动攻击防范方法,其中所述方法包括的步骤分别与执行前述实施方式的基于溯源的Android移动攻击防范方法的步骤一一对应,在此不再赘述。
本申请的计算机可读存储介质,进行第一定时通讯,并判断是否为顺畅状态;若不为顺畅状态,则得到第一通信数据;获取第二服务器的位置;断开所述Android移动端的通信网络;当所述计时器的示数等于第一数值时,恢复所述Android移动端的通信网络,并判断所述Android移动端与所述第二服务器之间的距离是否满足预设的近距离通信的要求;若所述Android移动端与所述第二服务器之间的距离满足预设的近距离通信的要求,则得到第二通信数据;对所述第一通信数据与所述第二通信数据进行数据对比处理,以得到重复数据;将所述重复数据输入预设的第一溯源模型进行处理,从而得到第一溯源结果;进行封禁处理,再判断所述Android移动端的网络状态是否为顺畅状态;若仍不为顺畅状态,则在近距离通信网络中形成网络连接;得到第二溯源结果;采用预设的防范策略进行防范操作。从而使得攻击溯源更准确,更具层次化,且攻击防范更具针对性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序或指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。