2019-2020-1学期20192423《网络空间安全专业导论》第十一周学习总结
一、内容总结
第五章 应用安全
5.1应用安全概述
- 三层客户/服务器结构构建了一种分割式的应用程序,由三个层次共同组成应用系统。
- 攻击者会利用Web应用系统、中间件或数据库的漏洞进行攻击。
5.2 常见的web应用安全漏洞
5.2.1SQL注入漏洞
- 形成原因:用户输入的数据被SQL解释器执行
- 防护手段:
- 参数类型检测 主要面向纯字符型的参数查询,用以下函数实现:
- int intval:通过使用指定的进制base转换,返回变量var的integer数值。
- bool is_numeric:检测变量是否为数字或数字字符串,单词函数允许输入为负数和小数。
- ctype_digit:检测字符串中的字符是否都是数字,负数和小数检测不通过。
以上三个函数可限制用户的输入为数字型。
- 参数长度检测
攻击者构造SQL语句进行注入攻击时,其SQL有效参数长度远大于正常业务中的。严格控制可使大部分注入语句无法取得成功。
- 危险参数过滤 过滤方法:
- 黑名单过滤:敏感字符写入黑名单中
- 白名单过滤:接受一记录在案的良好操作
- GPC过滤:对变量默认进行addslashes
- 参数化查询 指在完成编译后,套用参数运行。 参数化查询一般作为最后一道安全防线
5.2.2 文件上传漏洞
- 原理 攻击者向web访问目录上传任意PHP文件,将文件传递给PHP解释器,从而在远程服务器上执行任意PHP脚本。
恶意文件上传原因:
- 文件上传时检查不严
- 文件上传后修改文件名时处理不当
- 使用第三方插件时引入
- 攻击实例分析
- 步骤一:上传正常图片和webshell
- 步骤二:修改文件扩展名绕过上传检测
- 步骤三:获取webs hell权限
- 防护手段
(1)系统开发阶段的防御
服务器端的检查最好使用白名单过滤的方法,对%00截断符进行检测,对HTTP包头的content-type和上传文件的大小也需进行检查。
(2)系统运行阶段的防御
- 定时查看系统日志、web服务器日志以发现入侵痕迹
- 定时关注系统所使用的第三方插件更新情况
- 注意漏洞的自查以及软件版本和补丁的更新
- 非必选的目录一般都应去掉执行权限,上传目录可配置为只读
(3)安全设备的防御
对漏洞的利用行为和恶意文件的上传过程进行检测
5.2.3XSS
- XSS定义 指攻击者利用网站程序对用户输入过滤的不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而窃取用户资料、利用用户身份进行某种动作或对访问者进行病毒侵害的一种攻击方式。
- XSS漏洞攻击实例
- XSS分类
- 反射型XSS:将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。
- 存储型XSS:web应用程序会将用户输入的数据信息保存在服务器端的数据库或其他文件形式中。
- 基于DOM的XSS:通过修改页面DOM节点数据信息而形成的XSS
- XSS漏洞常见的防护手段
- 过滤特殊字符:过滤客户端提交的有害信息
- 使用实体化编码:对特殊字符进行编码和转义,让浏览器不将其当作代码执行。
5.2.4 CSRF
- 原理
用户C在webA留下cookie后访问WebB,webB发出请求访问A,而A处存留着C的cookie,故B可以模拟用户操作。
2CSRF的三种不同危害方式
- 论坛等可交互的地方
- Web攻击者:指有自己独立域名的恶意代理。一旦用户访问attacke.com,攻击者就可以同时用GET和POST方法发起跨站请求。
- 网络攻击者:指能够控制用户网络连接的恶意代理。
3.CSRF漏洞常见防护手段
- 添加验证码:攻击者不能接受服务器给用户返回的申请,故可避免攻击者伪造请求的情况。
- 验证referer:通过验证请求来源方式判断此次请求是否正常。
- 利用token:token在用户第一次访问某项功能页面时生成且为一次性的,客户端在下一步业务时提交token并由服务器进行有效性验证。而攻击者在利用CSRF时无法获取用户的token。
5.2.5 远程代码漏洞
- 远程代码漏洞原理
preg_replace函数无法直接在PHP中进行禁用
- 远程代码执行漏洞的防范
- 禁用高危系统函数
- 严格过滤关键字符
- 严格限制允许的参数类型:对用户输入参数进行有效的合法性判断,可以避免在原有命令后面拼接多余命令。
5.3 恶意代码
5.3.1 恶意代码的定义
又称恶意软件,是能够在计算机系统中进行非授权操作的代码。
5.3.2 恶意代码的特点
- 具有恶意破坏目的
- 本身为程序:恶意代码通常是一段可以执行的程序,能够在很隐蔽的情况下嵌入另一个程序中
- 通过执行发生作用:恶意代码的编写通常是攻击者通过危害他人而达到目的
5.3.3 恶意代码的分类
- 独立的恶意代码:具备一个完整程序所应该具有的全部功能,其自我复制功能就是将自身传播给其它系统的过程。
- 非独立恶意代码:只是一段代码,必须嵌入某个完整的程序中,作为该程序的一个组成部分进行传播和运行,其自我复制过程就是将自身嵌入宿主程序的过程。
分类:
- 逻辑炸弹
- Rootkit
- 木马
- 病毒
- 蠕虫
- Zombie
- Webshell
5.3.4 恶意代码的危害
- 破坏数据
- 占用磁盘空间:引导型病毒通常是用病毒程序本身占据磁盘引导扇区,被覆盖的扇区数据将永久性丢失、无法恢复。 文件型病毒会利用一些DOS功能进行污染。
- 抢占系统资源
- 影响计算机运行速度
5.3.5 恶意代码案例
5.3.6 典型恶意代码原理与防范分析
- Webshell介绍 是一种Web脚本形式编写的木马后门,一般用于远程控制Web服务器。
- Webshell危害 攻击者通过脚本木马后门控制Web服务器,包括上传下载文件、查看数据库、执行任意命令等。
- 一句话Webshell案例
“一句话”就是通过向服务端提交一句简短的代码来达到向服务器插入Web脚本形式的木马并最终获得WebShell的方法。
- 一句话木马服务端
- 一句话木马客户端
- 防范方法
(1)服务器安全设置:
①加强对脚本文件的代码审计。及时发现漏洞,安装相关补丁,对Web服务器进行安全设置。
②对用户提交信息的合法性进行必要的验证、过滤完善操作日志和日志记录,尽量使用参数化的SQL查询来代替动态拼接的SQL注入语句。
③使用数据库自身的安全性设置访问数据库权限
(2)应用安全防护
①Web软件开发的安全
程序开发时应防止文件上载的漏洞,防SQL注入、防暴库、防cookie欺骗、防跨站脚本攻击。 ②FTP文件上载安全
设置好FTP服务器,防止攻击者直接使用FTP上传木马程序文件到Web程序的目录中。
③文件系统的存储权限
设置好目录权限,相关权限的写权限只赋予超级用户,部分目录写权限赋予给系统用户。
④不要使用超级用户运行Web服务
(3)控制文件上传
①加强对脚本文件的代码审计
②将应用系统的重要文件放在不同的文件夹中,并合理设置这些文件夹的访问权限
5.4 中间件安全
5.4.1 中间件概述
中间件是一种独立的系统软件或服务程序,分布式应用程序借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机的网络通信。
中间件优势:
- 屏蔽了底层操作系统的复杂性
- 减少了系统的维护、运行和管理的工作量,减少了计算机总体费用的投入。
- 作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用软件集成起来。
5.4.2 中间件的分类
-
应用服务类中间件 这类中间件为应用系统提供一个综合的计算环境和支撑平台,包括对象请求代理中间件、事物监控交易中间件、Java应用服务器中间件等。
-
应用集成类中间件 这类中间件是提供各种不同网络应用之间的消息通信、服务集成和数据集成的功能,包括常见的消息中间件、企业集成EAI、企业服务总线以及相配套的适配器等。
-
业务架构类中间件 业务架构类中间件包括业务流程、业务管理和业务交互等几个业务领域的中间件。业务流程是处理业务模型的重要方法。
5.5 数据库安全
5.5.1 数据库概述
数据库是存储数据的“仓库”,是长期存放在计算机内,、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型进行组织、描述和存储。
5.5.2 数据库标准语言SQL
结构化查询语言是用于存放在计算机数据库中的数据进行组织、管理和检索的一种工具。
5.5.3 典型数据库安全案例
对数据库的防护方法:
- 加强像SA这样账号的密码。
- 对扩展存储过程进行处理
- 加强对数据库登录的日志记录
- 用管理员账号定期检查所有账号
第八章 舆情分析
8.1 舆情的概念
一些信息,包含民众一定的意见和态度。
8.1.1 舆情与网络舆情
舆情包括网络舆情与社会舆情。
网络舆情是社会舆情的一个组成部分,是媒体或网民借助互联网,对某一焦点问题等所表现出的倾向性言论,是社会舆情在互联网上的一种特殊反映。
8.1.2 舆情分析的目的和意义
- 目的:及时把握社会成员你舆情趋势和动态,使互联网公众明辨是非、以更有效的传递正确的价值观是舆情分析的重要目的。
- 意义:
- 有些网络舆情可能影响政府形象,进行舆情分析和检测,对错误舆论进行正确的引导。积极健康的舆情能够为统一社会成员的思想和行动、凝聚促进社会发展的力量做出贡献。
- 通过舆情监测和分析,政府能够掌握社会民意,有助于对事件做出正确的判断。
- 对企业来说,利用舆情监测,第一时间快速预警负面舆情,及时纠正错误,保持企业良好形象。
8.1.3 网络舆情的特点
(1)表达的直接性
(2)舆情信息在数量上具有海量性
(3)舆情信息在内容上具有随意性和交互性
(4)传播的迅速性
(5)产生的突发性
(6)舆情信息在时间上具有实时性和继承性
(7)情绪的非理性
(8)舆情信息在发展上具有偏差性
(9)经过阶段:
- 关注前期
- 发展期
- 爆炸期
- 冷静期
- 冷却期
8.2 网络舆情的分析方法
8.2.1 检索方法
-
机器检索 是借助信息检索工具在网络上抓取与给定关键词相关的信息,借助累加器、网址指向判断等简单的程序给出的信息的来源和信息的浏览量,并可以按照用户要求进行排序和筛选。
-
人工检索 人工检索并不是指完全依靠人工实现信息管理,而是借助开放性工具完成网络舆情分析工作。
检索方法特点:
- 实际操作中自主研发的检索工具使用频率不高,普通商业搜索引擎的使用率较高。
- 机器检索需要事先设定一个目录。
- 机器检索负责数据的粗检索,人工检索负责数据的精细检索。
- 检索的起点是关键词或者排行榜,检索的内容是信息的属性,包括转发量、点击量、评论量、转播关键点。
8.2.2 研判方法
网络舆情的分析研判主要包括定量研判分析和定性研判分析两种。
- 定量研判包括:
- 舆情按区域统计分析
- 舆情按时间统计分析
- 舆情按年龄统计分析
- 舆情按性别统计分析
- 舆情按行业统计分析
- 舆情按性质统计分析
- 舆情按密度统计分析
- 定性研判包括:
- 舆情可信度统计研判分析
- 舆情价值统计研判分析
- 舆情等级统计研判分析
- 舆情历史关联统计研判分析
- 舆情趋势预测统计研判分析
- 舆情转预警预测统计研判分析
8.2.3 典型的舆情分析方法
- 双层分析法
(1)传播层分析
分析传播内容的变异,有利于了解舆情话题的衍生性,也有助于理清传播的脉络。分析传播渠道的变异,能够掌握渠道间衔接的关键节点,了解不同渠道的传播效果
(2)** 动因层分析**
治本还需解病因
- 语义统计分析方法
- 情感倾向分析方法
- 基于Web的文本挖掘技术的分析方法
8.3 舆情分析应用:网络舆情分析系统
8.3.1 基本架构
一、网络舆情分析系统功能:
- 热点话题、敏感话题识别
- 倾向性分析
- 主题跟踪
- 趋势分析
- 突发事件分析
- 报警系统
- 统计报告
二、大数据环境下舆情系统组成:
- 数据采集模块
- 数据预处理模块
- 数据聚类模块
- 舆情分析子系统
- 系统管理人员根据需要为各种组及用户分配各种的使用权限
- 管理主要实现对系统操作的记录
8.3.2 信息采集
网络爬虫是相对成熟的一种自动采集网页信息的方式,适用于网络舆情监控与分析系统
8.3.3 网络资源分析
一般话题的研究方法可分为:
- 第一类方法主要是寻找合适话题发现的聚类算法或者对已有的聚类算法进行改造
- 第二类方法则是挖掘新的话题特征来提高检测的结果
8.3.4 网页预处理
可以在要求准确、快速地提取页面信息的前提下,针对各个站点的页面构造特点采用分别编写提取模板的方法,具体页面信息提取则采用正则表达式匹配的方法实现。
8.3.5 信息挖掘
- 定位Web信息源
- 数据的选择与预处理
- 有效模式的挖掘
- 模式的验证分析
8.3.6 归档管理
数据存储是整个舆情监控与分析系统中所有功能的基础。
在系统数据库中一般划分为五个数据表,分别为:
- 站点信息表
- 文档信息表
- 话题信息表
- 话题发现结果表
- 情感分析结果表
8.3.7 舆情统计
对网络舆情信息的态势进行统计建模,通常属于网络计量学的范畴。
8.4 舆情分析应用:网络舆情监测系统
网络舆情监控要做到:
- 依托公开管理职能,切实掌握网络情况,积极建设健全系统的信息数据库。
- 对于网络上的热点新闻、事件及人物,在实现网络监控的同时,视情况可进行网下的深入调研。
- 充分利用计算机技术与网络技术,对网络舆情监控系统的信息进行深层挖掘,切实掌握维稳工作所涉及的各类网络舆情信息,注重舆情的有效引导。
8.4.1 网络舆情监测系统的产生
8.4.2 网络舆情监测系统的构成
- 信息采集模块
- 正文提取模块
- 文本聚类模块
- 文本分类模块
- 情感分析模块
8.4.3 网络舆情监测系统的作用
- 及时、全面地收集舆情
- 分析舆情
- 监测结果将成为重要决策依据
二、提出问题
- 基于DOM的XSS中DOM是什么?
- adds lashes是什么?
- CSRF中论坛交互危害方式
- 聚类算法