(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf_第1页
(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf_第2页
(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf_第3页
(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf_第4页
(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机系统结构专业论文)基于双核的安全信息交互机制的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士论文基于双核的安全信息交互机制的研究 1 绪论 1 1 课题来源 本文来源于国家8 6 3 计划“基于双核的安全w i n d o w s 终端技术研究”项目( 编号 2 0 0 6 a a 0 1 2 4 4 7 ) ,本方案的基本思路是在w m d o w s 终端同外部网络之间插入一个辅核 系统,辅核系统是基于a r m 平台,运行高安全的操作系统作为安全处理的平台,对出 入w i n d o w s 终端的网络数据进行安全处理,从而达到保护其网络安全的目的。本方案 在解决网络安全问题的w m d o w s 终端中,整个系统拥有两个c p u 和两个操作系统,这 种对w m d o w s 终端进行安全防护的模式称为双核双操作系统,简称双核双系统 ( d u a l c o r ed u a l s y s t e m ,d c d s ) 。 本文是设计d c d s 系统项目中的一部分,要完成d c d s 系统中安全信息交互机制 的研究。 1 2 双核与网络安全的现状 双核就是2 个核心,具备两个物理上的运算内核,双核指基于x 8 6 开放架构的双 核技术。在这方面,起领导地位的厂商主要有a m d 和i n t e l 两家。其中,两家的思路 又有不同。a m d 从一开始设计时就考虑到了对多核心的支持。所有组件都直接连接到 c p u ,消除系统架构方面的挑战和瓶颈。两个处理器核心直接连接到同一个内核上,核 心之间以芯片速度通信,进一步降低了处理器之间的延迟。而i n t e l 采用多个核心共享 前端总线的方式。专家认为,a m d 的架构对于更容易实现双核以至多核,i n t e l 的架构 会遇到多个内核争用总线资源的瓶颈问题。 据现有的资料显示,a m do p t e r o n 处理器从一开始设计时就考虑到了添加第二个 内核,两个c p u 内核使用相同的系统请求接口s r i 、h y p e r t r a n s p o r t 技术和内存控制器, 兼容9 0 纳米单内核处理器所使用的9 4 0 引脚接口。而英特尔的双核心却仅仅是使用两 个完整的c p u 封装在一起,连接到同一个前端总线上。a m d 的技术架构为实现双核和 多核奠定了坚实的基础。a m d 直连架构( 也就是通过超传输技术让c p u 内核直接跟外 部i o 相连,不通过前端总线) 和集成内存控制器技术,使得每个内核都自己的高速缓 存可资遣用,都有自己的专用车道直通i o ,没有资源争抢的问题,实现双核和多核更 容易。而i n t e l 是多个核心共享二级缓存、共同使用前端总线的,当内核增多,核心的 处理能力增强时,就像现在北京郊区开发的大型社区一样,多个社区利用同一条城市快 速路,肯定要遇到堵车的问题。 针对终端主机的安全威胁,目前流行的安全防护技术主要有以下几种: 1 绪论硕士论文 防火墙技术:网络防火墙技术是一种用来加强网络之间访问控制,防止外部网络用 户以非法手段入侵内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互 联设备。它对两个或多个网络之间传输的数据包按照一定的安全策略实施检查,以此确 认网络间通信的安全性,并监视网络运行的状态 入侵检测技术【l 】:入侵检测技术是为保证计算机系统的安全而设计的一种能够及时 发现并报告系统中未授权或异常现象的技术,用于提供实时的入侵检测,以便及时采取 相应的防护手段。入侵检测技术从各种各样的系统和网络资源中采集信息,对这些信息 进行分析和判断,及时发现入侵和异常的信号,为作出响应赢得宝贵时间。 访问控制技术:访问控制技术是按照事先确定的规则决定主体对客体的访问是否合 法。当一个主体试图非法使用一个未经授权的客体( 资源) 时,访问控制功能将拒绝这 一企图,并可报告这一事件给审计跟踪系统,审计跟踪系统产生一个报警信息或形成部 分追踪审计。 物理隔离技术:物理隔离的思路源于逆向思维,即首先切断可能的攻击途径( 如物 理链路) ,再尽力满足用户的应用。物理隔离技术演变经历了几个阶段:双机双网通过 人工磁盘拷贝实现网络间隔离;单机双网或多网通过物理隔离卡隔离集线器切换机制 实现终端隔离;隔离服务器实现网络间文件交换拷贝等。切断物理通路可以避免基于网 络的攻击和入侵,但不能有效地阻止依靠磁盘拷贝传播的病毒、木马程序等流入内网, 以及这些有害程序在终端主机上的操作。 硬件防火墙由于使用专用的操作系统,避免了通用操作系统的漏洞,同时采用专用 的芯片处理数据包,具有很高可靠性和强大的处理能力,但是价格昂贵,一般只在企业 网络中布署使用。 目前很多大型计算机软硬件公司也开发出一些性能优越的嵌入式网络安全设备,它 们大多也采用“软件+ 硬件 形式,主机防火墙为集成了分布式防火墙技术的硬件产品, 而防火墙服务器则采用软件形式,以适应更加灵活和高智能的要求。其中,比较出色的 是3 c o m 公司,2 0 0 2 年1 0 月该公司推出一种基于硬件的分布式防火墙解决方案,它们 被嵌入到网卡中,通过嵌入式防火墙策略服务器来实现集中管理【2 4 j 。这种嵌入式防火墙 技术把硬件解决方案的强健性和集中管理式软件解决方案的灵活性结合在一起,从而提 供了分布式防火墙技术,并创建了一种更完善的安全基础架构【2 】。 3 c o r n 嵌入式防火墙解决方案允许i t 主管部署一种涵盖整个公司客户机的安全模 式。这种功能对政府、金融、保健和教育等注重安全的行业来说更为重要。该解决方案 对客户机采用防篡改安全措施以及可管理策略实施方法,加大了对内部威胁的防范力 度。以这种独特方式把防火墙硬件和集中式策略管理软件相结合,将能够阻止通过网络 边缘的内部和外部对台式系统、服务器和笔记本电脑发起攻击和入侵,从而实现“纵深 防御 的网络安全。 2 硕士论文 基于双核的安全信息交互机制的研究 1 3 论文组织结构 本论文的章节安排如下: 第一章绪论 阐述论文的来源,网络安全的研究现状。 第二章基于双核的安全w m d o w s 终端系统信息交互总体架构 阐述基于双核的安全w m d o w s 终端理论,设计思想和目标,安全终端的体系结构 和第三通道的开辟和选择,在分析了d c d s 系统的特性后,简要地阐述了信息交互的 模块和模块功能。 第三章主核端安全信息交互的设计实现 本章从双核系统安全的目标出发,阐述主核w m d o w s 端功能模块的设计,包括安 全配置信息的格式、安全交互通道的设计、警告信息的种类和显示,并按要求实现 w m d o w s 下串口的收发工作和对接收到信息的分析。 第四章辅核端安全信息交互的设计实现 本章要求根据双核信息安全交互功能目标,实现辅核端嵌入式l i n u x 系统中串口驱 动模块的开发,交互安全规则信息存放到特定f l a s h 驱动的存储器中,还要实现对项目 其他模块提供访问存储器和串口的接口。 第五章辅核端安全网络信息流分析 本章主要针对传输在网络中的网络信息流使用l i b p c a p 工具包实现捕获,并根据 t c p i p 协议族中各协议组织结构分析,为进一步加密信息和重组网络数据包提供可行 性。 第六章总结及展望 总结论文中的工作,并对论文的下一步研究做好进一步的展望。 2 基于双核的安全w i n d o w s 终端系统信息交互总体框架 硕士论文 2基于双核的安全w i n d o w s 终端系统信息交互总体架构 2 1 基于双核的安全w i n d o w s 终端理论 2 1 1 基于双核的安全w i n d o w s 终端设计思想 基于双核的安全w i n d o w s 终端是在对现有的各种w i n d o w s 网络安全防护技术的优 缺点进行调研分析后,而提出的一种通过双核双操作系统结构来解决w i n d o w s 终端网 络安全问题的防护模型和方法。基于双核的安全w i n d o w s 终端的设计思想是:在一个 独立于w i n d o w s 操作系统的硬件平台辅核系统上运行一个高安全的操作系统作为 安全处理平台,在这仝垩台e 通过各种安全防护技术对出入w j i k i o w s 主机的网络数据 进行安全处理,达到保护w i n d o w s 主机网络安全的目的。辅核系统将通过p c i 接口p j 同w i n d o w s 主机相连接。辅核系统可以接受w i n d o w s 主机发送过来的各种安全策略, 对流经辅核系统的各种网络数据包进行实时处理。 将安全处理与w i n d o w s 操作系统相分离,并能够做到w i n d o w s 操作系统与外网物 理上的隔离,双核双操作系统结构可以有效的防范通过w i n d o w s 的漏洞或后门对 w i n d o w s 终端进行攻击的行为的发生,克服了传统的基于软件的网络安全防护技术的固 有缺陷。图2 1 1 1 为基于双核的安全w i n d o w s 终端解决方案的示意图。 用户 图2 。1 1 1 基于双核的安全w m d o w s 终端结构示意图 2 1 2 基于双核的安全w i n d o w s 终端设计目标 基于双核的安全w i n d o w s 终端的设计目标是实现在辅核上对所有出入w i n d o w s 主 机的网络数据的安全验证,以达到保护w i n d o w s 主机网络安全的目的。要实现这个目 标,基于双核的安全w i n d o w s 终端技术需完成以下四方面的研究: ( 1 ) 设计p c i 接口的a r m 核心板辅核p c i 板卡,其上主要包含a r m 处理 器、s d r a m 、f l a s h 、网络控制器以及其它必要的芯片。辅核p c i 板卡是运行各类安 全处理软件的硬件平台,其主要作用是实现对出入w i n d o w s 主机的网络数据的截获及 转发,使其成为进行网络安全处理的目标设备。 ( 2 ) 通过对基于双核的安全w i n d o w s 终端i o 管理技术的研究,设计并实现 w i n d o w s 操作系统上的辅核板卡的设备驱动程序模块。基于双核的安全w i n d o w s 终端 4 e 硕士论文 基于双核的安全信息交互机制的研究 i o 管理技术的主要目标是保证辅核板卡的正常工作以及w m d o w s 主机通过辅核板卡对 网络的正常访问,实现辅核系统对w i n d o w s 主机的透明。 ( 3 ) 设计并实现双核、双操作系统模式下的安全控制模块。安全控制模块运行在 辅核板卡的高安全操作系统上,其主要作用是利用包过滤、内容过滤、身份鉴别、访问 控制等各种安全防护技术对出入w m d o w s 主机的网络数据进行安全处理。 ( 4 ) 通过对基于双核的安全w m d o w s 终端系统管理技术的研究,设计并实现在 w m d o w s 操作系统上对辅核板卡进行管理与维护的软件模块一系统管理模块。 2 1 3 第三通道的开辟 1 第一通道和第二通道 在8 6 3 课题“基于双核的安全w i n d o w s 终端技术研究 研究过程中,对数据通 道考虑的主要是p c i 接口。无论是网络数据,还是安全配置信息,以及辅核系统安全处 理模块反馈的警告信息等数据,都是通过p c i 接口进行交互的。在图2 1 3 1 的主辅核 通信模块中,使用的只有p c i 接口和辅核系统与外网相连的网络接口,也就是本文所提 的第一通道和第二通道。 w i i i d o w s 主机系统 辅核系统 w 数数 辅 w i n - d o w s据安据 核 d o w a p i 上 e n s s 网 s 接 层 网卡 p c i 主辅 提全提外 络 应 口 小 设备 c -卜、 接 核通 双端 取 处 取 弼 控 l 、广 、叫 驱 、一 ,、吖 信程 口存 j 、 通 制 j 、叫转 理 转 用程驱动 j 口 序 储器 发 程 发 信 程 序 动 程序 嚣 程 程 序 程 程 序 序 序 序 序 i 第一通道1 l 第二通道1 2 1 3 1 主辅核系统通信通道图 项目课题中,第一通道是连接主辅核系统的接口通道,其作用是实现主辅核系统间 的一切数据交互;第二通道是辅核系统与外界网络连接的通道,其作用是实现网络数据 的发送和接收,使得主核w m d o w s 端与外界网络的在物理意义上相分离。 2 第三通道 在图2 1 3 1 中,所有的主辅核系统之间的数据通信都是通过第一通道来完成的, 无疑第一通道就成了课题中的瓶颈。第一通道完成的工作量无疑是最大的,它不仅要处 理对内和对外的网络数据,还要处理主核对辅核系统中安全处理程序的安全配置信息, 而且也要处理辅核系统中传过来的告警信息。这种情况下,为了保证主辅核系统中对网 络数据传输速度的要求,就有必要开辟新的信息交互的通道了,即所谓“第三通道”。 第三通道的作用是分担第一通道的工作量,概括来说就是主辅核系统间安全信息的 交互,具体是主核w i n d o w s 端对辅核系统的安全处理规则的配置,并传输辅核端在安 5 2 基于双核的安全w m d o w s 终端系统信息交互总体框架硕士论文 全处理中出现不安全信息的反馈。 对于第三通道,可以使用并行口,网络口,u s b 口,串行口,或者更为先进的无 线数据传输的蓝牙技术和红外数据传输( i r d a ) 等。 并行传输【4 1 【5 1 【6 】是指数据以成组方式在多个并行的信道上同时传输,相应地需要若 干根传输线。一般用于计算机内部或近距离设备的数据传输,如计算机和打印机之间的 通信,一次传送一个字节的信号,所以传输信道需要8 根数据线,同时还需要其它的控 制信号线。并行传输优点是速度快,缺点是费用高。因为并行传输需要一组传输线,所 以并行传输一般用在短距离范围且传输速度要求高的场合。 网络口数据传输是指通过网络控制器( 如c s 8 9 0 0 ,d m 9 0 0 0 ) 进行数据传输。但是, 这种方法传输的话,安全信息数据必须经过数据打包,从上层向下传输,到达传输层, 网络层,再经过网络控制器发送到网络介质中,到达目的机后还要一层一层的解包,非 常浪费时间。尽管如使用d m 9 0 0 0 网速可以达到1 0 0 m b i t s s ,还要考虑到本项目中硬件 平台:系$ 3 c 2 4 1 0 处理器系列的s t 2 4 1 0 开发核心板只支持一个网络接口和主核的 w m d o w s 终端还要另外研究辅核传过来的数据是不是我们进行安全信息交互的数据。 u s b 口数据传输作为最近几年新兴的一种数据接口,其硬件简单,数据传输数度 快,但u s b 控制软件较为复杂。立足于现阶段,u s b 传输方式还不适合于项目的使用。 但考虑到,项目的后期和实际产品对速度的需要,可以用u s b 传输作为改进的方法。 i r d a 是较早的无线通讯接口,b l u e t o o t h 是目前新兴的无线通讯接口,两张都是很 好的短距离数据通讯传输的方式。但是,同样也显示出他们的缺点,他们抗干扰性差, 而且还需要主核的w i n d o w s 终端有相应的软件支持。总的来说,是不适合课题的开发 的要求。 但是,使用串行口作为第三通道进行安全信息交互,它有很着很多的优势: ( 1 ) 近距离数据传输,出错率低。 ( 2 ) $ 3 c 2 4 1 0 系列处理器核心板支持3 个u a r t 。 ( 3 ) 主核端的w i n d o w s 端系统硬件不需要改动。 ( 4 ) 软件支持和技术易于实现。m i c r o s o f t 的开发工具v c + + 6 0m f c 开发机制中 给我们很好提供了串行通讯类【_ 7 1 ,可以很容易地开发出适合本项目的串行口软件。 ( 5 ) 安全性。当需要对安全信息( 数据包中过滤模块所使用的关键字) 进行更新 时,就可以用串行数据线连接起来,更新完成后,若不需要了,就可以随时撤去,这样 可以保证传输的数据不受外界的影响,做到安全信息的安全。 2 1 4 基于双核的安全w i n d o w s 终端体系结构 在d c d s 终端软件体系结构中,“双核”是指在w i n d o w 端的x 8 6 ,和辅核上的a r m 9 硬件系统,“双操作系统 是指w i n d o w s 高安全的嵌入式操作系统的软件组成。主核为 硕士论文基于双核的安全信息交互机制的研究 p c 主机并运行w m d o w s 操作系统,辅核为删板卡并运行高安全的嵌入式l i n u x 操 作系统内核。w i n d o w s 和高安全的嵌入式l i n u x 操作系统各自独立运行,并协同工作。 基于双核的安全w m d o w s 终端的总体方案是:以a r m 8 】处理器为核心,在其上运 行经过裁减的l i n u x 作为安全控制模块进行安全处理的操作系统平台,操作系统及重要 的数据( 如安全策略、用户信息等) 以文件形式保存在f l a s h 存储器中,数据或者告警 信息通过串行接口传送给w m d o w s 主机,用户则可通过w i n d o w s 主机上的g u i 界面查 看并设置辅核系统的设备参数以及配置安全控制模块的安全策略。 图2 1 4 1 基于舣核的安全w i n d o w s 终端系统硬件体系结构图 在上述方案的基础上,设计基于双核的安全w i n d o w s 终端的工作流程:合法用户 通过w i n d o w s 主机的系统管理模块,根据自身安全需求配置辅核系统的安全策略和设 备参数,这些策略和参数通过本文开发的串行接口,传送到辅核系统并存储在它的f l a s h 存储器中。安全控制模块根据f l a s h 存储器中的安全策略对所有出入咖o w s 的网络数 据进行安全处理,对于安全的数据将直接进行转发,而对不安全的数据则首先通过串行 驱动接口向w i n d o w s 主机端的用户发送警告信息。图2 1 4 1 为基于双核的安全w i n d o w s 终端系统硬件体系结构图。图中的虚线即是本文中开辟的第三通道,见2 1 3 节中。 2 1 5 双核双操作系统结构的特性分析 双核双操作系统结构的网络安全解决方案通过在一个独立于w m d o w s 操作系统的 p c i 卡上运行安全处理软件对w i n d o w s 主机进行安全防护,同传统的基于软件的网络安 全防护技术相比,双核双操作系统结构的特性如表2 1 5 1 所示。 2 基于双核的安全w i n d o w s 终端系统信息交互总体框架硕士论文 表2 1 5 1 双核双操作系统结构同传统网络安全防护技术特性比较 双核双操作系统结构传统网络安全防护技术 硬件平台专有的嵌入式板卡g r m d o w s 主机 软件平台经过裁减的高安全操作系统 w i n d o w s 操作系统 采用专有的经过裁减的高安操作系统本身存在后 平台的安全性 全操作系统,不会存在后门门,安全性不能保证 采用专有的硬件,处理速度不 安全处理速度受主机资源使用情况限制 受主机资源使用情况的影响 采用专门的软硬件,稳定性较稳定性较差,存在着与 稳定性与兼容性强,而且不存在同主机硬件和主机硬件和w i n d o w s w i n d o w s 操作系统的兼容性问题操作系统的兼容性问题 可方便的对各个软件模块进行 升级相对容易 升级,硬件配置升级空间较小 不占用主机系统任何资 基于w i n d o w s 操作系统进行 系统消耗安全处理,占用主机的存储 源,减少了主机的负荷 器、内存及处理器等资源 2 2 基于双核的安全w i n d o w s 终端信息交互总体架构 2 2 1 双核系统信息交互模块组成 双核系统中,信息交互模块有四部分组成:w i n d o w s 主机端与辅核间信息通 讯的主辅核通信模块,辅核端串口与存储器间信息存储模块,辅核端存储器与安全处理 程序间规则更新模块,还有辅核端安全处理程序与串行通信的警告传输模块。 1 、主辅核通信模块 主辅核通信模块主要是利用串行口作为主核w i n d o w s 端与辅核之间通信通道,实 现主辅核之间安全信息的交互。 2 、安全信息存储模块 安全信息存储模块主要是串行口对接收到的安全信息规则提交给存储器驱动模块, 实现信息规则的特定存储。 3 、安全处理规则更新模块 安全处理规则更新模块使用中断技术或自旋锁技术通知安全处理程序,更新安全处 理规则,并完成数据从存储器到安全处理内存的提取。 4 、警告传输模块 警告传输模块主要是通知串口驱动,发生不安全信息匹配,完成警告信息代码的传 硕士论文基于双核的安全信息交互机制的研究 送。 2 2 2 双核的信息交互模块的数据流图 双核w i n d o w s 终端信息交互模块的数据流图如图2 2 2 1 所示: 薯急h i 晨 主机 i 发 毗崆”l 程 三l 辱。1i j 望型斟苎 配置l 。一 辅核端 i 串 i 口 u a r tl 驱 串箩i 翥 口i 模 i 块 安全 处理 程序 存储 器模 块 白色箭头为安全配置信息 灰色箭头表示安全处理的警告数据流 图2 2 2 i 双核w m d o w s 终端信息交互模块的数据流图 从图2 2 2 1 中可以看出,安全信息的交互可以归结为两类: 1 、安全配置信息的流向 首先,w i n d o w s 端安全配置信息按照约定好的格式配置,显示在可视化的串口程序 的界面中。打开串口,连接到辅核,发送安全配置信息。 接着,辅核端的串口驱动模块接收安全配置信息,通过使用存储模块提供的接口, 把信息保存到存储器中。 最后,辅核中的存储模块使用自旋锁解锁通知安全处理程序,规则信息已经更新, 提供访问数据的接口,把安全规则信息放到内存中使用。 2 、警告信息流向 安全处理程序在处理网络数据流中,找到不安全信息,就把不安全信息对应的不安 全代码发送到辅核的串口驱动模块,串口驱动模块发送不安全代码到主核端的串口程序 模块,串口程序模块分析接收到的不安全代码,参照警告对照表( 见本文3 1 2 节中) 对应的信息向用户发出警告,说明哪种不安全事件。 9 3 主核端安全信息交互的设计实现 硕士论文 3 主核端安全信息交互的设计实现 3 1 信息交互的数据协议设计 安全信息要实现在两个( 高于两个) 通信设备中交互,双方必须约定好通信信息的 数据格式。这样,信息接收方根据约定的协议格式,识别出接收到信息。由第2 2 2 章 节中数据流图阐述的,本文主要设计两种类型的信息协议格式:安全规则信息协议格式 和警告信息协议格式。 3 1 1 安全规则信息协议设计 安全规则信息是安全处理程序正常工作,保护主核w i n d o w s 端中敏感信息的保障。 在辅核中,安全处理程序处理信息为不安全有两种情况:传输的网络数据中含有敏感信 息关键字,而网络协议中如口地址等“黑名单 信息。 故在本文中,主要有两个规则信息格式表:关键字规则表和网络协议规则表。 1 安全规则协议头结构 在定义安全规则信息之前,先约定一个信息协议头结构, 表3 1 1 1 安全规则信息协议头 字段说明 l e n g t hk e y n u mp r o t o c o l n u m 长度3 2 位1 6 位 1 6 位 定义的数据结构如下: s t r u c th e a d e r u 3 2l e n g t h ;3 2 位 u 1 6k e y n u m ; u 16p r o t o c o l n u m ; k 规则头数据结构中采用1 6 位数据格式,是和存储这些信息的n o rf l a s h 的结构原理 对应的。n o rf l a s h t 9 1 的写入是基于1 6 位字写入操作,这么约定格式也是便于在f l a s h 中 实现,减少因差位写入而读出时再差位重组的麻烦。 为区分关键字规则表和网络协议规则表的类型,本文定义了下面的类型: # d e f i n ek e y t y p eu 16 ( o1 ) # d e f i n ep r o t o c o l t y p eu 16 ( 0 2 ) # d e f i n eo t h e r t y p eu 16 ( 0 3 ) 2 关键字规则格式 1 0 硕f j 论义 皋于双核的安伞信息交互机制的矽究 关键字规则信息的数据格式如表3 1 1 2 所示: 表3 1 1 2 关键字规则数据格式 类型定值:1l 规则k 度i 含关键字数量lk e y w o r d i k e w o r d 2 i 一 根据表3 1 1 2 中的数据格式,定义关键字规则的数据结构为: s t r u c tk e y _ r u l e u 1 6t y p e u 3 2r u l e l e n g t h ; u 1 6r u l e n u m ; ) ; 关键字间是由a s c i i 中码字为9 6 ( 十进制) 的虮( 拼音符号) ”区分。该符号对应的 十六进制的码字为0 x 6 0 。 3 网络协议规则格式 网络协议规则信息定义成图3 1 1 3 : 表3 1 1 3 协议过滤规则数据结构 类型定值:2i 规则序号l 源地址l 目的地址l 源端口号l 目的端口号l 协议类型 协议规则信息中记录合法的i p 地址与端口号: s t r u c tp r o t o c o l l i s t u 1 6t y p e : u 1 6p r o t o c o l n o ;规则的序号 u 3 2s i p ;源地址 u 3 2d t i p ;目的地址 u 1 6s p o r t ;源端口 u 1 6d p o r t ;h 的端口 u16p r o t o c a l t y p e ;n t c p :o ;u d p :1 ) ; 3 1 2 警告信息协议设计 辅核中安全处理模块在数据流经的过程,根据关键字规则或网络协议规则检测出有 硕士论文 基于双核的安全信息交互机制的研究 单工传输方式:在传输线路上,数据只能按一个固定的方向,且是交互式的。 半双工方式:使用同一根传输线既作为输入又作为输出,数据可以在两个方向 上传送,但通信双方不能同时收发数据。 全双工传输方式i 数据的发送和接收分别由两根不同的传输线传输,通信的双 方都能在同一个时刻进行发送和接收操作,即相当与将两个方向相反的单工传输方式组 合在一起。 多工传输方式r 7 】:使用复用技术,将一个信道( 传输信号的线路) 划分为若干 个频带或时间片,从而使多路信号同时共享信道。 串行通信具有高安全性。对安全规则信息进行更新时,就可以用串行数据线连接起 来,更新完成后,若不需要了,就可以撤去,这样可以保证传输的数据不受外界的影响, 做到安全信息的安全。 在计算机编程中,对串口的控制有多种方法,主要有两种方法:使用m s c o m m 控 件进行编程和使用砌n a p i 进行串口通信程序设计。 m s c o m m 控件是微软公司开发的专门用于串行通信的控件。它是高级语言编写的 串行程序,和p c 串口之间的桥梁设置控件的几个属性,然后添加控件的时间响应代码, 就可以使串口按照要求进行工作。m s c o m m 控件的大部分属性是可读可写的,当对其 进行写入操作时,是在设置属性的新值。当读属性时,可以读出属性的当前设置值。在 v i s u a lc + + 中,对控件属性的操作都是通过特定的函数来实现的。 使用晰n a p i 进行串口通信程序设计不像使用m s c o m m 控件那样容易,必须手工 设置很多的参数。使用w i n a p i 的方法是把串口和其他通信设备都看作文件处理的,很 多函数都是以文件访问的方式进行处理的。 3 2 2m s c o m m 控件类的串口交互终端 本文是在v c 6 0 环境下使用m s c o m m 开发的主核端串口交互程序,图为3 2 2 1 。 1 串口的初始化 串口控件m s c o m m 必须手动加载到控件面板中,再添加到程序的窗口中。创建 m s c o m m 控件实例m y c o m m 。 为了和辅核端建立联系,必须与辅核的串口波特率设置相同。对m y c o m m 的初始 化代码如下: 3 3 安全规则信息的配置实现 本章3 1 1 节中设计了安全规则信息的数据格式,接下来就需要实现它的配置方法 和传输。本文中,安全规则信息的更新指,安全规则信息由主核端经信息交互通道存储 到特定的存储器中。 1 规则信息中重要变量 论文中,安全规则信息的生成方法有:使用原先配置好的信息,或者在原有的配置 4 辅核端安全信息交互的设计实现 硕士论文 4 2 2 1 1 中是代码成熟等级选项。默认情况下是选择的,但考虑到不给辅核系统留 下后门,所以这里选择n 不加载进内核。 4 2 2 1 2 与4 2 2 1 5 中是通用设置选项。由于要保证程序中进程间通信等正常运行, 热插拔技术支持,还有可以在辅核系统中查看系统配置,电源管理和定时器也是系统运 行不能缺少的,而e l f 二进制文件是开放平台下最常用的、支持不同的硬件平台,必 须得选择y 编译进内核中,故将它们选择y 直接编译进内核。 4 2 2 1 3 中是可引导模块支持选项。对于辅核嵌入式l i n _ u x 系统内核中,必须支持 模块的动态加载和卸载。本课题中编写的程序是以驱动模块的形式加载进内核的,故此 项全部选y 编译进内核,可以缩短内核开发的周期,加速了课题开发的进度。 4 2 2 1 - 4 中是系统类型选项。辅核系统中使用的是三星的s 3 c 2 4 1 0 的删9 微处 理器,故在系统类型中选择s 锄s u i l gs 3 c 2 4 1 0 项和s m d k 2 4 1 0 脚m 2 4 1 0 规格的体系结 构。 4 2 2 1 6 中是文件系统选项。支持平常l i n _ u ) 【下的文件系统类型,如e x t 2 、e x t 3 、 n f s 等,另外,为了系统中辨别中文字体,必须把本地语言中的中文格式加载进内核。 4 2 2 1 7 中是块设备支持选项。基于双核的辅核系统的功能就是要从网络设备中捕 获网络数据包进行分析,实现安全功能的,在此必须把网络块设备支持直接加载进内核。 4 2 2 1 8 中是字符设备支持选项。串行通信使用的是串口,它在l 蛔暖系统中是作 为字符设备来使用的,开发的交互技术就是要用到串行口,必须加载进内核中。 4 2 2 1 9 中是网络设备选项。这个选项是必选的,由于板卡式的辅核系统中的网络 控制器是c s 8 9 0 0 x ,故还要加上内核对网络控制器的支持。 4 2 3 内核编译与下载 内核配置好后要进行编译,根据最后生成的内核是直接在删中运行还是从r o m 中启动,编译内核也有两种方式: 压缩方式,这种方式下内核从r o m 中启动,将被压缩的内核解压到,然后执行 内核,这种方式的好处是可以将内核事先烧至n 勰h 中,而无需手工下载洞时压缩后的 内核非常小,大约只有2 0 0 k 、3 0 0 k 左右。 硕i j 论文牲十双核的安伞信息交互机制的研究 非压缩方式,这种方式下内核在r a m 中运行,需要先通过b o o t l o a d e r 将内核 执行映射文件下载到指定地址,然后再跳转到下载地址处开始执行。 本文使用的内核压缩方式,其编泽命令是m a k ez l m a g e ,命令执行后会在a 砌泊0 0 t 目录中生成z l m a g e 内核映像文件。 在没有裁剪之前,生成的z i n l a g e 文件大小是1 2 0 1 k b ;在裁剪掉内核中的全部功能 模块,仅仅保留与主机通信的串口,生成的内核大小是3 5 5 k b ;为了实现对辅核功能 的要求,经过上一节的裁剪,重新编译后,内核映像变成了8 2 1 l ,大大的缩小了内 核,做到了嵌入式开发对存储空间的要求。 将内核映像z l m a g e 下载到辅核板的f l a l s h 上,然后在主机系统中打开“超级终端 并设好波特率,通过串口与目标系统相连。重新启动目标系统,如果一切正常的话,在 主机系统的“超级终端”就会有系统启动信息的输出。 4 3 嵌入式l i n u x 下驱动模块 4 3 1 驱动程序的原理 在l i n u x 系统里,对用户程序而言,设备驱动程序【3 1 l 隐藏了设备的具体细节,对各 种不同设备提供了一致的接口。一般来说,是把设备映射为一个特殊的设备文件( 也有 设备不做的映射) ,用户程序可以像对其它文件一样对此设备文件进行操作。l i n u x 对 硬件设备支持2 个标准接口:块特别设备文件和字符特别设备文件,通过块( 字符) 特 别设备文件存取得设备称为块( 字符) 设备或具有块( 字符) 设备接口。块设备接口仅 支持面向块的i o 操作,所有i o 操作都通过在内核地址空间中的i o 缓冲去进行,它 可以支持几乎任意长度和任意位置上的i o 请求,即提供随机存取的功能;字符设备接 口支持面向字符的i o 操作,它不经过系统的快速缓存,所以她们负责管理自己的缓存 区结构字符设备接口只支持数序存取的功能,一般不能进行任意长度的i o 请求,而是 限制i o 请求的长度必须是设备要求的基本块长的倍数。设备有一个主设备号和一个次 设备号标识。主设备号唯一标识了设备类型,即设备驱动程序类型,它是块设备表或字 符设备表项的索引;次设备号仅由设备驱动程序解释,一般用于识别在若干可能的硬件 设备中,i o 请求所涉及的那个设备。 设备驱动程序可以分为3 个主要组成部分: 自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和是否能正 常工作如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行 初始化,这部分驱动程序仅在初始化的时候调用一次。 服务于i o 请求的子程序,又成为驱动程序的上半部分。调用这部分是由于系 统调用的结果,这部分程序在执行的时候,系统仍认为是和进行调用的进程属于同一个 2 7 硕士论文基于双核的安全信息交互机制的研究 l 。一。一。一一一一一。 。7 ? i ! l _ _ _ = 曩i 。1 ? 7 7 _ i _ - :生。 o 。- _ _ _ 一:二=一一一 二;二二o :羔三:乏二二= 二二二i 二 f i l e o p e r a t i o n 结构中的成员几乎全部是函数指针,实质上是函数跳转表。每个进程 对设备的操作都会根据m a j o r 、m i n o r 设备号,转换成对f i l eo p e r a t i o n 结构的访问。 常用的操作包括以下几种: e l s e e k ,移动文件指针的位置,只能用于可以随机存取的设备。 r e a d ,进行读操作,参数b u f 为存放读取结果的缓冲区,c o u n t 为所要读取的数据 长度。返回值为负表示读取操作发生错误;否则,返回实际读取的字节数。对于字符型, 要求读取的字节数和返回的实际读取字节数都必须是i n o d e ib l k s i z e 的倍数。 w r i t e ,进行写操作,与r e a d 类似 e r e a d d i r , 取得下一个目录入口点,只有与文件系统相关的设备程序才使用。 s e l e c t ,进行选择操作。如果驱动程序没有提供s e l e c t 入口,s e l e c t 操作会认为设备 已经准备好进行任何i o 操作。 e i o c t l ,进行读、写以外的其他操作,参数c m d 为自定义的命令 e m m a p ,用于把设备的内容映射到地址空间,一般只有块设备驱动程序使用 o p e n , 打开设备准备进行i o 操作。返回0 表示打开成功,返回负数表示失败。 如果驱动程序没有提供o p e n 入口,则只要d e v d r i v e r 文件存在就认为打开成功。 e r e l e a s e ,即c l o s e 操作。 在驱动程序中,首先要根据驱动程序的功能,完成f i l eo p e r a t i o n 结构中函数实现。 不需要的函数接口可以直接在f i l eo p e r a t i o n 结构中初始化为n u l l 。f i l eo p e r a t i o n 变量 会在驱动程序初始化时注册到系统内部。当操作系统对设备操作时,会调用驱动程序注 册的f i l eo p e r a t i o n 结构中的函数指针。 在驱动程序中,主要涉及主次设备号、中断、内存和i o 等操作。在l i n u x 内核的 驱动程序中,主、次设备号有着重要的作用。其中,主设备号是用来标识该设备对应的 驱动程序,而次设备号是由内核使用,正确确定设备文件所指的设备。现代的l i n u x 内 核允许多个驱动程序共享设备号,但设备仍然按照“一个主设备号对应一个驱动程序” 的原则安排的:在l i n u x2 6 1 0 版本中,d e vt 是一个3 2 位的数,其中用1 2 位表示主设 备号,而其余2 0 位用来表示次设备号。 l i n u x 系统里,对中断的处理是属于系统核心部分,因而如果设别与系统之间以中 断方式进行数据交换,就必须把该设备的驱动程序作为系统核心的一部分。设备驱动程 序通过调用r e q u e s ti r q 函数来申请中断,通过f r e ei r q 来释放中断。它们被定义为: 2 9 硕士论文 基于双核的安全信息交互机制的研究 除非系统不使用操作系统,程序直接操纵硬件。嵌入式l 血u 】【系统驱动程序开发与普通 l i i l u x 开发没有区别。可以在硬件生产厂家或者蚍e t 上寻找驱动程序,也可以根据 相近的硬件驱动程序来改写,这样可以加快开发速度。实现个嵌入式l 证u ) 【设备驱动 的大致流程如下【2 9 】。 查看原理图,理解设备的工作原理。一般嵌入式处理器的生产商提供参考电路, 也可以根据需要自行设计。 定义设备号。设备由一个主设备号和一个次设备号来标识。主设备号惟一标识了 设备类型,即设备驱动程序类型,它是块设备表或字符设备表中设备表项的索引。次设 备号仅由设备驱动程序解释,区分被一个设备驱动控制下的某个独立的设备。 实现初始化函数。在驱动程序中实现驱动的注册和卸载。 设计所要实现的文件操作,定义f n eo p e r a t i o 璐结构。 实现所需的文件操作调用,如r e a d 、砸t e 等。 实现中断服务,并用r e q u e 晒向内核注册,中断并不是每个设备驱动所必需的。 编译该驱动程序到内核中,或者用i n s 瑚o d 命令加载模块。 测试该设备,编写应用程序,对驱动程序进行测试。 3 驱动程序的具体实现 在i ,i n u x 系统里,除了直接修改系统核心的源代码,把设备驱动程序加进核心里以外, 还可以把设备驱动程序作为可加载的模块,由系统管理员动态地加载它,使之成为核心地 一部分,也可以由系统管理员把已加载地模块动态地卸载下来在l 证u x 系统中,模块可以 用c 语言编写成m a k e f i l e 文件,再使用m a k e 生成k o ( 主要针对核心版本2 6 ) 的模块文 件。模块使用妣d 命令加载,用m 吼0 d 命令来卸载,还可以用l s m o d 命令来查看系 统中所有已加载的模块的状态。 编写模块程序的时候,必须提供两个函数,一个是血x x 】( 试t ( v o i d ) ,供i i l s m o d 在 加载此模块的时候自动调用,负责进行设备驱动程序的初始化工作。x x x 础( v o i d ) 返回 0 以表示初始化成功,返回负数表示失败。另一个函数是v o i dx 碰e x i t ( v o i d ) ,在模块被 卸载时调用,负责进行设备驱动程序的清除工作。最后,还需要向系统里注册这两个函 数,分别是 m o d u l e 一“t ( ) o ( xi n j t ) ; m o m l l e - e x i t i i l “) ; 其中的x 】0 【为自己定义的驱动程序的名字,如本课题中使用的n a s h 砒和嘣i n i t 垄譬 守。 在成功地向系统注册了设备驱动程序后,即调用r e 百s t e r h r d e v ( 2 6 版本的提供了 d e v f - s 卫g i s t e r ,与之对应的是d e v f si m r e g i s t e r ) 成功后,就可以用m h o d 命令把设备映 硕士论文基于双核的安全信息交互机制的研究 ( 3 ) u t r s t a t n 寄存器:串口的状态寄存器,用来指示串口是否接收和发送完毕。 ( 4 ) u t x h n 和r x h 寄存器:数据发送和接收寄存器。 ( 5 ) u b r d i v n 寄存器:波特率设置寄存器,用来对时钟分频,产生需要的波特率。 波特率的计算公式是: u b r d i v n - - ( h a t ) ( u a r tc l o c k c o a u d r a t e x16 ) ) 一1 u a i u c l o c k 可以是p c l k 、f c l k n ,或u e x t c l k 。 2 、i ,a r t 驱动程序 开发l i n u x 操作系统下u a r t 驱动程序,与其它的字符设备一样,除了完成几个特 点函数入口点的编写,还要开发出符合本文设计的需求。 u a r t 驱动程序的开发包括三个重要的文件:u a r t h ,u a r t c 和m a k e f i l e 。 其中,在u a r t h 头文件中,主要是u a r t 设备名、预定义u a r t 2 的寄存器地址, 驱动程序的主次设备号,模块的基本信息和函数的声明等信息。 u a r t c 文件中主要是u a r t 功能实现函数,主要的函数代码有: ( 1 )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论