2019-2020-1学期 20192415
《网络空间安全专业导论》第十周学习总结
第四章 系统安全
4.1 操作系统
操作系统(Operating Systen=m,OS):是一组管理与控制计算机软件、硬件资源,为用户提供便捷计算服务的计算机系统的集合。
通过各种驱动程序驱动计算机底层硬件工作,通过统一的调度管理程序。
操作系统以进程管理的方式对应用软件的运行进行统一管理,一个应用软件运行时可以生成多个进程,由操作系统负责为每个进程分配内存空间和所需其他资源。
计算机操作系统的功能:
-
进程管理(处理器管理):主要负责对中央处理器(CPU)的时间进行合理分配、对处理器的运行进行有效的管理。
-
内存管理:主要负责对计算机内存空间进行合理分配、保护和扩充,用于解决多道进程共享内存资源时的冲突,并通过有效的管理方式提高计算机内存空间利用率。
-
设备管理:根据一定的分配原则对计算机的硬件设备进行调度与分配,使设备与计算机能够并行工作。
-
文件管理:负责有效地管理计算机磁盘的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供更有效的方法及手段。
-
用户接口:用户操作计算机的界面。
主要分类:命令行接口、图形界面接口和程序调用接口( Application Programming Interface,API)几种类型。
注:越来越多的操作系统运行于虚拟化的硬件环境之中,此时由于虚拟化环境位于操作系统的下层,因此虚拟化环境的安全问题也将对操作系统的安全性带来严重威胁。
4.2 操作系统安全
(一)操作系统中常见的安全保护机制
1.进程隔离和内存保护
-
在多任务模式下,计算机操作系统中加入了内存管理单元模块(Memory Management Unit,MMU)。
-
MMU模块负责分配进程运行所需的内存空间,进程隔离和内存保护机制禁止程序读写其他进程以及系统进程的内存空间来实现隔离,同时能实现通信机制与资源共享机制。
2.运行模式
分类:
内核模式:也称为特权模式,在Intel x86系列中,称为核心层(Ring 0)。
将允许执行一些仅在特权模式下可以执行的特殊指令和操作
用户模式:也称非特权模式,或者用户层(Ring 3)。
-
操作系统通常运行在特权模式下,其他应用程序则运行在用户模式下。
-
操作系统的运行不受其他应用程序干扰和破坏的作用。
3.用户权限控制
多任务、多用户:
系统管理员用户→全部管理权限
普通用户件→执行、修改
访问用户→访问
4.文件系统访问控制
-
操作系统中的数据和程序通常以文件的方式存储在计算机的磁盘空间中。
-
操作系统通过对文件的操作权限进行限制来实现文件的访问控制机制。
-
典型的文件操作权限控制是对文件的读、写和执行三方面权限进行限制,分别对应对文件进行读取、修改和运行的操作。
(二)操作系统的安全评估标准
(三)常见的操作系统及其安全性
Ⅰ Windows系统安全
Windows系统的安全性以Windows安全子系统为基础,辅以NTFS文件系统Windows服务与补丁包机制、系统日志等,形成了完整的安全保障体系。
㈠ Windows安全子系统
构成:
⑴系统登录控制流程(Winlogon)
⑵安全账号管理器(SAM)
⑶本地安全认证(LSA)
⑷安全引用监控器(SRM)
控制:
⑴Windows系统用户账号
⑵系统登录流程
⑶系统内对象访问权限
㈡ NTFS文件系统
NTFS文件系统可以对文件系统中的对象设置非常精细的访问权限。
其主要特点包括:
NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Windows2000中的FAT32支持的分区大小可达到32GB。
NTFS是一个可恢复的文件系统。
NTFS支持对分区、文件夹和文件的压缩及加密。
NTFS采用了更小的簇,可以更有效率地管理磁盘空间。
在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。
在NTFS文件系统下可以进行磁盘配额管理。
NTFS文件系统中的访问权限是累积的。
NTFS的文件权限超越文件夹的权限。
NTFS文件系统中的拒绝权限超越其他权限。
NTFS权限具有继承性。
㈢ Windows服务包和补丁包
㈣ Windows系统日志
Ⅱ Linux系统安全
Linux是完全免费使用和自由传播的、符合POSIX标准的类Unix操作系统,是能在各类硬件平台上运行的多用户、多任务的操作系统。
㈠ Linux系统的安全机制
Linux是一个开放式系统,在网络上有许多可在 Linux系统上运行的程序和工具,这既方便了用户,也方便了黑客,他们通过这些程序和工具潜入Liux系统,或者盗取Linux系统上的重要信息。
Linux采取了许多安全技术措施,有些是以“补丁”的形式发布的:
PAM机制:插件式鉴别模块(PAM)机制是一种使用灵活、功能强大的用户鉴别机制,采用模块化设计和插件功能,在应用程序中插入新的鉴别模块,而不必对应用程序做修改,从而使软件的定制、维持和升级更加轻松。
加密文件系统:加密文件系统就是将加密服务引入文件系统,从而提高计算机系统安全性的手段。
Linux防火墙:可以提供访问控制、审计、抗攻击、身份验证等功能,通过防火墙的正确设置可以大大提高系统安全性。
㈡ Linux系统安全防范及设置
Linux引导程序安全设置、防止使用组合键重启系统、安全登录、注销、用户账号安全管理、文件的安全、资源使用的限制、清除历史记录、系统服务的访问控制、系统日志安全、关闭不必要的服务、病毒防范、防火墙、使用安全工具、备份重要文件、升级、Rootkit安全防范。
Rootkit是可以获得系统root访问权限的一类工具。实际上,Rootkit是攻击者用来隐藏自己踪迹和保留root访问权限的工具,主要的表现形式就是修改正常的程序来实现自己的目的。
(三)移动终端安全
随着移动互联网的飞速发展,作为操作系统的一种,移动终端操作系统也得到了广泛的应用。目前主流的移动终端操作系统平台主要分为两大阵营:由苹果(Aple)公司出品的iOS系统平台,和谷歌( Google)公司出品的 Android(安卓)系统平台。
-
移动终端的概念及其主要安全问题
移动终端(移动通信终端):指可以在移动中使用的计算机设备。
类别:有线可移动终端,无线移动终端
移动终端面临的安全问题
敏感信息本地存储、网络数据传输、应用安全问题、恶意软件(恶意软件是指在安装运行之后会对用户造成危害的软件)、系统安全问题。
-
Android平台及其安全
Android系统已经成为世界范围内广泛使用的移动端操作系统。
Android的平台特性
Android系统是基于Linux的开源操作系统,无论是手机厂商还是个人开发者都可以在Android标准操作系统的基础上进行定制。正是由于此项特性,使得 Android,成为广受欢迎的移动端操作系统,也是 Android与iOS系统的最大区别。 Android平台在系统架构上分为多个层次,其中比较重要的有应用层、框架层、运行时和 Linux内核层
Android平台的安全问题
Android平台由于其开放的特性,相对其他移动终端平台存在更大的安全风险。主要的安全威胁来源于ROOT和恶意软件。
ROOT的危害
在Linux系统中,ROOT是拥有最高权限的用户。 用户在使访问文件系统用手机的时候能够获得ROOT权限。虽然ROOT能为部分用户带来使用时的便利,但同时也会带来部分安全隐患。比如,在ROOT之后,病毒将绕过 Android系统的权限限制,直接在ROOT权限下运行。
恶意软件的威胁
由于 Android系统的开放性,用户可以随意地从网络上或第三方应用市场下载应用并安装,这为恶意软件的传播带来了便捷的渠道。 恶意软件可能会在用户不知情的情况下执行信息窃取、偷跑流量话费、后台静默安装其他应用等操作,对用户的隐私安全和财产安全造成成胁。
-
iOS平台及其安全
iOS平台的安全机制
在iOS众多安全机制中,具有代表性的有权限分离、强制代码签名、地址空间随机布局和沙盒。 地址空间随机布局:地址空间随机布局( Adddress Space Layout Randomization)是通过让对象在内存中的位置随机布局以防御攻击代码的措施。 沙盒( Sandbox)):沙盒是OS另外一种重要的安全机制。
Xcodeghost事件分析
Xcodeghost的攻击方式是修改Xcode配置文件。 Xcodeghost造成的危害有如下几种: 1)上传用户信息 2)应用内弹窗 3)通过 UrlScheme执行其他操作
-
移动系统逆向工程和调试
移动终端逆向工程概述
逆向工程,顾名思义,是通过反汇编、反编译等手段从应用程序的可执行(二进制)文件中还原出程序原代码的过程。在OS和 Android系统中,破坏者通常会利用逆向工程的手段分析系统,进而实施攻击。作为防护方,我们也必须了解移动终端的逆向工程知识,以便更好地保护系统。 逆向工程主要有两个作用: 攻破目标程序,拿到关键信息,可以归类于与安全相关的逆向工程。 借鉴他人的程序功能来开发自己的软件,可以归类于与开发相关的逆向工程。 常用的iOS逆向分析工具有以下几种:
Dumpcrypt:对从Appstore中下载的应用进行脱壳操作。
class-dump:使用该工具可以从Mach-O文件中获取应用程序的类信息,并生成对应的.h文件。通过 class-dump获取的信息,可以快速辅助搭建APP源代码的大致框架。 IDAPro与HopperDisassembler:知名的反汇编工具,用于对可执行文件进行精准而细致的静态分析,转化为接近源代码的伪代码。 GDB与LDB:与静态分析相对应,这两款工具通过动态调试的方式对程序进行更深入透彻的分析。 Cycript:通过进程注入的方式依附运行中的OS程序,并可以使用 Javascript语法程序进行测试。
针对OS逆向不同环境下的特殊需求,可以选择使用多种辅助工具进行逆向工程
7.2 云安全
(一)概念
1. 云
云:计算机资源池,为大型服务集群提供服务而开发的整套虚拟环境。(降低成本,提高利用率)
◆从技术构架将云分类:
- 软件即服务(SaaS)
- 平台即服务(PaaS)
- 基础设施即服务(IaaS)
◆虚拟机(Virtual Machine):通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
在网络上,无法分辨出虚拟机和实体机。
◆云虚拟主机
具有封装性、独立性、隔离性、兼容性、且独立于硬件。
云虚拟主机具有高度可用的云架构,将站点数据存放于云存储当中。同云主机不一样的是,云虚拟主机同时运行在服务器集群的每一个成员节点服务器上,也就是说在每一个节点服务器上都可以找到一个一模一样的站点,并且不同节点服务器上的同一个站点的配置以及数据都是一致的。
1. 站点连接数随着节点服务器的增加而线性上升,突破单个站点连接数的限制。
2. 多台节点服务器实现负载均衡,当某个节点的负载过高时,集群内部将自动把过多的负载均摊到其他节点上去,可有效抵挡黑客的攻击。
3. 当某个节点上的某个站点不能访问时,站点的访问将会自动转移到下一个节点的同一个站点上去,从而有效地避免了单点故障的发生。
2. 云计算
云计算(Cloud Computing):一种计算方法,按需提供的服务汇聚成高效资源池,以服务的形式交付给用户使用。
通过互联网提供动态、易扩展且经常是虚拟化的资源。
实现了计算资源的随取随用。
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。
因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
云计算不是一种全新的网络技术,而是一种全新的网络应用概念,云计算的核心概念就是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。
云计算的核心是可以将很多的计算机资源协调在一起,使用户通过网络就可以获取到无限的资源,同时获取的资源不受时间和空间的限制。
3. 云服务
在云计算环境下的服务交付模式
基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展的资源
云服务提供的资源通常是虚拟化的资源
云服务可以将企业所需的软硬件、资料都放到网络上,在任何时间、地点,使用不同的IT设备互相连接,实现数据存取、运算等目的。
当前,常见的云服务有公共云(Public Cloud)与私有云(Private Cloud)两种
公共云还可细分为3个类别:
Software-as-a-Service, SaaS(软件即服务)
一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。
Platform-as-a-Service, PaaS(平台即服务)
PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
Infrastructure-as-a-Service, IaaS(基础设施即服务)
消费者通过Internet可以从完善的计算机基础设施获得服务。
4. 云主机
云主机是在一组集群主机上虚拟出的多个类似独立主机,集群中每个主机上都有云主机的一个镜像,拥有自己的操作系统,完全不受其他主机的影响。
云主机整合了计算、存储与网络资源的IT基础设施能力租用服务,能提供基于云计算模式的按需使用、按需付费能力的服务器租用服务。
5. 云安全
云安全(Cloud Security):云及其承载的服务,可以高效、安全的持续运行。
在传统安全的基础上增加了虚拟安全等方面的安全防护;
在安全设备上可以实现虚拟化安全设备的部署,例:云堡垒、云WAF
(二)云面临的安全挑战
-
如何解决新技术带来的新风险
-
如何规划资源、数据等带来的风险
-
如何落实政策、法规方面的各项要求指标的风险
政策标准合规性,国内比较权威的:云等保、云可信
一个中心三重防护:建立以计算环境安全为基础,以区域边界安全、通信网络安全为保障,以安全管理中心为核心的信息安全整体保障体系。
-
如何去运维管理云及其资源的风险
(三)云环境下的安全保障
-
七大主流云安全标准
CSA(国际)—— ENISA(欧盟)—— NIST(美国)—— OWASP(国际)—— CPNI(英国)—— SANS(美国)—— PCI-DSS(国际)
-
云安全建设
问题
1.在云计算中,“按需”是怎样进行的?
按需(on—demand)计算 将计算机资源(处理能力、存储等)打包成类似公共设施的可计量的服务。
在这一模式中,客户只需为他们所需的处理能力和存储支付费用。
那些具有很大的需求高峰并伴有低得多的正常使用期的公司特别受益于效用计算。
当然,该公司需要为高峰使用支付更多,但是,当高峰结束,正常使用模式恢复时,他们的费用会迅速下降。
2.什么是“进程”?
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。
程序是指令、数据及其组织形式的描述,进程是程序的实体。