三级计算机信息安全基础知识

三级信息安全我过了呜呜呜呜,虽然只是良好,但终于有胆子发当时做的笔记了QVQVQ

目录

历史

信息安全的发展大致经历了三个阶段,通信保密阶段、计算机安全阶段、信息安全保障阶段

1.1949年 Shannon(香农)撰写《保密系统的通信理论》

2.20世纪60年代末美国出现第一个用于军事目的的计算机网络ARPAnet

3.1972年Anderson报告完成,是计算级安全发展的里程碑,其中提出了计算机安全的主要问题以及相关的范型

4.1977年美国制定的数据加密标准DES(Data Encryption Standard),为加密算法标准化奠定了基础

5.1984年我国成了了全国信息技术安全标准化技术委员会(CITS)

6.1985年美国国防部公布的TCSEC(可信计算机系统安全评估标准)被认为是计算机系统安全评估的第一个正式标准

7.1994年美国联邦政府颁布DSS(Digital Signature Standard 数字签名标准)

8.1998年10月,美国NSA颁布了《信息保障技术框架》(information Assurance Technical Framework,IATF),它是信息保障的指导性文件。

9.1999年9月13日,由国家公安部提出并组织制定,国家质量技术监督局发布了《计算机信息系统安全保护等级划分准则》,并定于2001年1月1日实施其中把计算机信息安全划分为了5个等级:

第一级:用户自主保护级;

第二级:系统审计保护级;

第三级:安全标记保护级;

第四级:结构化保护级;

第五级:访问验证保护级。

定级四个要素:

信息系统所属类型、业务数据类型、信息系统服务范围、业务自动化处理程序

10.1999年,我国专家提出的更为完善的“保护-预警-监测-应急-恢复-反击”模型(PWDRRC模型)

11.2001年,美国联邦政府颁布高级加密标准AES(Advanced Encryption Standard)

12.2003年9月,中央颁布《国家信息化领导小组关于加强信息安全保障工作的意见》(中办发27号文件),标志着我国信息安全保障体系建设工作的开始

13.2005年4月1日起中国施行《电子签名法》,《电子签名法》被称为“中国首部真正意义上的信息化法律”,极大促进了我国电子商务发展

基础概念

访问控制实现方法

行政性访问控制、逻辑性访问控制、技术性访问控制和物理性访问控制

访问控制依赖原则

身份标识、责任衡量、授权和验证

访问控制类型

预防性的访问控制、探查性访问控制、纠正性访问控制

分布式访问控制(Distributed access control)

通常对某个网络的访问进行控制,其作用相当于高速公路上的入口,因此,集中式访问控制并不能胜任对其他资源的访问控制任务。如果用户要对特定的资源进行访问控制,就需要用到分布式访问控制方法。目前广泛使用的三种分布式访问控制方法为 单点登录、Kerberos协议和SESAME
目前访问控制模型主要分为3种:
自主访问控制模型(DAC),
强制访问控制模型(MAC)
基于角色的访问控制模型(RBAC)。

自主访问控制模型(Discretionary Access Control)

允许资源的拥有者显示的指定其他用户是否可以访问或者不可以访问该资源,DAC模型一般采用访问控制矩阵访问控制列表来存放各个主体之间的访问控制信息,从而限制各个主体的访问权限。由于模型没有明确指定冗长的访问规则,因此显得非常灵活,使得它得到了非常广泛的应用。

但该控制模型在拥有它无可比拟的优点的同时,也有其本身设计带来的缺点:

(1)在大型系统中,无论是访问矩阵还是列表都将变得非常庞大,但其中很多元素是空的,因此造成了资源的浪费;

(2)由于客体的拥有者能够授予或取消其它主体对该客体的访问权限。这就造成了很难预测访问权限在系统中是如何传播的,给系统的管理造成了很大的困难;

(3)不能防范“特洛伊木马”,无法实现多级安全策略。

强制访问控制模型(Mandatory Access Control)

系统强制各个主体遵守系统制定的访问控制策略。用户和资源都被赋予一定的安全级别,在执行访问控制时,系统先对访问主体和资源的安全级别进行比较,再决定访问主体能否访问该资源。它对访问主体和受控对象表示俩个安全标签:一个是具有偏序关系的安全等级标签,另一个是非等级分类标签。

该模型的优点显而易见,它的缺点是:

(1)模型赋予系统中每个用户一个唯一的UID号和唯一的安全级标签,认为该用户用受此安全级标签支配的安全级登录均可,而这会造成系统中的用户均可以写访问系统中的安全级为最低的信息,而这些信息通常是公共信息,应该是“只读不可写”的信息模型;

(2)只处理了具有安全等级分类的信息的访问控制,而对无等级关系的信息并没有给出相应的处理模型,如Chinese-Wall模型中提到的“利益冲突”问题;

(3)模型过于严格,在实现时无法对系统进行安全、有效的管理;

虽然在保持信息的机密性的Bell-Lapadula模型中加入了一个“可信主体盯的概念,但其权限太大,没能实现“最小特权,而这在现代系统中是非常不安全的。因为一旦黑客入侵系统并获得此“可信主体”的权限,系统的安全性就变得不堪一击。

角色访问控制模型(Role-based Access)

模型的要素包括用户、角色和许可等基本定义。将访问权限与角色相联系,通过给用户分配适合的角色,让用户和访问权限相联系。角色是根据企业内为完成各种不同的任务需要而设置的,根据用户在企业中的职权和责任来设定,用户可以在角色间进行转换,系统可以添加、删除角色,还可以对角色的权限进行添加、删除,这样通过应用RBAC将安全性放在一个接近组织结构的自然层面上进行管理。

它把现实和计算机访问控制策略更好的结合起来,并且易于实现复杂、动态的安全访问控制策略。缺点是对有些没有角色区别的机构不适合,需要人为的构造一些虚构的人物角色。

P2DR安全模型:

P2DR模型包括四个主要部分:Policy(策略)、Protection(防护)、Detection(检测)和 Response(响应)。

(1)策略:定义系统的监控周期、确立系统恢复机制、制定网络访问控制策略和明确系统的总体安全规划和原则。

(2)防护:通过修复系统漏洞、正确设计开发和安装系统来预防安全事件的发生;通过定期检查来发现可能存在的系统脆弱性;通过教育等手段,使用户和操作员正确使用系统,防止意外威胁;通过访问控制、监视等手段来防止恶意威胁。采用的防护技术通常包括数据加密、身份认证、访问控制、授权和虚拟专用网(VPN)技术、防火墙、安全扫描和数据备份等。

(3)检测:是动态响应和加强防护的依据,通过不断地检测和监控网络系统,来发现新的威胁和弱点,通过循环反馈来及时做出有效的响应。当攻击者穿透防护系统时,检测功能就发挥作用,与防护系统形成互补。

(4)响应:系统一旦检测到入侵,响应系统就开始工作,进行事件处理。响应包括紧急响应和恢复处理,恢复处理又包括系统恢复和信息恢复。

微软SDL模型(Security Development Lifecycle)

软件安全开发周期

软件开发生命周期模型

瀑布模型、螺旋模型、迭代模型、快速原型模型

网络信息内容审计系统俩种过程模型

流水线模型和分段模型

信任模型

单证书认证机构信任模型和层次信任模型等,其中层次信任模型主要适用于有严格的级别划分的大型组织机构和行业领域。

保护环

保护环对工作在环内的进程能够访问什么、执行什么命令提出了严格的界线和定义。保护环在主体和客体之间提供了一个中间层,当一个主体试图访问一个客体时,可以用它来进行访问控制。在内环中执行的进程往往处于内核模式,在外环中工作的进程则处于用户模式。

信息系统安全保障三个方面:

生命周期、保障要素、安全特征

安全设计原则:

最小权限原则、开放设计原则、全面防御原则、权限分开原则、最小公用原则、心理接受性、代码重用性、充分考虑软件运行环境、选择安全的加密算法、充分考虑不安全条件、失效防护

在计算机系统中,认证、访问控制和审计共同建立了保护系统安全的基础

访问控制依赖四个原则

身份标识、验证、授权、责任衡量

消息摘要(数字摘要)

消息摘要是一个唯一对应一个消息或者文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在中途改变,则接受者通过对收到的消息摘要与原摘要比较,可知道消息是否被改变了。消息摘要保障了消息的完整性。

消息认证

消息认证(message authentication)就是验证消息的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文是真实的和未被篡改的。它包含两层含义:一是验证信息的发送者是真正的而不是冒充的,即数据起源认证;二是验证信息在传送过程中未被篡改、重放或延迟等。不能预防发送方否认

数字证书

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构–CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。接受客户证书申请并进行审核注册的的机构被称为RAX.509是最基本的证书存储格式。

内容包括:证书序列号、证书持有者名称、证书颁发者名称、证书有效期、公钥、证书颁发者的一系列数字签名。CA通过发布证书黑名单,公开发布已经废除的的证书

证书链由俩环节构成:信任锚(CA证书)环节和已签名证书环节

数字签名

数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

一个数字签名体制包括俩个过程,签名和验证签名

数字签名是个加密的过程,数字签名验证是个解密的过程。

USB Key身份认证

usb key身份认证指的是基于USBKey的一种身份认证方式。usb key身份认证是近几年发展起来的一种方便、安全的身份认证技术。
它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用Usbkey内置的密码算法实现对用户身份的认证。
基于USB Key身份认证系统主要有两种应用模式:一是基于冲击/响应(挑战/应答)的认证模式,二是基于PKI体系的认证模式,目前运用在电子政务、网上银行。

常用认证协议

基于口令的认证协议、基于对称密码的认证协议、基于公钥密码的认证协议

产生认证码函数类型

消息加密、消息认证码、Hash函数

NVD

美国国家漏洞数据库

CNITSEC

中国信息安全测评中心(China Information Technology Security Evaluation Center)

分类数据的管理包括这些数据的存储、分布移植和销毁

