《软件安全》 彭国军 阅读总结

对于本书,小编本意是对其讲述的内容,分点进行笔记的整理,后来学习以后,发现,这本书应该不算是一本技术提升类的书籍,更像是一本领域拓展和知识科普类书籍,所讲知识广泛,但是较少实践,应是小白入门安全的书籍,若是要对每个章节做一个知识分享,就很难逃脱照抄书本原文(知识密度大),因此,小编放弃了章节的总结,进行了全本书内容的汇总,包括每个章节所提到的一些概念,以及自己的感受。在之后的章节中,小编会对这些概念,查找资料,进行更加详细的描述。

软件安全概述(3-12)

概述性知识,可作为了解

软件安全基础(13-48)

磁盘结构,主引导扇区结构,文件系统,80X86处理器工作模式,Windows内存结构与管理(DOS内存布局,Windows内存布局,虚拟地址转译,内存分配和管理),计算机引导过程,PE文件格式

软件漏洞利用和防护(49-64)

CVE标准,CNVD,CNNVD,软件漏洞利用对系统的威胁,软件漏洞产生的原因,软件漏洞利用方式,典型软件漏洞(缓冲区溢出)

典型软件漏洞机理分析(65-94)

缓冲区溢出漏洞(栈溢出利用,堆溢出利用)格式化串漏洞,Web引用程序漏洞,OWASP

shellcode开发(95-113):

软件漏洞的具体技术:修改内存变量,修改代码逻辑,需改函数返回地址,修改函数指针,攻击异常处理机制,修改PEB中线程同步函数的入口地址(纯概念梳理)

简单堆栈溢出点的定位,地址重定位技术(call),API函数自搜索技术,shellcode编码,shellcode典型功能(正向连接,反向连接,下载程序并执行,生成可执行文件并执行)

突破操作系统和CPU对堆栈数据的限制:

Ret2Lib技术:该技术使得Shellcode在最开始的时候并不直接跳转到Shellcode,当发生缓冲区溢出时,用系统库中特定函数的地址覆盖返回地址,从而漏洞触发时执行相应的函数功能

ROP技术(Return Oriented Programminng):通过拼接内存中的返回命令,可实现控制程序执行流程到内存中的任何指令序列

MSF漏洞利用框架

静态分析,动态分析,fuzzing

Windows系统安全机制及漏洞防护技术(113-129)

DEP保护机制(data execution prevention) 

栈溢出检查----GS保护原理和实现

地址空间分布随机化---ASLR

SafeSEH

EMET

软件安全开发流程(129-148)

安全教育-》设计-》开发-》测试-》发行和维护

软件安全策略

软件安全设计法则

安全编码技术

访问控制

授权与审计

恶意代码机理和防护(153-159)

网络蠕虫、木马、后门、Rookit

流氓软件,僵尸程序

恶意代码机理分析(159-248)

病毒的特点和分类,计算机病毒的结构,计算机病毒传播方式,PE文件格式

捆绑式感染方式,熊猫烧香,WSH,VBS脚本病毒,爱虫病毒,病毒如何获取电脑控制权

宏病毒,病毒的自我隐藏机制,美杜莎病毒,ELF类病毒,网络蠕虫,木马(进程管理,文件管理,注册表操作,服务管理,屏幕截取,鼠标控制,视频监视,语音监听方案,远程shell,传播病毒,破坏系统,添加后门),灰鸽子木马,Rookit(HOOK,LAT,IDT,SSDT,进程隐藏技术)SSTD隐藏进程,DKOM隐藏进程,文件隐藏技术(用户态文件隐藏技术,内核态文件隐藏技术)

通信隐藏技术(SSDT挂钩隐藏端口,驱动程序钩子隐藏端口),注册表隐藏技术,Rookit检测原理和工具  手机恶意软件(基于Content Provider的隐私窃取)

个人认为本部分是该书的精华部分

病毒检测技术和检测对抗技术(249-274)

特征值检测技术,虚拟机检测技术,启发式扫描技术

对抗特征值检测,对抗启发式扫描技术,对抗虚拟机技术,反病毒软件对抗

加壳和脱壳

恶意软件样本捕获和分析(275-291)

蜜罐,恶意软件样本分析,进程监控,文件监控,注册表监控,网络连接监控,系统启动项监控,内核监控

文件类型检测,PE文件格式分析(PEview,Stud_PE),静态反汇编(IDA pro),动态调试(OllyDbg),恶意软件分析报告

软件自我保护(292-304)

软件知识产权保护技术,验证机制,KeyFile验证,网络验证,光盘验证,加密锁验证

静态分析对抗技术(花指令,自修改代码技术(SMC)加密和多态变形技术),动态分析对抗技术(检测自身是否处于调试状态,检测调试器软件是否存在,发现调试器以后的操作),软件自校验技术(磁盘文件校验,内存映像校验)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
国军标中关于软件测试类型的标书主要包括以下几个方面: 1. 单元测试(Unit Testing):对软件中最小的可测试单元进行测试,通常是对函数或方法进行测试,以验证其功能是否正确。 2. 集成测试(Integration Testing):将已经通过单元测试的模块组合起来进行测试,验证模块之间的接口和交互是否正常。 3. 系统测试(System Testing):对整个软件系统进行测试,验证系统是否满足需求规格说明书中的功能和性能要求。 4. 验收测试(Acceptance Testing):由用户或客户进行的测试,验证软件是否满足用户需求和预期。 5. 性能测试(Performance Testing):对软件系统的性能进行测试,包括响应时间、吞吐量、并发用户数等指标的测试。 6. 安全测试(Security Testing):对软件系统的安全性进行测试,包括漏洞扫描、权限控制、数据加密等方面的测试。 7. 兼容性测试(Compatibility Testing):验证软件在不同操作系统、不同浏览器、不同硬件平台上的兼容性。 8. 可靠性测试(Reliability Testing):对软件系统的可靠性进行测试,包括故障恢复、容错能力等方面的测试。 9. 强度测试(Stress Testing):对软件系统进行负载测试,验证系统在高负载情况下的稳定性和性能。 10. 回归测试(Regression Testing):在软件系统发生变更后,对已经通过的测试用例进行重新执行,以确保变更不会引入新的问题。 以上是国军标中常见的软件测试类型,不同项目和标准可能会有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值