zoukankan      html  css  js  c++  java
  • 2019-2020-1学期 20192419 《网络空间安全专业导论》第十一周学习总结 (读书笔记)

    第五章 应用安全

    5.1 应用安全概述

    为了克服由于传统用户/服务器的这些缺陷给系统应用带来的影响,一种新的结构出现了,这就是三层客户/服务器结构。
    三层客户/服务器结构构建了一种分隔式的应用程序,由三个层次共同组成应用系统。在这种结构,用户使用标准的浏览器(如微软的IE)通过Internet和HTTP协议访问服务方提供的Web应用服务器,Web应用服务器分析用户浏览器提出的请求,如果是页面请求,则直接用HTTP协议向用户返回要浏览的页面。如果有数据库查询操作的请求(当然也包括修改、添加记录等),则将这个需求传递给服务器和数据库之间的中间件,由中间件向数据库系统提出操作请求,得到结果后再返回给Web应用服务器,Web应用服务器把数据库操作的结果形成HTML页面,再返回给浏览器。

    5.2 常见的Web应用安全漏洞

    5.2.1 SQL注入漏洞

    SQL注入漏洞是Web层面是最高危的漏洞之一。
    针对SQL注入漏洞,,可以采用如下几种防护手段:
    1.参数类型检测
    参数类型检测主要面向纯字符型的参数查询,可以用以下函数实现:

    • 通过使用指定的进制base转换,返回变量var的integer数值
    • 检测变量是否为数字或数字字符串,但此函数允许输入为负数和小数
    • 检测变量是否都是数字,负数和小数检测不通过

    2.参数长度检测
    3.危险参数过滤
    其过滤方法主要有如下三种:1)黑名单过滤 2)白名单过滤 3)GPC过滤
    4.参数化查询

    5.2.2 文件上传漏洞

    1.文件上传漏洞的原理一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过Web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,从而可以在远程服务器上执行任意PHP脚本。造成恶意文件上传的原因主要有三种:
    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的定义
      跨站脚本攻击是指攻击者利用网络程序对用户输入过滤的不足,输入可以显示在页面上对其他的不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
    2. XSS漏洞攻击实例
    3. XSS的分类
      可以分为三类:1)反射型XSS 2)存储型XSS 3)基于DOM的XSS
    4. XSS漏洞常见的防护手段
      1)过滤特殊字符 2)使用实体化编码

    5.2.4 CSRF

    CSRF是指跨站请求伪造

    1. CSRF的原理
      受害者必须依次完成两个步骤:1)登录受信任网站A,并在本地生成Cookie 2)在不登出A的情况下,访问危险网站B
    2. CSRF的三种不同危害方式
      1) 论坛等可交互的地方 2)Web攻击者 3)网络攻击者
    3. CSRF漏洞的常见防护手段
      1)添加验证码 2)验证referer 3)利用token

    5.2.5 远程代码执行漏洞

    1. 远程代码执行漏洞的原理
    2. 远程代码执行漏洞的防范
      1)禁用高危系统函数 2)严格过滤关键字符 3)严格限制允许的参数类型

    5.3 恶意代码

    5.3.1 恶意代码的定义

    恶意代码又称恶意软件,是能够在计算机系统中进行非授权操作的代码。恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据。

    5.3.4 恶意代码的危害

    恶意代码的危害主要表现在以下几个方面:1)破坏数据 2)占用磁盘存储空间 3)抢占系统资源 4)影响计算机运行速度

    5.3.6 典型恶意代码原理与防范分析

    1. WebShell介绍
      WebShell文件通常是可执行的脚本文件
      2.WebShell危害
      攻击者在入侵一个Web应用服务器后,常常将这些脚本木马后门文件放置在服务器的Web目录中,然后攻击者就可以用Web页面的方式,通过脚本木马后门控制web服务器,包括上传下载文件、查看数据库、执行任意程序命令等。
      4.防范方法
      (1)服务器安全设置
      ①加强对脚本文件的代码审计,对出现FSO、Shell对象等操作的页面进行重点分析。
      ②Web服务器通过正则表达式、限制用户输入信息长度等方法对用户提交信息的合法性进行必要的验证、过滤。
      ③数据库是Web应用系统的重要组成部分,使用数据库系统自身的安全性设置访问数据库权限。
      (2)应用安全防护
      1.Web软件开发的安全 2.FTP文件上载安全 3.文件系统的存储权限 4.不要使用超级用户运行Web服务
      (3)控制文件上传
      1.加强对脚本文件的代码审计 2.将应用系统的重要文件放在不同的文件夹中,通过设置虚拟目录访问这些文件夹,尤其是上传文件,并合理设置这些文件夹的访问权限。

    5.4 中间件安全

    5.4.1 中间件概述

    软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。这些都需要一种构筑于软、硬件平台之上,同时对更上层的应用程序提供支持的软件系统,而中间件正是在这个环境下应运而生。
    定义:中间件是一种独立的系统软件或服务程序,分布式应用程序借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通信。从中间件的定义可以看出,中间件不仅仅实现互连,还能实现应用之间的互操作。中间件是基于分布式处理的软件,定义中特别强调了其网络通信功能。
    企业使用中间件具有如下优势:
    1)具体来说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
    2)中同件带给应用系统的不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
    中间件包括交易中间件、消息中间件、集成中间件等各种功能的中间件技术和产品。

    5.4.2 中间件的分类

    中间件包括交易中间件、消息中间件、集成中间件等各种功能的中间件技术和产品。中间件已经成为网络应用系统开发、集成、部署、运行和管理必不可少的工具。基本上可以分为三大类:应用服务类中间件、应用集成类中间件、业务架构类中间件。

    1. 应用服务类中间件
      这类中间件为应用系统提供一个综合的计算环境和支撑平台, 包括对象请求代理(ORB)中间件、事务监控交易中间件、Java 应用服务器中间件等。
    2. 应用集成类中间件
      应用集成类中间件是提供各种不同网络应用系统之间的消息通信、服务集成和数据集成的功能,包括常见的消息中间件、企业集成EAI、企业服务总线以及相配套的适配器等。
    3. 业务架构类中间件
      业务架构中间件包括业务流程、业务管理和业务交互等几个业务领域的中间件。

    5.4.3 典型中间件安全案例

    该漏洞产生原因有以下几种:
    1)在Java编写的Web应用与Web服务器间,Java通常会发送大量的序列化对象。
    2) HTTP请求中的参数、cookies 以及Parameters。
    3) RMI协议,被广泛使用的RMI协议完全基于序列化。
    4 ) JMX用于处理序列化对象。
    5)自定义协议,用来接收与发送原始的Java对象。
    6)在序列化过程中使用ObjectOutputStream类的writeObject()方法,在接收数据后一般又 会采用ObjectInputStream类的readObject()方法进行反序列化读取数据。

    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)监测结果将成为重要决策依据

  • 相关阅读:
    LeetCode 623. Add One Row to Tree
    LeetCode 894. All Possible Full Binary Trees
    LeetCode 988. Smallest String Starting From Leaf
    LeetCode 979. Distribute Coins in Binary Tree
    LeetCode 814. Binary Tree Pruning
    LeetCode 951. Flip Equivalent Binary Trees
    LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List
    LeetCode 889. Construct Binary Tree from Preorder and Postorder Traversal
    LeetCode 687. Longest Univalue Path
    LeetCode 428. Serialize and Deserialize N-ary Tree
  • 原文地址:https://www.cnblogs.com/wty2419/p/12051309.html
Copyright © 2011-2022 走看看