系统架构10 - 信息安全(下)

信息安全技术

访问控制的实现技术

访问控制矩阵

访问控制矩阵(Access Control Matrix,ACM),是通过矩阵形式表示访问控制规则和授权用户权限的方法。主体作为行,客体作为列。

file1file2file3
user1rwx
user2rrwxrw
user3xr

矩阵中的每一个元素表示一组访问方式,是若干访问方式的集合
访问控制矩阵的实现很易于理解,但是查找和实现起来有一定的难度,而且,如果用户和文件系统要管理的文件很多,那么控制矩阵将会成几何级数增长。因为在大型系统中访问矩阵很大而且其中会有很多空值,所以目前使用的实现技术都不是保存整个访问矩阵,而是基于访问矩阵的行或者列来保存信息。

访问控制表

访问控制表(Access Control List,ACL)。目前最流行、使用最多的访问控制实现技术。每个客体有一个访问控制表,是系统中每一个有权访问这个客体的主体的信息。这种实现技术实际上是按列保存访问矩阵。

能力表

能力表(Capabilities)。对应于访问控制表,这种实现技术实际上是按行保存访问矩阵。每个主体有一个能力表(Cap-ability Lists),是该主体对系统中每一个客体的访问权限信息。使用能力表实现的访问控制系统可以很方便地查询某一个主体的所有访问权限

授权关系表

访问矩阵也有既不对应于行也不对应于列的实现技术,那就是对应访问矩阵中每一个非空元素的实现技术——授权关系表 (Authorization Relations)。 授权关系表的每一行(或者说元组)就是访问矩阵中的一个非空元素,是某一个主体对应于某一个客体的访问权限信息。如果授权关系表按主体排序,查询时就可以得到能力表的效率;如果按客体排序,查询时就可以得到访问控制表的效率安全数据库系统通常用授权关系表来实现其访问控制安全机制。

抗攻击技术

为对抗攻击者的攻击,密钥生成需要考虑3个方面的因素:增大密钥空间选择强钥(复杂的)、密钥的随机性(使用随机数)。

拒绝服务攻击

拒绝服务攻击DoS(Denial of Service)有许多种,网络的内外部用户都可以发动这种攻击。内部用户可以通过长时间占用系统的内存、CPU处理时间使其他用户不能及时得到这些资源,而引起拒绝服务攻击;外部黑客也可以通过占用网络连接使其他用户得不到网络服务。
外部用户针对网络连接发动拒绝服务攻击主要有几种模式:
消耗资源、破坏或更改配置信息、物理破坏或改变网络部件、利用服务程序中的处理错误使服务失效

分布式拒绝服务攻击

分布式拒绝服务DDoS攻击是传统DoS攻击的发展,攻击者首先侵入并控制一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击。克服了传统DOS受网络资源的限制和隐蔽性两大缺点
DDos
DDoS引入了分布式攻击和 Client/Server 结构,使DoS的威力激增。
同时, DDoS囊括了已经出现的各种重要的 DoS攻击方法,比DoS的危害性更大
现有的 DDoS 工具一般采用三级结构,如上图所示。
其中 Client(客户端)运行在攻击者的主机上,用来发起和控制DDoS攻击
Handler (主控端)运行在已被攻击者侵入并获得控制的主机上,用来控制代理端
Agent(代理端)运行在已被攻击者侵入并获得控制的主机上,从主控端接收命令,负责对目标实施实际的攻击

防御方式

  • 加强对数据包的特征识别,攻击者发送的数据包中是有一些特征字符串。通过搜寻这些特征字符串,就可以确定攻击服务器和攻击者的位置。
  • 设置防火墙监视本地主机端口的使用情况。如果发现端口处于监听状态,则系统很可能受到攻击。
  • 对通信数据量进行统计也可获得有关攻击系统的位置和数量信息。在攻击时,攻击数据的来源地址会发出超出正常极限的数据量。
  • 尽可能的修正己经发现的问题和系统漏洞

ARP欺骗

正常ARP 原理

