基于Java的主机涉密信息监测控制系统的研究

2018-01-12 11:51郭雪姣
智富时代 2018年12期
关键词:信息安全

郭雪姣

【摘 要】涉密信息系统指的是通过网络对涉密信息进行存储、处理、传输的系统,如果无法保障系统数据的安全性,就会造成涉密信息被窃听、更改、伪造、泄密,影响相当恶劣,对国家、企业等的利益带来严重威胁。笔者从信息系统面临的安全问题入手,就Java的主机涉密信息监测控制系统进行分析和探讨,旨在为企业涉密信息系统的安全解决方案及技术措施,提供借鉴作用和知道意义。

【关键词】Java;主机泄密嘻嘻;信息安全;监测控制系统

目前主机涉密信息监控大都体现在接入接出控制、数据核查和审计等,但用于涉密信息本身的防范措施不是很多。在一些商业化产品中,对涉密信息的界定缺乏灵活性,有的过宽,有的过严,结果不是消耗更多的计算机资源,就是使一些涉密信息失去监控。对此,本文提出了一种综合利用基于字符串匹配的文本分类技术和密码技术解决主机涉密信息失、泄密问题的方案。主机涉密信息是信息网络安全的重要工作内容的一部分。本文主要研究设计并实现了基于Java的主机涉密信息监测控制系统,目的在于探讨防止主机涉密信息失、泄密的方法,以减少或杜绝计算机失、泄密事件的发生,其对促进社会和个人生活信息化具有重要的应用意义。

一、信息系统面临的安全问题

(一)网络安全

网络安全是指网络上的信息和资源不被非授权用户使用。网络安全设计内容众多,如合理的安全策略和安全机制。网络安全技术包括访问控制和口令、加密、数字签名、包过滤以及防火墙。网络安全,强调的是网络中信息或数据的完整性、可用性及保密性。完整性是指保护信息不被非授权用户修改或破坏。可用性是指避免拒绝授权访问或拒绝服务。保密性是指保护信息不被泄漏给非授权用户。现阶段,企业办公都离不开网络的支持。一般来说,企业的网络规划与建设都是采用的内网与外网的双重模式,但是需要利用一定的技术来进行相互的隔离。虽然双网模式能够带来便利,但是伴随的网络安全隐患也会让黑客有可乘之机,进而对保密信息以及敏感数据带来威胁。

(二)用户登录授权

用户登录模块是用户进入系统的入口,传统意义上需要一个数据库存储用户信息在登陆时进行匹配验证,这就需要安装和支持一个分离的服务器进程,且在对数据进行操作时需要对数据进行转换再返回操作结果。企业信息系统涉及的业务是部门负责组织的专项工作,专职人员只有经过授权之后才能接触信息系统中的涉密信息。如果是非系统用户采取技术手段获取或破解信息系统的登錄账号、口令,获取访问系统的权限,就极易导致信息、数据被损坏、泄露。

(三)信息本身的保密性

主机是信息系统处理流程的起点和终点,是信息产生、存储和处理的载体,是应用服务程序的运行中心和数据处理中心。当前,针对主机的攻击事件层出不穷,攻击手段多种多样。从缓冲区溢出攻击、口令破解到恶意代码攻击;从用户身份伪造、非法提升权限到重要数据完整性破坏;从外部攻击到内部破坏;主机成为当前安全攻防过程中的关键环节。如果信息系统的管理人员或是网络黑客采取技术手段直接从系统里窃取数据,那么存储在数据库里的信息就极易被非法读取或查询,最终导致涉密信息被泄露。

二、java安全体系结构

Java语言拥有三大特征:平台无关性、网络移动性和安全性,而Java体系结构对这三大特征提供了强大的支持和保证,本文着重介绍Java体系结构对支持信息安全的原理和使用方法。

(一)Java体系结构

