网络安全简单入门与扫描

网络安全简单入门

内容大纲

  • 策略制定
  • 安全工具
  • 其他

1、安全策略

1.1、安全三要素

要全面地认识一个安全问题,我们有很多种办法,但首先要理解安全问题的组成属性。前人通过无数实践,最后将安全的属性总结为安全三要素,简称CIA。

安全三要素是安全的基本组成元素,分别是机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。
机密性要求保护数据内容不能泄露,加密是实现机密性要求的常见手段。

举一个例子,存放一个文件,加入文件不是放在抽屉里,而是放在一个透明的玻璃盒子里,那么虽然外人无法直接取得文件,但因为玻璃盒子是透明的,文件内容可能还是会被人看到,所以不符合机密性要求。但是如果给文件增加一个封面,掩盖了文件内容,那么也就起到了隐藏的效果,从而满足了机密性要求。可见,我们在选择安全方案时,需要灵活变通,因地制宜,没有一成不变的方案。

完整性则要求保护数据内容是完整、没有被复改的。常见的保证一致性的技术手段是数字签名。

传说清朝康熙皇帝的遗诏,写的是“传位十四子”,被当时还是四阿哥的胤镇寡改了遗诏,变成了“传位于四子”。姑且不论传说的真实性,在故事中,对这份遗诏的保护显然没有达到完整性要求。如果在当时有数字签名等技术,遗诏就很难被算改。从这个故事中也可以看出数据的完整性、一致性的重要意义。

可用性要求保护资源是“随需而得”。

假设一个停车场里有100个车位,在正常情况下,可以停100辆车。但是在某一天,有个坏人搬了100块大石头,把每个车位都占用了,停车场无法再提供正常服务。在安全领域中这种攻击叫做拒绝服务攻击,简称DoS(Denial of Service)。拒绝服务攻击破坏的是安全的可用性。

1.2、安全评估

一个安全评估的过程,可以简单地分为4个阶段:资产等级划分、威胁分析、风险分析、确认解决方案。

1. 资产等级划分

资产等级划分是所有工作的基础,这项工作能够帮助我们明确目标是什么,要保护什么。
前面提到安全三要素时,机密性和完整性都是与数据相关的,在可用性的定义里。“资源”这个概念描述的范围比数据要更加广阔,但很多时候,资源的可用性也可以理解为数据的可用性。
在互联网的基础设施已经比较完善的今天,互联网的核心其实是由用户数据驱动的一用户产生业务,业务产生数据。互联网公司除了拥有一些固定资产,如服务器等死物外,最核心的价值就是其拥有的用户数据,所以一互联网安全的核心问题,是数据安全的问题。
所以在对互联网公司拥有的资产进行等级划分,就是对数据做等级划分。有的公司最关心的是客户数据,有的公司最关心的是员工资料信息,根据各自业务的不同,侧重点也不同。做资产等级划分的过程,需要与各个业务部门的负责人一一沟通,了解公司最重要的资产是什么,他们最看重的数据是什么。了解公司的业务,公司所拥有的数据,以及不同数据的重要程度,为后续的安全评估过程指明方向。

2. 威胁分析

在安全领域里,我们把可能造成危害的来源称为威胁(Threat),而把可能会出现的损失称为风险(Risk)。风险一定是和损失联系在一起的。
什么是威胁分析?威胁分析就是把所有的威胁都找出来。一般是采用头脑风暴法。当然,也有一些比较科学的方法,比如使用一个模型,帮助我们去想,在哪些方面有可能会存在威胁,这个过程能够避免遗漏,这就是威胁建模。
介绍一种由微软提出的威胁建模的方法STRIDE模型

威胁 定义 对应的安全属性
Spoofing(伪装) 冒充他人身份 认证
Tampering(慕改) 修改数据或代码 完整性
Repudiation(抵赖) 否认做过的事情 不可抵赖性
InformationDisclosure(信息泄露) 机密信息泄露 机密性
Denial of Service(拒绝服务) 拒绝服务 可用性
Elevation of Privilege(提升权限) 未经授权获得许可 授权

3. 风险分析

影响风险高低的因素,除了造成损失的大小外,还需要考虑到发生的可能性。

如何更科学地衡量风险呢?再介绍一个DREAD模型,它也是由微软提出的。DREAD 也是几个单词的首字母缩写,它指导我们应该从哪些方面去判断一个威胁的风险程度。

