(计算机应用技术专业论文)基于防火墙设备的嵌入式linux系统的研究.pdf_第1页
(计算机应用技术专业论文)基于防火墙设备的嵌入式linux系统的研究.pdf_第2页
(计算机应用技术专业论文)基于防火墙设备的嵌入式linux系统的研究.pdf_第3页
(计算机应用技术专业论文)基于防火墙设备的嵌入式linux系统的研究.pdf_第4页
(计算机应用技术专业论文)基于防火墙设备的嵌入式linux系统的研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

基乎防火墙设铸的嵌入武l i n t t x 系绞的研究 摘要 嚣毒费 本文对基予防火墙设备的嵌入式l i n u x 系统进行了分析和研究, 目的是为本项稠关课越设计的混合增强鳌防火墙提供系统运行平台。 论文介绍了嵌入式l i n u x 系统的优势,讨论经由建立双机开发环境和 使用远程内核调试工具k g d b ,并根据防火墙应用对系统运行平台的 特殊要求,通过从罂今方匿对通用l i n u x 系统进露分掇、裁减和改造, 来构造面向防火墙应用的嵌入式l i n u x 系统,这四个方面分别是内核 酌定铡与窟动滕本鹣修改、文粹系统的分橱与裁减、系统蓝痒豹 分析与裁减和面向防火墙的s h e l l f s h 的设计与实现。最后,论文 提出了在当前完成工佟的基础上作进一步歼发的设想。 美链萼:磷火墙,嵌入式l i n u x ,k g d b ,g l i b c ,s h 娟 作者:裴金干( 计算机应用技术) 指导老师:陆建德 a b s t r a c t t h e r e s e a r c ho f t h e e m b e d d e d l i n u x s y s t e m b a s e d o n f i r e w a l l f a c i l i t i e s a b s 仃a c t t h e p a p e r h a s a n a l y z e d a n de x a m i n e dt h ef i r e w a l l o r i e n t e d e m b e d d e dl i n u xs y s t e mf o rt h ep u r p o s eo fp r o v i d i n gt h es y s t e mr u n n i n g p l a t f o r mf o rt h eh y b r i de n h a n c e df i r e w a l l ,w h i c hi sd e s i g n e di nt h e r e l a t i v e a s s i g n m e n t t ot h i s p r o j e c t t h ep a p e r h a si n t r o d u c e dt h e a d v a n t a g e so fe m b e d d e dl i n u xs y s t e m ,a n dh a s d i s c u s s e dh o wt o e s t a b l i s ht w o m a c h i n ed e v e l o p i n ge n v i r o n m e n ta n du s ek e r n e ld e b u g g i n g t o o lk g d b o nt h er e q u i r e m e n t so ft h ef i r e w a l la p p l i c a t i o nt ot h es y s t e m r u n n i n gp l a t f o r m ,t h ep a p e rh a sd i s c u s s e dt h et o p i c s o fb u i l d i n gt h e e m b e d d e ds y s t e mf r o mt h eg e n e r a ll i n u xo nt h ef o l l o w i n gf o u ra s p e c t s : c u s t o m i z i n gk e r n e la n da m e n d i n gs t a r t u ps c r i p t ,a n a l y z i n gc o d ea n d r e d u c i n gt h es i z eo fl i n u xk e r n e l ,a n a l y z i n ga n dc u t t i n gd o w nt h eg l i b c l i b r a r y , d e s i g n i n ga n di m p l e m e n t i n gf s h - - - - t h es p e c i a lf i r e w a l l o r i e n t e d s h e l l i nt h ee n d ,t h ep a p e rh a sg i v e no u ts o m es u g g e s t i o n sf o rt h ef u r t h e r d e v e l o p m e n t sb a s e do nt h ep r e s e n ti m p l e m e n t e ds y s t e m k e y w o r d s :f i r e w a i l , e m b e d d e dl i n u x , 妇d b ,g l i b c , s h e h w r i t t e nb yp e ij i n g a n ( c o m p u t e ra p p l i c a t i o n ) s u p e r v i s e db yl uj i a n d e n 冀7 8 1 9 5 6 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所 取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或 撰写过的研究成果,也不禽为获得苏州大学或其它教育机构的学位证书而使用过的材 料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承 担本声明的法律责任。 研究生签名: 学位论文使用授权声明 日期 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、中国 社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采 用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论 文的全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名:日期: 铷签名:地日 期:宣竺丝! ! :宣- 基乎酶火墙设器的嵌入式l i n a x 系统舶研究 引言 引言 随着科学技术的不断进步,计算机已渗透到社会生活的各个方 面,很多计算机处理的是涉及国家军政、经济、工商业情报的敏感信 息,这使计算机安全逐渐成为i t 界的研究热点。防火墙作为最早出现 和使用量最大的安全产品,一直受到致力于网络安全的科研机构、商 业公司以及用户们的青睐。 目前,在我国比较流行的产品有天网防火墙和华依防火墙 ( h y - f 2 0 0 0 + ) 。它们功能强大,实现了比较好的安全性,但是价格偏 高,为企业级用户准备。 天网防火墙提供强大的访问控制、身份认证、网络地址转换、信 息过滤、虚拟专网( v p n ) 、流量控制、虚拟网桥等功能。并拥有自 主开发的高性能、高稳定性的专用操作系统s n o s ( 天网操作系统) 。 而华依防火墙( h y - f 2 0 0 0 + ) 采用一体化板卡设计,有三个1 0 1 0 0 自适应以太网络接口,个串行控制接口,一个用于双机热备份的数 据接口。h y - f 2 0 0 0 + 防火墙操作系统使用开放源代码的嵌入式l i a u x 系统,使用开放源代码系统是为了保证没有系统后门。同时,对系统 作了以下处理:安全加固、系统裁减。其中系统裁减内容包括:更改 系统的启动方式、去除所有无关的服务和应用、使用更小更高效的c 链接库、程序代码压缩存储。 国外防火墙技术和产品比国内更加先进,如c i s e o 防火墙家族中 的c i s c os e c u r ep i x 专用防火墙,能够提供强大的安全保证,而不影 响网络性能。它的保护机制的核心是能够提供面向静态连接防火墙功 能的白适应安全算法( a s a ) 。 另外,c i s e os e c u r ep i x 防火墙使用的实时嵌入式系统还能进一 步提高安全性。虽然u n i x 服务器是广泛采用公开源代码的理想开放 开发平台,但通用的操作系统并不能提供最佳的性能和安全性。 另一家公司n e t s c r e e n ,提供目前业界中最高效能的防火墙与 v p n 方案,其突破性的a s i c 安全方案可消除其它传统安全产品所产 引言 基于防火墙设备的嵌入式l i n u x 系统的研究 生的瓶颈问题,实现接近连线速度的数据封包处理,以充分利用频宽。 n e t s c r e e n 全功能防火墙采用实时检测技术,可以防止入侵者和 拒绝服务( d e n i a l o f - s e r v i c e ) 的攻击。n e t s c r e e n 的s c r e e n o s 软件是 i c s a 认证的实时检测防火墙。具有强大的攻击防御能力,包括s y n 攻击、i c m p 泛滥、端翻扫描( p o r ts c a n ) 等攻击防翻能力,配套硬件 加速的会话斜率( s e s s i o nr a m pr a t e s ) 性能,即使在最关键性的环境下也 霹熬提供安全保护。共提供网终地址翻译( n a t ) 、端强遮蛙翻译( p a t ) 一 隐藏内部、无法路由的i p 地址。 可以看出,防火墙技术的发展趋势是,采用软硬件一体化设计方 案,并在开放源代码平台的基础上为产品专门设计实时嵌入式操作系 统,并和v p n 进行融合,有的产品采用a s i c 独特设计,可以消除 不必要的软件层和安全漏洞,将安全功能提升到系统层次,更可以节 省建立额外平台带来的开支,并且采用p c 或工作站作为平台的软件 类方案,往往令系统性能大打折扣。另外,管理配置上非常简单,可 以采用w e b 管理界面来配置防火墙,也可以利用几条简单的命令就 能实现一般的安全策略。 上述几种防火墙产品,它们的功能非常强大,但同时价格也非常 昂贵。对于数十人以下的小型应用来说,这些防火墙产品价格过高, 市场上可供选择的防火墙产品并不多。 所以,本次整项课题设计的目标主要是为企事业中小型部门或办 公室与家庭用户,开发一种具有包过滤、状态检测、h t y p 过滤等混 合的多项增强功能、价格低廉、性能优良的防火墙产品,开发这一类 的产品以期为用户提供更多、更好的选择。 整项课题的设计思路: 设计建立兼容x 8 6 体系结构的嵌入式硬件平台 以通用l i n u x 为基础,通过裁减、改造实现满足嵌入式防火 墙要求的安全内核 根据防火墙自身的安全要求对l i n u x 内核加以改进,重点是 根据防火墙具体设计要求增加相应的功能模块 基于骑火墙设蠢的嵌入式l i n u x 系境研究 引言 设计适合于嵌入式硬件防火墙的用户接口模块,开发流量统 诗与舀蒜模块等簖灭墙静必备功能 整项课题设计的混合增强型嵌入式防火墙楚一种嫒软件一体化 设计的防火墙,它以p c 工控机为硬件运行平台。 整项课题设计思路中憋第二条要求定铡、设计内装予防火壤硬传 中,具有通用操作系统基本功能、满足防火墙对系统内核与s h e l l 要 求的嵌入式系统软转,这是作者在本顼课题孛熬主要任务。囊第三条 和篇四条是本项相关课题的主要任务,由课题组粥外人员完成。 本论文基予防火撩设备的嵌入式l i n u x 系统的研究,针对整项课 题设计鼹求,通过使用k g d b 远程内核调试王具,分析、定制l i n u x 系统内核并自定义启动脚本;分析、改造文件系统中的黼录项缓存机 制以及p r o c 文件系统;分毫爱设计了一耪系统g l i l 孵库的裁减方法,著 实现了一种自动工具,可以对应用程序所依赖的靡函数进行分析;同 时自行设计一耪薪型豹防火瓣s h e l l f s h ,绦i i e 安全戆本地越远程 操作,最终实现一种面向防火墙特定应用的嵌入式系统( e m b e d d e d s y s t e m ) 。 本项课题研究基于防火墙设备的嵌入式l i n u x 系统的意义在于: 为分析与研究嵌入式l i n u x 提供切入点。l i n u x 是发展未来嵌 入式设备产品的绝佳资源,l i n u x 强大的网络功能,更具有巨 大的优势,探讨并吸收这些设计中的先进技术和方法,对于 借鉴国外的嵌入式l i n u x 软件的先进设计思想是一次很好的 学习机会。 为本项相关课题设计的防火墙提供嵌入式软件运行平台,所 开发的具有混合多代防火墙功能产品建立在内嵌的加固嵌入 式操作系统上,在该设计思想指导下进行的开发,对于探索 网络安全领域新一代防火墙设计也是一次有益的尝试。 广泛吸收嵌入式系统国外产品的先进开发经验与优点,又在 积极创新思想的指导下开发,对开发具有自主知识产权的嵌 入式系统是一次有意义的实践。 引言 基于防火墙设备的嵌入式l i n u x 系统的研究 本论文的体系结构分为七章,各章内容如下: 引言,介绍本次论文设计的课题背景、内容和意义,第一章概述 嵌入式l i n u x 操作系统,第二章论述了面向防火墙的嵌入式l i n u x 的 总体设计,第三章讨论远程内核调试k g d b 工具的安装与使用,第四 章讲述了根据防火墙应用定制内核及修改启动脚本,第五章讨论对目 录项缓存及p r o c 文件系统裁减改造,第六章对系统百i b c 库进行分析、 裁减。第七章讨论面向防火墙的s h e l l f s h 设计与实现的过程。 总结与展望。 基乎鳞火墙没罄的嵌入式l i a t a :蓉绞的研究第章嵌入式l i r 。u x 系统概述 第一章嵌入式l i n u x 系统概述 随着信息技术和网络技术的高速发展,社会融进入后p c 时代。 蠢入可戆默来接触过诗葵掇,经不霹能没按魅过嵌入式系统。禚特酶 总裁就曾骄傲的宣称:福特出售的计算能力已超过i b m 。 1 1 嵌入式系统 1 1 1 嵌入式系统概念 根据电气工程师协会( i e e e ) 的一个定义:嵌入式系统是用来控制 或监视机器、装置或工厂等大规模系统的设备的系统。 一般来说,嵌入式系统是计算机软件和硬件的结合体,它是以应 用为中心,以计算机技术为基础,软硬件可裁减,从而能够满足实际 应用中对可靠性、成本、体积、功耗等各种严格要求的计算机系统。 嵌入式系统由嵌入式处理器、相关硬件支撑设备和软件等组成, 相关硬件支撑设备主要包括显示设备、存储设备和各种接口等。软件 是实现应用目标的关键。早期的嵌入式系统中没有操作系统,只是使 用个简单的循环控制对外界的请求进行处理。但是,随着硬件越来 越复杂,应用要求越来越高,控制程序在某些领域表现的越来越力不 从心,从而,嵌入式操作系统被引入到嵌入式系统中。 1 1 2 嵌入式系统特性 从以上嵌入式系统的概念可以看出,与桌面系统相比,嵌入式系 统具有下列特性: 面向用户、面向特定应用。不同的应用环境及目标决定不同的 系统平台,具体系统实现时常常针对应用的特点,相应的做优 化设计和处理。 第一章嵌入式l i n u x 系绞檄述基于防火墙设备的嵌入式l i n u x 系统鳇研究 资源有限。这就决定了嵌入式系统本身不具备开发的能力,必 须借助其它工具和环境的帮助。另外,必须硬件和软件量体裁 衣,会理选择,精巧设计,寒瀵足系统要求。 软件固化。为了提高执行速度和系统可靠性,嵌入式系统中的 软舞一般都阖健在存储器芯片,蠡r o m 、p r o m 或f l a s h 审。 1 2 嵌入式l i n u x 系统 e o s ( e m b e d d e do p e r a t i n gs y s t e m ) 为嵌入式系统的运行提供软件 平台。目前虽然有许多嵌入式操作系统,但l i n u x 作为e o s 正被越 来越多的人所选择。 1 2 1l i n u x 系统的优势 将l i n u x 作为个嵌入式操作系统具有许多优势,如系统稳定、 功能强大、支持多种硬件平台、可定制性强和源码公开等。 类u n i x 系统。为u n i x 系统开发的应用程序可以方便的移植到 l i n u x 系统上,有的甚至不需要任何修改。 开发成本低。只要遵循g p l ( g n ug e n e r a lp u b l i cl i c e n s e ) 的规 定,就可以免费获得l i n u x 拷贝,同样l i n u x 下的g c c 等工具也 可以免费获得,这极大的降低了开发成本。 文档完善。许多l i n u x 的文档都可以在i n t e r n e t 上可以找到和下 载。l d p ( l i n u xd o c u m e n tp r o j e c t ) 是专门为l i n u x 提供系统化文 档支持的项目。 强大的网络功能。l i n u x 系统最具优势的是网络部分,u n i x 是网 络服务器市场中的佼佼者,而l i n u x 吸收了u n i x 的优点,可以 更高效的处理网络协议,网络的吞吐性能更好。这一点对本课 题面向防火墙的设计目标尤其有利。 源代码公开。可以针对具体应用修改l i n u x 内核源码。 基于防火墙设謇的嵌入式l i n u x 系统曲研究焦一章嵌入式l i n u x 系统概述 1 2 2 嵌入式l i n u x 系统构成 根据特定应用,一个嵌入式l i n u x 系统可以是从只具有进程管理、 存储管理、定时器服务的微内核系统,到能支持各种文件系统和多种 网络服务的完整服务器。 最枣豹l i n u x 系统。包括三今部分: ( 1 ) 弓l 导程序( b o o t l o a d e r ) 。如l i | o ,也可以自以实现,完成硬 件的初始亿和系统内核加载至内存。 ( 2 ) 最小l i n u x 内核。把l i n u x 内核配置成为仅支持进程管理、 存储管理和定时器服务的矮小内梭。 3 ) i n i t 进幕戥l 号进蘩勤。捺失用户翘始进程。 扩展的l i n u x 系统。在上面基础上可以加入: ( 1 ) 硬件设备驱动糕序,辩s e r i a lc o n s o l ep o r td r i v e r 等。 ( 2 ) 应用进程,完成具体的应用目标。 实用的l i n u x 系统。在扩展的l i n u x 系统上可群加入: ( 1 ) 搬文件系统,基于f l a s h 很璐捷稼a m 建立。 ( 2 ) 网络能力,如支持t c p i p 协议栈。 ( 3 ) 防火壤功能,对n e t f i l t e r 酶支持。 1 3 硬软件一体纯设计的嵌入式防必壤 霹裁,专业防火墙一般采是硬件防火墙设计,它钓以“爨盒子” 的方式提供缭用户,其中运行定制的嵌入式操作系统。如c i s c o 的 s e c u r ep i x 系剜防火疆在i n t e l 爱件平螽主运行其专霄豹实辩嵌入式 系统;n e t s c r e e n 使用的是独有的a s i c 设计并内嵌最新的s c r e e n o s 操作系统 2 3 1 。 熬项课题设计的混合增强型嵌入式防火墙是一晕申硬软件一体化 设计的防火墙,它以p c 正控机为硬件运行平台,内装嵌入式l i n u x 操作系统。 第二掌骧商防火墙的嵌a 式l i n u x 总体设计基于骑火墙设备匏嵌a 式l i n u x 幕统的研究 第二章面向防火墙的嵌入式l i n u x 总体设计 本项课题研究的面向防火墙的嵌入式l i n u x ,为箍项课题设计实 现酶混合增强型嵌入式防火墙掇供软件运行平台。 2 。1 藤蠢防火墙的l i n u x 聚统构成 应用配置管理程序 莱i # 缸讣c 库 内档爰防火墙功匏橇块 硬件设备 图2 1 防火墙l i n u x 系统构成 课题设计的防火墙l i n u x 系统可以分为四层,如图2 1 所示。最 低层是系统运行的硬件平台,课题采用i n t e l 的x 8 6 体系结构。再往 上是软件系统,包括两层,l i n u x 内核层和系统g l i b c 库。在l i n u x 内 核中,根据防火墙的设计要求,需要在防火墙n c t f i l t e r 框架下增强防 火墙的功能。对于采用e l f 格式的应用程序,可以在运行时动态链接 库函数,所以需要将g l i b c 共享库置于系统中以供链接。最上层是防 火墙服务有关的应用程序和管理配置防火墙的应用程序。 2 2 设计建立硬件平台 在硬件设计上,可以采用两种方案,一种是采用专用的嵌入式处 理器,如a r m 结构的三星、m o t o r o l a 相关芯片,另一种是采用x 8 6 结构的i n t c l 芯片。但是不同的方案选择对项目有不同的影响,下表 是两类方案的比较: 基乎防火墙设鲁的嵌入式“n 呱系统的研究筹= 鬻面向磷火墙的嵌入式l i n u x 蕊体设计 类别x 8 6 结构其窀结构 硬件成本一般 较高 熟悉程度较好 缀差 开发周期较缀较长 表2 。1 :不同传系结秘瓣魄较 翔上表,毙较不阁体系缩构戆嫒许设计瓣系统静影峨后,整顼课 题拟采用基于x 8 6 体系结构的硬件平台,采用i n t e l 的x 8 6 系列处理 器,其有2 5 6 m 内存、1 6 mf l a s h 、一个c o n s o l e 潮( 串行蕊) 和三个馘 太网接口。 2 3 建立双机开发环境和远程内核调试 由于自身硬件条件的限制,整项课题设计的硬件防火墙设备不可 能独立完成开发与调试任务,必须借助另一台p c 宿主机的帮助。在 开发的初始阶段,为方便开发与调试,用一台p c 机( 被称为目标机) 代替硬件防火墙设备,这样建立双机开发环境。 由于对内核代码的调试比较困难,因为调试器需要调试的目标正 是它所运行的环境,它对调试环境的调试很有可能会影响到本身的运 行情况。所以采用远程内核调试策略,通过使用k g d b t 4 j 给内核打补 丁,增加远程内核调试功能,来解决内核调试闯题。在第三章将讨论 k g d b 的原理及使用。 2 4 内核的定制及启动脚本的自定义 根据硬件设备和具体应用的特殊要求,对l i n u x 系统进行定制, 是构造嵌入式l i n u x 最简单、直接的方法。 对内核,在分析放火墙应用对内核的需求后,通过使用内核配置 命令m a k em e n u e o n f i g ,删除内核中,大量的防火墙应用所用不到的 设备驱动及模块,减小内核体积。实验结果表明,采用此方法,内核 第二章甄向防火域的嵌入式l i n t m 总体设计基于辚火墙设备的嵌入式l l n u x 系绕的哿 究 镜像太小可以从1 4 0 0 k 减小到6 0 0 k 。 另外,在系统启动时,s t 锹 t i k e m e l ( ) 函数会初始化c p u 和内存, 恧i n k 进程完成设备熬梭测以及初始倪工作。i n i t 进程依藏三个脚本 文件内容来决定它检测何种硬件设备。本课题软硬件一体化设计的防 火壤硬俘设餐,耧普逶p c 熬硬释设备有缀大不圈,霭要遴遵自定义 i n i t t a b 脚本、r e s y s i n i t 脚本和特定运行级别脚本来删除不必要的设备 检测以及冗余服务的痘动。 2 5 蘑录璎缓存撬翱与p r o c 文铎系统酌分祈、裁减设计 在定制内核和白定义启动脚本后,需要从源代码层次上对l i n u x 系统进行裁减。课题设计的防火墙系统中,对文件子系统的操作相对 较少,仅在系统初始化时及配置时使用,所以将其作为内核源码裁减 的突破口。 2 5 1 目录项缓存机制的分析、裁减改造设计 为了提高对目录项对象的处理效率,l i n u x 设计并实现了目录项 缓存( d e n t r yc a c h e ,简称d c a c h e ) 机制,它主要由两个数据结构组成: 哈希链表d e n t r y:所有对象都通过h a s h 指h a s h t a b l ed e n t r y d 针域连接到相应的d e n t r y 哈希链表中。进行d e n t r y 搜索时,由 d e n t r y可以快速找到相应的对象。h a s h t a b l ed e n t r y d e n t r y _ u n u s e d ( l r u ) 链表:处于“u n u s e d 状态和“n e g a t i v e 状态 的d e n t r y 对象通过dl r u 指针域链入d e n t r y链表。unused 当dc o u n t 为0 时,d e n t r y 对象没有被立即释放,而是被链入l r u 链表。l r u 链表有许多管理函数,如p r u n e d e n t r y ( ) 等,可以在内存 紧张时用来释放一定的d c a c h e 空间。在本课题中,防火墙的内存资 源是宝贵的,所以改造d c a c h e 机制,使d e n t r y 对象在不使用时立即 被释放。 蓑乎糖火墙设罄的嵌入戎u n 雌蘸绒艘研究第:掌瑟向转火墙舶嵌入崴l i n u x 慧# 设诗 2 5 。2p r o c 文件系统的分析、裁减设计 p r o c 文件系统著不存在于任何磺件设备上,褥是建囊在内存中, 用来查餐系统信息。在课题设计的防火墙系统中,用户不能直接操作 文件系绫,且p r o c 系统会占耀相对宝贵熬瓷源,因此俸为裁减黪入 手点。 p r o e 目录下的节点分为三类:进程目录、文件节点和目录节点。 它们操作函数彼此不同。本论文讨论了对进程目录和文件节点相关数 据结构和操作函数进行裁减。 进程目录是以系统中运行的相应进程号为节点名的目录,进程目 录下还有目录或者文件。它们并不在系统初始化的时候被建立,而是 实际访问时临时生成。这样,从p r o er o o t 开始,有三级目录,它们 的操作函数可以分为两类:r e a d d i r 和l o o k u p ,但彼此不同。对进程目 录裁减的任务就是分析r e a d d i r 和l o o k u p 操作,将三级目录不同的数 据结构和r e a d d i r 、l o o k u p 操作函数予以裁减。 文件节点在p r o e _ m i s e _ i n i t ( ) 函数中被建立,该函数在p r o e 文件 系统初始化的时候被调用。p r o e _ m i s e _ i n i t ( ) 建立了两神文件节点:一 般文件和特殊文件。一般文件只具有读操作,但由于不同文件对应不 同的系统信息,所以不同文件具有不同的操作函数。特殊文件不但有 读操作,还有另外的操作。因此,分析各个文件的具体操作函数,将 其删除。 2 6 系统g l i b e 库的一种裁减方法的设计与实现 由于共享库文件在应用程序运行时被动态加载,所以它们必须存 在于系统中才能支持应用程序的正常运行。而通用l i n u x 带的g l i b e 库规模太大,可以根据应用程序的库函数需求,删除用不到的库函数, 重新构造新的共享库文件。 可执行链接格式( e l f ) 文件是l i n u x 共享库实现的基础。本论文在 第二章面向貉火墙的嵌入式l i n u x 总体设计基于防火墙设备煎嵌入式l i n u x 系统的研究 分析其格式规则和符号类型的含义后,发现函数的未定义符号代表着 本函数对其它库函数的依赖。由此,从理论上讨论一种裁减出i b c 库 的方法。这种方法是上层决定下层,即应用程序决定系统的功能。 根据此裁减方法,本项目开发实现了一个应用程序库函数依赖关 系分析工具。应用程序首先利用g c c 编译器,产生位置独立代码,这 样就利用了g c c 的语法和词法分析功能。根据产生的这个特定应用程 序的可执行文件( e l f 格式) ,可以分析出所有被此应用程序直接调用到 的库函数,由直接调用的库函数再找到被间接调用的其它库函数, 依次类推,按追溯路径分析出各库函数之间的依赖关系,最终找到所 有被应用程序用到的库函数集合,从而可以构造出新的共享库文件。 2 7 防火墙安全管理及用户配置的设计与实现 图2 2 防火墙三种配置管理方式 本课题设计防火墙的配置管理方式分三种,分别是:c o n s o l e 管 理、w e b 登录管理和基于s s h 的登录管理。 c o n s o l e 管理:使用一台p c 机通过串口与防火墙相连,p c 机 上运行串口通讯软件( 如“超级终端”程序) ,以命令行的形式 发送配置请求,防火墙设计实现的串口配置管理模块对请求进 行处理。由于c o n s o l e 管理使用直接物理连接,可以在防火墙 没有任何网络参数配置的情况下使用,并且,具有良好的安全 性,信息不会在半途被恶意截获。 薹王堕丝堕塑量的嵌入式l i n 憾系统的研究第二! 每面向防火墙的嵌入式l i n 慨总体设计 基于s s h 的登录管理:使用s s h 来代替t e l n e t 进行远程管理, 远程管理命令同样被串口配置管理模块进行处理。因为s s h 与t e l n e t 不同,它对通信信息进行加密,所以对一些敏感数据, 如用户名、密码,可以给予很好的保护。 w 曲配置管理:通过浏览器进行远程配置管理,具有良好的可 视性和方便性,但是要求防火墙网络参数设置正确。使用s s l 加密传输协议可以保证安全交互。 w 曲配置管理模块是由课题组其它同学完成,串口配置管理模块 由本作者完成。 第三章远程内棱调试与k g d b基手爨火墙设备的嵌入式l i a u x 系统熟磷究 第三章远程内核调试与k g d b 3 。1g d b 远撩调试功蘸介缀 相应鬻程序的调试手段不闰,对内核代鹈的谲试院较豳难,函为 调试器需要调试的目标藏是它所运行的环境,它对调试环境的调试很 有可能会影响到本身的运行情况。 使用s g i 公司开发鲍k g d b e 4 1 调试z 具,w 以进杼远程凌核调试。 在内核的运行过程中,安装在目标机中的s t u b 模块截获内核运行态 数据,并;蠹过c o n s o l e 搿或t c p i p 传输绘窝主撬,监视霾耩瓿肉核 运彳亍情况,并发送命令调试、控制目标机内核的运行。 目标枧 3 2k g d b 的实现原理 图3 1k g d b 调试原理图 为实现远程调试需给g d b 打补丁以增加远程调试功能,补丁完成 后,目标机可以通过串口通讯协议和另一台运行g d b 的机器进行通 讯。g d b 内嵌有串口的通信协议,且目标机内安装有s t u b 模块,提供 和宿主机传送数据的方法, 在s t u b 模块中实现的函数接口如下【9 】: 1 串口驱动支持: 基于转火墙设备的嵌a 式l i n u x 系统的研究第兰章远程内棱讽试与k g d b i n t g e t d e b u g c h a r ( ) ,从串口设备读取一个字节的数据。 v o i dp u t d e b u g c h a r ( ) ,向串口设备写一个字节的数攒。 2 。连接之矮控制程序的运行和中止: s e t _ d e b u g _ _ t r a p s ( ) ,用于调试的程序停止时挂在中断上,如 果有调试的中獗萋| 达,就进入h a n d l e _ e x c e p t i o n ( ) 函数。 h a n d l ee x c e p t i o n ( ) ,是中断处理的整个过程,完成调试的 大部分内容。程序并不会爨式谲用它,两楚通过 s e t _ d e b u g _ _ t r a p s ( ) 黼数里给中断处理函数指针初始他的时 候把它写进去。在程序停止运行( 比如说,出现了断点) 的 时候,透过这个函数内部的操作和主搬的g d b 进行邋信, 从而完成调试的。 b r e a kp o i n t ( ) ,在程痔量设置瞬点。 3 。3k g d b 的安装与配置 k g d b 和g d b 结合使用,可以像调试应用程序一样来调试l i n u x l 勾 核,在内核里设置断点、步进执行和观察变量。 k g d b 的使用需要两台机器,一台用来开发( 宿主机) ,一台用来测 试( 目标机) 。两台机器使用串行线连接。被调试的内核位于目标机上, k g d b 运行于开发机器上。 k g d b 可以通过补丁的形式加到l i n u x 内核中,它对内核增加了下 列三个模块叽 g d bs t u b - 这是调试器豹关键部分,用来处理从开发机器上g 曲 传来的请求。它控制目标机器上内核的所有进程。 m o d i f i c a t i o n s t of a u l t h a n d l e r s :当一个错误发生时,内核释放 控制给调试器。 s e r i a lc o m m u n i c a t i o n :利用内核中的串行驱动,提供给g d bs t u b 一个调用接口。它负责从串行口接收和发送数据。 下面讨论k g d b 的安装与配置: 第三章避程内棱调试与k 暮d b基于防火嫱设备静嵌入式“n 雠幕统的讲究 1 硬件要求 ( 1 )两台x 8 6 机器。台视器运行被调试内核( 目标机) ,另 一台运行g d b ( 触j j l ) 。 ( 2 )两台机器需疆用串行线连接。注意双方串口和串行线的 最大传输速率,激其小豢。并羹转翰速率越太越好。 2 k g d b 版本及下载 k g d b 补丁包命名遵循戮下格式:l i n u x a - k g d b - b p a t c h ,a 是l i n u x 版本号,b 是k g d b 版本号。 下载x g d b 补丁:l i n u x - 2 4 2 0 1 8 7 一k g d b 1 6 p a t c h 3 。软伟安装 在宿主机上: ( 1 ) 将在1 中下载到的k g d b 补丁拷贝至l i n u x 内核源代码目录 叩l i n u x 一2 4 2 0 1 8 7 - k g d b 一1 6 p a t c h u s r s r c l i n u x , 利用p a t c h _ p 1 在目标机,修改l i l o c o n f 配置文件。在l i l o c o n f 2 1 入下列 命令行: 基于舫业墙设蠡的嵌a 式l j n “系统静研究第三章远程内棱谣试与妇曲 增加a p p e n d = ”g d bg d b t t y s = lg d b b a u d = 1 1 5 2 0 0 ”。其中 g d b l i n u x ) i 动时等特g d b 去连接。 g d b t t y s = x,设置使用串1 2 1 x ,x 可为0 到3 。 g d b b a u d = y ,j ,表示审行线的传输速率( 范围在9 6 0 0 11 5 2 0 0 ) 。 3 。4 k g d b 的使潮 在上小节k g d b 补丁安装成功后,就可以利用双机开发环境进行 内核的调试。 具体的步骤如下: 1 在宿主机安装配置k g d b 补丁。 2 将宿主机和目标机通过串口相连。 3 在宿主机上开发、修改内核后,利用g e e ( 带- g ) 参数进行编译, 得到待调试内核。 。 4 拷贝待调试内核到目标机中,该调试内核中当然已含s t u b 。 5 在目标机,使用待调试内核启动系统。启动过程中,目标机 将自动暂停,以等待远程宿主机的连接。 6 需要在宿主机上键入命令来连接目标机, 设置连接属性: s t t y i s p e e d1 1 5 2 0 0 0 s p e e d1 1 5 2 0 0 d e v t t y s l 开启g d b 后,在g d b 提示符下键入: ( g d b ) t a r g e tr e m o t e d e v t t y s l 通过串口连接目标机 7 目标机收到信息后,继续启动过程。 8 下面可以在宿主机上键入g d b 调试命令进行远程内核调试。 第四章定制内核及自定义启动脚本基于防火墙设备的嵌入式l i n u x 系统的研究 第四章定制内核及自定义启动脚本 4 1 定制内核 4 1 1 内核网络子系统分析 图4 1 网络子系统结构图 网络子系统可使l i n u x 系统通过网络与其它系统进行通信。本论 文研究的嵌入式l i n u x 面向防火墙应用,其关键要求是网络功能完善, 而内核中,网络子系统和其它子系统互相依赖,缺一不可。所以本论 文讨论的嵌入式l i n u x 系统若希望为防火墙应用提供网络子系统的服 务,也必须相应的提供其它子系统的服务。 基于糖火墙设备的嵌入式l i n u x 系蟪的研究第四章定制内按及自定义囊动辨本 由豳4 1 可知,标准l i n u x 内核网络予系统提供四类关键服务: 数据传输、一致的设备访问接口、防火墙和i n e t 套接字。这湖类服 务对防火墙应用来说,都是必须戆,所以簌内核裁减时要予以保留, 使系统可以提供给防火墙完整的网络服务。 另外,网络子系统孛存在着多种羁终协议和网终硬件设备,如 8 0 2 x 、a p p l e t a l k 、i p x 和i p v 4 。对予防火墙应用来说,因为其威用在 蜀域丽环境下,来保护网络安全,所| | 2 盂需要系统内核给予戮太随遁信 协议和以太网卡设备驱动的支持,其它的网络协议和网络硬件驱动即 使存在也不起作用,因而成为系统内核精简的对象。 4 。1 2 定制内核思路 为整项课题设计的防火墙量身定制l i n u x 内核,是实现嵌入式 l i n u x 的第一步。 具体的方案是,利用系统自各的m a k em e n u c o n f i g 等内核配置工 具,根据以上模块分析结果,并根据防火墙应用要求,重新配置内核 编译选项,得到一个能够稳定支持防火墙运行、尽量小的内核。 编译内核的具体步骤如下: 1 m a k e m r p r o p e r :确保源代码目录下没有不正确的o 文件以 及文件的互相依赖 2 m a k e m a n u e o n f i g :基于文本选项的内核编译配置界面 3 m a k ed e p :读取配置过程生成的配置文件,来创建对应于 配置的依赖关系树 4 m a k ec l e a n :删除前面步骤留下的文件来避免出现一些错误 5 m a k eb z l m a g e :编译内核 6 m a k em o d u l e s :编译模块 7 m a k em o d u l e si n s t a l l :安装模块 上述各命令依次执行后,如果没有出现错误,最终会得到新的内 核映像文件。拷贝新内核映像文件至b o o t 目录下,同时修改l i l o e o n f 第四章定翻内横及自定义启动脚车 基于璃火墙设备的嵌入式l i n u x 系统的研究 配簧文件,使系统可以扶瓶内核弓 导。然后执行b i l i l o 命令,健颛 的l i l o c o n f 螽己置文件生效。 4 1 3 定制内核实现 下面以r e dh a tl i n u x9 0 为开发环境,用m a k em e n u c o n f i g 作为 内核配置工具,讨论各编译选项的含义以及是否应该在本次设计中保 留。 c o d em a t u r i t yl e v e lo p t i o n s : p r o m p t f o rd e v e l o p m e n ta n d o ri n c o m p l e t ec o d e d r i v e r s , 是否要选择正在测试中的d r i v e r l o a d a b l em o d u l es u p p o r t : e n a b l el o a d a b l em o d u l es u p p o r t s e tv e r s i o ni n f o r m a t i o no na l lm o d u l es y m b o l s k e r n e lm o d u l el o a d e r g e n e r a ls e t u p : n e t w o r k i n gs u p p o r t ,支持网络功能 p c is u p p o r t ( a n y ) p c ia c c e s sm o d e ,p c i 存取模式,有b i o s 、d i r e c t 和a n y b l o c kd e v i c e s : n o r m a lp cf l o p p yd i s ks u p p o r t ,支持软盘 r a md i s ks u p p o r t n e t w o r k i n go p t i o n s p a c k e ts o c k e t n e t w o r k p a c k e tf i l t e r i n g ( r e p l a c e si p c h a i n s ) ,防火墙功能必 需 t c p i pn e t w o r k i n g n e t w o r kd e v i c es u p p o r t : e t h e m e t ( 1 0o r1 0 0 m b i t ) ,以太网支持 基予防火墙设鬻的嵌入式l i n t m 系统的研究第四章定悄内攘投自定义黯动脚本 f i l es y s t e m : p r o cf i l es y s t e ms u p p o r t k e m e la u t o m o u n t e rs u p p o r t s e c o n de x t e n d e df ss u p p o r t 在所肖肉核编译甏置选磺中,风是没存在土瑟列毒的选矮,在本 次设计中

温馨提示

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

评论

0/150

提交评论