Java的体系结构如下:首先Java的源代码Java文件由编译器编译成Java的二进制字节码class文件,然后class文件由Java虚拟机中的类装载器进行加载,同时类装载器还会加载Java的原始APIClass文件,类加载器主要负责加载、连接和初始化这些class文件以后,就交给虚拟机中的执行引擎运行,执行引擎将class文件中的Java指令解释成具体的本地操作系统方法来执行,而安全管理器将在执行过程中根据设置的安全策略控制指令对外部资源的访问。

Java的执行方式不是编译执行而是解释执行,不同平台上面相同的源代码编译成符合Java规范的相同的二进制字节码,然后再交给支持各自平台的虚拟机去解释执行,"先编译,后解释,再执行"三步走的方式使得Java实现了"一次编写,到处运行",如果Java应用使用的是100%标准JavaAPI并且没有直接调用本地方法,那就可以不加修改地运用在多种平台上,这样的平台无关性使得在异构的网络环境或者嵌入式方面的应用更方便和现实。Java的网络移动性带来了一种全新的软件模式,在分布式处理模式的基础之上,可以将软件和数据通过网络传送到客户端去,这样确保了客户端有必备的软件来浏览和操纵通过网络传输的数据,Java体系结构支持把单一的执行文件切割成小的二进制字节码文件Class文件,而这些文件可以按照应用的需要动态连接、动态扩展。Java体系结构对安全性的支持主要是通过Java语言本身安全性、虚拟机的类加载器和安全管理器以及Java提供的安全API几个方面来实现:防止恶意程序的攻击,程序不能破坏用户计算机环境;防止入侵,程序不能获取主机或所在内网的保密信息;鉴别,验证程序提供者和使用者的身份;加密,对传输交换的数据进行加密,或者给持久化的数据进行加密;验证,对操作设置规则并且进行验证。

(二)Java信息安全的必要性

随着互联网应用越来越广泛,并且互联网其本身独特的资源共享性,因此能够按照用户需求及时准确获得信息和处理信息的应用对用户而言就相当重要,这也是Java得以迅速发展和被广泛接受的原因。但同时网络也提供了一条攻击接入计算机的潜在途径,特别是当用户下载网络软件在本地运行,这就要求Java能够对病毒/木马的问题加以防范,对信息以及本地环境进行保护。比如我们浏览一个网页的时候,网页上的Applet可能会自动下载并且运行,而这个Applet完全有可能来自不可靠的地方,又或者我们使用通过JINI服务查找到的网络上不可靠的服务对象来获得服务,如果没有Java体系结构提供的安全机制,这就很有可能引入了一个怀有敌意的程序造成信息丢失、资料泄密、相信伪造数据和修改本地计算机安全设置等等后果,带来未知的严重后果。

(三)Java语言本身安全性

Java语言的设计者们是在C++的基础上设计出来Java的,因此与C++相比它的语法更加简单清晰,结构、单元、运算符重载、虚拟基础类等在Java中都沒有采用,并且取消了多重继承而采用实现多个接口的方式。这样能降低开发人员犯错误的几率,帮助他们写出更安全的代码。

Java中去除了C++语言中的令人费解、容易出错的"指针",用列表、堆、哈希表等结构来代替,避免了任何不安全的结构。Java也没有索引核查的数组访问,因为这往往会导致不定的、不可预测的程序操作,它所有的数组访问都必须先检查是否越界。Java要求所有的变量在初始化以前不能使用,对于基本数据类型变量都会自动地赋给某个初始值,避免了未初始化变量获取内存信息。所有这些都使得程序不能访问任意的内存地址,对于内存中的实体信息只能通过有权限的对象进行访问,而不会出现象C++那样把类型指针强制转换成内存的指针,然后通过内存查找的方法找到私有的变量。