Windows三种事件日志类型:

系统日志、应用程序日志、安全日志

安全审计

对日志进行分析,发现所需事件信息和规律

审计系统三部分

日志记录器、分析器、通告器,通常用于收集数据、分析数据及通报结果。

中国目前研究TCM(trusted cryptography module,可信密码模块)

TCG可信计算系统结构三层次

可信平台模块、可信软件栈、可信应用软件

TCG可信计算平台信任根:

可信测量根、可信存储根、可信报告根

IT安全六方面

保密性、完整性、可用性、审计性、认证性、可靠性

IATF将信息系统的信息保障技术层面划分成了四个技术框架焦点域:网络和基础设施,区域边界、计算环境和支撑性基础设施。核心思想是纵深防御战略

信息安全五属性

机密性、完整性、可用性、可控性、不可否认性

软件安全开发技术,主要包括建立安全威胁模型、安全设计、安全编码和安全测试

信息安全管理体系审核包括俩方面审核,即技术和管理

信息安全等级保护的基本管理要求从安全管理制度、安全管理机构、人员安全管理、系统建设管理、系统运维管理五个层面提出

信息安全管理体系评审程序:

编制评审计划、准备评审材料、召开评审会议、评审报告分发与保存、评审后要求

信息安全管理措施详细介绍了基本安全管理措施和重要安全管理过程

计算机信息系统安全保护等级划分准则

主要安全考核指标有:身份认证、自主访问控制、数据完整性、审计

信息系统安全保障涵盖三个方面:生命周期、保障要素和安全特征

信息安全保障工作的内容:

确定安全需求、设计和实施安全方案、进行信息安全评测和实施信息安全监控与维护

信息系统安全可以分为5个层面的安全要求

物理、网络、主机、应用、数据及备份恢复

信息安全管理主要内容:

信息安全管理体系、信息安全风险管理、信息安全管理措施

信息安全管理工作核心是风险处置,信息安全管理工作基础是风险评估

信息安全管理的主要内容:包括信息安全管理体系、信息安全风险评估和信息安全管理

信息安全管理体系评审程序:

编制评审计划、准备评审材料、召开评审会议、评审报告分发与保存、评审后要求

信息安全风险评估的复杂程度,取决于受保护资产的对安全的敏感程度和所面临风险的复杂程度

信息安全风险管理

风险识别、风险评估、风险控制策略,风险管理两个主要任务风险识别和评估

风险评估主要依赖于所采用的系统环境、使用信息的商业目的、商业信息和系统的特征

信息安全风险评估三个方法

基本风险评估、详细风险评估、俩者相结合

风险分析主要分为定量风险分析和定性风险分析

事故响应(IR)

是为计划、检测和改正事故对信息资产的影响而采取的一系列举动,事故响应阶段有:计划、反应、恢复。

应急计划三元素:

事件响应、灾难恢复、业务持续性计划、基本风险评估预防风险

ISMS

信息安全管理体系(Information Security Management System,简称ISMS)起源于英国标准协会(British Standards Institution, BSI) 1990年代制定的英国国家标准BS7799,是系统化管理思想在信息安全领域的应用。

ISMS信息安全管理体系是组织在整体或特定范围内建立信息安全方针和目标,以及完成这些目标所用方法的体系。

灾难恢复中,可用于恢复持续性之外的其他意图,包括 电子拱桥、远程日志、数据库镜像。

电子拱桥:把大批数据转移到站外设备上
远程日志:实时交易转移到站外设备上
数据库镜像:改进远程日志过程,不止处理完全相同的实时数据存储,而且把远程站点的数据库复制到多个服务器上

指定业务持续性计划时,有许多策略可供机构选择:热站点、暖站点、冷站点

冷站(coldsite)
  公司为系统运行提供了最基本的环境,例如电源、空调、地板、办公桌椅等设备等。一旦发生灾难可以将恢复设备安装在该环境中。采用冷站备份企业还需与设备供应商签订紧急情况下,及时供应设备的协议。
  一旦发生灾难,可以从设备供应商处购买新的设备。安装在冷站环境中,用数据备份介质(磁带或光盘)恢复应用数据,手工逐笔或自动批量追补孤立数据,将终端用户通过通讯线路切换到备份系统,恢复业务运行。
  优点:设备投资较少,节省通信费用,通信环境要求不高。
  缺点:恢复时间较长,一般要数天至一周,数据完整性与一致性较差。
热站(hotsite)
  热站中装备了全套的处理设备,可以在数小时内投入运行。也可定时。一旦发生灾难,只需在备份系统上恢复生产系统的数据,并对备份后业务事项进行追补就可快速接替生产系统运行,恢复营业。
  优点:恢复时间短,一般几十分钟到数小时,数据完整性与一致性最好,数据丢失可能性最小。
  缺点:设备投资大。
冷站点(Cold Site):由公司建立的一旦出现灾难时使用的备用站点。冷站点并不安装计算机设备,但准备有备用电源、灭火系统和安全系统。

信息系统的安全保护等级

分为以下五级:

第一级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益造成损害,但不损害国家安全、社会秩序和公共利益。

第二级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益产生严重损害,或者对社会秩序和公共利益造成损害,但不损害国家安全。

第三级,信息系统受到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。

第四级,信息系统受到破坏后,会对社会秩序和公共利益造成特别严重损害,或者对国家安全造成严重损害。

第五级,信息系统受到破坏后,会对国家安全造成特别严重损害。

安全组织三结合

领导、保卫、计算机技术人员

CITS(China National Information Technology Standardization Technical Committee/信标委)

在国家标准化管理委员会和信息产业部的共同领导下,负责全国信息技术领域以及与ISO/IEC JTC1相对应的标准化工作。信标委成立于1983年,目前下设24个分技术委员会和特别工作组,是目前国内最大的标准化技术委员会,其中大多数分技术委员会与ISO/IEC JTC1的分委员会对口。

多年来,信标委在我国信息技术标准的规划、计划、立项、研究以及制定等方面发挥了巨大作用,特别是在中文信息处理标准化(诸如汉字编码、少数民族字符编码、中文字型字库以及中文API等)、"三金"工程标准化及软件工程标准化等方面做出了突出贡献。截止2001年底共制定国家标准744项,行业标准97项,其中获国家科技进步一等奖1项,部级奖28项(含标准43项)。与此同时,信标委还积极参与国际标准化活动,取得了可喜的成绩。十多年来,全国信标委在众多专家的努力下,在信息技术领域形成了比较完整的标准化体系,为推动信息产业的发展做出了一定贡献。

ISO/IEC JTC1 (国际标准化组织/国际电工委员会的第一联合技术委员会)

ISO/IEC JTC1 是一个信息技术领域的国际标准化委员会。ISO/IEC JTC1是在原ISO/TC97(信息技术委员会)、IEC/TC47/SC47B(微处理机分委员会)和IEC/TC83(信息技术设备)的基础上,于1987年合并组建而成的。

信息技术(IT)的飞速发展及其领域的不断扩展,新的市场对IT的需求,均对IT的标准化工作提出了新的挑战。为适应信息化时代的要求,JTC1近年来进行了全方位的改革。1996年3月的悉尼第九届全会、1996年12月的巴黎第十届全会、1997年9月的渥太华第十一届全会、1998年6月的仙台第十二届全会以及1999年1月的里约热内卢的第十三届全会,均对改革中的重大问题进行了讨论并作出最后的决策。JTC1在组织机构、运行模式、标准制定、电子化手段等方面的成功改革,使其面貌有了很大的改观,从而推进了国际信息技术标准化的进程。JTC1是一个发展最快的国际标准制定技术委员会。

通过改革,JTC1建立了一个较完善的组织机构,由17个分委员会(SC)和2个报告小组组成,各设有秘书处。这样的17个分委员会分别处于不同的12个技术领域。

JTC1改革后的工作范围限于信息技术的国际标准化。信息技术包括系统和工具的规范、设计和开发,涉及信息的采集、表示、处理、安全、传送、交换、显示、管理、组织、存储和检索等内容

网络信息内容审计系统分为流水线模型和分段模型

信息安全有关标准

CC评估等级(信息技术安全评价通用准则/The Common Criteria for Information Technology security Evaluation)

1993年6月,美国政府同加拿大及欧共体共同起草单一的通用准则(CC标准)并将其推到国际标准ISO 15408。制定CC标准的目的是建立一个各国都能接受的通用的信息安全产品和系统的安全性评估准则。在美国的TCSEC、欧洲的ITSEC、加拿大的CTCPEC、美国的FC等信息安全准则的基础上,由***6个国家7方(***美国国家安全局和国家技术标准研究所、加、英、法、德、荷)共同提出了"信息技术安全评价通用准则",简称CC标准,它综合了已有的信息安全的准则和标准,形成了一个更全面的框架。CC标准将评估过程分为俩部分:功能***和***保证

在GB/T 18336 国际标准 15408(CC)中定义了以下7个评估保证级:

(1) 评估保证级1(EAL1)–功能测试;

(2) 评估保证级2(EAL2)–结构测试;

(3) 评估保证级3(EAL3)–系统地测试和检查;

(4) 评估保证级4(EAL4)–系统地设计、测试和复查;

(5) 评估保证级5(EAL5)–半形式化设计和测试;

(6) 评估保证级6(EAL6)–半形式化验证的设计和测试;

(7) 评估保证级7(EAL7)–形式化验证的设计和测试。

每一级均需评估7个功能类,分别是***配置管理、分发和操作、开发过程、指导文献、生命期的技术支持、测试和脆弱性评估***。

分级评估是通过对信息技术产品的安全性进行独立评估后所取得的安全保证等级,表明产品的安全性及可信度。获得的认证级别越高,安全性与可信度越高,产品可对抗更高级别的威胁,适用于较高的风险环境。

ISO 13335标准首次给出了关于IT安全的六个方面含义:机密性、完整性、可用性、审计性、认证性、可靠性