某机器 A 要向主机 C 发送报文,会查询本地的ARP 缓存表,找到 C 的 IP 地址对应的 MAC 地址后,就会进行数据传输。
如果未找到,则广播一个ARP请求报文(携带主机 A 的 IP地址Ia、物理地址AA:AA:AA:AA),请求 IP 地址为Ic 的主机 C 回答物理地址Pc。
网上所有主机,包括 C ,都收到 ARP 请求,但只有主机 C 识别自己的 IP 地址,于是向A 主机发回一个 ARP 响应报文。
其中就包含有 C 的 MAC 地址CC:CC:CC:CC,A 接收到 C 的应答后,就会更新本地的 ARP缓存
接着使用这个 MAC 地址发送数据(由网卡附加 MAC地址)。
因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

ARP 欺骗原理

ARP 协议并不只在发送了 ARP 请求才接收 ARP 应答。没有ARP请求发送时,也会接收ARP应答数据包。
而当计算机接收到ARP应答数据包的时候,就会对本地的 ARP 缓存进行更新,将应答中的 IP 和 MAC 地址存储在 ARP 缓存中。
ARP欺骗
以上图为例:
局域网中的机器 B 首先攻击 C , 使 C 瘫痪。
然后向 A 发送一个自己伪造的 ARP 应答。
这个应答是 B 冒充 C 伪造来的,即 IP 地址为C 的 IP , 而 MAC 地址是 B 的。
当 A 接收到 B 伪造的ARP 应答后,就会更新本地的 ARP缓存
这样在 A 看来 C 的 IP 地址没有变,但实际上它的 MAC 地址已经变成 B 的了。
由于局域网的网络 C 流通不是根据 IP 地址进行,而是按照MAC地址进行传输
如此就造成A 传送给 C 的数据实际上是传送到 B。
这就是一个简单的ARP欺骗。

防范措施

  1. 在Win XP下输入命令:arp -s gate-way-ip gate-way-mac 固化ARP表,阻止ARP欺骗。
  2. 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
  3. 采用双向绑定的方法解决并且防止ARP欺骗。
  4. ARP防护软件―—ARPGuard。通过系统底层核心驱动,无须安装其他任何第三方软件(如WinPcap),以服务及进程并存的形式随系统启动并运行,不占用计算机系统资源。无需对计算机进行 lP 地址及 MAC 地址绑定,从而避免了大量且无效的工作量。也不用担心计算机会在重启后新建ARP缓存列表,因为此软件是以服务与进程相结合的形式存在于计算机中,当计算机重启后软件的防护功能也会随操作系统自动启动并工作

DNS欺骗

DNS 欺骗是一种比较常见的攻击手段。

DNS欺骗原理

DNS欺骗首先是冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址。
这样的话,用户就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。
DNS 欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗

现实过程

DNSCheat
如上图所示,
目标网站 www.target.com 的 IP地址为202.109.2.2。
如果用户 www.user.com 向target.com的子域 DNS 服务器查询www.target.com 的IP地址时, www.heike.com 冒充 DNS ,向 www.user.com 回复 www.target.com 的 IP地址为 200.1.1.1。
这时 www.user.com 就会把 200.1.1.1当做 www.target.com 的地址。
当 www.angel.com 连接 www.target.com 时,就会转向那个虚假的IP地址。
这样对 www.target.com 来说,就等于是被黑掉了。因为别人无法连接上他的域名。

DNS欺骗检测

  1. 被动监听检测:通过旁路监听的方式,捕获所有DNS请求和应答数据包,并为其建立一个请求应答映射表。如果在一定的时间间隔内,一个请求对应两个或两个以上结果不同的应答包,则怀疑受到了DNS欺骗攻击。
  2. 虚假报文探测:采用主动发送探测包的手段来检测网络内是否存在DNS欺骗攻击者。如果向一个非DNS服务器发送请求包,正常来说不会收到任何应答,如果收到了应答包,则说明受到了攻击
  3. 交叉检查查询:在客户端收到DNS应答包之后,向DNS 服务器反向查询应答包中返回的IP地址所对应的DNS名字,如果二者一致说明没有受到攻击,否则说明被欺骗。

IP欺骗

原理和流程

  1. 首先使被冒充主机 host b 的网络暂时瘫痪,以免对攻击成干扰;
  2. 然后黑客计算机会发起 TCP 连接到目标机 host a 的某个端口来猜测lSN基值和增加规律
  3. 接下来冒充主机 host b 的ip地址来向 host a 来发送请求连接;
  4. 然后等待目标机host a发送响应数据包给已经瘫痪的主机,但是因为host b已经瘫痪,所以无法看不到这个包;
  5. 最后黑客再次伪装成主机 host b 向目标主机 host a 发送带有预测的目标机的ISN的数据包
  6. 连接建立,发送命令请求。

