menu yyoumaa
系统安全基础
1691 浏览 | 2020-07-22 | 阅读时间: 约 15 分钟 | 分类: 学习笔记 | 标签: 系统安全
请注意,本文编写于 1318 天前,最后修改于 1258 天前,其中某些信息可能已经过时。

这篇文章的学习内容统一来自石老师的微信公众号“娱阅信情”中的“网络空间系统安全基础”,有兴趣的旁友可以关注阅读原文,以下思考题的解答均是个人想法,不一定理解全面。
“网络空间的系统安全聚焦于系统的安全性。虽然系统是由它的组成部分(简称为组件)连接起来构成的,但系统安全的观点认为不能把系统仅仅看作是组件的集合和连接的集合,还必须把系统自身看作是一个完整的单元,也就是说,要以整体的观点去看待系统。组件和连接本身也存在安全问题,但它们不是系统安全关注的重点,系统安全探讨把组件连接起来并用在它们所构成的系统之中所涉及到的安全问题。
系统既是待保护的对象也是实现保护的方法论。网络空间的系统安全需要从两个层面去理解,其一是要以系统思维应对安全问题,其二是应对系统所面临的安全问题,两者相辅相成,深度融合。系统安全的指导思想是:在系统思维的指引下,从系统的建设、使用和报废等环节构成的整个生命周期应对系统所面临的安全问题,正视系统的体系结构对系统安全的影响,以生态系统的视野全面审视安全对策。”——石老师


系统安全概述

系统安全的演进

思考题
1、为什么Adept-50安全操作系统只能在CTSS分时操作系统问世之后才会出现?请从技术角度加以分析。
因为Adept-50也是分时系统,只能在第一台CTSS分时操作系统问世之后再改进,安全毕竟是附加的一个操作系统要求,尽管很重要,但也只能在基础需求得到满足后(如分时操作系统关注的资源利用)再考虑。
2、无论是在技术方面还是在工具方面,与20世纪60年代相比,现在的情况都好得多,请分析为什么现在解决系统安全问题比20世纪60年代困难得多。
系统安全问题从20世纪60年代到现在,已经从大型主机系统发展到网络化系统、网络空间生态系统,其问题的复杂性和严峻性都不可同日而语。

系统与系统安全

思考题
1、操作系统通常由进程管理、内存管理、外设管理、文件管理、处理器管理等子系统组成,是不是把这些子系统的安全机制实现好了,操作系统的安全目标就实现了?为什么?
这属于只考虑了系统的各个组件,却没有考虑整体的联系,比如各个子系统之间的交互中可能会产生新的安全问题,子系统的结合不是单纯的1+1=2的结合而是一个复杂的结合,要实现系统的安全目标一定要从系统的角度出发整体看待问题。
2、通过对操作系统内部的进程管理、内存管理、外设管理、文件管理、处理器管理等子系统的运行细节来分析操作系统的行为,这样观察系统的方法是否属于自内观察法?为什么?
属于自内观察法,从系统的内部来看各个组件的运行细节,而不是从系统外部整体看系统的输入输出。

整体论与还原论

思考题
1、涌现性和综合特性都是整体特性,但它们是不同的,请结合实例,分析说明两者的区别。
综合特性可以通过系统组成部分的特性的综合而得到,一杯混合颜料的水的颜色是由组成他的颜料的颜色组合而成的。
涌现性是系统组成部分相互作用产生的组成部分所不具有的新特性,它是不可还原的特性,两种物质混合生成新物质就是新产生的组成部分。
2、请以操作系统和机密性为例,分析说明为什么系统的安全性是不可能指望依靠还原论的方法建立起来的。
整体论和还原论都关心整体特性,但它们关心的是整体特性中的两种不同形态,整体论聚焦的是涌现性,而还原论聚焦的是综合特性。网络空间中系统的安全性是系统的宏观属性,属于涌现性的情形,它不可能简单地依靠系统的微观组成部件建立起来,它的形成很大程度上依赖于微观组成部分的相互作用,而这种相互作用是最难把握的。
“操作系统的机密性为例,操作系统由进程管理、内存管理、外设管理、文件管理、处理器管理等子系统构成;就算各个子系统都能保证不泄漏机密信息,操作系统也无法保证不泄漏机密信息;隐蔽信道泄漏机密信息就是一种情形,这是多个子系统相互作用引起的;换言之,操作系统的机密性无法还原到它的子系统之中,它的形成依赖于子系统的相互作用。”

