• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

E.: A survey of static analysis methods for identifying security vulnerabilities in software systems (2007)

by M Pistoia, S Chandra, S J Fink, Yahav
Venue:IBM Syst. J
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 12
Next 10 →

Flow-sensitive, context-sensitive, and object-sensitive information flow control based on program dependence graphs

by Christian Hammer, Gregor Snelting - INTERNATIONAL JOURNAL OF INFORMATION SECURITY , 2009
"... Information flow control (IFC) checks whether a program can leak secret data to public ports, or whether critical computations can be influenced from outside. But many IFC analyses are imprecise, as they are flow-insensitive, context-insensitive, or object-insensitive; resulting in false alarms. We ..."
Abstract - Cited by 35 (2 self) - Add to MetaCart
Information flow control (IFC) checks whether a program can leak secret data to public ports, or whether critical computations can be influenced from outside. But many IFC analyses are imprecise, as they are flow-insensitive, context-insensitive, or object-insensitive; resulting in false alarms. We argue that IFC must better exploit modern program analysis technology, and present an approach based on pro-gram dependence graphs (PDG). PDGs have been developed over the last 20 years as a standard device to represent information flow in a program, and today can handle realistic programs. In particular, our dependence graph generator for full Java bytecode is used as the basis for an IFC implementation which is more precise and needs less annotations than traditional approaches. We explain PDGs for sequential and multi-threaded pro-grams, and explain precision gains due to flow-, context-, and object-sensitivity. We then augment PDGs with a lattice of security levels and introduce the flow equations for IFC. We describe algorithms for flow computation in detail and prove their correctness. We then extend flow equations to handle declassification, and prove that our algorithm respects monotonicity of release. Finally, examples demonstrate that our implementation can check realistic sequential programs in full Java bytecode.
(Show Context)

Citation Context

... is not context-sensitive, as actual parameters of different calling contexts are merged. A manual correctness proof is available but no implementation or evaluation has been reported. Pistoia et al. =-=[42]-=- survey recent methods for static analysis for software security problems. They focus on stack- and role-based access control, information flow and API conformance. A unified access-control and integr...

Architecting Fault-tolerant Software Systems

by Hasan Sözer , 2009
"... ..."
Abstract - Cited by 7 (2 self) - Add to MetaCart
Abstract not found

D.: Ontology-Based Design Pattern Recognition

