1.Whois
这是Internet上提供的查找相关域名、IP地址、E-mail信箱、联系电话等信息的一种服务。
2.根据入侵检测系统检测入侵行为的方式和原理不同分类:
⑴.误用检测型入侵检测系统
收集攻击行为和非正常操作的行为特征,建立相关的特征库。
这种检测技术对于已知的攻击类型非常有效,而对攻击的变种和新的攻击几乎无能为力。
⑵.异常检测型入侵检测系统
3.IPSec安全协议(VPN中使用最广泛的一种协议)
引入加密算法、数据完整验证性和身份验证实现了数据传输的安全性。
IPSec安全协议为私有信息通过公用网络提供安全保障。
4.软件安全保护技术
⑴.注册信息验证技术
⑵.软件防篡改技术
⑶.代码混淆技术
代码混淆技术:词法转换、控制流转换、数据转换等。
⑷.软件水印技术
⑸.软件加壳技术
有效检测采用加壳技术的恶意程序:
①.主动防御技术
②.虚拟机查杀技术
③.启发式查杀技术
根据软件加壳的目的和作用分为:压缩保护壳和加密保护壳。
*.将可执行文件进行解压缩或解密从而使可执行文件还原为可执行的正常状态的
技术是软件脱壳。
⑹.反调试跟踪技术。
5.软件漏洞网络攻击框架性工具:Metasploit。
Metaploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。
6.BitBlaze平台
组成部分:
⑴.Vine——静态分析组件。
⑵.TEMU——动态分析组件。
⑶.Rudder——结合动态和静态分析进行具体和符号化分析的组件。
BitBlazez致力于视线一个统一的二进制分析平台,以提供一种全新的计算机安全问题的解决方案。这个平台将支持精确分析,提供一种可扩展的架构,而且结合了静态和动态分析技术以及程序验证技术以满足各种安全应用的普遍需求。
BitBlaze把二进制代码中与安全相关的部分直接提取出来,从而提供了一种原则性的、基于根源的计算机安全问题的解决方案。
7.Nessus软件
这是目前全世界最多人使用的系统漏洞扫描与分析软件。
8.Nmap(Network Mapper)
这是Linux下的网络扫描和嗅探工具包。
9.软件安全检测技术
软件静态安全检测结束是针对未处于运行状态的软件所开展的安全分析测试技术。目前常用的静态安全检测技术:词法分析、数据流分析、污点传播分析、符号执行、模型检查、定理证明等。静态安全分析技术检测源代码安全缺陷和漏洞的主要优势是不需要构建代码运行环境,分析效率高,资源消耗低。基于程序结构和程序语义的安全检测技术属于可执行代码静态安全检测技术。
软件动态安全检测技术是针对运行中的软件程序,通过构造非正常的输入来检测软件运行时是否出现故障或崩溃等非正常的输出,并通过检测软件运行中的内部状态信息来验证或检测软件缺陷的过程。软件动态安全检测技术的分析对象是可执行的代码。目前动态安全检测技术主要包括:模糊测试、智能模糊测试、动态污点分析等。
*.模糊测试技术的缺点:
(1). 畸形数据的生成具有随机性。
(2). 代码覆盖不充分。
(3). 测试数据覆盖率不高。
10.操作系统的内存空间分类:
- . .text段
存放程序代码的区域,该区域只读。 - . .bass段
保存全局变量数据。 - . .data段
保存全局变量数据。 - .堆
存放动态数据。
堆是一个先进先出的数据结构,在内存中的增长方向时从低地址向高地址增长。 ( ) - .栈
保存本地便来给你、函数调用等信息。
栈空间的增长方向时从高地址向低地址增长,数据写入栈帧的填充方向是从低地址向高地址增长。
栈指针寄存器esp中存放的指针指向:栈顶地址。(栈帧地址的分配动态变化时,可以使用jmp esp使得新的返回地址定位到shellcode起始地址。)
*.基址指针寄存器ebp存放的指针始终指向:基地址。
指令寄存器eip存放的指针始终指向:返回地址。 - .缓冲机
存放程序运行时加载到内存的运行代码和数据。 - .栈帧
存放在栈中,常在函数调用时,被调用函数的相关信息会保存在内存中的栈区。
*.常见的缓冲区溢出:栈溢出、堆溢出、单字节溢出。
*.程序员负责堆中变量的分配与释放,栈中变量空间的分配和释放由程序负责。
11.竞争条件漏洞
该漏洞被描述为:由于程序处理文件等实体时在时序和同步方面存在问题,存在一个机会窗口使攻击者能够实施外来的影响。
竞争状态时一种异常行为,是由对时间相对节奏的以来关系的破坏而引发的。竞争条件属于time-of-check-time-of-use漏洞的一种。
12.漏洞定义三要素:
⑴.漏洞时计算机系统本身存在的缺陷。
⑵.漏洞的存在和利用都有一定的环境要求。
⑶.漏洞的存在本身时没有危害的,只有被攻击者恶意利用,才能带来威胁和损失。
13.GS保护技术(GS Stack protection)
该技术是一项缓冲区溢出的检测防护技术。
使用该技术的编译器针对函数调用和返回时添加保护和检查功能的代码。
在函数被调用时,在缓冲区和函数返回地址增加一个32位的随机数security-cookie。
在函数返回时,调用检查函数检查security-cookie的值是否有变化。
14.安全测试(从攻击者的角度展开):
⑴.构造畸形数据包。
⑵.对用户的输入进行全面检测。
⑶.验证输入输出文件。
⑷.全面测试异常处理。
⑸.采用反汇编凡事检测敏感信息。
⑹.测试非正常的路径及其路径限制;
15.国家信息安全漏洞共享平台——CNVD(中国国家信息安全漏洞库(CNNVD))
国内机构维护的漏洞数据库。
16.数组越界漏洞触发时在执行路径上的特征:
- .读取恶意构造的输入数据。
- .用输入数据计算数组访问索引。
- .对数组进行读或写操作。
17.UAF漏洞
内存地址对象破坏性调用漏洞属于UAF漏洞。
18.C标准库中,对字符串操作的部分函数、数组和指针都没有自动检查的边界,程序员开发时必须自己进行边界检查防范数据溢出,这类函数包括:strcpy、strcat、sprintf。
19.OWASP十大安全威胁:
(1). 注入式风险
(2). 跨站点脚本(XS)
(3). 无效的认证及会话管理功能
(4). 对不安全对象的直接引用
(5). 伪造跨站点请求(CSRF)
(6). 安全配置错误
(7). 加密存储方面的不安全因素
(8). 不限制访问者的URL
(9). 传输层面的保护力度不足
(10). 未经验证的重新指向及转发
20.软件开发生命周期模型:瀑布模型、螺旋模型、迭代模型、快速原型模型。
21.安全设计原则:
(1). 最小权限原则
(2). 开放设计原则
(3). 全面防御原则
(4). 权限分开原则
(5). 最少公用原则
(6). 心里接受性
(7). 代码重用性
(8). 充分考虑软件运行环境
(9). 选择安全的加密算法
(10). 充分考虑不安全的条件
(11). 失效防护
22.整数溢出的三种溢出原理:存储溢出、运算溢出、符号问题。
23.DEP
限制内存堆栈区的代码为不可执行状态的技术。
一种将内存中敏感区域设置为不可执行转台,从而在溢出后即使跳转到恶意代码的地址,恶意代码也将无法运行的技术。
24.软件安全开发技术:建立安全威胁模型、安全设计、安全编码、安全测试等。
25. 安全编程时需要考虑的原则:数据的机密性、数据的完整性、数据的有效性。
26.软件漏洞的特点:
- .危害性大。
- .影响广泛。
- .存在长久性。
- .隐蔽性。
27.恶意程序
恶意程序检测查杀技术:
(1). 特征码查杀
(2). 启发式查杀
(3). 基于虚拟机技术的行为判定
(4). 主动防御
恶意程序的破坏功能
(1). 浏览器配置被修改。
(2). 窃取用户密账户等隐私信息。
(3). 实现远程控制。
(4). 破坏系统或网络的正常运行。
恶意程序的安全防护技术:
(1). 做好计算机自身的安全防护
(2). 防止网站浏览和访问造成的恶意程序入侵。
(3). 防止因下载造成的恶意程序入侵。
(4). 防止通信类软件造成的恶意程序入侵。
(5). 防止因移动存储介质造成的恶意程序入侵。
(6). 防止基于局域网的恶意程序入侵。
恶意程序的传播方法:
(1). 网站挂马
(2). 诱骗下载
(3). 通过移动存储介质传播
(4). 通过电子邮件和即使通信软件传播
(5). 通过局域网传播。(利用网络服务程序的漏洞进行传播)
28.sigverif
可对windows系统文件进行签名验证的微软工具。
29.微软公司安全公告中:
- .第一级:严重。
- .第二级:重要。
- .第三级:中危。
- .第四级:低危。
30.基于硬件戒指的软件安全保护技术:加密狗、加密光盘、专用接口卡等。
31.常用的模糊测试工具:SPIKE、Peach、BitBlaze。
32.根据水印的加载位置,软件水印可以分为:代码水印和数据水印。
33.软件安全保护技术:软件水印、代码混淆、软件加密、功能限制等。
34.信息安全风险评估方法:
(1). 基本风险评估
(2). 详细风险评估
(3). 基本风险评估和详细风险评估相结合
35.常用的软件测试方法:白盒测试、灰盒测试(针对二进制代码的测试)、黑盒测试。
36.攻击者窃听了用户访问HTTP时的用户名和密码,或者是用户的会话,从而得到sessionID,进而冒充用户进行HTTP访问的攻击是遭破坏的认证和会话攻击。
37.风险评估:基本风险评估、详细风险评估、基本风向评估和详细风向评估结合。
38.Web安全防护技术:客户端安全防护、通信信道安全防护、服务器安全防护。
39.针对“没有限制的URL访问”这种攻击,其防护措施:
- .对于要隐藏的链接必须能限制非授权用户的访问。
- .加强基于用户或者角色的访问控制。
- .禁止访问一些私密的页面信息类型。
40.软件漏洞利用防范技术:safeSEH、SEHOP、ASLR。
漏洞利用技术:NOP。
41.sigverif软件工具
可对Windows系统文件进行签名验证的微软工具。
42.Windows西宫下的网络命令:ipconfig、netstat、tracert。
43.exploit
含义是漏洞利用。
44.Heap Spray技术(对喷洒技术)
Heap Spray在shellcode的前面加上大量的滑板指令(slide code),组成一个非常长的注入代码端,人后向系统申请大量内存,并且反复用这个注入代码来填充,这样就使得内存空间被大量的注入代码所占据。Heap Spray技术通过使用类NOP指令来进行覆盖,对shellcode地址的跳转准确性要求不高,从而增加了缓冲区溢出攻击的成功率。然而Heap Spray会导致被攻击进程的内存占用非常大,计算机无法正常运转,因而容易被察觉。它一般配合堆栈溢出攻击,不能用于主动攻击,也不能保证成功。针对Heap Spray, Windows系统最好的防范方法是开启DEP。
45.实现对软件逆向分析的逆向分析辅助工具:OllyDbg、IDA pro、WinDBG、SoftlCE。
46.基于硬件介质的软件安全保护技术:加密狗、专用接口卡、加密光盘。
47.当用户双击自己Web邮箱中邮件的主题时,触发了邮件正文页面中的XXS漏洞,这种漏洞属于存储形XSS。
48.在进行栈溢出漏洞利用时,属于漏洞利用数据项的是:NOP、随机填充数据、新返回地址。
49.将系统关键地址随机化,从而使攻击者无法获得需要跳转的精确地址的技术是ASLR。
50.安全编程时需要考虑 :
(1). 数据的机密性
(2). 数据的完整性
(3). 数据的有效性
51.微软的软件安全开发生命周期模型:
(1). 第0阶段:准备阶段
(2). 第1阶段:项目启动阶段
(3). 第2阶段:定义需要遵守的安全设计原则
(4). 第3阶段:产品风险评估
(5). 第4阶段:风险分析
(6). 第5阶段:创建安全文档、安全配置工具
(7). 第6阶段:安全编码策略
(8). 第7阶段:安全测试策略
(9). 第8阶段:开发团队自身进行的全面安全分析检测
(10). 第9阶段:最终安全评审
(11). 第10阶段:组建安全响应团队制定安全响应计算
(12). 第11阶段:产品发布
(13). 第12阶段:安全响应执行
52.信息安全管理体系认证基于的原则:自愿。
53.软件防篡改技术主要是通过完整性检验来检测软件是否被攻击者篡改。
54.软件源代码安全测试工具包括:Fortify、Coverity、BitBlaze。
55.按照漏洞生命周期不同阶段进行分类的漏洞包括:0day漏洞、1day漏洞、已公开的漏洞。
*.Nday漏洞:指漏洞已经被公开披露,且漏洞的修复补丁已经发布n天。
*.2day漏洞:属于Nday漏洞的一种特殊情况,即补丁发布时间为两天。
56.一个程序运行时,函数调用过程中返回地址入栈,对应的指令为:call子函数地址。
57.模糊测试的步骤:
(1). 确定测试对象和输入数据。
(2). 生成模糊测试数据。
(3). 检测魔术测试数据。
(4). 检测程序异常。
(5). 确定可利用性。
*.程序语义安全检测属于静态安全检测技术。
58.软件开发的原则:
(1). 心理接受性
(2). 最少公用原则
(3). 权限分开原则
59.攻击者利用栈溢出发起攻击时,向存在漏洞的软件程序输入的数据包括:NOP填充字段、随机填充数据、Shellcode。
60.“写污点值到污点地址漏洞”被触发时,在执行路径上所表现出的特征包括:
(1). 读取污点数据。
(2). 读取污点地址。
(3). 向污点地址写入污点数据。
61.信息安全政策作为组织机构信息安全的最高方针。
62.应急计算三元素:事件响应、灾难恢复、业务持续计划。
63,针对不安全的加密存储攻击,其防范措施有:
(1). 对于所有的敏感性数据必须进行加密,且无法被轻易破解。
(2). 保证加密密钥被妥善保管,攻击者不能轻易窃取。
(3). 对于敏感存储内容必须进行严格的访问控制,只允许授权用户进行操作。
64.软件漏洞产生的原因:
(1). 软件设计开发运行阶段的疏漏。
(2). 软件技术和代码规模的快速发展。
(3). 软件安全测试技术的滞后。
65.安全测试往往需要从攻击者的角度开展测试,安全测试技术包括:
(1). 全面异常测试。
(2). 采用反汇编方式检测敏感信息。
(3). 测试非正常路径及其路径限制。
66.系统开发
(1). 系统的生命周期不是无限长的。
(2). 系统开发分为:规划、分析、设计、实现和运行。
(3). 系统开发每个阶段都会有相应的期限。
(4). 系统开发过程的每一个阶段都是一定的循环过程。
67.信息安全管理体系(ISMS)是一个系统化、程序化、文件化的管理体系,属于风险管理的范畴,体系的建立基于系统、全面和科学的安全风险评估。