复习笔记--计算机系统安全
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模型
- 主要关注责任分离和事务
作者: vachester
出处:http://www.cnblogs.com/vachester/
邮箱:xcchester@gmail.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。