一、软件安全现状及基本概念

  • 出现软件故障现象的原因是软件存在漏洞。
  • “任何软件,不论它看起来是多么安全,其中都隐藏漏洞”。
  • 软件安全的目的是尽可能消除软件漏洞,确保软件在恶意攻击下仍然正常运行。

二、软件安全威胁和来源

软件安全三大威胁:

  • 软件缺陷及漏洞
  • 恶意软件
  • 软件破解

2.1  软件缺陷及漏洞

1)软件缺陷,又称为bug,指计算机软件或程序中存在的某种破坏正常运行能力的问题、错误或隐藏的功能缺陷。会导致产品在某种程度上不能满足用户需要。

2)软件漏洞:指在硬件、软件、协议的具体实现或者系统的安全策略存在缺陷,从而可以使得攻击者能够在未授权的情况下访问或者破坏计算机系统。

软件漏洞的危害:

  • 软件正常功能被破坏
  • 系统被恶意控制、信息泄露、提权

软件漏洞危害的级别:

  • 危急:漏洞传播影响很大,如无需用户激活的网络蠕虫传播的漏洞
  • 高危:漏洞的利用会危及用户数据的机密性、完整性、有效性
  • 中危:开发利用该漏洞比较困难
  • 低危:漏洞的利用非常困难,或影响不大

2.2  恶意软件:恶意软件是指那些设计目的是为了实施特定恶意功能的一类软件程序,例如:病毒、木马、后门、僵尸、简单软件等。

恶意软件的危害:

  • 修改或破坏已有的软件功能:恶意软件运行后,可以对同一运行环境中的其他软件进行干扰和破坏。
  • 窃取系统中的数据:灰鸽子、上兴、Flame
  • 监视用户行为:屏幕监视、视频监视、语音监视
  • 目标被控制:shell

2.3  软件破解:即通过对软件自身程序进行逆向分析,剖析软件的注册机制,对软件的各类限制实施破解,从而使得非法使用者可以正常使用软件。

三、计算机病毒

1)定义:是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。

2)特征:

  • 传染性:病毒具有把自身复制到其它程序的能力
  • 非授权性:病毒的执行无需用户授权
  • 隐蔽性:用户不容易察觉病毒的存在与执行
  • 潜伏性:病毒存在于系统中,并等待时机发作
  • 破坏性:干扰系统的执行、管理、数据
  • 不可预见性
  • 触发性:根据条件触发破坏行动

3)病毒感染的途径:

  • 生产、销售的计算机系统和软件中带有病毒
  • 通过互联网(访问Web、下载Email和文件等)传入的
  • 非法拷贝中毒
  • 维修部门交叉感染
  • 敌对分子以病毒为媒体或武器进行宣传和破坏

4)病毒的分类

①  引导型病毒:如小球病毒、大麻病毒

  • 引导型病毒特点:

■ 引导部分占据磁盘引导区

■ 只有在计算机启动过程中,磁盘被引导时, “引导型”病毒才被激活

■ 具有磁盘引导扇区内容“复原”功能

■ 修改内存容量,病毒驻留内存

■ 修改磁盘访问中断,在进行磁盘写操作时进行传播

  • 引导型病毒传播方式:正常操作系统启动过程、感染引导型病毒的操作系统启动。

②  文件型病毒

文件型病毒的主要特点是:

  • 系统执行病毒所寄生的文件时,其病毒才被激活
  • 有可能直接攻击目标对象,主要是EXE、COM等可执行文件
  • 修改系统内存分配,病毒驻留内存
  • 修改系统中断,等待时机进行病毒的发作或再次传播

③  宏病毒

  • 定义:宏病毒是使用宏语言编写的程序,可以在一些数据处理系统中运行(主要是微软的Office程序),存在于Word、Excel、PPT等数据文件中,利用宏语言的功能将自己复制并且繁殖到其他数据文档里。
  • 宏病毒的产生:宏病毒与传统的病毒有很大不同,它不感染.EXE和.COM等可执行文件,而是将病毒代码以“宏”的形式潜伏在Office文件中,主要感染Word和Excel等文件,当采用Office软件打开这些染毒文件时,这些代码就会被执行并产生破坏作用。
  • 宏病毒的表现:

■ 自身的传播无破坏性

■ 干扰打印和显示

■ 删除文件

  • 宏病毒的特点:

■ 容易制造

■ 交叉硬件平台

■ 传播速度快

■ 隐蔽性好

■ 破坏性强