组织机构实施信息安全管理体系认证是根据国际上的信息安全管理标准–BS7799标准,建立完整的信息安全的体系

AAA(Authentication-Authorization-Accounting)

认证、授权、审计

集中式的AAA管理协议包括拨号用户远程认证服务RADIUS、终端访问控制器访问控制系统TACACS和Diameter等

CC标准对应我国的GB/T18336

组织机构实施信息安全管理体系认证是根据国际上的信息安全管理标准–BS7799标准

与我国标准GB/T1336对应的国际标准为ISO 15408

信息安全有关法律

信息技术可能带来的一些负面影响:

信息泛滥、信息污染、信息犯罪

电子认证服务者拟暂停或者终止电子认证服务的,应当在暂停或终止服务六十日前向国务院信息产业主管部门报告

《刑法》第二百八十五条规定:对违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役

《刑法》第二百八十六条规定:违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的;处五年以上有期徒刑

《商用密码管理条例》第三条,商用密码技术属于国家秘密,国家对商用密码的科研、生产、销售和使用实行专控管理。

《中华人民共和国电子签名法》第二十四条,电子认证服务者应当妥善保存与认证有关的信息,信息保存期限至少为电子签名认证失效后五年。

《中华人民共和国电子签名法》第三十一条电子认证服务者不遵守认证业务规则、未妥善保存与认证相关的信息,或者其他违法行为的 ,由国务院信息产业主管部门责令限期修正;逾期未修正的,吊销电子认证许可证书,其直接负责的主管人员和其他直接责任人员十年内不得从事电子认证服务。吊销电子认证许可证书的,应当予以公告并通知工商行政管理部门

《中华人民共和国保守国家秘密法》第十四条,机关、单位对产生的国家秘密事项,应当按照国家秘密及其密级的具体范围的规定确定密级,同时确定保密期限和知悉范围。

《中华人民共和国保守国家秘密法》第十五条,国家秘密的保密期限,应当根据事项的性质和特点,按照维护国家安全和利益的需要,限定在必要的期限内;不能确定期限的,应当确定解密的条件。

机关单位对所产生的国家秘密事项,应当按照国家秘密及其密级的具体范围规定确定密级,同时确定保密期限个知悉范围

电子签名需同时符合下列条件:

(一)电子签名制作数据用于电子签名时,属于电子签名人专有
(二)签署时电子签名制作数据仅有电子签名人控制
(三)签署后对电子签名的任何改动能够被发现
(四)签署后对数据电文内容和形式的任何改动都能够被发现

常见漏洞

漏洞利用的核心是利用程序漏洞去执行shellcode以便劫持进程的控制权

软件漏洞危险等级

紧急 重要 警告 注意

整数溢出

存储溢出、运算溢出、符号问题

数组越界漏洞触发时在执行路径上特征:

读取恶意构造的输入数据、用输入数据计算数组访问索引、对数组进行读、写操作

UAF(use-after-free)

引用已释放的内存,如内存地址对象破坏性调用的漏洞。

产生原因:

UAF漏洞的成因是一块堆内存被释放了之后又被使用。又被使用指的是:指针存在(悬垂指针被引用)。这个引用的结果是不可预测的,因为不知道会发生什么。由于大多数的堆内存其实都是C++对象,所以利用的核心思路就是分配堆去占坑,占的坑中有自己构造的虚表。

分析方式:

触发UAF漏洞需要一系列的操作,而不是像传统的溢出一个操作就会导致溢出。IE浏览器中的DOM标签由一个对象来表示,并且IE自带的类中存在了一些对象管理的方法。分析UAF漏洞的要点在于搞清楚对象是在哪里被分配的,哪里被释放的,哪里被重用的。UAF的异常触发点是很明显的,就是对已释放的对象进行操作导致的异常。所以异常点也就是重用点。而由于是对对象的操作,可以列出这个对象的所有方法,找出分配和释放的方法,对其下断来分析到底是怎么发生的UAF过程。

首先要说明2个概念:

1.悬垂指针:悬垂指针是指一类不指向任何合法的或者有效的(即与指针的含义不符)的对象的指针。比如一个对象的指针,如果这个对象已经被释放或者回收但是指针没有进行任何的修改仍然执行已被释放的内存,这个指针就叫做悬垂指针

2.UAF漏洞:Use-After-Free是一种内存破坏漏洞,简单的说,漏洞的原因是使用了悬垂指针。

常见攻击

木马隐藏技术包括:线程插入技术、DDL动态劫持技术、Rootkit技术

软件产品的攻击面包括一个软件可能遭受外来攻击的所有攻击点,包括代码、网络接口、服务和协议

直接对象引用(Direct Object Reference,DOR)

是指WEB应用程序的开发人员将一些不应公开的对象引用直接暴露给用户,使得用户可以通过更改URL等操作直接引用对象.所谓不安全的直接对象是指一个用户通过更改URL等操作可以成功访问到未被授权的内容

恶意程序修改感染计算机的Hosts文件,利用虚假IP地址的映像劫持技术屏蔽感染计算机和安全站点之间的连接

DOS攻击实现方式

1.利用目标主机自身存在的拒绝服务型漏洞进行攻击
2.耗尽目标主机CPU和内存等计算机资源进行攻击
3.耗尽目标主机网络带宽攻击

Heap Spray(堆溢出攻击)

Heap Spray并没有一个官方的正式定义,毕竟这是漏洞攻击技术的一部分。但是我们可以根据它的特点自己来简单总结一下。Heap Spray是在shellcode的前面加上大量的slide code(滑板指令),组成一个注入代码段。然后向系统申请大量内存,并且反复用注入代码段来填充。这样就使得进程的地址空间被大量的注入代码所占据。然后结合其他的漏洞攻击技术控制程序流,使得程序执行到堆上,最终将导致shellcode的执行。

传统slide code(滑板指令)一般是NOP指令,但是随着一些新的攻击技术的出现,逐渐开始使用更多的类NOP指令,譬如0x0C(0x0C0C代表的x86指令是OR AL 0x0C),0x0D等等,不管是NOP还是0C,他们的共同特点就是不会影响shellcode的执行。
堆溢出攻击详解

栈溢出攻击

栈溢出是指在栈内写入超出长度限制的数据,从而破坏程序运行甚至获得系统控制权的攻击手段。本文将以32位x86架构下的程序为例讲解栈溢出的技术详情。

为了实现栈溢出,要满足两个条件。第一,程序要有向栈内写入数据的行为;第二,程序并不限制写入数据的长度。历史上第一例被广泛注意的“莫里斯蠕虫”病毒就是利用C语言标准库的 gets() 函数并未限制输入数据长度的漏洞,从而实现了栈溢出。被调用的子函数下一步写入数据的长度,大于栈帧的基址到ESP之间的预留的保存局部变量的空间时,就会发生栈的溢出
栈溢出攻击详解
关于 栈溢出后jmp esp执行shellcode 原理分析

DDoS攻击(Distributed Denial of Service/分布式拒绝服务)

DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。

目前而言,黑客甚至对攻击进行明码标价,打1G的流量到一个网站一小时,只需50块钱。DDoS的成本如此之低,而且攻击了也没人管。

关于DDos攻击的常见方法

  1. SYN Flood:利用TCP协议的原理,这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务。TCP通道在建立以前,需要三次握手:
    a. 客户端发送一个包含SYN标志的TCP报文, 同步报文指明客户端所需要的端口号和TCP连接的初始序列号
    b. 服务器收到SYN报文之后,返回一个SYN+ ACK报文,表示客户端请求被接受,TCP初始序列号加1
    c.客户端也返回一个确认报文ACK给服务器,同样TCP序列号加1
    d. 如果服务器端没有收到客户端的确认报文ACK,则处于等待状态,将该客户IP加入等待队列,然后轮训发送SYN+ACK报文
    所以攻击者可以通过伪造大量的TCP握手请求,耗尽服务器端的资源。

  2. HTTP Flood:针对系统的每个Web页面,或者资源,或者Rest API,用大量肉鸡,发送大量http request。这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。缺点是对付只有静态页面的网站效果会大打折扣。

  3. 慢速攻击:Http协议中规定,HttpRequest以\r\n\r\n结尾来表示客户端发送结束。攻击者打开一个Http 1.1的连接,将Connection设置为Keep-Alive, 保持和服务器的TCP长连接。然后始终不发送\r\n\r\n, 每隔几分钟写入一些无意义的数据流, 拖死机器。

  4. P2P攻击:每当网络上出现一个热门事件,比如XX门, 精心制作一个种子, 里面包含正确的文件下载, 同时也包括攻击目标服务器的IP。这样,当很多人下载的时候, 会无意中发起对目标服务器的TCP连接。

DDOS攻击现象判定方法
1.SYN类攻击判断:A.CPU占用很高;B.网络连接状态:netstat –na,若观察到大量的SYN_RECEIVED的连接状态;C.网线插上后,服务器立即凝固无法操作,拔出后有时可以恢复,有时候需要重新启动机器才可恢复。
2.CC类攻击判断:A.网站出现service unavailable提示;B.CPU占用率很高;C.网络连接状态:netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条;D.用户无法访问网站页面或打开过程非常缓慢,软重启后短期内恢复正常,几分钟后又无法访问。
3.UDP类攻击判断:A.观察网卡状况 每秒接受大量的数据包;B.网络状态:netstat –na TCP信息正常。
4.TCP洪水攻击判断:A.CPU占用很高;B.netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条

