zoukankan      html  css  js  c++  java
  • 复习笔记--计算机系统安全

    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模型

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

  • 相关阅读:
    Poj 2017 Speed Limit(水题)
    Poj 1316 Self Numbers(水题)
    Poj 1017 Packets(贪心策略)
    Poj 1017 Packets(贪心策略)
    Poj 2662,2909 Goldbach's Conjecture (素数判定)
    Poj 2662,2909 Goldbach's Conjecture (素数判定)
    poj 2388 Who's in the Middle(快速排序求中位数)
    poj 2388 Who's in the Middle(快速排序求中位数)
    poj 2000 Gold Coins(水题)
    poj 2000 Gold Coins(水题)
  • 原文地址:https://www.cnblogs.com/vachester/p/7082991.html
Copyright © 2011-2022 走看看