基于动态二进制平台的软件网络通信过程逆向分析

2014-11-05 09:32朱珊
电子技术与软件工程 2014年18期
关键词:分析

朱珊

摘 要

本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

【关键词】动态二进制平台 软件网络通信 分析

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新,在民航空管领域,如起飞前放行系统、数字通播系统、FIPS系统等,这些软件能够正常运行的前提是要可以进行网络通信。对于民航系统而言,网络通信的安全性无可厚非的排在了第一位。以往对于民航专网的依赖,让大家普遍降低了对网路通信风险的认识,事实上,网络通信功能也的确会存在一些危害,网络病毒和垃圾文件也是通过网络通信进行传递的。整个信息技术和软件的开发也会随着网络通信而变的越来越多样和进步。同时网络通信的种类和方式也是多种多样的,对于不同的软件可以采取不用的方式进行通信。我们要想在通信的过程中避免网络病毒和垃圾文件的入侵,就要首先了解网络通信的结构和通信过程的工作原理。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性,避免网络病毒和垃圾文件的入。

在进行网络通信逆向分析的时候,我们要根据不同的软件进行分类,有的软件必须要在软件不运行的情况下进行逆向分析,有的软件可以在软件运行的情况下进行逆向分析。下面我们就介绍一下进行通信软件逆向分析的一些步骤。

1 对网络通信软件进行记录

对通信软件进行数据记录是逆向分析的第一步,我们可以使用二进制平台 DynamoRIO 将软件中贮存的数据和容量以及各个操作指令等大量的信息数据进行记录和监控。二进制平台只是一个工具,它上面包含很多的函数信息,我们完全可以根据自己的需要,对二进制平台进行二次开发,然后再利用开发后的进行各项数据和信息的记录和监控。

在图 1的结构图中我们能够看出,在二进制平台上有非常多的外部接口,每个接口上面都有各自的一些功能。通过上面的整个流程结构图,我们就能够把原有的目标函数,进行一系列的计算和处理,最后得到我们所要求的功能。

2 创建线程提高效率

我们在进行网络数据的传输时,都是通过线程进行的,在传输的过程中肯定会有一个主线程,为了提高数据和信息传输的速度,我们叶可以同时创建几个线程进行传输。但是由于线程数量的增加,也会使通信软件的逆向分析变的复杂和困难。

在进行创建新的线程的时候,我们一定要把每个线程进行序列号的标记,还要记录线程的地址,母线程的程序代码。这样我们就能够在通信软件逆向分析的时候,有条不紊的进行,提高分析的效率。

3 线程同步的分析

上面所讲的在进行线程的创建后,进行各个线程进行同步的数据和信息的传输也是一个问题。要保证线程的同步就要使各个线程在进行传输的时候保持协调,当线程接到协作信号的时候才能进行工作,没有接到信号的时候就处于休息状态。

在实际的运行中,我们常常会发现有的线程已经执行完了,它的协作线程还处于执行状态,这时完成的线程就要等待它的协作线程。我们为了使各个线程的工作尽可能的处于同一进度,就要使用事件对象进行线程的同步。这种方法是将摸一个正在工作的线程作为一个事件对象,当这个线程完成工作之后,再将这个事件对象设置成有效工作状态,这个时候其他的一些线程才能够进行数据和信息的传送,这样就能达到多个线程工作的同步性。这时也要将各个同步线程的地址记录下来,方便逆向分析的需要。

4 基于自动机的套接字 I/O 模型识别

主要有以下几个模型:

(1)select 模型:该模型以集合的方式管理众多套接字连接,其具体思想是调用 select函数检查当前多个套接字的状态,根据 select 函数返回信息判断套接字的可读可写性,然后有针对性的处理各个套接字连接,完成数据的发送或接收。

(2 )WSAAsyncSelect 模型:该模型又称为异步选择模型,其具体思想是利用WSAAsyncSelect 函数为套接字向某个窗口注册网络事件。并且在确定一定的事件后,就会向子程序发出指令,而且还会通知应用程序的时态,然后应用程序在进行工作。

(3)WSAEventSelect 模型:该模型又称事件选择模型,其具体思想是在套接字上将设定的网络事件与某个通过 API 函数 WSACreateEvent 创建的事件绑定,应用程序通过查询该事件的状态判定套接字上是否发生了设定的网络事件。

5 结论

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性。本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

参考文献

[1]戴理.数据加解密过程逆向分析技术研究[D].解放军信息工程大学,2013.

[2]焦永生.进程间通信过程逆向分析技术研究[D].解放军信息工程大学,2013.

作者单位

中国民用航空大连空中交通管理站 辽宁省大连市 116033endprint

摘 要

本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