DDoS攻击防御方法:

  1. 过滤不必要的服务和端口:可以使用Inexpress、Express、Forwarding等工具来过滤不必要的服务和端口,即在路由器上过滤假IP。比如Cisco公司的CEF(Cisco Express Forwarding)可以针对封包Source IP和Routing Table做比较,并加以过滤。只开放服务端口成为目前很多服务器的流行做法,例如WWW服务器那么只开放80而将其他所有端口关闭或在防火墙上做阻止策略。
  2. 异常流量的清洗过滤:通过DDOS硬件防火墙对异常流量的清洗过滤,通过数据包的规则过滤、数据流指纹检测过滤、及数据包内容定制过滤等顶尖技术能准确判断外来访问流量是否正常,进一步将异常流量禁止过滤。单台负载每秒可防御800-927万个syn攻击包。
  3. 分布式集群防御:这是目前网络安全界防御大规模DDOS攻击的最有效办法。分布式集群防御的特点是在每个节点服务器配置多个IP地址(负载均衡),并且每个节点能承受不低于10G的DDOS攻击,如一个节点受攻击无法提供服务,系统将会根据优先级设置自动切换另一个节点,并将攻击者的数据包全部返回发送点,使攻击源成为瘫痪状态,从更为深度的安全防护角度去影响企业的安全执行决策。
  4. 高防智能DNS解析:高智能DNS解析系统与DDOS防御系统的完美结合,为企业提供对抗新兴安全威胁的超级检测功能。它颠覆了传统一个域名对应一个镜像的做法,智能根据用户的上网路线将DNS解析请求解析到用户所属网络的服务器。同时智能DNS解析系统还有宕机检测功能,随时可将瘫痪的服务器IP智能更换成正常服务器IP,为企业的网络保持一个永不宕机的服务状态。

会话劫持

会话劫持(Session hijacking),这是一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏。

攻击步骤如下:

1、 目标用户需要先登录站点;
2、 登录成功后,该用户会得到站点提供的一个会话标识SessionID;
3、 攻击者通过某种攻击手段捕获Session ID;
4、 攻击者通过捕获到的Session ID访问站点即可获得目标用户合法会话。

攻击者获取SessionID的方式有多种:

1、 暴力破解:尝试各种Session ID,直到破解为止;
2、 预测:如果Session ID使用非随机的方式产生,那么就有可能计算出来;
3、 窃取:使用网络嗅探,XSS攻击等方法获得。

对于PHP来说,其内部Session的实现机制虽然不是很安全,但是关于生成Session ID的环节还是比较安全的,这个随机的Session ID往往是极其复杂的并且难于被预测出来,所以,对于第一、第二种攻击方式基本上是不太可能成功的。

对于第三种方式大多使用网络数据通讯层进行攻击获取,可以使用SSL进行防御。

在应用层上也可以做出相应的防御措施:

目前有三种广泛使用的在Web环境中维护会话(传递Session ID)的方法:URL参数,隐藏域和Cookie。其中每一种都各有利弊,Cookie已经被证明是三种方法中最方便最安全的。从安全的观点,如果不是全部也是绝大多数针对基于Cookie的会话管理机制的攻击对于URL或是隐藏域机制同样适用,但是反过来却不一定,这就让Cookie成为从安全考虑的最佳选择。

rootkit

一、什么是"rootkit"?
入侵者入侵后往往会进行清理脚印和留后门等工作,最常使用的后门创建工具就是rootkit。不要被名字所迷惑,这个所谓的“rootkit”可不是给超级用户root用的,它是入侵者在入侵了一太主机后,用来做创建后门并加以伪装用的程序包。这个程序包里通常包括了日志清理器,后门等程序。同时,程序包里通常还带有一些伪造的ps、ls、who、w、netstat等原本属于系统本身的程序,这样的话,程序员在试图通过这些命令查询系统状况的时候,就无法通过这些假的系统程序发觉入侵者的行踪。

在一些黑客组织中,rootkit (或者backdoor) 是一个非常感兴趣的话题。各种不同的rootkit被开发并发布在internet上。在这些rootkit之中, LKM尤其被人关注, 因为它是利用现代操作系统的模块技术。作为内核的一部分运行,这种rootkit将会越来越比传统技术更加强大更加不易被发觉。一旦被安装运行到目标机器上, 系统就会完全被控制在hacker手中了。甚至系统管理员根本找不到安全隐患的痕迹, 因为他们不能再信任它们的操作系统了。后门程序的目的就是甚至系统管理员企图弥补系统漏洞的时候也可以给hacker系统的访问权限。

入侵者通过:设置uid程序, 系统木马程序, cron后门等方法来实现入侵者以后从非特权用户使用root权限。

设置uid程序。 黑客在一些文件系统理放一些设置uid脚本程序。无论何时它们只要执行这个程序它们就会成为root。

系统木马程序。黑客替换一些系统程序,如"login"程序。因此, 只要满足一定的条件,那些程序就会给黑客最高权限。

Cron后门。黑客在cron增加或修改一些任务,在某个特定的时间程序运行,他们就可以获得最高权限。
具体可能通过以下方法给予远程用户以最高访问权限: “.rhost” 文件, ssh认证密钥, bind shell, 木马服务程序。
“.rhosts” 文件。一旦 "+ +"被加入某个用户的.rhosts文件里, 任何人在任何地方都可以用这个账号来登陆进来而不需要密码。

ssh认证密钥。黑客把他自己的公共密钥放到目标机器的ssh配置文件"authorized_keys"里, 他可以用该账号来访问机器而不需要密码。

Bind shell。黑客绑定一个shell到一个特定的tcp端口。任何人telnet这个端口都可以获得交互的shell。更多精巧的这种方式的后门可以基于udp,或者未连接的tcp, 甚至icmp协议。

Trojaned服务程序。任何打开的服务都可以成为木马来为远程用户提供访问权限。例如, 利用inetd服务在一个特定的端口来创建一个bind shell,或者通过ssh守护进程提供访问途径。
在入侵者植入和运行后门程序之后, 他会设法隐藏自己存在的证据,这主要涉及到两个方面问题: 如何来隐藏他的文件且如何来隐藏他的进程。

为了隐藏文件, 入侵者需要做如下事情: 替换一些系统常用命令如"ls", “du”, “fsck”。在底层方面, 他们通过把硬盘里的一些区域标记为坏块并把它的文件放在那里。或者如果他足够疯狂,他会把一些文件放入引导块里。

为了隐藏进程, 他可以替换 "ps"程序, 或者通过修改argv[]来使程序看起来象一个合法的服务程序。有趣的是把一个程序改成中断驱动的话,它就不会出现在进程表里了。

SQL注入

针对数据信道包括存储过程和Web应用程序输入参数

蠕虫病毒

蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。

蠕虫病毒是自包含的程序(或是一套程序),它能传播它自身功能的拷贝或它的某些部分到其他的计算机系统中(通常是经过网络连接)。请注意,与一般病毒不同,蠕虫不需要将其自身附着到宿主程序,蠕虫病毒一般是通过1434端口漏洞传播。

比如近几年危害很大的"尼姆亚"病毒就是蠕虫病毒的一种,2007年1月流行的"熊猫烧香"以及其变种也是蠕虫病毒。这一病毒利用了微软视窗操作系统的漏洞,计算机感染这一病毒后,会不断自动拨号上网,并利用文件中的地址信息或者网络共享进行传播,最终破坏用户的大部分重要数据。

诱骗式攻击:

网站挂马、诱骗下载、网站钓鱼、社会工程

ACK Flood攻击

ACK Flood攻击。在TCP连接建立之后,所有的数据传输TCP报文都是带有ACK标志位的,主机在接收到一个带有ACK标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在,如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。如果在检查中发现该数据包不合法,例如该数据包所指向的目的端口在本机并未开放,则主机操作系统协议栈会回应RST包告诉对方此端口不存在。通常状态检测防火墙所做的事情与此类似,只不过防火墙只拦截非法的数据包,而不主动回应。

对比主机以及防火墙在接收到ACK报文和SYN报文时所做动作的复杂程度,显然ACK报文带来的负载要小得多。所以在实际环境中,只有当攻击程序每秒钟发送ACK报文的速率达到一定的程度,才能使主机和防火墙的负载有大的变化。当发包速率很大的时候,主机操作系统将耗费大量的精力接收报文、判断状态,同时要主动回应RST报文,正常的数据包就可能无法得到及时的处理。这时候客户端(以IE为例)的表现就是访问页面反应很慢,丢包率较高。但是状态检测的防火墙通过判断ACK报文的状态是否合法,借助其强大的硬件能力可以较为有效的过滤攻击报文。当然如果攻击流量非常大(特别是千兆线路上,我们曾经观察到200~300Mbps左右的ACK Flood),由于需要维护很大的连接状态表同时要检查数量巨大的ACK报文的状态,防火墙也会不堪重负导致全网瘫痪。

对于网络攻击的应对与预防

恶意行为的监控方式:

主机监测和网络监测

为了捕获网络接口收到的数据帧,网络嗅探工具会将网络接口设置为混杂模式,可实现对网络上传输的数据包的捕获和分析

基于软件技术的软件安全保护技术有:注册信息验证技术、软件防篡改技术、代码混淆技术、软件水印技术、软件加壳技术、反调试反跟踪技术

web安全防护技术

客户端安全防护、通信信道安全防护、服务器端安全防护

数据库安全防护分为三个阶段:

事前检查、事中监控、事后审计

数据库渗透测试

监听器安全特性分析、用户名和密码渗透、漏洞分析,主要对象是数据库身份验证和服务监听系统

数据流分析技术

基于代码的白盒测试技术,它能提供充分的代码覆盖,通过分析数据处理逻辑和程序的控制流关系,从而分析软件代码的潜在安全缺陷。

智能模糊测试技术

程序理解和模糊测试的软件动态安全测试技术

软件动态和静态测试

根据程序是否运行,测试可以分为静态测试和动态测试。

1.静态测试

就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。静态测试采用人工检测和计算机辅助静态分析手段进行检测,只进行特性分析。

*人工检测:人工检测是指不依靠计算机而完全靠人工审查或评审软件。人工检测这种方法可以有效地发现逻辑设计和编码错误,发现计算机不易发现的问题。

