CN101853348B - 增强人机交互安全性的方法及*** - Google Patents

增强人机交互安全性的方法及*** Download PDF

Info

Publication number
CN101853348B
CN101853348B CN201010178341XA CN201010178341A CN101853348B CN 101853348 B CN101853348 B CN 101853348B CN 201010178341X A CN201010178341X A CN 201010178341XA CN 201010178341 A CN201010178341 A CN 201010178341A CN 101853348 B CN101853348 B CN 101853348B
Authority
CN
China
Prior art keywords
message
module
inspection
parameter
user
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.)
Expired - Fee Related
Application number
CN201010178341XA
Other languages
English (en)
Other versions
CN101853348A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201010178341XA priority Critical patent/CN101853348B/zh
Publication of CN101853348A publication Critical patent/CN101853348A/zh
Application granted granted Critical
Publication of CN101853348B publication Critical patent/CN101853348B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种增强人机交互安全性的方法,包括:根据用户输入消息的类型和参数将用户输入消息封装为统一格式的消息;把封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一进行处理;在处理过程中对消息的有效性和合法性进行检查;根据检查的结果做出不同的安全决策,并对该检查的过程和结果进行日志记录。还包括一种增强人机交互安全性的***,包括:统一消息格式模块、消息循环模块、消息检查模块和消息决策模块。本发明有效地杜绝了人机交互过程中恶意或非法操作的发生,增强了人机交互的安全性。

Description

增强人机交互安全性的方法及***
技术领域
本发明涉及计算机及电子信息技术领域,特别涉及一种增强人机交互安全性的方法及***。
背景技术
随着人机交互在当今计算机操作***中发挥着越来越重要的作用,用户在通过图形***与计算机进行人机交互的过程中暴露出的独有的安全性问题日益引起了人们的重视。人机交互中的安全问题不同于传统计算机安全问题,有其自身的特点,却同样可以产生巨大的危害,具体体现在:人机交互的界面逻辑在实现时往往存在错误,人机交互***缺乏对于输入合法性和有效性的检验机制及相关安全措施,目前尚缺乏针对人机交互***的安全性有效的测试手段。因此,防范和阻止人机交互中的恶意或非法操作,减少人机交互中异常的发生,增强人机交互的安全性成为重要的问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何杜绝人机交互过程中恶意或非法操作的发生,以增强人机交互的安全性。
(二)技术方案
一种增强人机交互安全性的方法,包括以下步骤:
S101:根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息,具体包括:
指定用户输入消息的类型,所述类型包括:鼠标产生的消息、键盘产生的消息和用户通过发送消息的***调用接口传递的消息;
指定用户输入消息的参数,所述参数包括:鼠标状态信息、键盘状态信息和用户指定的参数;
根据用户输入消息的类型和参数将用户输入消息封装为统一的格式;
S102:将所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一处理消息队列中的消息,具体包括:
将所述封装后的消息添加到全局唯一的消息队列队尾;
消息循环从消息队列队首摘取一个消息进行处理;
消息循环将已经处理的消息从消息队列队首删除;
如果消息队列非空,重复执行消息循环以逐一处理消息队列中的消息,否则消息循环处于空转等待状态;
S103:在消息处理过程中对消息的有效性和合法性进行检查,具体包括:
检查封装后消息的格式是否完整;
检查封装后消息的类型是否为已知的消息类型之一;
检查封装后消息的类型与消息的参数是否匹配;
检查封装后消息参数的值是否在有效的范围内;
S104:根据检查的结果做出不同的安全决策,并对该检查的过程和结果进行日志记录,具体包括:
对于检查正常的消息予以响应,执行相应的请求;
对于检查异常的消息中止其传递和执行,使之无效;
对消息检查的过程和结果,进行日志记录。
其中,所述鼠标状态信息包括:当前鼠标的坐标位置及左键、中键和右键按下或抬起的状态;所述键盘状态信息包括:当前击键的扫描码和对应字符,按键按下或抬起的状态。
其中,所述日志记录如下内容:
记录当前登录的***用户名;
记录发送异常消息的进程名和进程ID;
记录异常消息产生的***时间;
记录异常消息的消息类型;
记录异常消息的消息参数;
记录消息被判定为异常的原因。
本发明还提供了一种增强人机交互安全性的***,包括:统一消息格式模块、消息循环模块、消息检查模块及消息决策模块,
统一消息格式模块,用于根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息,指定用户输入消息的类型,所述类型包括:鼠标产生的消息、键盘产生的消息和用户通过发送消息的***调用接口传递的消息;指定用户输入消息的参数,所述参数包括:鼠标状态信息、键盘状态信息和用户指定的参数;根据用户输入消息的类型和参数将用户输入消息封装为统一的格式;
消息循环模块,用于把所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一处理消息队列中的消息,具体包括:消息入队列模块、消息获取模块、消息删除模块及判断模块,
所述消息入队列模块用于将所述封装后的消息添加到全局唯一的消息队列队尾;
所述消息获取模块用于消息循环从消息队列队首摘取一个消息进行处理;
所述消息删除模块用于消息循环将已经处理的消息从消息队列队首删除;
所述判断模块用于判断消息队列是否为空,若非空,重复执行消息循环以逐一处理消息队列中的消息,否则消息循环处于空转等待状态;
消息检查模块,用于在消息处理过程中对消息的有效性和合法性进行检查,具体包括:消息格式检查模块、消息类型检查模块、消息匹配检查模块及消息参数检查模块,
所述消息格式检查模块用于检查封装后消息的格式是否完整;
所述消息类型检查模块用于检查封装后消息的类型是否为已知的消息类型之一;
所述消息匹配检查模块用于检查封装后消息的类型与消息的参数是否匹配;
所述消息参数检查模块用于检查封装后消息参数的值是否在有效的范围内;
消息决策模块,用于根据检查的结果做出不同的安全决策,并对该检查的过程进行日志记录,具体包括:消息执行模块、消息中止模块及日志记录模块,
所述消息执行模块用于对于检查正常的用户输入消息予以响应,执行相应的请求;
所述消息中止模块用于对于检查异常的用户输入消息中止其传递和执行,使之无效;
所述日志记录模块用于对消息检查的过程和结果,进行日志记录。
(三)有益效果
本发明的增强人机交互安全性的方法及***有效地杜绝了人机交互过程中恶意或非法操作的发生,增强了人机交互的安全性。
附图说明
图1为本发明实施例的增强人机交互安全性方法的流程图;
图2为本发明实施例的消息流向示意图;
图3为本发明实施例的消息格式示意图;
图4为本发明实施例的消息队列示意图;
图5为本发明实施例的消息循环处理消息及消息检查流程图;
图6为本发明实施例的增强人机交互安全性***的结构示意图。
具体实施方式
本发明提出的增强人机交互安全性的方法及***,结合附图和实施例说明如下。
如图1所示,为本发明实施例的增强人机交互安全性方法的流程图,包括以下步骤:
步骤S101,根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息。如图2所示,用户输入消息主要包括三种类型,鼠标输入消息、键盘输入消息和用户通过发送消息的***调用接口传递的消息,鼠标输入消息的参数为鼠标状态信息,包括:当前鼠标的坐标位置及左键、中键和右键按下或抬起的状态;键盘输入消息为键盘状态信息,包括:当前击键的扫描码和对应字符,按键按下或抬起的状态;用户通过发送消息的***调用接口传递的消息的参数为用户指定的参数。如用户输入消息的格式如下:
Figure GSB00000684150300051
其中MsgType是消息的类型,ParaList是消息的所附带的参数列表。而用户用于生成消息的***调用是SendMessage,其形式如下:
DWORD SendMessage(WINDOW WinID,MES SAGE Msg);
其中WinID是要接收消息的窗口ID,其取值也可以包括发送消息窗口自身的ID,Msg是要发送的消息,SendMessage的返回值表示了消息的发送和执行过程是否成功,0值表示成功,非0值表示失败,具体失败原因可根据返回值作为错误代码在错误列表中查找获得。
统一格式的具体步骤为:指定用户输入消息的类型和参数,然后对类型和参数进行封装,使用户消息具有统一的消息格式。统一格式后的消息如图3所示,包括消息类型和若干和该类型对应的消息参数。若用户希望通过SendMessage***调用发送消息在本窗口内绘制一幅位图,则发送消息的形式如下:
WinID:本窗口的ID;
MsgType:消息类型为绘制位图消息MSG_DRAWBITMAP;
ParaList[0]:消息参数0为位图左上角的横坐标x;
ParaList[1]:消息参数1为位图左上角的纵坐标y;
ParaList[2]:消息参数2为位图的宽度w;
ParaList[3]:消息参数3为位图的宽度h;
ParaList[4]:消息参数4为指向位图数据颜色矩阵的指针p。
统一格式后的消息包括MsgType和ParaList[N],整数N的取值范围为0到4。其中消息类型如MSG_DRAWBITMAP都是预定义宏,属于用户通过发送消息的***调用接口传递的消息类型。而所要绘制的位图的左上角坐标(x,y)值是相对于窗口左上角为原点的坐标系而言的,而非相对于屏幕左上角为原点的坐标系。
步骤S102,把所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一进行处理,即封装后的消息被添加到消息队列队尾,经由消息循环处理后,再被分发到各个接收消息的对象,一般为消息响应函数,如图2所示。其中,消息队列如图4所示,为先进先出的结构,它只允许在其一端(队尾)***元素,在另一端(队头)删除元素。
步骤S103,在处理过程中对消息的有效性和合法性进行检查;本发明实施例中对消息的合法性和有效性进行的检查的内容如表1所示,具体包括:检查消息的格式是否完整,即是否包括消息的类型和参数。检查消息的类型是否合法,即消息的类型是否为已知的消息类型之一,具体的消息类型都是预定义宏,其取值有一定范围和规律,比如从0x0000到0x8000,如用户通过发送消息的***调用接口传递的消息类型:MSG_DRAWBITMAP=0x038F。如果传递的第一个参数MsgType值为0x838F,则所传递的消息类型就不是合法值。检查消息的类型与消息的参数是否匹配,如鼠标消息的参数应为鼠标的状态信息;检查消息参数的值是否在有效的范围内,如绘制消息的参数坐标应在屏幕范围内,代表绘制位图的左上角(x,y)坐标的ParaList[0]和ParaList[1]传递负值(-78,-162),因为坐标值不可能为负值,所以这样的消息参数值是无效的。又比如指向位图数据的指针p如果为空,表示位图颜色矩阵不存在,这样的参数也是无效的。
步骤S104,根据检查的结果做出不同的安全决策,并对该检查的过程和结果进行日志记录。具体包括:对于检查正常的消息予以响应,将该消息传递到对应的消息响应函数,执行相应的请求。对于检查异常的消息中止其传递和执行,使之无效,如对于用户通过发送消息的***调用接口传递的消息,使SendMessage***调用以非0值返回。对消息检查的过程和结果,进行日志记录。
日志记录的内容如表2所示,包括:记录当前登录的***用户名,如root;记录发送异常消息的进程名和进程ID,如/bin/Foo.elf和PID为4100;记录异常消息产生的***时间;记录异常消息的消息类型,如MSG_DRAWLINE为用户通过发送消息的***调用接口传递的消息;记录异常消息的消息参数,如(-78,-162,52012,63254),为用户指定的参数,即绘制直线时的起点和终点的屏幕坐标;记录消息被判定为异常的原因,如上述坐标超出了屏幕范围,因此原因为“InvalidParameter Value”。
表1消息检查的内容
Figure GSB00000684150300071
表2消息检查时日志记录的内容
Figure GSB00000684150300081
本发明实施例的消息循环以及循环中对消息的检查和决策的流程如图5所示,首先从消息队列队首摘取一个消息进行处理,从而进入消息循环;检查消息的合法性和有效性;根据消息检查的结果做出安全决策,包括:对于正常的输入消息予以响应,即将该消息分发到接受消息的对象并执行相应的请求;对于异常的输入消息中止其传递和执行,使之无效;对消息检查的过程和结果,进行日志记录。消息循环将已经处理的消息从消息队列队首删除。如果消息队列非空,消息循环重复以上步骤,否则消息循环处于空转等待状态。
如图6所示,为本发明实施例的增强人机交互安全性***的结构示意图,该***包括:统一消息格式模块,用于根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息;消息循环模块,用于把所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一进行处理;消息检查模块,用于在处理过程中对消息的有效性和合法性进行检查;消息决策模块,用于根据检查的结果做出不同的安全决策,并对该检查的过程进行日志记录。
所述消息循环模块包括:消息入队列模块,将所述封装后的消息添加到全局唯一的消息队列队尾;消息获取模块,用于消息循环从消息队列队首摘取一个消息进行处理;消息删除模块,用于消息循环将已经处理的消息从消息队列队首删除;判断模块,用于判断消息队列是否为空,若非空,消息循环重复以上步骤,否则消息循环处于空转等待状态。
所述消息检查模块包括:消息格式检查模块,用于检查封装后消息的格式是否完整;消息类型检查模块,用于检查封装后消息的类型是否为已知的消息类型之一;消息匹配检查模块,用于检查封装后消息的类型与消息的参数是否匹配;消息参数检查模块,用于检查封装后消息参数的值是否在有效的范围内。
所述消息决策模块包括:消息执行模块,用于对于检查正常的用户输入消息予以响应,执行相应的请求;消息中止模块,用于对于检查异常的用户输入消息中止其传递和执行,使之无效;日志记录模块,用于对消息检查的过程和结果,进行日志记录。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (4)

1.一种增强人机交互安全性的方法,其特征在于,包括以下步骤:
S101:根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息,具体包括:
指定用户输入消息的类型,所述类型包括:鼠标产生的消息、键盘产生的消息和用户通过发送消息的***调用接口传递的消息;
指定用户输入消息的参数,所述参数包括:鼠标状态信息、键盘状态信息和用户指定的参数;
根据用户输入消息的类型和参数将用户输入消息封装为统一的格式;
S102:将所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一处理消息队列中的消息,具体包括:
将所述封装后的消息添加到全局唯一的消息队列队尾;
消息循环从消息队列队首摘取一个消息进行处理;
消息循环将已经处理的消息从消息队列队首删除;
如果消息队列非空,重复执行消息循环以逐一处理消息队列中的消息,否则消息循环处于空转等待状态;
S103:在消息处理过程中对消息的有效性和合法性进行检查,具体包括:
检查封装后消息的格式是否完整;
检查封装后消息的类型是否为已知的消息类型之一;
检查封装后消息的类型与消息的参数是否匹配;
检查封装后消息参数的值是否在有效的范围内;
S104:根据检查的结果做出不同的安全决策,并对该检查的过程和结果进行日志记录,具体包括:
对于检查正常的消息予以响应,执行相应的请求;
对于检查异常的消息中止其传递和执行,使之无效;
对消息检查的过程和结果,进行日志记录。
2.如权利要求1所述的增强人机交互安全性的方法,其特征在于,所述鼠标状态信息包括:当前鼠标的坐标位置及左键、中键和右键按下或抬起的状态;所述键盘状态信息包括:当前击键的扫描码和对应字符,按键按下或抬起的状态。
3.如权利要求1所述的增强人机交互安全性的方法,其特征在于,所述日志记录如下内容:
记录当前登录的***用户名;
记录发送异常消息的进程名和进程ID;
记录异常消息产生的***时间;
记录异常消息的消息类型;
记录异常消息的消息参数;
记录消息被判定为异常的原因。
4.一种增强人机交互安全性的***,其特征在于,包括:统一消息格式模块、消息循环模块、消息检查模块及消息决策模块,
统一消息格式模块,用于根据用户输入消息的类型和参数将所述用户输入消息封装为统一格式的消息,指定用户输入消息的类型,所述类型包括:鼠标产生的消息、键盘产生的消息和用户通过发送消息的***调用接口传递的消息;指定用户输入消息的参数,所述参数包括:鼠标状态信息、键盘状态信息和用户指定的参数;根据用户输入消息的类型和参数将用户输入消息封装为统一的格式;
消息循环模块,用于把所述封装后的消息添加到全局唯一的消息队列中,并利用消息循环逐一处理消息队列中的消息,具体包括:消息入队列模块、消息获取模块、消息删除模块及判断模块,
所述消息入队列模块用于将所述封装后的消息添加到全局唯一的消息队列队尾;
所述消息获取模块用于消息循环从消息队列队首摘取一个消息进行处理;
所述消息删除模块用于消息循环将已经处理的消息从消息队列队首删除;
所述判断模块用于判断消息队列是否为空,若非空,重复执行消息循环以逐一处理消息队列中的消息,否则消息循环处于空转等待状态;
消息检查模块,用于在消息处理过程中对消息的有效性和合法性进行检查,具体包括:消息格式检查模块、消息类型检查模块、消息匹配检查模块及消息参数检查模块,
所述消息格式检查模块用于检查封装后消息的格式是否完整;
所述消息类型检查模块用于检查封装后消息的类型是否为已知的消息类型之一;
所述消息匹配检查模块用于检查封装后消息的类型与消息的参数是否匹配;
所述消息参数检查模块用于检查封装后消息参数的值是否在有效的范围内;
消息决策模块,用于根据检查的结果做出不同的安全决策,并对该检查的过程进行日志记录,具体包括:消息执行模块、消息中止模块及日志记录模块,
所述消息执行模块用于对于检查正常的用户输入消息予以响应,执行相应的请求;
所述消息中止模块用于对于检查异常的用户输入消息中止其传递和执行,使之无效;
所述日志记录模块用于对消息检查的过程和结果,进行日志记录。
CN201010178341XA 2010-05-17 2010-05-17 增强人机交互安全性的方法及*** Expired - Fee Related CN101853348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010178341XA CN101853348B (zh) 2010-05-17 2010-05-17 增强人机交互安全性的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010178341XA CN101853348B (zh) 2010-05-17 2010-05-17 增强人机交互安全性的方法及***

Publications (2)

Publication Number Publication Date
CN101853348A CN101853348A (zh) 2010-10-06
CN101853348B true CN101853348B (zh) 2012-05-23

Family

ID=42804832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010178341XA Expired - Fee Related CN101853348B (zh) 2010-05-17 2010-05-17 增强人机交互安全性的方法及***

Country Status (1)

Country Link
CN (1) CN101853348B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356611A (zh) * 2002-01-15 2002-07-03 Tcl王牌电子(深圳)有限公司 一种实现对输入消息进行转换处理的方法
CN1635781A (zh) * 2003-12-29 2005-07-06 北京中视联数字***有限公司 一种数字电视接收机中间件消息统一处理方法
CN1635464A (zh) * 2003-12-26 2005-07-06 申学东 计算机网络界面的管理方法
CN101276296A (zh) * 2007-03-29 2008-10-01 上海新跃仪表厂 一种在嵌入式计算机***上实现消息响应机制的方法
CN101620535A (zh) * 2009-07-29 2010-01-06 北京航空航天大学 一种机载计算机软件通用框架设计方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356611A (zh) * 2002-01-15 2002-07-03 Tcl王牌电子(深圳)有限公司 一种实现对输入消息进行转换处理的方法
CN1635464A (zh) * 2003-12-26 2005-07-06 申学东 计算机网络界面的管理方法
CN1635781A (zh) * 2003-12-29 2005-07-06 北京中视联数字***有限公司 一种数字电视接收机中间件消息统一处理方法
CN101276296A (zh) * 2007-03-29 2008-10-01 上海新跃仪表厂 一种在嵌入式计算机***上实现消息响应机制的方法
CN101620535A (zh) * 2009-07-29 2010-01-06 北京航空航天大学 一种机载计算机软件通用框架设计方法

Also Published As

Publication number Publication date
CN101853348A (zh) 2010-10-06

Similar Documents

Publication Publication Date Title
WO2019169759A1 (zh) 模拟接口的创建装置、方法及计算机可读存储介质
EP2530583B1 (en) Computer-implemented method, system and computer program product for displaying a user interface component
CN107528922A (zh) 一种消息推送方法、终端及计算机可读存储介质
CN101587527B (zh) 病毒程序扫描方法及装置
CN103324506A (zh) 一种控制Android应用程序安装的方法及手机
CN105550594A (zh) 安卓应用文件的安全性检测方法
CN103177199A (zh) 网页应用代码保护方法及***和执行的提速方法及***
CN112528307A (zh) 服务请求校验方法、装置、电子设备及存储介质
Summerfield Python in practice: create better programs using concurrency, libraries, and patterns
CN106846505A (zh) 一种检票方法
CN103902271B (zh) 在客户端和浏览器中统一显示窗体界面的方法
CN103699533A (zh) 获取web更新信息的方法和***
CN101853348B (zh) 增强人机交互安全性的方法及***
CN106502977B (zh) 一种基于b/s构架的表单处理方法及表单***
CN111193700B (zh) 一种安全防护方法、安全防护装置和存储介质
CN111090442A (zh) 一种应用更新方法、装置和存储介质
US20180336339A1 (en) Method And Apparatus For Generating Password By Means of Press Touch
CN111783119A (zh) 表单数据安全控制方法、装置、电子设备及存储介质
CN103595549A (zh) 标准化信息管理***
CN102868521A (zh) 一种增强对称密钥体系的密钥传输方法
CN115904317A (zh) 一种前后端接口统一调用方法、装置、设备及存储介质
CN102930203B (zh) 一种轻量级JavaScript沙箱的实现方法
CN103473487A (zh) 一种产品的软件网络验证加密方法及其***
CN107291614A (zh) 文件异常检测方法和电子设备
CN112416995B (zh) 一种数据统计方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

CF01 Termination of patent right due to non-payment of annual fee