The paper presents a tool for fault injection in Java Card environment based on cref simulator. Using it we examine the problems related to faults sensitivity and the impact of these on security functions and proper Java Card applet execution. During experiments we have checked applets reliability and possible information leaks or security faults in the reference to the injected faults. In this article we describe our experiments and their results.
PL
W artykule przedstawiono narzędzie do wstrzykiwania błędów w środowisku Java Card przygotowane na podstawie symulatora cref. Z jego pomocą sprawdzona została wrażliwość apletów na zakłócenia tj. ich wpływ na zabezpieczenia oraz poprawne działanie aplikacji dla Java Card. Wykonane eksperymenty miały na celu zbadanie niezawodności działania apletów oraz możliwych wycieków informacji czy naruszeń bezpieczeństwa na skutek wprowadzonych błędów. W artykule zaprezentowano przeprowadzone eksperymenty i omówiono ich rezultaty.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
This paper presents an original software reliability assessment method implemented in the QEMU Fault Injection Framework – an emulation based SWIFI tool. The method was utilized in evaluation of susceptibility to memory faults of GNU/Linux operating system components: executable code, stack space and dynamically allocated data. Presented experiments’ results are basis to the development of a new heuristic mechanism for improving the executable code robustness.
PL
Niniejszy artykuł przedstawia metodę oceny niezawodności oprogramowania zaimplementowaną w QEMU Fault Injection Framework – opartym o emulator narzędziu typu SWIFI. Zaprezentowaną metodę zastosowano do ewaluacji wrażliwości na błędy pamięci w kodzie,przestrzeni stosu oraz danych systemiu GNU/Linux. Uzyskane wyniki stanowią podstawę do opracowania nowego heurystycznego mechanizmu zwiększania niezawodności wykonywalnego kodu
The paper presents the extent of fault effects in FPGA based systems and concentrates on transient faults (induced by single event upsets – SEUs) within the configuration memory of FPGA. An original method of detailed analysis of fault effect propagation is presented. It is targeted at microprocessor based FPGA systems using the developed fault injection technique. The fault injection is performed at HDL description level of the microprocessor using special simulators and developed supplementary programs. The proposed methodology is illustrated for soft PicoBlaze microprocessor running 3 programs. The presented results reveal some problems with fault handling at the software level.
This article presents the QEFI: a QEMU-based fault injection framework. It presents basic design principles behind the created framework, its implementation details and some results of experiments conducted to prove its utility. The novelty of the implemented software is outlined and compared with solutions presented in the literature.
PL
Artykuł ten prezentuje QEFI: system wstrzykiwania błędów oparty na QEMU. Przedstawia on podstawowe założenia projektowe stworzonego systemu, jego szczegóły implementacyjne oraz wyniki niektórych eksperymentów dowodzą¬cych jego użyteczności. Nowatorskie aspekty stworzonego oprogramowania zostały wyszczególnione i porównane z pracami znanymi z literatury.
Presented paper evaluates method for detecting software anomalies based on recurrence plot analysis of trace log generated by software execution. Described method for detecting software anomalies is based on windowed recurrence quantification analysis for selected measures (e.g. Recurrence rate - RR or Determinism - DET). Initial results show that proposed method is useful in detecting silent software anomalies that do not result in typical crashes (e.g. exceptions).
The paper presents the technique of simulating faults in embedded systems. It consists of PC software that performs fault injection through the JTAG interface controlled by GNU Debugger (GDB) server for a chosen platform. This approach can be easily adopted to various platforms due to a wide support of GDB project for many architectures. The experimental results for ARM architecture show high controllability of the fault injection process and measured time overhead in the implemented injector.
PL
Praca przedstawia technikę symulacji błędów dla systemów wbudowanych wykorzystującą interfejs JTAG sterowany za pomocą oprogramowania "GNU Debugger" przygotowanego dla danej platformy mikro-procesorowej. Opracowana architektura symulatora błędów została przedstawiona na rys. 1. Zaprezentowane rozwiązanie umożliwia symulację błędów typu bit-flip oraz błędów trwałych za pomocą mechanizmów breakpoint oraz watchpoint. Obserwacja wyników symulacji została zrealizowana za pomocą programowego mechanizmu breakpoint. W ramach pracy zweryfikowano koncepcję dla współczesnych mikroprocesorów z rdzeniem ARM7TDMI oraz zaprezentowano rezultaty symulacji błędów dla wybranych obszarów pamięci SRAM oraz rejestru PC procesora. Podejście to może być łatwo dostosowane do różnych platform systemów wbudowanych wspieranych przez projekt GDB. Przeprowadzone eksperymenty symulacyjne potwierdziły ich dużą sterowalność. W pracy przedyskutowano również efektywność opracowanej metody symulacji błędów oraz przedstawiono wyniki pomiarów opóźnień związanych z symulacją błędów oraz obserwacją wykonywania programu wynoszące odpowiednio 52ms i 42ms.
The paper presents the fault injection approach applicable for dependability evaluation of real-time systems. The developed fault injection environment, called InBochs, is based on modified system emulator Bochs. It is highly flexible in terms of fault specification and results observability reflecting in rich feedback information for a target system developer. The low overhead of the InBochs fulfills tight requirements for RT-system evaluation testbeds. The paper describes the methodology of dependability evaluation basing on an exemplary process control task.
PL
Wszechobecność systemów wbudowanych i czasu rzeczywistego niesie za sobą potrzebę analizy ich wiarygodności. Dotyczy to nie tylko systemów w zastosowaniach krytycznych (jak aeronautyka, czy sterowanie procesów przemysłowych), gdzie głównym aspektem jest bezpieczeństwo, ale także popularnych urządzeń życia codziennego, od których użytkownicy również oczekują określonego poziomu niezawodności i dostępności. Niezbędna jest więc analiza odporności systemów na różnego rodzaju zakłócenia, m.in. na rosnące niebezpieczeństwo zakłóceń przemijających w systemie cyfrowym, w szczególności tzw. SEU (ang. Single Event Upsets [1], efektem których mogą być przekłamania wartości logicznych w elementach pamięci). Omówiono szereg aspektów analizy eksperymentalnej przy wykorzystaniu techniki programowej symulacji błędów w kontekście badań systemów czasu rzeczywistego oraz przedstawiono system InBochs, który może być zastosowany m.in. do eksperymentalnej analizy wiarygodności systemów wbudowanych oraz czasu rzeczywistego. Bazuje on na programowym emulatorze systemu komputerowego Bochs [5]. Spośród innych rozwiązań ([2] i referencje) InBochs umożliwia m.in. abstrakcję czasu ukrywającą narzuty symulatora oraz język skryptowy symulacji błędów. Jego praktyczna użyteczność została potwierdzona eksperymentami dla dwóch różnych systemów czasu rzeczywistego (RTAI [7, 9] oraz Phoenix [8]) realizujących zadanie sterownika GPC w wersji analitycznej dla procesu reaktora chemicznego (opis w [6] i referencje).
This paper presents a novel approach to collect and analyse information regarding code executed by the computer’s processor. The motivation for this work is driven by the need to precisely answer the question which instructions are actually executed by the processor. Profiling tools and debugging tools can provide the answer for user space programs, although there is no tool that supports profiling both the user and the kernel space code without affecting the software under test. The basis of this work is the QEMU computer system emulator. It was utilized to develop a tool called QEMU CPU Tracer (QCT). The tool fulfils a requirement of exact code profiling, has acceptable performance and can also be utilized as a debugging utility thanks to the ability of tracking the execution of user space applications. In the paper a detailed description of QCT architecture is followed by a presentation of results of conducted experiments, a comparison to other similar solutions and a discussion over further research possibilities.
This paper studies dependability of software implementation of DMC (Dynamic Matrix Control) and GPC (Generalised Predictive Control) Model Predictive Control (MPC) algorithms. Explicit formulation of algorithms is considered in which the control laws are calculated off-line. Dependability is evaluated using software implemented fault injection approach. Tests are performed in the control system of a remotely controlled robot vehicle used in nuclear plants.
W publikacji przedstawiono narzędzie programowe DEPENDITA, które zostało zbudowane w Instytucie Teleinformatyki i Automatyki WAT. Narzędzie to wspomaga badanie wiarygodności aplikacji rozproszonych poprzez programowe wszczepianie błędów i przeznaczone jest do testowania aplikacji rozproszonych, wykorzystujących standard Sun RPC. Zaletą DEPENDITA jest zastosowana technika przechwytywania wiadomości przesyłanych pomiędzy poszczególnymi elementami testowanej aplikacji, która nie wymaga wprowadzania żadnych zmian w kodzie źródłowym testowanego systemu.
EN
In the paper, the software tool called DEPENDITA, which was built at the Institute of Teleinformatics and Automatics, is presented. The tool may be used for dependability evaluation of distributed applications by software fault injection and it is dedicated for testing of distributed systems, which uses Sun RPC standard. The main advantage of DEPENDITA is the use of special techniques of messages capturing which do not require any changes in the source code.
11
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
The paper deals with the problem of evaluating the impact of hardware faults on program execution. For this purpose we use software implemented fault injector supplemented with various statistical tools. It simulates faults by disturbing CPU registers and memory cells in the analysed system. Using this tool we analyse fault effects in ordinary applications and in applications with embedded fault detection and fault tolerance mechanisms. The paper presents experimental results for a wide spectrum of applications and different fault hardening techniques. It outlines some critical problems and discusses the effectiveness of the proposed solutions.
PL
Praca dotyczy analizy wpływu błędów sprzętu na wykonywanie się aplikacji programowych. Do tego celu użyto specjalnego symulatora błędów oraz odpowiednich modułów statystycznych. Symulator generuje błędy w badanym systemie poprzez modyfikację stanu rejestrów i komórek pamięci. Zachowanie się systemu zakłócanego błędami jest porównywane z zachowaniem wzorcowym (bez błędów). Symulator wykorzystano do charakteryzacji odporności na błędy aplikacji standardowych oraz ich wersji rozbudowanych o mechanizmy detekcji i obsługi błędów. Przedstawiono wyniki dla szerokiego spektrum aplikacji z różnymi mechanizmami uodparniania na błędy oraz wskazano na pewne krytyczne problemy i metody ich rozwiązania. Rozpatrzono głównie programowe mechanizmy detekcji oraz tolerowania błędów i systemowe mechanizmy generacji wyjątków. Mechanizmy te były omawiane w części pierwszej pracy.
12
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
The paper deals with the problem of testing computer system's susceptibility to hardware faults by means of software implemented fault injectors. Basing on our experience with fault injection techniques we present various strategies of fault stressing in relevance to fault impact analysis in the function of the application input data profile, fault injection profile in time and space, resource activities etc. We discuss the problem of test result qualification and significance. Fault hardening at the software level is also outlined. The considerations presented are illustrated with numerous experimental results obtained in Windows and Linux environments.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.