*计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。如用错的局部变量和全局变量,不匹配的参数,潜在的死循环等。静态分析中还可以用符号代替数值求得程序结果,阻便对程序进行运算规律的检验。

静态测试包括对软件产品的设计规格说明书的审查,对程序代码的阅读、审查等。静态分析的查错和分析功能是其他方法所不能替代的.已被当做一种自动化的代码校验方法。

2.动态测试

是通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息。动态测试通过真正运行程序发现错误。通过有效的测试用例,对应的输入脚出关系来分析被测程序的运行情况。

不同的测试方法各自的目标和侧重点不一样,在实际工作中。应将这两种方法结合起来运用.以达到更完美的效果。

以上的测试方法各有所长,每种方法都可设计出一组有用的例子,用这组测试用例可以比较容易地发现某种类型的错误,却不易发现另一种类型的错误。因此在实际测试中,应结合各种测试方法,形成综合策略。在单元测试主要用白盒测试;在系统测试时主要用黑盒测试,或者以黑盒测试为主要测试方法,白盒测试为辅助方法等。

防火墙

防火墙主要有以下几种体系结构,防火墙主要包括双重宿主主机体系结构,屏蔽主机体系结构和屏蔽子网体系结构

  1. 双重宿主主机体系结构,双重宿主主机是一种防火墙,这种防火墙主要有2个接口,分别连接着内部网络和外部网络,位于内外网络之间,阻止内外网络之间的IP通信,禁止一个网络将数据包发往另一个网络。两个网络之间的通信通过应用层数据共享和应用层代理服务的方法来实现,一般情况下都会在上面使用代理服务器,内网计算机想要访问外网的时候,必需先经过代理服务器的验证。这种体系结构是存在漏洞的,比如双重宿主主机是整个网络的屏障,一旦被黑客攻破,那么内部网络就会对攻击者敞开大门,所以一般双重宿主机会要求有强大的身份验证系统来阻止外部非法登陆的可能性

  2. 屏蔽主机体系结构,防火墙由一台过滤路由器和一台堡垒主机构成,防火墙会强迫所有外部网络对内部网络的连接全部通过包过滤路由器和堡垒主机,堡垒主机就相当于是一个代理服务器,也就是说,包过滤路由器提供了网络层和传输层的安全,堡垒主机提供了应用层的安全,路由器的安全配置使得外网系统只能访问到堡垒主机,这个过程中,包过滤路由器是否正确配置和路由表是否收到安全保护是这个体系安全程度的关键,如果路由表被更改,指向堡垒主机的路由记录被删除,那么外部入侵者就可以直接连入内网

  3. 屏蔽子网体系结构,这是最安全的防火墙体系结构,如下图所示,由两个包过滤路由器和一个堡垒主机构成,与屏蔽主机体系结构相比,它多了一层防护体系就是周边网络,周边网络相当与是一个防护层介于外网和内网之间,周边网络内经常放置堡垒主机和对外开放的应用服务器,比如web服务器。下图中虚线框起来的地方就是屏蔽子网体系结构的防火墙,称为DMZ,通过DMZ网络直接进行信息传输是被严格禁止的,外网路由器负责管理外部网到DMZ网络的访问,为了保护内部网的主机,DMZ只允许外部网络访问堡垒主机和应用服务器,把入站的数据包路由到堡垒主机。不允许外部网络访问内网。内部路由器可以保护内部网络不受外部网络和周边网络侵害,内部路由器值允许内部网络访问堡垒主机,然后通过堡垒主机的代理服务器来访问外网。外部路由器在DMZ向外网的方向只接受由堡垒主机向外网的连接请求。在屏蔽子网体系结构中,堡垒主机位于周边网络,为整个防御系统的核心,堡垒主机运行应用级网关,比如各种代理服务器程序,如果堡垒主机遭到了入侵,那么有内部路由器的保护,可以使得其不能进入内部网络。
    摘自:
    作者:ShaoquLiu
    来源:CSDN
    原文:https://blog.csdn.net/ShaoqunLiu/article/details/52416469

DMZ

两个防火墙之间的空间被称为DMZ。与Internet相比,DMZ可以提供更高的安全性,但是其安全性比内部网络低。

DMZ是英文"demilitarized zone"的缩写,中文名称为"隔离区",也称"非军事化区"。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。

IDS

入侵检测系统(IDS)是防火墙的补充解决方案,可以防止网络基础设施(路由器、交换机和网络带宽)和服务器(操作系统和应用层)受到拒绝服务(DoS) 袭击。由于问题比较复杂,先进的IDS解决方案一般都包含两个组件:用于保护网络的IDS(NIDS)和用于保护服务器及其上运行的应用的主机IDS (HIDS)。NIDS(Network Intrusion System):网络入侵系统,主要用于监测Hacker或Cracker通过网络进行的入侵行为,其主要包括时间探测器和控制台俩部分。

(1)按入侵检测的手段、IDS的入侵检测模型可分为基于网络和基于主机两种。

(2)按入侵检测的技术基础可分为两类:一种基于标志的入侵检测(signature-based),另一种是基于异常情况的入侵检测(anomaly-based)。

(3) 按输入入侵检测系统的数据的来源来分,可以分为三类:

  1. 基于主机的入侵检测系统:其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵;

  2. 基于网络的入侵检测系统:其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵;

  3. 采用上述两种数据来源的分布式入侵检测系统:它能够同时分析来源于系统的审计日志和来源于网络的信息流,这种系统一般由多个部件组成。

(4)按入侵检测所采用的技术方法又可将其细分为下面四种方法:

一是基于用户行为概率统计模型的入侵检测方法:

这种入侵检测方法是在对用户历史行为建模或在早期的证据或模型的基础上,实时检测用户对系统的使用情况,根据系统内部保存的用户行为概率统计模型进行检测,当发现有可疑的用户行为发生时,立即保持跟踪并监测、记录该用户的行为。系统要根据每个用户以前的历史行为,生成每个用户的历史行为记录库,当用户改变他们的行为习惯时,这种异常就会被检测出来。

二是基于神经网络的入侵检测方法:

这种方法是利用神经网络技术来进行入侵检测。这种方法对用户行为具有学习和自适应功能,能够根据实际检测到的信息有效地加以处理并做出是否有入侵行为的判断。但该方法还不成熟,目前还没有出现较为完善的产品。

三是基于专家系统的入侵检测技术:

该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统,由此专家系统自动进行对所涉及的入侵行为进行分析。该系统可以随着经验的积累而不断自我学习,并进行规则的扩充和修正。

四是基于模型推理的入侵检测技术:

该技术根据入侵者在进行入侵时所执行的某些行为程序的特征,建立一种入侵行为模型,根据这种行为模型所代表的入侵行为特征来判断用户执行的操作是否是属于入侵行为。当然这种方法也是建立在对当前已知的入侵行为程序的基础之上的,对未知的入侵方法所执行的行为程序的模型识别需要进一步的学习和扩展。

IPS

