浅谈基于VB与ACCESS的应用程序体系的安全问题

时间:2013-12-21 14:08 来源:www.fabiaoba.com 作者:黄雅琼 点击:
  摘要:VB是MicroSoft公司推出的可视化编程软件,虽然采用它的数据控件和绑定控件项可以对数据库进行操作,但是在应用程序运行的时候,VB中的控件并不能从底层实现对数据库的所有操作,Access是MicroSoft公司研发的数据库管理系统,所以ACCESS和VB相结合的应用,是一种实用性很强的技术方案。数据库的主要任务是存储信息和管理信息,而这些信息往往对于人来说极具隐秘性,所以这些信息的安全问题成为人们最关心的问题之一。数据库作为信息的聚集体,它的安全性问题也就成为了信息安全的最大挑战。Access是一种关系型数据库管理系统,它是一种桌面应用程序,并不是Web应用程序,所以Access在网络环境中会存在很多安全隐患,该文从这些安全隐患入手,做了一些探讨,并且提出了几种解决方案,希望能增强信息管理体系的数据库安全性。
  关键词:Access;VB;数据库;信息管理系统;数据安全
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)33-7398-02
  1VB简介
  由Microsoft公司研发的VB(VisualBasic)中有着数据控件和绑定控制项,这些控件对数据库的应用提供了强大的支持。通过它们的使用,VB可以对数据库进行三种不同方法的访问:DAO(DataAccessObjectVariable)即存取对象变量、直接调用ODBC(OpenDatabaseConnectivity)即开放数据库互联和API(ApplicationProgrammingInterface)即应用程序接口。但是VB并不是专业的数据库管理系统,所以当用VB编制的应用程序在运行状态是采用这些控件是无法从底层实现对数据库的所有操作的。而Access同是Microsoft研发的专门针对中小型数据库的管理系统,所以将这两种软件的应用相结合是再合适不过了。
  2Access简介
  数据库的模型有三种:层次模型、网状模型、关系模型。而ACCESS数据库是一种关系型数据库,它是由Microsoft公司所研发的,主要应用于桌面应用程序,它是MicrosoftOffice的组件之一,主要特点是:上手快、使用方便而且功能强大。最重要的是,由于同是出自Microsoft公司,它与其他Office应用程序高度集成。但是Access也有它自身的缺陷,由于设计它的初衷是管理一些信息量较少的中小型系统,而且主要是与桌面程序相结合,所以当Access处在一个开放性的环境中或者是数据量大的环境中,就没有SQLServer、Oracle这类大型数据库管理系统来的那么得心应手,特别是数据安全方面。因此,在实际应用的过程中,使用者要高度重视Access的安全漏洞、从而提高整个数据库的安全性。
  3基于VB与ACCESS的应用程序体系的安全问题
  3.1数据库安全概述及安全体系
  数据库安全有两个方面的含义:第一方面指的是系统在运行形态的安全,这个方面的安全是物理形态的:黑客们往往通过INTERNET或INTRANET等途经入侵服务器,破坏服务器系统,使得系统无法正常启动、工作,或者是通过关闭CPU风扇使得CPU散热系统遭到破坏,导致CPU无法正常工作,这些损害都是物理上的损害。另一方面指的是逻辑数据方面的:黑客们同样是通过INTERNET或INTRANET等途经入侵服务器,这个时候他们并不是破坏具体的物理硬件,而是找到服务器上的数据库,窃取或篡改数据库中的数据,再不然是干脆直接破坏掉整个数据库。从而导致数据库数据的丢失。为了保护数据库的安全,我们必须建立一个数据库系统的安全框架:这个框架从外到内分为三个层次:
  1)网络系统层次:这是对数据库安全最外层的保护,也就是第一个安全保障。它主要保障的是互联网上常见的威胁:如路由数据包的重发、报文修改、欺骗数据、还可以通过网络防火墙抵制特洛伊木马等病毒。
  2)服务器操作系统层次:现在的操作系统有很多是服务器版的操作系统,这些操作系统与个人版或者专业版操作系统最大的不同之处就在于它们为数据库系统提供了一些安全技术:如操作系统安全策略、安全管理策略、数据安全等方面。
  3)数据库管理系统层次:这是对数据库系统安全最内层的保护也是最后一道防线。如果数据库管理系统的安全性越好数据库系统安全系数越高。它的关键点在于当第二层服务器操作系统的安全遭到破坏的时候数据库管理系统还能否继续保护数据库中数据信息的安全。显而易见,这个对于数据库管理系统是非常高的安全要求。
  3.2Access数据库自身方面的安全问题
  1)Access数据库加密方式简单,易被破解
  在Access数据库设置访问密码是保护数据控件被非法访问的最简便的方法。本意是设置了访问密码后每次打开数据库时必须要输入正确的密码才能打开数据库。但是这个密码只能提供对从Access窗口界面进入数据库的安全保护,并不能阻止使用第三方软件或其他手段来打开数据库,换句话来说这把锁只能防君子却不能防小人。总所周知Access数据库保存数据库文件的默认扩展名是*.MDB,这就说明数据库是以单个文件的形式存放在服务器上的,若能将数据库文件下载就可以通过第三方软件对数据库进行解密,而数据库中的数据信息就完全没有任何安全性可言了。
  2)Access帐户存在的漏洞
  Access的帐户包括两类一类是组用户,一类是用户。组用户由一个或多个用户组成。再将Access安装到计算机上的时候,它会默认建立两个用户组和一个管理员用户。用户组包括:Admins组和Users组,而管理员用户则是:Admin用户,这两个用户组和一个管理员用户是无法删除的。Admins组是Access的管理员组,这个组中的用户对数据库具有完全的控制权,他们可以新建和管理其他用户组中的用户,或者是新建或管理用户组。Users组是Access的缺省用户组,默认情况下所有新建的用户和Admin用户都属于这个组,所以这个组的用户也是对数据库具有全权的。所以只要拿到Access的数据库文件,任何人都是可以打开数据库的。3)数据库文件存储漏洞
  这个漏洞实际上是由于程序编辑人员和数据库使用人员的习惯造成的,他们在编写程序的时候往往为了以后读写程序对文件的命名做到见名知意,如:一个在线网店的数据库命名为shop.mdb;一个学校数据库命名为:school.mdb。这样使得黑客们可以通过这些文件的名字猜到数据库的存储文件。
  4数据库安全技术研究
  4.1针对数据库安全体系的建议
  针对以上提出关于数据库安全体系的种种问题,我对数据库安全体系提出以下一些个人建议:第一、在外层装上网络防火墙,这个可以是物理上的。第二、尽可能的提高服务器操作系统的安全性,可以采取的措施有很多,如:采用服务器版的操作系统,并时刻保持服务器操作系统是最新的,及时更新补丁、修补漏洞、安装正版的杀毒软件更新病毒库。这些防护可以有效的弥补第一层防护的不足。第三、就是对数据库管理系统Access的具体防护了。
  4.2针对Access数据库自身方面的安全问题的建议
  1)改进Access数据库的加密机制
  Access数据库本身自带的加密算法非常简单,但是我们可以通过编程来改进这个加密算法,如:RSA算法,这个算法是公开密钥密码类别中最好的加密算法。或者是随机加密算法,使用随机加密算法后,不但加密所用的数据是随机数,而且密码不再是通用的了,它是真正意义上的"一次一密"。对加密机制进行改制后,可以大大增强数据库的安全性。
  2)合理分配用户对数据库的所有权限
  我们首先要解决的是Admin用户所引发的漏洞,因为它自动是管理组,所以只要下载了数据库文件后,黑客们往往找的就是这个用户。我们要做的事情是:在管理组新建一个HYQ用户,让它作为管理员,让原本是管理员的Admin用户撤出管理组成为一个普通用户,取消它所有管理组的权限。最后我们要解决的是Users组对数据库默认情况下也是有全权的问题,因为所有新建的用户默认都是进入Users组,而Users组对数据库具有全权就变相成为所有用户都对数据库具有全权。所以我们在分配数据库的权限之前,必须首先将数据库的所有权限屏蔽掉。
  3)修改数据库文件名
  黑客们往往是通过程序员和数据库管理员的编程习惯来猜测数据库文件的存储路径和文件名,那么如果我们将原本简单文件名加一些复杂的符号如:@、#、%等、这样使得这些黑客要多花很多时间去猜测,无形中就增强了数据库的安全。
  参考文献:
  [1]郭丽.Access数据库的安全与防范[M].北京:清华大学出版社,2006.
  [2]彭慧卿、李玮、戴春霞、高晗等.Access数据库技术及应用[M].北京:清华大学出版社,2011.
  [3]余连新.动态网页源码安全性研究及实现[J].网络安全技术与应用,2006(3):12-15.
  [4]王国荣.ASP与WEB数据库[M].北京:人民邮电出版社,1999.
  [5]罗英均,徐兵,冉戎且.浅谈Access数据库安全策略[J].电脑知识与技术,2005(5):16-18.
  [6]廖金辉,李景福.Access数据库中OLE对象的巧妙插入[J].电脑开发与应用,2004,17(4):F002.
  [7]DinoEsposito.ASP数据访问高级编程[M].程永敬,董启雄,等,译.北京:机械工业出版社,2001:163-177.
  [8]杨诚忠.Access2000快速入门教程[M].北京:航空工业出版社,2000:112-138.
  [9]MicrosoftCorp.MicrosoftDeveloperNetworkCD[Z].1999.

www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:18796993035

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
  • 刊物名称:
  • 检索网站:
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接