Skip to content
Snippets Groups Projects
Commit 26930b1e authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Vorbereitung 13.6.2022

parent e8fc7fff
No related branches found
No related tags found
No related merge requests found
Showing
with 1673 additions and 0 deletions
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
File added
This diff is collapsed.
Die Heartbleed-Sicherheitslücke, 30.05.2022, 13:18:29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sicherheitslücke in OpenSSL
Protokollschwäche: Im sog. Heartbeat ("Herzschlag") kommt es zu einer
Art Pufferüberlauf.
Erklärung: https://xkcd.com/1354/
Der Kryptologe und Sicherheitsexperte Bruce Schneier beschreibt die Tragweite
des Heartbleed-Bug als:
"Catastrophic is the right word. On the scale of 1 to 10, this is an 11."
"Katastrophal ist das richtige Wort. Auf einer Skala von 1 bis 10 ist dies eine 11."
Was hilft gegen derartige Sicherheitslücken? 30.05.2022, 13:28:10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Keine Programmierfehler machen.
* ordentlich programmieren
- ordentlich einrücken
- Compiler-Warnungen aktivieren und beachten
* automatische Code-Analyse
- Compiler: gcc oder llvm mit Warnungen
- statisch: [sp]lint, sparse (cgcc)
automatische Suche nach typischen Fehlern
- dynamisch: valgrind
ausführbares Programm wird auf Speicherfehler analysiert
--> finden viele, aber nicht alle Fehler
* Speicherschutzmechanismen des Compilers und des Betriebssystems
- Hardware-Unterstützung: Data Execution Prevention: Das Betriebssystem markiert
das Stack-Segment als "nicht ausführbar" (DEP/NX - siehe: Speicherverwaltung)
- Canary ("Kanarienvogel" - Begriff aus dem Bergbau: Bevor die Luft für Menschen
zu schlecht wird, bekommt ein Kanarienvogel Probleme.)
"Kanarienvogel" auf dem Stack: "Ungenutzte", initialisierte Variable.
Vor dem Rücksprung prüft das Programm, ob die "Kanarienvogel"-Variable
noch den richtigen Wert hat.
- Address Space Layout Randomization (ASLR): http://heise.de/-2718449
Bei jedem Programmstart liegen das Programm und die genutzten Bibliotheken
an anderen Adressen.
- Austricksen: http://security.stackexchange.com/questions/20497
../common/logo-hochschule-bochum-cvh-text.pdf
\ No newline at end of file
../common/logo-hochschule-bochum.pdf
\ No newline at end of file
../common/pgslides.sty
\ No newline at end of file
20220530/rp6.jpg

1.13 MiB

#include <stdio.h>
#include <stdint.h>
typedef struct
{
uint8_t x;
int8_t y;
} data;
int main (void)
{
data d;
d.x = 7;
d.y = -1;
printf ("d.x = %d, d.y = %d\n", d.x, d.y);
return 0;
}
#include <stdio.h>
#include <stdint.h>
typedef union
{
uint8_t x;
int8_t y;
} data;
int main (void)
{
data d;
d.x = 7;
d.y = -1;
printf ("d.x = %d, d.y = %d\n", d.x, d.y);
return 0;
}
#include <stdio.h>
#include <stdint.h>
typedef union
{
uint8_t x;
int8_t y;
} data;
int main (void)
{
data d;
d.y = -1;
d.x = 7;
printf ("d.x = %d, d.y = %d\n", d.x, d.y);
return 0;
}
../common/Retribution_Engine_Screenshot_120807.jpg
\ No newline at end of file
../common/Telefon_t-sinus-700.jpg
\ No newline at end of file
../common/a380.jpg
\ No newline at end of file
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
\documentclass{article}
\input tmp.inputs
\pagestyle{empty}
\begin{document}
\begin{pspicture}(6,2)
\put(3,2){\makebox(0,0)[t]{Harte Echtzeitanforderungen}}
\put(3,0){\makebox(0,0)[b]{Ressourcen optimal nutzen}}
\psline[arrows=<->](3,0.4)(3.2,1.125)(2.8,0.875)(3,1.6)
\end{pspicture}
\end{document}
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment