CN101022472B - 一种对消息接口异常的预防保护方法 - Google Patents
一种对消息接口异常的预防保护方法 Download PDFInfo
- Publication number
- CN101022472B CN101022472B CN2006100335316A CN200610033531A CN101022472B CN 101022472 B CN101022472 B CN 101022472B CN 2006100335316 A CN2006100335316 A CN 2006100335316A CN 200610033531 A CN200610033531 A CN 200610033531A CN 101022472 B CN101022472 B CN 101022472B
- Authority
- CN
- China
- Prior art keywords
- message
- registration form
- receiving process
- invalid
- match
- 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
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开了一种对消息接口异常的预防保护方法,其在系统初始化阶段建立一张消息登记表,用于记录进程间需要传递的消息号、消息长度信息,在系统运行过程中,进程间需要传递消息时,由负责传递消息的模块统一查询该消息登记表,并进行合法性检查,对于非法消息号、非法消息长度予以过滤。本发明方法不需要在每个进程的消息入口处对每种消息做检查,只要在底层消息传递模块统一完成即可,因此其节省了大量的编程工作量;能够确保检测无遗漏;并可提供统一的异常日志。
Description
技术领域
本发明涉及一种通信系统,尤其涉及的是一种对消息接口异常的预防保护方法。
背景技术
如图1显示了现有技术通信系统的通用架构和进程间的消息传递机制。在底层硬件之上是板级支撑包(BSP),提供硬件设备的驱动和访问接口。BSP之上是商用的嵌入式操作系统。商用操作系统之上封装了操作支撑子系统,主要起到隔离商用操作系统和上层应用子系统的作用,便于应用子系统在不同平台上的移植。操作支撑子系统提供了常用的任务调度、内存管理、定时器管理、文件管理、进程间消息通信等功能。应用子系统中的两个进程A、B之间通过调用操作支撑子系统提供的消息通信API接口实现消息通信。
由于电信运营商对通信系统的稳定性有极高的要求,而系统端设备的软件复杂度极高,软件异常是设备商不得不面对的一个问题。在各种软件异常中,内存访问越界是危害性最大的一种,往往直接导致系统瘫痪,而且事故现场很难定位故障源。内存越界的本质原因是输入了非法数据。非法数据的来源有两种:内部和外部。模块内部逻辑错误,可能计算出非法的访问地址,这属于内部故障源。内部故障源通过足够的单元测试一般能得到充分的暴露,但更多的威胁来自外部故障源,即模块间接口的非法输入数据。接口的非法数据,不仅单元测试无法触及,集成测试也很难穷举发现。
针对进程间消息接口输入非法数据的问题,通信软件行业常用的办法,是在每个进程的接收消息入口处,对消息的合法性进行检查判断。图2显示了业界通行的消息合法性检查方式,其中消息的合法性要靠各个进程自己判断保证。检查内容包括消息号是否合法、对应的消息体长度是否合法等。现有技术方法依赖人力,不仅效率低,而且缺乏有效的约束措施。在复杂度高的系统中,以及大规模开发团队中,很容易出现遗漏。而一旦因为遗漏了判断保护,在系统运行当中出现故障时,很难从海量的软件代码中找出故障点。
因此,现有技术存有缺陷,而有待于改进和发展。
发明内容
本发明的目的在于提出一种对消息接口异常的预防保护方法,通过系统注册的方式,由系统在运行过程中自动对消息接口进行合法性检查,并过滤非法数据,实现对所有应用模块的统一保护。
本发明的技术方案包括:
一种对消息接口异常的预防保护方法,其在系统初始化阶段建立一张消息登记表,用于记录进程间需要传递的消息号、消息长度信息,在系统运行过程中,进程间需要传递消息时,由负责传递消息的模块在执行消息发送之前统一查询该消息登记表,并进行合法性检查,对于非法消息号、非法消息长度和接收进程不匹配的消息予以过滤。
所述的方法,其中,具体包括步骤:
A、系统初始化时,对所述消息登记表进行初始化,登记所有需要检查的消息;
B、发送进程准备发送消息前,先检查该消息登记表,如消息异常则丢弃处理;所有匹配检查都通过时才把消息投递给接收进程。
所述的方法,其中,所述检查消息登记表的过程包括:
B1、在登记在册的消息中搜索对应消息号,如果没有找到对应的消息号,表明发送进程发出了一条非法消息,记录异常日志后对消息进行丢弃处理;
B2、如果找到了对应的消息号,则检查有无对应的接收进程相匹配,如果接收进程不匹配,表明发送进程发出了一条非法消息,记录异常日志后予以丢弃处理;
B3、如果接收进程匹配成功,则检查消息体长度是否匹配,如果不匹配,表明发送进程发出的消息与接收进程预期不符,记录异常日志后予以丢弃。
本发明所提供的一种对消息接口异常的预防保护方法,与现有技术相比,不需要在每个进程的消息入口处对每种消息做检查,只要在底层消息传递模块统一完成即可,因此其节省了大量的编程工作量;能够确保检测无遗漏;并可提供统一的异常日志。
附图说明
图1显示了现有技术的通信系统的通用架构和进程间的消息传递机制示意图;
图2显示了现有技术的消息合法性检查方式示意图;
图3显示了本发明提出的方法流程图。
具体实施方式
以下结合附图,将对本发明的各较佳实施例进行较为详细的说明。
本发明所提出的对消息接口异常的预防保护方法,是在系统初始化阶段建立一张消息登记表,表中记录进程间需要传递的消息号、消息长度等信息,在系统运行过程中,进程间需要传递消息时,由负责传递消息的模块统一查询消息登记表进行合法性检查,对于非法消息号、非法消息长度等予以过滤,达到保护整个系统安全的目的。
如图3显示了本发明提出的方法流程图,通过操作支撑子系统中的消息通信模块维护一张消息登记表,应用进程A向应用进程B发消息M时,调用操作支撑子系统提供的消息通信API接口SendMessage(),SendMessage()首先在消息登记表中查询M消息所登记的收、发进程、消息长度等是否匹配,匹配则表示消息安全合法,可以投递给接收进程B;如果不匹配,则有可能对接收进程B造成破坏,不予投递,在记录异常日志后把非法消息丢弃,保护了接收进程不受非法数据的影响。
在通信系统中,操作支撑子系统的进程间通信模块一般都会提供一个消息发送API接口,形如SendMessage(receiver,eventNo,msgBody),receiver是消息接收进程的唯一标识,eventNo是消息号,msgBody是消息体。本发明方法在系统级维护一张消息登记表T,记录哪个进程(receiver)登记了哪些消息号(eventNo)、对应的消息体长度(msgBodyLen)是多少。登记表T的形式示例如表1所示。
表1消息登记表格式
本发明方法在系统初始化时,对消息登记表T进行初始化,登记所有需要检查的消息。
某一发送进程A准备发送消息,应用进程A调用SendMessage(),在SendMessage执行消息发送之前,首先查表T。表头的有效记录数N记录了当前登记在册的消息总数,在这N条记录中搜索消息号eventNoI。如果没有找到对应的消息号,表明进程A发出了一条非法消息,记录异常日志后对消息进行丢弃处理。
如果找到了对应的消息号(可能不止一条记录),再进一步检查有无对应的接收进程相匹配,如果接收进程不匹配,表明进程A发出了一条非法消息,记录异常日志后予以丢弃处理。
如果接收进程匹配成功,再进一步检查消息体长度以及其他需要校验的信息是否匹配,如果不匹配,表明进程A发出的消息与接收进程预期不符,可能对接收进程造成破坏,记录异常后予以丢弃。如果以上一系列匹配检查都获通过,才把消息投递给接收进程B。
本发明与现有技术相比,不需要在每个进程的消息入口处对每种消息做检查,只要在底层消息传递模块统一完成即可,因此节省了大量的编程工作量;确保检测无遗漏;并可提供统一的异常日志。
应当理解的是,上述针对具体实施例的说明较为详细,并不能因此而理解为对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (3)
1.一种对消息接口异常的预防保护方法,其在系统初始化阶段建立一张消息登记表,用于记录进程间需要传递的消息号、消息长度信息,在系统运行过程中,进程间需要传递消息时,由负责传递消息的模块在执行消息发送之前统一查询该消息登记表,并进行合法性检查,对于非法消息号、非法消息长度和接收进程不匹配的消息予以过滤。
2.根据权利要求1所述的方法,其特征在于,具体包括步骤:
A、系统初始化时,对所述消息登记表进行初始化,登记所有需要检查的消息;
B、发送进程准备发送消息前,先检查该消息登记表,如消息异常则丢弃处理;所有匹配检查都通过时才把消息投递给接收进程。
3.根据权利要求2所述的方法,其特征在于,所述检查消息登记表的过程包括:
B1、在登记在册的消息中搜索对应消息号,如果没有找到对应的消息号,表明发送进程发出了一条非法消息,记录异常日志后对消息进行丢弃处理;
B2、如果找到了对应的消息号,则检查有无对应的接收进程相匹配,如果接收进程不匹配,表明发送进程发出了一条非法消息,记录异常日志后予以丢弃处理;
B3、如果接收进程匹配成功,则检查消息体长度是否匹配,如果不匹配,表明发送进程发出的消息与接收进程预期不符,记录异常日志后予以丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100335316A CN101022472B (zh) | 2006-02-13 | 2006-02-13 | 一种对消息接口异常的预防保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100335316A CN101022472B (zh) | 2006-02-13 | 2006-02-13 | 一种对消息接口异常的预防保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101022472A CN101022472A (zh) | 2007-08-22 |
CN101022472B true CN101022472B (zh) | 2010-06-09 |
Family
ID=38710121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100335316A Expired - Fee Related CN101022472B (zh) | 2006-02-13 | 2006-02-13 | 一种对消息接口异常的预防保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101022472B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627715A (zh) * | 2003-12-08 | 2005-06-15 | 华为技术有限公司 | 一种无线局域网接入关口及其实现保障网络安全的方法 |
CN1688169A (zh) * | 2005-05-08 | 2005-10-26 | 许牧 | 一种用户自定义消息监管的方法和设备 |
CN1695341A (zh) * | 2002-11-06 | 2005-11-09 | 艾利森电话股份有限公司 | 防止非法使用ip地址的方法和装置 |
-
2006
- 2006-02-13 CN CN2006100335316A patent/CN101022472B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1695341A (zh) * | 2002-11-06 | 2005-11-09 | 艾利森电话股份有限公司 | 防止非法使用ip地址的方法和装置 |
CN1627715A (zh) * | 2003-12-08 | 2005-06-15 | 华为技术有限公司 | 一种无线局域网接入关口及其实现保障网络安全的方法 |
CN1688169A (zh) * | 2005-05-08 | 2005-10-26 | 许牧 | 一种用户自定义消息监管的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101022472A (zh) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105956474B (zh) | Android平台软件异常行为检测系统 | |
CN102694696B (zh) | Dns服务器异常检测的方法及装置 | |
WO2013169059A1 (ko) | 웹 서비스 모니터링 시스템 및 방법 | |
CN102541729A (zh) | 软件安全漏洞检测装置和方法 | |
CN100373337C (zh) | 一种嵌入式系统的引导系统 | |
CN106294102A (zh) | 应用程序的测试方法、客户端、服务器及系统 | |
CN101201884A (zh) | 软件组件、软件组件管理方法以及软件组件管理系统 | |
CN108345806A (zh) | 一种硬件加密卡和加密方法 | |
US11893331B2 (en) | Device verification method, UVM verification platform, electronic apparatus and storage medium | |
CN102104679A (zh) | 一种防止移动终端被非法用户使用的方法及装置 | |
CN1439129A (zh) | 在非易失存储器设备内的嵌入安全设备 | |
CN108920960A (zh) | 一种app安全验证方法及系统 | |
DE60002908D1 (de) | Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern | |
CN102801699B (zh) | 防止服务器数据篡改的系统、方法及设备 | |
EP1561301A1 (en) | Software integrity test in a mobile telephone | |
CN101022472B (zh) | 一种对消息接口异常的预防保护方法 | |
CN112866285B (zh) | 网关拦截方法、装置、电子设备及存储介质 | |
CN106649019A (zh) | 一种基于串口的整机自动化pcie通信质量测试方法 | |
CN103116848B (zh) | 安全电子支付的方法、设备及系统 | |
CN113806808B (zh) | 一种分布式环境下无侵入的数据脱敏方法及系统 | |
CN103164290B (zh) | 应用内存管理方法和装置 | |
EP4261713A1 (en) | License file management method and apparatus, and device | |
CN113792285B (zh) | 一种核电站业务权限控制方法、装置及终端设备 | |
CN109582454A (zh) | 一种分布式存储集群中的权限释放控制方法、装置及设备 | |
CN101938627B (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: 20100609 Termination date: 20150213 |
|
EXPY | Termination of patent right or utility model |