[NCRE](三级)信息安全技术

根据2018版教程整理。

(一)背景概述

  1. 信息技术的发展
阶段 技术 时间 人物
电讯 电报 1835 莫尔斯
电话 1876 贝尔
电视 1925 贝德
计算机 图灵机 1936 图灵
数字电路 1937 香农
EDVAC 1945 冯诺依曼
ENIAC 1946 宾法大学
互联网 ARPAnet 1960s末 TCP/IP
Internet 1990s
  1. 信息技术的消极影响
    (1) 信息泛滥
    (2) 信息污染
    (3) 信息犯罪

  2. 信息安全的发展
    (1) 通信保密 : (1949) 香农 -《保密系统的通信理论》
    (2) 计算机安全
    <1> 1976 : D-H : 公钥密码
    <2> 1977 : DES
    <3> 1980s : TCSEC : 4等级7级别 - 可信计算机系统评估准则 - 橘皮书 - USA
    <4> 1990s : CC (ISO 15408) : 信息技术安全性评估通用准则 : 6国7方
    <5> 2015 : GB/T 18336 : 安全评估的国家标准
    (3) 信息安全保障
    <1> 1995:PDRR模型(保护-监测-响应-恢复):美国防部
    <2> 1999:BS 7799/ISO 7799:英
    (i) BS 7799-1 :信息安全管理体系实施细则
    (ii) BS 7799-2:信息安全管理体系规范
    <3> 1998:IATF:美NSA:信息保障技术框架
    <4> 1999:我国:WPDRRC:预警-保护-监测-应急-恢复-反击
    (i) 能力:保护,检测,反应,恢复
    (ii) 层面:人员,技术,管理

  3. 信息安全的基本属性
    (1) 机密性
    (2) 完整性
    (3) 可用性
    (4) 可控性
    (5) 不可否认性

  4. 信息安全保障体系
    (1) 体系框架
    <1> 生命周期:规划组织,开发采购,实施交付,运行维护,废弃
    <2> 保障要素:技术,管理,工程,人员
    <3> 安全特征:机密性,完整性,可用性
    (2) 安全模型:P2DR(策略,防护,检测,响应),核心是策略
    (3) 技术框架(IATF)
    <1> 核心思想:纵深防御战略
    <2> 核心要素:人员,技术,操作
    <3> 焦点域:本地,边界,网络,支撑

  5. 我国信息安全建设
    (1) 2003:《国家信息化领导小组关于加强信息安全保障的意见》- 开始
    (2) 2004:《电子签名法》- 中国首部信息化法律
    (3) 2016:《网络安全法》颁布


(二)基础技术

2.1 密码学

2.1.1 密码学概述

  1. 密码学分类
    (1) 密码编码学(加密)
    (2) 密码分析学(破译)

  2. 密码体制组成
    (1) 消息空间
    (2) 密文空间
    (3) 密钥空间
    (4) 加密算法
    (5) 解密算法

  3. 密码体制分类
    (1) 对称密码
    <1> 优点:加解密速度快; 缺点:密钥管理困难,数字签名困难
    <2> 公开设计原则:密钥保密
    <3> 传统加密方法:代换,置换
    <4>设计思想:扩散,混淆(方法是乘积迭代)
    <5> 攻击方法
    (i) 唯密文攻击
    (ii) 已知明文攻击
    (iii) 选择密文攻击
    (iv) 选择明文攻击
    差分分析
    线性分析
    <6> 分类
    (i) 分组密码(分块密码)
    DES:1970s,64位分组/密钥,8位奇偶校验,Feistel网络
    AES:2001,128位分组,128/192/256位密钥,SP网络
    IDEA:1990,64位分组,128位密钥
    分组密码工作模式
    a/. ECB:Electronic Codebook,电子密本,基本模式
    b/. CBC:Cipher Block Chaining,密码分组链,IV明文,数据为分组整数倍
    c/. CFB:Cipher Feedback,密码反馈
    d/. OFB:Output Feedback,输出反馈,转成序列密码
    e/. CTR:Counter,计数模式,安全性与CBC一样好
    (ii) 序列密码(流密码) :RC4,SEAL
    (2) 公钥密码(非对称)
    <1>RSA:基于大整数因式分解困难性,n至少为1024位
    (i) 随机选择两个大素数p,q
    (ii) 计算 n=pq,phi(n) = (p-1)(q-1)
    (iii) 选择e,满足:1 (iv) 计算 ed = 1 mod phi(n)
    (v) 公钥 :(e, n),密钥:(d, n),加密:C = M^e mod n,解密:M = C^d mod n
    <2> ElGamal:基于离散对数困难性
    <3> ECC:基于椭圆曲线离散对数问题,ECC-161 = RSA-1024

  4. 国密算法
    (1) SM4 = AES
    (2) SM2 = RSA
    (3) SM3 = SHA-256,Merkle-Damgard结构,512*n -> 256

2.1.2 哈希函数(散列/杂凑函数)

  1. 性质
    (1) 压缩性:将任意长度的输入变换成固定长度的输出
    (2) 单向易计算
    (3) 抗碰撞
    (4) 高灵敏

  2. 应用:消息认证、数字签名、完整性校验、口令加密(非数据加密!)

  3. 常见
    (1) MD5(消息摘要算法):512 * n -> 128
    (2) SHA(安全散列算法):512 * n -> 160
    注:SHA比MD5安全,但计算速度慢。

2.1.3 数字签名

  1. 原理:公钥密码 + Hash函数
  2. 应用:鉴权、抗抵赖、完整性
  3. DSS:美国数字签名标准(1994)

