为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

企业内网的多路访问控制[资料]

2017-10-14 29页 doc 188KB 10阅读

用户头像

is_614050

暂无简介

举报
企业内网的多路访问控制[资料]企业内网的多路访问控制[资料] 开放与创新实验设计报告 设计题目: 企业网的多路访问控制(内网) 指导老师: 李 楠 设计时间: 2012-05 小组成员 班级 学号 姓名 1. 计091 200909737 张国乾 2. 计091 200909747 乔凤荣 3. 计091 200909935 王 瑶 开放与创新实验任务书 一、设计任务 设计题目:企业网的多路访问控制(内网) 设计内容: 根据企业不同的需求,从安全要求等级的角度出发分别在应用层和核心层提出及研究了对应的解决方案,较好的解决了内网安全...
企业内网的多路访问控制[资料]
企业内网的多路访问控制[资料] 开放与创新实验报告 设计题目: 企业网的多路访问控制(内网) 指导老师: 李 楠 设计时间: 2012-05 小组成员 班级 学号 姓名 1. 计091 200909737 张国乾 2. 计091 200909747 乔凤荣 3. 计091 200909935 王 瑶 开放与创新实验任务 一、设计任务 设计题目:企业网的多路访问控制(内网) 设计内容: 根据企业不同的需求,从安全要求等级的角度出发分别在应用层和核心层提出及研究了对应的解决方案,较好的解决了内网安全中的文件访问控制要求。 二、系统需求 在现代信息社会里,电子文件已经成为最常用的信息保存和使用形式。无论是企业发展规划、产品设计方案、企业标准,还有其他的重要文档资料都常采用电子文件的形式。一方面企业希望相关人员能很方便的查阅这些文档,另一方面又担心这些文档泄密,希望能有效的控制这些文件的传播和使用。随着信息化程度的深入,这个问题越发突出。 目前传统的文件访问控制方法是给重要的数据采用了简单的授权口令保护,产品研发过程中的各种核心技术资料和工作资料就更没有任何的保护措施,至少对整个开发组而言,全部的开发成果和数据都是透明的和共享的,对于防误操作、防失窃和防破坏几乎没有采取任何保护措施。这样就是的在局域网中非法取得授权和获得资料变得非常的容易。在内网中的数据管理本身通常不是很严谨,没有文件系统的监控,使得任何人都可能有意或无意造成安全隐患甚至导致灾难性的后果。所以构建安全可靠的企业内部多路的控制系统是重中之重。 基本要求: 利用合理的企业内外多路访问配置,建立可靠的网络多路访问系统,一方 面实现企业希望相关人员能很方便的查阅这些文档,另一方面又保证这些文档泄密,希望能有效的控制这些文件的传播和使用。 发挥部分: 应用层和核心层提出及研究更加合理安全对应的解决方案。 企业网的多路访问控制(内网) 摘要 随着计算机和通信技术的发展,企业信息安全问题受到越来越多的关注。企业除了要抵御来自外界攻击和破坏,同时还要防止来自内部的有意或无意的泄密。仅依靠完善管理制度很难从根本上杜绝泄密事件的发生,因此必须从技术上 为企业提供更加可靠的安全保障。 论文首先对内网多路安全访问控制系统进行了分析,由此阐述了系统的总体设计思想并提出了解决方案。其次,对系统中的文件访问控制子系统分别从应用层及核心层提出了对应的解决方案。分析总结了在应用层当前使用的API Hook技术,重点介绍了远程进程插入DLL的文件访问控制方法,提出了HOOK结合修改进程模块输入节的方法来实现文件的访问控制。在核心层研究了使用文件过滤驱动的方法来达到安全级别较高的文件访问控制技术。 论文根据不同的需求,从安全要求等级的角度出发分别在应用层和核心层提出及研究了对应的解决方案,较好的解决了内网安全中的文件访问控制要求。 关键词:内网安全文件访问控制API HOOK文件过滤驱动 目录 第一章 题目分析与功能要求…………………………………………………....4 1.1企业内网安全概述......................................................................................4 1.2企业内网安全分析......................................................................................5 1.3企业内网安全中的文件安全策略..............................................................5 第二章 总体方案设计.............................................................................................7 2.1系统安全机制...............................................................................................7 2.2访问控制技术..............................................................................................10 2.3系统总体功能描述.......................................................................................13 第三章 硬件连线…………………………………………………………………..15 第四章 软件设计………………………………………………………………….16 4.1 API HOOK动态链接库DLL...................................................................16 4.1.1动态链接库介绍..................................................................................16 4.1.2动态链接库进入点函数......................................................................17 4.2 API HOOK通过挂接动态链接库实现的文件操作行为监控技术.........18 第五章 系统测试……………………………………………………………….…..21 第六章 系统功能……………………………………………………………..…….22 第七章 系统总结…………………………………………………………………. 27 第一章 题目分析与功能要求 1.1企业内网安全概述 自从1946年世界上第一台计算机ENIAC在美国加利福尼亚州问世以来,在 去的半个多世纪里,计算机以及网络技术得到了飞速的发展。今天,计算机仅仅 是用来进行高速计算的工具,它已经深入到了我们工作生活的各个角落,当今的 信息时代起着举足轻重的作用。伴随着计算机以及网络的广泛应用,计机领域内的安全形势日益严峻。就其中非常常见也是非常受人们关注的一种安威胁-计算机病毒来说,在2007年1月10日,江民科技发布了2006年计算机毒疫情报告。报告显示,2006年江民反病毒中心共截获新病毒60383种,较2年增长56%。另据统计的数据,2006年全国共有19319658台计算机感染了病感染计算机病毒种类为66606种。安全问题已经成为计算机发展的一个重大题。 现在几乎每个企业或政府机关都组建有自己的网络,这种主要用于内部管理或内部信息共享的网络称为内网,也叫做局域网,指的是一个企业、单位将若干台计算机联成一个小的网络,这个网络内部单机一般不直接通过Internet网与外界相连。2004年,北京召开了第一届中国内网安全大会,作为网络安全的一个重要组成部分,内网安全也成为了人们研究的热点。虽然我国的信息系统和计算机网络的起步较美国风信息发达国家较晚,但是其成长速度已经对信息安全系统的认识却与发达国家同在一个台阶上。国家、政府、军事以及银行、金融、高新企业等行业需要一种能够充分解决网络外部攻击和有内而外的信息泄露的全方位信息安全解决方案。根据美国联邦调查局(FBI)和计算机安全机构(CSI)等权威机构的研究:超过80%的信息泄密事件是来自组织内部人员,也就是说现在众多政府企事业单位所重点防范的黑客入侵和病毒所造成的信息泄露最多不过20%。造成以上数字的原因是因为大多数组织所采取的内网信任模型所导致的。所谓内网信任就是指默认企业或者单位内部的网络、人员以及设施等都是安全的:而内部安全管理的模型恰好是建立在内网不信任的模型的基础之上,也就是说,并不默认信任企业或者单位内部的网络、人员以及设备等是安全的。业界普遍认为,建立在内网信任模型上的我们称之为外网安全;建立在内网不信任模型上的我们称之为内网安全。 1.2企业内网安全分析 政府、企业等主要的内网组建者在网络安全防护建设中,普遍采用传统的内网边界安全防护技术,即在内网的边缘设置网关型边界防火墙、AAA认证、入侵系统IDS等等网络边界安全防护技术,对网络入侵进行监控和防护,抵御来自外网的攻击,防止内网资源、信息遭受损失,保证内网业务的有效进行。 这种解决策略是针对外部入侵的防范,对于来自网络内部的对企业网络资源、息资源的破坏和非法行为的安全防护却起不到任何作用。对于那些需要经常移动的终端设备在安全防护技术就更是鞭长莫及了,由此可能会严重危及内部网络安全。 正是由于以上所说的原因,使得政府和企业内网中因信息被窃取所造成的损失远远超过病毒破坏和黑客攻击所造成的损失。安全问题主要原因有以下几个方面: 缺乏对内网设备的了解和监控; 缺乏对内网IP地址的管理; 缺乏对内网计算机软、硬件资源的管理; 缺乏对内网的网络服务的管理; 缺乏对内部人员访问网络权限的管理。 目前,国内外并没有一个完整有效的内网安全管理系统与解决方案,更是缺乏系统有效的内网安全管理产品。但是根据木桶理论,网络安全是一个有机的整体,也是一个环环相扣的链条,缺少其中任何一个环节,其安全性能就大幅度降 低或者几乎为零。 1.3内网安全中的文件安全策略 电子文件作为传统纸质文档的信息化载体,具有成本低、使用易、通信快、发布广的优点,在政府、企业等单位的信息化建设过程中越来越受到推崇。但是,在上述优点给企事业单位带来利益和效率的同时,电子文件信息容易获取的特性,也使很多企事业单位担心电子文档信息的安全问题。 根据CSI(美国计算机安全学会)和FBI每年的联合调查报告显示,在2000年信息安全事件造成的损失当中,30%,40%是由于电子文件的泄露造成的,《财富》杂志排名前1000位的公司每年因电子文件泄露造成的损失平均为50万美元。2002年有超过83%的的安全威胁来自于企业内部,包括内部未被授权的文件存取、专利信息的窃取以及内部人员的财务欺骗等。 在现代信息社会里,电子文件已经成为最常用的信息保存和使用形式。无论是企业发展规划、产品设计方案、企业标准,还有其他的重要文档资料都常采用 电子文件的形式。一方面企业希望相关人员能很方便的查阅这些文档,另一方面又担心这些文档泄密,希望能有效的控制这些文件的传播和使用。随着信息化程度的深入,这个问题越发突出。 目前传统的文件访问控制方法是给重要的数据采用了简单的授权口令保护,产品研发过程中的各种核心技术资料和工作资料就更没有任何的保护措施,至少对整个开发组而言,全部的开发成果和数据都是透明的和共享的,对于防误操作、防失窃和防破坏几乎没有采取任何保护措施。这样就是的在局域网中非法取得授权和获得资料变得非常的容易。在内网中的数据管理本身通常不是很严谨,没有文件系统的监控,使得任何人都可能有意或无意造成安全隐患甚至导致灾难性的后果。 第二章 系统总体方案 2.1系统安全机制 系统的安全机制包括以下几个部分: 1标识与鉴别 标识与鉴别是涉及系统和用户的一个过程。标识就是系统要标识用户的身份,并 为每个用户分配一个名称用户标识符(User ID)。用户标识符必须是唯一的并且不能被伪造。将用户标识符与用户联系的动作称为鉴别。为了识别用户的真实身份,它总是需要用户具有能够证明他身份的特殊信息,这个信息是秘密的,任何其他用户都不能拥有它,用标识与鉴别来识别用户是安全控制机制中非常重要的一个环节。通常鉴别都是在用户登录时发生。一般使用用户名与密码的方式进行标识与鉴别,因此口令的管理是一项非常重要的工作。更安全的身份认证方法是一次性口令,智能卡等方式。 2入侵监测 任何信息系统中都不能保证不存在安全漏洞,而且无论在理论上还是在实践上都不可能完全填补系统的安全漏洞,也没有一种办法可以彻底的解决合法用户在通过身份识别后滥用特权的问题。因此,入侵监测系统成为保护系统安全的一个必要的补充手段。 目前用于入侵监测系统的主要是两类通用的模型 ?异常(Anomaly)检测方法。这一方法是基于用户的习惯行为特征被统计在行为描述数据库中,以此与用户当前会话内的行为特征进行比较。两者比较发现足够大的偏差时,检测系统向安全管理人员提交报告。 ?特权滥用(Misuse)检测方法。这一方法使用存放在滥用数据库内的先验专家系统规则来对用户的行为特征进行判断,报告可能的攻击行为。入侵检测系统最主要的问题是实时响应问题,因为它需要处理的数据量十分巨大,因此入侵检测需要借用人工智能统计学,信息理论及机器学习等领域的一些成果。把这些成果融合,设计进入侵检测系统中,对入侵监测系统的影响正在研究之中。 3病毒防护 目前世界上每天都有新的计算机病毒产生,计算机病毒给社会带来了难以估量的损失。随着计算机病毒的发展,计算机反病毒的技术与计算机病毒的检测技术也在发展。第一代反病毒技术,单纯进行病毒特征代码分析,将病毒从带毒文件中清楚掉,第二代则采用静态广谱特征扫描方法检测病毒,可以更多的检测到变形病毒,但误报率也提高了。第三代反病毒技术的主要特点是将静态扫描与动态仿真跟踪技术结合起来,第四代反病毒技术,基于病毒家族体系的命名规则、多位 CRC校验和扫描机理、启发式智能代码分析模块、动态数据还原模块、内存解毒模块、自身免疫模块等先进的反病毒技术,较好的解决了以前反病毒技术顾 此失彼的状态。 一般来说,完全防止计算机病毒是非常困难的,但是通过安全操作系统的强制访问控制可以起到一定的保护作用。通过强制访问控制可以将信息系统划分为三个区,即系统管理区、用户空间区与病毒保护区。他们通过强制访问控制机制被分隔,从而可以把一般通用的命令和应用程序放在病毒保护区内供用户使用,由于在这个区内一般用户只能读不能写,从而防止了病毒传染。在用户空间区内,用于用户的安全级不同,即使计算机病毒发作也只能传染同级别用户的程序和文件,缩小了病毒传染的范围。 4对象重用保护 对象重用问题是指存储对象如内存、磁盘等重新进行分配时,前一个用户使用这些对象时留下的信息,被后面一个用户非授权的得到并能够读出其中的数据。对象重用保护最简单的方法是在对象分配时清除所有的内容。 5可信通道 可信通道是用于一个终端上的用户与可信计算机TCB直接交互的通路。TCB是计算机系统中保护机制的统称,包括硬件、软件和固件中所有与实施安全有关的部分。可信通路机制只能由TCB内的用户启动而不能被不可信软件冒充。例如,在一个可信系统中,可信通路可以通过一个唯一的锁序列来建立,这个系列只能由TCB直接截获。在Microsoft的Windows2000中,Ctrl+Alt+Del三个键的组合就是可信通路的一种实现,这三个键形成了Windows操作系统中的SAS Secure AttentionSequence,它直接由安全内核截获。 6隐蔽通道 隐蔽通道可以分为两类:隐蔽存储通道与隐蔽时间通道。隐蔽存储通道是指一个进程直接或间接的写一个存储单元,而另一个进程可以直接或间接的读这个存储单元而构成的信道。隐蔽时间通道是指一个进程通过调节自己对系统资源的使用向另一个进程发消息,后者通过观察响应时间的改变获得信息而构成的信道。一般的系统中总是充满了隐蔽信道,采用强制访问控制的系统中,强制访问控制没 有保护的任何信息的任何比特都可能构成一个潜在的候补路径。隐蔽通道的分析是安全操作系统设计中的难点之一。 7密码技术 计算机系统经常需要采用数据加密的方法从体制上保证信息不被篡改和泄漏。数据加密不仅可以用于数据保密,而且也可以通过加密/解密的双向变换实现对数据的完整性检验。密码技术是对传输信息和存储信息进行保护的重要手段,可以大大加强信息保密性、完整性、可认证性等。密码技术可以实现信息加密、数字签名等安全服务。加密算法根据密钥性质的不同,可以分为以下两类: 1对称密钥体制。传统的对称密钥体制特点是无论加密还是解密都公用一把密钥,其中最有影响的是美国国家标准局颁布的DES(算法数据加密标准算法)。 2公开密钥体制(非对称密钥体制)。公开密钥体制的特点是加密与解密的密钥不同,并且在理论上或者实际计算上不能由加密密钥推出解密密钥。所以即使将加密密钥公开也不会危害解密密钥的安全。公开密钥技术诞生于1976年,其中由Rivest Shamire和Adleman发明的RSA算法是最有影响的一种。 8安全审计 一个系统的安全审计就是对系统中有关安全的活动进行记录、检查和审核。它的主要目的就是检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误。操作审计作为事后追查的手段保证系统的安全,它对涉及系统安全的操作作一个完整的纪录。 审计是操作系统安全的一个重要方面,安全操作系统也都要求用审计方法来 监视安全相关的活动。审计机制要求系统保留审计记录和日志文件。审计机制要 考虑的主要问题是审计粒度,要综合考虑安全与效率。 9访问控制 在计算机系统中,安全机制的主要内容就是访问控制,它包括以下三个任务: 1授权。确定可以给予那些主体存取客体的权利; 2确定访问权限。通常是诸如读、写、执行、删除、添加等访问方式的组合。 3实施访问控制。 这里客体是指一种信息实体,它们蕴含或接受信息,如文件、目录、管道、消息等,甚至可以包括字、位、通信线路、网络节点等。主体是这样的一种实体,它引起信息在客体之间的流动。通常,这些实体是指人、进程或设备。一般是代表用户执行操作的进程。 2.2访问控制技术 在安全操作系统领域,访问控制一般都涉及自主访问控制和强制访问控制两种。 1、自主访问控制(DAC) 自主访问的含义是有访问许可的主体能够直接或间接地向其他主体转让访问权。自主访问控制是在确认主体身份以及(或)它们所属的组的基础上,控制主体的活动,实施用户权限管理、访问属性(读、写、执行)管理等,是一种最为普遍的访问控制手段。自主访问控制的主体可以按自己的意愿决定哪些用户可以访问他们的资源,亦即主体有自主的决定权,一个主体可以有选择地与其它主体共享他的资源。 基于访问控制矩阵的访问控制表(ACL)是DAC中通常采用一种的安全机制。ACL是带有访问权限的矩阵,这些访问权是授予主体访问某一客体的。安全管理员通过维护ACL控制用户访问企业数据。对每一个受保护的资源,ACL对应一个个人用户列表或由个人用户构成的组列表,表中规定了相应的访问模式。当用户数量多、管理数据量大时,由于访问控制的粒度是单个用户,ACL会很庞大。当组织内的人员发生能变化(升迁、换岗、招聘、离职)、工作职能发生变化(新增业务)时,ACL的修改变得异常困难。采用ACL机制管理授权处于一个较低级的层次,管理复杂、代价高以至易于出错。 DAC的主要特征体现在主体可以自主地把自己所拥有客体的访问权限授予其它主体或者从其它主体收回所授予的权限,访问通常基于访问控制表(ACL)。访问控制的粒度是单个用户。没有存取权的用户只允许由授权用户指定对客体的访问 权。DAC的缺点是信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。 为了实现完备的自主访问控制系统,由访问控制矩阵提供的信息必须以某种形式存放在系统中。访问矩阵中的每行表示一个主体,每一列则表示一个受保护的客体,而矩阵中的元素,则表示主体可以对客体的访问模式。目前,在系统中访问控制矩阵本身,都不是完整地存储起来,因为矩阵中的许多元素常常为空。空元素将会造成存储空间的浪费,而且查找某个元素会耗费很多时间。实际上常常是基于矩阵的行或列来表达访问控制信息。 2、强制访问控制(MAC) 强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。强制访问控制(MAC)的主要特征是对所有主体及其所控制的客体(例如:进程、文件、段、设备)实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是7等级分类和非等级类别的组合,它们是实施强制访问控制的依据。系统通过比较主体和客体的敏感标记来决定一个主体是否能够访问某个客体。用户的程序不能改变他自己及任何其它客体的敏感标记,从而系统可以防止特洛伊木马的攻击。 强制访问控制一般与自主访问控制结合使用,并且实施一些附加的、更强的访问限制。一个主体只有通过了自主与强制性访问限制检查后,才能访问某个客体。用户可以利用自主访问控制来防范其它用户对自己客体的攻击,由于用户不能直接改变强制访问控制属性,所以强制访问控制提供了一个不可逾越的、更强的安全保护层以防止其它用户偶然或故意地滥用自主访问控制。 强制访问策略将每个用户及文件赋于一个访问级别,如,最高秘密级(TopSecret),秘密级(Secret),机密级(Confidential)及无级别级(Unclassified)。其级别为T>S>C>U,系统根据主体和客体的敏感标记来决定访问模式。访问模式包括: 下读(Read down):用户级别大于文件级别的读操作; 上写(Write up):用户级别小于文件级别的写操作; 下写(Write down):用户级别等于文件级别的写操作; 上读(Read up):用户级别小于文件级别的读操作; 图2-1Bell-Lapadula安全模型 依据Bell-Lapadula安全模型所制定的原则是利用不上读/不下写来保证数据的保密性。见图2-1。即不允许低信任级别的用户读高敏感度的信息,也不允许高敏感度的信息写入低敏感度区域,禁止信息从高级别流向低级别。强制访问控制通过这种梯度安全标签实现信息的单向流通。 图2-2Biba安全模型 依据Biba安全模型所制定的原则是利用不下读/不上写来保证数据的完整性。见图2-2。在实际应用中,完整性保护主要是为了避免应用程序修改某些重要的系统程序或系统数据库。MAC通常用于多级安全军事系统。 强制访问控制对专用的或简单的系统是有效的,但对通用、大型系统并不那么有效。一般强制访问控制采用以下几种方法: ?限制访问控制。 一个持洛伊木马可以攻破任何形式的自主访问控制,由于自主控制方式允许用户程序来修改他拥有文件的存取控制表,因而为非法者带来可乘之机。MAC可以不提供这一方便,在这类系统中,用户要修改存取控制表的唯一途径是请求一个特权系统调用。该调用的功能是依据用户终端输入的信息,而不是靠另一个程序提供的信息来修改存取控制信息。 ?过程控制 在通常的计算机系统中,只要系统允许用户自己编程,就没办法杜绝特洛伊木马。但可以对其过程采取某些措施,这种方法称为过程控制。例如,警告用户不要运行系统目录以外的任何程序。提醒用户注意,如果偶然调用一个其它目录的文件时,不要做任何动作,等等。需要说明的一点是,这些限制取决于用户本身执行与否。 ?系统限制 要对系统的功能实施一些限制。比如,限制共享文件,但共享文件是计算机系统的优点,所以是不可能加以完全限制的。再者,就是限制用户编程。不过这种做法只适用于某些专用系统。在大型的,通用系统中,编程能力是不可能去除的。 2.3系统总体功能描述 目前,基于网络的攻击和不安全行为成为影响内网用户正常工作的主要因素,也是造成密级要求比较高的内网网络泄密的主要因素。据统计,目前,来自内网用户机的网络攻击和不安全行为的比例,已超过来自外网的比例,单纯使用传统的网络防火墙和IDS系统已经不能很好的解决该问题。因此,需要一种系统,对内网的所有用户进行有效的管理,消除来自内网的不安全行为,这样才能有效的保证内网的安全。 本系统为一个基于C/S结构的系统,主要分为两个子系统,一个为管理中心 服务器端Server,一个为管理客户端Client。管理中心Server部署在一个管理服务器上,功能主要包括:基于规则的安全审计、客户管理、报警管理、日志管理等。管理客户端Client部署在内网的每台用户计算机上,功能主要包括:文件访问控制、进程访问控制、外设使用控制、用户登陆行为控制以及输入输出控制、屏幕行为控制等。 Client安装在每台工作PC上,当用户登陆进入操作系统时,该客户端软件以系统服务的方式启动,并对客户的各种行为进行权限控制和行为跟踪。用户身份使用用户名、密码、用户机的硬盘序列号以及MAC地址和IP地址进行识别,每个用户由管理员在系统中赋予不同的操作权限,并在自己有效的权限内进行文件操作、网络访问操作、外设操作、系统登陆操作等行为。此外,用户机上的不 安全行为,如病毒、木马程序的网络行为,非信任进程行为、不安全的注册表访问行为等,都在该系统的监控之下。所有行为的允许和不允许都有系统规则来管控,系统规则存于Server中,Client通过加密的网络通信从Server中获得。Server安装在内网中一台服务器中,存储内网中各个PC用户机的访问操作权限和系统规则,所有不在Server监控审计之下的PC用户和PC将不能访问网络资源和本地资源,也不能进行各种操作行为。管理员可以在Server上建立和修改用户信息,建立和修改审计规则,监控客户PC行为,管理和审计日志,在线分发升级信息等。 第三章 硬件设计 系统硬件电路图如下: 第四章 系统软件设计 4.1API HOOK动态链接库DLL 4.1.1动态链接库介绍 自从Microsoft公司推出第一个版本的Windows操作系统以来,动态链接库(DLL)一直是这个操作系统的基础,Windows API中的所有函数都包含在DLL中。3个最重要的DLL是Kernel32.dll,它包含用于管理内存、进程和线程的各个函数;User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的传递)的各个函数;GDI32.dll,它包含用于画图和现实文本的各个函数[1]。Windows还配有若干别的DLL,它们提供了用于执行一些特殊任务的函数。动态链接库(DLL)的广泛应用主要是由于以下的一些原因: ?它们扩展了应用程序的特性。由于DLL能够动态地装入进程的地址空间,因此应用程序能够在运行时确定需要执行什么操作,然后装入相应的代码,以便根据需要执行这些操作。如,当一家公司开发了一种产品,想要让其他公司改进或增强该产品的功能时,那么就可以使用DLL。 ?它们可以用许多种编程语言来编写。可以选择手头拥有的最好的语言来编写DLL。也许你的应用程序的用户界面使用Microsoft Visual Basic编写得最好,但是用C++来处理它的商用逻辑更好。系统允许Visual Basic程序加载C++DLL、Cobol DLL和Fortran DLL等。 ?它们简化了软件项目的管理。如果在软件开发过程中的不同小组在不同的子系统上工作,那么这个项目管理起来比较容易。但是,DLL并不是越多越好,虽然DLL能够很好的实现子系统的划分,但使用过多的动态链接库会导致应用程序的初始化时间延长,因为系统必须打开这些DLL磁盘文件之后,程序才能执行它的操作。 ?它们有助于节省内存。如果两个或多个应用程序使用同一个DLL,那么该DLL的页面只需要放入RAM一次,所有的应用程序都可以共享它的各个页面。C/C++运行期库就是个极好的例子,许多应用程序都使用这个库。当所有这些应用程序 链接到DLLC/C++运行期库,那么这些函数的代码就只需放入内存一次,这意味着内存的使用将更加有效。 ?它们有助于资源的共享。DLL可以包含对话框模板、字符串、图标和位图等资源。多个应用程序能够使用DLL来共享这些资源。 ?它们有助于解决平台差异。不同版本的Windows配有不同的函数。开发人员常常想要调用新的函数(如果它们存在于主机的Windows版本上的话)。但是,如果你的源代码包含了对一个新函数的调用,而你的应用程序将要在不能提供该函数的Windows版本上运行,那么操作系统的加载程序将拒绝运行你的进程。即使你实际上从不调用该函数,情况也是这样。如果将这些新函数保存在DLL中,那么应用程序就能够将它们加载到Windows的老版本上。当然,你仍然可以成功的调用该函数。 ?它们可以用于一些特殊的目的。Windows使得某些特性只能为DLL所用。例如,只有当DLL中包含某个挂钩通知函数的时候,才能安装某些挂钩(使用SetWindowsHookEx和SetWinEventHook来进行安装)。可以通过创建必须在DLL中生存的COM对象来扩展Windows Explorer的外壳程序。对于可以由Web浏览器加载的、用于创建内容丰富的Web页的ActiveX控件来说,情况也是一样。 4.1.2动态链接库进入点函数 一个DLL可以拥有单个进入点函数。系统在不同的的时间调用这个进入点函数,这些调用可以用来提供一些信息,通常用于供DLL进行每个进程或线程的初始化和清除操作。进入点函数如下: BOOLWINAPI DllMain(HINSTANCE hinstDll,DWORD fdwReason,PVOID fImpLoad); 参数hinstDll包含了DLL的实例句柄,这个值用于标识DLL的文件映像被映射到进程的地址空间中的虚拟内存地址。通常将这个参数保存在一个全局变量中,这样就可以在调用加载资源的函数时使用它。最后一个参数fImpLoad,若DLL是隐含加载的,那么该参数将是个非0值,如果是显式加载的,那么它的值是0。参数fdwReason用于指明系统为什么调用该函数,它可以使用下面4个 值中的一个:DLL_PROCESS_ATTACH、DLL_PROCESS_DETACH、DLL_THREAD_ATTACH或DLL_THREAD_DETACH。当DLL被初次映射到进程的地址空间中时,系统将调用DLL的DllMain函数,给它传递DLL_PROCESS_ATTACH给参数fdwReason。只有当DLL的文件映像初次被映射时,才会出现这种情况。如果线程在后来为已经映射到进程的地址空间中的DLL调用LoadLibrary函数,那么操作系统只是递增DLL的使用计数,它并不再次使用DLL_PROCESS_ATTACH的值来调用DLL的DllMain函数。线程调用LoadLibrary时系统执行的操作如图4-1: 4-1线程调用LoadLibrary时系统执行的操作步骤 4.2 API HOOK通过挂接动态链接库实现的文件操作行为监控技术 通过挂接Kernel32.dll中的以下函数,并将其映射到内存中的安全策略文件进行读取,根据文件安全规则检查,若将要执行的是非法操作,那么就终止该操作,并记录该操作,向控制台报警。这样我们就能够实现对计算机中的电子文件操作行为的监控。根据传入API的文件或者文件夹的名字,根据图4-2的算法流程来进行安全除文件 DeleteFileA()函数替换为Hook_DeleteFileA(); DeleteFileW()函数替换为Hook_DeleteFileW(); 这里还需要考虑一种情况,即文件移动至回收站的情况,因此我们必须同时替换以下函数,看这些函数的目的地址是否为回收站,如果是那么则需要映射到内存中的安全策略文件进行读取,并判断该文件操作是否符合安全规则,以确保禁止非法删除操作。 MoveFileA()函数替换为Hook_MoveFileA(); MoveFileW()函数替换为Hook_MoveFileW(); MoveFileExA()函数替换为Hook_MoveFileExA(); MoveFileExW()函数替换为Hook_MoveFileExW(); 、禁止非法拷贝文件2 CopyFileExA()函数替换为Hook_CopyFileExA(); CopyFileExW()函数替换为Hook_CopyFileExW(); 3、禁止文件非法改名、非法移动,禁止目录非法改名、非法移动 MoveFileA()函数替换为Hook_MoveFileA(); MoveFileW()函数替换为Hook_MoveFileW(); MoveFileExA()函数替换为Hook_MoveFileExA(); MoveFileExW()函数替换为Hook_MoveFileExW(); MoveFileWithProgressA()函数替换为Hook_MoveFileWithProgressA(); MoveFileWithProgressW()函数替换为Hook_MoveFileWithProgressW(); 、禁止非法读、写文件4 CreateFileA()函数替换为Hook_CreateFileA(); CreateFileW()函数替换为Hook_CreateFileW(); 5、禁止非法浏览目录 FindFirstFileA()函数替换为Hook_FindFirstFileA(); FindFirstFileW()函数替换为Hook_FindFirstFileW(); FindFirstFileExA()函数替换为Hook_FindFirstFileExA(); FindFirstFileExW()函数替换为Hook_FindFirstFileExW(); 6、禁止非法建立目录 CreateDirectoryA()函数替换为Hook_CreateDirectoryA(); CreateDirectoryW()函数替换为Hook_CreateDirectoryW(); 7、禁止非法删除目录 RemoveDirectoryA()函数替换为Hook_RemoveDirectoryA(); RemoveDirectoryW()函数替换为Hook_RemoveDirectoryW(); 第五章 系统测试 针对动态链接库的文件访问控制子系统完成之后,在本实验室各计算机上进行了测试,测试界面如图5所示。 测试硬件环境为 ?CPU:Celeron 3.0GHZ ?内存:DDR400 512MB ?主板:集成Radeon X200显卡的主板 ?硬盘:希捷80G硬盘 ?光驱:三星16X DVD光驱 ?U盘:Sandisk 1G U盘USB2.0接口 ?USB移动硬盘:三星80G移动硬盘USB2.0接口 ?鼠标:罗技USB鼠标 测试软件环境为:WindowsXP操作系统 经过测试,本子系统能够控制对本地磁盘、光盘、U盘的各种不同类型文件 的访问。由于缺乏设备,没有对软盘文件进行测试,对于已测试文件基本上达到 了系统要求的各项功能。 图5测试界面 第六章 系统功能 6.1系统总体功能描述 目前,基于网络的攻击和不安全行为成为影响内网用户正常工作的主要因素,也是造成密级要求比较高的内网网络泄密的主要因素。据统计,目前,来自内网用户机的网络攻击和不安全行为的比例,已超过来自外网的比例,单纯使用传统的网络防火墙和IDS系统已经不能很好的解决该问题。因此,需要一种系 统,对内网的所有用户进行有效的管理,消除来自内网的不安全行为,这样才能有效的保证内网的安全。 本系统为一个基于C/S结构的系统,主要分为两个子系统,一个为管理中心 服务器端Server,一个为管理客户端Client。管理中心Server部署在一个管理服务器上,功能主要包括:基于规则的安全审计、客户管理、报警管理、日志管理等。管理客户端Client部署在内网的每台用户计算机上,功能主要包括:文件访问控制、进程访问控制、外设使用控制、用户登陆行为控制以及输入输出控制、屏幕行为控制等。 Client安装在每台工作PC上,当用户登陆进入操作系统时,该客户端软件以系统服务的方式启动,并对客户的各种行为进行权限控制和行为跟踪。用户身份使用用户名、密码、用户机的硬盘序列号以及MAC地址和IP地址进行识别,每个用户由管理员在系统中赋予不同的操作权限,并在自己有效的权限内进行文件操作、网络访问操作、外设操作、系统登陆操作等行为。此外,用户机上的不安全行为,如病毒、木马程序的网络行为,非信任进程行为、不安全的注册表访问行为等,都在该系统的监控之下。所有行为的允许和不允许都有系统规则来管控,系统规则存于Server中,Client通过加密的网络通信从Server中获得。Server安装在内网中一台服务器中,存储内网中各个PC用户机的访问操作权限和系统规则,所有不在Server监控审计之下的PC用户和PC将不能访问网络资源和本地资源,也不能进行各种操作行为。管理员可以在Server上建立和修改用户信息,建立和修改审计规则,监控客户PC行为,管理和审计日志,在线分发升级信息等。 6.2子系统划分以及主要功能描述 系统中的子系统划分如图下图: 图内网安全访问控制系统子系统划分 具体子系统能能描述: 文件访问控制子系统 对于受控主机上的某些特定文件,需要制定一定的保护策略,管理员能够设 置受控机上制定文件的操作权限,包括读文件权限、写文件权限、删除文件权限、创建文件权限等,有效的防止文件被删除、篡改、拷贝。 进程访问控制子系统 控制Client端的活动进程列表、进程的启动权限(能否启动)、进程对网络资源的访问权限。 外设访问控制子系统 控制Client端对外设的访问权限,包括软盘、U盘、红外设备、蓝牙设备、光驱设备、并口设备、串口设备、PCI设备等设备的使用权限。 登录行为控制子系统 用户登录行为控制是通过限制用户的登录时间来保证系统安全的一种手段,对于内部网用户可以通过对其登录行为进行限制,针对每一个主机,设置允许登录的 身份,允许登录的时间段,来保障账户的安全性。即系统中登录控制的对象对象是系统的合法用户,通过了系统自身的验证之后,还要经过登录控制文件的 验证才能成功登陆,而不是系统的合法用户则直接不允许登录。 网络访问控制子系统 针对现有系统在网络安全方面存在的缺陷,监控系统应该对内部网的“内部攻击”与“外部攻击”都实施监控。具体为:HTTP通讯数据的过滤与监控、SMTP协议通讯数据的过滤与监控、网络通讯地址(源地址与目标地址)的过滤与监控、协议端口过滤与监控、通信协议(应用层的HTTP、SMTP、POP3、P2P等,传输层的TCP、UDP、IP层的ICMP、IGMP,以及ARP协议等)监控等,同时对每个用户的上网时间和网络流量进行记录。需要注意的是,对于网络通信的监控包括本机向外网发起的通信和外网向本机发起的通信。 客户管理子系统 在Server端完成Client用户(包括用户名和密码)的建立、用户的权限(规则)管理、用户机资源列表管理(CPU、内存、硬盘ID、网卡MAC地址等)、用户进程列表等。一个合法用户使用用户名+密码+硬盘ID+MAC地址来标定,有一项不符合,则该用户为非法用户。所有的合法用户信息以加密的形式存于Server的数据库中。每个合法用户拥有自己的权限,权限由规则定义,规则也以加密的形式保存在Server的数据库中。 规则管理子系统 规则用来定义一个用户的权限范围,包括文件访问权限、进程访问权限、外设访问权限以及其它的系统资源访问权限。规则也以加密的形式保存在Server的数据库中。用户端登录一个客户机后,Client依据用户信息从Server端读取规则,在规则的管控下,在自己的权限范围内完成各种PC操作。 报警管理子系统 对于违反规则的操作行为进行报警,报警形式包括弹出窗口报警、声音报警、 日值报警等。当用户违反规则时,报警在Client端发生,同时报警信息会发往 Server,在Server端也同时进行报警。 日志管理子系统 对系统中发生的事件进行记录,事件包括:客户管理事件、规则管理时间、报警事件、监控事件以及系统自身的一些事件。 6.3文件访问控制子系统分析 Windows操作系统要求处理器仅支持两个模式:一个或多个应用程序运行的用户态和操作系统运行的内核态。用户态程序被保护,使得它们不能轻易的相互破坏,或者轻易的破坏内核。相反,内核可以做它想做的任何事情,且可以访问所有内存。每个用户模式的进程有其私有的地址空间,这些进程在最低的权限级别下运行(即Ring3或者用户模式),它们不允许执行CPU的特权指令,对系统所属的数据、地址空间以及硬件等的访问也是被严格限制的。要注意的是进程调用系统功能的时候可以切换到内核模式执行,但是调用结束后,就返回到用户模式了。用户模式的进程总是被认为是对操作系统稳定性的潜在威胁,所以它们的权限被严格地限制,任何触及这些限制的举动都将使进程被终止。而内核模式的组件则可以共享这些受保护的内核模式内存空间,在特权级别下运行(也称为Ring0),允许执行任何CPU指令,包括特权指令,可以无限制地访问系统数据、代码和硬件资源。内核模式代码运行在系统地址空间中,并总是被认为是可信任的,一旦被装载运行后,驱动程序就是系统的一部分,可以无限制地做任何事情。论文所要描述的文件访问控制技术可以在用户态以及内核态两种模式下实现,用户态下可以通过挂接系统中重要的关于文件的WindowsAPI函数来实现文件访问控制(API Hook),内核态则可以使用文件过滤驱动技术来实现安全级别更高的文件访问控制。 基于动态链接库(DLL)的文件访问控制是处于操作系统中应用层的访问控制技术。本章介绍了动态链接库以及挂接动态链接库的基本原理,简要介绍了几种具体挂接方案。提出了远程进程插入DLL和HOOK结合修改进程模块输入节的文件访问控制方案,并列出了详细的流程。 由于所有实现均在系统的应用层中,因此本章所描述的各种方法均有一定的弊端,或多或少的存在着一些安全隐患,对于安全要求不是很高的系统基本能够满足需要,但是对于要求非常高的如:军队、政府及一些企业的机要文件来说,本 章的文件访问控制技术就有些捉襟见肘。鉴于此原因,将在下一章中介绍基于Windows内核的文件系统过滤驱动,此方法能够满足对文件保护有着更高要求的 需要。 基于WINDOWS NT内核的文件访问控制技术实现本章所采用的技术是内核模式的文件系统过滤驱动,它直接附在FAT32、NTFS的文件系统驱动上对文件系统进行监控。因此,从安全、实时及高效等角度出发均优于基于动态链接库的文件访问控制技术,但从开发的角度来讲,本章所描述的文件系统过滤驱动无疑对开发者提出了更高的要求。文件系统驱动向用户提供非易失性媒介(磁盘、磁带等)信息的存储、转发。文件驱动和Windows内存管理器、缓存管理器紧密集成在一起。文件系统驱动接受打开、创建、读、写、关闭磁盘上文件的操作请求。这些请求一般是由用户进程产生通过I/O子系统管理器发送到文件系统中去。过滤驱动是驱动层中比较特殊的一种驱动,是一种核心模式驱动,之所以把它从驱动层中分离出来是因为过滤驱动是不可见的。过滤驱动位于其他驱动之上,并且拦截对底层驱动设备对象的请求。文件过滤驱动为文件系统增加功能或者是修改文件驱动的行为。文件系统过滤驱动是一种内核组件,它作为WindowsNT系统的一部分来运行。一个文件系统过滤驱动可以过滤对文件系统或文件系统卷的I/0操作,过滤可以是记录、监测甚至阻止,具体的行为是由驱动的种类决定的。 文件过滤驱动在Windows系统中的位置如下图: 图文件过滤驱动层次图 第七章 系统总结 计算机内网安全访问控制系统的研究是针对了当前日益严峻的内网安全形势,并在此基础上提出的一个较为有效的解决方案。论文重点就其中的文件访问控制子系统进行了大量深入的研究,分别从应用层和核心层对文件访问控制技术做了细致的分析与探讨,提出了针对不同需求的文件访问控制方法,论文具体的工作如下: 1、全面的分析了当前内网安全的现状,重点对其中的文件安全问题与流行解决方法做了细致的讨论; 2、从系统的总体出发,提出了系统总体设计模型,就各个主要子系统做了一定的分析,详细的分析了文件访问控制子系统; 3、介绍了动态链接库及API HOOK技术,总结了主要的API HOOK技术实现文件访问控制的方法,并在此基础上提出了结合HOOK与修改进程子系统输入节的API挂接方法; 4、论文所涉及的主要内容是整个内网安全项目中的一个子课题,在整个项目中占有非常重要的地位,文件访问控制的实现性能直接影响到整个项目的效果。由 于文件访问控制技术涉及的知识面较广,还有一些问题需要解决,还有待于进一步的研究。问题及研究方向包括: 1、论文提出的HOOK结合修改进程模块的输入节的方法不能完全拦截所有的WindowsAPI函数,还有待于进一步完善; 2、在文件过滤驱动中还有一种微端口文件过滤驱动并没有进行研究,可以在以后的工作中进行这个方面的研究。
/
本文档为【企业内网的多路访问控制[资料]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索