Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3036531
  • 博文数量: 167
  • 博客积分: 613
  • 博客等级: 中士
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-13 21:35
个人简介

人, 既无虎狼之爪牙,亦无狮象之力量,却能擒狼缚虎,驯狮猎象,无他,唯智慧耳。

文章分类
文章存档

2015年(19)

2014年(70)

2013年(54)

2012年(14)

2011年(10)

分类: 网络与安全

2014-06-05 15:04:05

      试着使用Metasploit进行了几次SQL注入的尝试之后,自己发现现在大多数的企业、政府等门户网站都进行了一定程度的防范,就SQL注入来说,在页面上设置了敏感字符的过滤规则,甚至将无关紧要的表命名为admin以迷惑攻击者。如果只是单纯地依赖已有的渗透工具,没有自己的原创性工作,很难在实际中完成对于一个系统的渗透工作。所以,自己决定还是先放放手头的工具使用,利用几个月的时间恶补一下自己的安全技术的基础知识。今天的主要内容是WEB安全的一些基本的认识。

一、WEB安全的地位
   以前一直听说WEB安全如何重要,都没有切身的体会,直到最近自己实际努力去渗透一些网站的时候,才发现这句话的份量。现在已经不同于计算机网络的兴起阶段,系统安全和软件安全都有了很多的防范经验和实现规范,常见的网络服务端口也进行了很好的过滤,使得想要通过Exploit的方式直接拿到目标的root变得越来越难。相反,WEB应用技术却日新月异地得到了发展,一个是准入门槛低,C#、PHP等语言不需要太多时间的学习,就可以熟练使用开发WEB;另一个则是越来越多的应用集成到了WEB中,电子政府、Internet、数据库、网上银行等等。较低的准入门槛plus丰富的应用增长,结果就是从安全角度来看出现了一批参差不齐的网络站点。只要大家去wooyun上检索下结果,就会发现大大小小的企业、运营商、政府门户的漏洞多得吓人。
   另一方面,防火墙的广泛使用,使得远程的攻击者可以接触到目标系统的唯一部分,就是暴露在为的WEB,因此WEB攻击也成为了攻击者们钟爱的方式,比如SQL注入,简单的步骤可以获得目标大量的数据信息,低投入高回报,大家自然趋之若鹜。WEB安全也成为了当今网络安全攻防的硝烟弥漫之地。
   尽管你来我往互相斗法,有一点需要明确:安全是一种动态的过程,而非一个究极的状态。攻防不断互相变化,根据对方的情况作出改变。这点很类似星际,防守的角度来看,必须经常洞悉对手的开局策略,从而采用合适的兵种搭配,没有一种可以放之四海而皆准的战术,不可能一个兵种打到黑。比如人族的基础搭配是MM步兵组合,如果对方重甲单位多,就配合坦克;如果对方空中单位多,就配合维京;如果对方AOE巨像比较多了,MM就不行了,就需要转型机械化+维京。一句话:安全,是随着攻击手段的变化而不断变化的过程,安全强调运营,而非一劳永逸。

二、安全评估
   黑客可以分为黑帽和白帽,“黑帽”当然是那些利用黑客技术为自己牟利的“破坏者”,而“白帽”则是那些掌握黑客技术对抗“黑帽”的人,是互联网安全的维护者。从“白帽”的角度,针对目标系统指定安全方案之前首先要进行安全评估,一般的过程可以分为四个阶段:资产等级划分、威胁分析、风险分析和确认解决方案。
   资产等级划分的主要任务通俗来说就是明确要保护什么。互联网安全的核心问题是数据安全的问题,因此首先要明确各部门数据的重要等级,比如财务数据、人事数据、业务数据、客户信息、项目开发资料等,这些无疑都是极其重要的,明确了要保护的信息,接下来就要分析威胁和风险了。
   威胁是可能造成危害的来源,或者是造成危害的“途径”,可以是某些人,也可以是某个部门或操作的流程、方面。一般可以使用下面的模型进行威胁建模:
-1. 伪装
-2. 篡改
-3. 抵赖
-4. 信息泄露
-5. 拒绝服务
-6. 提升权限
   风险指的是可能出现的损失,风险需要考虑造成的总的危害和发生的概率。可以针对不同的风险设立级别,从而对风险评级。
   设计安全的方案难在设计一个好的解决方案,既能满足客户的业务需求,又能满足系统的安全需求。安全工程师考虑的必须是如何通过简单而有效的方案设计出既能够抵抗威胁,又不会过多地干涉正常业务流程,同时在性能上也不拖后腿的解决方案。一个优秀的安全解决方案应该是:
-1. 能够有效地解决问题;
-2. 用户体验好;
-3. 高性能;
-4. 低耦合(模块间联系紧密性小);
-5. 易于扩展和升级;

三、安全方案设计原则
   这部分主要是设计安全方案时的一些原则,更多地是在实际应用中使用的方法。
-1. Secure By Default原则:即“白名单”原则,设计允许运行的进程或者开发的端口,名单之外的统统拒绝,这样的好处是可以避免“黑名单”上的遗漏,但是同时面临的主要问题是“白名单”内容的确定缺乏灵活性;
-2. 最小权限原则:可信计算机系统设计的基本原则之一,即系统只授予主体必要的权限;
-3. 纵深防御原则:一方面是在不同的层面进行防御,如WEB应用安全、OS安全、数据库安全等层面都进行防御||另一方面则是找到问题发生的确切位置,明了本质,从跟不上解决问题;
-4. 数据与代码分离原则:用户的输入作为数据而非代码运行,如SQL注入防御等,比如代码:

点击(此处)折叠或打开

  1. <html>
  2. <head>example</head>
  3. <body>
  4. $var     //用户能够控制的变量
  5. </body>
  6. </html>
    若$var作为代码执行,则会出现安全问题,安全的方法是:

点击(此处)折叠或打开

  1. <html>
  2. <head>example</head>
  3. <body>
  4. <script>
  5. alert("$var");  //用户只能控制$var,
阅读(3352) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

CU博客助理2014-07-11 15:52:08

专家点评:网络安全是个更为宽广的话题,Web安全是其中之一,就像网络上遵行着各式各样的协议,而HTTP则是人们最为常见的一样。网络并不是现实生活的例外,它也是真实的生活。不论您在挤公交还是在火车站候车,不论您是溜达逛街还是突然收到神秘短信,安全问题无时不在、无处不有,网络中也毫无二致,唯独需要更高的技术和技巧,这令黑帽白帽灰帽趋之若鹜。在帽子展销摊位上,价高的一般都朴素而不惹人瞩目。若想得道,仅仅用肉眼、放大镜或是天文望远镜看到苹果落地是远远不够的,只有掌握背后的《原理》才能杰出,博主便正在这条荆棘之路上奋力追赶着前辈,欲知为何请读博文。(感谢参加原创评选活动,获奖结果即将公布)