2.1.4 密钥管理

  1. 密钥生成
    (1) 会话/文件密钥(两端一次交换数据所用):如用X9.17标准(3DES)生成
    (2) 加密密钥(用于加密会话密钥):机器生成或人为选定,存于主机
    (3) 主密钥(用于加密加密密钥):长期不变,存于主机
    (4) 基本/初始密钥:人工选定或系统分配,与会话密钥一起控制密钥产生器

  2. 密钥分配
    (1) 基于人工分发
    (2) 基于中心(第三方分发密钥)
    注:第三方可以是KDC(密钥分发中心)或KTC(密钥转换中心)
    <1> 拉模式:A想和B通信,通信前先从KDC拿回一个密钥
    <2>推模式:A想和B通信,通信前A先让B从KDC拿回一个密钥
    (3) 基于认证(公钥证书):CA为A建立公钥证书,A将自己的公钥通过此证书发给B,B用CA的公钥对证书加以验证。
    (4) 基于Diffie-Hellman密钥交换协议:设p是素数,g是p的一个原根,g和p都是全局参数;甲和乙分别选定某数a和b,计算A=g^a mod p 和 B=g^b mod p,交换A和B;则共享 K =A^b = B^a mod p。

  3. 密钥存储
    (1) 公钥:通过CA验证公钥确实属于某个用户
    (2) 私钥
    <1> 本地硬盘
    <2> 网络目录服务器:使用口令登录获取或修改私钥
    <3> Smard Card(智能卡):信用卡大小,需要专门的读卡器,不易推广
    <4> USB Key:形如U盘,内置CPU,运算均在此硬件内完成,私钥不出卡

  4. 密钥更换及撤销
    (1) 密钥更换:可采用批密钥生成方式,一个生效则另一个废除
    (2) 密钥撤销:公钥的有效期为1到2年

注: C/S模式系统中的加密

  1. 用户口令以MD5存储,并发送。
  2. AES-128/ SHA-160/MD5-128/RSA-1024
  3. RSA的公钥 (n,e),e的二进制应尽量少含1(建议e=65537,两个1)
  4. RSA中d
  5. 会话密钥协商:Diffie-Hellman算法
  6. 公钥证书发给另一用户:A=g^a mod p, B=g^b mod p, K=A^b = B^a=g^(ab) mod p

2.2 认证

认证不能防止发送方否认,需要用到数字签名。

  1. 消息认证
    (1) 消息加密
    (2) 消息认证码(MAC)
    (3) 哈希函数
  2. 身份认证
    (1) 静态密码
    (2) 动态口令
    <1> 短信
    <2> 动态口令牌
    (3) USB Key
    <1> 挑战/应答模式
    <2> PKI模式
    (4) 生物识别

注:身份认证协议
<1> 基于口令
<2> 基于对称密码
<3> 基于公钥密码

2.3 访问控制

访问控制是用户进入系统的第一道防线。
主体访问客体,访问控制实质是一种授权行为。

  1. 访问控制模型
    (1) 自主访问控制(DAC):访问控制矩阵
    <1> 行:访问能力表(用户)
    <2> 列:访问控制表(目标)
    (2) 强制访问控制(MAC)
    <1> Bell-Lapadula模型:不上读/不下写(保密)
    <2> Biba模型:反BP(完整)
    <3> Chinese Wall模型:DAC + MAC
    (3) 基于角色的访问控制(RBAC):角色、用户、许可

  2. 访问控制技术
    (1) 集中式:AAA管理(认证、授权、审计)
    <1> RADIUS:UDP,C/S模式,认证+授权,固定密码,仅加密密码
    <2> Diameter:RADIUS的升级版协议,TCP,P2P模式,认证授权分离,IPsec,分布式审计
    <3> TACACS+:TCP,认证授权分离,动态密码,加密所有数据
    (2) 分布式:跨域访问
    <1> 单点登录(SSO):仅一次认证能登录多个应用系统
    <2> Kerberos协议:对称加密,单点登录,结合授权,不依赖系统
    <3> SESAME:多厂商欧洲安全系统,支持Kerberos V5

2.4 审计监控

  1. 审计系统:日志记录器,分析器,通告器
  2. 恶意行为监控:监控攻击行为和入侵行为
    (1) 主机监测:杀毒软件,基于主机的IDS
    (2) 网络监测
    <1> 流量监听
    <2> 在未使用IP地址空间被动收集数据(???)
    <3> 蜜罐技术:将未使用地址伪装成活动空间,与入侵者交互获取入侵详细信息
    (i) 高交互蜜罐:具有完整操作系统的虚拟机(主机行为监控模块装于此)
    (ii) 低交互蜜罐:虚拟部分操作系统及服务
    <4> 密网技术(诱捕网络):一种高交互蜜罐,可包含多个蜜罐,其内的行为都是恶意的。
    <5> 恶意代码诱捕系统:高交互蜜罐 + 低交互蜜罐 + 主机行为监控模块(装于高交互蜜罐)
  3. 内容审计
    (1) 内容监控主要方法:网络舆情分析
    (2) 内容审计模型
    <1> 流水线模型
    <2> 分段式处理模型
    (3) 不良信息监控方法
    <1> 网址过滤
    <2> 网页内容过滤
    <3> 图像内容过滤

(三)系统安全