防范

虽然IP 欺骗攻击有着相当难度,但这种攻击非常广泛,入侵往往由这里开始。
预防这种攻击可以删除 UNIX 中所有的 /etc/hosts.equiv 、$HOME/.rhosts 文件,修改 /etc/inetd.conf 文件,使得 RPC 机制无法应用。另外,还可以通过设置防火墙过滤来自外部而信源地址却是内部 IP的报文。

端口扫描

端口扫描就是尝试与目标主机的某些端口建立连接,如果目标主机该端口有回复(见三次握手中的第二次),则说明该端口开放,即为“活动端口”。

原理

(1)全TCP 连接。这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接。需要说明的是,这种古老的扫描方法很容易被目标主机记录。
(2)半打开式扫描 (SYN扫描)。在这种扫描技术中,扫描主机自动向目标计算机的指定端口发送 SYN 数据段,表示发送建立连接请求。

  • 如果目标计算机的回应TCP报文中SYN=1,ACK=1, 则说明该端口是活动的,接着扫描主机传送一个RST给目标主机拒绝建立TCP连接,从而导致三次握手的过程失败。
  • 如果目标计算机的回应是RST,则表示该端口为关闭的端口,这种情况下,扫描主机不用做任何回应。

由于扫描过程中,全连接尚未建立,所以大大降低了被目标计算机记录的可能性,并且加快了扫描的速度。
(3)FIN扫描。TCP报文中,有一个字段为 FIN ,FIN 扫描则依靠发送 FIN 来判断目标计算机的指定端口是否是活动的。
发送一个 FIN=1 的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文
但是,如果当 FIN 报文到一个活动的端口时,该报文只是被简单的丢掉,不会返回任何回应
从FIN扫描可以看出,这种扫描没有涉及任何 TCP 连接部分。因此,这种扫描比前两种都安全,可以称之为秘密扫描
(4)第三方扫描。第三方扫描又称“代理扫描”。这种扫描是利用第三方主机来代替入侵者进行扫描。这个第三方主机一般是入侵者通过入侵其他计算机而得到的,该“第三方”主机常被入侵者称之为“肉鸡”。这些“肉鸡”一般为安全防御系数极低的个人计算机。

强化TCP/IP堆栈抵御拒绝服务攻击

  1. 同步包风暴(SYN Flooding):利用TCP协议缺陷发送大量伪造的TCP连接请求,使得被攻击者资源耗尽。三次握手,进行了两次,不进行第三次握手,连接队列处于等待状态,大量这样的等待,会占满全部队列空间,使得系统挂起。可以通过修改注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet Services 的键值防御SYN Flooding攻击
值名称值 (REG_DWORD)
SynAttackProtect2
TcpMaxPortsExhausted1
TcpMaxHalfOpen500
TcpMaxHalfOpenRetried400
Tcp Max ConnectResponseRetransmissions2
TcpMaxDataRetransmissions2
EnablePMTUDiscovery0
KeepAliveTime300000(5分钟)
NoNameReleaseOnDemand1
  1. ICMP攻击:ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。比如,“Ping of Death"攻击就是利用操作系统规定的ICMP数据包的最大尺寸不超过64KB这一规定,达到使TCP/IP堆栈崩溃、主机死机的效果。可以通过修改注册表项 HKLMSystem CurrentControlSet\Services\AFD\Parameters 的键值防御ICMP攻击
值名称值 (REG_DWORD)
EnableICMPRedirect0
  1. SNMP攻击:SNMP还能被用于控制这些设备和产品,重定向通信流,改变通信数据包的优先级,甚至断开通信连接。总之,入侵者如果具备相应能力,就能完全接管你的网络。可以通过修改注册表项HKLMSystem CurrentControlSet Services TcpiplParameters的键值防御SNMP攻击
值名称值 (REG_DWORD)
EnableDcadGWDetect0

系统漏洞扫描

系统漏洞扫描指对重要计算机信息系统进行检查,发现其中可能被黑客利用的漏洞。
系统漏洞扫描的结果是对系统安全性能的一个评估。
目前,从底层技术来划分,可以将系统漏洞扫描分为基于网络的扫描基于主机的扫描这两种类型。

