导图社区 网络安全思维(下)
网络安全思维超详细笔记。里面包括很多网络网络安全的知识,希望能帮助大家提升网络安全方面的知识。包括木马攻击与防御技术、计算机病毒、网络安全发展与未来、Web攻击及防御技术、缓冲区溢出攻击及防御技术、拒绝服务攻击与防御技术。
编辑于2019-11-07 03:03:27Java 语言的语法与 C 语言和 C 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
Java程序设计基础、概念知识、了解其组成等内容。包含概述:特点、工作方式、开发工具、术语、源程序结构;面向对象:基本概念、三大支柱、相关内容、设计原则;字符串:可以被修改的字符串等内容。
马上又到软考、PMP的日子了,相信很多有志青年都已经准备的差不多了吧,或者也有裸考的呢,哈哈。这里整理了些相通的知识点,帮大家梳理下思路,仅供参考。不管是软考还是PMP,都要牢记项目管理的主线知识点,总结起来就是:10大知识领域,47个过程。
社区模板帮助中心,点此进入>>
Java 语言的语法与 C 语言和 C 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
Java程序设计基础、概念知识、了解其组成等内容。包含概述:特点、工作方式、开发工具、术语、源程序结构;面向对象:基本概念、三大支柱、相关内容、设计原则;字符串:可以被修改的字符串等内容。
马上又到软考、PMP的日子了,相信很多有志青年都已经准备的差不多了吧,或者也有裸考的呢,哈哈。这里整理了些相通的知识点,帮大家梳理下思路,仅供参考。不管是软考还是PMP,都要牢记项目管理的主线知识点,总结起来就是:10大知识领域,47个过程。
网络安全思维
九、木马攻击与防御技术
木马
定义
特洛伊木马,一经潜入,后患无穷
系统中被植入、人为设计的程序,目的通过网络远程控制其他用户的计算机,窃取信息资料,并恶意使计算机系统瘫痪
分类
试图访问未授权资源
试图阻止访问
试图更改或破坏数据和系统
危害性
自动搜索已中木马计算机
管理对方资源
跟踪监视对方屏幕
直接控制对方的键盘和鼠标
随意修改注册表和系统文件
共享被控计算机的硬盘资源
监视对方任务且可终止对方任务
远程重启和关闭机器
功能类型
破坏型
密码发送型
远程访问型
键盘记录木马
DOS攻击木马
代理木马
FTP木马
程序杀手木马
反弹端口型木马
特点
有效性
隐蔽性
顽固性
易植入性
辅助性特点
自动运行
欺骗性
自动恢复
功能特殊性
原理
C/S组合架构
流程
向目标主机植入木马
启动和隐藏木马
服务端和客户端建立连接
进行远程控制
植入技术
主动植入
本地安装
网吧主机
远程安装
系统自身漏洞
第三方软件漏洞
被动植入
网页浏览植入
电子邮件植入
网络下载植入
利用即时通讯工具植入
与其他程序捆绑
利用移动存储设备植入
自加载技术
修改系统文件
修改系统注册表
添加系统服务
修改文件打开关联属性
修改任务计划
修改组策略
利用系统自动运行程序
修改启动文件夹
替换系统DLL
隐藏技术
设置窗口不可见
从任务栏中隐藏
把木马程序注册为服务
从进程列表中隐藏
欺骗查看进程的函数
从进程列表中隐藏
使用可变的高端口
端口隐藏技术
使用系统服务的端口
端口隐藏技术
替换系统驱动或系统DLL
真隐藏技术
动态嵌入技术
真隐藏技术
连接
服务器端打开一默认端口进行监听
如果有客户端对服务器发送连接请求,服务器上面的木马服务器就会自动运行
启动一个守护进程来应答客户端的需求
原理
Socket
变种
反弹窗口连接技术
由服务器端向客户端 主动发起请求连接
监控技术
获取目标机器信息
记录用户事件
键盘鼠标
屏幕
远程操作
检测技术
端口扫描和连接检查
检查系统进程
检测ini文件,注册表和服务
监视网络通讯
防范措施
及时修补漏洞,安装补丁
运行实时监控程序
培养风险意识,不适用来历不明的软件
及时发现,及时清除
发展趋势
跨平台
模块化设计
无连接木马
主动植入
木马与病毒的结合
十、计算机病毒
按攻击目标分类
攻击微型计算机病毒
攻击小型计算机病毒
攻击工作站的病毒
宿主程序
操作系统
应用程序
与病毒类似的硬件故障
系统的硬件配置
软件无法运行
电源电压不稳定
磁盘文件丢失
插件接触不良
设备时好时坏
软驱故障
读坏磁盘
防病毒软件分类
病毒扫描软件
完整性检查软件
行为封锁软件
生命周期
感染
自我复制传播给目标系统
潜伏
逃避用户和防病毒软件的监视而隐藏自身行踪的行为
繁殖
不断潜入当前主机的其他程序,进行传播,每个被感染的程序成为新的病毒源
发作
实施各种破坏行为
寄生方式和传播途径分类
引导型
文件型
混合型
病毒之最
最具杀伤力的病毒
CIH
最浪漫
I LOVE YOU
最漂亮
图片病毒
最虔诚
熊猫烧香
最烦人
即时在线聊天病毒
最佳创意
AV终结者
最流氓
灰鸽子
最坚强
网页病毒
最牛
未来
广义上的病毒
一切恶意程序的统称
按平台分类
攻击DOS系统的病毒
攻击Windows系统的病毒
攻击Unix系统的病毒
攻击OS/2系统的病毒
其他操作系统
手机病毒等
命名
病毒名前缀.病毒名.病毒后缀
前缀指病毒的分类
后缀指病毒的变种特征
入侵的方式
替代方式
链接方式
触发机制
日期和时间触发
键盘触发
感染触发
启动触发
磁盘访问触发中断访问触发
其他机制触发
防御基本策略
安装至少一种防病毒软件
定期升级你的防病毒软件
不要随便打开邮件附件
尽量减少授权使用你计算机的人
及时为计算机安装最新的安全补丁
从外部获取数据前先检查
安装完整性检查软件
定期备份你的文件
建立一个系统恢复盘
传播媒介分类
单机病毒
网络病毒
链接方式分类
源码型
嵌入型
外壳型
操作系统型
传播途径
电子邮件
外部介质
复制
下载
浏览网页
交叉感染
多个病毒感染同一个文件
与病毒类似的软件故障
某些软件无法运行
网络连接数过多导致无法上网
防火墙配置不当导致无法上网
组成模块
感染模块
寻找一个可执行文件
检测该文件是否有感染标记
如果没有,进行感染,将代码放入宿主程序
触发模块
检查预定触发条件是否满足
如果满足返回真值
不满足返回假
破坏模块
主控模块
调用感染模式,进行感染
调用触发模块,接受返回值
真,执行破坏模块
否,执行后续程序
破坏性
破坏系统数据
破坏目录文件
修改内存
干扰系统运行
效率降低
破坏显示
干扰键盘操作
制造噪音
修改CMOS参数
影响打印机
一种程序
他用修改其他程序的方法将自己的精确拷贝或者可能深化的形式放入其他程序中
新动向
变种繁多,烟花日趋完善
混合通用型病毒
隐藏性病毒
多态性病毒
病毒的自动化生产
异常状况
运行速度降低
容易死机
文件改变
磁盘可用空间减少
系统参数被修改
文件被破坏
频繁产生错误信息
系统异常频繁重启
Office宏病毒提示
寄生感染
放入宿主程序的头部、中部或者尾部
插入感染
拦腰斩断宿主,病毒插入宿主程序中
反插入感染
把宿主程序放在病毒中部
没有入口点的感染
修改跳转指令,使跳转到病毒
零长度感染
将恶意代码放入孔洞中,不修改宿主的文件大小
空洞是指只够长度全部为零的程序数据区或堆栈区
典型的计算机病毒
DOS病毒
引导型病毒传播机制
感染磁盘引导扇区和硬盘主引导扇区的计算机病毒程序
1、将系统正常的引导信息,转移到空闲位置保存起来,用病毒替换正常的,这样就可以先运行病毒再运行引导
2、将自身代码写入引导扇区
文件型病毒传播机制
利用系统上的文件进行传染
WIN32 PE病毒
隐藏技术
反跟踪技术
避开修改中断向量
请求在内存中的合法身份
维持宿舍程序的外部特征
不适用明显的感染标志
花指令
加入一些没有意义的代码
简单加密
对主体代码采用固定的秘钥进行加密
通常采用XOR OR SUB ADD
多态
多态引擎组成
指令位置变化模块
寄存器变换模块
指令扩展模块
指令收缩模块
等价指令替换模块
无用指令随机插入
垃圾指令插入
代码的优化
所占用空间优化
运行时间优化
线程技术
远程线程,远程开启一个线程去运行病毒
进程/线程之间的相互保护
只要进程不被终结,线程会一直存在
宏病毒
二进制
汇编语言写的
脚本病毒
编写简单
破坏力大
感染力强,病毒变种多
HTML病毒
ActiveX
修改注册表
拒绝服务供给
破坏系统
窃取硬盘文件
非法下载文件到用户计算机上
设置硬盘共享
子主题
蠕虫
主动传染性
功能模型
基本功能模块
搜索模块
攻击模块
传输模块
信息搜索模块
繁殖模块
扩展功能模块
通信模块
隐藏模块
破坏模块
控制模块
工作流程
随机生成IP地址
探测地址
主机是否存在
漏洞是否存在
攻击、传染和处理
行为特征
自我繁殖
利用软件漏洞
造成网络拥塞
消耗系统资源
留下安全隐患
手机病毒
特性
传染性
破坏性
隐蔽性
程序性
潜伏性
可触发性
衍生性
欺骗性
不可预见性
感染目标
主引导扇区
硬盘BOOT扇区
软盘BOOT扇区
EXE文件
COM文件
COMMAND文件
IBMBIOS文件,IBMDOS文件
eml、doc、dot、bvs、bat、pl、html、flash、dll、sys、asp等
机制
传播机制
触发机制
破坏机制
破坏情况分类
良性病毒
恶性病毒
特征
隐藏性
传染性
潜伏性
破坏性
十一、网络安全发展与未来
防御发展趋势
病毒防御
行为识别
反垃圾邮件
主动型垃圾邮件行为模式识别技术
行为要素
时间
频度
发送IP
协议声明特征
发送指纹
防火墙
第一代NP技术
网络处理器,专门用于网络封装处理的一种处理器
防火墙深度检测
应用状态检测
安全技术融合
VPN功能集成
攻击发展趋势
网络攻击阶段自动化
扫描阶段
渗透控制阶段
传播攻击阶段
攻击工具协调管理阶段
网络攻击工具智能化
漏洞发现、利用速率越来越快
防火墙渗透率越来越高
安全威胁的不对称性增加
对网络基础设置产生的破坏力越来越强
动态安全防御体系
动态安全过程
构建自身的防御体系机制时,网络安全不能仅仅只停留在“三分技术、七分管理”的概念上,安全不应该作为一个目标去看待,而应该作为一个过程去考虑、设计、实现、执行。通过不断完善的管理行为,形成一个动态的安全过程
定义
容易忽略安全构建之间的关系,因为在可定制,可操作性的安全策略基础上,需要构建一个具有全局观、多层次、组件化的安全防御体系
涉及网络边界、网络基础、核心业务和桌面多个层面,涵盖路由器,交换机,防火墙,接入服务器,数据库,DNS,WWW,MAIL及其他应用系统
面临的挑战
更多网络犯罪直接以经济利益为目的
拒绝服务供给泛滥
垃圾邮件与反垃圾邮件之间的斗争愈演愈烈
恶意软件横行,Web攻击频繁
对非PC设备威胁增加
我国互联网安全标准课题主要涉及
分组过滤防火墙标准
应用网关防火墙标准
网络代理服务器
鉴别机制标准
数字签名机制标准
安全电子交易
网络安全服务标准
典型攻击
Melissa和LoveLetter
红色代码
尼姆达
熊猫烧香
分布式拒绝服务攻击
远程控制特洛伊木马后门
八、Web攻击及防御技术
Web安全
三方面
服务器
利用Web服务器的漏洞
利用网页自身的安全漏洞
实例
服务器程序编写不当导致缓冲器溢出
针对服务器系统的拒绝服务攻击
脚本程序编写不当,SQL注入
乐观的相信用户的输入,导致跨站脚本攻击
客户端
网页木马
XSS
通信信道
拒绝服务攻击
网络嗅探
拥塞信道
耗费资源
安全问题
未验证参数
访问控制缺陷
账户及会话管理缺陷
跨站脚本攻击
缓冲区溢出
命令注入
错误处理
远程管理
Web服务器及应用程序配置不当
指纹识别
流程
对指纹进行收集和分类
将未知的指纹同被存储在数据库中的指纹进行比较,找出做符合的
Web服务Banner信息获取
对目的主机80端口发送一个请求,查看Header的Server字段就可以看到Banner
防御
自定义Banner头信息
发送畸形的HTTP请求,不同的服务器产生不同的响应
攻击
Httprint
页面盗链
通过网页源码的分析,找出可能存在于代码、注释或者设计中的关键缺陷和脆弱点
方法
逐页手工扫描
自动扫描
防御方法
提高代码质量
监视访问日子中快速增长的GET请求
设置garbage.cgi脚本
跨站脚本攻击
XSS
在Web页面里面插入恶意html代码,当用户流量该网页时,嵌入其中的HTML代码会执行
危害
修改用户账户,盗取Cookie,做虚假广告,查看主机信息
先决条件
有跨站脚本漏洞的Web应用程序
需要用户点击链接或者是访问某一页面
流程
寻找XSS漏洞
注入恶意代码
欺骗用户访问
SQL注入
原因
程序员的水平经验不够
对输入的参数不进行检查和过滤
过程
寻找可能存在SQL注入漏洞的链接
测试该网站是否存在SQL注入漏洞
猜管理员账号表
猜管理员表中的字段
猜用户和密码的长度
猜用户名
猜密码
Google Hacking
利用Google的一些语法搜索功能去搜索有漏洞的URL等
网页验证码
区分人机交互问题
防御
自动灌水机
广告机
自动注册机
用户密码破解机
类型
文本验证码
手机验证码
邮件验证码
图片验证码
防范验证码攻击
不应该使用安全性很差的文本验证码
尽量不使用手机验证码、邮件验证码,以免手机/邮件DOS攻击
使用安全性较高的图片验证码
防御Web攻击
Web服务器的安全配置
主机系统的安全配置
简单性
超级用户权限
本地和远程访问控制
审计和可审计性
恢复
Web服务器的安全配置
Windows
IIS
删除不必要的虚拟目录
删除微信的IIS组件
为IIS中的文件分类设置权限
删除不必要的应用程序映射
保护日志安全
Unix/Linux
不用root运行Web服务器
限制Web服务器开账户,定期删除一些用户
对Web服务器上面的账户定期修改口令
尽量与其他的FTP/Mail服务器分开
定期查看日志
对不同目录设置不同的属性
Web浏览者的安全措施
经常对操作系统打补丁、升级
使用漏洞较少的浏览器
经常对浏览器进行升级
不要因为好奇而打开一些不信任的网站
五个误区
使用了SSL加密,所以很安全
SSL只是在通信信道上
使用了防火墙所以很安全
防火墙并不是不可突破的
漏洞扫描工具没有发现问题很安全
扫描工具永远落后于漏洞
安全问题是程序员造成的
有一些问题,程序员也不可控
我们每年都对Web做安全平评估所以很安全
当代码变动的时候,就有可能出问题
七、缓冲区溢出攻击及防御技术
防御
能被攻击原因
C语言对数据和指针不自动进行边界检测,一些字符串处理函数strcpy、sprintf等存在严重的安全问题
程序员代码写的不严谨
返回地址放在堆栈的底部,可以通过溢出覆盖返回地址
堆栈的属性一般是可执行的,使得恶意代码得以执行
提取用于攻击的shellcode的普遍特征作为攻击特征,过滤掉这样的数据包,或者触发报警
对特定的服务限定请求数据的值和范围,比如,某一服务器要求请求数据为可打印字符串,如果发现这一服务的请求存在不可打印字符则人为发生攻击
源码BUG查找,使用安全的函数
运行期保护
数据边界检查
保证返回指针的完整性
加强系统保护
保护系统信息
关闭不需要的服务
最小权限原则
使用系统的堆栈补丁
检查系统漏洞,及时打上补丁
使用类型安全的语言开发
缓冲区溢出原理
一段连续内存块
代码段
存放程序的机器码和只读数据,可执行指令从这里取得
数据段
以初始化的数据(.data)
保存全局和静态已初始化的变量
未初始化的数据(.bss)
全局和静态未初始化的变量
堆栈段
堆
位于BBS内存段的上边,用来存储运行时分配的变量
动态扩张或缩减
malloc[]、new[]创建
delete[]删除
栈
存储函数调用时临时信息结构
编译器需要的时候分配,不需要的时候自动清理
先进后出队列
关注数据区和堆栈区
使用栈
ESP栈顶指针
随着数据入栈出栈发生变化
EBP基地址指针
通过BP加上偏移地址,可以方便的引用函数参数以及局部变量
局部变量发生溢出,很有可能会覆盖掉EBP设置RET(返回地址)
在堆栈中压入的数据超过预先给堆栈分配的容量
栈溢出
首先把指令寄存器(CPU要执行的下一条指定地址)压入栈,作为程序的返回地址(RET),之后作为栈的基址寄存器(EBP)它指向当前函数栈针的底部,而后把当前的栈顶指针,ESP拷贝到EBP基址寄存器,作为新的基地址
堆溢出
不如栈溢出流行
比栈溢出难度更大
需要结合其他技术
对于内存中变量的组织方式有一定的要求
BBS溢出
格式化串溢出
攻击三部曲
构造需要运行的shellcode,并将其放到目标系统的内存
获得缓存区的大小和定位溢出点RET的位置
控制程序跳转,改变程序流程
缓冲区溢出攻击
特点
不需要太多的先决条件
杀伤力很强
技术性强
破坏性
极其容易使服务停止运行
隐蔽性
漏洞发现者并非编写者
攻击代码很短
方法
在程序的地址空间安排适当代码
使控制流跳转到攻击代码
函数指针
激活记录
当函数调用时,堆栈中会留驻一个Activation Record包含函数返回的地址,溢出修改这一记录
长跳转缓存区
C语言的setjmp与longjmp
缓冲区
相同数据类型实例的一个连续的计算机内存块,用于保存数据
溢出
所填充的数据超出了原有的边界
代码植入技术
shellcode
核心部分,能完成特殊任务的二进制代码
返回地址
shellcode的入口地址
设法用的shellcode的入口地址覆盖某个跳转指令
填充数据
提高shellcode命中率,在前面安排一定的填充数据
模式
参数
S代表shellcode
R代表返回地址
N代表填充数据
A代表环境变量
NER
RNS
AR
六、拒绝服务攻击与防御技术
分布式拒绝服务攻击
定义
借助C/S技术,将多个计算机联合作为攻击平台,对一个或者多个目标发动DOS攻击
可以分别进行不同类型的攻击
组成
客户端
控制台,发起攻击的主机
服务器端
攻击服务,客户端发来的控制命令,它来完成
守护程序
攻击器、攻击代理,它直接或者简介与攻击目标进行通信
过程
探测扫描大量主机以寻找可入侵主机
入侵有安全漏洞的主机并获取控制权
在每台被入侵主机中安装攻击所用的客户进程或守护进程
向安装有客户进程的主控端主机发出命令,由它们来控制代理主机上的守护进程进行协同入侵
被攻击后现象
大量等待的TCP连接
大量无用的数据包,源地址为假
高流量无用数据
无法及时处理正常请求
死机
工具
TFN2K
trinoo
Stacheldraht
其他
检测
核心方案
异常的网络交通流量
检测异常
大量的DNS PTR查询请求
超出网络正常工作时的极限通讯流量
特大型的ICMP和UDP数据包
不属于正常连接通讯的TCP和UDP数据包
数据段内容只包含文字和数字字符的数据包
防御
优化网络和路由结构
保护网络及主机系统安全
安装入侵检测系统
类型
基于网络的IDS
基于主机的IDS
匹配
样式匹配技术
不规则探测系统
与ISP服务商合作
使用扫描工具
拒绝服务攻击(DOS)
简单的破坏性攻击,通常利用传输协议的缺陷、系统存在的漏洞、服务的漏洞,对系统发动大规模的进攻,小号系统的各种软硬件资源,造成崩溃、瘫痪、宕机等
有意与无意
有意
为被授权的用户过量的使用资源
无意
合法用户无意的操作使资源不可用
淘宝双11抢购
主要原因
网络协议本身的安全缺陷引起
可分配服务资源
网络带宽
文件系统空间容量
开放的进程
向内的连接等
实现思路分类
滥用合理的服务请求
制造高流量无用数据
利用传输协议缺陷
利用服务器程序的漏洞
漏洞利用方式分类
特定资源消耗类
暴力攻击类
发送速率变化方式
固定速率
可变速率
按产生的影响分类
系统或程序崩溃类
服务降级类
防御
难点
不容易确定攻击者的位置
完全阻止是不可能的,但是适当的防范工作可以减少被攻击的机会
方法
有效完善的设计
带宽限制
及时给系统安装补丁
运行尽可能少的服务
只运行必要的通信
封锁敌意IP
实现技术
Ping of Death
早期的计算机,当ICMP包大小超过64KB的时候,会出现溢出,倒是TCP/IP协议栈的崩溃
防御
利用系统审计,当大于64KB,丢弃就行
泪滴(Teardrop)
分片攻击
当一个大的数据需要传输的时候,要分片传输,TCP头部,就会有(分片识别号、偏移量、数据长度、标志位)
正常的PSH,每一段长度相同,序号紧接着
PSH 1:1025
PSH 1025:2049
PSH 2049:3073
异常的PSH,将无法重组,使协议栈崩溃
PSH 1:1025
PSH 100:2049
PSH 2049:3077
防御
添加系统补丁,丢弃病态的分片数据包
IP欺骗DOS攻击
利用RST位
攻击流程
加入一个合法用户1.1.1.1,与服务器建立了正常连接
攻击者伪装成1.1.1.1,向服务器发送RST
服务器认为1.1.1.1发送的连接有错误,清空缓存区建立好的连接
UDP洪水
利用主机能自动回复的服务
UDP
chargen
echo
SYN洪水
发送大量伪造的TCP连接请求,使对方资源耗尽(CPU满负荷或内存不足)
当一个客户端发送一个SYN的时候,服务器会返回SYN+ACK,假如此时客户端不在线,服务器会在一定时间内一直重发,成为SYN Timeout
防御方法
缩短SYN Timeout时间
设置SYN Cookie
每一个请求连接的IP地址分配一个Cookie,如果段时间内收到某个IP重复SYN报文,以后从这个IP来的都丢弃
负反馈策略
当SYN连接数达到一定的限制后,系统自动修改SYN Timeout、清空缓存区等一些参数
退让策略
当检测到被攻击,修改自己IP地址,或者修改DNS解析IP地址
分布式DNS负载均衡
防火墙
Land攻击
发送大量源地址和目标地址相同的包,造成目标解析Land包时占用大量的系统资源
Smurf攻击
利用IP欺骗和ICMP回应包引起阻塞
将源地址设置为被攻击主机的地址,而将目标地址设置为广播地址
Fraggle攻击
与Smurf类似,但是使用的是UDP应答消息
电子邮件炸弹
大量的发送邮件
畸形消息攻击
利用目标主机或者特定服务存在的安全漏洞进行攻击
Slashdot effect
合法的情况,服务器过载
双11
WinNuke攻击
带外输出攻击
端口
139
138
137
113
53
原理
制造特殊的报文,其指针字段与数据的实际位置不符,存在重合。Windows在处理这样的数据会崩溃
URG位设置为1