3.1 操作系统

  1. 操作系统基础
    (1) CPU
    <1> 内核模式:操作系统(0环)
    <2> 用户模式:其他应用(3环)
    注1:用户模式到内核模式的唯一方法是触发硬件自陷(中断,异常,显式执行自陷指令)
    注2:保护环
    <1> 0环:系统内核
    <2> 1环:操作系统
    <3> 2环(许多系统不用):I/O驱动及其他
    <4> 3环:应用程序
    (2) 内存管理:MMU
    (3) 用户接口:作业级,程序级
    (4) 系统调用(system call):系统内核中的一组子程序,供应用程序调用
    (5) 进程管理
    <1> 进程管理通过中断实现
    <2> 进程是运行中的程序,是系统用于组织资源的最小单位
    <3> 线程是CPU执行的最小单位,可在同一进程中共享资源
    <4> 进程隔离:要求进程有不同的虚拟地址
    (6) 文件系统
    <1> 文件系统本质是数据链表。
    <2> 文件系统在操作系统的下层,操作系统也是保存在文件系统中。
  2. Linux
    (1) 重要进程
    <1> init:id=1,linux启动后第一个进程
    <2> inetd:监视网络请求的守护进程(xinetd)
    <3> syslogd:审计工具
    (2) 重要命令
    <1> ls -l 查看文件权限
    -rwxrw---- 1 root root 2967 Sep 15 10:25 mbox
    (i) -表示是正规文件,此外还有d(目录),l(软链接),s(socket文件) 等
    (ii) 之后的9位里每3位分别表示拥有者,所在组和其他用户的权限;
    可读(r),可写(w),可执行(x)
    (iii) 1 root root 表示链接数, 拥有者和所在组的ID
    (iv) 2967 Sep 15 10:25 文件大小,最后一次修改时间,文件名
    <2> chmod number file 改变文件权限
    number为八进制数,拥有者的可读、可写、可执行分别对应400, 200, 100;所在组的可读、可写、可执行分别对应40, 20, 10;其他用户的可读、可写、可执行分别对应4, 2, 1
    (i) chown 改变拥有权
    (ii) chgrp 改变分组
    <3> who 显示当前用户
    注1:who显示的是真正登录系统的用户,whoami显示的是当前操作系统的用户(如果用su命令切换了用户);
    注2:users只用一行打印出当前登陆的用户,每个用户对应一个登录会话
    <4> last 显示自wtmp文件第一次创建以来登陆过的用户;如果指定用户,则列出其的近期活动
    (3) 文件系统
    <1> 文件的i节点:UID(文件拥有者),GID(文件所在组),模式(文件权限设置)
    <2> 目录结构
    /bin 用户命令的可执行文件
    /dev 特殊设备文件
    /etc 配置管理文件
    /tmp 临时文件
    /var 统计、日志文件
    (4) 账号口令管理
    <1> /etc/passwd 用户关键信息
    root:x:0:0: root: /root: /bin/bash
    注册名:口令:用户ID:组ID:用户名:用户主目录:登录shell
    <2> /etc/shadow 真正的口令文件,只有超级用户才能读取
    <3> 超级用户不只root一个,任何用户只要UID=SID=0都可为超级用户
    (5) 日志系统
    /var/log/wtmp 一个用户每次登录和退出的时间记录
    /var/run/utmp 记录当前的每个用户
    lastlog 记录最近几次成功登录的事件和最后一次不成功的登录
  3. Windows
    (1) Windows环境子系统 * 3
    Win32 windows基础
    POSIX 移植UNIX应用
    OS/2POSIX类似
    (2) Windows核心组件
    hal.dll 硬件抽象层
    ntdll.dll 内部支持函数
    kernel32.dll 核心系统DLL
    win32k.sys 子系统内核模式
    ntoskrnl.exe ntkrnlpa.exe 执行体和内核
    (3) Windows基本进程 * 9
    explorer.exe 图形界面管理
    csrss.exe 图形任务管理
    lsass.exe 安全机制
    winlogon.exe 域登录管理器
    services.exe 服务管理
    smss.exe 会话管理
    spoolsv.exe 将文件加载到内存
    svchost.exe 执行DLL文件
    system idle process 收集CPU的空闲时间
    (4) 进程管理工具
    <1> 任务管理器
    <2> DOS命令行
    (i) tasklist 查看进程
    (ii) Ntldr 读取boot.ini文件
    <3> Msinfo32
    (5) 系统服务管理
    <1> services.msc 服务控制管理器
    <2> net start 查看当前已启动的服务列表
    <3> sc.exe 批处理
    (6) Windows系统安全
    <1> 如果对目录有execute权限,则可以穿越目录。
    <2> 网络用户想访问NT Server的文件和目录,需对其建立共享。
    <3> 多次无效登录后可对用户账号实行锁定策略。
    <4> 任何涉及安全对象的活动都应该受到审核,审核报告将写入安全日志中,用事件查看器查看。
    <5> Winlogon调用DINA DLL ,监视安全认证序列。
    <6> Regedit 打开注册表编辑器
    <7> NTFS格式可修改日志访问权限,防止日志被清。
    (7) Windows事件日志类型
    <1> 系统日志
    <2> 应用程序日志
    <3> 安全日志
  4. 可信计算技术

传统的信息系统安全以防外为重点(由防火墙,入侵检测,杀毒软件构成),主要保护服务器及网络设备;可信计算关注对终端的保护,从芯片、主板等硬件和BIOS、操作系统等软件综合采取措施。

(1) 可信计算平台的关键技术
<1> 信任根
<2> 信任链
(2) TCG可信计算系统
<1> 可信平台模块 TPM(信任根)
<2> 可信软件栈
<3> 可信平台软件
(3) 中国可信计算平台的信任根是可信密码模块 TCM

3.2 数据库

