复习笔记--计算机系统安全

Lecture 1

  • 安全目标

  • 机密性(confidentiality、secrecy、privacy):授权用户具有读权限

  • 完整性(integrity):仅被授权实体可按所授权权限进行修改

  • 可用性(availability):仅被授权实体可访问

  • 防御方法

  • 防止:prevention

  • 阻碍:hindrance

  • 震慑、制止:deterrence

  • 偏斜、偏差:deflection

  • 检测:detection

  • 恢复:recovering

  • 安全原则

  • 最弱链接原则

  • 适当保护原则:安全目标不是最大化安全,而是最大化实用性,限制风险的花费控制在可接受范围内

  • 有效性原则:必须使用控制措施,控制措施要适当、有效,措施要充分、适合,用户心理能接受

  • 深度防御

  • 晦涩的安全是不起作用的

  • 系统的安全需求,如:

  • 银行

  • 空军基地

  • 医院

  • 家庭

Lecture 2

  • 内存保护模式:保证一个用户的进程不能访问其他人的内存空间,操作系统进程、用户进程具有不同的权限

  • 栅栏

  • 分段

  • 分页

  • 基/堆寄存器

  • 重分配

  • CPU模式(又叫处理器模式、特权模式)

  • 系统模式(内核模式):可以执行任意指令、访问任意内存地址、硬件设备、中断操作、改变处理器特权状态、访问内存管理单元、修改寄存器

  • 用户模式:受限的内存访问,有些指令不能执行

  • 不能停止中断,改变任意进程状态,访问内存管理单元等

  • 从用户模式转到系统模式的切换必须通过系统调用

  • 服务程序和用户的应用作为进程运行,形成用户空间

  • root用户运行的进程可能在内核模式或用户模式

  • 内核实现方法

  • 单核:一个大内核提供所有的服务,包括文件系统、网络服务、设备驱动等

  • 所有内核代码运行在单地址空间,互相之间会产生影响

  • 如,Linux2.6内核有6百万条代码

  • 优点:高效

  • 缺点:复杂,某部分的bug会影响整个系统

  • 例如:UNIX-variants:FreeBSD,SunOS,AIX,NetBSD

  • 提供可加载内核模块的内核依然是单核,如MULTICS

  • 微内核:内核较小,仅提供执行系统服务必须的机制

  • 内核提供:低地址空间的管理,线程管理,进程间通信

  • 操作系统的服务可在用户模式下工作:包括设备驱动、协议栈、文件系统、用户的接口代码

  • 优点:可实现最小特权,容忍设备驱动的失败/错误等

  • 缺点:性能差,系统的关键服务出错后会使系统停机

  • 系统调用:UNIX为每个系统调用在标准C库中设置一个同样名字的函数。用户进程用标准C调用序列来调用这些函数,启动函数调用对应的内核服务

  • 进程控制

  • prctl:对进程进行特定操作

  • ptrace:进程跟踪

  • 文件管理

  • fcntl:文件控制

  • umask:设置文件权限掩码

  • truncate:截断文件

  • 用户管理

  • 信息维护

  • 通信

  • 用户空间的安全机制

  • 鉴别

  • 访问控制

  • 记录日志和审计

  • 入侵检测

  • 被动式IDS vs 响应式IDS

  • 基于主机IDS vs 基于网络IDS

  • 恢复

Lecture 3

  • 二进制文件 vs 脚本文件

  • 命令cat和more调用了read()系统调用,但仅当对要访问的文件或者目录有r权限才能调用、

  • mv命令对转移文件不需要读权限

  • 粘滞位:在最低位,为t表示无x权限,有T表示有x权限,t/T都表示只有拥有者且为root才能删除或更名目录下文件

  • 对于目录:读权限仅能显示目录下的文件的文件名,执行权限可以用于遍历文件属性信息,写加执行权限可以在目录下创建\删除文件\更名文件,且在UNIX中,目录不具有继承性

  • 若无写权限,则用户无法访问目录下文件信息

  • 若有读权限但是无执行权限

  • ls somedir, ok

  • ls -l somedir, no

  • 有执行权限但无读权限

  • ls -l someDir/file, ok

  • ls somedir, no

  • 只有超级用户可以创建一个目录的硬链接

  • /etc/group文件保存组用户和组id的映射

