渗透性测试是信息安全人员模拟黑客攻击,用来发现信息安全防御体系中漏洞的一种常用方法。但它不同于真正的黑客攻击。首先,黑客入侵大多是悄无声息的,像间谍一样秘密进行,而渗透性测试事先要与用户签订好协议;其次,渗透测试是为了发现、验证安全漏洞的影响而进行的,注重入侵者可能的通道,并非关注用户的敏感信息内容。所以,渗透性测试时一种安全服务,简称渗透服务。

  国内渗透服务开展不好的原因:

  1、技术性要求很高。渗透与实际的入侵是同样的思路,需要渗透者有很强的逆向思维,有一定漏洞挖掘的能力,仅仅使用常规的入侵手段,面对安全意识较强的用户,渗透效果会很不理想;用最新的“0Day”资源去做渗透,成本又过高,同时,这种方法会给用户带来心理上的恐慌。要得到用户的认可需要掌握好这个“度”,当然没有深厚的技术功底,就只能被挡在服务大门的外边了;

  2、用户的纠结。作为企业信息安全的管理人员,当然不希望自己辛苦建立的安全防御体系被说成千疮百孔;花钱请人来做渗透,无疑是自己要“上京赶考”,很煎熬啊;若渗透没有成果,又无法向领导解释这样的服务的必要性,无法验证自己安全工作的成绩,不暴露问题的严重性,安全保障工作也难以得到领导的重视。所以,心情是复杂的;如何衡量渗透服务的效果是面临的首要问题;

  3、用户领导的顾虑。用渗透的方式检验目前的安全防御体系是否坚固,好比是“实战演习”,显然是有必要的。但是渗透毕竟是从自己不知道的地方进入到自己网络的内部,对于渗透者的工作的可控性是有难度的,渗透者除了给自己最后汇报的,是否还知道了其他的什么?孰轻孰重,领导肯定是有顾虑的;

  4、渗透者的纠结。渗透是为了验证用户防御体系的缺陷,每次渗透服务后,把发现的漏洞通告给用户,当然希望用户堵上它,可是下一次来渗透的时候,又需要再发现新的漏洞,否则就无法渗透成功,而发现有价值的漏洞不是一件容易的事情,即使你技术再好,也有很多偶然的成分;因此渗透者很纠结,知道了的全说出来,以后工作会越来越挑战极限,毕竟这是商业;知道的不全说,对用户似乎很不公平,也违背了信息安全人员的职业道德。另外,验证的毕竟部分漏洞,未验证的漏洞也不少,也许是时间上的不充裕,也可能是自己还没有找到适合的方法,但这不等于别人就做不到,搞技术的人,心情上很复杂。

  正确定位渗透服务的目标:

  这项工作的好处是共知的,“养兵千日,用在一时。”保持安全机制的有效性,唯一的办法就是经常性的“实弹演习”,渗透服务就是一种“实弹演习”。

  面对各方面人员复杂的心情,关键是正确定位渗透性测试服务的具体目标,定位大家的角色。目标清晰了,责任清楚了,大家的顾虑就可以打消了。

  渗透性测试是一种安全服务,不是黑客入侵的情景再现。

  渗透服务的目标应该是部分验证安全漏洞可以被利用的程度,利用这些漏洞能给用户造成什么样的损害。简单地说,渗透服务是确认漏洞能给用户带来的损失有多大,从而可以评估修复这些漏洞的代价是否值得。

  通过渗透服务,用户的收益是多方面的:

  1、对信息安全系统整体进行了一次“实战演练”,在实战中锻炼安全维护团队应变的能力;

  2、系统评估了业务系统,在技术与运维方面的实际水平,管理者清楚了目前的防御体系可以抵御什么级别的入侵攻击;

  3、发现安全管理与系统防护中的漏洞,可以有针对性地进行加固与整改;

  4、若定期地进行渗透服务,不仅可以逐步提高系统安全的防御能力,而且可以保持管理人员的警觉性,增强防范意识;

  如何确定渗透服务的考核目标:

  很多渗透测试服务(目前与安全评估服务一起提供的有很多)给用户的报告就是一大堆的漏洞列表,告诉你要打补丁,买设备,以及一些很虚的安全管理建议。用户往往对这些漏洞的威胁不了解,面对如此多数量的、稀奇古怪的漏洞根本不知所措。第一,因为怕影响业务运行,不能全部打上补丁,哪些必须打,哪些可以不打,总是一本糊涂账;第二,即使打上补丁,心里也不踏实,漏斗就少了吗?下次检查又是同样多的漏洞,好想补丁永远也补不完。

  其实发现漏洞只是服务的第一步,验证哪些漏洞是可以被利用的,可以被利用到什么程度,才是渗透服务真正应该回答的,比如能获取系统管理员权限,能篡改系统数据,能植入木马等等,这样用户对漏洞的威胁就有切身的体会了。

  渗透服务是模拟黑客入侵,但不是真正的入侵,作为商业服务,用户如何确定渗透服务的考核目标呢?我们先来分析一下黑客攻击的方式。

 从入侵攻击的流程,可以看出,入侵攻击分为几种目标类型:

  1、正面攻击:DDOS攻击无论是针对网络入口的带宽,还是针对服务的处理能力(也称CC攻击),表现形式都是正面攻击,造成的损害,用户一目了然。

  2、隐蔽型入侵:进入的方式多种多样,可以社会工程、垃圾邮件、漏洞溢出、密码猜解等,目的都是要悄悄进入到目标的内部,从进入目标后的行为可分为:

  a)窃取特定目标信息:直接收集目标信息,如QQ账户密码、银行卡密码、特定的用户文件等,通过邮件、访问特定网站等方式发送回家后销毁自己,消除痕迹;

  b)控制“肉鸡”:隐蔽自己,建立后门通道,接受并执行远程控制命令,可以远程操作此计算机;

  c)篡改特定目标信息:直接对目标信息修改为自己设定的,如数据库的数据、系统特定文件等,然后自毁,消除痕迹。此类入侵常常是为其他入侵方式做好准备;

  d)特定任务:长期潜伏,把自己隐藏起来,等到条件成熟,实施动作,如逻辑炸弹、修改系统信息等;

  隐蔽型入侵中如何隐藏自己不被发现,或延长被发现的时间是很关键的,尤其是特定任务类型是作为APT攻击的必要手段,隐藏自己与反复入侵都是必然的选择,常用的技术如rootkit、进程注入、驱动钩子等。入侵者一旦入侵成功,常常制造多个潜伏点,分别设置好触发条件,相互监视,只要不被全部发现,就可以死灰复燃,最终实现预定任务。

  针对不同类型的入侵攻击方式,渗透服务关注的重点显然是不同的:

  1、正面攻击:渗透服务需要发现可以被正面攻击的关键点,以及不同攻击强度对业务所产生的影响;

  2、隐蔽型入侵:渗透服务不仅要发现可能入侵的通道,即可被成功利用的漏洞,而且要验证入侵后可能造成的损失,最后还要发现系统内是否已经存在的入侵。

  有关正面攻击的测试服务,目前需求见到的还不多,很多系统建设者是通过处理能力的理论计算得出的这一数据的。但是,作为提供公众服务、云计算等服务的企业,应该更为确切地了解自己系统内的薄弱点所在,以及它所能承受攻击能力的限度,并实施实时监控。这好比建设的大坝可以抵御多少年一遇的大洪水,建造的大楼可以抵御几级地震一样。

  在很多情况下,业务的突发性增长,与系统受到了CC攻击,其冲击效果是很相似的。

  针对隐蔽型入侵,渗透性服务交付的成果有趣的,因为你是否有能力进入是一方面,你是否可以成功地窃取、成功的篡改是另外一个方面。在信息安全方面,你进入了目标系统也只是有了成功窃取与篡改的可能性而已,而后面的工作往往不是你成功利用了那个漏洞就可以解决的。

  从上面对入侵攻击结果的分析总,我们得出渗透服务的交付应该是具有“结果效应”的,即需要达到的最终目标:

  ● 窃取到目标内的特定信息

  ● 修改了目标内的特定信息

  ● 建立了远程控制目标的后门通道

  ● 成功潜伏在目标内没有被发现

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

