您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 国家信息安全测评中心CISP培训
国家信息安全测评中心CISP培训主讲:樊山QQ:86485660电话:15918780740E_Mail:fanfox7405@163.com大纲安全编程UNIX操作系统安全恶意代码防护大纲SA:UNIX操作系统安全技术理解UNIX操作系统的基本原理、安全技术和实践。SA:恶意代码防护理解病毒/蠕虫/特洛伊木马等恶意代码的基本概念和原理;理解恶意代码的攻击过程和防护技术。SA:电子邮件安全理解电子邮件的基本原理、结构和相关安全技术。SA:安全编程技术理解软件编程的基本原理,包括编程语言、编程环境等;理解安全编程技术的相关概念和原理,以及移动代码的相关概念。安全编程安全编程基本概念安全编程基本原则程序安全测试方法Windows、Unix、脚本安全编程实践安全编程基本概念安全程序的类型用来浏览远端数据的应用程序。用做浏览器的程序(如文字处理程序或文件格式浏览器)经常需要浏览一个不可信的用户从远端发来的数据(一个网页浏览器会自动执行这种请求)。系统管理员(root)使用的应用程序。这类程序不应当信任非系统管理员就可以控制的信息。本地服务器程序(也被称为daemon)。可访问网络的服务器程序(有时被称为网络daemon)。CGI脚本程序。这样的程序通过一个WEB服务器被间接地执行,虽然WEB服务器可以过滤掉一些攻击,但仍然需要抵抗许多攻击。setuid/setgid程序。这些程序由一个本地用户执行,但在执行时会立刻拥有程序所有者或其所在群组的特权。从很多方面来说,这些是最难保证安全的程序,因为它们有很多输入是在不可信用户的控制之下,而且有些输入不是很明显的。安全编程基本原则最小特权。每个用户和程序在操作时应当使用尽可能少的特权。机制经济。保护系统的设计应当尽可能地简单和小。公开设计。保护机制不应该依赖于攻击者的无知。完全中介。每一个访问企图都应该被检查;把认证机制放在不会被推翻的位置上。安全失败的缺省值(例如,基于许可的方案)。缺省反应应当是拒绝服务,而且保护系统能随后辨别哪种情况下访问是允许的。特权分离。理想情况下,访问对象应当依赖于多个条件,这样破坏一个保护系统并不能进行完全的访问。最少的公共机制。使共享机制的数量和使用(例如,对/tmp或/var/tmp目录的使用)最小化。共享对象提供了信息流和无意的相互作用的潜在危险通道。心理上的接受程度/使用简便。人机界面必须设计得易于使用,这样用户就可以按惯例自动地正确使用保护机制。如果安全机制非常符合用户对自己保护目标的想象,错误就很少发生。程序安全测试方法软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。从是否关心软件内部结构和具体实现的角度划分A.白盒测试B.黑盒测试C.灰盒测试从是否执行程序的角度A.静态测试B.动态测试。从软件开发的过程按阶段划分有A.单元测试B.集成测试C.确认测试D.验收测试E.系统测试程序安全测试方法1、基于应用的安全测试2、基于数据库的测试3、基于配置的测试程序安全测试方法1、黑盒子测试(Black-boxTesting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。黑盒测试试图发现以下类型的错误:1)功能错误或遗漏;2)界面错误;3)数据结构或外部数据库访问错误;4)性能错误;5)初始化和终止错误。程序安全测试方法黑盒测试的测试设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法程序安全测试方法等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.边界值分析法首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.程序安全测试方法错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.因果图方法等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.程序安全测试方法黑盒测试的优点1.基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了黑盒测试的缺点1.结果取决于测试例的设计,测试例的设计部分来势来源于经验。2.没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来作3.就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的testcase造成的问题。这些在堆的问题中表现的更为突出。程序安全测试方法2、白盒子测试(White-boxTesting,又称逻辑驱动测试,结构测试)把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。程序安全测试方法3、灰盒子测试(Gray-BoxTesting)灰盒测试结合了白盒测试盒黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。Windows、Unix、脚本安全编程实践证实所有的输入命令行环境变量文件描述符文件内容CGI输入其它输入字符编码限制合法的输入时间和负载水平Windows、Unix、脚本安全编程实践避免缓存溢出C/C++中的危险C/C++中库的解决方案C/C++的编译解决方案其它语言Windows、Unix、脚本安全编程实践程序内部结构与解决方案保证接口的安全特权最小化避免创建Setuid/Setgid脚本安全地配置并使用安全的缺省值安全地失败避免竞争状态只信任值得信任的通道使用内部一致性检查代码自我限制资源Windows、Unix、脚本安全编程实践小心对其它资源的调用出口限制调用出口为合法值检查系统调用的所有返回值Windows、Unix、脚本安全编程实践明断地发回信息最小化反馈处理完整的/不响应的输出Windows、Unix、脚本安全编程实践特定语言的问题C/C++PerlPythonShell脚本语言(sh及csh的变种)AdaJavaWindows、Unix、脚本安全编程实践专题密码随机数加密算法与协议PAM其它事项UNIX操作系统安全UNIX发展历史和体系架构UNIX常见应用服务及其安全Unix系统安全配置及最佳安全实践UNIX发展历史和体系架构1969年由KenThompson在AT&T贝尔实验室实现的,运行在一台DECPDP-7计算机上。到了70年代末,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(UnixSystemLab,USL)来继续发展Unix。加州大学伯克利分校计算机系统研究小组(CSRG)中的研究人员把他们的Unix组成一个完整的Unix系统──BSDUnix(BerkeleySoftwareDistribution),向外发行。美国国防部的项目─ARPANET,ARPANET今天发展成为了Internet,而BSDUnix中最先实现了TCP/IP,使Internet和Unix紧密结合在一起。UNIX发展历史和体系架构BSDUnix和UnixSystemV形成了当今Unix的两大主流,现代的Unix版本大部分都是这两个版本的衍生产品。Unix的版本号表示方式比较复杂,各种不同的Unix版本有自己的版本标识方式,如最早AT&T开发的内部Unix使用简单的顺序号来标识版本,从V1到V7。BSD使用主版本加次版本的方法标识,如4.2BSD,4.3BSD其他商业公司的Unix使用自己的版本标识,如Sun的Solaris2.6,IBM的AIX4.0等。UNIX发展历史和体系架构CSRG对他们最新的4.4BSD进行了修改,删除了那些来自于AT&T的源代码,发布了4.4BSDLite版本(该系统是不完整的,尤其对于英特尔386体系的计算机系统)。由于这个版本不存在法律问题,4.4BSDLite成为了现代BSD系统的基础版本。Novell把自己的Unix改名为Unixware,而将Unix商标赠送给X/Open──一个由众多Unix厂家组成的联盟Novell由于自身的经营问题,将Unixware卖给SCO公司。同时,由于BSD系统已经十分成熟,作为对操作系统进行研究的目标已经达到,伯克利计算机系统研究组(CSRG)在发布了4.4BSD-lite2之后就解散了,小组的科研人员有些进入了Unix商业公司,有些继续进行其他计算机领域的研究。此时,严格意义上的UnixSystemV和BSDUnix都不复存在了,存在的只是他们的各种后续版本。UNIX发展历史和体系架构UNIX发展历史和体系架构文件系统基础文件系统安全是UNIX系统安全的核心。在UNIX中,所有的事物都是文件。用户数据的集合是文件,目录是文件,进程是文件,命令是文件,设备是文件、甚至网络连接也是文件。正规文件:(ASCII文本文件,二进制数据文件,二进制可执行文件等)目录特殊文件链接(硬链接、软链接)Sockets(进程间通信时使用的特殊文件)UNIX发展历史和体系架构UNIX发展历史和体系架构UNIX发展历史和体系架构Unix文件系统的权限Jack$ls–la.txt-rwxr-xr-x3jackroot1024Sep1311:58a.txt123456789101:目录或文件(文件类型),-普通文件,b块文件,c字符设备,d目录,l符号链接234:用户rwx(所有者许可)567:组rwx(组许可)8910:其他rwx(其他人许可)3:链接数jack:用户Root:组1024:字节数Sep1311:58:最后修改时间a.txt:名字UNIX发展历史和体系架构Chmod/chown/chgrpSuid:set-user-id,4000,使程序以所有者身份运行,而忽略实际执行该程序的用户身份。Sgid:2000,使程序以所有者的组身份运行,而忽略实际执行该程序的用户的组。UNIX常见应用服务及其安全Unix安全特性按照可信计算机评价标准(TCSEC)达到C2级有控制的存取保护访问控制个人身份标识与
本文标题:国家信息安全测评中心CISP培训
链接地址:https://www.777doc.com/doc-698437 .html