2019-2020-1学期 20192413《网络空间安全专业导论》第十周学习总结
第4章 系统安全
4.1 操作系统概述
操作系统(Operating Systen=m,OS):是一组管理与控制计算机软件、硬件资源,为用户提供便捷计算服务的计算机系统的集合。
计算机的功能:
进程管理
内存管理
设备管理
文件管理
用户接口
4.2 操作系统安全
4.2.1 操作系统的安全威胁与脆弱性
1.操作系统的安全威胁
(1)非法用户或假冒用户侵入系统
(2)数据被非法破化或者数据丢失
(3)不明病毒的破坏和黑客入侵
(4)操作系统运行不正常
2.操作系统的脆弱性
操作系统的脆弱性主要来自以下几方面:
1)操作系统的远程调用和系统漏洞
2)进程管理体系存在的问题
操作系统的常见漏洞包括:
1)空口令或弱口令
2)默认共享密钥
3)系统组件漏洞
4)应用程序漏洞
操作系统中常见的安全保护机制
1.进程隔离和内存保护
2.运行模式
CPU的运行模式:
(1)内核模式:也称为特权模式,在Intel x86系列中,称为核心层(Ring 0)
(2)用户模式:也称为非特权模式,或者用户层(Ring 3)
3.用户权限控制
4.文件系统访问控制
4.2.3 操作系统的安全评估标准
美国国防部提出“可信计算机系统评估标准”————TCSEC(橘皮书),被认为是一项重要标准。TCSEC按处理信息的等级和采用的响应措施,将计算机安全从高到低分为A、B、C、D四类七个安全级别,共27条评估准则。
D类(无保护级)是最低的安全级别,这种系统不能在多用户环境下处理敏感信息。
C类为自主保护级别,具有一定的保护能力,采用的安全措施是自主访问控制和审计跟踪。C类分为C1和C2两个级别:自主安全保护级别(C1级)和控制访问保护级别(C2级)。
B级为强制保护级别,主要要求是TCB应维护完整的安全标记,并在此基础上执行一系列强制访问控制规则。B类分为三个级别:标记安全保护级(B1级)、机构化保护级(B2级)和安全区域保护级(B3级)。
B3级系统支持如下方面:
安全管理员职能
扩充审计机制
当发生与安全相关的事件时,发出信号
提供系统恢复机制
系统具有很高的抗渗透能力
A类分为2个级别:验证设计级(A1级)、超A1级。
超A1级系统涉及的范围包括:系统体系结构、安全测试、形式化规约与验证、可信设计环境。
4.2.4 常用的操作系统及其安全性
1.Windows 系统安全
Windows是目前全球范围内得到广泛应用的操作系统。
(1) Windows 安全子系统
- 系统登录控制流程(Winlogon)
- 安全账号管理器(SAM)
- 本地安全认证(LSA)
- 安全引用监控器(SRM)
(2) NTFS 文件系统
NTFS文件系统可以对文件系统中的对象设置非常精细的访问权限,其主要特点包括:
NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Windows2000中的FAT32支持的分区大小可达到32GB。
NTFS是一个可恢复的文件系统。
NTFS支持对分区、文件夹和文件的压缩及加密。
NTFS采用了更小的簇,可以更有效率地管理磁盘空间。
在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。
在NTFS文件系统下可以进行磁盘配额管理。
NTFS文件系统中的访问权限是累积的。
NTFS的文件权限超越文件夹的权限。
NTFS文件系统中的拒绝权限超越其他权限。
NTFS权限具有继承性。
(3) Windows 服务器和补丁包
微软公司有四种系统漏洞解决方案:Windows Update、SUS、SMS和WUS。
(4) Windows 系统日志
日志文件(log)记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用。
Windows系统用户可以通过以下手段提升Windows系统的安全性。
- 正确设置和管理系统用户账户
- 安全管理系统对外的网络服务
- 启动Windows系统日志功能,并对日志文件进行保护
2.Linux系统安全
Linux是完全免费使用和自由传播的、符合POSIX标准的类Unix操作系统,是能在各类硬件平台上运行的多用户、多任务的操作系统。
(1)Linux系统的安全机制
- PAM机制
- 加密文件系统
- 防火墙
(2)Linux系统安全防范及设置
- Linux引导程序安全设置
- 防止使用组合键重启系统
- 安全登录、注销
- 用户账号安全管理
- 文件的安全
- 资源使用的限制
- 清除历史记录
- 系统服务的访问控制
- 系统日志安全
- 关闭不必要的服务
- 病毒防范
- 防火墙
- 使用安全工具
- 备份重要文件
- 升级
- Rootkit安全防范
Rootkit的组成
一个典型Rootkit包括以下部分:
(1) 以太网嗅探器程序
(2) 隐藏攻击者的目录和进程的程序
(3) 一些复杂的Rootkit还可以向攻击者提供telnet、shell和finger等服务
(4) 一些用来清理/var/log和/var/adm目录中其他文件的脚本
LRK工作集包含有:
(1)Fix,用于改变文件的timestamp(时间戳)和checksum (校验和),它用来把篡改过的程序的timestamp和checksum变更为和原先的系统中的程序相同。
(2)Linsniffer:窃取特定网络信息(ftp/telnet/imap..) 的sniffer。
(3)Sniffchk:检测Linsniffer是否在运行。
(4)Wted:查阅或移除wtmp中指定的栏位。
(5)Z2:移除某个使用者最后的utmp/wtmp/astlog记录。
防范和发现Rootkit
要防范Rootkit,可以采用以下手段:首先,不要在网络上使用明文传输密码,或者使用一次性密码。其次,使用Tripwire和aide等检测工具能够及时地发现攻击者的入侵,它们能够提供系统完整性的检查。另外,如果怀疑自己可能被植人Rootkit,可以使用chrootkit来检查(chkrootkit 是专门针对Rootkit的检测工具)。
4.3 移动终端安全
目前主流的移动终端操作系统平台主要分为两大阵营:由苹果公司出品的iOS系统平台和谷歌公司出品的Android系统平台。
移动终端发展至今在安全防护上根基尚浅,而重视程度不高,是造成移动终端安全问题的最大原因。
4.3.1 移动终端的概念及其主要安全问题
移动终端是指可以在移动中使用的计算机设备。
移动终端的分类:
1)有线可移动终端:指U盘、移动硬盘等需要用数据线来和电脑连接的设备。
2)无线移动终端:指利用无线传输协议来提供无线连接的模块,常见的无线移动终端主要包括智能手机,POS机,笔记本电脑也属于无线移动终端。
移动终端中存在的安全问题可归纳为:敏感信息本地存储、网络数据传输、恶意软件、应用安全和系统安全问题等类型。
4.3.2 Android平台及其安全
Android系统是基于Linux的开源操作系统,无论是手机厂商还是个人开发者都可以在Android标准操作系统的基础上进行定制。
Android平台在系统架构上分为多个层次,其中比较重要的有应用层、框架层、运行时和Linux内核层。
Android平台由于其开放的特性,相对其他移动终端平台存在更大的安全风险。
Android手机ROOT之后最主要的一个影响就是不能通过官方进行系统升级了,不过可以下载大量的第三方系统固件,让手机具有更好的机身扩展性。
恶意软件可能会在用户不知情的情况下执行信息窃取、偷跑流量话费、后台静默安装其他应用等操作,对用户的隐私安全和财产安全造成威胁。
为了避免恶意软件侵害自己的移动终端设备,用户应当拒绝安装来源不明的应用,尽量通过官方渠道或可以信任的第三方应用市场下载应用。同时,可以选择安装杀毒软件增强移动终端的安全防护。
4.3.3 iOS平台及其安全
iOS是从苹果公司的桌面系统MacOSX精简变化而来,两款操作系统都基于名为Darwin的类UNIX内核。
iOS相较于Android的优点:封闭的开发环境和相对完善的安全机制使其系统的受攻击面大大缩小,可以较好的保护用户的数据,避免恶意软件的侵害,因此获得了众多用户的信赖。
在iOS众多安全机制中,具有代表性的有权限分离、强制代码签名、地址空间随机布局和沙盒。
沙盒机制的功能限制:无法突破应用程序目录之外的位置;无法访问系统上其他的进程;无法直接使用任何硬件设备;无法生成动态代码。
XcodeGhost造成的危害如下:
1)上传用户信息
2)应用内弹窗
3)通过URLScheme执行其他操作
XcodeGhost造成重要影响的原因:从开发环境入手在编译阶段植入恶意代码;没有审核应用中的恶意代码;开发者安全意识的缺失。
4.3.4 移动系统逆向工程和调试
逆向工程:通过反汇编、反编译等手段从应用程序的可执行文件中还原出程序原代码的过程。
逆向工程可以划分为系统分析和代码分析两个阶段。
在代码分析阶段,主要通过发现安全漏洞、检测恶意代码和病毒木马分析对程序的二进制文件进行分析。
逆向工程的两个重要作用:
1)攻破目标程序,拿到关键信息,可以归类于与安全相关的逆向工程。
2)借鉴他人的程序功能来开发自己的软件,可以归类于与开发相关的逆向工程。
apk文件所包含的文件:
1)AndroidMainifest.xml文件
2)res文件夹
3)classes.dex文件
4)Resources.arsc
5)META-INF文件夹
为防止应用软件被Android逆向工程,可以采用以下几种防护措施:
1)代码混淆:可以使用ProGuard对Java代码进行混淆,增加反编译后代码阅读的难度。
2)加壳:通过为apk增加保护外壳的方式,保护其中的代码,增加非法修改和反编译的难度。
3)调试器检测:在代码中添加检测动态调试器的模块,当程序检测到调试器依附时,立即终止程序运行。
常用的iOS逆向分析工具如下:
1)Dumpcrypt:对从AppStore中下载的应用进行脱壳操作。
2)class-dump:通常在逆向工程初始阶段使用class-dump。
3)IDAPro与HopperDisassembler:知名的反汇编工具,用于对可执行文件进行精确而细致的静态分析,转化为接近源代码的伪代码。
4)GDB与LLDB
5)Cycript
逆向工程已经成为保障系统安全的主要手段,通过逆向工程,能够进一步发现系统中的漏洞和安全隐患,更好地保证用户安全。
4.4 虚拟化安全
虚拟化是目前云计算重要地技术支撑,需要整个虚拟化环境中的存储、计算及网络安全等资源的支持。
4.4.1 虚拟化概述
计算机虚拟化技术是一种资源管理技术,它将计算机的各种物理资源,通过抽象、转换后呈现给用户。
4.4.2 虚拟化技术的分类
按应用分类:
1)操作系统虚拟化
2)应用程序虚拟化
3)桌面虚拟化
4)存储虚拟化、网络虚拟化等
按照应用模式分类:
1)一对多
2)多对一
3)多对多
按硬件资源调用模式分类:
1)全虚拟化
2)半虚拟化
3)硬件辅助虚拟化
按运行平台分类:
1)X86平台
2)非X86平台
4.4.3 虚拟化环境中的安全威胁
虚拟化系统中可能存在的安全问题:虚拟机逃逸、虚拟化网络环境风险、虚拟化镜像和快照文件的风险和虚拟化环境风险。
4.4.4 虚拟化系统的安全保障
Hypervisor在虚拟化系统中处于核心地位,它能控制并允许启动Guest OS、创建新Guest OS镜像、执行其他特权操作。
关于如何增强Hypervisor安全的建议:
1)安装厂商发布的Hypervisor的全部更新
2)限制Hypervisor管理接口的访问权限
3)关闭所有不用的Hypervisor服务
4)使用监控功能来监视每个Guest OS的安全
5)仔细地监控Hypervisor自身地漏洞征兆
关于对Guest OS自身的安全建议:
1)遵守推荐的物理OS管理惯例
2)及时安装Guest OS的全部更新
3)在每个Guest OS里,断开不用的虚拟硬件。
4)为每个Guest OS采用独立的认证方案
5)确保Guest OS的虚拟设备都正确关联到宿主系统的物理设备上
规划和部署的安全的主要措施:规划、设计(认证问题和密码问题)、实施(物理到虚拟的转化、监控方面、实施的安全性、运维)等方面
7.2 云安全
7.2.1 云的相关概念
1.云
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,具有封装性、 独立性、隔离性、兼容性,且独立于硬件。
云是一种比喻说法,是一个计算资源池,通常为一些大型服务器集群,每一群包括了几十万台甚至上百万台服务器,是一种为提供服务而开发的整套虚拟环境。
从不同维度可以有不同的云分类。 从技术架构可以分为三层,即服务软件即服务( SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS); 从云面向的对象可以分为公有云、私有云和混合云。
2.云计算
云计算(CloudComputing)是一种计算方法,即将按需提供的服务汇聚成高效资源池(包括网络、服务器、存储、应用软件、服务),以服务的形式交付给用户使用。
云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡( Load Balance)、热备份冗余( High Available) 等传统计算机和网络技术发展融合的产物。
3.云服务
云服务是在云计算环境下的服务交付模式,是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展的资源,云服务提供的资源通常是虚拟化的资源。
目前云服务提供三种不同层次的模式:基础架构即服务(IaaS)、 平台即服务( PaaS)、 软件即服务( SaaS)。 未来将会出现各种各样的云产品。通常所说的云服务,其实就是指上述三种层次的云服务中的一种。
4.云主机
云主机是云计算在基础设施应用上的重要组成部分,处于云计算产业链金字塔的底层。云主机是在一组集群主机上虚拟出的多个类似独立主机,集群中每个主机上都有云主机的一个镜像,拥有自己的操作系统,完全不受其他主机的影响。
云主机整合了计算、存储与网络资源的IT基础设施能力租用服务,能提供基于云计算模式的按需使用、按需付费能力的服务器租用服务。在云环境里面,类似云主机的主体还有云存储、云应用、云数据库、云桌面等。
5.云安全
云安全(Cloud Security)是一个从云计算衍生而来的新名词,是指云及其承载的服务,可以高效、安全的持续运行。
云安全类似传统领域安全,涵盖云环境所涉及的物理安全、网络安全、主机安全、数据库安全、应用安全等,云安全在传统安全的基础上还增加了虚拟安全等方面的安全防护。
在安全设备上也可以实现虚拟化安全设备的部署,比如云保垒、云WAF等。
7.2.2 云面临的安全挑战
目前云面临的安全挑战主要集中在四个方面:
如何解决新技术带来的新风险。
如何规划资源、数据等带来的风险。
如何落实政策、法规方面的各项要求指标的风险。
如何去运维管理云及其资源的风险。
1.新技术
新技术带来的安全风险:
可控性
动态性
虚拟机逃逸
2.集中化
集中化安全挑战:
云数据中心安全防护方面存在网络结构的规划与设计,系统的识别与迁移,权限集中等问题。
云平台管理员存在权限滥用风险。
用户的安全隔离。
资源池内用户抢夺资源和恶意攻击等。
3.合规性
4.运维管理
7.2.3 云环境下的安全保障
1.云安全标准
2.云安全建设
云安全建设需要从六大层面考虑, 包括物理层、网络层、主机层、应用层、虚拟化层和数据层。
1)物理安全方面需要考虑门禁、消防、温湿度控制、电磁屏蔽、防雷、环境监控系统等方面的信息安全建设防护。
2)网络安全的安全建设通过FW、IDS/IPS.DDoS、VPN等方式去实现,举例说明产品功能如下:
FW:通过防火墙实现安全隔离。
IDS/IPS: 部署入侵防御系统,通过日志监控、文件分析、特征扫描等手段提供账号暴力破解、WebShell查杀等防入侵措施。
DDoS:防DDoS清洗系统可抵御各类基于网络层、传输层及应用层的各种DDoS攻击,并实时短信通知网站防御状态。
VPN:建立安全通道,保证用户访问数据的信息进行保密性、完整性和可用性。
3)主机安全需要考虑终端安全、主机安全、系统完整性保护、OS 加固、安全补丁、病毒防护等方面的信息安全建设防护。
4)虚拟化安全建设可以通过虑虚拟化平台加固、虚拟机加固与隔离、虚拟网络监控、恶意VM预防、虚拟安全网关VFW/VIPS等多方面去进行技术实现。
VFW/VIPS是虚拟化防火墙与虚拟化入侵防御系统,能提供全方位的云安全服务,包括访问控制、流量及应用可视化、虚机之间威胁检测与隔离,网络攻击审计与溯源等。
5)应用安全建设可以考虑通过多因素接人认证、WAF、安全审计等技术实现,其中:
WAF: Web应用防火墙安全防护,能有效拦截SQL注人、跨站脚本等类型的Web攻击,提供高危0day漏洞24小时快速响应服务。
安全审计:制定并持续优化信息安全审计规则,依此对信息系统及应用操作进行 记录和审计,对违规行为和异常操作进行分析和预警,生成安全审计报告。
6)数据安全可以从数据访问控制、DB-FW、镜像加密、数据脱敏、剩余信息保护、存储位置要求等方面进行信息安全建设防护。
DB-FW解决数据库应用侧和运维侧两方面的问题,是基于数据库协议分析与控制技术的数据库安全防护系统。它能实现数据库的访问行为控制、危险操作阻断、可疑行为审计等功能。