④  脚本病毒

  • VBS病毒:脚本病毒种类比较多,最常见的就是VBS病毒。VBS病毒是用VBScript编写而成,该脚本语言功能非常强大,它们利用Windows系统的开放性特点,通过调用一些现成的Windows对象、组件, 可以直接对文件系统、注册表等进行控制。
  • 原理:VBS脚本病毒是直接通过自我复制来感染文件的,病毒中的绝大部分代码都可以直接附加在其他同类程序的中间。
  • 特点:编写简单,破坏力大,感染力强,传播范围大,欺骗性强。
  • 传播方式:Email,局域网共享,感染htm、asp、jsp、php等网页文件。
  • 如何获得控制权:修改注册表项,映射文件执行方式,欺骗用户让用户自己执行。
  • VBS脚本病毒的运行条件:

■ 绝大多数VBS病毒运行时都要用到一个对象:FileSystemObject

■ VBScript代码是通过Windows Script Host来解释执行的

■ VBS脚本病毒的运行需要其关联程序Wscript.exe的支持

■ 通过网页传播的病毒需要ActiveX的支持

■ 通过Email传播的病毒需要OutlookExpress的自动发送邮件功能支持

  • VBS脚本病毒的防范:

■ 禁用文件系统对象FileSystemObject

■ 卸载Windows Script Host

■ 删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射

■ 自定义安全级别

■ 禁止OutlookExpress的自动收发邮件功能

⑤  PE病毒

  • 首先判断是否是PE文件(Portable Executable,可移植可执行文件)
  • 接下来添加节

四、木马

1)定义:木马(Trojan)也称木马病毒,是通过特定的程序(木马程序)来控制另一台计算机。

2)木马的结构:完整的木马一般由木马配置程序、控制端程序(客户端)和木马程序(服务端程序,即受控端)等三部分组成。

  • 控制端:用来对被控制主机进行操控、发送指令,并显示指令执行的返回结果
  • 服务端:用来响应控制端发出的指令、执行实际的任务

3)木马的植入方式:

  • 伪装欺骗植入:更改后缀名,图标伪装成合法程序
  • 捆绑植入:恶意程序与正常程序捆绑(EXE捆绑、文档嵌入等)
  • 其他:社会工程,用户习惯

4)木马连接方式:获取连接信息(服务端通知客户端 / 客户端主动扫描)--> 建立通信连接(TCP)

①  正向连接:控制端主动连接受控端

  • 优点:

■ 攻击者无需外部IP地址

■ 木马样本不会泄露攻击者IP地址

  • 缺点:

■ 可能会被防火墙阻挡

■ 被攻击者必须具备外部IP地址

■ 定位被攻击者相对困难(目标IP经常变化、不知道目标IP何时上线)

②  反向连接1:

  • 优点:

■ 通过防火墙相对容易

■ 攻击目标随时上线随时控制

■ 可以控制局域网内的目标

  • 缺点:

■ 样本会暴露控制端信息

■ 攻击者通常应该具备外部IP的服务器

③  反向连接2:

  • 受控端和控制端都和第三方通信(肉鸡、Web服务器)
  • 优点:

■ 绕过防火墙

■ 自动连接上线

■ 不易被发现(代理)

五、后门

1)定义:后门是一个允许攻击者绕过系统中常规安全控制机制的程序,后门的重点在于为攻击者提供进入目标计算机的通道。

2)后门VS木马

  • 如果一个程序仅仅提供远程访问,那么它只是一个后门
  • 如果攻击者将这些后门伪装成其他正常程序,那么其就变成木马(欺骗性)

3)植入后门

  • 自己植入(物理接触或入侵后)
  • 通过病毒、蠕虫和恶意移动代码
  • 欺骗受害者自己安装(Email,远程共享,BT下载)

4)攻击方法

  • 获取用户口令
  • 更改配置(rhosts)
  • 替换程序
  • 开设新的服务,定时开启服务

5)隐藏

  • 代码:坏扇区,Boot
  • 通信:TCP,UDP,ICMP

六、Rootkit

1)基本概念:Rootkit实现隐藏,只是采取一定的措施,使系统“ 看不到”相应的对象。

  • 系统API(Application Programming Interface,应用程序编程接口)查询相应对象,返回信息
  • 而Rootkit拦截系统API的执行过程或返回结果

2)Rootkit的演化:

  • 第一代Rootkit简单地替换或修改受害者系统上关键的系统文件。
  • 第二代的Rootkit大体上基于挂钩技术——通过对已加载的应用程序和一些诸如系统调用表的操作系统部件打内存补丁而改变执行路径。
  • 第三代Rootkit技术称为直接内核对象操作,其动态修改内核的数据结构,可逃过安全软件的检测。

七、APT

1)基本概念:高级持续性威胁(Advanced Persistent Threat,APT)是指组织(特别是政府)使用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击方式,因此无法通过阻止一次攻击就让问题消失。

2)APT的特点:

  • 高级——有全方位的情报搜集技术和计算机入侵技术
  • 持久性——目的性和针对性强,长期持续利益的信息
  • 有组织,有充足的资金