(1) 基本概念
<1> 关系型数据库:常见数据库基本是关系型,其将数据结构归结为二元关系,用二维表格展现,数据库就是一些存在相互关联的表格的集合。
<2> SQL语言:数据库结构化查询与操作
<3> 基本表(Table):数据库中的表为基本表,基本表的每行称为记录,字段是记录的一部分。
<4> 视图(View)
(i) 视图不存储数据,只是查看表中数据的一种方式。
(ii) 视图和基本表都是关系,用SQL访问的方式一样。
(iii) 视图机制的安全保护功能不精细。
<5> 用户
(i) 权限分配面向用户
(ii) 数据库用户权限要素:数据库对象,操作类型
(2) SQL基本语句
SELECT 表达式1 ... ,表达式n FROM 表名1, ... ,表名m WHERE 条件 查询
CREATE TABLE 表名 创建基本表
ALTER TABLE 表名 ADD(...) 修改表
DROP TABLE 表名 删除表
INSERT INTO 表名[...] VALUES(..) 添加数据
DELETE FROM 表名 WHERE 条件 删除数据
UPDATE 表名 SET 表达式 [WHERE 条件] 更新表
GRANT 权限 ON 对象 TO 用户 授予权限
REVOKE 权限 ON 对象 FROM 用户 减少权限
CREATE ROLE 角色 创建角色(非用户)
AUDIT / NOAUDIT 操作 ON 表名 审计/取消审计
CREATE VIEW 视图 AS SELECT * FROM 表名 WHERE 条件 创建视图
WITH GRANT OPTION 允许用户授权给他人
CONNECT 创建用户默认有连接权限
(3) 数据完整性
<1> 数据完整性包括语义、参照、实体完整性(没有关系完整性!)
<2> 保证数据完整性的功能:约束、默认值、规则、事务处理
<3> 事务处理
(i) 事务就是一组SQL语句,以BEGIN TRANSACTION开始,以COMMIT/ROLLBACK结束。
(ii) 事务与其中的每个SQL语句共进退。
(iii) 事务可以使用SELECT/CREATE/DROP语句,但不能回退。
(iv) 事务处理特性:原子性、一致性、隔离性、持久性。
(4) 数据库威胁与防护
<1> SQL注入攻击的数据信道
(i) 存储过程
(ii) Web应用程序输入参数
<2> 数据库安全防护(阶段)
(i) 事前检查
(ii) 事中监控
(iii) 事后审计
<3> 数据库安全检测
(i) 端口扫描
(ii) 渗透测试(黑盒)
身份验证系统
服务监听系统
(iii) 内部安全检测


(四)网络安全

Internet的基础是TCP/IP架构(1973)。

架构 TCP/IP OSI/RM
层数 4 7
应用层 应用、表示、会话层
传输层 传输层
网络层 网络层
数据链路和物理层 数据链路层、物理层

4.1 网络基础(协议)

  1. 数据链路层
    (1) ARP : IP --> MAC
    (2) RARP : 逆ARP
  2. 网络层
    (1) IP
    <1> 私有IP(内网)
    10.*.*.*
    172.16/31.*.*
    192.168.*.*
    <2> IP分类:网络号(8) + 主机号(24)
A : (0.......) 0.0.0.0 - 127.255.255.255 
B : (10......) 128.0.0.0 - 191.255.255.255
C : (110.....) 192.0.0.0 - 223.255.255.255
D : (1110....) 224.0.0.0 - 239.255.255.255 
E : (1111....) 240.0.0.0 - 255.255.255.255

<3> 特殊IP
0.0.0.0 本机地址 : 若本机有两个IP,则监听0.0.0.0可以拿到所有数据包
127.0.0.1 自环地址 : 数据包到IP层后不再下发,直接被IP层吸收。
255.255.255.255 (受限)广播地址 :只在本地网络
localhost 本机域名
(2) ICMP:发送畸形数据,用以探测路由/终端是否不可达或查询路由/终端信息(ping)

  1. 传输层
    (1) TCP - 面向连接
    <1> TCP协议需要用到端口号(范围是0655351024以下保留)
    21 FTP
    22 SSH
    23 Telnet 远程登录,3389 windows远程桌面
    25 SMTP
    110 POP3
    <2> 控制位
    SYN (同步)建立联机
    ACK 确认
    PSH 传送
    FIN 结束
    RST 重置
    URG 紧急
    <3> 三次握手
    seq 数据包序列号,ack 确认号)
    (i) client --> server : SYN=1seq=m
    (ii) server --> client : SYN=1ACK=1ack=m+1seq=n
    (iii) client --> server : ACK=1ack=n+1seq=m+1
    (2) UDP:无连接
  2. 应用层
    (1) HTTP:80端口,C/S模式
    (2) DNS:Domain_name --> IP
    (3) SMTP:邮件传输
    (4) POP3:邮局协议,版本3

