0


西安电子科技大学 计科 计算机安全导论复习笔记 上

计算机安全导论 复习上

Notion

一 引言

CIA!

C:confidentiality 机密性

非授权泄露

  1. 加密
  2. 访问控制(访问规则和策略)
  3. 认证(指纹)
  4. 授权
  5. 物理安全 法拉第笼

I:intrgrity 完整性

非授权修改

A:availability 可用性

能及时访问和修改

🔥 设计系统时,三条同时满足

3A!

1A:assurance 保证性

信任如何被提供和管理

确保资源和信息的使用符合设定的策略

  1. 策略: 对个体行为的预期
  2. 权限: 被允许的行为
  3. 保护: 实现权限格策略的机制

例子:在线音乐系统(为用户如何访问歌曲设定策略;为购买特定歌曲的用户提供访问权限;为系统提供保护以防止用户未授权的访问)

2A: authenticity 真实性

确定内容可信

不可抵赖

3A:anonymity 匿名性

不泄露隐私

4种访问控制模型的优点缺点!

主体 → 用户 客体 → 资源

访问控制矩阵

在这里插入图片描述

优点:

  1. 容易确定主客体对的权限
  2. 管理者视角简单直观
  3. 控制粒度细,针对每一个主客体对

缺点:

缺乏可扩展性,大小为

     ( 
    
   
     主体 
    
   
     ∗ 
    
   
     客体 
    
   
     ) 
    
   
  
    (主体*客体) 
   
  
(主体∗客体)

访问控制列表

本质上是忽略了空白的矩阵的

优点:

比矩阵小很多,以元数据形式储存

缺点:

枚举复杂度高(链表)

能力列表

本质上是忽略了空白的矩阵的

在这里插入图片描述

优缺点与上类似

基于角色的访问控制

定义角色,对角色指派权限

优点:

存储高效降低需要记录的规则数量

缺点:

目前操作系统中未实现

字典攻击

定义

从自定义词典中尝试密码

防御方法

  1. 密码设置更复杂
  2. 入侵检测机制
  3. 更好的加密算法策略

二 物理安全!!

SIM卡安全及挑战响应协议(3步)

SIM卡具有集成电路卡ID(ICCID)→ 18位id,用于硬件识别

唯一的国际移动用户表示(IMSI)

128位密钥,用于向移动网路验证电话 → 下图的K

在这里插入图片描述

指纹

三 操作系统安全

进程安全

引导顺序安全

恶意用户利用引导脆弱点控制计算机执行 第二段引导 加载操作系统

解决方法: 设置BIOS密码

引导设备层次

第二阶段允许指定加载操作系统设备

攻击者从外部介质引导其他操作系统访问硬盘

解决方法: 设置BIOS密码

休眠

休眠时操作系统将内存全部储存到磁盘的休眠文件

攻击者从休眠文件中获取敏感信息

解决方法: 硬盘加密

日志

操作系统监控和记录的主要手段

  • 事件日志在这里插入图片描述
  • 进程监控

探查计算机上正在运行的进程

  • 进程查看

查看器提供进程映像(进程代码的磁盘位置)可以确定进程是否是病毒

攻击者尝试替换合法程序的映像

解决方法: 对映像使用数字签名

内存和文件系统安全

虚拟内存安全

关机时,硬盘上虚拟内存删除

攻击者强制断电,阻止虚拟内存删除,引导另一个操作系统查看虚拟内存文件

解决方法: 硬盘加密

密码盐

密码以单向散列值储存

使字典攻击变得困难

