首页> 中国专利> 窃听行为侦测方法及装置

窃听行为侦测方法及装置

摘要

本发明公开了一种窃听行为侦测方法及装置,涉及移动通信技术领域,所述方法包括:S1、获取当前来电的第一状态参数,根据获取的第一状态参数建立第一状态矩阵,计算所述第一状态矩阵的第一特征值;S2、将所述第一特征值与预先设置的黑名单及白名单进行比对,在所述第一特征值存在于所述黑名单中时,阻断所述当前来电;在所述第一特征值存在于所述白名单中时,继续接听所述当前来电。本发明通过获取当前来电的第一状态参数,根据所述第一状态参数建立第一状态矩阵,根据第一状态矩阵的第一特征值与预先设置的黑名单及白名单进行比对,并根据比对结果确定对当前来电的处理,从而能够防止通话被窃听,同时保证终端的正常功能不受影响。

著录项

  • 公开/公告号CN105050091A

    专利类型发明专利

  • 公开/公告日2015-11-11

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN201510279225.X

  • 发明设计人 朱大立;

    申请日2015-05-27

  • 分类号H04W12/12;H04W24/04;

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人李相雨

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-12-18 12:11:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-10

    授权

    授权

  • 2018-04-06

    实质审查的生效 IPC(主分类):H04W12/12 申请日:20150527

    实质审查的生效

  • 2015-11-11

    公开

    公开

说明书

技术领域

本发明涉及移动通信技术领域,特别涉及一种窃听行为侦测方法及装置。

背景技术

随着智能终端的普及,智能终端上的窃听与反窃听技术也越来越受到人们重视。目前的窃听技术从功能上主要分为两类,一类是环境窃听,另一类是环境录音。前者是在目标终端上安装恶意软件,使终端在用户没有察觉的情况下自动与远程设备进行通话,使得当前用户终端周围的声音被不法分子窃听。后者是指终端被植入恶意程序之后,通过麦克风录制终端周围声音,在条件允许情况下上传到远端设备,从而造成用户信息泄露。

窃听和反窃听技术一直是相辅相成,矛盾统一。随着防范技术手段发展,窃听手段和恶意软件也不断升级,很多木马和病毒通过漏洞被植入到系统框架层甚至操作系统内核。目前针对智能终端窃听防护的手段主要有如下三种:杀毒软件、外接设备和定制系统。

目前移动终端杀毒软件防窃听技术主要包括三个方面:应用程序扫描、进程监控及可疑来电去电拦截。应用程序扫描主要是对当前移动终端安装的软件进行扫描和分析,根据已有的恶意软件库进行匹配,对符合条件的软件进行提醒和删除。进程监控主要指的监控终端中具有录音或者接入麦克风功能的进程,在通话期间对这类进程进行行为监测,对符合监测条件的程序进程进行判别、告警和截断,比如某些进程在终端通话过程中读取麦克风,并进行大量文件读写,该进程就存在较大嫌疑。可疑来去电拦截主要是对来去电的对方号码进行数据库匹配,对被纳入数据库黑名单的通话进行拦截,对可疑来电或者去电进行用户提醒。

由于杀毒软件防窃听功能实现依赖特征库,恶意软件扫描判别、进程检测都需要匹配一定的特征码,而这些特征码需要后台服务器提供。特征码的产生是根据已经被识别的木马或者恶意软件产生的,新的木马或者恶意软件的识别往往在其大规模传播之后。虽然云查杀技术能在一定程度上减少识别时间,但是仍解决不了实时性问题。另外,杀毒软件对窃听的防护往往基于应用层,即仅对于应用程序进行扫描和判别,对框架层和操作系统层的注入攻击往往无能为力。

