《信息安全工程师教程》笔记
本文是博主在泛读了《信息安全工程师教程》一书后,对极少数较为感兴趣的内容做的粗略记录,希望以后有机会还能再精读后,升华此文😂。笔记顺序为知识点在书中出现的先后顺序为主。
字母频率
- 单字母
- 极高频率字母组:E
- 次高频率字母组:T、A、O、I、N、S、H、R
- 中等频率字母组:D、L
- 低频率字母组:C、U、M、W、F、G、Y、P、B
- 甚低频率字母组:V、K、J、X、Q、Z
- 双字母组:TH、HE、IN、ER、AN、RE、ED、ON、ES、ST、EN、AT、TO、NT、HA、ND、OU、EA、NG、AS、OR、TI、IS、ET、IT、AR、TE、SE、HI、OF
- 三字母组:THE、ING、AND、HER、ERE、ENT、THA、NTH、WAS、ETH、FOR、DTH、HAT、SHE、ION、HIS、STH、ERS、VER
特别值得注意的是,THE 的频率几乎是排在第二位的 ING 的 3 倍,这对于破译密码是很有帮助的。此外,统计资料还表明:
- 英文单词以 E、S、D、T 为结尾的超过一半。
- 英文单词以 T、A、S、W 为起始字母的约占一半。
WPDRRC 模型
该模型有 6 个环节和 3 大要素。6 个环节是 W、P、D、R、R、C,它们具有动态反馈关系。其中,P、D、R、R 与 PDRR 模型中出现的保护、检测、反应、恢复等 4 个环节相同;W 即预警(warning),就是根据已掌握的系统脆弱性以及当前的计算机犯罪趋势,去预测未来可能受到的攻击与危害;C(counterattack)则是反击——采用一切可能的高新技术手段,侦察、提取计算机犯罪分子的作案线索与犯罪证据,形成强有力的取证能力和依法打击手段。因此近年来出现的“计算机取证(computerforensics)”成为业界的研究热点之一。WPDRRC 模型中具有层次关系的三大要素分别是人员、政策和技术。其中“人”是内层,是基座;“政策”包括法律、法规、制度和管理,是中间层;“技术”是外层,它的操作必须受到人和政策这两个层面的制约。
桌面用户的网络安全防范策略
桌面用户上网时可能会遇到的入侵方式大概包括了以下几种:
- 系统被病毒、木马、蠕虫、间谍软件、流氓软件攻击;
- 浏览网页时被恶意程序攻击;
- P2P 工具(如 QQ)被攻击或泄露信息;
- 垃圾信息;
- 操作系统或应用软件存在漏洞,易受黑客攻击;
- 敏感信息被盗;
- 其他黑客攻击。
桌面用户的网络防范方法如下:
- 加强技术学习,了解各种安全威胁,不断提高网络安全的防御水平;
- 制定网络安全保障的规范和制度,培养良好的网络安全防护意识和习惯;
- 定期查杀计算机病毒,及时升级病毒签名库;
- 禁用 guest 账号,将系统内建的 administartor 账号改名(越复杂越好,最好改成中文的),而且使要强密码,如果可能,使用受限用户上网;
- 禁用不需要的端口和服务。如果可能,卸载这些服务;
- 注意各种漏洞公告,及时给系统打补丁;
- 周期备份系统中重要的数据和文件。
局域网的安全防范策略
威胁局域网的安全风险很多,按性质大致可以分为两种:一是对信息的威胁,二是对设备的威胁。有计算机系统本身的不可靠性、环境干扰以及自然灾害等因素引起的;也有工作失误,操作不当造成的;而人为故意的未授权窃取、破坏,敌对性活动危害更大。概括起来,局域网中存在的安全风险主要有以下 4 个方面:
- 计算机病毒的破坏。
- 恶意攻击。此类攻击可分为两类:一是主动攻击,对局域网进行全面破坏,致使局域网部分或全面瘫痪。另一类是被动攻击,只是窥探、窃取重要信息,但不影响局域网的正常工作。
- 人为失误。网络管理员安全意识不强,用户的口令选择不慎,将自己的账号随意转借给他人或与别人共享等都会对网络安全带来威胁。
- 软件本身的漏洞。网络软件中往往会存在一些安全漏洞,而这些漏洞恰恰是黑客攻击的首选目标。
局域网的安全防范策略有:
- 物理安全策略
- 划分 VLAN 防止网络侦听:运用 VLAN(VirtualLocalAreaNetwork,虚拟局域网)技术,将以太网通信变为点到点通信,防止大部分基于网络侦听的入侵。
- 网络分段:通过路由器将局域网分段,网络主机发出的广播只能被相同网络上的其他主机接收,路由器将广播隔离开来,防止了可能的非法侦听。
- 以交换机代替共享式集线器
- 访问控制策略:访问控制是对访问者及访问过程的一种权限授予。访问控制是再鉴别机制提供的信息基础上,对内部文件和数据库的安全属性和共享程度进行设置,对用户的使用权限进行划分。
- 使用数字签名:基于先进密钥技术的数字签名是系统防止数据在产生、存放和运输过程中不被篡改的主要技术手段。
- 用户管理策略:绝大多数的网络安全问题是由内部人员带来的。
- 使用代理服务器:代理服务器的使用可以使内部网络成为一个独立的封闭回路,从而使网络更加安全。
- 防火墙控制:防火墙是以阻止网络中的黑客访问某个机构网络的屏障,在网络边界上通过建立起来的相应网络通信监控系统来隔离内部和外部网络,以阻挡外部网络的侵入。
- 入侵检测系统:在网络边界安装 IDS,及时补货数据包,发现入侵。
- 定期进行漏洞安全扫描:定期用多种漏洞安全扫描软件对整个网络实施安全扫描,发现系统漏洞和其他脆弱性问题。
- 建立完善的网络安全应急响应机制:建立各种网络安全事件的应急预案,减少安全事件带来的影响和损失。
- 使用 VPN:扩展单位的计算机网络到全国各点、甚至全球,让信息流通和资源共享无处不在和无时不在。
无线网络安全威胁
所谓安全威胁,是指某个人、物、事件或概念对某一资源的保密性、完整性、可用性和合法使用所造成的危险,攻击就是安全威胁的具体实现。安全威胁可分为蓄意的和偶然的,其中蓄意的又可以分为被动的和主动的。无线网络由于自身特点,面临着比有线网络更多更严重的安全威胁,主要可以分为对无线接口的攻击、对无线设备的攻击以及对无线网络本身的攻击。根据攻击手段和目标,对无线接口的攻击可以分为物理攻击和密码学攻击,包括窃听、篡改、重放、干扰和欺诈等等。攻击无线网络是指针对网络基础设施进行攻击,也包括内部人员破坏和泄密。针对无线设备的攻击包括克隆、盗窃等等。
- 无线窃听
- 假冒攻击
- 信息篡改
- 服务后抵赖:所谓服务后抵赖是指交易双方中的一方在交易完成后否认其参与了此交易。
- 重传攻击:所谓重传攻击是指主动攻击者将窃听到的有效信息经过一段时间后再传给消息的接收者。
- 认证及密钥的攻击类型
- 无线传感器网络节点劫持 Sybil 攻击:敌对方很容易捕获节点。
- 无线传感器网络虫洞攻击:虫洞攻击是位于网络层中的攻击类型,网络中的两个虫洞节点由具有传输能力较强等其他传感器节点不具备的特点,吸引了这两个节点形成的链路之间周边的通讯量,即敌意节点周边的节点通过这条链路传递消息可以节省时间、获得更好的通信效果,由此虫洞节点便可窃取或是篡改这条链路之间的消息,以来达到使网络瘫痪网络、窃取或修改信息的效果。
- 2G 伪基站攻击:“伪基站”即假基站,设备一般由主机和笔记本电脑组成,通过短信群发器、短信发信机等相关设备能够搜取以其为中心、一定半径范围内的手机卡信息,通过伪装成运营商的基站,冒用他人手机号码强行向用户发送诈骗、广告推销等短信息。
- NFC(NearFieldCommunication,近距离无线通信技术)面临特殊威胁攻击
- RFID(RadioFrequencyIdentification,射频识别)面临特殊威胁攻击
访问控制策略和机制
访问控制涉及到三个基本概念,即主体、客体和授权访问。
主体:一个主动的实体,该实体造成了信息的流动和系统状态的改变,它包括用户、用户组、终端、主机或一个应用,主体可以访问客体。
客体:指一个包含或接受信息的被动实体,对客体的访问要受控。它可以是一个字节、字段、记录、程序、文件,或者是一个处理器、存储器、网络节点等。
授权访问:指主体访问客体的允许,授权访问对每一对主体和客体来说是给定的,决定了谁能够访问系统,能访问系统的何种资源以及如何使用这些资源。例如,授权访问有读写、执行,读写客体是直接进行的,而执行是搜索文件、执行文件。对用户的授权访问是由系统的安全策略决定的。
自主访问控制(Discretionary Access Control,DAC)是最常用的一类访问控制机制,是用来决定一个用户是否有权访问一些特定客体的一种访问约束机制。
强制访问控制(Mandatory Access Control)是一种不允许主体干涉的访问控制类型。它是基于安全标识和信息分级等信息敏感性的访问控制。
基于角色访问控制(Role-Based Access Control)是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。
计算机病毒的特点
- 传播性:传播性是指计算机病毒具有将自身感染(复制)到目标程序或目标系统的能力。是否具有传播性是判别一个程序是否为计算机病毒的最重要条件之一。
- 程序性:计算机病毒是计算机程序,需要依赖于特定的程序环境。
- 破坏性:病毒一旦侵入系统都会对系统的运行造成不同程度的影响。该部分特性与病毒作者编写病毒的目的有很大关系。譬如,有些病毒用来盗取用户各类账号密码,有些病毒则用来将被控制主机作为僵尸程序以对指定目标发起拒绝服务攻击等。
- 非授权性:一般正常的程序是由用户调用,再由系统分配资源,完成用户交给的任务,其目的对用户是可见的透明的。而病毒具有程序的一切特性,但它隐藏在正常程序中。当用户调用正常程序时,其窃取到系统的控制权,先于正常程序执行病毒的动作,其对用户是未知的,是未经用户允许的,因此其对系统而言是未授权的。
- 隐蔽性:第一,病毒程序代码应该简洁短小;第二,其附着在正常程序或磁盘较隐蔽的地方,也有少部分以隐藏文件的形式出现,或者病毒本身会使用 Rootkit 技术对自身的痕迹进行隐藏;第三,病毒取得系统控制权后,系统仍能正常运行,使用户不会感到任何异常。
- 潜伏性:大部分病毒感染系统后不对马上作,它可长期隐藏在系统中,只有在满足其特定条件时才启动其表现模块。
- 可触发性:病毒一般都有一个或者几个触发条件。如果满足其触发条件,激活病毒的传染机制进行感染,或者激活病毒的表现部分或破坏部门。
- 不可预见性:从对病毒的检测方面来看,病毒还有不可预见性。
计算机病毒传播途径
- 通过软盘、光盘传播
- 通过移动存储设备传播
- 通过 autorun.inf 文件进行传播的(U 盘病毒曾经最普遍的传播方式)。
- 伪装其其他文件,病毒把 U 盘下所有文件夹隐藏,并把自己复制成与原文件夹名称相同的具有文件夹图标的文件,当用户点击时病毒会执行自身并且打开隐藏的该名称的文件夹。
- 通过可执行文件感染传播,很传统的一种传播手段,但是依然有效。
- 利用系统漏洞进行传播。譬如 Stuxnet 利用 Ink 漏洞进行自动传播。
- 通过网络传播
- 通过局域网共享文件夹传播
- 通过穷举局域网其他计算机的管理员弱口令进行入侵传播
- 电子邮件(如邮件附件,或者带恶意程序的邮件正文等)
- 各类即时通信软件(如 QQ、MSN、Skype 等)
- 利用各类浏览器漏洞(如 IE、Firefox、Opera 等)的网页挂马
- P2P 下载渠道(如 BT、电驴等)
- 各类软件下载站点
- 各类应用软件漏洞
- 各类系统漏洞
- 利用 ARP 欺骗进行扩散
- 无线设备传播
卡巴斯基对恶意代码进行分类时,其按照威胁程度高低构建了恶意软件分类树(The malware classification tree),并以此制定其命名和分类规则。具体请访问:Types of Malware
卡巴斯基按照木马行为和功能对木马进行命名分类:What is a Trojan Horse Virus? Types and How to Remove it
典型反病毒技术
- 特征值查毒法:特征值扫描是目前国际上反病毒公司普遍采用的查毒技术。特征值检测方法的优点是:检测准确、可识别病毒的名称、误报率低,并且依据检测结果可做解毒处理。其缺点是:
- 开销大、查杀速度慢。搜集已知病毒特征串的费用开销大。
- 不能检查未知病毒和多态性病毒。
- 容易被针对性免杀。
- 校验和技术:计算正常文件的内容和正常的系统扇区的校验和,将该校验和写入数据库中保存。
- 启发式扫描技术:启发性扫描主要是分析文件中的指令序列,根据统计知识,判断该文件被感染的可能性,从而有可能找到未知的病毒。因此,启发性扫描技术是一种概率方法吗,遵循概率理论的规律。
- 虚拟机技术:该技术也称为软件模拟法,它是一种软件分析器,用软件方法来模拟和分析程序的运行,而且程序的运行不会对系统起实际的作用(仅是“模拟”),因而不会对系统造成危害。
- 行为监控技术:行为监控是指通过审查应用程序的操作来判断是否有恶意(病毒)倾向并向用户发出警告。
- 主动防御技术:主动防御技术并不是一项全新的技术,从某种程度上说,其集成了启发式扫描技术和行为监控及行为阻断等技术。
信息隐藏技术特点
信息隐藏技术必须考虑正常的信息操作所造成的威胁,即要使机密资料对正常的数据操作技术具有免疫能力。这种免疫力的关键是要使隐藏信息部分不易被正常的数据操作(如通常的信号变换操作或数据压缩)所破坏。根据信息隐藏的目的和技术要求,该技术存在以下特性:
- 透明性(invisibility)也叫隐蔽性。这是信息伪装的基本要求。利用人类视觉系统或人类听觉系统属性,经过一系列隐藏处理,使目标数据没有明显的降质现象,而隐藏的数据却无法人为地看见或听见。
- 鲁棒性(robustness)指不因图像文件的某种改动而导致隐藏信息丢失的能力。这里所谓“改动”包括传输过程中的信道噪音、滤波操作、重采样、有损编码压缩、D/A 或 A/D 转换等。
- 不可检测性(undetectability)指隐蔽载体与原始载体具有一致的特性。如具有一致的统计噪声分布等,以便使非法拦截者无法判断是否具有隐蔽信息。
- 安全性(security)指隐蔽算法有较强的抗攻击能力,即它必须能够承受一定程度的人为攻击,而使隐蔽信息不会被破坏。隐藏的信息内容应是安全的,应经过某种加密后再隐藏,同时隐藏的具体位置也应该是安全的,至少不会因格式变换而遭到破坏。
- 自恢复性:由于经过一些操作或变换后,可能会使原图产生较大的破坏,如果只从留下的片段数据,仍能恢复隐藏信号,而且恢复过程不需要宿主信号,这就是所谓的自恢复性。
- 对称性:通常信息的隐藏和提取过程具有对称性,包括编码、加密方式,以减少存取难度。
- 可纠错性:为了保证隐藏信息的完整性,使其在经过各种操作和变换后仍能很好的恢复,通常采取纠错编码方法。