第六章企业信息系统的安全保障与质量管理第六章企业信息系统的安全保障与质量管理第一节信息系统的脆弱性第二节信息系统的安全保障第三节信息系统的质量管理第一节信息系统的脆弱性一、信息系统中几种常见的安全脆弱点二、计算机犯罪、黑客、计算机病毒和计算机商业间谍三、信息系统的质量问题:软件和数据的质量一、信息系统中几种常见的安全脆弱点在线连接的信息系统或通过电信网络(电缆或光缆)连接的信息系统无线数据网络客户/服务器模式的网络Internet网络二、计算机犯罪、黑客、计算机病毒和计算机商业间谍计算机犯罪黑客计算机病毒计算机商业间谍(一)计算机犯罪计算机犯罪包括故意偷窃或毁坏数据,使系统不能正常实现其服务功能;或利用计算机硬件、软件、数据等进行非法的活动。(二)黑客计算机黑客是人们对那些利用所掌握的技术未经授权而进入一个计算机信息网,以获取个人利益、故意捣乱或寻求刺激为目的的人的总称。(三)计算机病毒计算机病毒是一些电脑发烧友编制出一段程序在系统文件或应用文件之间漫无目的的广泛传播,或者附着在正常文件的末尾或者加在正常文件的中间,就像人身体当中的病毒被正常体细胞携带一样。降低计算机病毒的措施(1)每当新购得一套软件包后都要备份一套,并将其中一套保留在安全之处。(2)安装之前,仔细的检查新得到的软件,尤其是从网上得到的软件,看是否有病毒感染。如果条件允许,最好用一台单独的计算机隔离检查。(3)限制对文件的存取权限,仅在需要用到的时候才放开权限。降低计算机病毒的措施(4)定期的利用杀毒软件检查系统有否病毒感染。(5)小心防范那些标有“免费软件(shareware)”的软件,它们经常是病毒携带者。(6)购买正版软件。(7)多重备份重要的数据文件。(四)计算机商业间谍信息化的浪潮使得越来越多的大大小小的公司、银行、企业等经济实体加入了上网的行列。他们把越来越多的秘密信息保存在计算机上,其中包括经营战略计划、销售数据、产品配方甚至秘密的信件、备忘录等等。计算机商业间谍可以直接进入商家的电脑获得这些信息。三、信息系统的质量问题:软件和数据的质量(一)软件质量问题(二)数据质量问题(一)软件质量问题所谓质量可以定义为“与一个产品或服务是否能够满足其指定的或蕴涵的需求有关的性质与特征的总和”。软件失效在整个信息系统安全故障中占有的比重很大,这是由许多原因所形成的。(二)数据质量问题信息系统产生故障原因有时是由于输入数据的错误所造成的。第二节信息系统的安全保障一、总体安全保障二、应用安全保障三、安全保障的三个重要环节四、信息系统的安全保障措施一、总体安全保障总体保障就像为企业的信息系统的安全提供了一把保护伞,总体保障措施实施后可以促进下列需求的实现:1.信息系统硬件安全和可靠;2.信息系统软件安全和可靠;3.数据文件的安全;4.信息系统运行操作管理的正确;5.信息系统能够按部就班的得以开发。信息系统文档资料所应有的具体内容:1.系统文档(1)系统工作流程图;(2)系统结构图;(3)文件和记录设计图;(4)程序列表清单。信息系统文档资料所应有的具体内容:2.用户文档(1)系统功能或业务说明;(2)数据输入方法;(3)用户权利说明;(4)数据输入格式实例或在线帮助;(5)用户服务网点列表;(6)用户问题报告方法和实例;(7)常见错误处理方法。信息系统文档资料所应有的具体内容:3.操作文档(1)信息系统任务的设置方法;(2)运行控制管理的方法;(3)备份和恢复方法;(4)对硬件和操作系统的要求;(5)灾难性事故的恢复计划。二、应用安全保障应用保障和总体保障结合在一起共同保证信息系统更加安全和可靠。应用保障确保具体的系统应用的安全。按照信息系统运行进程,即输入、处理、输出三个步骤,应用保障分为输入保障制、处理保障和输出保障三部分。输入保障确保向信息系统输入的数据完整和准确;处理保障保证处理过程中被更新的数据和文件的完整和准确;输出控制则保证计算机处理后输出的结果完整、准确并且分布恰当。最重要的应用保障措施包括输入输出授权认证、程序化的例行编辑检查以及总量控制技术。(一)输入输出授权认证输入输出的授权认证是指信息系统中部分内容,仅允许某些有权用户输入数据和得到输出数据。(二)程序化的例行编辑检查程序化的例行编辑检查是在原始数据被正式处理之前,利用预先编好的预处理程序对输入的数据进行错误检查,不满足标准的数据一律报告出来。系统拒绝对有疑问的数据文件作进一步的处理。程序化的编辑检查应用控制技术示意图编辑检查技术说明格式检查检查输入数据的格式、大小、内容、符号等。如长途电话号码格式应固定分为国家号一区号一电话号码三个区域。存在检查通过与预先已知的代码表进行比较,确定输入的代码字段是否有效。比如省或直辖市的代码是固定的,如果输入的数据中该项在已知的代码表中不存在,则大致可以确定输入有误。合理检查检查输入数据的值是否落人合理范围内。如员工的月工资不应超过六位数。数字检查将输入的数字与系统中预定好的某个数字进行运算,结果符合条件,则认为输入的数字正确。如某账户的输人数字是29675,与9减运算后的结果是29666。程序化的例行编辑检查技术列表(三)总量控制技术总量控制技术可适用于信息处理过程中的任何阶段,其作用是确保数据总量的完整和准确。在信息系统数据的输入、处理和输出过程中,某些位置可以通过不同的手段对信息字段中可计算的数据进行统计,走不同的统计路径统计出来的数据总量应该是完全一致的,如果出现不同,说明某个环节出现问题。总量控制技术说明记录计数计算已经输入的源文件的数量,与其他原始阶段输入的文件数量进行比较。数量总量比较某字段中的数据总量与手工合计出来的数值是否一致。混合总数用于控制目的的字段的总数与订货单中的栏目进行比较动态数量新输入的订货数量经过计算机运算后得到的总数量与输入前的数量进行比较,结果应该符合手工计算值。主要总量控制技术类型三、安全保障的三个重要环节作为信息系统解决方案整体考虑的一部分,采用合适的保障技术是保证其安全必不可少的条件。我们可以在和信息系统的各个环节,如人、组织、技术这三个环节上采取安全控制步骤。人组织技术防范内部和外部人员利用计算机进行犯罪活动。组织内部设立超级系统管理机构,负责信息系统的总体安全保障。降低硬件朱灵的次数和影响对信息系统管理人员进行培训,提高管理水平。把信息系统不同的功能分开进行分工管理,各负其责,减少系统之间的相互干扰。减少软件错误减少信息系统用户错误注意通信环节的安全性简化控制技术的复杂性,使人们操作起来更加方便。数据库的安全性应用程序存放安全性需要采取安全控制措施的各个环节列表四、信息系统的安全保障措施计算机化的信息系统的安全包括计算机硬件使用环境的安全和软件的安全。防止硬件设备受到无端损坏,防止无关人员在未被授权的情况下使用计算机,防止在未经授权的情况下修改计算机程序和数据。(一)设置数据存取权限保障数据的安全数据的安全包括禁止无权用户存取数据和防止有权用户随意修改数据或在不经意的情况下破坏数据。对于数据的存储和数据的使用必须保证各种应用环境情况下都能做到安全可靠。Internet网上在线数据的安全Internet网上在线数据的安全问题更需要小心,因为在线数据更多的是被非技术专家使用。主要的数据安全措施是用户密码或安全字。用户要想进入某个信息系统读取信息或改动数据,必须提供其注册登记的用户密码。数据的安全措施数据的安全措施经常是采用多级保护的方法,对于不同安全级别的数据设置不同密码。比如进入主要操作系统设置一个密码,若再需要存取系统中的某组数据或文件则需要输人另一个组密码,层层把关。密码安全措施密码安全措施带来的弊端是容易遗忘或记错,尤其是当进入不同安全级别的系统需要输入不同的密码或周期性的更改密码时更容易混乱。用户往往把密码记在本上或随手写在一张纸片上,这很容易被人有机可乘,使安全工作流于形式。(二)PC机和网络计算机的安全信息系统的安全问题可以认为就是计算机网络的安全问题。以前由主机+终端结构组成的信息系统,现在基本上已经由服务器+PC结构代替,所以连接在网络上的PC机的安全问题就更加重要。(三)灾难性事故的恢复灾难性事故是指突发的或人们无法抗拒的意外事件的发生对信息系统的正常工作所造成的中断影响。比如,火灾、水灾、电力供应中断、人为的对硬件设备的毁坏等。一个典型的应急恢复计划1.找出信息系统中最关键最重要的需要保护的业务数据及其易损原因。2.列出恢复系统运行所需要的最基本的硬件、软件和系统管理者姓名清单,联系方法。3.培训人员掌握系统恢复方法和步骤,必要时进行模拟训练。4.列出灾难性事故发生后一步步处理的具体步骤。五、Internet网络站点安全措施(一)弄清楚网站对公众开放的目的以及如何应用该网站(二)明确对网站最严重的安全威胁(三)利用恰当的保护技术和组织程序与安全威胁做斗争(一)弄清楚网站对公众开放的目的以及如何应用该网站开放的网站应用一般分成三个主要方面,即广告、电子商务和安全保障Internet/Intranet。某些站点可能具有全部三项应用功能。站点管理者应着重其安全措施于那些最脆弱的安全点,即对用户开放的数据部分的安全。(二)明确对网站最严重的安全威胁在考虑对网站采取安全措施时,必须考虑这几方面的安全保障措施。(三)利用恰当的保护技术和组织程序与安全威胁做斗争1.用户ID码确认技术;2.已授权用户审查技术;3.数据加密技术;4.身份信息证实技术;5.建立网络数据所有权和责任挂钩技术;6.安装网络容错系统;7.系统备份/恢复措施等。第三节信息系统的质量管理一、提高信息系统中软件质量的措施二、提高信息系统中数据质量的措施一、提高信息系统中软件质量的措施(一)软件的开发方法(二)信息系统软件质量的度量(三)软件程序代码设计编写标准(四)软件的测试(五)软件开发工具(一)软件的开发方法生命周期法又称为结构化系统分析与设计方法是比较常见的方法。生命周期法的基本开发思想是:严格的区分各个开发阶段,每一个阶段都有标准的文档供下一个阶段验收;采用自顶向下的逐层开发,结构化、模块化编程;建立面向用户的观点,充分预料可能发生的各种内外变化;着重调查研究和系统分析。原型法另外一种好的软件开发方法是快速原型法。其基本思想是:对用户需求进行简单快速分析后,利用先进的开发工具,尽快构造出一个原型系统提供给用户评价、使用,在使用中不断修改完善原型,直至用户满意为止。(二)信息系统软件质量的度量信息系统的质量度量主要内容之一是指系统软件的质量度量。在信息系统的开发过程中,开发者要按照用户需求制定系统质量度量标准,经过开发者和用户双方共同认可的质量度量条款作为软件开发的依据和软件质量验收的标准。McCall质量度量法比较常用到的软件质量度量方法是McCall质量度量法,它分别对构成软件质量的各个因素进行度量。其基本思想是:把质量因素的各个度量标准进一步分解成一些条款,根据一个软件是否满足条款,对软件进行评分。(三)软件程序代码设计编写标准采用标准的结构化模块化设计方法来编写程序代码是保证软件质量的必要条件。模块化设计的主要思想是:根据系统的主要特征对系统进行模块分割,每一个模块实现一个或多个功能,用一个名字附加参数就可以对该模块调用。结构化设计的主要思想是:结构化设计是面向数据流的软件设计方法,它用数据流图(DFD)表示软件的逻辑模型,通过变换分析或事物分析把DFD转换为相应的软件结构。结构化编程和模块化设计的优点结构化编程和模块化设计带来的优点是:一旦某个模块的功能需要更新或修改,只需改动该模块内容和其对外接口即可,对整个软件的逻辑结构不会产生大的影响。这样的编程方法更降低了软件缺陷相互交叉出现的机会,维护起来也方便。(四)软件的测试软件的测试是软件质量保证的关键。软件测试的目的就是要在投入运行之前,尽可能的发现那些实际运行过程当中会发生的软件缺陷。尽管在程序编制阶段经过严格的技术审查,但是经验表明难免遗留各种各样的错误。软件测试经常采用的模式软件测试经常采用的模式是:白盒子黑盒子白盒子模式白