外接设备窃听防护手段主要是指在不改变移动终端原有结构的基础上,通过增加便携的外接设备实现的。外接设备主要分为信号流监控和语音信号再处理两类。有些外接设备提供信号流的监控情况,比如通过信号采集源的转换,提供语音采集指示信号来标识通信状态,从而确定移动终端的麦克风是否被使用或者采集语音;有的外设是给移动终端提供特定的语音保密装置,对语音信号进行重新采集、处理、加噪等,为窃听增加障碍,但外接设备会增加防护成本,且不利于携带,在实际使用中比较难推广。

定制系统防护方式有的涉及硬件重新定制,有的则是操作系统定制。主要针对智能终端操作系统语音流处理、麦克风、电话子系统模块等进行重新设计,对终端通话相关的硬件调用进行监控,为通话窃听提供防护功能,这类设计破坏原生操作系统的完整性,不利于智能终端统一生态圈的健康发展;在引入防护机制的同时可能造成新的缺陷;并且窃听防护的定制性较强,只能针对特定机型,无法进行大规模推广。

发明内容

为了防止通话被窃听,同时保证终端的正常功能不受影响,本发明提供了一种窃听行为侦测方法,所述方法包括:

S1、获取当前来电的第一状态参数,根据获取的第一状态参数建立第一状态矩阵,计算所述第一状态矩阵的第一特征值;

S2、将所述第一特征值与预先设置的黑名单及白名单进行比对,在所述第一特征值存在于所述黑名单中时,阻断所述当前来电;在所述第一特征值存在于所述白名单中时,继续接听所述当前来电。

其中,步骤S2中,在所述第一特征值不存在于所述黑名单及白名单中时,执行步骤S3;

S3、判断所述第一特征值是否存在于状态模型中,若所述第一特征值存在所述状态模型中,则将所述第一特征值对应的权重与预设范围进行比对,在所述第一特征值大于等于所述预设范围的上限值时,则继续接听所述当前来电,并结束流程;在所述第一特征值小于等于所述预设范围的下限值时,则阻断所述当前来电,并结束流程;在所述第一特征值满足所述预设范围时,执行步骤S4;若所述第一特征值不存在所述状态模型中,将所述第一特征值添加至所述状态模型中,并将所述第一特征值对应的权重设置为初始值,执行步骤S4;

S4、提示用户是否继续接听所述当前来电,并接收用户的选择指令,若用户选择继续接听,则继续接听所述当前来电,并增加所述第一特征值对应的权重,若用户选择不继续接听,则阻断所述当前来电,并减少所述第一特征值对应的权重。

其中,所述第一状态参数包括:屏幕状态、屏幕界面、重力加速度、网络连接状态、上行音量状态、内存状态和数据流量状态中的至少一种。

其中,步骤S1中,所述获取当前来电的第一状态参数,具体包括:

获取接听当前来电前、接听当前来电时及接听当前来电后的第一状态参数。

其中,步骤S1之前,所述方法还包括:

获取正常通话的第二状态参数,根据所述第二状态参数建立第二状态矩阵,计算所述第二状态矩阵的第二特征值,并将所述第二特征值添加至所述白名单中;

获取窃听通话的第三状态参数,根据所述第三状态参数建立第三状态矩阵,计算所述第三状态矩阵的第三特征值,并将所述第三特征值添加至所述黑名单中。

本发明还公开了一种窃听行为侦测装置,所述装置包括:

特征计算单元,用于获取当前来电的第一状态参数,根据获取的第一状态参数建立第一状态矩阵,计算所述第一状态矩阵的第一特征值;

特征比对单元,用于将所述第一特征值与预先设置的黑名单及白名单进行比对,在所述第一特征值存在于所述黑名单中时,阻断所述当前来电;在所述第一特征值存在于所述白名单中时,继续接听所述当前来电。

其中,所述特征比对单元,还用于在所述第一特征值不存在于所述黑名单及白名单中时,调用模型判断单元;

