信息安全就是在信息产生、存储、传输与处理的整个过程中,信息网络能够稳定、可靠地运行,受控、合法地使用,从而保证信息的保密性、完整性、可用性、真实性、可控性及不可否认性等安全属性。
保密性的保护手段:物理保护(隔离、防辐射、防窃听),信息加密,访问控制。
完整性的保护手段:预防篡改(物理保护、信息加密、访问控制);检测篡改(散列函数、MAC、数字签名)。
可用性保护手段:扩容备份、灾难恢复
真实性保护手段:数字签名、认证技术、公证(可信第三方认证)
可控性保护手段:信息监控、内容审查、访问控制、责任认定。
信息交换双方在交互过程中发送信息或接收信息的行为均不可抵赖。证明某一动作或事件已经发生的能力,以使事后不能否认这一动作或事件。
保护手段:数字签名、数字证书、公证(可信第三方认证)
安全威胁(threat)指人、物、事件等因素对某一信息资源或系统可能造成的危害。例如:操作失误、恶意代码、网络攻击、物理攻击等。
安全攻击(attack)一般把可能威胁信息安全的行为称为攻击
即冒名顶替。一般而言,伪装攻击的同时往往还伴随着其他形式的主动攻击。假冒攻击例子之一(钓鱼)。
先被动地窃取通信数据,然后再有目的地重新发送。主要针对身份认证。
即修改报文的内容。或者对截获的报文延迟、重新排序等。
阻止或占据对通信设施的正常使用或管理。这种攻击可能是针对某个特定的目标(如:拦截报文,使服务器过载等),也有可能是针对某个网络区域(如:使网络拥塞而瘫痪)
对于加密后的通信,对手虽然不能获得报文的内容,但可以通过流量分析来分析通信主机的位置、通信的频繁程度、报文长度等信息。
1、对于被动攻击,重在防范,而不在于检测。因为被动攻击不修改数据,检测相对困难。2、防范主动攻击非常困难,检测并恢复主动攻击造成的损坏和延迟是可行的
明文:未加密的信息;
密文:已加密的信息;
密钥:控制密码变换的随机数序列。(必须保密)
加密(E):将明文变换成密文的过程。
解密(D):将密文变换成明文的过程。
密码算法(cipheralgorithm):密码算法是加密算法和解密算法的统称,是密码系统的核心。(可以公开)
1、又称为散列函数、杂凑函数、消息摘要函数。
2、将任意长度的报文映射成一个较短的固定长度的输出报文的函数
3、该定长的输出报文称为输入报文的“哈希值”或“消息摘要”或“摘要”或“指纹”
4、h=H(M),M是变长的报文,h是定长的哈希值
5、在数学上保证:只要改动消息M的任何一位,重新计算出的消息摘要h’就会与原先消息摘要值h不符
1、压缩性:将一个有限长的输入M映射为一个固定长的短输出h。
2、易计算:给出H和输入M,容易计算出H(M)。
3、单向性:给定散列值h,推导输入值M是计算困难的。
4、弱碰撞阻止性:给定消息M的散列值,找到另一个输入M′≠M,使得H(M′)=H(M),是非常困难的。
5、碰撞阻止性:也称为强碰撞阻止性。找到散列值相同的两个不同的输入M和M′,是非常困难的。
MD族算法
SHA族算法:SHA-1、SHA-2、SHA-3
SM族算法:SM3。SM3算法为国际标准
支持口令认证
支撑消息认证
与公钥密码算法结合,生成数字签名
与共享密钥相结合,生成消息认证码
1、对称密码算法,又称单钥密码算法。加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。
2、要求发送者和接收者在安全通信之前,商定一个共享密钥。
3、安全性依赖于密钥,只要通信需要保密,密钥就必须保密。
DES
AES
SM4,商用分组密码算法
ZUC算法是中国第一个成为国际密码标准的密码算法。
加密/解密
对称加密的安全取决于密钥的保密性而非算法的保密性
MAC消息认证码,C为MAC算法,输入M是变长消息,输入K是收发双方共享的密钥,输出固定长度的MAC值。
只有通信双方拥有共享密钥才能计算消息的消息认证码。
消息认证码不仅能够确认数据完整性,还可以实现数据源的认证。
密钥分发问题,即如何安全地让加、解密双方拥有相同的密钥。手动分发、自动分发。
密钥管理问题,即在多方通信时,例如有N个通信方时,至少需要维护N*(N-1)/2个对称密钥。随着通信人数增加,密钥管理量将急剧增长。密钥管理中心,KMC
对称密码体制
优点:加解密速度快,加密效率高。
缺点:密钥分发困难,管理复杂。不便于应用在网络开放的环境中。
对称密码体制的主要问题:1、如何在网络上安全传送对称密钥;无法实现抗抵赖。
又称非对称密码(体制)
一个密钥称为公开密钥(publickey),简称公钥;另一个密钥称为私有密钥(privatekey),简称私钥。
常用的公钥密码算法:SM2(商用公钥密码算法),SM9(商用公钥密码算法),RSA
机密性-------->公钥加密
真实性&不可否认性----------->数字签名
与对称加密相比,加解密速度慢,不适合用于加解密大量数据。
解决对称密码体制中密钥安全传递的问题
数字信封:结合了对称密码和公钥密码的优点,只有指定接收方才能阅读“信”的内容。
如果明文数据量大,直接进行签名、验签运算,将因为运算速度慢导致性能差。解决方案:缩短签名的明文长度,提升性能。
量子密钥属于对称密码体系
4、不可否认性:提供阻止用户否认先前的言论或行为的服务。
——[一般通过数字签名实现]
一个基本的信息安全系统至少应包括身份认证、访问控制和审计功能。身份认证是最基本的安全服务,访问控制和审计服务的实现都要依赖于身份认证系统所识别的用户身份。
1、身份认证(Authentication)是证实实体(客户、代理、进程、设备等)与其所声称的身份是否相符的过程,即实体真实性证明。
2、身份认证可以对抗假冒攻击和重放攻击的威胁。
3、身份认证系统通常由认证服务器、认证系统客户端和认证设备组成。
4、身份认证系统主要通过身份认证协议和认证系统软硬件进行实现。
用户所知道的(例如口令)
用户所拥有的(somethingtheuserpossesses)例如智能卡、密钥
用户的特征(somethingtheuserisorhowhe/shebehaves)例如指纹、声音、视网膜、签名、步态
根据需要认证的通信方只对单方认证还是双方互相认证,认证协议可以分为:1、单向认证(只认证服务器端);双向认证(服务器端和客户端都要认证)
生物特征认证主要用于本地认证。
使用二元组信息来表示某用户的身份:<用户账号(用户ID),口令(Password)>
安全风险
窃听风险、离线攻击、在线猜测、重放攻击
缩小口令空间
有规律的数字、任何名字、常用的词、特殊的弱口令。
强口令原则:
长度长度:至少八位
复杂度:同时有字母、数字和特殊符号
随机性:没有任何规律
使用口令管理软件
预计算——构造反查表(彩虹表)
存储——只存关键数据(只存链首链尾)(降低空间代价)
关键思路:定位该哈希值所在的链
1、通过R-H运算链找到与所计算的链尾相同的链尾
2、定位该链后确定对应的链首
3、从链首通过H-R运算链找到明文字串
4、适合并行计算
时空平衡点
R-H运算
明文字串=用户口令
q=H(用户口令)
q=H(用户口令||随机数)
明文字串=(用户口令||随机数)
主要算法:CRYPT/ARGON2/PBKDF
2.选择一个盐值Sq=H(psw,salt)
主要步骤:1.选择一个迭代次数C;2.选择一个盐值S;3.选择产生的哈希值的长度len;4.将口令P,盐值S,迭代次数C和长度len用于PBKDF,产生一个哈希值。
风险:窃听泄露、离线破解、重放攻击、在线猜测
NRV(NonRepeatedValue)非重复值、不确定因子、客户端和服务器共有
P=Truncate(F(K,T))%10^N
F()函数:使用SM3或SM4
Truncate()是截位函数,输出结果长度为32比特
N:显示的口令位数
由服务器产生的随机数字序列(挑战值*)作NRV——无任何同步条件场景
认证(authentication)、记帐(accounting)、审计(audit)
Kerberos采用对称加密体制
在分布式的client/server体系中采用集中密钥分发中心(KDC)来支持用户与应用服务器之间的认证服务
KDC与每一个应用服务器有一个共同的、唯一的对称密钥
1.请求“访问票据许可服务器的票据”(票据许可票据)
2.票据许可票据
3.出示票据许可票据,请求“访问应用服务的票据”
4.服务访问票据
5.出示服务访问票据
涉及的票据
涉及的会话秘钥
口令猜测攻击问题、时钟同步攻击问题、密钥管理问题
WindowsServer系统提供对Kerberos认证的支持,用于实现客户机和服务器之间的认证
Hadoop云计算平台提供对Kerberos认证的支持,用于服务器集群的认证
1、双方需要知道对方的公钥
2、能使用其公钥验签的信息是且仅是相应的唯一私钥签名的,因此持有该私钥的人可以得到身份的认证
3、通过数字签名机制完成身份认证
是持有者在网络上证明自己身份的凭证。是一个经认证机构签名的包含证书所有者公钥等信息的文件。
1、公钥以证书形式发放。
2、证书需经认证机构签名
数字证书的内容中有如下(部分重点)
签名算法标识符:标识用于证书签名的散列函数类型和签名算法类型
有效期:定义证书有效的开始日期和终止日期
颁发者名称:用于标识签发证书的认证机构
使用者信息:证书所认证的与证书中公钥对应的个人或者实体的名字
签名:用CA的私钥加密证书摘要
扩展:在不改变证书格式的前题下,允许证书中编码加入额外的信息
指纹:包括签名的证书信息的摘要值
数字签名保证证书的真实可信
验证证书中CA的数字签名
根CA证书自签名证书信任锚
层级证书结构
逐层颁发
从根证书到用户证书
逐层验证
用证书中的公钥验签下级证书
验证CA签名是否有效验证证书是否失效验证域名是否一致
证书是一个经权威机构数字签名的包含公钥所有者信息及其公钥的文件
它包含了身份信息,因此可以用于证明用户的身份
它包含了公钥,既可用于数据加密,保证通信的机密性;还可用于验签,保护信息的真实性和不可否认性
机密性——公钥加密真实性】完整性】------------->数字签名不可否认性】
1、超出有效期
2、有效期内被撤销(用户身份发生变化;用户私钥丢失、泄漏、怀疑泄漏等;用户擅自将证书用于CA不允许的用途)
1、CRL
证书撤销列表,由证书机构签发的一张无效证书名单(证书黑名单)
定期更新
CRL中列出了被撤销的证书序列号,放于网上供用户查询
2、OCSP
用户客户机形成查询指定证书状态请求,并将请求转发到一个OCSP服务器,服务器查询CA证书库而获得该证书的状态,应答器返回客户机有关证书有效性信息
3、OCSPStaplin
以数字证书为核心元素的电子认证服务,是构建网络信任体系的重要基础,是数字时代的信任基石。
1、利用公钥密码理论和技术来实现信息安全服务的具有通用性的安全基础设施
3、通过数字证书提供机密性、完整性、真实性和不可否认性的安全服务
PKI系统的最核心部件是CA,可以认为PKI的其他部件是依附于CA的
CA对证书的管理:证书的签发和更新证书的作废证书的冻结和解冻证书的查询或下载
CA给用户签发证书的过程:(1)将用户身份、公钥等信息按照特定格式组装成数据D(2)对D进行摘要计算得到摘要值H(3)用CA自己的私钥对H进行签名运算,得到签名值S(4)D+S按照特定格式封装成数字证书
KMC:1、密钥管理中心;2、证书对应的密钥对的管理
RA:注册中心;对用户提供面对面的证书业务服务,如证书申请,身份审核等。
访问控制:限制哪些主体能够以哪种方式访问哪些对象。
访问控制的三要素
主体:发出访问操作、存取要求的主动方。通常可以是用户或代表用户的进程等。
客体:被访问的对象,即,要保护的资源。(文件、系统、网络设备、数据、信息、程序、进程。)
1、访问控制依赖身份认证
身份认证解决——“你是谁,你是否真的是你所声称的身份”(真实性)访问控制解决——“你能做什么”(机密性、完整性、可用性、可控性)
2、身份认证和访问控制不能互相取代
2021年Top1:失效的访问控制。
指的是未对通过身份验证的用户,实施恰当的访问控制。
通常用三元组(S,O,A)进行描述,S表示主体集体,O表示客体集合,A表示访问操作类型集合。
访问控制通过确定函数完成。
:×→2^A
最初实现访问控制机制的概念模型,以二维矩阵来体现主体、客体和访问操作。
访问控制可以很自然的表示成一个矩阵的形式。
实际的系统中虽然可能有很多的主体和客体,但主体和客体之间的关系可能并不多,这样就存在着很多的冗余项。
矩阵的行来表达访问控制信息——访问能力表
矩阵的列来表达访问控制信息——访问控制列表
Cap(John)={(File1{读、写、拥有}),(File3{读、写})}
Cap(Alice)={(File2{读、写、拥有}),(File3{写})}
Cap(Bob)={(File1{读、写}),(File2{读})}
CL是基于行(主体)的访问控制,能力(Capabilities)决定主体是否可以访问客体以及以什么方式访问客体。
以用户为中心建立的访问权限表。
ACL(File1)={(John{拥有、读、写}),(Bob{读、写})}ACL(File2)={(Alice{拥有、读、写}),(Bob{读})}ACL(File3)={(John{读、写}),(Alice{写})}
ACL是基于列(客体)的访问控制,在一个客体上附加一个主体明细表,来表示各个主体对这个客体的访问权限。
以资源为中心建立访问权限表。
ACL是目前采用最多的一种方式。
它可以对特定资源指定任意用户的访问权限,还可以将有相同权限的用户分组,并授予组的访问权。
ACL的优点在于它的表述直观、易于理解,比较容易查出对某一特定资源拥有访问权限的所有用户,有效地实施权限管理。
Linux系统中,文件的权限类型一般包括读(r)、写(w)、执行(x)。权限的属组:拥有者、群组、其它组三种。使用chmod命令修改文件、目录的权限。
1、访问控制策略是一种高级安全需求,它规定如何管理访问,以及谁可以在何种情况下访问哪些资源。例如,自主访问控制策略、强制访问控制策略、基于角色访问控制策略
2、访问控制机制通过转换用户访问请求来实施访问控制策略。
例如,访问控制列表(ACL)、访问能力表(CL)
3、访问控制模型是系统执行的安全策略的形式化表示,是对安全策略所表达的安全需求简单、抽象和无歧义的描述,有助于从理论上证明访问控制系统的正确性与局限性。安全模型为安全系统的设计提供指导。例如,BellLaPadula模型,Biba模型
自主访问控制和强制访问控制属于传统访问控制方式。
该标准将计算机系统的安全程序从高到低划分为A1、B3、B2、B1、C2、C1、D七个等级,每一等级对访问控制都提出了不同的要求。例如,C级要求至少具有自主型访问控制,B级以上要求具有强制型访问控制。
基于角色的访问控制RBAC是20世纪90年代后涌现出的新的访问控制方式。
自主访问控制中,具有访问许可的主体可以依据自己的意愿决定哪些用户可以对他们的资源进行访问,可以直接或者间接地向其他主体进行访问权限的授予与收回。
DAC是目前计算机系统中实现最多的访问控制方式。
常用的Linux、UNIX、Windows操作系统基本都提供自主访问控制的功能。
自主访问控制策略一般采用访问控制列表(ACL)、访问能力表(CL)来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。
ACL,每个客体被绑定一个访问控制列表,记录系统中哪些主体能够以何种方式对它访问。
CL,每个主体被分配一个描述其权限的文件、记录或数据结构,注明了所绑定的主体能够以何种方式对何种客体进行访问
缺点:用户之间可以进行任意的权限传递。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。
强制访问控制中,对所有主体及其所控制的客体(如进程、文件、设备)等实施强制访问控制。
强制访问控制方式中,系统对主体和客体都分配一个特殊的安全属性(也称为安全标签或安全标记),如文件的密级(绝密级、机密级、秘密级或无密级)可以作为文件的安全属性。
用户不能改变自身或任何客体的安全属性,即不允许单个用户确定访问权限,只有系统管理员可确定用户和用户组的访问权限。
系统通过比较主体和客体的安全属性来决定一个主体是否能够访问某个客体。
强制访问控制(MAC)通常会与自主访问控制(DAC)结合使用,实施某些更强的、附加的访问限制。
强制访问控制适用于安全性要求较为严格的应用场景,通常用于多级安全军事系统。
1、特点:将主题和客体分级,根据主体和客体的级别标记来决定访问模式。如,绝密级,机密级,秘密级,无密级。
2、通过分级安全标签实现单向信息流通模式。
上读/下写——(完整性)
下读/上写——(机密性)
1、主要解决面向机密性的访问控制
2、下读,主体安全级别高于等于客体时,允许读
3、上写,主体安全级别低于等于客体时,允许写
BIBA模型,BLP变体
保护数据的完整性
上读,主体安全级别低于等于客体时,允许读
下写,主体安全级别高于等于客体时,允许写
已确定安全保护等级的系统分为第一级、第二级、第三级、第四级和第五级,每一等级对访问控制都提出了不同的要求。
二级实施以用户为基本粒度的自主访问控制
三级实现强制访问控制
在基于角色的访问控制中,用户不是至始至终以同样的注册身份和权限访问系统,而是以一定的角色访问,不同的角色被赋予不同的访问权限,系统的访问控制机制只看到角色,而看不到用户。
用户在访问系统前,经过角色认证而充当相应的角色。
用户获得特定角色后,系统依然可以按照自主访问控制或强制访问控制机制控制角色的访问能力。
RBAC的基本思想是将访问权限分配给指定的角色,用户通过分配不同的角色来获得该角色所拥有的访问权限。
角色是指一个组织或任务中的工作或者位置,它代表了一种权利、资格和责任。
角色与组的区别:
组:用户集角色:用户集+权限集
改变客体的访问权限改变角色的访问权限改变主体所担任的角色
便于角色划分。
便于赋予最小权限原则。
便于职责分离。
便于客体分类。
基于任务的访问控制
分布式基于角色的访问控制
基于信任的访问控制模型基于属性的访问控制模型
基于行为的访问控制模型
自主访问控制模型、强制访问控制模型、基于角色的访问控制模型常用于操作系统、数据库系统的资源访问。
基于任务的访问控制(Task-basedAccessControlModel,TBAC)TBAC模型依工作流中的任务建模,可以根据任务和任务状态的不同,对权限进行动态管理。TBAC模型比较适合分布式计算环境中对信息的访问控制,可在办公和商业领域得到广泛应用。
安全目标跟踪和监测系统中的异常事件(直接)检测系统中其他安全机制的运行情况和可信度(间接)
主要作用对潜在攻击者起到威慑和警示作用对已出现的破坏事件,做出评估并提供依据对系统安全策略进行评价和反馈,以便修订和完善(安全评估)协助发现入侵或潜在的系统漏洞及隐患取证
按照审计分析的对象,可分为2类
主机审计对系统文件、注册表等的文件操作进行记录和审计
网络审计对网络数据流进行记录和分析
按照工作方式的对象,可分为2类
集中式所有收集到的日志记录集中分析审计
分布式分布式进行日志收集和分析审计根据需要将结果上报
从审计级别上可分为3种类型:
应用级审计主要针对的是应用程序的活动信息
用户级审计主要是审计用户的操作活动信息
日志收集和记录1、数据源:主机和网络2、基于主机的数据源(1)操作系统日志(2)系统日志(3)应用程序日志
3、基于网络的数据源(1)网络流量/网络数据包4、其它数据源(1)来自其它安全产品的数据源(2)来自网络设备的数据源
方法基于规则库基于统计基于数据挖掘(关联分析)基于机器学习
4、具备记录活动、并跟踪到对这些活动应负责任的人员的能力(取证、为责任认定提供支撑)
(1)通过对安全事件的收集、积累和分析,可对其中的某些站点或用户进行审计跟踪,以提供发现可能产生破坏性行为的证据(2)可以确定事件和攻击源,用于检查计算机犯罪5、发现违反安全策略的活动、影响运行效率的问题以及程序中的错误
可帮助分析系统状态转移过程
7、是安全审计的高级功能,依赖于审计系统完整、连续的活动记录能力,以及系统对复杂记录的深度挖掘和智能分析能力
8、审计跟踪重点考虑选择记录信息内容确定审计跟踪信息所采用的语法和语义
内容——收集的信息包括
网络信息(如域名、IP地址、网络拓扑)系统信息(如操作系统版本、开放的各种网络服务版本)用户信息(用户标识、共享资源、即时通信账号、邮件账号)等
参考渗透测试执行标准(PTES)
方法——信息收集与获取技术
1、利用搜索引擎等手段;
3、利用NMAP等扫描工具获取目标信息
4、利用社会工程学攻击
任何计算机系统都存在漏洞
漏洞包括缓冲区溢出、操作系统漏洞、网络服务漏洞、网络协议漏洞、配置漏洞等
获取目标系统的一定权限
攻击的手段主要有口令猜测、缓存区溢出攻击、拒绝服务攻击等
目的是在目标系统中安装后门程序,以更加方便、更加隐蔽的方式对目标系统进行操控。
主要方法是利用各种后门程序以及特洛伊木马。
目的是以目标系统为“跳板”,对目标所属网络的其他主机进行攻击,最大程度的扩大影响
由于内部网的攻击避开了防火墙、NAT等网络安全工具的防范,因而更容易实施,也更容易得手
目的是消除一切攻击的痕迹,尽量做到使管理员无法察觉系统已被侵入,并防止被识别、追踪
主要方法是针对目标所采取的安全措施清除各种日志及审核信息
社会工程学是一种利用人的弱点,如人的本能反应、好奇心、信任、贪便宜等弱点,进行诸如欺骗、伤害等危害手段,获取自身利益的手法
扫描技术是进行信息收集的重要技术
扫描器是一种通过收集系统的信息来自动检测远程或本地主机安全性弱点的程序
安全评估工具:系统管理员保障系统安全的有效工具
网络攻击工具:网络入侵者收集信息的重要手段
发现目标主机或网络
发现目标主机后,进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等;如果目标是一个网络,还可以进一步搜集该网络的拓扑结构、路由设备以及各主机的信息
判断或进一步测试系统存在哪些安全漏洞
ping:用来判断远程设备可访问性最常用的方法
ping命令是基于ICMP(InternetControlMessageProtocol)实现的
ping向目标主机发送ICMPEchoRequest数据包,如果主机可达,会回复ICMPEchoReply包
PING扫射,也称为ICMP扫射(ICMPsweep),探测多个主机地址是否处于活动状态
Ping扫射通过向多个目标主机发送ICMPEchoRequest数据包,并等待主机的响应,来判断目标主机是否在线
常用的工具如fping、nmap等
TCP/IP协议上的端口有TCP端口和UDP端口两类。针对TCP端口的扫描方法比较多,主要可分为开放扫描、半开放扫描、秘密扫描等
开放扫描需要扫描方通过三次握手过程与目标主机建立完整的TCP连接,例如TCPCONNET扫描
利用操作系统提供的connect()系统调用进行扫描,扫描器调用socket的connect()函数发起一个正常的连接
如果connect()连接成功,说明目标端口处于监听状态
若连接失败,则说明该端口是关闭的或者被防火墙等过滤
TCPconnect()方法的优点不需要任何特殊权限速度快
TCPconnect()方法的缺点很容易被发觉容易被防火墙过滤掉
也叫半开放式扫描
利用TCP连接三次握手的第一次进行扫描
优点一般不会在目标计算机上留下记录
缺点SYN洪水是一种常见的拒绝服务的攻击方法,许多防火墙和入侵检测系统对SYN包都建立了报警和过滤机制。因此SYN扫描的隐蔽性逐渐下降
必须要有root权限才能构造SYN数据包
秘密扫描不包含标准的TCP三次握手协议的任何部分,例如TCPFIN扫描
向一个远端主机某端口发送只有FIN标志位的TCP数据包如果端口是关闭的,则远程主机丢弃该包,并送回一个RST包;否则,远程主机丢弃该包,不回送
缺点:
在Windows下平台无效,因为WINDOWS系统中无论端口是否开放,总是发送RST包
在通过网络时容易被丢弃从而产生错误的探测信息
优点:
不是TCP建立连接的过程,所以比较隐蔽
通过向目标主机发送应用服务连接或访问目标主机开放的有关服务记录,探测出目标主机的操作系统(包括相应的版本号)
利用TCP/IP协议栈实现上的特点来辨识一个操作系统
不同的操作系统在TCP/IP协议栈的实现上细微的差别构成了操作系统的栈指纹
寻找不同操作系统之间在处理网络数据包上的差异,并且把足够多的差异组合起来,识别出一个系统的OS版本
操作系统的信息还可以与其他信息结合起来,比如漏洞库
利用TCP/IP协议栈实现上的特点来辨识一个操作系统。通过研究其对各种探测的响应形成识别指纹,进而识别目标主机运行的操作系统
各种操作系统的协议栈的实现存在细微的差异。这些差异称作网络协议栈的“指纹”
对TCP协议族来说,这些差异通常表现在数据包头的标志字段中。如windowsize、ACK序号、TTL等的不同取值。通过对这些差别进行归纳和总结,可以比较准确地识别出远程系统的OS类型
1、通过采用一定的技术主动地发现系统中的安全漏洞,如,操作系统漏洞、弱口令用户、应用程序漏洞、配置错误等
(1)对未知漏洞的检测。目的在于发现软件系统中可能存在但尚未发现的漏洞
(2)对已知漏洞的检测。主要通过采用模拟黑客攻击的方式对目标可能存在的安全漏洞进行逐项检测来检测系统是否存在已公布的安全漏洞
2、漏洞扫描技术是建立在端口扫描技术和操作系统识别技术的基础之上的,主要方法:
(1)特征匹配方法(2)插件技术
系统漏洞扫描
特定服务的漏洞扫描
Web服务数据库服务Mail服务
网络及管理设备漏洞扫描
路由器交换机
人为管理漏洞扫描
弱口令错误配置
信息泄漏漏洞扫描
用户信息共享信息
嗅探器是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具,可以用来进行网络监听
也称为协议分析仪或协议分析程序
网络管理工具。使网络管理员了解网络状况和分析网络的流量,以便找出所关心的网络中潜在的问题
被动攻击工具。监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击,截获用户敏感信息
软件嗅探器
如,Wireshark、NetXray、Packetboy、Netmonitor等
硬件嗅探器
通常称为协议分析仪,一般都是商业性的,价格较贵
能够捕获口令、机密的或者专用的信息
如果嗅探器运行在路由器,或有路由器功能的主机上,就能对大量的数据进行监控
网卡是网络中主机接收发送数据的硬件设备。网卡完成收发数据包的工作
网卡的MAC地址(48位)
通过ARP来解析MAC与IP地址的转换
用ipconfig可以查看MAC地址
网卡对于数据的接收有四种模式:
广播模式:该模式下的网卡能够接收网络中的广播数据。MAC地址是0Xffffff的帧为广播帧
组播模式:该模式下的网卡能够接收组播数据。组播的地址是保留的D类地址从224.0.0.0—239.255.255.255
直接模式:在这种模式下,只有匹配目的MAC地址的网卡才能接收该数据
混杂模式:在这种模式下,不管数据帧中的目的MAC地址是否与自己的MAC地址匹配,都接收下来
正常情况下,网卡应该只接收这样的包
MAC地址与自己相匹配的数据帧广播包
网络嗅探器利用以太网的特性把网卡置为混杂模式状态
一旦网卡设置为这种模式,网络嗅探器就能接收经过它的每一个数据包
通过网络的所有数据包发往每一个主机最常见的是通过HUB连接起来的子网
通过交换机连接网络由交换机构造一个“MAC地址-端口”映射表发送包的时候,只发到特定的端口上
在交换网络下若想实现网络嗅探,需要使用ARP欺骗技术
方法一:数据加密。使得嗅探器得不到明文数据
方法二:使用安全的拓扑结构——分段技术。(交换机、路由器、网桥)
攻击者试图获得其他人口令而采取的攻击
口令攻击的分类
针对客户端的口令攻击
针对传输过程的口令攻击
针对服务器端的口令攻击
在线主动攻击
针对加密的口令文件或口令数据包的口令破解攻击
离线主动攻击
例如,unix的口令文件、WiFi接入的握手数据包、拖库攻击得到的用户口令散列值等
猜测——基于候选口令尝试猜测
穷举
一般是指穷举口令的字符空间
口令穷举非常耗时耗力
字典
使用口令空间中的一个小集合进行尝试
被选中的所有口令构成了字典
撞库
1、网络传输过程
(1)检测监听——antisniffer、antiarp(2)防止监听
建立交换网络、使用加密技术、使用一次性口令防范在线密码猜测攻击
2、服务器端
(1)及时修复漏洞
(2)安全编程
普通用户与系统管理员用户的权限要有严格的区分加强对用户输入的验证必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点
(3)采用高强度口令存储机制
(4)管理员提高安全意识,抵抗社工攻击
(5)具备审计日志3、客户端——使用相对安全的口令
(1)加强口令强度(长口令、强口令、个人信息无关口令)
(2)不在不同系统上使用同一口令,抵抗撞库攻击
(3)防范窥探:不将口令写下来/不让他人看见自己输入口令
在局域网内,数据传输是通过MAC地址实现的。IP地址与MAC地址的映射依赖ARP缓存表。但ARP缓存表的实现不具备任何认证机制
在没有主机发送ARP请求的情况下,任何主机都可以发送ARP应答数据报。而且,这将导致源主机内ARP缓存表的非法更新
利用ARP欺骗实现网页劫持
截获、修改Web服务器发送给客户机的Web页面,达到窃听、篡改的目的
客户端网页劫持
服务器端网页劫持
IP欺骗是利用不同主机之间的信任关系而进行欺骗攻击的一种手段,这种信任关系以IP地址验证为基础
IP欺骗通过IP地址使得某台主机能够伪装成另外一台主机,从而骗取对目标主机的访问权限,入侵目标主机
IP数据包在进行路由、接收和处理时,路由器、目标主机都不对源IP地址的合法性进行判断,而TCP/IP协议栈在发送数据时,又允许用户修改IP报文的头部。这样,通过修改IP源地址,就可以达到欺骗的目的。
种类
单向攻击
源路由攻击
TCP会话劫持
单向攻击:攻击者使用假冒的IP地址向一台机器发送数据包,但不会收到任何返回的数据包
源路由攻击:利用IP数据报的源路由选项机制来控制数据报转发路径,进而实现会话监听
137——严格的源站选择131——宽松的源站选择
会话劫持(SessionHijack)是指在一次正常的通信中,攻击者作为第三方参与其中,它可以对会话进行监听,也可以将恶意数据插入到会话流中,甚至可以取代某一方接管会话
会话劫持不仅可以实现监听,而且攻击者可以绕过身份认证
TCP序列号猜测技术
域名解析原理
域名可以划分为各个子域名,子域名还可以继续划分为子域名的子域,这样就会出现顶级域名、二级域名、三级域名等
域名是分层结构,域名服务器也是对应的层级结构
域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机
1.每个层的域名都有自己的域名服务器,最顶级的是根域名服务器。2.每一级域名服务器都知道下级域名服务器的IP地址。3.为了容灾,每一级至少设置两个或以上的域名服务器
Cookie
两类
会话cookie:保存在内存,当浏览器的会话关闭之后目动消失
Web常用技术之一
针对ARP欺骗IP和MAC绑定网关信息设置成静态ARP
针对IP欺骗禁止使用源路由使用IPSec等安全协议
针对DNS欺骗DNS流量加密直接访问IP
漏洞软件、硬件、协议设计与实现中存在的缺陷。软件漏洞类型有很多种,最典型如缓冲区溢出漏洞、格式化字符串漏洞、堆溢出漏洞等。
漏洞利用(exploit)利用软件中存在的某些漏洞来获取计算机系统的控制权。利用缓冲区溢出可以轻而易举地获得root权限,具有非常大的威胁性。
在当前网络与分布式系统安全攻击中,被广泛利用的漏洞中很多都是缓冲区溢出漏洞。
缓冲区溢出,BufferOverflow
向缓冲区中填入过多的数据,超出边界
导致数据溢出,覆盖了相邻的内存空间
在用户进程空间(图中programdata)中,又分为三个段:程序段区域、数据段区域、堆栈段区域1、程序段区域用于放置程序代码2、数据段区域放置静态全局变量3、堆栈区用于存放函数参数、函数返回值、函数返回地址、局部动态变量
栈是一种后进先出的数据结构。
栈用于保存函数的参数和函数返回值,为函数中使用的局部变量动态分配空间。
函数调用时,完成如下操作:1.函数参数入栈2.指令寄存器(EIP)中的内容作为返回地址入栈3.压入调用者的基址寄存器(EBP)4.MovEBP,ESP5.为函数内本地变量分配空间
指针和数组越界不保护是缓冲区溢出的根源
在C语言标准库中有许多会造成溢出的函数,如strcat(),strcpy(),strncpy(),sprintf(),scanf(),bcopy(),gets()等
根据缓冲区溢出的特点,主要考虑四种基本方法来保护计算机内存缓冲区免受攻击和影响:
正确地编写代码使缓冲区成为非执行的缓冲区利用编译器的边界检查来实现缓冲区的保护程序指针完整性检查
同步泛滥(SYNflooding),这是一种分布式拒绝服务攻击(DDoS)。就是通过大量的虚假IP地址,建立不完整连接,使服务超载,从而不能提供正常的服务。”
域名劫持通过攻击域名解析服务器(DNS),把目标网站域名解析到错误的地址而达到无法访问目标网站的目的。
DoS(DenialofService)攻击是利用TCP/IP协议中的弱点或者系统中的漏洞,对目标发起攻击,使得提供服务资源的目标主机出现错误或资源耗尽,从而让目标主机停止提供服务或资源访问的一种攻击手段。
在目标系统或网络实施的安全措施很完善的时候,攻击者可能会发起DoS攻击。
目前,从所有网络攻击的方法和效果来看,DoS攻击是一种直接而又有效的攻击方式。
分布式拒绝服务攻击是拒绝服务攻击的一种演变。
攻击者控制多台机器同时向一个目标主机或网络发起攻击,导致目标主机不能提供正常的服务或网络瘫痪。
特点:
3、会过渡地利用网络资源
4、拒绝合法用户访问在线资源。
5、洪水般的攻击包堵塞住企业与互联网的全部连接。
6、终端客户的内部设备都不能有效抵御这种攻击。
特点:
1、SYN_RECV状态
2、半开连接队列遍历,消耗CPU和内存SYN|ACK重试SYNTimeout:30秒~2分钟
3、无暇理睬正常的连接请求—拒绝服务
1、大量UDP冲击服务器
2、目标主机带宽消耗
3、UDPFlood流量不仅仅影响服务器,还会对整个传输链路造成阻塞
4、对于需要维持会话表的网络设备,比如防火墙、IPS、负载均衡器等具备非常严重的杀伤力
特点
1、针对同一目标的ICMP包在一侧大量出现
2、内容和大小都比较固定
CC:ChallengeCollapsar
1、利用代理服务器向受害者发起大量HTTPGet请求2、主要请求动态页面,涉及到数据库访问操作3、数据库负载以及数据库连接池负载极高,无法响应正常请求
借助现网百万级甚至千万级开放服务器的反射及放大作用,以极小的攻击资源轻松形成几百G甚至上T的攻击带宽
1、T级攻击时代到来,超500Gbps攻击异常活跃
2、攻击包速率呈大幅上升趋势,防御成本明显提升
超500Gbps攻击:2018年94次,2019年1468次;全年平均每天发生4次超500Gbps攻击
3、攻击手法多样,威胁范围扩大多种攻击混合多种新型UDP反射被挖掘
4、攻击具有很强的持久性特点,受攻击IP会持续遭受攻击5、恶意竞争依然是主要攻击动机6、攻击资源具有明显的共享性攻击服务化同一攻击手法会在不同地域数据中心交替出现
开源BGP(BorderGatewayProtocol,边界网关协议)CDN(ContentDeliveryNetwork,内容分发网络)
限流过滤限速流量识别流量清洗
完全抵挡住分布式拒绝服务攻击比较困难,可以应用各种安全和保护策略来尽量减少因受到攻击所造成的损失:
得到ISP的协助和合作分布式拒绝服务攻击主要是耗用带宽,如果单凭自己管理网络是无法对付这些攻击的。与ISP协商,确保对方同意帮助实施正确的路由访问控制策略以保护带宽和内部网络
优化路由和网络结构
例如,为了防止SYNflood攻击,应设置TCP监听功能。另外,禁止网络不用的UDP和ICMP包通过,尤其是不应该允许出站ICMP“不可到达”的消息
对所有可能成为目标的主机都进行优化,禁止所有不必要的服务
例如,使用多IP地址技术
正在遭到攻击时,必须立刻采取对应策略
尽可能迅速地阻止攻击数据包,如果发现这些数据包来自某些ISP时应尽快和他们取得联系
系统管理员应该经常检查服务器的配置和安全问题,及时更新最新的软件版本,只运行必要的服务
安装防火墙,禁止访问不该访问的服务端口,过滤不正常的畸形数据包,使用NAT隐藏内部网络结构
安装入侵检测系统,检测拒绝服务攻击行为
抗拒绝服务系统基本功能
作为网络边界的第一道闸门,对各种危害网络的流量型攻击有效过滤
对于应用层的各种协议端口进行控制和保护,如:FTP、POP3、SMTP、SSH
多种针对特殊应用的攻击防护模块,如:WEB防护模块,DNS防护模块,语音聊天室防护模块,游戏防护模块
基于三层的流量控制,对于进出流量进行合理分配
自定义数据包过滤规则,包括数据包内端口,协议、标志位、关键字
可对进出数据包进行实时捕获
APT,AdvancedPersistentThreat,高级持续性渗透攻击
黑客透过一些公开的数据源(LinkedIn、Facebook等等)搜寻和锁定特定人员并加以研究,然后开发出客制化攻击
这个阶段是黑客信息收集阶段,其可以通过搜索引擎,配合诸如爬网系统,在网上搜索需要的信息,并通过过滤方式筛选自己所需要的信息
黑客在确定好攻击目标后,将会通过各种方式来试图突破攻击目标的防线
常见的渗透突破的方法包括:电子邮件;即时通信;网站挂马;通过社会工程学手段欺骗企业内部员工下载或执行包含零日漏洞的恶意软件(一般安全软件还无法检测),软件运行之后即建立了后门,等待黑客下一步操作
幕后操纵(Command&Control,C&C)服务器是黑客用来操纵受感染计算机与恶意软件以对网络发动后续攻击的外部主机
黑客在感染或控制一定数量的计算机之后,为了保证程序能够不被安全软件检测和查杀,会建立命令,控制及更新服务器(C&C服务器),对自身的恶意软件进行版本升级,以达到免杀效果
一旦时机成熟,还可以通过这些服务器下达指令
C&C服务器会采用动态迁移方式来规避企业的封锁
黑客会定期对程序进行检查,确认是否免杀,只有当程序被安全软件检测到时,才会进行版本更新,降低被IDS/IPS发现的概率;
黑客入侵之后,会尝试通过各种手段进一步入侵企业内部的其他计算机,同时尽量提高自己的权限
黑客入侵主要利用系统漏洞方式进行
在入侵过程中可能会留下一些审计报错信息,但是这些信息一般会被忽略
在入侵进行到一定程度后,黑客就可以接触到一些敏感信息,可通过C&C服务器下发资料发掘指令
采用端口扫描方式获取有价值的服务器或设备
通过列表命令,获取计算机上的文档列表或程列表
加强员工安全意识以及建议相应信息防护规章制度
针对黑客的首次突破,可采用以下方式进行防御寻找遭到渗透的迹象
(1)寻到遭到渗透的对象
多数APT攻击都是使用鱼叉式网络钓鱼。因此,检查看看是否有遭到窜改和注入恶意代码的电子邮件附件。检查一下这些邮件,就能看出黑客是否正尝试进行渗透。可通过安全邮件网关来对外来邮件进行检查和识别
(2)安全弱点评估
发掘并修补对外网站应用程序和服务的漏洞
(3)内部教育
教育员工有关鱼叉式网络钓鱼的攻击手法,要员工小心可疑电子邮件、小心电子邮件内随附的链接与附件档案
针对存在的幕后操纵通讯,可采用以下措施进行检测和防御
(1)、监测网络流量是否出现幕后操纵通讯
建置一些可掌握恶意软件与幕后操纵服务器通讯的网络安全控管措施,有助于企业发掘遭到入侵的主机,并且切断这类通讯
(2)、识别判断攻击者幕后操纵服务器的通讯
企业可在沙盒隔离环境(sandbox)当中分析内嵌恶意软件的文件(如鱼叉式网络钓鱼电子邮件的附件)来判断幕后操纵服务器的IP地址和网域
(3)、更新网关安全政策拦截幕后通讯
一旦找出幕后操纵服务器的网域和IP地址,就可更新网关的安全政策来拦截后续的幕后操纵通讯
可采取以下措施进行防护
(1)、漏洞防护
漏洞防护是一种主机式技术,能侦测任何针对主机漏洞的攻击并加以拦截,进而保护未修补的主机。这类解决方案可保护未套用修补程序的主机,防止已知和零时差(zero-day)漏洞攻击
(2)、档案/系统一致性监控
黑客有可能留下一些蛛丝马迹,如果系统安装了能够侦测可疑与异常系统与组态变更的一致性监控软件,黑客有可能也会触动一些警示
(3)、限制并监控使用者存取与权限的使用
黑客常用的一种手法是,搜集技术支持系统管理员的登入信息,因为他们经常要权限较高的账号来登入出现问题的端点系统/主机。将系统管理员的访问权限与关键系统/数据的访问权限分开,能有效预防黑客透过端点上的键盘侧录程序搜集高权限的账号登入信息
(4)、运用安全信息与事件管理(SecurityInformation&EventsManagement,简称SIEM)工具来辅助记录文件/事件分析
对网络上的事件进行交叉关联分析,有助于企业发掘潜在的黑客渗透与横向移动行为。单一事件或个案本身虽不具太大意义。但如果数量一多,就可能是问题的征兆
针对APT对内部资料进行挖掘和探测的防御,可采用以下防护措施
运用安全信息与事件管理(SIEM)工具来辅助记录文件/事件分析
漏洞防护
档案/系统一致性监控
(1)加密和资料外泄防护(DLP)
将关键、敏感、机密的数据加密,是降低数据外泄风险的一种方法DLP可提供一层额外的防护来防止数据外泄。然而,这类工具通常很复杂,而且有些部署条件,例如:数据要分类,要定义政策和规则
(2)事件管理制度建立
在《信息保障技术框架》(IATF)定义了区域边界是信息系统的一个门户(包括逻辑上、物理上的),是区域与外部网络发生信息交换的部分。
从信息系统的安全保护的角度来看,区域边界是一个控制点。
连接不同安全级别的网络之间的边界就称为网络边界。
企业网络的常见边界包括:企业内部网络与外部网络之间企业部门之间重要部门与其它部门之间分公司与分公司(或总部)之间
1、防火墙是不同网络区域互联时最初的安全网关,其作用就是建立网络的“城门”,控制进入网络的必经通道。2、防火墙的主要缺点是不能对应用层进行识别,无法防范隐藏在应用层中的病毒和恶意程序。
1、多重安全网关,也称统一威胁管理(UnifiedThreatManagement,UTM)网关。2、UTM网关将多种安全特性集成于一个硬件设备里,构成一个标准的统一管理平台,提供网络防火墙、网络入侵检测/防御和防病毒等一项或多项安全功能。3、UTM网关能够防御的攻击比防火墙多。但是,UTM安全设备在性能、稳定性、安全性等方面普遍弱于单一功能的安全设备。
内网与外网不直接建立连接。
网闸在两个不同的安全域之间,通过协议转换的手段,以信息摆渡的方式实现数据交换,且只有被系统明确要求传输的信息才可以通过。
安全隔离网闸从物理上隔离、阻断了具有潜在攻击可能的一切连接。
安全隔离网闸难以保证数据传输的实时性和传输效率。无法防御某些应用层攻击。
网闸产品例如:天融信网闸、启明星辰网闸等。
虚拟专用网,(VirtualPrivateNetwork,VPN)提供一种在公共网络上建立专用数据通道的技术。
虚拟专用网是对企业内部网的扩展,通过它可以帮助分支机构、远程用户与企业内部网建立可信的安全连接,实现网络安全保密通信。
一种高级访问控制设备,是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合,用于加强网络之间访问控制。
串口:可对防火墙进行初始化的配置
防火墙在执行时一般依据以下两个基本准则。
一切未被允许的就是禁止的。基于该准则,防火墙封锁所有信息流,然后对用户需要的服务逐项开放。例如,Windows防火墙的默认入站规则。
一切未被禁止的就是允许的。基于该准则,防火墙转发所有信息流,然后逐项屏蔽可能有害的服务。例如,Windows防火墙的默认出站规则。
SQL注入攻击防不住
1、防火墙无法防范不通过防火墙的攻击。2、防火墙很难防范来自内部的恶意用户和缺乏安全意识的用户带来的安全威胁。3、防火墙不能防止传送已感染病毒的软件或文件。4、防火墙无法防范数据驱动型的攻击。5、防火墙对用户不完全透明,可能带来传输延迟、瓶颈及单点失效等不良影响。
2、包过滤可以控制站点与站点、站点与网络、网络与网络之间的相互访问,但无法根据传输数据的内容进行过滤
3、过滤依据防火墙系统内设置的过滤规则表,只有满足过滤规则的数据包才被转发至相应的目的地址,其余的数据包则被丢弃
包过滤模块可以检查数据包中的所有信息,一般是网络层的IP头和TCP、UDP、ICMP头中的数据
优点简单快速对用户透明,不需安装特定的软件很多路由器可以用于进行数据包过滤,因此无须专门添加设备
缺点对信息处理能力有限,只能访问包头中的部分信息,不能理解通信的上下文过滤规则增多时维护困难,规则之间的包含冲突关系复杂,配置难于检验对于采用动态分配端口的服务很难进行有效的过滤
1、主要工作在网络层和传输层,也称为“动态包过滤技术”
2、基于连接的状态检测机制,将属于同一个连接的所有包作为一个整体的数据流看待,建立连接状态表,并对该表进行维护,通过规则表和状态表的共同配合,动态地决定数据包是否能够通过
3、根据连接的状态进行检查,当一个初始数据的报文到达防火墙时,首先检查该报文是否符合安全过滤规则的规定
如果符合,将这条连接记录下来并且添加允许这条连接通过的过滤规则,之后向目的地址转发报文。以后凡是属于这个连接的数据防火墙一律通过(双向的)。在通信结束后,防火墙将自动删除关于这条连接的过滤规则
优点
操作简单执行效率高安全性高于静态包过滤
缺点不能对应用层数据进行过滤
1、工作在应用层,也称为“应用层代理技术”
2、运行在防火墙主机上的专门的应用程序或服务器程序,这些程序根据安全策略处理用户对网络服务的请求
3、位于内部网络和外部网络之间,处理其间的通信以替代相互直接的通信
4、当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器检验数据合法性。如果合法,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机
5、从客户机来看,代理服务器相当于一台真正的服务器;从服务器来看,代理服务器仅是一台客户机
6、代理服务器本身由一组以特定应用分类的代理服务器和身份验证服务器组成
每个代理服务器本身具有一定的入侵免疫和审计功能,可与身份验证服务器一起完成访问控制和操作级的控制
例如,某个用户只能用FTP接收数据而不能发送数据
优点将内外网完全隔离,安全性好可进行用户身份认证可分析数据包内部的应用命令
缺点对于每一种应用服务都必须为其设计一个代理软件模块来进行安全控制,而每一种网络应用服务的安全问题各不相同,难以分析,因此也难以实现
1、防火墙不能防止通向站点的后门
2、防火墙一般不提供对内部的保护
3、防火墙无法防范数据驱动型的攻击
4、防火墙不能防止用户由Internet上下载被病毒感染的计算机程序或者将该类程序附在电子邮件上传输
形象地说,IDS就是智能的监控设备,它能够捕获并记录网络上的所有数据,分析并提炼出可疑的、异常的内容,尤其是它能够洞察一些巧妙的伪装,抓住内容的实质。此外,它还能够对入侵行为自动地进行响应:报警、阻断连接、关闭道路(与防火墙联动)
1、入侵检测
(1)指对入侵行为的发觉
(2)通过在计算机网络或计算机系统中的若干关键点收集信息并对收集到的信息进行分析,从而判断网络或系统中是否有违反安全策略的行为和被攻击的迹
2、IntrusionDetectionSystem,IDS
完成入侵检测功能的软件、硬件及其组合
IDS是网络管理员经验积累的一种体现,极大地减轻了网络管理员的负担,降低了对网络管理员的技术要求,提高了网络安全管理的效率和准确性
3、需要解决三方面的问题
(1)采集网络和系统中的数据,提取描述网络和系统行为的特征(数据采集)
系统和网络的日志文件、目录和文件中的异常改变、程序执行中的异常行为、物理形式的入侵信息
(2)判断网络和系统行为的性质(分析检测)
模式匹配、统计分析、完整性分析
(3)对入侵行为提供响应手段(响应)
主动响应、被动响应
基于主机的入侵检测系统(HIDS)基于网络的入侵检测系统(NIDS)
1、运行于被检测的主机之上,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理
2、监测的资源主要包括:文件、进程、系统日志、注册表等
3、实现方式:通过主机代理(agent)来实现,代理是运行在目标主机上的小的可执行程序,它们与控制台(console)通信。
通过在网络上对通信数据的侦听采集数据,分析可疑现象
不需要主机提供严格的审计,对主机资源消耗少,并可以提供对网络通用的保护而无需顾及异构主机的不同架构
实现方式:往往将一台机器(网络传感器)的一个网卡设于混杂模式,监听所有本网段内的数据包并进行事件收集和分析、执行响应策略以及与控制台通信
NIDS的主要优点有
成本低攻击者转移证据很困难实时检测和应答能够检测未成功的攻击企图操作系统独立
HIDS的主要优势有非常适用于加密和交换环境实时检测和应答不需要额外的硬件深度分析对网络流量不敏感
根据识别入侵行为所采用的的技术,分为
误用检测(MisuseDetection)——基于知识(特征)的检测1、收集非正常操作(入侵)行为的特征,建立误用模式特征库2、后续检测中,将收集到的数据与特征库中的特征代码进行比较,得出是否有入侵行为
异常检测(AnomalyDetection)——基于行为的检测1、总结正常操作应该具有的特征,得出正常操作的模型2、对后续的操作进行监视,一旦发现偏离正常操作模式,即进行报警
1、前提:所有的入侵行为都有可被检测到的特征
2、攻击特征库:当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵
3、过程监控特征提取匹配判定
4、指标:误报低、漏报高
5、只能检测已知的攻击。
入侵检测引擎捕获到一个协议数据包,提交给协议分析模块,发现这是一个IP->TCP->Http的协议数据,将其提交给HTTP协议的数据分析模块。
1、Http请求如下Get/scripts/..%c1%9c../winnt/system32/cmd.exe/c+dir+C:
2、入侵检测系统存在如下特征条件alerttcp$EXTERNAL_NETany->$HTTP_SERVERS80(msg:"WEB-IISscriptsaccess";flow:to_server;urlcontent:"/scripts/";nocase;classtype:web-application-activity;)
3、匹配成功,表明这是一个攻击数据包。
4、数据分析模块很快通知引擎管理模块,引擎管理模块根据用户的配置作出相应的策略,比如会立即发出Alert:WEB-IISscriptsaccess,表明黑客试图通过IIS的unicode漏洞进行网络入侵。
如果正常的用户行为与入侵特征匹配,则系统会发生误报
如果没有特征能与某种新的攻击行为匹配,则系统会发生漏报
1、前提:入侵是异常活动的子集
2、用户轮廓(Profile):通常定义为各种行为参数及其阀值的集合,用于描述正常行为范围;检查实际用户行为和系统的运行情况是否偏离预设的门限?
3、过程:监控量化比较判定↓修正
4、指标:漏报率低,误报率高
5、可以检测未知的攻击
实例一:暴力攻击Mail服务
通过提交上千次相同命令,来实施对POP3服务器的拒绝服务攻击.入侵检测系统发现该行为发生次数超过预定义阈值,认为是异常事件。
实例二:暴力破解FTP账号密码
可能是什么攻击?
源地址一直在变,SYN攻击。利用什么服务?
使用哪种入侵检测技术?为什么?
某局域网如图所示,其中:1号设备是路由器,4号设备是交换机,5和6号设备是DMZ区服务器,7、8和9号设备是个人计算机。请回答下列问题:
(1)2号和3号设备中,哪个设备是防火墙?哪个设备是交换机?
2号是防火墙,3号是交换机(防火墙要放在网络边界)
(2)若可以选择两个位置部署网络入侵检测系统(NIDS),请指出两套NIDS应该部署的位置(在图中标明),并说明这两个位置NIDS的作用
入侵检测系统无法直接阻断通信,性能要求高,内存等,如果直接放在外内连接处,内外通信的性能受影响,延迟大。并行结构下,如果崩溃了也不会影响通信过程。
放在3、4号设备,两边的攻击都可以被观测到。
数据包的封装
TCP/IP协议没有验证通信双方真实性的能力,缺乏有效的认证机制。
TCP/IP协议没有能力保护网上数据的隐私性,缺乏保密机制。
TCP/IP协议自身设计的某些细节和实现中的一些安全漏洞,容易引发各种安全攻击。
窃取:TCP/IP协议数据流采用明文传输,因此数据信息很容易被在线窃听、篡改和伪造。
欺骗:欺骗(Spoofing)可发生在IP系统的所有层次上,物理层、数据链路层、IP层、传输层及应用层都容易受到影响。
IP地址欺骗
针对IP协议的攻击——源路由选项攻击针对ARP协议的攻击——ARP欺骗攻击针对TCP协议的攻击——TCP序列号欺骗攻击针对DNS协议的攻击——DNS欺骗攻击
网络安全协议是基于密码学的通信协议,通过信息的安全交换来实现某种安全目的所共同约定的逻辑操作规则。
安全协议的研究目标都与安全性有关,例如,认证主体的身份;在主体之间分配会话密钥;实现机密性、完整性、不可否认性、可用性等。
链路级安全
例如,大型网络通信中心之间可以采取这类技术保护它们之间的数据传输
PPTP(PointtoPointTunnelingProtocol,点到点隧道协议)。在公用TCP/IP网络上使用PPP(PointtoPointProtocol,点对点协议)生成和维护隧道。典型的PPP应用是远程网络连接。PPTP可以实现认证和加密。
二层隧道协议(L2TP)。目前,L2TP通常被应用在虚拟专用网的实现中。
网络层安全协议是在网络层对数据进行加密和认证的协议。
网络层的安全协议可用来在Internet上建立安全的IP通道和虚拟专用网。
IPSec协议
传输层安全协议在传输层上提供实现保密、认证和完整性。
TLS/SSL协议
应用层安全协议为不同网络应用提供认证、机密性、完整性等方面的安全保护。
SSH、SHTTP、SET、Kerberos、PGP等安全协议。
IPSec在网络层提供安全服务。
IPSec提供了数据机密性、完整性、认证和抗重放攻击等安全服务。
AH协议,AuthenticationHeader,认证头协议
AH协议为IP数据包提供如下三种服务:
(1)数据完整性
通过哈希函数产生的校验值来保证
(2)数据源认证
通过在计算MAC值时加入一个共享密钥来实现(HMAC)
(3)防重放攻击
NextHeader:8比特,认证头下一个报头(负载的类型)的类型PayloadLength:8比特,AH的长度(32位为单位),默认值为4SPI(安全参数索引):32比特,用来标识SASequenceNumber:32比特,用来避免重放攻击AuthenticationData:可变长度的域
ESP协议,EncapsulatingSecurityPayload,封装安全负载协议
ESP协议为IP数据包提供如下安全服务
数据源认证数据完整性数据机密性防御报文重发
ESP协议功能更为强大,提供AH不具备的机密性服务。
都提供认证服务时,ESP协议只认证ESP头之后的信息,覆盖范围较AH窄;而AH还要对外部IP包头各部分进行认证。
IPSec协议中的密钥管理包括密钥的确定和分发。
两种方式:
手工的:小型系统、管理员配置完成自动的:大型系统,为SA创建密钥,由IKE协议支持
IKE协议,InternetKeyExchange,互联网密钥交换协议
应用层协议,基于UDP,使用端口500
采用Internet安全关联和密钥管理协议(ISAKMP,InternetSecurityAssociationandKeyManagementProtocol)定义的框架,同时借鉴了Oakley密钥确定协议(OakleyKeyDeterminationProtocal)的一部分。
IKE作用:在IPSec通信双方之间,建立起共享安全参数及验证过的密钥(建立SA)。
IKE代表IPSec对SA进行协商,并对SADB数据库进行填充。
传输模式(transportmode)
传输模式主要用于对上层协议的保护,即将其保护推广到IP数据报的负载。
典型地用于主机到主机间的VPN通信。
隧道模式(tunnelmode)
隧道模式用于对整个IP数据报的保护,它是将一个数据报用一个新的数据报包装,即给原数据报加一个新的报头。
用于安全网关与安全网关间,或者远程主机到安全网关之间建立安全信道。
传输模式,仅适用于主机实现
即使内网中的其它用户,也不能理解或篡改IPSec通信
各终端主机分担了IPSec处理负荷,避免了IPSec处理中的瓶颈问
不能实现对端用户的透明服务
隧道模式,适用于路由器、安全网关实现
子网内部的各主机可借助于安全网关得到透明的安全服务
隐藏子网的拓扑结构
子网内可使用私有IP地址
IPSec集中在路由器或网关,容易形成通信的瓶颈
内部的诸多安全问题(如篡改)不可控
1、SSL,安全套接字层,SecureSocketLayer
2、工作于可靠的传输层协议和应用层协议之间
3、主要用于支持HTTP服务(端口号443)
4、也可支持任何应用层协议,如SMTP(端口号465)、POP(端口号995)
5、提供可靠的端到端安全服务
机密性——3DES、IDEA等对称加密算法
完整性——HMAC
身份认证——X.509v3数字证书
6、由协商过程和通信过程组成
协商过程用于确定加密机制和算法、交换会话密钥、服务器认证以及可选的客户端认证
通信过程秘密传送上层数据
7、通信步骤
(1)建立TCP“连接”
(2)SSL握手,建立SSL“会话”(Session)协商、认证身份
(3)通过“会话”安全传送数据包机密性、完整性
(4)释放连接,“会话”过期
TLS握手协议使得服务器和客户能相互认证对方的身份、协商加密和MAC算法以及用来保护在TLS记录中应用协议数据的会话密钥
客户端和服务器只要建立连接,就必须进行握手过程
握手协议可分为4个阶段:(1)建立安全能力,包括协议版本、会话ID、密码算法、压缩方法和初始随机数等(2)服务器认证和密钥交换(3)客户端认证和密钥交换(4)结束,这个阶段完成安全连接的建立
Client_hello:client产生的随机数客户端使用的ssl版本号、支持的密码套件信息支持的压缩方法列表等
Server_hello:从客户端列表中选出密码套件和压缩算法服务器端产生的随机数服务器端使用的ssl版本号等
Certificate:由可信CA签发的X.509证书,包括服务器的信息和公钥,客户端可以使用这个公钥向服务器发送加密信息
Server_key_exchange服务器端根据需要发送计算,预主密钥的随机数及相应的签名等信息
certificate_request:客户端证书是可选的
Server_hello_done完成通信,等待客户端应答
Certificate:客户的X.509证书。
client_key_exchange:随机数,用于会话密钥的建立
certificate_verify:若用户提供了证书,将用私钥对信息签名
Change_cipher_spec表示将使用选定的密码算法和参数处理将来的通信但是客户端不需要将密钥告诉服务器,因为服务器可使用前面的随机数和算法计算出同样的密钥
Finished:使用算出的会话密钥对发送过的消息的摘要进行处理
Change_cipher_spec:向客户端显示它也将使用与客户端相同的参数,加密将来所有的通信
Finished:使用会话密钥加密发送过的消息的摘要
ChangeCipherSpecProtocol
用来将挂起状态转至当前状态,将这一连接将要使用的密码组件修改为刚刚协商好的
共1个字节,取值固定为1
面向连接的可靠传输协议
所有发送和接收数据的封装都靠记录协议
提供的功能:保密性:利用握手协议协商的共享密钥对数据进行加密完整性:利用握手协议协商的MAC密钥生成数据的校验码
AlertProtocol,当握手过程或数据加密等操作出错误或发生异常情况时,向对方发出警告或中止当前连接
共2个字节第一个字节的取值表示警告的类型:1:warning,警告型2:fatal,致命型SSL将立即关闭本连接,本会话的其它连接可以继续,但不能创建新连接
第二个字节的取值表示警告的具体内容:具体警告编码,如:40,Handshake_failure(无法协调密钥参数)45,Certificate_expired(证书已过期)
1、协议基本要素:语法、语义、时序
3、结合实际应用需求考虑
不同应用的需求上的差异可能导致协议设计的不同。
例如,SSL协议流程中必须进行服务器认证,而客户端认证是可选;而在IPSec中,必须实现通信双方的相互认证。
4、应用背景的差异也会影响算法协商、认证和密钥生成方式等。
例如,在保护Web安全中,一台服务器面对多个客户端,无法为服务器和每个客户端之间都预设密钥,因此基于预共享密钥的认证方式不适用。
5、在哪个协议栈层实现
在各个协议层都可以实现安全,根据需求选择。
6、协议本身的安全性,抗攻击能力
在端到端的数据通路上随处都有可能发生数据的泄漏,包括:拨入段链路上ISP接入设备上在因特网上在安全网关上在企业内部网上
(防窃听、防业务流分析、防篡改、防假冒)
VPN:VisualPrivateNetwork
Private:利用公共网络基础设施,通过“隧道”技术等手段达到类似私有专网的数据安全传输
VPN并不是某个公司专有的封闭线路或者是租用某个网络服务商提供的封闭线路,但同时VPN又具有专线的数据传输功能,因为VPN能够像专线一样在公共网络上处理自己公司的信息
1、成本低企业不必租用长途专线建设专网,不必大量的网络维护人员和设备投资2、易扩展网络路由设备配置简单,无需增加太多的设备,省时省钱3、完全的主动控制权VPN上的设施和服务完全掌握在企业手中
VPN需要在两台直接与公网连接的设备之间建立一条专用安全通道。
采用隧道技术(Tunnelling),对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输。
隧道,实质上是一种封装,是将一种协议封装在另一种协议中传输,从而实现内部网络协议对公用网络的透明性。
隧道在VPN中的作用
负责隧道的建立、保持和拆除对数据进行封装,传输,解封。提供数据完整性和机密性等安全服务。
IPSecVPNSSLVPNPPTPVPNL2TPVPNMPLSVPN
部署
用VPN连接分支机构
用VPN连接合作伙伴
用VPN连接远程用户
SSLVPN的实现方式就是在防火墙后面放置一个SSL代理服务器
用户与服务器之间的安全通信建立过程:
SSL服务器对用户进行身份验证
SSL代理服务器提供用户与各种不同应用服务器之间的连接
保护应用(应用服务器)
1、TLSVPN有很多优点,但并不能取代IPSecVPN2、IPSecVPN主要提供LAN-to-LAN的隧道安全连接3、在为企业高级用户提供远程访问及为企业提供LAN-to-LAN隧道连接方面,IPSec具有无可比拟的优势4、IPSecVPN厂商开始研究让IPSecVPN兼容TLSVPN,以增强可用性。届时,IPSecVPN的扩展性将大大加强
VPN使用的隧道技术涉及三种数据格式:用户数据包格式封装格式公用网传输格式
这三种格式分别对应三种协议:乘客协议隧道协议传输协议
隧道可在网络的任一层实现。
隧道由隧道协议形成。
二层隧道协议
PPTP,Ponit-to-PointTunnelingProtocol,点对点隧道协议,RFC2637L2F,Layer2Forwarding,第2层转发协议,RFC2341L2TP,Layer2TunnelingProtocol,第2层隧道协议,RFC2661MPLS,MultiprotocolLabelSwitching,多协议标记交换,RFC3031
三层隧道协议
IPinIP,IPSec,InternetProtocolSecurity,Internet协议安全GRE,GenericRoutingEncapsulation,通用路由选择封装,RFC2784