基于网络的漏洞扫描

基于网络的漏洞扫描器,是通过网络来扫描远程计算机中的漏洞。
基于网络的漏洞扫描工具可以看作为一种漏洞信息收集工具,根据不同漏洞的特性,构造网络数据包,发给网络中的一个或多个目标服务器,以判断某个特定的漏洞是否存在。

组成

基于网络的漏洞扫描器,一般由以下几个方面组成。
(1)漏洞数据库模块。漏洞数据库包含了各种操作系统的各种漏洞信息,以及如何检测漏洞的指令。
(2)用户配置控制台模块。用户配置控制台与安全管理员进行交互,用来设置要扫描的目标系统以及扫描哪些漏洞。
(3)扫描引擎模块。扫描引擎是扫描器的主要部件。根据用户配置控制台部分的相关设置,扫描引擎组装好相应的数据包,发送到目标系统,将接收到的目标系统的应答数据包与漏洞数据库中的漏洞特征进行比较,来判断所选择的漏洞是否存在。
(4)当前活动的扫描知识库模块。通过查看内存中的配置信息,该模块监控当前活动的扫描,将要扫描的漏洞的相关信息提供给扫描引擎。
(5)结果存储器和报告生成工具。报告生成工具,利用当前活动扫描知识库中存储的扫描结果,生成扫描报告。

优点

(1)基于网络的漏洞扫描器的价格相对来说比较便宜
(2)基于网络的漏洞扫描器在操作过程中,不需要涉及目标系统的管理员
(3)基于网络的漏洞扫描器在检测过程中,不需要在目标系统上安装任何东西
(4)维护简便。当企业的网络发生了变化的时候,只要某个结点能够扫描网络中的全部目标系统,基于网络的漏洞扫描器不需要进行调整。

基于主机的漏洞扫描

基于主机的漏洞扫描器通常在目标系统上安装了一个代理(Agent) 或者是服务 (Services), 以便能够访问所有的文件与进程,这也使得基于主机的漏洞扫描器能够扫描更多的漏洞

优点

(1)扫描的漏洞数量多。
(2)集中化管理。通常都有个集中的服务器作为扫描服务器,所有扫描的指令,均从服务器进行控制。这种集中化管理模式,使得基于主机的漏洞扫描器在部署上能够快速实现。
(3)网络流量负载小。由于 ESM 管理器与 ESM代理之间只有通信的数据包,漏洞扫描部分都由ESM代理单独完成,这就大大减少了网络的流量负载。当扫描结束后, ESM代理再次与ESM 管理器进行通信,将扫描结果传送给ESM 管理器。

信息安全的保障体系与评估方法

计算机信息系统安全保护等级

《计算机信息系统安全保护等级划分准则》 (GB 17859—1999) 规定了计算机系统安全保护能力的5个等级:

  • 第一级,用户自主保护级:实现基本的用户隔离和自主访问控制。
  • 第二级,系统审计保护级:在第一级基础上实现更细粒度的访问控制和审计。
  • 第三级,安全标记保护级:在第二级基础上实现安全标记和强制访问控制。
  • 第四级,结构化保护级:在第三级基础上实现形式化安全策略和对所有资源的访问控制
  • 第五级,访问验证保护级:实现抗篡改的访问监控器,对单个用户的所有访问进行仲裁。

风险评估

基本要素

风险评估的基本要素为脆弱性、资产、威胁、风险和安全措施
与这些要素相关的属性分别为业务战略、资产价值、安全需求、安全事件和残余风险
这些也是风险评估要素的一部分。

计算模型

风险计算模型包含信息资产、弱点/脆弱性、威胁等关键要素。
每个要素有各自的属性,信息资产的属性是资产价值,弱点的属性是弱点被威胁利用后对资产带来的影响的严重程度,威胁的属性是威胁发生的可能性。

计算过程

  • 对信息资产进行识别,并对资产赋值
  • 对威胁进行分析,并对威胁发生的可能性赋值
  • 识别信息资产的脆弱性,并对弱点的严重程度赋值
  • 根据威胁和脆弱性计算安全事件发生的可能性
  • 结合信息资产的重要性和发生安全事件的可能性,计算信息资产的风险值
  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值