4.2 网络攻击

  1. 扫描
    (1) 信息搜集:whois.comgoogle.com
    (2) 扫描IP:pingtracertnmapsuperscan
    (3) 扫描端口(服务发现):nmap
    <1> TCP全连:精度高,易暴露
    <2> TCP-SYN半连:前两次握手
    <3> TCP-FIN:隐蔽性最高,非握手,UNIX常用
    (4) 扫描漏洞:Nessus综合扫描工具
    <1> 网络漏洞:X-scan,nessus
    <2> 主机漏洞:360,nessus
    (5) 扫弱口令
    <1> 字典
    <2> 穷举
  2. 嗅探(抓包)
    (1) 方式:混杂模式接口
    (2) 工具:Wireshark,Sniffer
    (3) 防范
    <1> 加密传输:VPN,SSL,SSH
    <2> 逻辑隔离:交换机的VLAN
  3. 协议欺骗(主动)
    (1) IP欺骗:仿冒IP发包
    (2) ARP欺骗:把别人的IP绑到我的MAC,将第三方缓存表更新
    <1>方式
    (i) 中间人攻击:两头骗
    (ii) 伪装网关:将IP变为网关IP
    <2> 防范(双向静态绑定)
    arp -d
    arp -s IP MAC
    (3) TCP欺骗:想办法得到第一次握手时的初始序列号,并伪装为第三方IP
    <1> 非盲攻击:同一网络内嗅探得到初始序列号
    <2> 盲攻击:不同网络内猜初始序列号
    (4) DNS欺骗
    <1> 欺骗DNS服务器:伪装成更高级别的DNS服务器
    <2> 欺骗用户:ARP欺骗伪装网关,拦截外网DNS应答包,修改后发给用户
  4. 诱骗攻击(被动)
    (1) 网站挂马:入侵网站后在网页中嵌入恶意URL
    <1> 框架挂马
    <2> js脚本挂马
    <3> body挂马
    <4> 伪装挂马
    (i) 图片伪装
    (ii) 调用伪装
    (iii) URL伪装
    (2) 诱骗下载:文件捆绑木马
    (3) 钓鱼网站
    (4) 社会工程
  5. 拒绝服务攻击(DoS)- 用防火墙防御
    (1) TCP-DoS
    <1> SYN-flood:伪造假IP,发送第一次握手(SYN=1),使返回的第二次握手(SYN+ACK)不可达
    <2> ACK-flood:伪造假IP,发送ACK=1的TCP包,使返回的ACK+RST不可达
    <3> TCP全连接(洪水攻击)
    (2) IP-DoS:ICMP或IGMP包
  6. Web攻击:OWASP TOP 10
    (1) 注入: 异常输入正常执行
    <1> 步骤
    Step 1:寻找注入点
    Step 2:猜解用户名/口令
    Step 3:找后台网页入口
    <2> 防范
    (i) 使用预编译语句和自带安全参数
    (ii) 对用户输入过滤
    (iii) 最小权限原则
    (2) 跨站脚本(XSS)
    <1> 原理:在入侵了服务器后,向网页挂恶意代码,从而攻击客户端。
    <2> 类型
    (i) 反射型XSS:诱骗用户点击有马子的URL
    (ii) 存储型XSS:社区论坛插码
    (iii) DOM-based XSS:也属于存储型XSS
    <3> 防范
    (i) 进入输入/输出检查
    (ii) 给关键Cookie设标识
    (3) 跨站请求伪造(CSRF)
    <1> 原理:利用目标的Cookie完成自己的行动
    <2> 防范
    (i) Cookie插随机数
    (ii) 登录时使用验证码(双因素认证)
  7. 远程控制:木马(Webshell也是木马,所谓的网页木马)
    注:黑客始终是木马的客户端。
    (1) 演变
    第一代:UNIX命令行(1980s)
    第二代:Windows界面化(BO 2000,冰河)
    第三代:端口反弹(灰鸽子)
    第四代:线程插入(广外男生)
    第五代:Rootkit
    (2) 隐藏技术
    <1> 线程插入
    <2> DLL动态劫持
    <3> Rootkit
    (3) Webshell防范
    <1> Web防火墙
    <2> Web安全编程
    <3> Web权限配置
  8. 防范网络攻击
    (1) 防火墙
    (2) 工具监测扫描行为

4.3 网络防护

  1. 防火墙
    (1) 技术
    <1> 包过滤
    <2> 状态检测:TCP
    <3> NAT(网络地址翻译):主机A的数据包经过防火墙时包头变为防火墙的IP:Port
    (i) 静态NAT
    (ii) NAT池
    (iii) 端口地址转换 PAT
    <4> 应用级网关(代理服务器)
    (2) 体系结构
    <1> 双重宿主主机:某一主机作为防火墙,具有内外网两个接口
    <2> 屏蔽主机:包过滤路由器 + 堡垒机(内网代理服务器)
    <3> 屏蔽子网:外部路由器 + DMZ堡垒机 + 内部路由器(安全性最高)
    (3) 安全策略
    <1> 内网可访问外网,外网不能访问内网
    <2> 内网可访问DMZ,DMZ不能访问内网
    <3> 外网可访问DMZ,DMZ可访问外网
    (4) 防火墙不能防范的攻击
    <1> 内网间攻击
    <2> 绕过防火墙的攻击
    <3> 病毒和木马
    <4> 针对防火墙开放端口的攻击
  2. IDS & IPS(入侵检测与防御系统)
    (1) IDS分类
    <1> NIDS(网络)
    (i) 控制台
    (ii) 探测器(连接交换机)
    <2> HIDS (主机)
    (2) IDS技术
    <1> 误用检测(异常行为特征库)
    (i) 专家系统
    (ii) 模型推理
    (iii) 状态转换分析
    <2> 异常检测(正常行为特征库)
    (i) 统计分析
    (ii) 神经网络
    (3) IPS与IDS的区别
    <1> IDS旁路部署
    <2> IPS串联进网(注:IPS常与防火墙联动)
  3. PKI(公钥基础设施):核心是数字证书管理
    (1) PKI组成
    <1> 安全策略
    <2> CA(证书认证)机构
    (i) CA服务器
    (ii) RA机构
    (iii) LDAP(目录服务器)
    (iv) 证书下载中心
    (v) OCSP(在线证书状态协议服务器)
    (vi) KMC(密钥管理中心)
    <3> RA(证书注册)机构
    <4> CDS(证书分发系统)
    <5> 基于PKI的应用接口
    (2) PKI信任模型
    <1> 单证书(小)
    <2> 层次(大)
    <3> 桥证书(桥CA)
  4. VPN(虚拟专用网)
    (1) 传输层:SSL VPN
    (2) 网络层(第二层隧道):IPSec,GRE
    (3) 链路层(第三层隧道):PPTP,L2F,L2TP
    (4) 介于二三层之间隧道:MPLS
  5. 网络安全协议
    (1) 网络层:IPSec
    注:IPSec是一组协议的总称,支持IPv4 & v6,可抵御DoS。
    <1> ESP:DES/3DES,不能封装链路层数据
    (i) 传输模式:IP头 + ESP头 +...
    (ii) 隧道模式:新IP头 + ESP头 + 原IP头 + ...
    <2> AH:MD5/SHA-1,不加密
    <3> IKE(密钥协商协议)
    (i) ISAKMP
    阶段1:协商 IKE SA
    阶段2:用IKE SA 建立IPSec SA
    (ii) Oakley
    (iii) SKEME
    (2) 传输层:SSL --> 封装应用层数据
    <1> 握手协议:建立安全连接
    <2> 记录协议:定义传输格式
    (3) 应用层
    <1> Kerberos(V5):分布式认证,对称加密,可单点登录,不依赖系统。
    (i) AS(身份认证服务器)
    (ii) TGS(票据许可服务器)
    <2> SSH:加密所有传输数据,可防中间人攻击、DNS欺骗、IP欺骗
    <3> SHTTP(HTTPS?)
    <4> S/MIME:邮件
    <5> SET:电子交易