密码文件储存

     ( 
    
   
     U 
    
   
     , 
    
   
     S 
    
   
     , 
    
   
     h 
    
   
     ( 
    
   
     S 
    
   
     ∣ 
    
   
     ∣ 
    
   
     P 
    
   
     ) 
    
   
  
    (U,S,h(S||P) 
   
  
(U,S,h(S∣∣P) , u →username ,S→ salt, P→password

如果攻击者无法获得用户的盐,字典攻击搜索空间为

      2 
     
    
      B 
     
    
   
     ∗ 
    
   
     D 
    
   
  
    2^B * D 
   
  
2B∗D ,B是随机盐位数,D是字典大小

如果攻击者可以获得用户的盐,每一个盐只能攻击一个用户

访问控制

Linux使用文件权限矩阵

在这里插入图片描述

Windows使用访问控制列表

setUID操作

如果设置setuid位,程序以其所有者用户ID运行,而不是PID。

解决了无特权情况下访问问题

攻击者可以强制setuid程序执行任意代码

文件描述符

进程创建子进程时,子进程集成父进程打开的所有文件描述符副本

当程序以高权限打开文件描述符,未关闭。创建的低权限进程就能打开该文件。

应用程序安全

DLL注入

DLL注入是指向运行中的其他进程强制插入特定的DLL文件。

DLL被加载到进程后会自动运行DllMain()函数,用户可以把想执行的代码放到DllMain()函数,每当加载DLL时,添加的代码就会自然而然得到执行。

算术溢出

例子:只允许前1000人进入系统,请求人数过多计数值溢出。

缓冲区溢出!

攻击者在栈中注入恶意代码,覆盖调用返回地址,将执行权限传递给恶意程序

困难:

  1. 进程不能访问其他进程的地址空间,恶意代码必须驻留在被攻击进程的地址空间。(缓冲区用户shell
  2. 给定进程的地址空间不可预测

攻击手段:

NOP指令滑动: 命中一连串的NOP指令,就可将CPU指令流滑动到特定位置

跳转到寄存器

  1. 攻击者找到特定代码集中的跳转指令 jump ESP
  2. 设法将恶意代码放在ESP指定的内存上
  3. 将当前函数的返回地址写成jump ESP的地址
  4. jump到恶意代码

返回到libc攻击:

不需要注入恶意代码,重用漏洞程序的函数;避开了对注入的检测

  1. 用所需库函数地址覆盖返回地址
  2. 传参使程序按照攻击者期望运行

防止手段:

  1. 使用更安全的函数
  2. 操作系统防止攻击者覆盖返回地址:将指针在使用前后使用异或编码,将栈空间设置为非执行权限,随机安排地址空间(ASLR)
  3. 金丝雀技术:在缓冲区控制数据之间放canary值,定期检查cancary的完整性,不完整则溢出

格式化字符串攻击

输入格式化字符串,可以将输入写入内存任意位置,覆盖地址

四 恶意软件

计算机病毒!

自我复制,复制需要某种类型的用户协助,需要向其他文件插入代码

病毒特征

  1. 传染性
  2. 隐蔽性
  3. 潜伏性 : 需要触发
  4. 多态性: 不断变种,防止查杀
  5. 破坏性

病毒执行四个阶段

  1. 潜伏阶段: 避免被检测
  2. 繁殖阶段: 复制
  3. 触发阶段:从繁殖转换为危害
  4. 行动阶段: 开始破坏

隐藏方式

  1. 加密
  2. 多态
  3. 变形

蠕虫!

恶意程序,不需要注入其他程序,自己传播副本,携带有害负载

蠕虫传播!

  • 判断主机是否已被感染
  • 判断主机是否容易受攻击

木马!

表面上执行有用的任务,隐形地执行具有负面后果的任务

木马代码可分散在整个程序中

有的是宿主程序执行后通过修改一串指令形成的

有的加密存放,执行瞬间解密

组成!

  1. 硬件: 控制端,服务端,因特网
  2. 软件: 控制端程序,木马程序,木马配置程序
  3. 连接部分: 控制端IP,服务器端IP,控制端端口,木马端口

木马入侵的过程!

  1. 配置木马
  2. 传播木马
  3. 运行木马
  4. 信息反馈
  5. 建立连接
  6. 远程控制

防护措施

签名

签名是病毒指纹,文件中包含签名则被感染

黑/白名单

数据库存储相应文件和被感染文件的Hash值,计算每个文件的Hash值,与数据库对比。

启发式分析

  • 代码分析
  • 仿真:在隔离仿真环境中运行代码

隔离

隔离可疑文件,可疑文件不会造成损害,因为它是加密的

五 网络安全

网络安全影响CIA

机密性

网络协议在任何分层中都没有要求数据传输的机密性

一般在应用层网络层加密协议

完整性

数据包头部和尾部都有校验和,但不是密码学意义下安全

可用性

网络设计之初考虑的是节点发生故障时保证可用性

没有考虑类似于dos攻击影响系统可用性

网络安全影响3A

保证

任何节点可以接受数据包,可以通过显式措施引入权限和策略

真实性

应用层引入身份证明,数字签名

匿名

没有用户身份概念,具有内在匿名性

链路层

ARP欺骗

ARP将主机网络层地址(IP)解析为硬件地址(MAC)

ARP无身份认证,中间人攻击

预防措施:

ARP欺骗标标志: 相同MAC地址在局域网中多次出现

静态ARP表: 手动指定ARP缓存

网络层

IP协议

将数据包从一个节点送到另一个节点

TTL: 最大跳数

在这里插入图片描述

ICMP

在主机,路由器之间传递控制消息(网络通不通,主机是否可达,路由是否可用)

常用工具:ping,tracerouter

IP地址欺骗

恶意用户源IP地址是伪造的,恶意用户不会受到服务器的响应

应对措施

  1. 边缘路由器可以阻止:源地址在域内,实际地址是域外;源地址是域外,向域外发送的数据包。
  2. IP追踪技术: 追踪数据包返回到实际源地址的路径

数据包嗅探(了解)

防止措施:

  1. 使用以太网交换机代替集线器
  2. 检测网卡是否为混杂模式: 混杂模式时,处理数据包比较慢。而且会对无效数据包响应。
  3. 高层协议使用加密(HTTPS)

传输层

TCP

面向连接,可靠,三次握手。

累积确认: 接收方向发送方发送确认

流量控制: 滑动窗口

校验和: 循环冗余校验CRC

UDP

无连接,不可靠,速度快,直接发送数据报。

16位校验和

NAT

局域网机器共享一个公网IP。

解决了IP地址不足

避免来自网络外部攻击,隐藏保护内部计算机

TCP会话劫持

TCP序列号预测

  1. DOS攻击客户端C
  2. 向服务器发送SYN,源IP伪造成受害客户端IP(攻击者收不到服务器的响应)
  3. 向服务器发送ACK数据包,此时预测服务器的序列号
  4. 攻击者以客户端C名义向服务器发送请求

盲注入

注入包含命令的数据包,可以将响应返回给攻击者,或扰乱系统

ACK风暴

TCP建立时不同步,导致客户端和服务器反复向对方发送ACK。

完全会话劫持

攻击者,服务器,客户端在同一网段时

利用数据包嗅探,获得序列号,则可完全劫持。

先使用ARP欺骗改变消息流向完全会话劫持截取全部信息

完全会话劫持安全措施:

  1. IP层或者应用层使用认证,加密。如IPSEC或者应用层安全协议
  2. 避免创建以安全身份验证措施开始,后来切换到未加密交换的会话。(被劫持时明文暴露了)

拒绝服务攻击

带宽消耗型攻击

  1. ICMP洪水攻击: 向未良好设置的路由器发送广播信息占用系统资源
  2. UDP洪水攻击: 大量UDP数据包
  3. 死亡ping: 超过IP协议能容忍的数据包数
  4. 泪滴攻击: 捏造组间位移信息,导致重组时发生问题

资源消耗型攻击:

  1. SYN洪水攻击:大量TCP SYN请求反复发送,导致系统资源耗尽
  2. LAND攻击: 与上类似
  3. 分布式HTTP洪水攻击:向服务器发送大量貌似合法的请求,通常使用HTTP GET
  4. 僵尸网络攻击

ICMP攻击

ping洪水攻击

强大计算机向服务器发送大量回显请求(echo request),服务器被这些流量淹没

smurf攻击

攻击者向广播地址发送ICMP包,将回复地址设置成受害主机IP,ICMP应答请求包淹没受害主机

如何阻止smurf:

  1. 主机和路由器配置,忽略广播请求
  2. 避免向广播地址转发数据包
  3. 忽略ping请求

SYN攻击

延迟不发送握手确认信息

攻击过程

攻击者向服务器发送SYN消息,服务器发送SYN-ACK,并使连接进入半开状态,占用资源

防范方法

SYN Cookie:发送SYN-ACK 响应时,不分配专门的数据区,根据SYN包计算一个cookie,作为SYN-ACK包的初始序列号

Optimistic TCP ACK 攻击

没收到SYN-ACK时,提前发送ACK,使服务器增加传输速度,淹没带宽

防御方法

限制每个客户端的最大流量

IP地址回溯

不依赖数据包头部IP地址,确定数据包真实来源

数据包标记技术

路由器确定或概率地标注转发数据包,数量足够时可重构路径。

例如: 经过路由器地数据包追加其IP地址

会增加路由器开销

节点采样

路由器概率用自己的IP覆盖数据包的某个字段,数量足够时可重构路径。

标签: 安全 网络安全

本文转载自: https://blog.csdn.net/m0_51605778/article/details/129913250
版权归原作者 叔本华的尼采 所有, 如有侵权,请联系我们删除。

“西安电子科技大学 计科 计算机安全导论复习笔记 上”的评论:

还没有评论