渗透性测试是一种特殊的信息安全服务相关推荐

  1. ***性测试是一种特殊的信息安全服务

    ***性测试是一种特殊的信息安全服务<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&q ...

  2. 测试案例6种编写方法_一种编写测试的好方法

    测试案例6种编写方法 测试. 我最近一直在考虑测试. 作为我对各种项目所做的代码审查的一部分,我已经看到了数千行未经测试的代码. 这不仅是测试覆盖率统计数据指出这一点的情况,更是该项目中根本没有任何测 ...

  3. (保守群组测试 非保守群组测试 二次重复测试 自适应二次重复测试)四种群体测试的C++代码

    目录 原理 保守组检测 非保守组检测 二次重复测试 自适应二次重复测试 四种测试方法的核心代码 保守群组测试 非保守群组测试 二次重复测试与自适应二次重复测试 测试代码 参考文献 原理 假设该病在人群 ...

  4. [安全测试报告]针对某厂商的一次渗透性测试

    针对某厂商的一次渗透性测试 1.  安装某商客户端,启动客户端可以看到有两个默认安装好的摄像机,一个设备的设备编号是局域网地址,另外一个设备编号是个摄像机名称. 2.  启动wireshark,并打开 ...

  5. java文件指针,Java 测试文件指针,java测试指针,两种方法打开文件并进行内

    Java 测试文件指针,java测试指针,两种方法打开文件并进行内 两种方法打开文件并进行内容定位package com.ronsoft.books.nio.channels;import java. ...

  6. 压力测试就是一种破坏性的性能测试

    对性能测试.负载测试和强度测试比较混淆.没错,这三个概念是比较容易使人糊涂.负载测试和强度测试,都属于性能测试的子集.下面举个跑步的例子进行解释. 性能测试,表示在一个给定的基准下,能执行的最好情况. ...

  7. web前端移动端项目测试的几种方法

    web前端移动端项目测试的几种方法 本人只是个做前端刚刚半年的小白 技术还不熟练  见识也不够广   希望大家不喜勿喷 如果有不对的地方欢迎大家指出  我更加会努力的学习  提高自己的水平! 本人只是 ...

  8. Maven打包跳过测试的5种方式

    今天工作中遇见一个小问题,正好晚上没什么安排,而且也很久没写博客了,我就想着将问题记录一下. 平时开发时的工作的话之主要负责写代码就行了,什么发布项目啊,好吧不是我们干的事.在我们的了解中打包发布项目 ...

  9. Maven高级11:跳过测试的三种手段;(maven在package或者install等的时候,跳过test不去执行测试用例)(PS:本篇博客中的【使用配置跳过测试】并没有实测成功)

    说明: (1)本篇博客的内容:maven跳过测试的几种手段: (2)声明:跳过测试这部分仅仅作为了解即可,在实际中我们一般也可能不会去跳过测试: 目录 一:跳过测试,简介:(测试很重要,为什么有时我们 ...

  10. Maven 跳过测试的几种方式

    在 Maven 对项目进行编译的时候,我们通常可能会希望跳过复杂的测试. 尤其是在开始项目还不是非常稳定的阶段. 命令行中使用 -Dmaven.test.skip=true 在命令行,只要简单的给任何 ...

最新文章

  1. mysql 动态显示月份列_mysql 中动态显示列
  2. 服务器智能监控软件,监控 监控系统 消防智能监控 智能监控软件
  3. python编程300例_经典编程100例——python版(例75)
  4. 使用object detection训练并识别自己的模型
  5. imu与gps之间的时间戳_一个时间戳精度问题,引发了一个MySQL血案
  6. java 优酷视频缩略图_java获取优酷等视频缩略图
  7. HDU 5882 Balanced Game 分析+欧拉图
  8. 01-windows下git远程拉取项目
  9. 剑指offer31-栈的压入、弹出序列
  10. 程序员的黑科技_用代码回复博客
  11. b宝塔 centos端口更改_centos修改ssh默认端口号的方法示例
  12. java实现栈的数据结构
  13. 【课程·研】高性能计算机网络 | 学堂在线习题解答:期末考试
  14. C++MFC画图工具
  15. 校园服务器虚拟机规划与设计,校园网服务器虚拟化技术的应用研究
  16. 慕尼黑大学计算机研究生申请,慕尼黑大学读研
  17. ims系统 呈现服务器,ims系统
  18. 配置计算机老是重启,电脑无缘无故重启是什么原因_电脑老是无故自动重启如何解决-win7之家...
  19. 高斯模糊处理头像作为背景图的两种高效便捷方法
  20. win10下yolov3训练自己的数据集

热门文章

  1. 用c语言做一个栈,完成逆波兰表达式
  2. opencv task3------答题卡识别
  3. 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
  4. python获取英文字母、英文标点符号、中文标点符号
  5. 手机配置host的替代方案
  6. 移动跨平台框架React Native 基础教程【01】
  7. 机器学习-分类Classification
  8. Galaxy 平台下 LEfSe 安装与使用教程
  9. 翻转数组,将数组倒序输出
  10. HTML音频视频、JS方法,以及插件使用教学