(五)应用安全

5.1 软件漏洞

  1. 漏洞三要素
    (1) 系统自身缺陷
    (2) 环境要求
    (3) 本身无害(恶意利用才有害)
  2. 软件漏洞危险等级
    (1) 第1级:紧急
    (2) 第2级:重要
    (3) 第3级:中危
    (4) 第4级:低危
  3. 漏洞库
    (1) CNNVD:中国漏洞库
    (2) CNVD:中国漏洞共享平台
    (3) NVD:美国漏洞库
    (4) EDB:exploit-db.com
    (5) CVE:MITRE.corp
    (6) BugTraq:赛门铁克
  4. 常见漏洞
    (1) 缓冲区溢出
    <1> 操作系统内存管理机制
    注:栈、堆都是内存中的一段空间。
    (i) 栈(steak):后进先出,向低地址增长,存储函数调用信息及本地变量。
    (ii) 堆(heap):先进先出,向高地址增长,存储动态数据。
    (iii) 栈帧:每个被调用的函数在栈内独占一块独立连续的内存区域,称为栈帧。
    <2> 函数调用时的栈布局
    (i) eip(指令地址寄存器):指针指向下一条要执行命令(即将要调用函数)的返回地址。
    (ii) ebp(基地址寄存器):指针指向当前执行命令对应栈帧的底部地址。
    (iii) esp(栈指针寄存器):指针指向当前执行命令对应栈帧的最新栈顶地址。
    <3> 函数调用过程(6步)
    (i) 参数入栈:push 参数2 push 参数1 ;假设母函数有两个参数,依次压入
    (ii) 返回地址入栈(eip):call 子函数地址
    (iii) 代码区跳转:处理器从当前母函数的代码区跳转到子函数的入口点
    (iv) 基地址入栈:push ebp
    (v) esp值装入ebp,ebp更新为新栈帧基地址:mov ebp, esp
    (vi) 给新栈帧分配空间:sub esp, xxx;栈顶向低地址偏移,为局部变量留出空间
    注:此时栈布局
内存高地址 --> ...
实参n ----
... /\
实参1 I
返回地址 I
ebp --> 前一个栈帧基址指针 栈帧
局部变量1 I
... I
局部变量n \/
esp --> ----
内存低地址 ->

被调用子函数下一步写入数据的填充方向是从低地址向高地址增长,如果大于局部变量空间,就会发生栈溢出,覆盖返回地址。
<4> 常见缓冲区溢出漏洞
(i) 栈溢出 --> 输入数据
随机填充数据
NOP填充字段
shellcode
新返回地址
(ii) 堆溢出
(iii) 单字节溢出
(2) 格式化字符串:C的*printf族函数
(3) 整数溢出
<1> 存储溢出
<2> 运算溢出
<3> 符号问题
(4) 数组越界
(5) 写污点值到污点地址
(6) 内存地址对象破坏性调用(UAF漏洞)

  1. 漏洞利用技术
    (1) 静态shellcode
...
实参n
...
实参1
覆盖后的返回地址
ebp -> shellcode --|
          ...      |
       shellcode <-|
esp -> 

(2) 动态shellcode

...
shellcode
...
shellcode <-----  esp <---------|
覆盖后的返回地址 ---> jmp esp ---| 
NOP
...
NOP

(3) Heap Spray(堆喷洒):滑板指令(NOP填充)

  1. 漏洞防护技术
    (1) DEP(数据执行保护)
    (2) ASLR(地址空间分布随机化)
    (3) SafeSEH(SEH函数调用白名单)
    (4) SEHOP(SEH结构检测)
    (5) GS Stack protection(缓冲区溢出防护)

5.2 软件安全开发

  1. 软件开发周期
    (1) 问题定义
    (2) 需求分析
    (3) 软件设计
    (4) 程序编码
    (5) 软件测试
    (6) 运行维护
  2. 软件开发模型
    (1) 瀑布 (前一阶段评审通过才能进入下一阶段)
    (2) 螺旋(总体遵循瀑布模型,将瀑布的多阶段改为多个迭代过程)
    (3) 迭代
    (4) 快速原型(敏捷开发)
  3. 软件安全开发技术
    (1) 建立安全威胁模型
    (2) 安全设计
    (3) 安全编程
    (4) 安全测试
  4. SDL模型(微软安全开发生命周期)—— 13步
    (0) 准备(安全培训)
    (1) 项目启动
    (2) 设计原则定义
    (3) 产品风险评估
    (4) 风险分析(威胁建模)
    (5) 指南工具
    (6) 编码策略
    (7) 测试策略
    (8) 自我安全检测
    (9) 最终评审
    (10) 安全响应计划
    (11) 产品发布
    (12) 安全响应执行

5.3 软件安全检测

(1) 静态检测
<1> 基于源代码 —— 误报率高
(i) 污点分析:标记不可信输入后跟踪 —— pixy工具
(ii) 符号执行:输入变符号求范围
(iii) 词法分析:文本特征匹配
(iv) 数据流分析:抽象语法树/程序控制流图
(v) 模型检验:状态迁移模型
(vi) 定理证明:逻辑公式推理
<2> 基于可执行代码(反汇编)
(i) 基于程序结构:Bugscan
(ii) 基于程序语义:UAFChecker
(2) 动态检测
<1> FUZZ模糊测试:监测随机畸形数据影响
<2> 智能FUZZ:引入符号执行等方法
<3> 动态污点分析:分析程序真实的执行过程
(3) 动静结合:BitBlaze
<1> TEMU:动
<2>VINE:静
<3> Rudder:符号执行与实际执行混合

5.4 软件保护

