Grin logo
de en es fr
Shop
GRIN Website
Texte veröffentlichen, Rundum-Service genießen
Zur Shop-Startseite › Informatik - Software

A Decision Procedure Approach to Linux Modules Dependency

Titel: A Decision Procedure Approach to Linux Modules Dependency

Technischer Bericht , 2015 , 44 Seiten , Note: 12

Autor:in: Tolga Topal (Autor:in)

Informatik - Software
Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

This report focuses on the dependency resolution mechanism between modules for the Linux kernel. The reasoning concerns how to express dependency relation in propositional logic, based on different Linux kernel modules. It is around this topic that further development will be held. The reasoning will concern how to express this dependency relation in propositional logic.

To establish a development, an analysis of the kbuild system is performed. The goal is to identify how and what are the elements that take part in the dependency tracking mechanism.

The kbuild is a framework providing tools to construct the kernel. It can be declined into two main component : the kconfig files and makefiles. These are the elements that are responsible for handling dependency.

Logic is used to express a proof i.e., the correctness of a reasoning. To do so, a proof assistant viz., Coq is used. A decision procedure is a mechanism that resolves a problem by answering it using yes or no.

Leseprobe


Table of Contents

1 Introduction

1.1 Context

1.2 Approach Motivation

1.3 Goal

1.4 Road map

1.5 Resources References

2 Preliminaries

2.1 The Actors

2.2 The Kbuild System

2.2.1 Organization of the Kbuild System

2.3 What is Logic

2.4 Propositional Logic

2.4.1 Why Propositional Logic

2.4.2 Propositional Logic Syntax

2.4.2.1 Logical Connectives

2.4.3 Proofs Procedures

3 Model

3.1 Kernel Dependency Tracking

3.1.1 The Goal Definitions

3.1.2 Configuration Options Organization

3.1.2.1 Menu Structure

3.1.2.2 Menu Entry

3.1.2.3 Menu Attributes

3.1.2.4 Recap

4 Elements of Proof

4.1 Basic Defining Elements

4.2 Coq

4.2.1 Presentation

4.2.2 Goal

4.2.3 Proof of concept for a specific module

5 Conclusion

A Appendix

A.1 Kernel config file

A.2 Kernel Security – Kconfig

A.3 Notes

Research Objectives and Key Topics

The primary objective of this work is to improve the reliability and robustness of the Linux kernel configuration system by applying formal verification to module dependencies using propositional logic.

  • Linux kernel configuration process (kbuild)
  • Dependency management efficiency
  • Propositional logic modeling
  • Formal verification using Coq
  • Reduction of attack surfaces in embedded systems

Excerpt from the Book

1.2 Approach Motivation

The intention is not to replace or substitute the present mechanism. It can be seen as an additional layer to the system.

One may ask himself, what could a proper process for dependency handling bring to the system and for users ? The answer can be declined in different axes :

• Security “enhancement”

• Compilation time reduction

• Kernel size reduction

• Performance gain

These elements are appreciable for workstations and servers but the prime target is embedded systems.

Security enhancement Reducing the number of features (shipped as kernel modules and/or enabled as kernel options) enhances the overall security of the operating system. There is no real enhancement of the security as in kernel hardening procedures, e.g., grsecurity[Grs], TOMOYO[Tom].

The gain is obtained by reducing the ”attack surface”. The more modules are shipped with or within the kernel, the bigger the ”attack surface” is. It is more likely that one, will be concerned by a vulnerability if it has two thousand modules rather than two hundred shipped with his kernel.

An illustrating example is, the vulnerabilities affecting the OZWPAN USB driver/WLAN driver[Lkm].

Compilation time reduction For Intel x86 64 set of instructions and a GNU Compiler Collection v4.7 compiler. During the internship, we observed that the compilation time reduction was divided by approximately three. Regarding a 2.6.32 of a CentOS distribution, the compilation time went from approximately forty five to fifteen minutes.

Chapter Summaries

1 Introduction: This chapter outlines the context regarding the Linux kernel build system, the motivation for improving configuration reliability, and the goals of the research.

2 Preliminaries: The chapter introduces the core components of the Linux kernel build process and provides the necessary theoretical background on propositional logic.

3 Model: This chapter details the technical mechanism of how the kernel tracks dependencies and how features are organized in a tree-like structure.

4 Elements of Proof: This chapter demonstrates how propositional logic and the Coq proof assistant are utilized to verify the validity of specific kernel security module dependencies.

5 Conclusion: The concluding chapter summarizes the study's findings on using formal methods to address kernel dependency complexities and suggests future automation directions.

A Appendix: This section contains supplementary technical data, including example configuration files and specific kconfig definitions used in the study.

Keywords

Linux kernel, kbuild, dependency tracking, propositional logic, formal verification, Coq, security enhancement, compilation time, embedded systems, module configuration, kernel hardening, attack surface, logical connectives, natural deduction, automated proofs

Frequently Asked Questions

What is the core focus of this research?

The work focuses on the Linux kernel configuration process, specifically examining how the kbuild system handles dependencies between modules to enhance reliability and security.

What are the primary thematic areas covered?

The central themes include Linux kernel architecture, the mechanics of module dependency resolution, applied propositional logic, and formal proof development.

What is the main objective of this study?

The objective is to introduce a deterministic refinement layer to the kernel configuration system, allowing for safer and more reliable management of new kernel modules.

Which scientific methodology is employed?

The author uses formal verification methods, representing kernel dependency problems through propositional logic and validating these constraints using the Coq proof assistant.

What does the main body of the work address?

It provides an analysis of the kbuild framework, a deep dive into configuration options organization, and a practical demonstration of how to prove dependency validity.

Which keywords best characterize this work?

Key terms include Linux kernel, kbuild, formal verification, Coq, propositional logic, and dependency management.

How is the dependency resolution problem modeled?

The problem is modeled by translating configuration requirements into propositional variables and using logical connectives to represent dependencies during module selection.

Why is the Coq proof assistant used?

Coq is used because it supports natural deduction, which helps avoid combinatorial explosions encountered in large datasets while providing a robust environment for interactive proof construction.

What is the significance of the "attack surface" in this context?

Reducing the number of unnecessary modules in a kernel build directly reduces the "attack surface," thereby minimizing the vulnerability risk for embedded systems.

Ende der Leseprobe aus 44 Seiten  - nach oben

Details

Titel
A Decision Procedure Approach to Linux Modules Dependency
Veranstaltung
Operating systems
Note
12
Autor
Tolga Topal (Autor:in)
Erscheinungsjahr
2015
Seiten
44
Katalognummer
V1442860
ISBN (PDF)
9783964877369
ISBN (Buch)
9783964877376
Sprache
Englisch
Schlagworte
Linux kernel kernel modules decision procedure kbuild
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Tolga Topal (Autor:in), 2015, A Decision Procedure Approach to Linux Modules Dependency, München, GRIN Verlag, https://www.grin.com/document/1442860
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  44  Seiten
Grin logo
  • Grin.com
  • Versand
  • Kontakt
  • Datenschutz
  • AGB
  • Impressum