第五章 应用安全
5.1 应用安全概述
为了克服由于传统客户 / 服务器模型的这些缺陷给系统应用带来的影响, 三层客户 / 服务器系统结构出现了, 而其中中的漏洞则可能被攻击者利用, 得到 web 应用服务器或数据服务器. 的控制权限轻则篡改网页内容, 重则窃取重要内部数据, 甚至在网页中植入恶意代码, 控制应用系统并给访问者带来麻烦
5.2 常见的 Web 应用安全漏洞
5.2.1 SQL 注入漏洞
SQL 注入漏洞是 Web 层面最高危的漏洞之一
针对 SQL 可采取以下几种防护手段:
1. 参数类型检测
- int intval(mixed $var[,int $base= 10])
- bool is_numeric(mixed $var)
- ctype_digit
在特定条件下使用这三个函数, 可限制用户的输入为数字型. 在一些仅允许用户参数为数字的情况下非常适用
2. 参数长度检测
当攻击者构造 SQL 语句进行注入攻击时其注入的语句一般都会有一定长度, 并且成功执行注入语句进行攻击时的长度非常多远大于正常业务的有效参数的长度, 因此, 控制提交点的字符长度, 大部分语句就无法成功.
3. 危险参数过滤
1. 黑名单过滤: 将一些可能用于注入的敏感字符写入黑名单, 也可用正则表达式进行过滤, 但黑名单可能有疏漏
2. 白名单过滤: 指接受已收录在案的良好输入操作, 比如用数据库的已知值校对
3.GPC 过滤: 对变量默认进行 addslashes(在预定义字符前添加反斜杠)
4. 参数化查询
指数据服务器在数据库完成 SQL 指令的编译后, 才套用参数运行. 因此, 就算参数含有有害的指令, 也不会被数据库运行, 仅认为他是参数. 他一般被认为是最后一道防线
5.2.2 文件传的漏洞
1. 文件上传漏洞的原理
一些文件上传功能代码没有严格限制用户上传的文件后缀及文件类型, 导致攻击者可以通过 Web 访问的目录上传任意 PHP 脚本. 根据具体漏洞的差异, 此处上传的脚本可以是正常后缀的 PHP,ASP , JSP 脚本, 也可以是篡改后缀的这几类脚本. 造成这种情况的原因主要有 3 种:
1 文件上传时审查不严.
一些应用在文件上传时根本没进行文件格式检查, 导致攻击者可以直接上传恶意文件. 一些应用仅在客户端进行检查, 这在专业攻击者眼里相当于没检查.
2 文件上传后修改文件名处理不当
一些应用允许上传时修改文件后缀
3)使用第三方插件时引入
2. 文件上传攻击实例分析步骤 1: 上传正常图片和 WebShell, 打开上传地址, 选取准备好的图片, 上传图片, 上传成功后, 观察返回的页面信息, 由于我们准备的是 PHP 环境, 所以需要使用 PHP 的一句话, 接着我们来制作一句话. 新建一个空文本文档, 将一句话写入文本, 修改文件名为 xxxxxx.PHP 并保存到桌面. 上传 PHP 文件, 这时如果提示上传失败, 则证明服务器可能对上传文件的后缀做了判断. 步骤 2: 修改文件扩展名绕过上传检测 PHP 语言除了可以解析以 PHP 为后缀的文件, 还可以解析以 php2,php3,php4,php5 为后缀的文件. 我们可以将文件名修改为 xxxxxxx.php2, 重新上传. 上传依旧失败, 接着把文件名改为 xxxxxxx.php3,xxxxxx.php4,xxxxxxx.php5 依次进行上传尝试, 发现 xxxxxx.php3 是可以上传成功的, 上传成功后, 我们需要访问文件, 这时可直接复制文件路径, 将复制的地址粘贴至网站地址后面, 从而构造访问地址, 并复制构造好的地址. 步骤 3: 获取 WebShell 权限打开中国菜刀软件并填入复制的访问地址, 填入设定的密码, 这里设置的密码时 1, 选取脚本类型为 PHP, 单击添加按钮, 最后双击指定条目后可以看到目标网站的目录, 这样我们就成功获取到目标网站的 WebShell 权限. 3. 文件上漏洞常见防护手段 (1) 系统开发阶段的防御 (2) 系统运行阶段的防御 (3) 安全设备的防御
5.2.3 xss
1.xss 的定义
跨站脚本攻击 xss 是指攻击者网站程序对用户输入过滤的不足, 输入可以显示在页面上对其它用户照成影响的 html 代码, 从而盗取用户资料, 利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式.
xss 属于客户端攻击, 受害者是用户, 由于管理员也是用户之一, xss 可以攻击服务器端. 攻击者可能以管理员身份为跳板实施攻击.
2.xss 漏洞攻击实例
3.xss 的分类
1. 反射型 xss 该类型只是将用户输入数据直接或未经过完善的安全过滤就在浏览器进行输出, 导致输出的数据中存在可以被浏览器执行的代码数据. 黑客通常发送存在恶意代码的链接给用户, 只有用户点击后才攻击成功实施.
2 储存型 xss 指 Web 应用程序将用户输入的数据信息保存在服务器的数据库或其他文件中, 网页进行数据查询时, 会从数据库中获得数据内容, 并将数据内容在网页中进行输出展示, 因此储存型 xss 具有较强的稳定性.
3 基于 dom 的 xss 基于 dom 的 xss 是通过修改页面 dom 节点信息而形成的 xss. 基于 dom 的 xss 需要针对具体 Javascpript dom 代码进行分析, 并根据实际情况进行 xss 的利用
4xss 漏洞常见的防护手段
针对 xss 的防护方式主要有以下几种
(1)过滤特殊字符 又叫 xss filter, 其作用是过滤客户端提交的有害信息从而防范 xss 攻击. 要想进行跨站代码就必须用到一些脚本的关键函数或者标签, 如果编一个较严格的过滤函数, 将输入信息中的关键字过滤掉, 跨站脚本就不能被浏览器识别和执行了
(2)使用实体化编码 在测试和使用的跨站代码中几乎都会用到一些常见的 特殊的符号有了
5.2.4 CSRF
CSRF 是指跨站请求伪造
CSRF 的原理受害者必须依次完成两个步骤: 1)登录受信任网站 A, 并在本地生成 Cookie 2)在不登出 A 的情况下, 访问危险网站 B
CSRF 的三种不同危害方式 1) 论坛等可交互的地方 2)Web 攻击者 3)网络攻击者
CSRF 漏洞的常见防护手段 1)添加验证码 2)验证 referer 3)利用 token
5.2.5 远程代码执行漏洞
远程代码执行漏洞的原理
远程代码执行漏洞的防范 1)禁用高危系统函数 2)严格过滤关键字符 3)严格限制允许的参数类型
5.3 恶意代码
5.3.1 恶意代码的定义
恶意代码又称恶意软件, 是能够在计算机系统中进行非授权操作的代码. 恶意代码是一种程序, 它通过把代码在不被察觉的情况下镶嵌到另一段程序中, 从而达到破坏被感染电脑数据.
5.3.4 恶意代码的危害
恶意代码的危害主要表现在以下几个方面: 1)破坏数据 2)占用磁盘存储空间 3)抢占系统资源 4)影响计算机运行速度
5.3.6 典型恶意代码原理与防范分析
WebShell 介绍 WebShell 文件通常是可执行的脚本文件 2.WebShell 危害攻击者在入侵一个 Web 应用服务器后, 常常将这些脚本木马后门文件放置在服务器的 Web 目录中, 然后攻击者就可以用 Web 页面的方式, 通过脚本木马后门控制 Web 服务器, 包括上传下载文件, 查看数据库, 执行任意程序命令等. 4. 防范方法 (1) 服务器安全设置1加强对脚本文件的代码审计, 对出现 FSO,Shell 对象等操作的页面进行重点分析.2Web 服务器通过正则表达式, 限制用户输入信息长度等方法对用户提交信息的合法性进行必要的验证, 过滤.3数据库是 Web 应用系统的重要组成部分, 使用数据库系统自身的安全性设置访问数据库权限.(2)应用安全防护 1.Web 软件开发的安全 2.FTP 文件上载安全 3. 文件系统的存储权限 4. 不要使用超级用户运行 Web 服务 (3) 控制文件上传 1. 加强对脚本文件的代码审计 2. 将应用系统的重要文件放在不同的文件夹中, 通过设置虚拟目录访问这些文件夹, 尤其是上传文件, 并合理设置这些文件夹的访问权限.
5.4 中间件安全
5.4.1 中间件概述
软, 硬件平台和应用系统之间需要可靠和高效的数据传递或转换, 使系统的协同性得以保证. 这些都需要一种构筑于软, 硬件平台之上, 同时对更上层的应用程序提供支持的软件系统, 而中间件正是在这个环境下应运而生. 定义: 中间件是一种独立的系统软件或服务程序, 分布式应用程序借助这种软件在不同的技术之间共享资源. 中间件位于客户机 / 服务器的操作系统之上, 管理计算资源和网络通信. 从中间件的定义可以看出, 中间件不仅仅实现互连, 还能实现应用之间的互操作. 中间件是基于分布式处理的软件, 定义中特别强调了其网络通信功能. 企业使用中间件具有如下优势: 1)具体来说, 中间件屏蔽了底层操作系统的复杂性, 使程序开发人员面对一一个简单而统一的开发环境, 减少程序设计的复杂性, 将注意力集中在自己的业务上, 不必再为程序在不同系统软件上的移植而重复工作, 从而大大减少了技术上的负担. 2)中同件带给应用系统的不只是开发的简便, 开发周期的缩短, 也减少了系统的维护, 运行和管理的工作量, 还减少了计算机总体费用的投入. 中间件包括交易中间件, 消息中间件, 集成中间件等各种功能的中间件技术和产品.
5.4.2 中间件的分类
中间件包括交易中间件, 消息中间件, 集成中间件等各种功能的中间件技术和产品. 中间件已经成为网络应用系统开发, 集成, 部署, 运行和管理必不可少的工具. 基本上可以分为三大类: 应用服务类中间件, 应用集成类中间件, 业务架构类中间件.
应用服务类中间件这类中间件为应用系统提供一个综合的计算环境和支撑平台, 包括对象请求代理 (ORB) 中间件, 事务监控交易中间件, Java 应用服务器中间件等.
应用集成类中间件应用集成类中间件是提供各种不同网络应用系统之间的消息通信, 服务集成和数据集成的功能, 包括常见的消息中间件, 企业集成 EAI, 企业服务总线以及相配套的适配器等.
业务架构类中间件业务架构中间件包括业务流程, 业务管理和业务交互等几个业务领域的中间件.
5.4.3 典型中间件安全案例
该漏 0
5.5.2 数据库标准语言 SQL
SQL 是为结构化查询语言, 是用于对存放在计算机数据库中的数据进行组织, 管理和检索的一种工具.
5.5.3 典型数据库安全案例
对于数据库的防护方法如下: 1)首先, 需要加强像 SA 这样的账号的密码. 与系统账号的使用配置相似, 一般操作数据库不要使用像 SA 这样拥有最高权限的账号, 而尽量使用能满足要求的一般账号. 2)对扩展存储过程进行处理. 首先要删除 xp_cmdshell, 以及上面那些存储过程, 因为一般用不到这些存储过程. 3)执行 use master sp_ dropextendedproc 'xp_ cmdshell'去掉 Guest 账号, 阻止非授权用户访问. 4)加强对数据库登录的日志记录, 最好记录所有登录事件. 5)用管理员账号定期检查所有账号, 看密码是否为空或者过于简单, 如发现这类情况应及时弥补.
第八章 舆情分析
8.1 舆情的概念
这些舆论, 特别是网络舆论, 往往对事件的发展导向起到了推动作用, 而帮助网民在纷繁的网络舆论中明辨是非, 传递正确的价值观是互联网时代精神文明建设的重要方面. 因此, 舆情分析就成为网络空间安全中的重要课题.
8.1.1 舆情与网络舆情
舆论是民众对社会性的或者公共事务方面的意见. 舆情包括网络舆情与社会舆情两部分, 两者相互映射, 存在互动关系. 网络舆情是社会舆情的一个组成部分, 是媒体或网民借助互联网, 对某一焦点问题, 社会公共事务等所表现出的具有一定影响力, 带倾向性的意见或者言论, 是社会舆论在互联网上的一种特殊反映.
8.1.2 舆情分析的目的和意义
舆情是在一定的社会空间, 围绕特定社会热点事件产生, 发展和变化, 社会上大多数的民众对事件处理对策, 过程和结果所产生的态度, 是绝大多数民众对社会现象和社会问题所表现出来的态度, 情绪和意见的集合. 舆情分析对政府和企业管理均具有重要的意义. 1)有些网络舆情可能影响政府形象, 进行舆情监测和分析, 能够及时地了解事件及舆论动态, 对错误, 失实的舆论进行正确的引导. 2)政府通过舆论监测与分析, 能够掌握社会民意, 通过了解社会各阶层成员的情绪, 态度, 看法, 意见以及行为倾向, 有助于对事件做出正确的判定. 3)对企业来说, 有效地监测和分析舆情, 及时地处理企业在网络上的相关影响, 特别是负面影响显得尤为重要.
8.1.3 网络舆情的特点
网络环境下的舆情信息的主要来源有: 新闻评论, BBS, 聊天室, 博客, 聚合新闻, 微博, 微信等. 网络舆情具有以下特点: 1)表达的直接性 2)舆情信息在数量上具有海量性 3)舆情信息在内容上具有随意性和交互性 4)传播的迅速性 5)产生的突发性 6)舆情信息在时间上具有实时性和继承性 7)情绪的非理性 8)舆情信息在发展上具有偏差性 9)根据对一系列的网络事件的分析, 我们发现, 人们在面对一个受关注事件的时候, 会经过几个阶段: 关注前期, 发展期, 爆炸期, 冷静期, 冷却期
8.2 网络舆情的分析方法
8.2.1 检索方法
现有的网络舆情检索方法主要包括机器检索与人工检索两类. 机器检索是借助信息检索工具在网络上抓取与给定关键词相关信息, 借助累加器, 网址指向判断等简单的程序给出的信息的来源和信息的浏览量, 并可以按照用户要求进行排序和筛选. 人工检索并不是指完全依靠人工实现信息管理, 而且借助开放性工具完成网络舆情分析工作. 舆情分析的检索方法有以下特点: 1)实际操作中自主研发的检索工具使用频率不高, 普通商业搜索引擎的使用率较高. 2)机器检索需要事先设定一个目录. 3)机器检索负责数据的粗检索, 人工检索负责数据的精细检索. 4)检索的起点是关键词或者排行榜, 检索的内容是信息的属性, 包括转发量, 点击量, 评论量, 传播关键点.
8.2.2 研判方法
网络舆情的研判主要关注舆情发生的动因, 核心诉求, 传播路径和传播影响力, 并判断舆情的传播走势和影响. 要完成这两项任务, 一是需要分析思路, 二是需要理论支持. 网络舆情信息分析研判主要包括定量研判分析和定性研判分析两种. 定量研判分析包括:(1)舆情按区域统计分析 (2) 舆情按时间统计分析 (3) 舆情按时间统计分析 (4) 舆情按性别统计分析 (5) 舆情按行业统计分析 (6) 舆情按性质统计分析(7) 舆情按密度统计分析定性研判分析包括:(1) 舆情按可信度统计研判分析(2) 舆情按价值统计研判分析(3) 舆情按可信度统计研判分析(4) 舆情历史关联统计研判分析(5) 舆情转预警预测统计研判分析
8.2.3 典型的舆情分析方法
1. 双层分析法双层分析法包括传播层分析和动因层分析 (1) 传播层分析传播者的身份特征对生产传播内容和调整传播策略具有重要的意义, 因此需要进行传播者分析.(2) 动因层分析 2. 语义统计分析方法语义文法能够有效地实现语义分析, 并能与句法分析相结合, 生成对网络舆情准确的理解, 实现对网络舆情更加精准的分析. 3. 情感倾向分析方法文本的情感倾向性分析关注的不是文本本身的内容, 而是能否自动分析出文本内容所表达的情感和态度. 4. 基于 Web 的文本挖掘技术的分析方法基于 Web 的文本挖掘的技术主要包括关联规则挖掘, 序列模式挖掘, 聚类分析和自动分类技术. 关联规则挖掘可挖掘出隐藏在数据之间的相互关系. 序列模式挖掘侧重点在于分析数据间的前后序列关系, 对网络舆情在其产生, 发展, 消亡的过程中表现出的特征进行序列模式分析, 发现特征集之间的隐含的顺序关系. 聚类分析在文本挖掘中已经应用得相当广泛, 它以某种相似性度量为标准, 将未标注类别的文本分成不同的类别. 自动分类技术是文本挖掘的关键技术, 是将一个对象划分到事先定义好的类中, 分类的准则是预先设定好的.
8.3 舆情分析应用: 网络舆情分析系统
8.3.1 基本架构
网络舆情分析系统通常具有下列功能: 1)热点话题, 敏感话题识别 2)倾向性分析 3)主题跟踪 4)趋势分析 5)突发事件分析 6)报警系统 7)统计报告大数据环境下舆情系统一般由网络舆情系统一般由网络舆情数据采集, 数据预处理, 数据聚类和舆情分析和结果呈现等模块组成.
8.3.2 信息采集
网络爬虫基本工作原理: 开始→初始 URL→抓取网页→抓取新的 URL 放入 URL 队列→是否满足停止条件→若是则结束, 若否则回到抓取网页步骤.
8.3.3 网络资源分析
对网络舆情数据进行分析并发现话题, 是舆情分析的重要工作. 话题是一个核心事件或活动以及与之直接相关的事件或活动. 话题发现是指利用一 定的算法对已有的舆情数据进行分析, 自动发现, 识别话题的过程. 一般话题发现的研究方法可分为两类: 第一类方法主要是寻找适合话题发现的聚类算法或者对已有的聚类算法进行改造, 另一类方法则是挖掘新的话题特征来提高检测的效果. 舆情分析的另一个任务是感知人们的观点, 态度倾向等主观信息.
8.3.4 网页预处理
数据获取的结果是得到页面的 HTML 纯文本, 其中包括各类标签, 文本信息, 图片链接, CSS 代码, JavaScript 代码, 文本和图片链接等. 话题是一个由一些真实世界事件紧密关联起来的新闻报道的集合. 事件是指发生在特定时间和特点地点的某个特定事情, 以及与其相关的必要前提和不可或缺的后续结果. 信息过滤技术是根据用户的设定在抓取的网页内容中过滤掉不需要的部分, 留下有用信息并将其保存到指定的位置.
8.3.4 信息挖掘
Web 信息挖掘是由数据库挖掘技术演变而来的, 本质是对所需的样本目标进行综合分析, 提取出有效的特征值, 根据特征值从 Web 信息分析出用户需要的有效信息. Web 信息挖掘主要由四个步骤构成, 描述如下: 1)定位 Web 信息源 2)数据的选择与预处理 3)有效模式的挖掘 4) 模式的验证分析
8.3.6 归档管理
根据舆情数据特点, 分析数据需求和分析结果数据的内容和结构特性, 在系统数据库中一般划分为 5 个数据表, 分别为站点信息表, 文档信息表, 话题信息表, 话题发现结果表和情感分析结果表.
8.3.7 舆情统计
网络计量学的概念, 网络计量学包括所有使用情报计量和其他计量方法对网络通信有关问题的研究. 热点评估是指根据热点事件中公共的情感和行为反应对舆情进行等级评估并设立相应的预警阈值, 词频统计和情感分类是网络舆情评估的两个主要手段.
8.4 舆情分析应用: 网络舆情监测系统
网络舆情监控要做到: 1)依托公开管理的职能, 切实掌握网络情况, 积极建立健全系统的信息数据库. 2)对于网络上的热点新闻, 事件以及人物, 在实现网络监控的同时, 视情况可进行网下的深人调研. 3)充分利用计算机技术与网络技术, 对网络舆情监控系统的信息进行深层挖掘, 切实掌握维稳工作所涉及的各类网络舆情信息, 注重舆情的有效引导.
8.4.2 网络舆情监测系统的构成
网络舆情监测系统大致可划分为以下几个模块: 信息采集模块, 正文提取模块, 文本聚类模块, 文本分类模块和情感分析模块.
8.4.3 网络舆情监测系统的作用
网络舆情监测系统主要作用包括: 1)及时, 全面地收集舆情 2)分析舆情 3)监测结果将成为重要决策依据
来源: http://www.bubuko.com/infodetail-3338768.html