系统安全思维

思考题
1、请分析说明如何借助对人的幸福感的观察去帮助理解操作系统安全性的含意,并以此解释系统化思维的含义。
一个人若想幸福地度过一生,他在人生的各个阶段都应该过得平安顺利,若要使一个操作系统能够可信赖地完成它的使命,那么就应该确保其生命周期各个阶段的任务都得到顺利完成,操作系统一方面关心会受到威胁因此需要保护的对象,另一方面考虑整体安全问题时应具有的思维方法,就是系统化思维方法。
2、请以桥梁的坚固性保障措施为启发,分析说明如何通过系统安全工程建立操作系统的安全性。
可信赖的桥梁能够抵抗风吹日晒雨打,保证车辆和行人平安通行,在正常情况下不会垮塌。针对操作系统的安全性,为了建设可信赖的安全系统,需要在系统工程中融入安全性相关要素,把安全性相关活动和任务融合到系统工程的过程之中,力求从系统生命周期的全过程去保障操作系统的安全性。

系统安全原理

基本原则

思考题
1、请分析说明“失败-保险默认原则”的名称与该原则的实际含义是否吻合,请给出你的理由。
安全机制对访问请求的决定应采取默认拒绝方案,就是宁可访问失败也要追求安全保险的这种策略,名称与实际含义是吻合的。
2、请谈谈“公开设计原则”的利与弊,并分析说明如何衡量遵守该原则是否有利于提高系统的安全性。
公开设计原则的好处:不把系统安全性的希望寄托在保守安全机制设计秘密的基础上,而是在公开安全机制设计方案的前提下,借助容易保护的特定元素,如现在更关注在秘钥上而不是算法上,算法很多都是开源的,不要用“私有”的加密算法增强系统的安全性,有助于使安全机制接受广泛的审查,进而提高安全机制的鲁棒性。
坏处:个人认为把安全性集中在特定的元素上,可能会使得敌手更容易发现目标从而进行攻击,比如密码算法中关键在于密钥的攻击,使得敌手可以专注于密钥的攻破。

威胁建模

思考题
1、请以Adept-50安全操作系统作为分析的例子,分析说明威胁、风险、攻击、安全之间存在什么样的关系。
这个安全操作系统的主要威胁是保密信息泄漏,根据信息的密级不同可能遭受攻击的程度与攻击实行后的损失不同,风险也有大有小,当威胁保密信息的行为实行后就成了对Adept-50系统的攻击,而安全操作系统意味着系统有抵御这种威胁的能力,比如Adept-50应对这种威胁的办法是制定和实施根据涉密等级控制对信息进行访问的规则,实现了一组称为低水标模型的访问控制规则。
2、请简要叙述STRIDE威胁建模方法的基本思路,并据此说明它属于以下哪种类型的威胁建模方法:以风险为中心、以资产为中心、以攻击者为中心、以软件为中心。
该方法首先给待分析的系统建模,通过建立数据流图,标识系统实体、事件和系统边界。然后,以数据流图为基本输入去发现可能存在的风险。该方法的名称是身份欺骗、数据篡改、抵赖、信息泄漏、拒绝服务、特权提升等威胁类型的缩写,它表示该方法重点检查系统中是否存在这些类型的风险。
它属于以风险为中心,着重检查某些类型威胁的风险。

安全控制

思考题
1、请从访问控制策略的分类角度,分析说明基于角色的访问控制应该划归自主访问控制类还是强制访问控制类。
RBAC应该是两者的综合,综合了两种极端(自由和强制),设计的一种综合模型。将用户不再单个考虑,而是将其组织为组,而将客体的权限也设置为角色,一种角色会有自己特定的能力,这样用户就可以以担任角色的方式来获取权限,而非直接得到权限。即保留了自由的灵活性,即用户可以担任不同的角色来获取不同的权限,又保证了权限获取的严格性,即角色是固定的,不能有自由组合的角色出现,且角色的获取是可控的。
2、访问控制策略2只考虑了给一个用户分配一个角色的情形,如果允许给一个用户分配多个角色,应该如何修改该策略?请给出你的修改方案。
访问控制策略2:构造访问控制矩阵MR,设计多种角色分配方案fR1、fR2、……,给矩阵MR中的元素赋值,按方案fR1、fR2、……给每个用户分配角色,对于任意(u, o, p)访问请求,u表示用户,确定角色r1=fR1(u),r2=fR2(u),rn=……,在MR中找到各个r和o交叉位置上的元素,只要有一处位置中m,p∈m时(用户多种角色拥有更多权限),允许(u, o, p)执行,否则,禁止(u, o, p)执行。