Java分配内存对于开发人员来说是透明的,开发人员使用new方法新建对象,这时候虚拟机就会从堆内存中找到合适的内存空间,开发人员不需要也不能够进行干预。而对于内存的回收,Java避免了开发人员明确干预对象的回收,比如C的free或C++的delete命令,避免了开发人员无意间对内存的破坏。Java采用虚拟机的"垃圾回收"机制来实现的内存自动管理,释放不再被使用的内存资源,内存回收器就像一台垃圾收集车,但是和我们在大街上看到的收集车,仅仅收集大家放在垃圾桶里面的垃圾不同的是,它还要到你家里去帮你找出那些东西是不要用的垃圾,然后把这些东西拿走,最后还要整理家里的空间,腾出最大的空间让你放新东西。Java的内存回收器目的就是找到不再引用的对象,释放内存空间,并且需要整理内存的碎片空间,尽量避免出现"内存不足"的情况。

对于在网络中交换的序列化对象很容易在重建对象的时候访问到对象的私有信息,这时候Java提供了两种办法来保护信息,一种就是采用给变量加上transient关键字的方法,这样对象序列化的时候就不会读写该变量,另一种就是在实现Externalizable接口而不是Serizlizable接口,这样对象就只能通过writeExternal和readExternal方法来保存和重建,其他方法无法进行了。以上这些都是Java语言本身对信息安全提供的基础。

三、Java加密体系结构(JCA)

Java平台强调安全性,包括语言安全,密码学,公钥基础设施,认证,安全通信和访问控制。

JCA是平台的一个主要部分,包含一个“Provider”体系结构和一组用于数字签名,消息摘要(哈希),证书和证书验证,加密(对称/非对称块/流密码),密钥生成管理和安全随机数生成等等。这些API允许开发人员将安全性轻松集成到应用程序代码中。这个架构是围绕以下原则设计的:

(一)实现独立性

应用程序不需要自己实现安全性。相反,他们可以从Java平台请求安全服务。安全服务在Provider(见下文)中实现,通过标准接口接入Java平台。应用程序可能依靠多个独立的提供者来提供安全功能。

(二)实现互操作性

Provider可以跨应用程序进行互操作。具体而言,应用程序不绑定到特定的提供者,而提供者也不绑定到特定的应用程序。

(三)算法可扩展性

Java平台包含许多内置的Provider,这些Provider实现了当今广泛使用的一组基本的安全服务。但是,一些应用程序可能依赖尚未实施的新兴标准或专有服务。Java平台支持安装实现这些服务的定制提供程序。

JDK中提供的其他密码通信库使用JCA提供程序体系结构,但在别处进行了介绍。Java安全套接字扩展(JSSE)提供对安全套接字层(SSL)和传输层安全性(TLS)实现的访问。Java通用安全服务(JGSS)(通过Kerberos)API以及简单身份验证和安全层(SASL)也可用于在通信应用程序之间安全地交换消息。

在JDK 1.4之前,JCE是一个非捆绑产品,因此,JCA和JCE被定期称为独立的,独特的组件。但是JCE现在被捆绑在JDK中,所以区别变得不那么明显了。由于JCE使用与JCA相同的体系结构,所以JCE应该更适合作为JCA的一部分。

JCA可以轻松地将安全功能集成到您的应用程序中。然而,除了基本介绍讨论API所需的概念之外,本文档不包括安全/密码学理论。本文档也没有涵盖特定算法的优缺点,也不涵盖协议设计。

四、基于Java的主机涉密信息监测控制系统研究

(一)安全整体设计

在设计网络信息系统的初始阶段就要做好充分的安全设计工作,安全方案主要是对安全域的划分,使管理分域,强化信息系统的安全性。

(二)实现涉密信息系统安全方案的技术措施

1.防火墙

防火墙是保障网络系统信息安全的一项基础性防御措施,其重要作用不言而喻。在企业局域网里,不同的网域、信息系统交叉相错,为传播信息、传输数据提供了通道,而防火墙是信息通道的疏通、结扎口,它通过对安全的自动化控制来筛选信息、比对信息,确认允许访问涉密信息系统的人员、服务,将带着病毒的各种插件排除在外,在允许、监测和拒绝等服务项目中为计算机局域网打造一个安全的环境。