*八、软件安全措施

1)软件安全模型

2)SDL:安全培训——需求——设计——实现——验证——发布——响应

3)代码分析工具:IDA、OD、FindBugs

信息系统安全导论第六章之软件安全相关推荐

  1. 【算法基础】数据结构导论第六章-查找.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 本文参考 ...

  2. 信息系统安全导论第七章信息安全工程与信息安全审计

    一.信息安全工程简介 信息安全不单单是技术问题,而是策略.管理和技术的有机结合,是一项复杂的系统工程. 1.1 信息工程建设中的问题 重功能,轻安全: 先建设,后安全: 头痛医头,脚痛医脚: 简单的安 ...

  3. 计算机科学导论第六章计算机网路 学习笔记+习题答案

    笔记 通过本章学习,学生应该能够: 描述网络标准.物理结构和网络分类; 区分互联网(internet)与因特网(Internet); 描述作为因特网网络模型的TCP/IP协议族; 定义TCP/IP协议 ...

  4. 计算机系统导论第六章答案,《计算机系统概论》-第4章-习题答案

    写出冯·诺依曼模型的5个组成部分,并写出各个部件的功能和目的. 输入设备:输入数据 输出设备:输出结果 控制器:控制程序执行 内存:存放程序(各类运行指令) 处理器:对数据进行处理和运算git 简要描 ...

  5. 中国大学mooc 慕课 管理信息系统(同济大学)第六章 第七章 习题 测试答案

    1.以下不属于大数据的4V特征的是 A.Volume B.Variety C.Validity D.Velocity 正确答案:C 2. 以下说法正确的是 A.数据是对事物描述的符号 B.通过一定的技 ...

  6. 算法导论 第六章 堆排序 习题6.5-8 k路合并排序

    /*  * 请给出一个时间为O(nlgk),用来将k个已排序链表合并为一个排序链表的算法.  * 此处n为所有输入链表中元素的总数.(提示:用一个最小堆来做k路合并)  *  * 思路:利用有k个元素 ...

  7. 中国大学MOOC 人工智能导论第六章测试

    1 单选(2.5分) 以下说法错误的是: 得分/总分 A. 自动推理.知识图谱等技术是利用计算机建模来模拟人类总结知识.推理.求解问题的过程. B. 群体智能指在进化智能基础上充分发展个体智能后,将个 ...

  8. 【算法基础】数据结构导论第七章-排序.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 数据结构 ...

  9. python字符串分片_Python第六章字符串ppt

    PPT内容 这是Python第六章字符串ppt,包括了概述,通用序列操作,字符串格式化,字符串方法,正则表达式简介等内容,欢迎点击下载. Python语言编程导论 第六章  字符串 内容提要 概述 通 ...

最新文章

  1. GitHub标星10,000+,Apache项目ShardingSphere的开源之路
  2. apkplug利用plugin.xml传递自定义属性
  3. linux bash: sqlplus: command not found 错误处理
  4. Fork/Join框架
  5. flutter - 将数字转换为科学记数法并获得指数 flutter
  6. iphone计算机快捷键,苹果电脑快捷键大全,最常用的都在这里了
  7. windows10 python2.7 opencv3
  8. Windows下安装及使用NVM
  9. Bellman-Ford算法和SPFA算法
  10. JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)
  11. 需要的依赖_三十而已:夫妻关系中需要的是坦诚和依赖
  12. python图形化进度条代码_Python实现进度条和时间预估的示例代码
  13. 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
  14. [PAT A1043]Is is a Binary Search Tree
  15. matlab如何求距平,matlab编程语句
  16. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,网页一直处于加载中,servlet+html+js+css项目难题解决
  17. 视频像素、分辨率、清晰度关系及区别
  18. 华为不要php开发,华为手机开发者选项的利与弊!有些设置最好不要打开
  19. javascript 中 caller 与 callee 的作用以及用法
  20. 编写测试用例基本要求、非功能性测试和状态迁移法介绍

热门文章

  1. 征战希洛克集卡活动显示服务器没角色,希洛克征战模式
  2. 【工作】论文格式详细要求
  3. 枚举---枚举的其他应用
  4. 法官批准离婚申请 布兰妮正式恢复“单身”(图)
  5. PBC Library Manual(PBC库手册)翻译(一)
  6. 安卓手机/Android11系统无法访问android文件夹下的data目录,怎么解决?
  7. 笔记1之极大值分布问题
  8. 服务器2003共享文件夹设置密码,win2003 server r2 设置不需要密码验证的共享文件访问权限(即匿名访问)...
  9. 【Json】——jsoncpp的序列化以及反序列化
  10. 使用openCV进行视频人脸识别