目录
第1章 信息安全导论
信息安全技术概论
信息安全的两个主要视点
信息安全的层次划分
信息安全的基本要素
信息安全的诱因与威胁
第2章 网络信息主动获取与处理
搜索引擎体系结构
网络爬虫技术
检查URL是否被访问过
检测是否重复网页
一致性哈希
网页排序---PageRank
索引技术
信息检索模型概述
布尔模型
向量空间模型
扩展的布尔模型
基于本体论的信息检索模型
第3章 网络信息被动获取与处理
平台架构
网络流监控模式
旁路监测技术
关键技术介绍
LIBPCAP-LIBNET-LIBNIDS
TCP/IP协议与以太网通讯
Linux网络数据包监测技术
Linux网络数据包组装与发送技术
Linux网络数据流解析技术
TLS加密概述
字符串匹配算法
模式匹配算法分类
单模式匹配
多模式匹配
了解信息安全技术架构
国外:面向属性的信息安全框架(CIA)
国内:面向应用的信息安全框架---实体/物理安全,运行安全,数据/信息安全,管理/人员安全
物理安全:对网络与信息系统物理装备的保护。主要涉及网络与信息系统的机密性、可用性、完整性等属性
所涉及的主要技术:
运行安全:对网络与信息系统的运行过程和运行状态的保护。主要涉及网络与信息系统的真实性、可控性、可用性等
主要涉及的技术:
数据安全:对信息在数据收集、处理、存储、检索、传输、交换、显示、扩散等过程中的保护,使得在数据处理层面保障信息依据授权使用,不被非法冒充、窃取、篡改、抵赖,主要涉及信息的机密性、真实性、完整性、不可否认性等
主要涉及的技术:
内容安全:对信息在网络内流动中的选择性阻断,以保证信息流动的可控能力。主要涉及信息的机密性、真实性、可控性、可用性等
主要涉及的技术:
内容安全着眼点是依据内容来对安全问题进行判断,但需要通过技术方式来解决,内容安全技术本质是对数据的攻击技术。国际社会经常将反网络病毒、反垃圾邮件问题列入内容安全的范畴
信息对抗:对信息有效内容真实性的隐藏、保护与分析。主要涉及信息有效内容的机密性、完整性等
所涉及的主要技术:
信息隐藏是典型的信息内容对抗,主要目的为信息的隐藏与发现、信息的干绕与提取,利用信息获取、数据挖掘、情报分析发现信息,如果不能掩盖一个信息,那就淹没这个信息
三级信息安全框架
信息安全四要素:CACA(机密性 可用性 可控性 真实性)
网络不安全的根本原因:冯.诺依曼结构---数字计算机的数制采用二进制、计算机应该按照程序顺序执行、软件=数据+程序
网络不安全的直接原因:自身缺陷(如协议本身会泄漏口令、连接可成为被盗用的目标、服务器本身需要读写特权、密码保密措施不强、业务内部可能隐藏着一些错误的信息、有些业务设置复杂很难完善地设立) + 开放性(业务基于公开的协议、远程访问使得各种攻击无需到现场就能得手、连接是基于主机上的社团彼此信任的原则) + 黑客攻击
常见攻击分类:
网络安全的任务:保障各种网络资源稳定、可靠地运行,受控、合法地使用
信息安全的任务:机密性、完整性、抗否认性、可用性
内容安全的任务:依据内容对文化安全问题进行判断,通过技术问题解决文化安全问题
信息对抗的任务:内容隐藏、内容挖掘
扩展:深度优先---指的是蝴蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面沿着另一个链接再一直往前爬行;广度优先---指蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前而是把页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。注:深度优先和广度优先通常是混合使用,既可以照顾到尽量多的网站也能照顾到一部分网站的内页。重要页面---1. 网站和页面权重(质量高、资格老的网站被认为权重比较高,则该页面被爬行的深度比较高,所有会有更多内页被收录)2. 页面更新度(如果页面内容经常更新,蜘蛛就会更加频繁地访问这种页面,页面上出现的新链接也自然会被蜘蛛更快地跟踪,抓取新页面)3. 导入链接(无论是外部链接还是同一个网站的内部链接,要被抓取就必须有导入链接进入页面,否则蜘蛛根本没有机会知道页面的存在。高质量的导入链接经常使页面上的导出链接爬行度增加)4.与首页点击距离(离首页点击距离越近,页面权重越重,被蜘蛛爬行的机会越大)。地址库中URL来源---人工录入的种子网站、蜘蛛抓取产生的待访问地址库、搜索引擎网页提交表格提交进来的网址。复制内容检测---蜘蛛遇到权重很低的网站大量转载或抄袭内容时很可能不再爬行。如果在日志文件中发现了蜘蛛但页面从来没有被收录,则这可能就是原因
Bloom Filter算法
一致性哈希算法优势:一致性哈希算法能尽可能减少了服务器数量变化所导致的缓存迁移,能够在一定程度上改善缓存的雪崩问题,它能够在移除/添加一台缓存服务器时,尽可能小地改变已存在的key映射关系,避免大量key的重新映射,解决了普通余数Hash算法伸缩性差的问题,可以保证在上线、下线服务器的情况下尽量有多的请求命中原来路由到的服务器
核心思想:如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高;如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高
排名泄露问题:如果存在网页没有出度链接则会产生排名泄露问题,经过多次迭代后,所有网页的PR值都趋向于0
排名下沉问题:若网页没有入度链接,经过多次迭代后,该点的PR值会趋向于0
排名上升问题:互联网中一个网页只有对自己的出链或者几个网页的出链形成一个循环圈。那么在不断地迭代过程中,这一个或几个网页的PR值将只增不减
PageRank数值计算难点:计算机容量限制;收敛问题
一个搜索引擎需要知道的几件事:自动下载尽可能多的网页、建立快速有效的索引、根据相关性对网页进行公平准确的排序
定义:表示文档、用户查询以及查询与文档的关系的框架
模型描述:文档D---一个文档被表示为关键词的集合;查询式Q---查询式被表示为关键词的布尔组合,用 “与、或、非”连接起来,并用括弧指示优先次序;匹配F---一个文档当且仅当它能够满足布尔查询式时才将其检索出来,检索策略基于二值判定标准;算法R---根据匹配框架F判定相关
优点:查询简单,容易理解;通过使用复杂的布尔表达式,可以很方便地控制查询结果;布尔模型可以通过扩展来包含排序的功能,即“扩展的布尔模型”;相当有效的实现方法;经过某种训练的用户可以容易地写出布尔查询式
缺点:不支持部分匹配,而完全匹配会导致太多或者太少的结果文档被返回;很难控制被检索的文档数量;很难对输出进行排序;很难进行自动的相关反馈
正排索引:计算方式自行了解
倒排索引:倒排索引有两部分组成---词汇表和位置表,大致步骤:在词汇表中查找用户中查询包含的词汇,对词典二元查找、找到该词;查找并取出所有查询词在位置表中的地址列表;根据各查询词的地址列表计算需检索文档的或段落的标识符。计算方式自行了解
模型描述:文档D---泛指文档或文档中的一个片段;索引项t---指出现在文档中能够代表文档性质的基本语言单位(如字、词等),也就是通常所指的检索词,这样一个文档D就可以表示为D(t1,t2,…,tn),其中n就代表了检索字的数量;特征项权重Wk---指特征项tn能够代表文档D能力的大小,体现了特征项在文档中的重要程度;相似度S---指两个文档内容相关程度的大小
词项权重(TFIDF)计算:根据词项在文档(tf)和文档集(idf)中的频率计算词项的权重
优点:术语权重的算法提高了检索的性能;部分匹配的策略使得检索的结果文档集更接近用户的检索需求;可以根据结果文档对于查询串的相关度通过Cosine Ranking等公式对结果文档进行排序
缺点:标引词之间被认为是相互独立;随着Web页面信息量的增大、Web格式的多样化,这种方法查询的结果往往会与用户真实的需求相差甚远,而且产生的无用信息量会非常大;隐含语义索引模型是向量空间模型的延伸
过程:用户向信息检索系统提出检索申请;信息检索系统产生一个界面与用户交互,界面接收用户提出的查询关键字后,系统查询本体库,从中找出出现该关键字的各个领域,然后将其领域以及在该领域下的关键字的含义罗列给用户;用户此时可根据自己的意图,在界面上确定所需查找的领域及含义;系统将经过本体规范后的请求交给全文搜索引擎进行检索;全文搜索引擎检索后返回给用户检索信息
好处:解决从查询语言到检索语言之间转换过程中出现的语义损失和曲解等问题;保证在检索过程中能够有效地遵循用户的查询意图,获得预期的检索信息
Linux系统中进程通信方法
关系:以太网在一二层提供物理上的连线,使用48位的MAC地址;TCP/IP工作在上层,使用32位的IP地址,两者间使用ARP和RARP协议进行相互转换
载波监听:指在以太网中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲,如果空闲,就传输自己的数据,如果信道被占用,就等待信道空闲
冲突检测:为了防止发生两个站点同时监测到网络没有被使用时而产生冲突。以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据
以太网广播通讯:所有的通讯都是广播的,通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据。每一个网络接口都有一个唯一的硬件地址,这个硬件地址也就是网卡的MAC地址,大多数系统使用48比特的地址,这个地址用来表示网络中的每一个设备,一般来说每一块网卡上的MAC地址都是不同的。在正常的情况下,网络接口应该只响应这样的两种数据帧---与自己硬件地址相匹配的数据帧、发向所有机器的广播数据帧。
数据的收发是由网卡来完成的,网卡接收到传输来的数据,网卡内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收。认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。CPU得到中断信号产生中断,操作系统就根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理
libpcap 提供的接口函数主要实现和封装了与数据包截获有关的过程
Libpcap,即数据包捕获函数库,基于BPF系统。该库提供的C函数接口可用于捕获经过网络接口(只要经过该接口,目标地址不一定为本机)的数据包,采用libpcap可以捕获本地网络数据链路层上的数据
libnids主要功能包括监视流经本地的所有网络通信、捕获网络数据包、IP碎片重组、TCP数据流重组以及端口扫描攻击检测和异常数据包检测等
使用范围:入侵检测系统;网络协议分析;网络嗅探(网络监视)
BF:从左向右,依次比较,每次移动一个字符位置,比较方向可以任意选定,无预处理阶段
KMP:根据前缀模式可以使模式向前推进若干字符位置(依前缀模式长度而定),而不只是一个字符,避免了重复比较,同时也实现了文本指针的无回朔
BM:速度最快的算法,从最右端自右向左扫描。在不匹配(或完全匹配)时,用两个预先计算的函数bad character和good suffix 来确定指针在正文中移动的距离
总结算法原理:
AC算法-有限状态机