模型判断单元,用于判断所述第一特征值是否存在于状态模型中,若所述第一特征值存在所述状态模型中,则将所述第一特征值对应的权重与预设范围进行比对,在所述第一特征值大于等于所述预设范围的上限值时,则继续接听所述当前来电;在所述第一特征值小于等于所述预设范围的下限值时,则阻断所述当前来电;在所述第一特征值满足所述预设范围时,调用用户选择单元;若所述第一特征值不存在所述状态模型中,将所述第一特征值添加至所述状态模型中,并将所述第一特征值对应的权重设置为初始值,调用用户选择单元;

用户选择单元,用于提示用户是否继续接听所述当前来电,并接收用户的选择指令,若用户选择继续接听,则继续接听所述当前来电,并增加所述第一特征值对应的权重,若用户选择不继续接听,则阻断所述当前来电,并减少所述第一特征值对应的权重。

其中,所述第一状态参数包括:屏幕状态、屏幕界面、重力加速度、网络连接状态、上行音量状态、内存状态和数据流量状态中的至少一种。

其中,所述特征计算单元,还用于分别获取接听当前来电前、接听当前来电时及接听当前来电后的第一状态参数。

其中,所述装置还包括:

白名单建立单元,用于获取正常通话的第二状态参数,根据所述第二状态参数建立第二状态矩阵,计算所述第二状态矩阵的第二特征值,并将所述第二特征值添加至所述白名单中;

黑名单建立单元,用于获取窃听通话的第三状态参数,根据所述第三状态参数建立第三状态矩阵,计算所述第三状态矩阵的第三特征值,并将所述第三特征值添加至所述黑名单中。

本发明不依赖远程特征库,不改变终端和系统的原有结构,也不需要增加外部设备,只需通过获取当前来电的第一状态参数,根据所述第一状态参数建立第一状态矩阵,根据第一状态矩阵的第一特征值与预先设置的黑名单及白名单进行比对,并根据比对结果确定对当前来电的处理,从而能够防止通话被窃听,同时保证终端的正常功能不受影响。

附图说明

图1是本发明一种实施方式的窃听行为侦测方法的流程图;

图2是本实施一种实施例的窃听行为侦测方法的流程图;

图3是本发明一种实施方式的窃听行为侦测装置的结构框图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1是本发明一种实施方式的窃听行为侦测方法的流程图;参照图1,所述方法包括:

S1、获取当前来电的第一状态参数,根据获取的第一状态参数建立第一状态矩阵,计算所述第一状态矩阵的第一特征值;

在具体实现中,可按照是否有来电将终端的状态分为“哑态”和“通态”;“哑态”即没有来电时的参数状态,“通态”即来电接通时的参数状态。

其中,状态参数可包括:

(a)屏幕状态。可通过注册PowerManager,调用其中的isScreenOn()函数进行获取所述屏幕状态;

(b)屏幕界面。由于Android管理应用程序进程是通过将进程Activity对象放入任务栈实现的,栈顶元素就是当前正在运行的进程,来电时,可通过获取任务栈的栈顶元素来获得所述屏幕界面;

(c)重力加速度。在移动终端由“哑态”向“通态”转变的时候,注册SensorManager,加速度传感器能感应移动终端在x,y,z三个方向的加速度,在获得加速度后通过测试设定一个阈值15,当x,y,z三个方向中的任一个方向产生的加速度超过阈值时,则可以断定移动终端处在移动的过程中;

(d)网络连接状态。注册TelephonyManager,通过创建PhoneStateListener监听器,可以监听终端的网络连接状态,监听返回的结果中,DATA_DISCONNECTED表示网络断开,DATA_CONNECTING表示网络正在连接,DATA_CONNECTED表示网络已经连接上;

(e)上行音量状态。使用AndioRecord可以对通话过程中的上行音量VOICE_UPLINK进行分析,可以使用背景声音过滤等手段进行处理;

(f)内存状态。可通过注册ActivityManager,读取文件“/proc/meminfo”中的数据,可以获得内存的相关信息;