DMCA:美国数字千禧版权法案

  1. 基于软件
    (1) 代码混淆
    <1> 词法转换:函数/变量名
    <2> 数据转换
    (i) 编码
    (ii) 数据夹于代码段
    <3> 控制流转换:花指令
    (2) 水印:数据、代码水印
    <1> 静态水印
    <2> 动态水印:存于程序执行状态
    (3) 加壳(代码变形)
    <1> 压缩壳:UPX, ASPacK, PECompact
    <2> 加密壳:EXECryptor, AS-Protect, Armadillo
    (4) 防篡改:完整性校验
    <1> 哈希值
    <2> 数字签名
    (5) 注册信息验证:由用户信息生成注册码
    (6) 反调试反跟踪:阻拦调试API
  2. 基于硬件
    (1) 加密狗:USBKey
    (2) 加密光盘
    (3) 专用接口卡

5.5 恶意程序

  1. 分类
    (1) 病毒:复制
    <1> 引导型:MBR/BR 引导区
    <2> 宏病毒
    <3> 文件感染型
    <4> 邮件型
    (2) 木马:远控
    (3) 蠕虫:复制(无需宿主)
    (4) 恶意脚本:Web
  2. 传播方法
    (1) 网站挂马
    (2) 诱骗下载
    (3) 移动存储介质
    (4) 电子邮件/即时通信软件
    (5) 局域网
  3. 查杀
    (1) 特征码
    (2) 启发式
    (3) 虚拟机
    (4) 主动防御

5.6 Web安全

  1. Web安全威胁:OWASP TOP 10 (2010)
    (1) 注入
    (2) XSS
    (3) CSRF
    (4) 身份认证和会话管理:SessionID会话劫持 --> 双因素认证
    (5) 不安全的DOR(直接对象引用)
    (6) 安全配置错误
    (7) 不安全的加密存储
    (8) 无限制的URL访问
    (9) 传输层保护不足
    (10) 未验证的重定向和转发
  2. Web安全防护
    (1) 客户端
    <1> 通信信道:HTTPS(SSL)
    <2> 浏览器防护
    (2) 服务端
    <1> Web防火墙
    <2> 安全配置
    <3> Web应用安全控制
  3. Web检测
    (1) 黑盒:AppScan,ZAP
    (2) 白盒(代码审计):Fortify, Coverity, Klockwork

(六)信息安全管理

6.1 ISMS(信息安全管理体系)

注:ISMS思想是以预防控制为主,属于风险管理,旨在建立安全风险评估。

  1. 框架
    (1) 政策制定
    <1> 书面文件
    <2> 人手一份
    <3> 员工培训
    (2) 范围界定(考虑因素)
    <1> 组织机构现有部门
    <2> 处所
    <3> 资产状况
    <4> 技术
    (3) 风险评估:也分为自评估和检查评估
    <1> 评估类型
    (i) 基本风险评估:只参照标准中的风险项
    (ii) 详细风险评估:划分资产的威胁等级、脆弱性等级
    (iii) 相结合
    <2> 复杂度的决定因素
    (i) 受保护的资产堆安全的敏感程度
    (ii) 风险的复杂程度
    <3> 依赖因素
    (i) 系统环境、性质
    (ii) 使用信息的商业目的、商业信息
    (4) 管制目标和措施确定:原则是费用不高于风险造成的损失
    (5) 适用性申明:记录风险管制目标及措施
  2. 实施
    (1) 建立文档
    (2) 文档管理
    (3) 事件记录回馈
  3. 审核
    (1) ISMS审核:还分为技术性、管理性审核
    <1> 内部审核:BS7799未明确指出
    <2> 外部审核
    (2) 审核准备
    <1> 编制计划
    <2> 收集并审核有关文件
    <3> 准备审核文件:编写检查表
    <4> 通知受审部门并约时间
    (3) 审核实施
    <1> 首次会议
    <2> 现场审核
    <3> 确定不符合项并写报告
    <4> 分析结果
    <5> 末次会议(宣布结果)
    (4) 审核报告
    (5) 纠正措施
    (6) 审核风险控制
  4. 评审
    (1) 评审程序
    <1> 编制计划
    <2> 准备资料
    <3> 开会
    <4> 报告分发
    <5> 提要求
    (2) 持续改进
    <1> 纠正
    <2> 预防
    <3> 控制不符合项
  5. 认证
    (1) 自愿原则
    (2) 依据:BS7799-2标准
    (3) 机构:UKAS(英)

6.2 风险管理

  1. 内容
    (1) 资产识别与评估
    <1> 人员、过程和数据资产
    <2> 软硬件和网络资产
    (2) 信息资产分类
    (3) 信息资产评估
    (4) 资产调查
    (5) 分类数据管理
    (6) 威胁识别与评估
    (7) 漏洞识别
  2. 风险评估
    (1) 原则
    <1> 自主
    <2> 适应度量
    <3> 已定义过程
    <3> 连续过程的基础
    (2) 过程
    <1> 信息资产评估
    <2> 风险确定
    <3> 识别可能的控制
    <4> 记录风险评估的结果
  3. 风险控制策略
    (1) 避免
    (2) 转移
    (3) 缓解
    <1> 事件响应计划 IRP
    <2> 灾难恢复计划 DRP
    <3> 业务持续性计划 BCP

