On Building a Dynamic Security Vulnerability Detection System Using Program Monitoring Technique

On Building a Dynamic Security Vulnerability Detection System Using Program Monitoring Technique
Author: Zhenrong Yang
Publisher:
Total Pages: 0
Release: 2008
Genre:
ISBN:

This thesis presents a dynamic security vulnerability detection framework that sets up an infrastructure for automatic security testing of Free and Open Source Software (FOSS) projects. It makes three contributions to the design and implementation of a dynamic vulnerability detection system. Firstly, a mathematical model called Team Edit Automata is defined and implemented for security property specification. Secondly, an automatic code instrumentation tool is designed and implemented by extending the GNU Compiler Collection (GCC). The extension facilitates seamless integration of code instrumentation into FOSS projects' existing build system. Thirdly, a dynamic vulnerability detection system is prototyped to integrate the aforementioned two techniques. Experiments with the system are elaborated to automatically build, execute, and detect vulnerabilities of FOSS projects. Overall, this research demonstrates that monitoring program with Team Edit Automata can effectively detect security property violation.

Dynamic Vulnerability Assessment and Intelligent Control

Dynamic Vulnerability Assessment and Intelligent Control
Author: José Luis Rueda-Torres
Publisher: John Wiley & Sons
Total Pages: 452
Release: 2018-01-25
Genre: Technology & Engineering
ISBN: 1119214971

Identifying, assessing, and mitigating electric power grid vulnerabilities is a growing focus in short-term operational planning of power systems. Through illustrated application, this important guide surveys state-of-the-art methodologies for the assessment and enhancement of power system security in short term operational planning and real-time operation. The methodologies employ advanced methods from probabilistic theory, data mining, artificial intelligence, and optimization, to provide knowledge-based support for monitoring, control (preventive and corrective), and decision making tasks. Key features: Introduces behavioural recognition in wide-area monitoring and security constrained optimal power flow for intelligent control and protection and optimal grid management. Provides in-depth understanding of risk-based reliability and security assessment, dynamic vulnerability assessment methods, supported by the underpinning mathematics. Develops expertise in mitigation techniques using intelligent protection and control, controlled islanding, model predictive control, multi-agent and distributed control systems Illustrates implementation in smart grid and self-healing applications with examples and real-world experience from the WAMPAC (Wide Area Monitoring Protection and Control) scheme. Dynamic Vulnerability Assessment and Intelligent Control for Power Systems is a valuable reference for postgraduate students and researchers in power system stability as well as practicing engineers working in power system dynamics, control, and network operation and planning.

Detect Program Vulnerabilities Using Trace-based Security Testing

Detect Program Vulnerabilities Using Trace-based Security Testing
Author: Dazhi Zhang
Publisher:
Total Pages:
Release: 2011
Genre: Application software
ISBN:

Software vulnerabilities are program flaws that can be exploited by attackers to compromise the security of a software system. Although many approaches have been proposed to detect or prevent software attacks, software security incidents continue to occur every year. Security testing aims at detecting program vulnerabilities through a set of test cases and has shown to be effective to detect program vulnerabilities. The primary challenge is how to efficiently produce test cases that are highly effective in detecting vulnerabilities. This dissertation proposes trace-based security testing approaches towards addressing some fundamental challenges in security testing. The first study is to use trace-based symbolic execution and satisfiability analysis to detect C program vulnerabilities. A security testing model is proposed to unify program states and security requirements into logical expressions. Specifically, program constraints (PC), i.e., all possible values of program variables at a given point in an execution, are derived from symbolic execution on the trace. Security constraints (SC), i.e., secure values of program variables at security critical points of the program, are derived from security knowledge. Both PC and SC are represented in first order logic. Therefore, the satisfiability of predicate PC SC indicates a program vulnerability. A tool named SecTAC has been developed and applied to test several open source C programs. Many known and unknown vulnerabilities have been detected. The second study is a novel fuzzing approach that aims to test deep program semantics through the analysis of program execution trace. Intuitively, program execution trace reflects the semantics of program input data from the program's point of view. This study proposes a test case similarity metric to model the semantic similarity between well-formed input data and its mutations. Such similarity is used to direct a two-stage fuzzing process to produce more test cases that are more likely to explore deep program semantics. A prototype tool named SimFuzz is developed to test real programs, and the experimental result shows that deep program semantics can be extensively tested compared to traditional fuzzing approaches. The third study is to utilize end user data for security testing as well as provide timely protection to end users. The idea is to monitor how program paths are explored by benign user data or malicious exploits. Once a new path is being explored, it is sent to testing site for security testing using trace-based security testing. Several techniques are proposed to make the system feasible in practice. First, tree-based bit tracing is proposed to reduce user site overhead and preserve user privacy. Second, conditional runtime monitor is proposed to ensure user security while reduce latency. Third, test decomposition is proposed to reduce space overhead. A prototype system named SecTOD has been developed and applied to test the Apache server program. The result shows that it is effective in terms of vulnerability detection and efficient in terms of computation and space overhead. Overall, this dissertation proposes trace-based security testing and studies techniques to (1) reuse existing test cases for security testing (2) extensively test deep program semantics (3) utilize end user data for security testing as well as protect end user security. These studies show that trace-based security testing approach is a promising technique for security testing in sense of effectiveness and efficiency.