2.VLAN技术

不同VLAN之间是不能相互联系、相互通讯的,能有效抑制病毒的传染。同时,VLAN技术在划分交换机端口方面的操作是灵活的、简单的,促使企业计算机局域网中的网络设备能够灵活移动,企业不同部门也能被规划到各个VLAN中去,不仅传输数据更方便,有利于共享信息,还能提高企业计算机局域网以及涉密信息系统的安全性。企业应在配置防火墙时禁止在非应用系统里使用VLAN相互访问,并在配置交换机阶段就隔离端口,从而使同部门、同VLAN也能获得安全网络防护。同时,企业为每一台涉密的计算机都分配了静态的IP地址,基本防护好物理接入的安全,只是要注意该IP地址应和计算机的MAC地质、接入交换机端口做好绑定。

3.入侵检测

入侵检测技术的使用往往需要防火墙的配合,防火墙对网外攻击的关注更多,却忽略网内人员对涉密信息系统的恶意破坏,使得入侵检测技术措施获得弥补防火墙安全监测漏洞的机会。入侵检测技术能对企业的内网形成一个保护层,通过检测手段以及自动防护措施等的实施,使得网络能及时断开、恢复,在保留证据的基础上跟踪恶意切入信息,从而排除隐患,实现企业网内安全。

4.访问控制

访问控制是企业防护涉密信息系统安全的核心策略之一,其主要任务在于确保信息资源不会被非法访问、使用。访问控制对限制主体访问客体做出了明确的规定,并基于身份鉴别,按照身份所提出的访问资源的请求进行控制,它是保护企业涉密信息系统资源的重要安全技术,甚至对整个计算机系统而言都是最基础、最重要的安全机制。该企业使用的涉密信息系统就须实施强制性的访问控制,即基于信息分级、安全标识等敏感信息实施强制性的访问控制。

5.数据加密

数据加密技术是增强企业涉密信息系统安全的一个必要手段,客户端里面的文件均通过加密文件、解密文件得以展现,文件的加密与解密通过在安全域里增加解密服务器,使涉密局域网的私密性得以实现,从而确保企业涉密信息系统内部的数据即便被非法竊取也不会被识别。

6.有机结合涉密资料的分类管理、操作行为与访问控制

涉密信息有所接触,或采取更名等手段改变涉密信息的表现形式,企业务必要针对涉密信息的使用人员操作计算机的行为做好控制工作,包括打开、创建、更名、编辑、复制等。同时,企业要实现对涉密信息系统的访问控制,确保只有获得授权的人员能知悉涉密信息,建立授权人员、涉密信息之间的对应关系规则,保证其可以操作,从而有效预防涉密信息的泄露。

五、结束语

通过一系列技术措施的应用,涉密信息系统在保障涉密信息与数据的安全性方面发挥出强有力的作用,有效降低破坏、泄露涉密信息的风险,从而提高涉密信息系统用户的满意度、信任度。当然,某企业对涉密信息系统安全技术的实践应用为其他企业研发涉密信息系统、制定信息安全技术方案提供了重要的依据,为企业今后的发展打下坚实基础。

【参考文献】

[1]李刚,雷艾,张弦弦.涉密网络信息安全保密[J].兵工自动化,2011(01):53-55.

[2]赵云,孟繁明,赵宏.涉密信息管理系统相关安全技术研究[J].河南科技,2015(22):14-15.

[3]郝春媚.涉密检查系统中信息检索技术研究[D].北京:北京邮电大学,2014.

猜你喜欢
信息安全
《信息安全与通信保密》征稿函
信息安全专业人才培养探索与实践
保护信息安全要滴水不漏
高校信息安全防护
保护个人信息安全刻不容缓
信息安全