toplogo
로그인

Formalisierung der Stapelsicherheit als Sicherheitseigenschaft


핵심 개념
Die Stapelsicherheit kann als Kombination von Integrität und Vertraulichkeit für den Aufrufer und den Aufgerufenen sowie einer wohlgeformten Kontrollflusskette formalisiert werden.
초록

Der Artikel führt eine neue formale Charakterisierung der Stapelsicherheit ein, die auf Konzepten der sprachbasierten Sicherheit basiert. Anstatt die Stapelsicherheit als monolithische Eigenschaft zu behandeln, wird sie in fünf Eigenschaften unterteilt: Integrität und Vertraulichkeit für den Aufrufer und den Aufgerufenen sowie eine wohlgeformte Kontrollflusskette.

Diese Formulierung wird durch eine bestimmte Klasse von Durchsetzungsmechanismen, die "lazy" Stapelsicherheits-Mikro-Richtlinien, motiviert, die es Funktionen erlauben, in die Frames anderer zu schreiben, aber die geänderten Stellen so markieren, dass der Besitzer des Frames darauf nicht zugreifen kann.

Die Eigenschaften gehen über bisherige formale Definitionen der Stapelsicherheit hinaus, indem sie Aufrufer- und Aufgerufenen-gespeicherte Register, Argumente, die auf dem Stapel übergeben werden, und Tail-Call-Elimination unterstützen. Die Autoren validieren die Eigenschaften, indem sie sie verwenden, um korrekte und inkorrekte Implementierungen der Mikro-Richtlinien von Roessler und DeHon mit eigenschaftsbasiertem Zufallstesten zu unterscheiden.

edit_icon

요약 맞춤 설정

edit_icon

AI로 다시 쓰기

edit_icon

인용 생성

translate_icon

소스 번역

visual_icon

마인드맵 생성

visit_icon

소스 방문

통계
Keine relevanten Statistiken oder Kennzahlen identifiziert.
인용구
Keine markanten Zitate identifiziert.

핵심 통찰 요약

by Sean Noble A... 게시일 arxiv.org 03-22-2024

https://arxiv.org/pdf/2105.00417.pdf
Formalizing Stack Safety as a Security Property

더 깊은 질문

Wie könnte die Stapelsicherheit in einem Mehrprozessorsystem mit Nebenläufigkeit formalisiert werden?

In einem Mehrprozessorsystem mit Nebenläufigkeit könnte die Stapelsicherheit formalisiert werden, indem man die Sicherheitsmechanismen auf die verschiedenen Prozessoren und deren Interaktionen ausweitet. Jeder Prozessor hätte seine eigene Stapelverwaltung, und es müssten Mechanismen implementiert werden, um sicherzustellen, dass Stapeloperationen atomar und konsistent ausgeführt werden. Zudem müssten Synchronisierungsmechanismen eingeführt werden, um sicherzustellen, dass Stapeloperationen zwischen den Prozessoren korrekt koordiniert werden. Die Formalisierung könnte auch Aspekte wie Stapelüberläufe oder Stapelkorruption durch parallele Prozesse berücksichtigen und entsprechende Schutzmechanismen vorsehen.

Wie könnte eine Implementierung der Stapelsicherheit aussehen, die auch Sicherheit gegen Timing-Angriffe bietet?

Eine Implementierung der Stapelsicherheit, die auch Sicherheit gegen Timing-Angriffe bietet, könnte verschiedene Maßnahmen umfassen. Zum einen könnten Mechanismen zur Verhinderung von Side-Channel-Angriffen implementiert werden, indem zufällige Verzögerungen oder Dummy-Operationen eingeführt werden, um Timing-Angriffe zu erschweren. Darüber hinaus könnten spezielle Hardware- oder Softwaretechniken wie Cache-Timing-Schutz oder konstante Laufzeitoperationen verwendet werden, um Timing-Angriffe zu verhindern. Eine sorgfältige Analyse der Implementierung und des Zeitverhaltens der Stapeloperationen wäre entscheidend, um potenzielle Angriffspunkte zu identifizieren und zu beheben.

Welche Auswirkungen hätte eine Erweiterung des Modells, um auch Heap-Sicherheit zu berücksichtigen?

Eine Erweiterung des Modells, um auch Heap-Sicherheit zu berücksichtigen, würde die Sicherheitsanalyse und -implementierung komplexer machen. Die Berücksichtigung der Heap-Sicherheit würde zusätzliche Aspekte wie Speicherallokation, Speicherfreigabe, Zeigerarithmetik und Datenstrukturen umfassen. Dies würde die Angriffsfläche für potenzielle Sicherheitslücken vergrößern und erfordern, dass Sicherheitsmechanismen sowohl für den Stapel als auch für den Heap implementiert werden. Die Erweiterung des Modells könnte auch die Notwendigkeit zusätzlicher Sicherheitsprüfungen und -mechanismen mit sich bringen, um sowohl Stapel- als auch Heap-basierte Angriffe zu verhindern. Insgesamt würde die Berücksichtigung der Heap-Sicherheit die Sicherheit des Gesamtsystems verbessern, aber auch die Komplexität der Sicherheitsarchitektur erhöhen.
0
star