安全检测

思考题
1、大街小巷的各种摄像头为现实社会的安全监测提供了基础,请说说网络空间安全事件的监测是否有什么可用的基础。
可以使用系统的完整性检查机制提供从开机引导到应用运行各个环节的完整性检查功能,可以帮助发现系统中某些重要组成部分受到篡改或破坏的现象。
2、请分析说明基于特征的入侵检测和基于异常的入侵检测各有什么优缺点,并说明机器学习技术更适合于其中哪类检测。
基于特征的检测方法可以比较容易地检测出已知攻击,但很难检测出新的攻击,因为缺乏新攻击对应的模式。
基于异常的检测方法的优点是可以检测未知攻击,但一个明显的缺点是误报问题。当一个新的合法行为出现时,它很可能被当作攻击行为对待,因为事先没有建立这种行为的模型。
机器学习技术更适合于基于异常的检测方法。

安全管理

思考题
1、请对安全管理和风险的概念进行分析,以此为基础,说明在安全管理工作中为什么要遵循风险管理原则。
安全管理(Security Management)指把一个组织的资产标识出来,并制定、说明和实施保护这些资产的策略和流程,安全管理的目的是使一个组织的资产得到保护,由资产的范围可知,该目的涵盖了使系统和信息得到保护。
安全风险管理是安全管理的重要内容,它指的是把风险管理原则应用到安全威胁管理之中,主要工作包括标识威胁、评估现有威胁控制措施的有效性、确定风险的后果、基于可能性和影响的评级排定风险优先级、划分风险类型并选择合适的风险策略或风险响应。
2、每个系统总会由多个子系统构成,请先举一个网络空间中的系统的例子,然后结合该例子,分析说明为什么安装和卸载子系统都要作为系统安全领域安全管理的重要工作。
每个系统都由很多子系统组成。比如,一部手机除了有操作系统外还有很多APP。每个系统都是通过安装一个个子系统而安装起来的。每安装或卸载一个子系统都有可能影响系统的安全性。新安装的子系统可能带来新的安全隐患,比如,它有漏洞。被卸载的子系统可能肩负有安全职责,卸载它意味着删除一些安全功能。特别是,各个子系统的相互作用会产生系统安全性的整体效应。所以,安装和卸载系统要有应对安全的考虑。

系统安全结构

硬件系统安全

思考题
1、请先给出用SHA1和strcmp函数检测操作系统代码是否被篡改过的方法,然后分析说明基于软件的这种检测方法主要存在什么不足。

unsigned char *SHA1(
   const unsigned char *d,
   unsigned long n,
    unsigned char *md);

SHA1这个函数(程序)计算d中长度为n字节的消息的摘要,把结果存放在md中。

int strcmp(const char *s1,
   const char *s2);

检查一个程序P有没有被篡改,就是用SHA1函数计算P的摘要,然后用strcmp函数比较这个摘要和以前保存的P的摘要,如果返回值不为0就认为程序P被篡改了。
2、请简要说明物理不可克隆函数(PUF)硬件器件主要能提供什么功能,并说说这种硬件器件可用于应对什么安全问题。
可用于提供数字指纹,因为给定一个输入和相应条件,它能产生不可预期的唯一输出。PUF通常用集成电路实现,除了可用于标识诸如微处理器之类的硬件的身份之外,可用于生成密码运算所需要的具有唯一性的密钥。
可用于应对单靠软件自身的能力无法完全应对来自软件的攻击,其中蕴含的一个无形的假设是软件难以破坏硬件提供的功能。

操作系统安全

思考题
1、设计算机配有硬件加密解密功能,现需要一个给文件加密的应用程序,请分析说明如果不需要操作系统配合,实现这样的应用程序会遇到什么困难。
一无法保证硬件设备的加密机制能够顺利启动。攻击者可以利用恶意程序干扰该应用程序启动加密机制的操作。
二无法保证硬件设备的加密机制不被滥用。滥用硬件加密机制的意思是当合法应用程序启动了该加密机制之后,其他应用程序有可能使用该加密机制,包括使用其中的算法和密钥。
2、请分析说明操作系统提供的对文件进行的自主访问控制与对内存进行的访问控制有哪些相同之处和哪些不同之处。
相同之处是都有相应的权限,比如读写修改等,不同之处是对文件划分用户角色为普通用户与系统管理员,对内存划分为内核空间和用户空间。