【关键词】动态二进制平台 软件网络通信 分析

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新,在民航空管领域,如起飞前放行系统、数字通播系统、FIPS系统等,这些软件能够正常运行的前提是要可以进行网络通信。对于民航系统而言,网络通信的安全性无可厚非的排在了第一位。以往对于民航专网的依赖,让大家普遍降低了对网路通信风险的认识,事实上,网络通信功能也的确会存在一些危害,网络病毒和垃圾文件也是通过网络通信进行传递的。整个信息技术和软件的开发也会随着网络通信而变的越来越多样和进步。同时网络通信的种类和方式也是多种多样的,对于不同的软件可以采取不用的方式进行通信。我们要想在通信的过程中避免网络病毒和垃圾文件的入侵,就要首先了解网络通信的结构和通信过程的工作原理。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性,避免网络病毒和垃圾文件的入。

在进行网络通信逆向分析的时候,我们要根据不同的软件进行分类,有的软件必须要在软件不运行的情况下进行逆向分析,有的软件可以在软件运行的情况下进行逆向分析。下面我们就介绍一下进行通信软件逆向分析的一些步骤。

1 对网络通信软件进行记录

对通信软件进行数据记录是逆向分析的第一步,我们可以使用二进制平台 DynamoRIO 将软件中贮存的数据和容量以及各个操作指令等大量的信息数据进行记录和监控。二进制平台只是一个工具,它上面包含很多的函数信息,我们完全可以根据自己的需要,对二进制平台进行二次开发,然后再利用开发后的进行各项数据和信息的记录和监控。

在图 1的结构图中我们能够看出,在二进制平台上有非常多的外部接口,每个接口上面都有各自的一些功能。通过上面的整个流程结构图,我们就能够把原有的目标函数,进行一系列的计算和处理,最后得到我们所要求的功能。

2 创建线程提高效率

我们在进行网络数据的传输时,都是通过线程进行的,在传输的过程中肯定会有一个主线程,为了提高数据和信息传输的速度,我们叶可以同时创建几个线程进行传输。但是由于线程数量的增加,也会使通信软件的逆向分析变的复杂和困难。

在进行创建新的线程的时候,我们一定要把每个线程进行序列号的标记,还要记录线程的地址,母线程的程序代码。这样我们就能够在通信软件逆向分析的时候,有条不紊的进行,提高分析的效率。

3 线程同步的分析

上面所讲的在进行线程的创建后,进行各个线程进行同步的数据和信息的传输也是一个问题。要保证线程的同步就要使各个线程在进行传输的时候保持协调,当线程接到协作信号的时候才能进行工作,没有接到信号的时候就处于休息状态。

在实际的运行中,我们常常会发现有的线程已经执行完了,它的协作线程还处于执行状态,这时完成的线程就要等待它的协作线程。我们为了使各个线程的工作尽可能的处于同一进度,就要使用事件对象进行线程的同步。这种方法是将摸一个正在工作的线程作为一个事件对象,当这个线程完成工作之后,再将这个事件对象设置成有效工作状态,这个时候其他的一些线程才能够进行数据和信息的传送,这样就能达到多个线程工作的同步性。这时也要将各个同步线程的地址记录下来,方便逆向分析的需要。

4 基于自动机的套接字 I/O 模型识别

主要有以下几个模型:

(1)select 模型:该模型以集合的方式管理众多套接字连接,其具体思想是调用 select函数检查当前多个套接字的状态,根据 select 函数返回信息判断套接字的可读可写性,然后有针对性的处理各个套接字连接,完成数据的发送或接收。

(2 )WSAAsyncSelect 模型:该模型又称为异步选择模型,其具体思想是利用WSAAsyncSelect 函数为套接字向某个窗口注册网络事件。并且在确定一定的事件后,就会向子程序发出指令,而且还会通知应用程序的时态,然后应用程序在进行工作。

(3)WSAEventSelect 模型:该模型又称事件选择模型,其具体思想是在套接字上将设定的网络事件与某个通过 API 函数 WSACreateEvent 创建的事件绑定,应用程序通过查询该事件的状态判定套接字上是否发生了设定的网络事件。

5 结论

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性。本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

参考文献

[1]戴理.数据加解密过程逆向分析技术研究[D].解放军信息工程大学,2013.

[2]焦永生.进程间通信过程逆向分析技术研究[D].解放军信息工程大学,2013.

作者单位

中国民用航空大连空中交通管理站 辽宁省大连市 116033endprint

摘 要

本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

【关键词】动态二进制平台 软件网络通信 分析

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新,在民航空管领域,如起飞前放行系统、数字通播系统、FIPS系统等,这些软件能够正常运行的前提是要可以进行网络通信。对于民航系统而言,网络通信的安全性无可厚非的排在了第一位。以往对于民航专网的依赖,让大家普遍降低了对网路通信风险的认识,事实上,网络通信功能也的确会存在一些危害,网络病毒和垃圾文件也是通过网络通信进行传递的。整个信息技术和软件的开发也会随着网络通信而变的越来越多样和进步。同时网络通信的种类和方式也是多种多样的,对于不同的软件可以采取不用的方式进行通信。我们要想在通信的过程中避免网络病毒和垃圾文件的入侵,就要首先了解网络通信的结构和通信过程的工作原理。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性,避免网络病毒和垃圾文件的入。

在进行网络通信逆向分析的时候,我们要根据不同的软件进行分类,有的软件必须要在软件不运行的情况下进行逆向分析,有的软件可以在软件运行的情况下进行逆向分析。下面我们就介绍一下进行通信软件逆向分析的一些步骤。

1 对网络通信软件进行记录

对通信软件进行数据记录是逆向分析的第一步,我们可以使用二进制平台 DynamoRIO 将软件中贮存的数据和容量以及各个操作指令等大量的信息数据进行记录和监控。二进制平台只是一个工具,它上面包含很多的函数信息,我们完全可以根据自己的需要,对二进制平台进行二次开发,然后再利用开发后的进行各项数据和信息的记录和监控。

在图 1的结构图中我们能够看出,在二进制平台上有非常多的外部接口,每个接口上面都有各自的一些功能。通过上面的整个流程结构图,我们就能够把原有的目标函数,进行一系列的计算和处理,最后得到我们所要求的功能。

2 创建线程提高效率

我们在进行网络数据的传输时,都是通过线程进行的,在传输的过程中肯定会有一个主线程,为了提高数据和信息传输的速度,我们叶可以同时创建几个线程进行传输。但是由于线程数量的增加,也会使通信软件的逆向分析变的复杂和困难。

在进行创建新的线程的时候,我们一定要把每个线程进行序列号的标记,还要记录线程的地址,母线程的程序代码。这样我们就能够在通信软件逆向分析的时候,有条不紊的进行,提高分析的效率。

3 线程同步的分析

上面所讲的在进行线程的创建后,进行各个线程进行同步的数据和信息的传输也是一个问题。要保证线程的同步就要使各个线程在进行传输的时候保持协调,当线程接到协作信号的时候才能进行工作,没有接到信号的时候就处于休息状态。

在实际的运行中,我们常常会发现有的线程已经执行完了,它的协作线程还处于执行状态,这时完成的线程就要等待它的协作线程。我们为了使各个线程的工作尽可能的处于同一进度,就要使用事件对象进行线程的同步。这种方法是将摸一个正在工作的线程作为一个事件对象,当这个线程完成工作之后,再将这个事件对象设置成有效工作状态,这个时候其他的一些线程才能够进行数据和信息的传送,这样就能达到多个线程工作的同步性。这时也要将各个同步线程的地址记录下来,方便逆向分析的需要。

4 基于自动机的套接字 I/O 模型识别

主要有以下几个模型:

(1)select 模型:该模型以集合的方式管理众多套接字连接,其具体思想是调用 select函数检查当前多个套接字的状态,根据 select 函数返回信息判断套接字的可读可写性,然后有针对性的处理各个套接字连接,完成数据的发送或接收。

(2 )WSAAsyncSelect 模型:该模型又称为异步选择模型,其具体思想是利用WSAAsyncSelect 函数为套接字向某个窗口注册网络事件。并且在确定一定的事件后,就会向子程序发出指令,而且还会通知应用程序的时态,然后应用程序在进行工作。

(3)WSAEventSelect 模型:该模型又称事件选择模型,其具体思想是在套接字上将设定的网络事件与某个通过 API 函数 WSACreateEvent 创建的事件绑定,应用程序通过查询该事件的状态判定套接字上是否发生了设定的网络事件。

5 结论

计算机信息技术发展和更新的速度越来越快,各种软件和应用也在不断的开发和更新。我们在了解网络通信的过程后,使用逆向推理的方法,在各个环节上做好准备,保证网络通信的安全性。本文提出了使用二进制平台进行通信软件的逆向分析,先将目标函数的数据和信息进行记录和监控,为了提高通信的效率采用了多线程的方式进行信息的传输,为了使多线程达到同步传输信息的目的,使用了事件对象的方式,最后通过使用I/O通信,从而达到通信软件的逆向分析。

参考文献

[1]戴理.数据加解密过程逆向分析技术研究[D].解放军信息工程大学,2013.

[2]焦永生.进程间通信过程逆向分析技术研究[D].解放军信息工程大学,2013.

作者单位

中国民用航空大连空中交通管理站 辽宁省大连市 116033endprint

猜你喜欢
分析
禽大肠杆菌病的分析、诊断和防治
隐蔽失效适航要求符合性验证分析
电力系统不平衡分析
电力系统及其自动化发展趋势分析
经济危机下的均衡与非均衡分析
对计划生育必要性以及其贯彻实施的分析
GB/T 7714-2015 与GB/T 7714-2005对比分析
网购中不良现象分析与应对
中西医结合治疗抑郁症100例分析
伪造有价证券罪立法比较分析