• Interception**(拦截)****😗* This is an attack on confidentiality
• Modification**(修改)****😗* This is an attack on integrity
• Fabrication**(伪造)****😗* This is an attack on authenticity
被动攻击
被动攻击企图了解或利用系统信息但并不侵袭系统的资源。被动攻击在数据传输过程中的表现是,窃听(release of message content)、监视数据传输(流量分析-traffic analysis) 。在一个计算机系统中,往往是“读权限”泄露给非授权用户。
被动攻击的形式有嗅探、搭线监听、无线截获等
被动攻击不易发现,应以预防为主。
安全策略与安全机制
安全策略与安全机制的区别
– 安全策略是对允许什么(安全行为)、禁止什么(非安全行为)的规定。
– 安全机制是实施安全策略的方法、工具或者规程。
常见的安全机制
加密、数字签名、访问控制、完整性机制、鉴别、填充、路由控制、公证
恢复的两种形式
– 第一种,是阻断攻击,并且评估、修复由攻击造成的任何损害。
– 第二种,恢复方式要求攻击在发生时,系统还应该继续正常工作。这类恢复机制同时利用容错技术和安全技术,一般用于可靠性非常关键的系统。
安全策略的性质
• 策略表达的准确性。可以使用数学方式来表达策略,将其表示为允许(安全)和不允许(不安全)的状态列表。实践中,策略极少会如此精确,通常策略使用文本语言描述什么是用户或工作人员允许做的事情。这种描述的内在歧义性导致某些状态既不能归于“允许”一类,也不能归于“不允许”一类。
• 策略表达的一致性。当两个不同的单位进行或合作时,它们所组成的实体往往会使用一种新的安全策略,且这种策略要建立在这两个单位的安全策略之上。如果单位的策略不一致,则可能需要由两个单位同时来决定符合单位的安全策略。
假设与信任
• 如何判定策略是否正确地描述了特定单位所要求的安全等级和安全类型?
安全要以特定的假设为基础,而它依赖的假设明确地指出了安全所要求的安全类型及安全所在的系统环境。
• 策略的设计者始终假设两点:
– 首先,策略准确而无歧义地把系统状态分为“安全”和“非安全”两类状态。该假设断言策略对“安全”系统的组成做了正确的描述。
– 其次,安全机制能防止系统进入“非安全”状态。该假设认为,安全策略可由安全机制实施。
• 如果这两点假设之一是错误的,系统就是不安全的。
要相信安全机制能够起到安全作用,还需以下的假设:
– 每种机制都被设计用于实现安全策略的一个或多个部分。
– 多种机制的并集实现了安全策略的所有规范。
– 机制都被正确地实现。
– 机制都被正确地安装和管理。
安全机制的分类
设P表示所有可能的状态的集合,Q表示安全状态集(由安全策略详细指定)。设安全机制将系统限制在状态集R内(R Í P)。
- 若R Í****Q,则称安全机制是安全的;
- 如R = Q,则称安全机制是精确的;
- 若存在状态r,使得r ∈R但****r Ï****Q,则称安全机制是广泛的。
引用监视器(Reference Monitor)
访问控制机制的理论基础是引用监视器,引用监视器是一个抽象概念,它表现的是一种思想。J.P.Anderson把引用监视器的具体实现称为引用验证机制,它是实现引用监视器思想的硬件和软件的组合。
引用验证机制必须满足的原则
• 必须具有自我保护能力;
• 必须总是处于活跃状态;
• 必须设计得足够小,以利于分析和测试,从而能够证明它的实现是正确的
安全内核
安全内核是实现引用监视器概念的一种技术,其理论依据是: 在一个大型操作系统中,只有其中的一小部分软件用于安全目的。所以在重新生成操作系统过程中,可用其中安全相关的软件来构成操作系统的一个可信内核,称为安全内核。
安全内核必须给以适当的保护,不能篡改。同时,绝不能有任何绕过安全内核存取控制检查的存取行为存在。此外安全内核必须尽可能地小,便于进行正确性验证。
安全内核由硬件和介于硬件和操作系统之间的一层软件组成。
• 安全内核的软件和硬件是可信的,处于安全边界内,但操作系统和应用程序均处于安全边界之外。
• 安全边界是指划分操作系统时,与维护系统安全有关的元素和无关的元素之间的一个想象的边界。
当安全策略完全由安全内核而不是由操作系统实现时,仍需要操作系统维持系统的正常运行并防止由于应用程序的致命错误而引发的拒绝服务。但是操作系统和应用程序的任何错误均不能破坏安全内核的安全策略。
安全内核小型化
安全内核必须做得尽可能小,以便于采用各种方式来有效地增强人们的安全信任度,所以在设计时必须坚决贯彻安全内核小型化这一原则: 凡不是维持安全策略所必需的功能都不应置于安全内核之中。
安全内核的设计和实现的基本原则
完整性原则
完整性原则要求主体引用客体时必须通过安全内核,即所有信息的访问都必须经过安全内核。
完整性原则对支持内核系统的硬件也有一定要求:
- 硬件就必须保证程序不能绕过内核的存取控制。
- 内核必须使各个进程独立,并且保证未通过内核的各进程间不能相互联系。
隔离性原则
安全内核具有防篡改的能力,即可以保护自己,防止偶然破坏。
可验证性原则
可验证性原则是通过如下一些设计要素实现的:
– 利用最新的软件工程技术,包括结构设计、