by Danko Basch - In: 12th International Conference on Knowledge-Based and Intelligent Information and Engineering Systems (KES’08 , 2008
"... Abstract. This paper presents ontology-based architecture for pattern recognition in the context of static source code analysis. The proposed system has three subsystems: parser, OWL ontologies and analyser. The parser subsystem translates the input code to AST that is constructed as an XML tree. Th ..."
Abstract - Cited by 4 (0 self) - Add to MetaCart
Abstract. This paper presents ontology-based architecture for pattern recognition in the context of static source code analysis. The proposed system has three subsystems: parser, OWL ontologies and analyser. The parser subsystem translates the input code to AST that is constructed as an XML tree. The OWL ontologies define code patterns and general programming concepts. The analyser subsystem constructs instances of the input code as ontology individuals and asks the reasoner to clas-sify them. The experience gained in the implementation of the proposed system and some practical issues are discussed. The recognition system successfully integrates the knowledge representation field and static code analysis, resulting in greater flexibility of the recognition system. Key words: knowledge-based system, ontology-based system, static code analysis, description logics, OWL application, formal pattern definition 1
(Show Context)

Citation Context

...nd thus difficult to detect. Discovery of design patterns, and other types of program features, can be used as a basis for diverse objectives like: bug finding [2]; security vulnerabilities discovery =-=[3]-=-; program model checking [4, 5]; program design recovery and reverse engineering [6]; code optimisation [7]; parallelism discovery [8]; software documentation management [9]. A number of design patter...

Roles, Stacks, Histories: A Triple for Hoare

by Johannes Borgström, Andrew D. Gordon, Riccardo Pucella , 2009
"... Behavioural type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Ins ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
Behavioural type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioural type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioural type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control.

Static Vulnerability Detection in Java Service-Oriented Components

by Guillaume Salagnac, Pierre Parrend, F. Goichon, G. Salagnac
"... Abstract Extensible component-based platforms al-low dynamic discovery, installation and execution of components. Such platforms are service-oriented, as com-ponents may directly interact with each other via the services they provide. Even robust languages such as Java were not designed to handle sa ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
Abstract Extensible component-based platforms al-low dynamic discovery, installation and execution of components. Such platforms are service-oriented, as com-ponents may directly interact with each other via the services they provide. Even robust languages such as Java were not designed to handle safe code interaction between trusted and untrusted parties. Dynamic instal-lation of code provided by different third parties leads to several security issues. The different security layers adopted by Java or component-based platforms cannot fully address the problem of untrusted components try-ing to tamper with other components via legitimate interactions. A malicious component might even use vulnerable ones to compromise the whole component-based platform. Our approach identifies vulnerable components in order to prevent them from threatening services secu-rity. We use static analysis to remain as exhaustive as possible and to avoid the need for non-standard or in-trusive environments. We show that a static analysis through tainted object propagation is well suited to detect vulnerabilities in Java service-oriented compo-nents. We present STOP, a Service-oriented Tainted Object Propagation tool, which applies this technique to statically detect those security flaws. Finally, the au-dit of several trusted Apache Felix bundles shows that nowadays component-based platforms are not prepared for malicious Java interactions.
(Show Context)

Citation Context

...static analysis in SQL Injection detection by transforming the class files to perform security checks at runtime. Tainted Object Propagation. Tainted object propagation is a kind of dataflow analysis =-=[16]-=-. Dataflow analysis is designed to handle complex application behaviors, including interprocedural behaviors or determining the range of possible values. Tainted object propagation is the main dataflo...

Deploying Static Application Security Testing on a Large Scale

by Achim D. Brucker, Uwe Sodan
"... Abstract: Static Code Analysis (SCA), if used for finding vulnerabilities also called Static Application Security Testing (SAST), is an important technique for detecting software vulnerabilities already at an early stage in the software development life-cycle. As such, SCA is adopted by an increasin ..."
Abstract - Cited by 1 (1 self) - Add to MetaCart
Abstract: Static Code Analysis (SCA), if used for finding vulnerabilities also called Static Application Security Testing (SAST), is an important technique for detecting software vulnerabilities already at an early stage in the software development life-cycle. As such, SCA is adopted by an increasing number of software vendors. The wide-spread introduction of SCA at a large software vendor, such as SAP, cre-ates both technical as well as non-technical challenges. Technical challenges include high false positive and false negative rates. Examples of non-technical challenges are the insufficient security awareness among the developers and managers or the integra-tion of SCA into a software development life-cycle that facilitates agile development. Moreover, software is not developed following a greenfield approach: SAP’s security standards need to be passed to suppliers and partners in the same manner as SAP’s customers begin to pass their security standards to SAP. In this paper, we briefly present how the SAP’s Central Code Analysis Team intro-duced SCA at SAP and discuss open problems in using SCA both inside SAP as well as across the complete software production line, i. e., including suppliers and partners. 1

Security Vulnerabilities

by Marco Pistoia Ph. D, Service Misuse
"... � Hardware, software, and network security to ..."
Abstract - Add to MetaCart
� Hardware, software, and network security to

END-TO-END INFORMATION FLOW SECURITY FOR JAVA

by Mark Andrew Thober , 2007
"... The increasing digitalization of individual, business, and government information leads to more sensitive information being used in computer systems. This results in the requirement for modern systems to ensure that sensitive information is not leaked. Infor-mation flow control is a programming lang ..."
Abstract - Add to MetaCart
The increasing digitalization of individual, business, and government information leads to more sensitive information being used in computer systems. This results in the requirement for modern systems to ensure that sensitive information is not leaked. Infor-mation flow control is a programming language-based mechanism that focuses on securing the dissemination of information through programs. Information flow type systems aim to statically guarantee that programs do not permit leaks of sensitive information to unautho-rized locations. This dissertation focuses on improving the usability of information flow type sys-tems, and on developing a new technique for proving a static information flow system is correct. We present a static information flow type inference system for Middleweight Java (MJ) that automatically infers information flow labels, thus avoiding the need for a multi-tude of program annotations. Additionally, policies need only be specified on IO channels, the critical flow boundary. Our type system includes a high degree of parametric polymor-phism, necessary to allow classes to be used in multiple security contexts, and to properly
(Show Context)

Citation Context

...approach is that it provides a much more succinct definition. Further, PDG-based analyses tend not to scale as well to more realistic languages and large applications, and are much less compositional =-=[PCFY07]-=-. In comparison, our type system analyzes each class definition only once, in isolation, and the constraint closure works over a program’s global constraint set. 5.1 Declassification Since declassific...

interfaces; D.2.4 [Software Engineering] Software/Program Verification — Assertion checkers, formal methods, programming by contract; D.3.2 [Programming Languages] Language Classifications — Objectoriented

by Carlos E. Rubio-medrano, Yoonsik Cheon, Carlos E. Rubio-medrano, Yoonsik Cheon , 2010
"... Abstract—Application-level security has become an issue in recent years; for example, errors, discrepancies and omissions in the specification of access control constraints of security-sensitive software components are recognized as an important source for security vulnerabilities. We propose to for ..."
Abstract - Add to MetaCart
Abstract—Application-level security has become an issue in recent years; for example, errors, discrepancies and omissions in the specification of access control constraints of security-sensitive software components are recognized as an important source for security vulnerabilities. We propose to formally specify access control assumptions or constraints of a program module and enforce them at run-time. We call such specifications access control contracts. To realize access control contracts, we extended the JML language, a formal interface specification language for Java, and developed a prototype support tool that translates access control contracts to runtime checks. The access control contract reduces the vulnerability that a security-sensitive module be exploited to compromise the overall security of a software system. It also facilitates practicing the principle of “security by design ” by
(Show Context)

Citation Context

...he components to assure their conformance to the security requirements of the application. In fact, this has been recognized as a potential cause of security vulnerabilities for many software systems =-=[4]-=-. The problem is that an improper description of a component’s behavior may lead to an application developer to inaccurately establish a series of security measures, which may fail to capture all poss...

Internally reviewed by (name/

by Call Fp-ict , 2011
"... Aniketos is about establishing and maintaining trustworthiness and secure behaviour in a constantly changing service environment. The project aligns existing and and security services that support the design services, addressing service developers, service providers and service end users. This deliv ..."
Abstract - Add to MetaCart
Aniketos is about establishing and maintaining trustworthiness and secure behaviour in a constantly changing service environment. The project aligns existing and and security services that support the design services, addressing service developers, service providers and service end users. This deliverable describes models and methodologies for managing trust for services, mainly reporting the results of the first two tasks in WP2. A specific focus is on the compositional aspects of services as well as in their dynamic nature. D2.1 investigates trust as a multi mechanisms such as certification and Security trustworthiness of the composite services while user trust among users of a service development and runtime trust monitoring of composite services. Additionally, patterns and guidelines for establishing trust are defined to support service developers in designing systems that trustworthy experience for end users. PU Public CO Confidential, only for members of the consortium (including Commission Services)-2013) under grant agreement n ° 257930
(Show Context)

Citation Context

...mmands”. Therefore, state ofsthe art static code analysis tools try to take the context in which a potential dangerous programmingsconstruct is used into account.sStatic code analysis approaches (see =-=[75, 77]-=- for an overview of such approaches) for analysingssecurity and trust properties usually work on abstractions of the source code such as control flowsgraph (i.e. a compact representation of the set of...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University