(g)数据流量状态。TrafficStats类可以获取手机对流量的统计情况,getTotalTxBytes()函数可获取总的发送流量,TrafficStats.getUidTxBytes(Uid)函数可以获取某一个进程的发送流量。

当然,还可包括类似的其他参数,本实施方式对此不加以限制。

需要说明的是,所述当前来电的第一状态参数包括:接听当前来电前的第一状态参数、接听当前来电时的第一状态参数及接听当前来电后的第一状态参数,故而,步骤S1中,所述获取当前来电的第一状态参数,具体包括:

分别获取接听当前来电前、接听当前来电时及接听当前来电后的第一状态参数。

可理解的是,所述第一状态参数包括:屏幕状态、屏幕界面、重力加速度、网络连接状态、上行音量状态、内存状态和数据流量状态中的至少一种,当然,还可包括其他类似的参数。

S2、将所述第一特征值与预先设置的黑名单及白名单进行比对,在所述第一特征值存在于所述黑名单中时,阻断所述当前来电;在所述第一特征值存在于所述白名单中时,继续接听所述当前来电。

本实施方式不依赖远程特征库,不改变终端和系统的原有结构,也不需要增加外部设备,只需通过获取当前来电的第一状态参数,根据所述第一状态参数建立第一状态矩阵,根据第一状态矩阵的第一特征值与预先设置的黑名单及白名单进行比对,并根据比对结果确定对当前来电的处理,从而能够防止通话被窃听,同时保证终端的正常功能不受影响。

由于通话场景的不同就会造成状态参数的不同,故而,预先建立的白名单及黑名单难以覆盖所有的通话场景,若某个通话场景的状态参数不存在于所述白名单及黑名单中,则无法进行判断,针对该问题,可选地,步骤S2中,在所述第一特征值不存在于所述黑名单及白名单中时,执行步骤S3;

S3、判断所述第一特征值是否存在于状态模型中,若所述第一特征值存在所述状态模型中,则将所述第一特征值对应的权重与预设范围进行比对,在所述第一特征值大于等于所述预设范围的上限值时,则继续接听所述当前来电,并结束流程;在所述第一特征值小于等于所述预设范围的下限值时,则阻断所述当前来电,并结束流程;在所述第一特征值满足所述预设范围时(需要说明的是,所述预设范围不包括上限值和下限值本身),执行步骤S4;若所述第一特征值不存在所述状态模型中,将所述第一特征值添加至所述状态模型中,并将所述第一特征值对应的权重设置为初始值,执行步骤S4;

S4、提示用户是否继续接听所述当前来电,并接收用户的选择指令,若用户选择继续接听,则继续接听所述当前来电,并增加所述第一特征值对应的权重,若用户选择不继续接听,则阻断所述当前来电,并减少所述第一特征值对应的权重。

在上述过程中,可根据通话被窃听的可能性,将一次通话可能被窃听的危险级别分为高、中、低三类。高表示本次通话很可能被环境窃听,应当尽快进行阻断;中表示被窃听的危险可能性比较高,但是系统无法判断,需要用户参与决定;低表示威胁级别较低,无需拦截。三类级别对应三张记录表,能互相转换,并提供用户交互接口。

根据特征值按照判定规则,进行危险级别分类,并根据判定结果进行阻断或者告警。如:当特征值在黑名单里面或对应权重小于等于-10时,可以认为危险级别为高;当特征值不在黑名单及白名单中且对应权重在-10到10之间时,危险级别为中。

在具体实现中,针对中度危险级别进行用户提醒,提醒方式包括震动和响铃,弹出警报框,让用户自主做出判断和选择,并对可疑进程进行用户提醒;针对高度危险级别,直接进行通话阻断,并利用应用程序和进程行为监听的技术,进行可疑程序和进程排查,提醒用户停用和卸载这类应用。可提供与用户交互接口,用户能够参与和协调防窃听判断、手动修改黑名单列表,并反馈到窃听判定模块,使得防窃听更加准确

