Programmable Logic Controllers (PLCs) have been widely used in real-time and embedded control applications including safety-critical control systems. Due to their ubiquity and network connectivity, PLCs are prone to v...
详细信息
ISBN:
(纸本)9781538646465
Programmable Logic Controllers (PLCs) have been widely used in real-time and embedded control applications including safety-critical control systems. Due to their ubiquity and network connectivity, PLCs are prone to various security attacks. Buffer overflow attacks, which target software vulnerabilities in operating system (OS) and application software, are the most common security attacks because of their relatively easy exploitation. Therefore, it is important to have knowledge about software vulnerabilities in OSs for PLCs in order to prevent or mitigate them in PLC design and implementation. Many PLCs use Micrium uC/OS as their OS. In this paper, we present an approach to analyzing and mitigating some software two vulnerabilities, buffer overflows and integer overflows in uC/OS. We first check if there are vulnerable functions in uC/OS system. We then propose a technique to prevent or mitigate the vulnerabilities associated with the functions.
This paper(1) addresses a problem of vulnerability detection in software represented as assembly code. An extended approach to the vulnerability detection problem is proposed. This work concentrates on improvement of ...
详细信息
ISBN:
(纸本)9781450366083
This paper(1) addresses a problem of vulnerability detection in software represented as assembly code. An extended approach to the vulnerability detection problem is proposed. This work concentrates on improvement of neural network-based approach described in previous works of authors. The authors propose to include the morphology of instructions in vector representations. The bidirectional recurrent neural network is used with access to the execution traces of the program. This has significantly improved the vulnerability detecting accuracy.
integer overflow (IO) vulnerabilities can be exploited by attackers to compromise computer systems. In the mean time, IOs can be used intentionally by programmers for benign purposes such as hashing and random number ...
详细信息
ISBN:
(纸本)9781450339001
integer overflow (IO) vulnerabilities can be exploited by attackers to compromise computer systems. In the mean time, IOs can be used intentionally by programmers for benign purposes such as hashing and random number generation. Hence, differentiating exploitable and harmful IOs from intentional and benign ones is an important challenge. It allows reducing the number of false positives produced by IO vulnerability detection techniques, helping developers or security analysts to focus on fixing critical IOs without inspecting the numerous false alarms. The difficulty of recognizing benign IOs mainly lies in inferring the intent of programmers from source code. In this paper, we present a novel technique to recognize benign IOs via equivalence checking across multiple precisions. We determine if an IO is benign by comparing the effects of an overflowed integer arithmetic operation in the actual world (with limited precision) and the same operation in the ideal world (with sufficient precision to evade the IO). Specifically, we first extract the data flow path from the overflowed integer arithmetic operation to a security related program point (i.e., sink) and then create a new version of the path using more precise types with sufficient bits to represent integers so that the IO can be avoided. Using theorem proving we check whether these two versions are equivalent, that is, if they yield the same values at the sink under all possible inputs. If so, the IO is benign. We implement a prototype, named IntEQ, based on the GCC compiler and the Z3 solver, and evaluate it using 26 harmful IO vulnerabilities from 20 real-world programs, and 444 benign IOs from SPECINT 2000, SPECINT 2006, and 7 real-world applications. The experimental results show that IntEQ does not misclassify any harmful IO bugs (no false negatives) and recognizes 355 out of 444 (about 79.95%) benign IOs, whereas the state of the art can only recognize 19 benign IOs.
Techniques for automated code repair have the potential for greatly aiding in the development of secure and correct code. There are currently a few major difficulties confronting the development and deployment of tool...
详细信息
ISBN:
(纸本)9781509055890
Techniques for automated code repair have the potential for greatly aiding in the development of secure and correct code. There are currently a few major difficulties confronting the development and deployment of tools for automated repair;we examine these and briefly explore possible solutions. To give a flavor of what automated repair might look like, we discuss in detail three types of proposed automated repair: (1) repairing inequality comparisons involving integer overflow to behave the same as if unlimited-bitwidth integers were used, (2) inserting memory bounds checks where needed, using dynamic analysis to infer tightest correct bounds, (3) inserting missing authorization checks in a client-server application based on an inferred access control policy.
Students skipping content is common in learning modules that present a large amount of information in a linear format. This may result in lower student engagement and learning. We proposed a theoretical model to reduc...
详细信息
ISBN:
(纸本)9781509038657
Students skipping content is common in learning modules that present a large amount of information in a linear format. This may result in lower student engagement and learning. We proposed a theoretical model to reduce content skipping using an e-learning design principle of "segmentation." In this paper, we describe the segmentation principle, conduct a study to examine its effectiveness using eye-tracking and discuss the results. The study uses two eye-tracking metrics - 1) reading scores (computed using reading detection algorithm) and 2) reading depth (number of words looked at in a given area of text), as a measure to compare content skipping between linear and segmented modules. A total of 19 students participated in a randomized control-group treatment-group experimental study. Nine students completed linear modules and ten completed segmented modules. The results indicate significantly higher reading scores and reading depth (p < .05) for the students using segmented modules, implying more reading coverage and less content skipping in segmented modules as compared to the linear modules.
暂无评论