6.3 管理措施

  1. 基本措施
    (1) 安全策略:制定时与决策层沟通
    <1> 目标一致
    <2> 有效贯彻
    <3> 资源保证
    (2) 人员安全管理
    (3) 安全组织结构:领导、保卫部门和计算机技术人员三结合
    (4) 资产管理:如Internet组件如下
    <1> 服务器
    <2> 网络设备:路由器、交换机、集线器
    <3> 保护设备:防火墙、代理服务器
    <4> 电缆
    (5) 物理与环境安全
    (6) 通信及操作管理
    (7) 访问控制
    <1> 分类
    (i) 预防性(事前)
    (ii) 探查性(事中)
    (iii) 纠正性(事后)
    <2> 实现
    (i) 行政性
    (ii) 逻辑/技术性
    (iii) 物理性
    <3> 依赖原则
    (i) 身份标识
    (ii) 验证
    (iii) 授权
    (iv) 责任衡量
    <4> 职责
    (i) 用户账户管理
    (ii) 操作跟踪
    (iii) 访问权利和许可权管理
    <5> 原则:最少特权
    2.重要安全管理过程
    (1) 系统获取、开发和维护
    (2) 信息安全事件管理与应急响应:应急计划(CP)三元素
    <1> 事故响应计划(IRP):阶段
    (i) 计划
    (ii) 检测
    (iii) 反应
    (iv) 恢复
    <2> 灾难恢复计划(DRP)
    (i) 电子拱桥
    (ii) 远程日志
    (iii) 数据库镜像
    <3> 业务持续性计划(BCP):成本是关键
    (3) 业务连续性管理与灾难恢复
    <1> 灾难恢复计划
    (i) 建立优先次序
    (ii) 指派工作和责任
    (iii) 启动警告人员过程
    (iv) 灾难归档
    (v) 尽量减轻灾难对机构运转的影响
    <2> 危机管理
    <3> 恢复操作
    <4> 业务持续性计划
    <5> 持续性战略

(七)标准法规

7.1 标准

  1. 组织
    (1) 国际
    <1> ISO/IEC JTC1:制定的标准内容
    (i) 开放系统互连
    (ii) 密钥管理
    (iii) 数字签名
    (iv) 安全评估
    <2> ITU
    (2) 国内:CITS(全国信息技术安全标准化委员会)
  2. 信息安全评估标准
    (1) TCSEC(可信计算机系统安全评估标准):美国防部1970提出 & 1985发布(计算机系统安全评估第一个标准),将计算机系统安全划分为4等级7级别(A, B1, B2, B3, C1, C2, D)
    (2) ITSEC(信息技术安全评估标准):英法德荷1990s提的欧洲白皮书,提出信息安全的机密性、完整性、可用性
    (3) CC(信息技术安全评价通用标准 1996)--> ISO 15408
    (4) ISO 13335:IT安全定义
    <1> 机密性
    <2> 完整性
    <3> 可用性
    <4> 可靠性
    <5> 审计性
    <6> 认证性
    (5) BS7799(英) ——> ISO 17799
    <1> 准则
    <2> 规范
    (6) GB 17895-1999 (计算机信息系统安全分级准则):国内
    <1> 系统安全等级
    (i) 自主保护级
    (ii) 系统审计级
    (iii) 安全标记级
    (iv) 结构化保护级
    (v) 访问验证级
    <2> 考核指标
    (i) 身份认证
    (ii) 自主访问
    (iii) 数据完整性
    (iv) 审计
    (7) GB/T 18336(信息技术安全性评估准则CC)
    <1> 评估过程分为功能和保证两部分
    <2> 评估等级:EAL1 -> 7
    <3> 每级功能类
    (i) 配置管理
    (ii) 分发和操作
    (iii) 开发过程
    (iv) 指导文献
    (v) 生命期技术支持
    (vi) 测试
    (vii) 脆弱性评估
  3. 等级保护标准
    (1) 《信息系统安全保护等级划分准则》:定级要素
    <1> 信息系统所属类型
    <2> 信息系统服务范围
    <3> 业务数据类型
    <4> 业务自动化处理服务
    (2) 《信息安全等保管理办法》:信息系统的五个安全保护等级
    <1> 只害公民
    <2> 害公民或民众
    <3> 害社会或国家
    <4> 严重损害国家
    <5> 特别严重损害国家
    (3) GB/T 22240(信息系统安全保护等级定级指南):定级要素
    <1> 受侵害客体
    <2> 客体受侵害程度
    (4) GB/T 22239 (信息系统安全等保基本要求)
    <1> 分类
    (i) GB/T AAAA-AAAA:定级指南
    (ii) GB/T CCCC-CCCC:实施指南
    <2> 要求
    (i) 技术层面:物理、网络、主机、应用、数据安全
    (ii) 管理层面:制度、机构、人员、系统建设、系统运维

7.2 法规

  1. 《网络安全法》:2017.6.1施行
  2. 《保守国家秘密法》
    (1) 国家秘密的密级分为绝密、机密、秘密三级,最高年限分别不超过30、20、10年。
    (2) 机关、单位对所产生的国家秘密事项,应当按照国家秘密及其密级的具体范围的规定确定密级,同时确定保密期限和知悉范围。
    (3) 国家秘密的保密期限,应当根据事项的性质和特点,按照维护国家安全和利益的需要,限定在必要的期限内;不能确定期限的,应当确定解密的条件。
    (4) 机关、单位应当根据工作需要,确定具体的保密期限、解密时间或者解密条件。
  3. 《电子签名法》:中国首部信息化法律(2005.4)
    (1) 电子签名证书应当载明下列内容:
    <1> 服务提供者名称
    <2> 证书持有人名称
    <3> 证书序列号
    <4> 证书有效期
    <5> 证书提供者签名
    (2) 电子认证服务提供者应当在暂停或终止服务60日前向国务院信息产业主管部门报告。
    (3) 电子认证服务提供者应当妥善保存与认证相关的信息,信息保存期限至少为电子签名认证证书失效后5年。
    (4) 电子认证服务提供者逾期未改正的,其直接负责的主管人员和其他直接责任人员10年内不得从事电子认证服务。
  4. 《刑法》
    (1) 285条:入侵
    (2) 286条:破坏
  5. 国家商用密码管理政策
    (1) 销售商用密码产品的申请条件
    <1> 独立法人资格
    <2> 完善的销售服务和安全管理制度
    <3> 有熟悉商用密码知识人员和售后人员及资金保障
    <4> 法律法规的其他条件

标题:
(一)
1.1

(1)
<1>
(i)

a/.

你可能感兴趣的:([NCRE](三级)信息安全技术)