下面以一个具体的例子来说明上述步骤S3~S4中的状态模型的建立过程:

先建立一个状态模型,该状态模型中对每种来电通话状态建立一个模型M=(fv,w),其中fv表示特征值,w代表该特征值所占的权重。

在用户选择继续接听时,将该特征值λ加入模型M,并设定其权重为1,也就是M=(λ,1),当下次再出现特征值为λ的情况,由于存在一定的偶然因素,还是会让用户做出判断,用户选择接听则继续让其对应权重加1,也就是M=(λ,2),以此类推。

当用户选择不继续接听时,将该特征值μ加入模型M,并设定其权重为-1,也就是M=(μ,-1),当下次再出现特征值为μ的情况,由于存在一定的偶然因素,同样还是会让用户做出判断,用户选择挂断则继续让其对应权重减1,也就是M=(μ,-2),以此类推。

通过自学习,不断地改进模型M=(fv,w)。直到某个特征值α对应的权重大于等于10,再监听到来电时,如果特征值为α,则可以继续接听;同时,如果某个特征值β对应的权重小于等于-10,再监听到来电时,如果特征值为β,则阻断。

在具体实现中,由于黑名单及白名单是预先设置的,故而,在步骤S1之前,还可包括建立黑名单及白名单的过程:

S001:获取正常通话的第二状态参数(相应地,所述正常通话的第一状态参数包括:接听正常通话前的第二状态参数、接听正常通话时的第二状态参数及接听正常通话后的第二状态参数),根据所述第二状态参数建立第二状态矩阵,计算所述第二状态矩阵的第二特征值,并将所述第二特征值添加至所述白名单中;

下面以一个具体的例子来说明白名单的建立过程:

当用户接听正常通话时,从监听到CALL_STATE_RINGING(来电状态)的前两秒(即接听正常通话前)到监听CALL_STATE_OFFHOOK(接听状态)的后五秒(即接听正常通话后),状态参数可能出现以下描述的一种情况。

(a)屏幕状态为:锁屏(用0表示)->解锁(用1表示)->锁屏;

(b)屏幕界面为:其他界面(用0表示)->通话界面(用1表示)->通话界面;

(c)重力加速度为:没有重力加速度(用0表示)->产生重力加速度(用1表示)->没有重力加速度;

(d)网络连接状态为:没有网络连接(用0表示)->没有网络连接(用0表示)->没有网络连接(用0表示);

(e)上行音量状态为:没有声音(用0表示)->没有声音(用0表示)->音量增大(用1表示);

(f)内存状态为:内存大小为a->内存大小为a->内存大小为a;

(g)数据流量状态为:数据流量大小为b->数据流量大小为b->数据流量大小为b。

可以根据以上的变化情况,建立如下的状态矩阵:

>010011010000001aaabbb>

其中,矩阵的行分别表示参数a到参数g,矩阵的列分别表示来电状态前2s、来电状态到接听状态、接听状态后5s这三种情况下对应参数的值。

通过计算可得到该状态矩阵的特征值λ1,因为当出现这种状态矩阵时,确定是正常通话,可以将该特征值λ1加入白名单,下次来电获取其状态矩阵的特征值,如果为λ1,则可以继续接听。

S002:获取窃听通话的第三状态参数(相应地,所述窃听通话的第一状态参数包括:接听窃听通话前的第三状态参数、接听窃听通话时的第三状态参数及接听窃听通话后的第三状态参数),根据所述第三状态参数建立第三状态矩阵,计算所述第三状态矩阵的第三特征值,并将所述第三特征值添加至所述黑名单中。

下面以一个具体的例子来说明黑名单的建立过程:与上述白名单的例子同理,下面针对一种极有可能是窃听通话的情况。