Dynamic Vulnerability Assessment and Intelligent Control

Dynamic Vulnerability Assessment and Intelligent Control
Author: José Rueda-Torres
Publisher:
Total Pages: 448
Release: 2018
Genre: Computer networks
ISBN:

Identifying, assessing, and mitigating electric power grid vulnerabilities is a growing focus in short-term operational planning of power systems. Through illustrated application, this important guide surveys state-of-the-art methodologies for the assessment and enhancement of power system security in short term operational planning and real-time operation. The methodologies employ advanced methods from probabilistic theory, data mining, artificial intelligence, and optimization, to provide knowledge-based support for monitoring, control (preventive and corrective), and decision making tasks. Key features: Introduces behavioural recognition in wide-area monitoring and security constrained optimal power flow for intelligent control and protection and optimal grid management. Provides in-depth understanding of risk-based reliability and security assessment, dynamic vulnerability assessment methods, supported by the underpinning mathematics. Develops expertise in mitigation techniques using intelligent protection and control, controlled islanding, model predictive control, multi-agent and distributed control systems Illustrates implementation in smart grid and self-healing applications with examples and real-world experience from the WAMPAC (Wide Area Monitoring Protection and Control) scheme. Dynamic Vulnerability Assessment and Intelligent Control for Power Systems is a valuable reference for postgraduate students and researchers in power system stability as well as practicing engineers working in power system dynamics, control, and network operation and planning.

Understanding and Identifying Vulnerabilities Related to Architectural Security Tactics

Understanding and Identifying Vulnerabilities Related to Architectural Security Tactics
Author: Joanna Cecilia Da Silva Santos
Publisher:
Total Pages: 137
Release: 2021
Genre: Object-oriented methods (Computer science)
ISBN:

"To engineer secure software systems, software architects elicit the system's security requirements to adopt suitable architectural solutions. They often make use of architectural security tactics when designing the system's security architecture. Security tactics are reusable solutions to detect, resist, recover from, and react to attacks. Since security tactics are the building blocks of a security architecture, flaws in the adoption of these tactics, their incorrect implementation, or their deterioration during software maintenance activities can lead to vulnerabilities, which we refer to as "tactical vulnerabilities". Although security tactics and their correct adoption/implementation are crucial elements to achieve security, prior works have not investigated the architectural context of vulnerabilities. Therefore, this dissertation presents a research work whose major goals are: (i) to identify common types of tactical vulnerabilities, (ii) to investigate tactical vulnerabilities through in-depth empirical studies, and (iii) to develop a technique that detects tactical vulnerabilities caused by object deserialization. First, we introduce the Common Architectural Weakness Enumeration (CAWE), which is a catalog that enumerates 223 tactical vulnerability types. Second, we use this catalog to conduct an empirical study using vulnerability reports from large-scale open-source systems. Among our findings, we observe that "Improper Input Validation" was the most reoccurring vulnerability type. This tactical vulnerability type is caused by not properly implementing the "Validate Inputs" tactic. Although prior research focused on devising automated (or semi-automated) techniques for detecting multiple instances of improper input validation (e.g., SQL Injection and Cross-Site Scripting) one of them got neglected, which is the untrusted deserialization of objects. Unlike other input validation problems, object deserialization vulnerabilities exhibit a set of characteristics that are hard to handle for effective vulnerability detection. We currently lack a robust approach that can detect untrusted deserialization problems. Hence, this dissertation introduces DODO untrusteD ObjectDeserialization detectOr), a novel program analysis technique to detect deserialization vulnerabilities. DODO encompasses a sound static analysis of the program to extract potentially vulnerable paths, an exploit generation engine, and a dynamic analysis engine to verify the existence of untrusted object deserialization. Our experiments showed that DODO can successfully infer possible vulnerabilities that could arise at runtime during object deserialization."--Abstract.

Improving Software Security With Concurrent Monitoring, Automated Diagnosis, and Self-shielding

Improving Software Security With Concurrent Monitoring, Automated Diagnosis, and Self-shielding
Author: Qiang Zeng
Publisher:
Total Pages:
Release: 2014
Genre:
ISBN:

The society nowadays relies heavily on digitized information and services. Among others,cyber-security is one of the cornerstones of the digital world. The reality is that everydaynumerous computer systems are compromised, and that sensitive information is leaked,corrupted or forged. It does not only cause massive loss, but also hurts the confidenceof people over digitized information processing, such as electronic commerce, digitalhospitals, and online banking.In order to enhance software security, the status of program execution is usuallychecked and verified, aiming at detecting anomalies and cyber-attacks in their earlystages. Once an intrusion is detected, the service provider needs to diagnose the attackand fix the issue promptly.Although the procedure of monitoring, diagnosing, and fixing is widely adopted whendealing with software failures as well as security incidents, there exist many unresolvedissues in each of the actions. First, security checking and verification interleave withfunctional code, and thus slow down program execution; in reality, security is frequentlysacrificed for the sake of speed. Second, enterprise software is complicated, comprisingmillions of lines of code and a whole stack of intricate components. Once an anomaly isdetected, it is like looking for a noodle in a haystack to diagnose an attack and figure outthe root cause. Third, after a software vulnerability is reported, patch generation by thesoftware company is a lengthy process, which leaves the system vulnerable to attacks fora long time.Our work is devoted to making the procedure of monitoring, diagnosing and fixingmore efficient and intelligent. We thus proposed, built, and evaluated techniques towardsconcurrent monitoring, automated diagnosis, and instant defense generation.First, in order to resolve the tension between security checking and performanceoptimization, we propose a novel concurrent monitoring technology, named softwarecruising, which separates security checking from program functionality computationand runs them on separate processors or cores. It enforces monitoring in a concurrentand non-blocking fashion, and is featured with high efficiency and scalability. Unlikeconventional security techniques, which usually trade effect for efficiency, softwarecruising satisfies both the monitoring effect and efficiency needs.Next, one of the main reasons that diagnosis is time-consuming is the lack of criticalinformation in logs. Among a variety of runtime information, the calling context, i.e., thesequent of functions on the call stack, is especially useful; it provides precise informationabout which components are connected to the anomalies. While some techniques havebeen proposed to track calling context efficiently, they lack a reliable and precise decodingcapability; or they work only under restricted conditions, that is, small programs withoutobject-oriented programming or dynamic component loading. These shortcomings havelimited the application of calling context tracking in practice. We propose an encodingtechnique, named DeltaPath, without those limitations: it provides precise and reliabledecoding, supports large-sized programs, both procedural and objected-oriented ones,and copes with dynamic class/library loading. The technique thus enables calling contexttracking in a wide variety of scenarios.Finally, We present a new form of defense generation for implementing self-shieldingsoftware. Given an instance of exploitation of a software vulnerability, a defense can begenerated (without resorting to the software company) instantly and automatically. Wehave applied the technique to dealing with buffer overrun bugs, such as the Heartbleedvulnerability. Our insight is that, given a buffer overrun bug, the buffers that can beoverrun share the same calling context when they were allocated. Based on the obser-vation, we creatively utilize the calling context encoding technique to characterize anddistinguish heap buffers that can be exploited by attacker, and apply costly enhance-ment precisely to those problematic buffers. We present HeapTherapy, a heap memoryallocator that performs the characterization and installs defenses automatically. Ourexperiments illustrate that by applying HeapTherapy Nginx server becomes immune tothe Heartbleed attack. Moreover, HeapTherapy defeats various other real-world overflowattacks and the slowdown averages only 6% on SPEC CPU2006.By leveraging rich computation resources in multicore architectures as well as tech-niques such as virtualization, software cruising performs non-blocking monitoring withminimal performance penalty. Due to the availability of critical runtime information,diagnosis becomes directed and precise. The instant defense generation represents apromising direction for implementing self-shielding software. The evaluation showsthat software security can be significantly enhanced through concurrent monitoring,intelligent anomaly diagnosis, and instant defense generation.

19th International Conference on Cyber Warfare and Security

19th International Conference on Cyber Warfare and Security
Author: Prof Brett van Niekerk
Publisher: Academic Conferences and publishing limited
Total Pages: 634
Release: 2024-03-25
Genre: Computers
ISBN: 1914587979

These proceedings represent the work of contributors to the 19th International Conference on Cyber Warfare and Security (ICCWS 2024), hosted University of Johannesburg, South Africa on 26-27 March 2024. The Conference Chair was Dr. Jaco du Toit, University of Johannesburg, South Africa, and the Program Chair was Prof Brett van Niekerk, from Durban University of Technology. South Africa. ICCWS is a well-established event on the academic research calendar and now in its 19th year, the key aim remains the opportunity for participants to share ideas and meet the people who hold them. The scope of papers will ensure an interesting two days. The subjects covered this year illustrate the wide range of topics that fall into this important and ever-growing area of research.