OWASP 2010胡振宇:基于语义的WEB访问安全检测

【.com 独家报道】OWASP 2010中国峰会已经圆满结束了。那么在这个大会上,各个专家都做了精彩绝伦的演讲。现在让我们回顾一下胡振宇关于《基于语义的WEB访问安全检测》的相关报道吧。更多内容请关注: OWASP 2010中国峰会专题报道。

Validating web accessing with sematic constraints

胡振宇:基于语义的WEB访问安全检测。在这里面主要是技术知识。我们都在做技术方面的工作,今天我就和大家交流纯技术方面的问题。

我今天给大家分享一下,大概分享下列几个内容,第一个是简单地一些攻击和防范措施。第二个提一些思路,怎么从语义方面处理一些外部安全问题,再做一些语义检测方面的算法,最后谈谈我们未来的发展。

我们先来简要地回顾一下外部应用的体系结构,这些都是很清楚的,一般是分三个方面的架构,一个是浏览器,一个是WEB程序,还有一个加上后台服务器,访问是通过访问器再到后台的服务器再返回来以示范的形式展现出来。

典型的攻击刚才第一个演讲人讲的,在澳大利亚第一位。现在这样一个,在这边有两个,一个是名字的,一个是类型的。它的意思就是要查询一个数据库里面的信用卡的卡号。

那么对于一个合法的用户来说,我们一般的情况下,依照页面的要求来输,比如在名词里面输1,在卡的类型里面输2就行了,就出查出一个叫John人的帐号。所有的信用卡后都会查出来,最后一句尽管这样解释,这样一般关健词,后面的外语句,对于这些典型的攻击我们有一些措施。一个方法就是过滤,把攻击行为的关健词提出来或者过滤较,把尖括号或者标签,或者关掉,这是一个措施。

另外一个措施是转译,把典型的关键的字符转换掉,替换。第三就是通过编码,把原字符进行编码转换。这里面具体的意思我们不做解释,因为时间有限。这些通常都出现过。出了哪些模式匹配以后,通过更严格的通过合法的检查用户是否合法。大家看用户输入的数据体现的位置,对于恶意的攻击,他如果输入了恶意的代码这样的一个区域以后,产生的语法是这样的。这个语法数(音译)和原始的差别很大了,你会发现不同构造,这是一个比较复杂的方法。

用语法检查,这是一个简单的页面,比如你查《红楼梦》,这个书的定价是50块钱,左边是页面的原代码,这里面有三个欲,这个隐藏欲输入的价钱,真正的页面显示的50是后面的字符显示的文本字符,当你输入数量以后,网站根据你的数量自动乘以50,真正的语法结构你要输入一个2,《红楼梦》输入以后出现一个2。一个恶意的攻击者可能会篡改,你察看原代码就可以把这个网页篡改了,如果把隐藏篡改掉了,把50改成5,那这个最后语句就变了,我们看,这里不管是最后隐藏的欲是5还是50,那么生成的语法结构是一样的,但是生成的语义是不一样的。买了两本书花了100块钱,篡改了以后买了两本书花了10块钱,语义不一样,单独从语法来看不能解决问题。

现在呢,假如还是第一个问题,它的信用卡卡号的问题,在用户名这里输入John,但是他现在不输入2,输入1+1,这样提交以后会产生什么样的结果呢?提交以后解释出来的是这样的,大家看看后面多了一点,这个1+1提价到服务器有一个解释,会自动算成二,从语法术的解析来看,这个语法术的结构也变化了。但是语义没有变化。像刚开始那个女士讲的,它是攻击改变了原来语法器的意思,改了语义的结构。

所以说,我们就提出最终要通过语意安全,要接受什么样的表达式我这个程序才能运行,但是语法关注这个程序怎么运行,所以我们认为安全问题根本上是语义的问题。如果你符合这个语义了,语义是安全的,否则就是不安全的。用户输入那些词,经过一个变换,变换成可以被后台的一些应用来接受的一些表达式,比方说,数据库接受了语句,经过一个应用服务其把它变换一下。

那么我们说语义安全就是看经过应用程序变换以后的表达式它是不是符合应用开发人员最终设计的那个语意,如果符合了就语义安全了,否则就不安全。我们还是根据最根本的和程序到底做什么,结果来判断它的行为。我们怎么做语义方面的东西呢,我们从这个结果知道,一个程序的语义,首先形成完整的语义必须语法合法,我们就可以通过程序的原理定义一个语法结构,一旦程序他总的来说表达式,这个程序它的语意最终是由语法结构来共同描述和形成的,我们就可以像描述语法结构那样把语义描述出来。我们要考察这个程序的语义,我们就可以通过来约束语法术里的语义,更具体地说一点,我们需要把那些需要用户复制的可变的借鉴,把他们的语意约束,整个程序的语意就被控制。

现在我们看,我们把这样说了以后,把语法术里面用语义说出来,就变成了语义模板,我们在这边把他们的语义在这个东西出现了,一个是涨停的数据,就可以限定它的语义。你用整合的约束的话,它的攻击就不能够得逞。比如刚才那个定单的例子说,我对里面隐藏的例子可以进行一个约束,限价是50,你不能改,你改了就不行。

这个等于每一个用户的请求,最后转化成请求,我们通过把用户的请求变规范,从这里面来点击看看他是不是符合,我们怎么做这个事情呢,我们可以通过下面几个办法第一个步骤,解析语法。语法出来把它最新的砍掉,把语义数进行对比,这就可以比他们是否可以同构,用户完全可以被限定在语义里面,否则就出现语义偏差。如果真正从国际后台做到解析语法可能比较复杂,我们可以通过前台的输入来进行一些校验,形成用户输入的模板。这里面的页面我们可以限定他的类型,他的值是《红楼梦》不允许你修改,特别是最下面,用户是隐藏看不见可能没办法操作,他通过修改原代码的分析,这里面也要写校验,特别它限定的是50,这个就不能改,这个就可以防止页面篡改的东西。简单地说各种攻击都可以防,表面修改或者pass攻击,我们刚才说了,城市的攻击是最终的语义的问题,这个能解决很多很多问题吧。

目前来说,我们要做这个工作,只是做了一些简单的不完善的测试,还遇到了一些问题,这个问题遇到了以下几个方面,一个是怎么建立语义模板,你可以经过审查原代码解决,当然这是最好的办法。当然你遇到比较大的这是不太理想的,你可以开发自动化,自动建立,自动建立到底建立得好与坏这个不能保证,我们提倡两个码结合,可以开发一些工具,最后去校验。

我们下一步的工作把我们的技术进行更深入的评估,再发布,好了,我给大家交流的就是这些,谢谢大家。

【编辑推荐】

  1. OWASP 2010范渊:中国WEB安全5年发展历程及趋势与挑战
  2. OWASP 2010中国峰会——OWASP中国主席Tom Brennan精彩致辞
  3. OWASP 2010中国峰会 现场演讲嘉宾介绍
  4. OWASP 2010中国峰会现场图文集锦

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/131280.html<

(0)
运维的头像运维
上一篇2025-02-26 11:37
下一篇 2025-02-26 11:38

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注