Safety-critical systems are widely used in many sectors to prevent fatal accidents and prevent loss of life, damage of property, or deterioration of the environment. Implementation of software safety standards as part...
详细信息
Safety-critical systems are widely used in many sectors to prevent fatal accidents and prevent loss of life, damage of property, or deterioration of the environment. Implementation of software safety standards as part of the development of safety-critical software is generally considered an essential element of any safety program. Therefore, it has become more critical to produce highly reliable software to meet the safety requirements established by functional safety standards, such as IEC 61508, ISO 26262, and En 50128. IEC 61508 supports well-known safety mechanisms such as design diversity like n-version (multi-version) programming. n-version (multi-version) programming is a method where multiple functionally equivalent programs are independently developed from the same software specifications. n-version (multi-version) programming is particularly an effective approach to increase the quality of software in a safety-critical system. In this paper, one of the well-known and widely used algorithms in the field of n-version (multi-version) programming, the majority voting algorithm, has been modified with an online stability checker where the decisions of the voter are judged against the stability of the underlying system. The plant where all the theoretical results are implemented is a tilt-rotor system with the proposed n-version (multi-version) programming-based controller. The experimental results show that the modified majority voter-based n-version (multi-version) programming controller provides more reliable control of the plant.
The virtual machine (VM) co-resident architecture of cloud computing enables simultaneous provision of multiple services to different users, but also makes these services vulnerable to co-resident attacks. For example...
详细信息
The virtual machine (VM) co-resident architecture of cloud computing enables simultaneous provision of multiple services to different users, but also makes these services vulnerable to co-resident attacks. For example, by establishing side channels, a malicious attacker can access and even corrupt services performed by other VMs co-residing on the same server as the attacker's VM (AVM). We model a threshold-voting-based n-version programming service component with multiple independent versions simultaneously performing the same requested service to enhance the service reliability. However, the reliability enhancement can be greatly hindered by the co-resident attack, which may corrupt an adequate number of versions leading to a wrong output. We formulate and solve constrained optimization problems that determine the number of service component versions and the voting threshold to balance two conflicting service performance metrics: reliability (service component success probability) and vulnerability (service corruption attack success probability). Two cases respectively having certain and uncertain knowledge about the attacker's power in terms of the number of AVMs are considered. We also investigate impacts of different model parameters on the service performance as well as on solutions to the considered optimization problems through examples.
The real innovation of Internet of Things (IoT) can be spurred only when being combined with cloud computing, a paradigm that allows numerous users to simultaneously access configurable resources and services. However...
详细信息
The real innovation of Internet of Things (IoT) can be spurred only when being combined with cloud computing, a paradigm that allows numerous users to simultaneously access configurable resources and services. However, serious vulnerability concerns have arisen from the virtual machine co-resident architecture of the IoT cloud. Specifically, co-resident attacks can be launched, where an attacker can access and corrupt a user's sensitive data/software by co-locating their virtual machines on the same physical server. Various solutions have been suggested in literature to mitigate negative effects of the co-resident attacks in the cloud environment. However, to the best of our knowledge no work has been performed for studying co-resident attacks in cloud systems with n-version programming (nVP), a popular redundancy technique for enhancing survivability of critical cloud service components. This paper makes original contributions by modeling IoT cloud system services implementing the nVP component redundancy, and evaluating the corruption probability of the nVP service component. Further, users' policies on choosing the optimal number of service component versions are investigated through formulating and solving a new set of optimization problems with the objective to minimize the expected cost of losses of a cloud service provider. As demonstrated through examples, these policies can effectively help defend the nVP service component against the co-resident attacks in the cloud system.
Due to the virtual machine co-resident architecture, cloud computing systems are vulnerable to co-resident attacks (CRAs) where a malicious attacker may access and corrupt information of a target user through co-locat...
详细信息
Due to the virtual machine co-resident architecture, cloud computing systems are vulnerable to co-resident attacks (CRAs) where a malicious attacker may access and corrupt information of a target user through co-locating their virtual machines on the same physical server. To defend against cyber threats such as the CRA, early warning mechanisms have been developed with the aim to detect and block an attack at a nascent stage. In this paper, we study the optimal strategy of allocating early warning resources to defend against CRAs for the voting-based n-version programming (nVP) service running in the cloud. A probabilistic model is proposed to evaluate the failure probability of the nVP service program and further the expected cost of loss for the considered service. Optimization problems of co-determining the optimal numbers of service program versions and early warning agents are further solved to minimize the expected cost of loss. As demonstrated through examples, the resultant optimal strategies can effectively allocate service and defense resources to defend the nVP cloud service against CRAs.
This paper models a software service component implementing the n-version programming (nVP) redundancy on the cloud computing platform to enhance the service reliability. Specifically, multiple versions of the same se...
详细信息
This paper models a software service component implementing the n-version programming (nVP) redundancy on the cloud computing platform to enhance the service reliability. Specifically, multiple versions of the same service component are activated in parallel on different servers of the cloud to perform the requested service. At required service response time, the output is determined based on a threshold first-past-the-post voting rule (output with the most votes and the number of these votes exceeds a predetermined threshold). However, effectiveness of the nVP approach can be greatly compromised by co-residence attacks, a common type of cyber-attacks launched to corrupt user's service through co-residing user's and attacker's virtual machines on the same cloud server. This paper formulates and solves an optimization problem, particularly, a minmax game problem that finds the number of service component versions (SCVs) and the threshold to maximize the user's utility while considering a strategic attack behavior aiming to maximize the attacker's utility. The solution methodology encompasses a probabilistic model of evaluating the service success probability (SSP) and corruption attack success probability (CAP), two performance metrics used in the computation of the user's and attacker's utilities. Examples are analyzed to demonstrate influences of different model parameters on SSP, CAP, and solutions to the considered optimization problem.
Attempts have been made to propose a software reliability growth model (SRGM) based onnon-homogeneous Poisson process for nVP system. The proposed model concerns the combined effect of increasing fault detection rate...
详细信息
Attempts have been made to propose a software reliability growth model (SRGM) based onnon-homogeneous Poisson process for nVP system. The proposed model concerns the combined effect of increasing fault detection rate and fault removal efficiency under imperfect debugging. Moreover, a cost model has been developed. Also, an optimal release policy based on the proposed cost model and the number of remaining faults has been discussed. The performance of the proposed model has been compared with existing SRGMs for nVP system. Toward the end, the proposed model has been validated using some real data.
We present the preliminary results on developing a weighted n-version programming (nVP) scheme for ensuring resilience of machine learning based steering control algorithms. The proposed scheme is designed based on th...
详细信息
ISBN:
(纸本)9781538694435
We present the preliminary results on developing a weighted n-version programming (nVP) scheme for ensuring resilience of machine learning based steering control algorithms. The proposed scheme is designed based on the fusion of outputs from three redundant Deep neural network (Dnn) models, independently designed using Udacity's self driving car challenge data. The improvement in reliability compared to single Dnn models is evaluated by measuring the steering angle prediction accuracy in the presence of simulated perturbations on input image data caused by various environmental conditions.
Islanded mode and grid-connected mode are the two operational modes of a microgrid (MG). It is essential to develop a suitable protection scheme for an MG network to protect it against all types of faults in both of t...
详细信息
Islanded mode and grid-connected mode are the two operational modes of a microgrid (MG). It is essential to develop a suitable protection scheme for an MG network to protect it against all types of faults in both of the modes. The fault current in an inverter-dominated MG is limited by the ratings of the semiconductor devices. Only traditional over-current protection schemes are not adequate for such inverter-based grids. In order to cover the drawbacks of conventional protection schemes, ann-version programming-based protection scheme has been proposed in this paper. Ann-version software unit with n = 3 has been developed in MATLAB Simulink and all the agents in the developed multi-agent scheme have been equipped with this unit. The three developed protectionversions are Clark's transformation-based current protection, positive sequence phase differential-based protection and conventional over-current-based protection scheme. The software unit makes the final decision about the fault through a polling process. Different types of faults have been tested in both the islanded and grid-connected modes. The proposed protection scheme has given desired results in all the tested cases and hence proved to be a reliable and accurate method for fault identification in microgrid networks. Finally, a framework has been presented for possible realization of the proposed protection scheme through existing IEC 61850-based intelligent electronic devices (IEDs). (C) 2016 Elsevier Ltd. All rights reserved.
n-version programming is a useful approach to improve the quality of software, especially for safety-critical systems. Positive performance in enhancing software availability is an expected result. In this paper, a so...
详细信息
n-version programming is a useful approach to improve the quality of software, especially for safety-critical systems. Positive performance in enhancing software availability is an expected result. In this paper, a software availability model for the study of the impact of n-version programming technique is proposed and investigated. The characteristics of the n-version software system and its operation and failure process are analysed. Based on this analysis, the time-dependent behaviour of the software system, which alternates between online and offline states, is described using a Markov chain. This model derives quantitative measures of software availability. numerical examples and comparisons are also presented in this paper to directly illustrate n-version programming's positive impact on software availability measures. n-version programming generally provides a positive impact on the system. However, it does not always guarantee a higher availability performance. General recommendations are provided onn-version software structure design based on cost-effective criteria.
Fuzzing has become an essential means of finding software bugs. Bug finding through fuzzing requires two parts-exploring code paths to reach bugs and exposing bugs when they are reached. Existing fuzzing research has ...
详细信息
Fuzzing has become an essential means of finding software bugs. Bug finding through fuzzing requires two parts-exploring code paths to reach bugs and exposing bugs when they are reached. Existing fuzzing research has primarily focused on improving code coverage but not on exposing bugs. Sanitizers such as AddressSanitizer (ASAn) and MemorySanitizer (MSAn) have been the dominating tools for exposing bugs. However, sanitizer-based bug exposing has the following limitations. (1) sanitizers are not compatible with each other. (2) sanitizers incur significant runtime overhead. (3) sanitizers may generate false positives, and (4) exposed bugs may not be exploitable. To address these limitations, we propose EXPOZZER, a fuzzing system that can expose bugs comprehensively, efficiently, and faithfully. The intuition of EXPOZZER is to detect bugs through divergences in a properly diversified dual-execution environment, which does not require maintaining or checking execution metadata. We design a practical and deterministic dual-execution engine, a co-design for dual-execution and fuzzers, bug-sensitive diversification, comprehensive, and efficient divergence detection to ensure the effectiveness of EXPOZZER. The results of evaluations show that EXPOZZER can detect not only CVE-assigned vulnerabilities reliably, but also new vulnerabilities in well-tested real-world programs. EXPOZZER is 10 times faster than MemorySanitizer and is similar to AddressSanitizer.
暂无评论