共查询到20条相似文献,搜索用时 156 毫秒
1.
云服务及mapreduce计算环境下数据安全问题日益突显,针对HDFS已有保护方法如认证授权,数据加密,访问控制和审计方法都不能保证敏感数据端到端的安全性,首先,提出了一个用于HDFS的安全代数语言SALH(Security Algebra Language for HDFS),给出了SALH的语义和语法。其次,采用SALH形式化描述了HDFS信息流跟踪和控制模型并证明了模型的无干扰安全性。最后,给出了原型系统IF-HDFS设计与实现关键技术,原型系统的功能和性能测试结果表明IF-HDFS可实时、有效、准确地实现信息流跟踪与控制。 相似文献
2.
3.
SQL(Structured Query Language)注入是一种常用且易于实施的攻击手段,对Web应用程序的安全构成严重危害.通过分析SQL注入攻击的原理,提出一种基于程序分析技术的SQL注入防御原型系统.该系统以静态分析为基础,对污染数据进行跟踪,并为包含污染数据的SQL语句建立合法查询自动机模型,然后以此作为被测程序的探针,进行动态测试,跟踪并记录程序的执行情况.系统的实现针对Java的Web应用程序,不需要修改服务器以及数据库平台的配置.实验表明,该系统具有较好的防范SQL注入的效果和较低的运行开销. 相似文献
4.
污点分析技术常用于跟踪二进制程序的信息流及检测安全漏洞,通过程序的动态执行来检测程序中由测试用例触发的漏洞。它的误报率很低,但是漏报率较高。针对污点分析的这一问题,动态符号化污点分析方法对污点分析进行了改进,通过将污点分析符号化来降低漏报率。根据基于指令的污点传播来获得相关污点数据的信息,同时制定符号化的风险分析规则,通过检测污点信息是否违反风险规则来发现存在的风险。实验结果表明,该方法不仅具有污点分析低误报率的优点,而且克服了污点分析高漏报率的缺点。在污点分析过程中产生的漏洞、风险及相关污点信息还可用于指导测试用例的生成,提高测试效率并降低测试用例的冗余。 相似文献
5.
6.
当前,智能手机平台面临着众多的安全威胁.动态信息流追踪是一种能够检测缓冲区溢出等安全威胁的有效技术.文中分析了动态信息流追踪技术的基本原理,设计并实现了基于ARM架构的信息流追踪系统.该系统通过在页表项上扩展添加污点标记位来标识来自不可信数据源的数据,扩充ARM架构指令集,在指令层追踪数据的传播过程并相应地完成污点传播.当系统跳转到来自不可信数据源的内存段执行时,CPU将产生异常通知用户,根据系统安全策略决定是否允许该操作继续执行.研究表明该系统能够有效实现ARM架构智能平台的安全防护. 相似文献
7.
8.
SQLIA漏洞破坏Web后台数据库的完整性,一直是Web应用安全的主要威胁。提出一种检测和验证Java Web程序的SQLIA漏洞的解决方案,将静态分析与动态验证相结合,并且形式化定义指令级污点传播操作语义,能够有效跟踪跨文件和跨页面的污点传播。静态分析首先对Source进行预处理和分类得到真实可靠的Source集合,然后应用方法、请求、会话、方法调用等多重关系匹配潜在的Source和Sink对,使得分析过程可以过滤无关Source和Sink,最后结合静态污点分析和活跃变量分析排除不可能存在污点传播路径的Source和Sink。动态验证首先对程序插桩,然后在执行程序的同时进行动态污点传播并生成Trace,基于Trace验证静态分析结果的正确性,获得真实污点传播路径的漏洞集合。原型系统基于Soot框架实现,对若干开源程序的实验结果表明了方法的有效性。 相似文献
9.
强制访问控制是保护数据库管理系统安全的有效机制.DMOSMAC是一个依赖于安全操作系统实现强制访问控制机制的数据库管理系统.在分析该系统实现的基础上,对该系统进行了形式化分析.给出了信息流的概念,将信息流集合作为被验证系统状态的一部分.信息流集合始终是一个递增的集合,利用信息集合流可防止删除等操作的证明被绕过的可能,保证验证过程的严密性.在信息流的基础上提出了一种对系统代码进行抽象、抽取的形式化分析方法.即抽象DMOSMAC系统状态,从源代码中提取操作规则,将BLP模型中的状态、访问规则分别与DMOSMAC系统的状态、操作规则建立映射关系,BLP模型中简单安全性和*-特性转换为面向信息流的状态不变式,继承BLP模型的相关安全公理和定理进行分析和证明;最后用定理证明器COQ进行安全性证明的方法. 相似文献
10.
组合Web服务的业务流程可以通过有限状态自动机来描述。传统的组合Web服务采用集中式的执行方式,它会带来不必要的网络流量和数据堵塞,造成大量的通信开销。提出一种基于有限状态自动机的非集中式的执行策略,在自动机的状态空间中运用启发式搜索算法执行总体代价最优的路径,从而有效减少消息传递数量,提高系统吞吐量。基于该方案设计了一个原型系统来验证系统整体性能的最优化。 相似文献
11.
12.
Java反序列化漏洞已经成为当下Java应用安全的常见威胁,其中能够找到反序列化利用链是该类型漏洞能否利用的关键.由于Java应用及依赖库的代码空间大和Java本身多态的问题,人工分析Java反序列化利用链,需消耗大量的时间和精力,且高度依赖分析人员的经验知识.因此,研究如何高效且准确地自动化挖掘反序列化利用链至关重要... 相似文献
13.
R. Kelly Rainer Jr. Ph.D. Thomas E. Marshall Ph.D. Kenneth J. Knapp Ph.D. Gina H. Montgomery Ph.D. 《Information Security Journal: A Global Perspective》2013,22(2):100-108
On a Windows platform it is possible to inject a DLL into a running process creating a new thread of execution within an authorized process. Security tools monitoring or examining DLLs loaded into the memory space of a given process rely on policies to determine the validity of the library. Two approaches to the policy specification include “all or nothing” and “per executable” rules also referred to as a run-time security policy. Developing the run-time policy requires the running of every executable for a period of time to train the system. An alternative to the training method of the run-time approach is to determine ahead of time which DLL should be loaded before execution. A tool called LibMon was developed to monitor loading of libraries by running applications. A heuristic search algorithm was created based on the analysis of the data collected with LibMon. 相似文献
14.
针对基于功能验证和侧信道分析的硬件安全漏洞检测方法的不足,提出了一种结合Yosys形式化验证能力和门级信息流追踪方法对集成电路设计进行安全验证和漏洞检测的方案.首先,使用Yosys对硬件电路设计进行逻辑综合,生成门级网表.其次,为电路设计中各信号的每个比特位添加污染标签,并采用二进制位粒度的污染标签传播策略为基本逻辑单元生成门级信息流模型,进而以此为基本单元构建整个电路的信息流模型.然后,描述电路设计中关键数据的机密性和完整性属性,并将其映射为Yosys可识别的安全约束.最后,结合Yosys和电路的信息流模型对电路设计的安全属性进行验证,安全验证中捕捉到违反安全属性的事件,即表明硬件设计中存在安全漏洞.实验表明,该方法能够准确检测到AES加密电路中植入的一种可满足性无关项木马.实验结果验证了该方法能够在不依赖功能验证和侧信道分析的前提下检测到安全漏洞,因而适用范围更广. 相似文献
15.
16.
17.
Web程序的安全威胁主要是由外部输入未验证引发的安全漏洞,如数据库注入漏洞和跨站脚本漏洞,动态污点分析可有效定位此类漏洞。提出一种基于对象跟踪的动态分析方法,与现有动态方法跟踪字符和字符串对象不同,追踪所有可能被污染的Java对象。方法应用对象哈希值表示污点对象,定义方法节点和方法坐标记录污点传播时的程序位置,支持污点传播路径追踪,针对Java流对象装饰模式提出流家族污点传播分析。方法设计一种语言规范对Java类库中污点传播相关的方法集合以及用户自定义方法建模,按照污点引入、传播、验证和使用,对方法集分类后设计和形式化定义各类方法的污点传播语义。在SOOT平台实现对J2EE源码或字节码插桩框架,使用静态分析计算可达方法集以减少插桩规模,应用原型系统对真实网站的测试结果表明该方法可有效发现注入漏洞。 相似文献
18.
随着安全协议形式化分析技术的不断发展,利用工具自动验证虽已得到实现,但建模环节仍需依赖专业人员手工建模,难度大且成本高,限制了此技术的进一步推广。为了提高建模的自动化程度,提出了依据安全协议代码进行形式化模型辅助生成的方案。首先,使用污点分析获取协议的通信流程,并且记录密码学原语操作;然后,根据通信流程之间的序列关系构建协议通信状态机;最终,根据目前主流的安全协议形式化分析工具Tamarin的模型语法生成形式化模型。实验结果表明,此方案可以生成形式化模型中的关键部分,提高了形式化建模的自动化程度,为形式化分析技术的推广作出贡献。 相似文献
19.
A system based on the notion of a flow graph is used to specify formally and to implement a compiler for a lazy functional language. The compiler takes a simple functional language as input and generates C. The generated C program can then be compiled, and loaded with an extensive run-time system to provide the facility to experiment with different analysis techniques. The compiler provides a single, unified, efficient, formal framework for all the analysis and synthesis phases, including the generation of C. Many of the standard techniques, such as strictness and boxing analyses, have been included. 相似文献
20.
Eva Rose 《Journal of Automated Reasoning》2003,31(3-4):303-334
In this paper, we provide a theoretical foundation for and improvements to the existing bytecode verification technology, a critical component of the Java security model, for mobile code used with the Java “micro edition” (J2ME), which is intended for embedded computing devices. In Java, remotely loaded “bytecode” class files are required to be bytecode verified before execution, that is, to undergo a static type analysis that protects the platform's Java run-time system from so-called type confusion attacks such as pointer manipulation. The data flow analysis that performs the verification, however, is beyond the capacity of most embedded devices because of the memory requirements that the typical algorithm will need. We propose to take a proof-carrying code approach to data flow analysis in defining an alternative technique called “lightweight analysis” that uses the notion of a “certificate” to reanalyze a previously analyzed data flow problem, even on poorly resourced platforms. We formally prove that the technique provides the same guarantees as standard bytecode safety verification analysis, in particular that it is “tamper proof” in the sense that the guarantees provided by the analysis cannot be broken by crafting a “false” certificate or by altering the analyzed code. We show how the Java bytecode verifier fits into this framework for an important subset of the Java Virtual Machine; we also show how the resulting “lightweight bytecode verification” technique generalizes and simulates the J2ME verifier (to be expected as Sun's J2ME “K-Virtual machine” verifier was directly based on an early version of this work), as well as Leroy's “on-card bytecode verifier,” which is specifically targeted for Java Cards. 相似文献