数据库系统安全

思考题
1、请结合例子说明基于内容的数据库访问控制的基本原理。
在基于内容的访问控制中,系统可以根据数据项的内容决定是否允许对数据项进行访问。基于内容的访问控制要求根据数据的内容进行访问控制判定。关系数据库管理系统中的视图机制可用于提供基于内容的访问控制支持。视图是可以展示数据库表中的字段和记录的子集的动态窗口,它通过查询操作来确定所要展示的字段和记录的子集。
2、请结合例子说明针对数据库应用的SQL注入攻击的基本原理。
某个网站的登录验证的SQL查询代码为:
strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"
恶意填入userName = "1' OR '1'='1";
与passWord = "1' OR '1'='1";
时,将导致原本的SQL字符串被填为
strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"
也就是实际上运行的SQL命令会变成下面这样的
strSQL = "SELECT * FROM users;"
因此达到无账号密码,亦可登录网站。

应用系统安全

思考题
1、请分析说明跨站脚本(XSS)攻击威胁会给Web应用系统带来什么样的安全风险。
意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。主要有以下危害:
挂马
盗取用户Cookie。
DOS(拒绝服务)客户端浏览器。
钓鱼攻击,高级的钓鱼技巧。
删除目标文章、恶意篡改数据、嫁祸。
劫持用户Web行为,甚至进一步渗透内网。
爆发Web2.0蠕虫。
蠕虫式的DDoS攻击。
蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据。
2、请简要说明访问网站时涉及到的cookie是什么东西,并结合例子分析说明它是如何泄漏个人敏感信息的。
Cookie是某些网站为了辨别用户身份,进行跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息,服务器想记住的各种信息都有可能用cookie保存下来,包括用户在输入框中输入过的用户名、口令、信用卡号码等。cookie中会有用户的敏感信息,cookie的泄露会导致用户敏感信息泄露。
假如同时使用Google的Gmail和Google的搜索,当登录过Gmail之后,cookie中会保存用户信息(标识你是谁),即使在Gmail中点了注销(logout),cookie中还是会有用户信息。之后,再用Google的搜索功能,那么Google就可以通过cookie中的信息,知道这些搜索请求是哪个Gmail用户发起的。

安全生态系统

思考题
1、请说出自然生态系统和互联网生态系统的组成成分分别有哪些,并说说如何通过观察前者的相互作用分析后者的相互作用。
自然生态系统的组成成分包括无机物、有机物、环境、生产者、吞噬生物和腐生生物。无机物包括碳、氮、二氧化碳和水等。有机物包括蛋白质、糖类、脂肪和腐殖质等。环境由空气、水和基质环境构成。生产者主要是绿色植物。吞噬生物主要是细菌和真菌,它们把死亡有机物分解为无机养分。
互联网生态系统组成部分划分为六大类,分别是:
(1)域名和地址分配
(2)开放标准开发
(3)全球共享服务和运营
(4)用户
(5)教育与能力建设
(6)地方、地区、国家和全球政策制定
自然界生态系统的思想表明,生态系统的组成部分相互作用形成统一整体,组成部分间的反馈控制作用维持系统的动态平衡。该思想在网络空间同样适用,它喻示着考虑系统安全问题要注意相互作用和反馈控制。在网络空间中从生态系统的角度应对系统安全问题,一方面要把系统的概念从传统的意义上拓展到生态系统的范围,重新认识安全威胁,构建相应的安全模型;另一方面要有新的支撑技术,在自动化、互操作性和身份认证等重要关键技术方面有新的突破。
2、请以跨站脚本(XSS)攻击威胁为例,设计一个运用安全生态系统思想实现Web应用环境下个人敏感信息保护的方案。
我们可以对用户的输入进行处理,只允许输入合法的值,其它值一概过滤掉,这符合生态系统思想中的保证内部生态平衡,拒绝非法入侵生物的来临。

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

全部评论 (共 2 条评论)

    zy
    2023-11-12 20:53
    留下个脚印
    D009
    2022-11-08 22:53
    真的对我很有帮助,谢谢你谢谢你谢谢你!!!!!!!!!!!!!
    祝你每天开心,身体健康,万事如意!!!!!!!