入侵防御系统(IPS: Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件(Antivirus Programs)和防火墙(Packet Filter, Application Gateway)的解释。 入侵防御系统(Intrusion-prevention system)是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。

在ISO/OSI网络层次模型(见OSI模型) 中,防火墙主要在第二到第四层起作用,它的作用在第四到第七层一般很微弱。而除病毒软件主要在第五到第七层起作用。为了弥补防火墙和除病毒软件二者在第四到第五层之间留下的空档,几年前,工业界已经有入侵侦查系统(IDS: Intrusion Detection System)投入使用。入侵侦查系统在发现异常情况后及时向网路安全管理人员或防火墙系统发出警报。可惜这时灾害往往已经形成。虽然,亡羊补牢,尤未为晚,但是,防卫机制最好应该是在危害形成之前先期起作用。随后应运而生的入侵响应系统(IRS: Intrusion Response Systems) 作为对入侵侦查系统的补充能够在发现入侵时,迅速作出反应,并自动采取阻止措施。而入侵预防系统则作为二者的进一步发展,汲取了二者的长处。

入侵预防系统也像入侵侦查系统一样,专门深入网络数据内部,查找它所认识的攻击代码特征,过滤有害数据流,丢弃有害数据包,并进行记载,以便事后分析。除此之外,更重要的是,大多数入侵预防系统同时结合考虑应用程序或网路传输中的异常情况,来辅助识别入侵和攻击。比如,用户或用户程序违反安全条例、数据包在不应该出现的时段出现、作业系统或应用程序弱点的空子正在被利用等等现象。入侵预防系统虽然也考虑已知病毒特征,但是它并不仅仅依赖于已知病毒特征。

应用入侵预防系统的目的在于及时识别攻击程序或有害代码及其克隆和变种,采取预防措施,先期阻止入侵,防患于未然。或者至少使其危害性充分降低。入侵预防系统一般作为防火墙 和防病毒软件的补充来投入使用。在必要时,它还可以为追究攻击者的刑事责任而提供法律上有效的证据 (forensic)。

入侵检测系统(IDS)对那些异常的、可能是入侵行为的数据进行检测和报警,告知使用者网络中的实时状况,并提供相应的解决、处理方法,是一种侧重于风险管理的安全产品。

入侵防御系统(IPS)对那些被明确判断为攻击行为,会对网络、数据造成危害的恶意行为进行检测和防御,降低或是减免使用者对异常状况的处理资源开销,是一种侧重于风险控制的安全产品。

投入使用的入侵预防系统按其用途进一步可以划分为***单机入侵预防系统(HIPS: Hostbased Intrusion Prevension System)(对计算机中文件的完整性进行前后比较,发现被篡改的系统文件)和网路入侵预防系统(NIPS: Network Intrusion Prevension System)***两种类型。

蜜网

蜜网(honeynet)是一个网路系统,而并非某台单一主机,这一网路系统是隐藏在防火墙后面的,所有进出的资料都受到监控、捕获及控制。这些被捕获的资料可以对我们研究分析入侵者们使用的工具、方法及动机。可以模拟各种不同的系统及设备,如Windows NT/2000、Linux、Solaris、Router、Switch等。honeynet包含一个或多个honey pot,这种honey pot是专门用来吸引别人进行攻击的陷阱。Honeynet Projuct是一个公益研究组织,专门研究网络安全和信息共享技术,努力提高honeynet的诱骗程度。

折叠编辑本段详细内容
除honey pot之外,蜜网(honeynet)还包括一些真正的应用程序和硬件设备,这样看起来honeynet更像一个一般的网络,也更容易引起入侵者的注意。由于honeynet并不会对任何授权用户进行服务,因此,任何试图联系主机的行为都被视为非法,而任何从主机对外开放的通讯都被视为合法,因此,在honeynet中进行网络可疑信息分析要比一般网络容易得多,在一般网络中,要在众多信息中仔细挑选出那些可疑信息,工作量太大了。为了能够吸引攻击,honeynet中的网络应用程序命名基本都是什么"财务"、"人力资源"之类的。

虽然honeynet看起来是个网络,但是实际上honeynet在一个服务器上。

高/低交互蜜罐

低交互蜜罐

低交互蜜罐只会让攻击者非常有限地访问操作系统。“低交互”意味着,对手无法在任何深度上与您的诱饵系统进行交互,因为它是一个更加静态的环境。低交互蜜罐通常会模仿少量的互联网协议和网络服务,足以欺骗攻击者,而不是更多。通常,大多数企业都会模拟TCP和IP等协议,这使得攻击者可以认为他们正在连接到真实系统而不是蜜罐环境。

低交互蜜罐易于部署,不允许访问真正的root shell,也不使用大量资源进行维护。但是,低交互蜜罐可能不够有效,因为它只是机器的基本模拟。它可能不会欺骗攻击者参与攻击,而且它肯定不足以捕获复杂的威胁,如零日攻击。

高交互蜜罐

高交互蜜罐是欺骗技术中规模的另一端。攻击者不是简单地模拟某些协议或服务,而是提供真实的攻击系统,使得他们猜测他们被转移或观察的可能性大大降低。由于系统仅作为诱饵出现,因此发现的任何流量都是恶意存在的,因此可以轻松发现威胁并跟踪和跟踪攻击者的行为。通过使用高交互蜜罐,研究人员可以了解攻击者用于升级权限的工具,或者他们为尝试发现敏感数据而进行的横向移动。

利用当今最先进的动态欺骗方法,高交互蜜罐可以适应每个事件,使攻击者更不可能意识到他们正在使用诱饵。如果您的供应商团队或内部团队有一个幕后工作的研究部门,以发现新的和新兴的网络威胁,这可以是一个很好的工具,让他们学习有关最新战术和趋势的相关信息。

当然,高交互蜜罐的最大缺点是在开始时构建诱饵系统所需的时间和精力,然后长期保持对其的监控,以降低贵公司的风险。对于许多人来说,中等交互蜜罐策略是最佳平衡,与创建完整的物理或虚拟化系统以转移攻击者相比,提供的风险更小,但具有更多功能。这些仍然不适用于零日攻击等复杂威胁,但可能针对寻找特定漏洞的攻击者。例如,中型交互蜜罐可能会模拟Microsoft IIS Web服务器,并具有足够复杂的功能来吸引研究人员需要更多信息的特定攻击。

SEHOP

在这里插入图片描述

ASLR

aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。

ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。据研究表明ASLR可以有效的降低缓冲区溢出攻击的成功率,如今Linux、FreeBSD、Windows等主流操作系统都已采用了该技术。

在学术研究上,已经有不少工作对其进行改进。比如进行运行时动态细粒度的随机化(参见论文 Remix: On-demand Live Randomization)。

DEP(数据执行保护)

可帮助防止数据页当作代码执行,从而有效分离数据与代码。通常情况下,不执行默认堆和堆栈中的代码。硬件实施 DEP 检测从这些位置运行的代码,并在发现执行情况时引发异常。软件实施 DEP 可帮助阻止恶意代码利用 Windows 中的异常处理机制进行破坏。

硬件DEP 是某些 DEP 兼容处理器的功能,可以防止在已标记为数据存储区的内存区域中的代码执行。 此功能也称为非执行和执行保护。 Windows XP SP2 还包括软件实施 DEP,其目的在于减少利用 Windows 中的例外处理机制的情况。

与防病毒程序不同,硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存空间。 为监视您的程序,硬件实施 DEP 将跟踪已指定为"不可执行"的内存区域。 如果已将内存指定为"不可执行",但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此操作。从而使代码内存空间存放可执行的代码,数据内存空间只存储数据,数据空间中如果有任何代码都视作数据,不给予代码执行权限。

GS

Stack protection技术是一项缓冲区溢出的检测防护技术,使用该技术的编译器针对函数调用和返回时添加保护和检查功能的代码,在函数被调用时,在缓冲区和函数返回地址增加一个32位的随机数security_cookie,在函数返回时,调用检查函数security_cookie的值是否有变化

软件安全保护技术:

注册信息验证技术、软件篡改技术、代码混淆技术、软件水印技术、软件加壳技术、反调试反跟踪技术

基础协议内容

Kerberos协议

支持相互认证,客户端和服务端均可对对方进行身份认证。是一种应用对称秘钥体制进行秘钥管理的系统。
主要用于计算机网络的身份甄别,其特点是用户只需要输入一次身份验证信息就可以凭借此次验证获得的票据访问多个服务,即SSO(Single Sign On 单点登录)。
由于协议中的消息无法穿透防火墙,导致Kerberos协议往往用于一个组织的内部。

Ksrberos V5属于第五版本,他通过6步实现对用户的认证:
1.Client向AS申请进行身份认证
2.AS验证Client的身份后,向Client发送通过身份验证的票据
3.Client向TGS申请Server的访问权限
4.TGS验证Client有AS提供的通过身份验证票据后,向Client发放可以访问Server的票据
5.Client用TGS发放的访问Server的票据,访问应用服务器Server
6.由Server验证完成Client访问Server的票据后,提供访问权限,这一步可选

TACACS协议(Terminal Access Controller Access-Control System)

TACACS(终端访问控制器访问控制系统)对于Unix网络来说是一个比较老的认证协议,它允许远程访问服务器传送用户登陆密码给认证服务器,认证服务器决定该用户是否可以登陆系统。TACACS是一个加密协议,因此它的安全性不及之后的TACACS+和远程身份验证拨入用户服务协议。TACACS之后推出的版本是XTACACS。这两个协议均在RFC(请求注解)(是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。可以理解是一个标准化的文档。)中进行了说明。

TACACS+协议

TACACS+其实是一个全新的协议。TACACS+和RADIUS在现有网络里已经取代了早期的协议。TACACS+应用传输控制协议(TCP),而RADIUS使用用户数据报协议(UDP)。一些管理员推荐使用TACACS+协议,因为TCP更可靠些。RADIUS从用户角度结合了认证和授权,而TACACS+分离了这两个操作。

RADLUS(Remote Authentication Dial in User Service)

C/S结构的协议,他的客户端最初就是NAS服务器,任何运行RADIUS客户端的计算机都可以成为RADIUS客户端,认证机制灵活,可采用PAP、CHAP或者Unix登录认证多种方式,应用于ADSL上网、虚拟拨号用户等。使用用户数据报协议UDP。

RADIUS是使用AAA协议的接入服务器。 它是获 取对网络和网络服务的远程访问未被授权的访问分布式安全的系统 。RADIUS 包括三个组件:

一 个协议带有使用用户数据协议的帧格式(UDP)/IP

一个服务器

一个客户 端

而客户端在拨号接入服务器驻留并 且可以被分配在网络过程中,服务器在一台中央计算机典型地运行 在用户站点。Cisco合并RADIUS客户端到Cisco IOS软件版本 11.1以上和其他设备软件里。

客户端/服务器型号

网络接入服务器(NAS)运 行作为RADIUS的客户端。客户端负责通过用户信息对指定的 RADIUS服务器,然后操作在返回的回应。 RADIUS服务器负责 对收到用户连接请求,验证用户,然后返回所有配置信息必要为客 户端提供服务到用户。RADIUS服务器能作为代理客户端到其 他认证服务器

BLP模型(Bell-LaPadula模型)

多级安全策略模型,易敏感度划分资源的安全级别,实质上是一种强制访问控制。
俩个安全访问规则:
一、简单安全规则:主体只能从下读,而不能向上读。
二、星规则:主体只能向上写,而不能向下写。
两条规则保证了信息的单向流动(信息只能往高安全属性的方向流动),MAC就是通过信息的单向流动来防止信息的扩散,抵御特洛伊木马对系统的攻击。

SSL协议

SSL(Secure Sockets Layer 安全套接层)协议,及其继任者TLS(Transport Layer Security传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。SSL协议已成为全球化标准,所有主要的浏览器和WEB服务器程序都支持SSL协议,可通过安装SSL证书激活SSL协议。

SSL 证书就是遵守 SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。

SSL协议提供的服务主要有:

1.认证用户和服务器,确保数据发送到正确的客户机和服务器;

2.加密数据以防止数据中途被窃取;

3.维护数据的完整性,确保数据在传输过程中不被改变。

服务器认证阶段
1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:

SSL记录协议(SSL RecordProtocol):建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSL HandshakeProtocol):建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议实际上是SSL握手协议、SSL修改密文协议、SSL警告协议和SSL记录协议组成的一个协议族。

在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和记录数据(长度不为0)组成的。所有的SSL通信都使用SSL记录层,记录协议封装上层的握手协议、报警协议、修改密文协议。SSL记录协议包括记录头和记录数据格式的规定。

SSL记录协议定义了要传输数据的格式,它位于一些可靠的传输协议之上(如TCP),用于各种更高层协议的封装。主要完成分组和组合、压缩和解压缩,以及消息认证和加密等。

IPSec协议

IPSec(IP Security)协议产生于IPv6的制定之中,用于提供IP层的安全性。介于第三层隧道协议。由于所有支持TCP/IP协议的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。鉴于IPv4的应用仍然很广泛,所以后来在IPSec的制定中也增添了对IPv4的支持。最初的一组有关IPSec标准由IETF在1995年制定,但由于其中存在一些未解决的问题,从1997年开始IETF又开展了新一轮的IPSec的制定工作,截至1998年11月份主要协议已经基本制定完成。不过这组新的协议仍然存在一些问题,预计在不久的将来IETF又会进行下一轮IPSec的修订工作。

IPSec提供了两种安全机制:认证(采用ipsec的AH)和加密(采用ipsec的ESP)。

· 认证机制使IP通信的数据接收方能够确认数据发送方的真实身份,以及数据在传输过程中是否遭篡改。

· 加密机制通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被窃听。

IPSec主要功能为加密和认证,为了进行加密和认证,IPSec还需要有密钥的管理和交换的功能,以便为加密和认证提供所需要的密钥并对密钥的使用进行管理。以上三方面的工作分别由AH,ESP和IKE(Internet Key Exchange,Internet 密钥交换)三个协议规定***。为了介绍这三个协议,需要先引人一个非常重要的术语SA(Security Association安全关联)。所谓安全关联是指安全服务与它服务的载体之间的一个"连接"。AH和ESP都需要使用SA,而IKE的主要功能就是SA的建立和维护。要实现AH和ESP,都必须提供对SA的支持。通信双方如果要用IPSec建立一条安全的传输通路,需要事先协商好将要采用的安全策略,包括使用的加密算法、密钥、密钥的生存期等。当双方协商好使用的安全策略后,我们就说双方建立了一个SA。SA就是能向其上的数据传输提供某种IPSec安全保障的一个简单连接,可以由AH或ESP提供。当给定了一个SA,就确定了IPSec要执行的处理,如加密,认证等。SA可以进行两种方式的组合,分别为传输临近和嵌套隧道。ESP协议基于IPSec的数据通信提供了安全加密、身份认证和数据完整性鉴别*

IKE创建在ISAKMP协议定义的框架上,沿用了Oakley协议的密钥交换模式和SKEME协议的共享密钥和密钥组成技术.IKE使用俩阶段协商安全参数.第一阶段交换IKE,主要通过俩种模式实现,第二阶段利用第一阶段建立的安全关联来创建其他协议的安全关联,用于IPSec协议时,创建SA

IPSec的工作原理类似于包过滤防火墙,可以看作是对包过滤防火墙的一种扩展。当接收到一个IP数据包时,包过滤防火墙使用其头部在一个规则表中进行匹配。当找到一个相匹配的规则时,包过滤防火墙就按照该规则制定的方法对接收到的IP数据包进行处理。这里的处理工作只有两种:丢弃或转发。IPSec通过查询SPD(Security Po1icy Database安全策略数据库)决定对接收到的IP数据包的处理。但是IPSec不同于包过滤防火墙的是,对IP数据包的处理方法除了丢弃,直接转发(绕过IPSec)外,还有一种,即进行IPSec处理。正是这新增添的处理方法提供了比包过滤防火墙更进一步的网络安全性。进行IPSec处理意味着对IP数据包进行加密和认证。包过滤防火墙只能控制来自或去往某个站点的IP数据包的通过,可以拒绝来自某个外部站点的IP数据包访问内部某些站点,也可以拒绝某个内部站点对某些外部网站的访问。但是包过滤防火墙不能保证自内部网络出去的数据包不被截取,也不能保证进入内部网络的数据包未经过篡改。只有在对IP数据包实施了加密和认证后,才能保证在外部网络传输的数据包的机密性、真实性、完整性,通过Internet进行安全的通信才成为可能。IPSec既可以只对IP数据包进行加密,或只进行认证,也可以同时实施二者。但无论是进行加密还是进行认证,IPSec都有两种工作模式,一种是隧道模式,另一种是传输模式。

ISAKMP

Internet 密钥交换协议(IKE)用于在两个通信实体协商和建立安全相关,交换密钥。安全相关(Security Association)是 IPSec 中的一个重要概念。一个安全相关表示两个或多个通信实体之间经过了身份认证,且这些通信实体都能支持相同的加密算法,成功地交换了会话密钥,可以开始利用 IPSec 进行安全通信。IPSec 协议本身没有提供在通信实体间建立安全相关的方法,利用 IKE 建立安全相关。IKE 定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法

SKEME:提供了IKE交换密钥的算法,方式;即,通过DH进行密钥交换和管理的方式,个人开发的

ISAKMP:它是一个框架,在该框架以内,它定义了每一次交换的包结构,每次需要几个包交换,主模式6个包交换和主动模式3个包交换,它由美国国家安全处开发,在配置IPSEC VPN的时候,只能设置它,前两个协议不能被设置。

ISAKMP(Internet Security Association Key Management Protocol,Internet安全联盟密钥管理协议)由RFC2408定义,定义了协商、建立、修改和删除SA的过程和包格式。ISAKMP只是为SA的属性和协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。

ISAKMP没有定义任何密钥交换协议的细节,也没有定义任何具体的加密算法、密钥生成技术或者认证机制。这个通用的框架是与密钥交换独立的,可以被不同的密钥交换协议使用。

ISAKMP报文可以利用UDP或者TCP,端口都是500,一般情况下常用UDP协议。

ISAKMP双方交换的内容称为载荷(payload),ISAKMP目前定义了13种载荷,一个载荷就像积木中的一个"小方块",这些载荷按照某种规则"叠放"在一起,然后在最前面添加上ISAKMP头部,这样就组成了一个ISAKMP报文,这些报文按照一定的模式进行交换,从而完成SA的协商、修改和删除等功能。

在配置IPSEC VPN的时候,只能设置它,前两个协议不能被设置,

IKE是以上三个筐架协议的混合体。IP SEC强是因为他IKE强。

IKE为IPSec通信双方提供密钥材料,这个材料用于生成加密密钥和验证密钥。另外,IKE也为IPSec协议AH ESP协商SA。

IKE中有4种身份认证方式:

(1) 基于数字签名(Digital Signature),利用数字证书来表示身份,利用数字签名算法计算出一个签名来验证身份。

(2) 基于公开密钥(Public Key Encryption),利用对方的公开密钥加密身份,通过检查对方发来的该HASH值作认证。

(3) 基于修正的公开密钥(Revised Public Key Encryption),对上述方式进行修正。

(4) 基于预共享字符串(Pre?Shared Key),双方事先通过某种方式商定好一个双方共享的字符串。

IKE目前定义了4种模式:主模式、积极模式、快速模式和新组模式。前面3个用于协商SA,最后一个用于协商Diffie Hellman算法所用的组。主模式和积极模式用于第一阶段;快速模式用于第二阶段;新组模式用于在第一个阶段后协商新的组。

在第一阶段中:

主模式:LAN to LAN 六个包交换,在认证的时候是加密的,

1、2个包:策略和转换集的协商。第一阶段的加密和HASH的策略,包括对方的IP地址。对第阶段策略的协商,发起者把它所有的策略发给接收者让它选择协商(发起者可以设很多个策略),

3、4个包:进行DH(DH算出的公共值和两边产生的随机数)的交换,这两外包很大,MTU小可能在这个地方出错。

5、6个包:彼此进行认证,HASH被加密过,对方解密才能进行认证。

远程拔号VPN:激进模式,3个包,减少对PC的压力,在认证的时候是不加密的

在第二阶段中(快速模式):会对第一阶段的信息再做一次认证

快速模式:当IP SEC参数设的不一致,它会在快速模式的第1、2个包报错,会出现不可接受信息。以及感兴趣流(ACL定义内容)也要匹配。ACL两边要对应一致。

快速模式的1、2、3个包的作用是再进行双方的认证,协商IP sec SA的策略,建立IP sec的安全关联,周期性的更新IP sec的SA,默认一小时一次,ISAKMP默认是一天更新一次,协商双方的感兴趣流,如果有PFS,就会进行新一轮的DH交换,过程与第一阶段的DH交换基本一样。

OCSP(Online Certificate Status Protocol,在线证书状态协议)

OCSP是维护服务器和其它网络资源安全性的两种普遍模式之一。OCSP克服了证书注销列表(CRL)的主要缺陷:必须经常在客户端下载以确保列表的更新。当用户试图访问一个服务器时,在线证书状态协议发送一个对于证书状态信息的请求。服务器回复一个"有效"、"过期"或"未知"的响应。协议规定了服务器和客户端应用程序的通讯语法。在线证书状态协议给了用户的到期的证书一个宽限期,这样他们就可以在更新以前的一段时间内继续访问服务器。

在线证书状态协议(OCSP)使得应用程序可以测定所需要检验证书的(撤消)状态。OCSP。一个OCSP客户端发布一个状态查询给一个OCSP响应器并且侦听当前证书直到响应器提供了一个响应。这个协议描述了在应用程序检查证书状态和服务器提供状态之间所需要交换的数据’

密码学

加密算法能抵抗明文攻击才认为是安全的

密码分析学有四种典型的密码攻击,唯密文攻击、已知密文攻击、选择密文攻击,其中唯密文攻击最容易防范,选择密文攻击最难防范

对称算法/对称密钥体制

有时又叫传统密码算法,就是加密秘钥能够从解密秘钥中推算出来,反过来也成立。

在大多数对称算法中,加/解密秘钥相同
对称算法分为俩类:
(1)分组算法(分组密码),常见分组密码算法:DES、IDEA、AES
(2)序列算法(序列密码、流密码),公开的序列密码算法主要有RC4、SEAL

对称密码设计的主要思想:

扩散和混淆,扩散将明文及秘钥的影响尽可能迅速散布到较多个输出的密文中。混淆其目的在于使作用于明文的秘钥和密文之间的关系复杂化,是明文和密文之间、密文和秘钥之间的统计相关特性及消化,从而使统计分析攻击不能奏效。包括词法转换、控制流转换、数据转换.用以达到扩散和混淆目的的方法是乘积迭代

对称密码的选择明文分析方法

差分分析和线性分析

传统对称密码加密时所使用的俩个技巧时:代换和置换

最早的代换密码是Caesar密码

DES密码结构基于Feistel网络的结构,分组大小为64位

AES算法在整体结构上采用的是代换–置换SP网络组成的圈函数,多圈迭代

使用Feistel网络的结构DES、FEAL、Twofish、RC4

SHA所产生的摘要长度为160位,信息摘要算法MD5的摘要长度为128位

RSA算法选取的模至少有1024位,椭圆曲线密码,选取的参数p的规模不少于160位

密码系统五部分:

消息空间、密文空间、密钥空间、加密算法、解密算法

三类密钥分配:

人工密钥分发、基于中心的密钥分发、基于认证的密钥分发

秘钥分发模型

拉模型、推模型

TCM可信密码模块

TCM可信密码模块的英文全称为“Trusted Cryptography Module”,TCM是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。

可信计算平台(trusted computing platform)概念由国家密码管理局提出,其是构建在计算系统中,用于实现可信计算功能的支撑系统。

可信计算密码支撑平台(cryptographic support platform for trusted computing)是可信计算平台的重要组成部分,包括密码算法、密钥管理、证书管理、密码协议、密码服务等内容,为可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持。其产品形态主要表现为可信密码模块和可信密码服务模块。

为了支持中国可信计算的研究和应用,中国国家密码管理局于2006年组织制定了《可信计算平台密码技术方案》,它体现三个原则:(1)以国内密码算法为基础;(2)结合国内安全需求与产业市场;(3)借鉴国际先进的可信计算技术框架与技术理念并自主创新。《可信计算平台密码技术方案》是构建中国可信计算技术规范体系的基础。《可信计算密码支撑平台功能与接口规范》[4]以《可信计算平台密码技术方案》为指导,描述了可信计算密码支撑平台的功能原理与要求,并定义了可信计算密码支撑平台为应用层提供服务的接口规范。用以指导中国相关可信计算产品开发和应用。

中国可信计算标准包括可信计算芯片标准、可信计算软件标准、可信计算主板平台标准、可信计算网络标准

可信计算芯片标准的特点主要体现在动态度量和对信息的安全保障方面。

而可信密码模块标准TCM主要体现在密码算法上的自主化上,采用了国产加密算法。

可信密码模块信息(TCMModuleInfo):可信密码模块型号用于标识可信密码模块的类型。包括三个子项分别是:可信密码模块生产商(TCMVender)、可信密码模块型号(TCMModel)、可信密码模块版本(TCMVersion)。其中后两项TCMModel、TCMVersion为生产商自定义信息。

PKI系统 (Public Key Infrastructure/公钥基础设施)

PKI 采用证书进行公钥管理,通过第三方的可信任机构(认证中心,即CA),把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信 息,以在Internet网上验证用户的身份。PKI把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的安全传 输。

因 此,从大的方面来说,所有提供公钥加密和数字签名服务的系统,都可归结为PKI系统的一部分,PKI的主要目的是通过自动管理密钥和证书,为用户建立起一 个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的机密性、完整性、有效性。数据的机密性是指数据在传 输过程中,不能被非授权者偷看;数据的完整性是指数据在传输过程中不能被非法篡改;数据的有效性是指数据不能被否认。

一 个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI的内部运作机制。在一个典型、完整和有效的PKI系统 中,除证书的创建和发布,特别是证书的撤销,一个可用的PKI产品还必须提供相应的密钥管理服务,包括密钥的备份、恢复和更新等。没有一个好的密钥管理系统,将极大影响一个PKI系统的规模、可伸缩性和在协同网络中的运行成本。在一个企业中,PKI系统必须有能力为一个用户管理多对密钥和证书;能够提供安 全策略编辑和管理工具,如密钥周期和密钥用途等。

PKI发展的一个重要方面就是标准化问题,它也是建立互操作性的基础。目前,PKI标准化主要有两个方面:一是RSA公司的公钥加密标准PKCS(Public Key Cryptography Standards),它定义了许多基本PKI部件,包括数字签名和证书请求格式等;二是由Internet工程任务组IETF(Internet Engineering Task Force)和PKI工作组PKIX(Public Key Infrastructure Working Group)所定义的一组具有互操作性的公钥基础设施协议。在今后很长的一段时间内,PKCS和PKIX将会并存,大部分的PKI产品为保持兼容性,也将会对这两种标准进行支持。

一个典型的PKI系统包括***PKI策略、软硬件系统、证书机构CA、注册机构RA、证书发布系统和PKI应用***等。
PKI信任模型类型有:单级CA信任模型、严格层次结构模型、分布式(网状)信任模型结构、web模型、桥CA信任模型、用户为中心的信任模型

数据库

数据库安全检测

端口测试(服务发现)、渗透测试、内部安全测试

数据库安全防护

首先要对数据库系统本身进行安全加固,如打上补丁、关闭特权账号等等。其次是对数据库的贴身防护:
(1)事前对数据库进行扫描评估,漏洞检查
(2)事中对数据库进行入侵防护和访问控制
(3)事后对数据库的审计。
接下来是对数据库的身份认证,以及数据加密、流量控制、容灾备份。最后是对应用的安全防护,保证来自应用的访问可以安全访问数据库。

用户权限是由俩个要素组成的,数据库对象和操作类型

数据库软件执行三种类型的完整性服务:

语义、参照、实体完整性

数据库事务处理四大特性

原子性 一致性 分离性 持久性

数据库的渗透测试,主要包括3个方面,监听器安全特性分析、用户名和密码渗透、漏洞分析

新创建数据库用户三种权限

DBA:超级用户
RESOURCE:能创建基本表和视图,不能创建模式和新用户
CONNECT:只能登陆数据库

数据库基本语句:

1.创建角色:CREATE ROLE
2.授权:GRANT
3.回收权限:REVOKE
4.去掉重复元祖:DISTINCT
5.设置数据库审计功能:AUDIT(核查命令)
6.取消数据库审计功能:NOAUDIT
7.指定字句:WITH GRANT OPTION
8.默认用户拥有CONNECT权限(只能登陆数据库)
9.每个数据库事务均以BEGIN TRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束

Windows/unix基础知识

windows系统中,Regedit打开注册表编辑器
windows系统中,如果对目录有Execute(X)权限,表示可以穿越目录并进入其子目录
windows系统中,查看进程命令并能查看进程同服务的关系的DOS服务,是tasklist
windows系统中,执行体和内核(ntoskrnl.exe)、硬件抽象层(hal.dll)、windows子系统的内核模式(win32k.sys)等
windows系统中,口令字密文保存在SAM文件里
windows系统中,查看进程命令并能查看进程通服务之间的关系的DOS命令,是tasklist
Unix/Linux系统中,init进程是一个内核启动 的用户级进程,加载内核后,启动一个用户级程序init的方式,完成指导进程,始终是第一个进程
Unix/Linux系统中,查看UNIX文件权限的命令是: l s − l U n i x / L i n u x 系 统 中 , 主 要 的 审 计 工 具 是 s y s l o g d 守 护 进 程 U n i x / L i n u x 系 统 中 , " r w − r − − r − − " 用 八 进 制 表 示 为 644 U n i x / L i n u x 系 统 中 , 分 配 已 读 权 限 : ls -l Unix/Linux系统中,主要的审计工具是syslogd守护进程 Unix/Linux系统中,"rw-r--r--"用八进制表示为644 Unix/Linux系统中,分配已读权限: lslUnix/Linux,syslogdUnix/Linux,"rwrr"644Unix/Linux,:chamod g+r
Unix/Linux系统中,服务是通过inted进程或启动脚本来启动
UNIX文件系统安全基于I结点中3段关键信息:UID(文件拥有者)、GID:(文件所在分组)、模式(文件的权限设置)

Winlogon调用GINA DLL并监视安全认证序列,所调用的DLL将提供一个交互式的界面为用户登录提供认证

Wireshark嗅探的前十个数据包时ISAKMP协议的数据包

用户代码需要请求操作系统提供服务时,通常采用系统调用的方法

指令寄存器eip始终存放着返回地址

现代CPU俩种运行模式

用户模式(非特权模式)、内核模式(特权模式)

用户接口

方便用户使用计算机资源所建立的用户和计算机之间的联系,包括作业级接口和程序级接口

守护进程

在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。

守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。

由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。

进程和CPU通信是通过中断信号完成的

NAT(网络地址翻译技术)

静态NAT、NAT池和端口地址转换PAT

滑板指令

由大量NOP空指令0x90填充组成的指令序列

在标准模型中,将CPU模式从用户模式转到内核模式的唯一方法是触发一个特殊的硬件自陷。

硬件自陷:
中断:一些外部硬件引发的,如I/O或者时钟
异常:如除数为零,访问非法的或者不属于该进程的内存
显式的执行自陷指令

用户使用的端口一般介于1023~65535之间

网络21端口对应FTP服务,23端口TELNET服务,25端口对应SMTP服务,80端口对应HTTP协议

私有IP地址

A:10.0.0.0~10.255.255.255 即 10.0.0/8
B:172.16.0.0~172.31.255.255/12即172.16.0.0/12
C:192.168.0.0~192.168.255.255即192.168.0.0/16

TCP端口号范围是:

0~65535

Tcp协议三次握手

在这里插入图片描述
ACK标志位说明确认序列号有效,PSH标志位表示请求接收端主机尽快将数据包交付给应用层,FIN标志位用于释放TCP链接,SYN标志位说明建立一个同步连接。其中TCP的半连接扫描也称为TCP SYN扫描

猜你喜欢

转载自blog.csdn.net/qq_40837276/article/details/86583074