等级 高(3) 中(2) 低(1)
Damage Potential ( 破坏潜力 ) 获取完全验证权限:执行管理员操作:非法上传文件 泄露敏感信息 泄露其他信息
Reproducibilty(再现性 ) 攻击者可以随意再次攻击 攻击者可以重复攻击,但有时间限制 攻击者很难重复攻击
Exploitability( 可利用性 ) 初学者在短期内能掌握攻击方法 熟练的攻击者才能完成这次攻击 漏洞利用条件非常苛刻
Affected users(受影响的用户) 所有用户,默认配置,关键用户 部分用户,非默认配置 极少数用户,匿名用户
Discoverability(可发现性) 漏洞很显眼,攻击条件很容易获得 发现该漏洞极其困难需要深入挖掘漏洞 发现漏洞及其困难

高危:12~15分中危:8一11分低危:0一7分

4. 确认解决方案

安全评估的产出物,就是安全解决方案。解决方案一定要有针对性,这种针对性是由资产等级划分、威胁分析、风险分析等阶段的结果给出的。

作为安全工程师,要想的就是如何通过简单而有效的方案,解决遇到的安全问题。安全方案必须能够有效抵抗威胁,但同时不能过多干涉正常的业务流程,在性能上也不能拖后腿。

呢么一份好的安全方案对用户应该是透明的,尽可能地不要改变用户的使用习惯。

1.2、一般流程

2、安全工具(漏洞扫描器)

2.1、AppScan

AppScan是IBM公司出品的一个领先的 Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界。AppScan 可自动化Web应用的安全漏洞评估工作,能扫描和检测所有常见的Web 应用安全漏洞,例如,SQL注入(SQL injection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)及最新的Flash/Flex 应用和Web 2.0应用暴露等方面的安全漏洞扫描。

1. 使用步骤

第一步:打开AppScan中文版,新建扫描,拥有web应用程序、web服务、外部客户机等三种基础扫描方式;

第二步:扫描配置向导,输入项目入口访问链接;

第三步:登录方式记录,可通过自动方式,预先设置正确的用户名密码;

第四步:设置扫描策略,提供缺省值、侵入式、基础结构、应用程序、第三方等选择,默认为缺省值;

配置测试和优化,建议默认快速即可;

第五步:完成扫描引导配置,软件提供全自动、半自动、手动等几种选项,默认全自动就好;

点击完成后,选择自动保存扫描过程后进行自动扫面;

第六步:最后等待AppScan10扫描完成,查看扫描结果即可。

2.2、Acunetix

Acunetix 是一个自动化的 Web 应用程序安全测试工具,是通过检查 SQL 注入,跨站点脚本(XSS)和其他可利用漏洞等来审核您的 Web 应用程序。一般来说,Acunetix 能够扫描任何通过网络浏览器访问并使用 HTTP/HTTPS 协议的网站或 web 应用程序。

1.使用步骤

第一步:添加 需要检测的网站(漏洞扫描.)

然后点击是的,进行漏洞扫描

这里可以选择:扫描类型

第二步:查看扫描的结果(包含:漏洞信息,网站结构,活动.)

第三步:查看漏洞的信息.(漏洞类型,链接的位置,修复方案等.)

第四步:生成报告

第五步:点击报告.

3、其他

3.1、关于工具的问题

  • 信息搜集
    • 社会学信息
    • 网络资产&架构
    • 端口
    • ......
  • 漏洞扫描
  • 各类的爆破器
  • 设备识别器
  • 网络分析器
  • .....

1. 漏洞扫描器

漏洞扫描器可以快速帮助我们发现漏洞,例如,SQL注入漏洞(SQLinjection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)。
一款优秀的漏洞扫描器会使渗透测试变得很轻松,但对于一些漏洞,自动化软件是无法识别的。所以,在进行漏扫(漏洞扫描的简称)时,必须要与人工渗透相结合。

结论是:漏洞扫描也属于信息探测的一种,扫描器可以帮助我们发现非常多的问题,但是整个测试的执行过程不是交由工具去完成。

3.2、银弹理论

在解决安全问题的过程中,不可能一劳永逸,也就是说“没有银弹”。安全是一个持续的过程。
自从互联网有了安全问题以来,攻击和防御技术就在不断碰撞和对抗的过程中得到发展。从微观上来说,在某一时期可能某一方占了上风:但是从宏观上来看,某一时期的攻击或防御技术,都不可能永远有效,永远用下去。这是因为防御技术在发展的同时,攻击技术也在不断发展,两者是互相促进的辩证关系。以不变的防御手段对抗不断发展的攻击技术,就犯了刻舟求剑的错误。在安全的领域中,没有银弹。

3.3、原理

加强原理学习,对常见的漏洞原理以及复现的学习掌握。虽说网络上有很多的国内外大神们开发的各类小工具,但是不清楚原理的人就好比一个没有武功但是得到了一把绝世神兵。对于这把武器的使用与掌握就处于一种能用但不好用的境界。而且也只能去处理一些简单易发现的问题。

4、结尾

感谢大家

posted @ 2022-06-13 17:59  三途河畔人  阅读(780)  评论(0编辑  收藏  举报