Lecture 4

  • 访问控制的一些建议

  • 虚拟化限制

  • 操作系统级虚拟化

  • chroot

  • FreeBSD jail

  • 虚拟机

  • 虚拟指令集

  • root权限分开

  • POSIX/Linux内核能力

  • FreeBSD安全级

  • 细粒度的、基于进程的强制访问控制:目的是更好的实现最小特权,分配一个程序其需要的权限,不同于按用户进行权限划分

  • chroot好处

  • 增加了系统的安全性,限制了用户的全力

  • 建立一个与原系统隔离的系统目录结构,方便用户的开发

  • 切换系统的根目录位置,引导Linux系统启动以及急救系统等

  • chroot的一些原则

  • 在chroot环境下以non-root user运行

  • 正确的放弃权限

  • 利用chdir显示进入jail

  • 在jail环境中内容尽量少

  • 尽可能让root管理jailed文件

  • 建立权限设置脚本

  • 不要在jail环境存放/etc/passwd文件

  • 在建立jail环境前关闭文件描述符

  • FreeBSD jail的三个目标

  • 虚拟化:每个jail是运行于单机的虚拟环境,拥有自己的文件,进程,用户,超级用户。在jail内部看起来和真实系统一样

  • 安全:每个jail和其他部分无关联,破坏其他部分比较困难

  • 容易授权:因为jail是受限环境,管理员授权后对整个系统影响不大

  • 虚拟机在用户进程中模拟硬件,性能差;虚拟指令集无主机OS,只有一个小型的虚拟指令集运行在硬件上,性能高,能支持多个OS

  • 细粒度访问控制工具:Systrace,LIDS

  • SELinux:类型强制访问控制(TE),所有访问都必须明确授权,默认不允许任何访问,无超级用户,通过指定主体类型(即域)和客体类型使用allow规则授予访问权限

  • 每个进程上下文:ID,role,domain

  • allow规则由四部分组成

  • 源类型:尝试访问的进程的域类型

  • 目标类型:被进程访问的客体的类型

  • 客体类型:指定允许访问的客体的类型

  • 许可:象征目标类型允许源类型访问客体类型的访问种类

  • 如:allow user_t bin_t:file {read execute},user_t为源类型,bin_t和目标类型或者客体类型,file是其名称,大括号内包括的许可是文件客体类别有效许可

Lecture 5

  • 访问控制矩阵:行表示用户或进程(主体S),列表示文件(客体O),值为权限。即A(S,O)准确的描述了保护状态的模型。描述一个主体(进程)相对于系统客体的权限,并且是变化的。

  • 通常客体可操作的可称为客体:目录、文件或者内存段。在遇到kill、suspend、resume等命令时,主体可以当成客体使用

  • 访问控制列表(ACL):每个客体维持一个访问列表,列表上为用户以及在这个客体上相应的权限

  • 能力表:每个用户或者进程(主体)维持多个序列对,序列对内容是客体和对应权限

  • 自主访问控制(DAC)是依据主体的判断力授予访问权限,通常由客体的拥有者授权,但是容易被Trojan木马入侵

Lecture 6

  • 两阶段更新:准备阶段和提交阶段,防止数据很大修改到一半就失败。提交阶段时要设置提交标志,写入数据库。直到COMMIT-FLAG为0才能执行操作

  • 推理:根据不敏感的数据得到、推理敏感数据。

Lecture 7

  • 安全策略:定义了系统的安全,可以是非形式化的,也可以是数据描述,精确定义安全策略后,我们信任它

  • 将计算机系统想象成有限状态的自动机,设定一系列转换函数

  • 策略将系统状态划分为

  • 被授权状态

  • 未授权状态(不安全)

  • 机密性:X为实体集,I为信息,I具有机密性属性:如果无x属于X可以从I中获得信息,如X为学生,I为期末考试试卷题目

  • 完整性:I相对于X来说有完整性,当所有x属于X,信任I中的信息。

  • 信任的类型包括

  • 信任I,包括传递和保护(数据完整性)

  • I的起源和身份(初始完整性,鉴别)

  • 信任其能按预定的功能工作(保障)

  • 可用性:I相对X来说有可用性:当所有x属于X可以访问I

  • 可用性类型

  • 按传统:x可以访问或者不可以访问

  • 按服务质量:访问效率等

Lecture 8

  • BLP模型

  • 信息安全级别

  • 绝密 Top Secret

  • 机密 Secret

  • 秘密 Confidential

  • 公开 Unclassified

  • 主体的安全许可L(s),客体的安全级L(o)

  • 信息向上流动,非向下流动

  • 上读不允许,下读允许

  • 禁止上读原则

  • 信息向上流动,非向下流动

  • 上写允许,下写不允许

  • 禁止下写原则

  • A是安全级,C是安全分类,(A,C) dom (A',C') iff A' <= A和C'属于C。如(Top Secret,{NUC,ASI}) dom (Secret,{NUC})

  • 安全级集合L = A x C,dom形成格序

  • 最小上界lub(L) = (max(A), C)

  • 最大下界glb(L) = (min(A), 空)


  • DG/UX System

  • 初始

  • 主体的标签:指定为用户,保存在授权与鉴别数据库中

  • 客体在创建时建立标签

  • 显示标签:是属性的一部分

  • 隐式标签:从父目录获得

  • 进程p(MAC_A标签)想创建/tmp/x,可是x已经存在,标签为MAC_B,并且MAC_B dom MAC_A,所以创建失败

  • 多级目录时,若进程p为MAC_A标签,想创建/tmp/x,可是MAC_A对应的目录为/tmp/d/,所以创建了/tmp/d/x


Lecture 9

  • Biba完整性模型

  • 主体和客体具有完整性级别I,包括完整级和分类(和机密性类似)
  • 读写和BLP模型相反
  • 执行操作和写操作一样

  • Clark-Wilson模型

  • 主要关注责任分离和事务

posted @ 2017-06-26 23:38  va_chester  阅读(561)  评论(0编辑  收藏  举报