(a)屏幕状态为:锁屏->锁屏->锁屏,为了实现静默接听,安装在手机中的恶意代码往往不会在接到窃听通话时解锁屏幕;

(b)屏幕界面为:其他界面->其他界面->其他界面,为了不被用户发现,窃听通话一般不会出现通话界面;

(c)重力加速度为:没有重力加速度->没有重力加速度->没有重力加速度,由于用户并不知道有来电,所以不存在接听电话的动作;

(d)网络连接状态为:没有网络连接->没有网络连接->有网络连接,窃听通话为了实现将通话录音上传,可能会在通话过程中打开网络连接;

(e)上行音量状态为:没有声音->没有声音->没有声音,窃听通话为了不被用户发现,一般会在接通时将听筒关闭;

(f)内存状态为:内存大小为a->内存大小为a->内存大小为a+inc1,窃听通话会偷偷对通话进行录音,并暂时保存;

(g)数据流量状态为:数据流量大小为b->数据流量大小为b->数据流量大小为b+inc2。

可以建立如下的用户状态矩阵:

>000000000001000aaa+inc1bbb+inc2>

其中,矩阵的行分别表示参数a、参数b到参数g,矩阵的列分别表示来电状态前2s、来电状态到接听状态、接听状态后5s这三种情况下对应参数的值。

通过计算可得到该状态矩阵的特征值λ2,因为当出现这种状态矩阵时,确定是窃听通话,可以将该特征值λ2加入黑名单,下次来电获取其状态矩阵特征值,如果为λ2,则自动阻断。

按照上面的方式,可以通过分析建立一个特征值的黑名单及白名单。

图3是本发明一种实施方式的窃听行为侦测装置的结构框图;参照图3,所述装置包括:

特征计算单元,用于获取当前来电的第一状态参数,根据获取的第一状态参数建立第一状态矩阵,计算所述第一状态矩阵的第一特征值;

特征比对单元,用于将所述第一特征值与预先设置的黑名单及白名单进行比对,在所述第一特征值存在于所述黑名单中时,阻断所述当前来电;在所述第一特征值存在于所述白名单中时,继续接听所述当前来电。

可选地,所述特征比对单元,还用于在所述第一特征值不存在于所述黑名单及白名单中时,调用模型判断单元;

模型判断单元,用于判断所述第一特征值是否存在于状态模型中,若所述第一特征值存在所述状态模型中,则将所述第一特征值对应的权重与预设范围进行比对,在所述第一特征值大于等于所述预设范围的上限值时,则继续接听所述当前来电;在所述第一特征值小于等于所述预设范围的下限值时,则阻断所述当前来电;在所述第一特征值满足所述预设范围时,调用用户选择单元;若所述第一特征值不存在所述状态模型中,将所述第一特征值添加至所述状态模型中,并将所述第一特征值对应的权重设置为初始值,调用用户选择单元;

用户选择单元,用于提示用户是否继续接听所述当前来电,并接收用户的选择指令,若用户选择继续接听,则继续接听所述当前来电,并增加所述第一特征值对应的权重,若用户选择不继续接听,则阻断所述当前来电,并减少所述第一特征值对应的权重。

可选地,所述第一状态参数包括:屏幕状态、屏幕界面、重力加速度、网络连接状态、上行音量状态、内存状态和数据流量状态中的至少一种。

可选地,所述特征计算单元,还用于分别获取接听当前来电前、接听当前来电时及接听当前来电后的第一状态参数。

可选地,所述装置还包括:

白名单建立单元,用于获取正常通话的第二状态参数,根据所述第二状态参数建立第二状态矩阵,计算所述第二状态矩阵的第二特征值,并将所述第二特征值添加至所述白名单中;

黑名单建立单元,用于获取窃听通话的第三状态参数,根据所述第三状态参数建立第三状态矩阵,计算所述第三状态矩阵的第三特征值,并将所述第三特征值添加至所述黑名单中。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号