Hallo Mario, On Fri, Jan 24, 2020 at 05:52:13PM +0100, Mario Blättermann wrote: > #. type: Plain text > #: dpkg-buildflags.man > msgid "" > "This setting (enabled by default) adds B<-Wformat -Werror=format-security> " > "to B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS> and B<OBJCXXFLAGS>. This will warn " > "about improper format string uses, and will fail when format functions are " > "used in a way that represent possible security problems. At present, this " > "warns about calls to B<printf> and B<scanf> functions where the format " > "string is not a string literal and there are no format arguments, as in " > "B<printf(foo);> instead of B<printf(\"%s\", foo);> This may be a security " > "hole if the format string came from untrusted input and contains ‘%n’." > msgstr "" > "Diese Einstellung (standardmäßig aktiviert) fügt B<-Wformat -Werror=format-" > "security> zu B<CFLAGS>, B<CXXFLAGS> B<CXXFLAGS>, B<OBJCFLAGS> und " > "B<OBJCXXFLAGS> hinzu. Damit wird über inkorrekte " > "Formatzeichenkettenverwendungen gewarnt und zu einem Fehler führen, wenn " > "Formatfunktionen deart verwandt werden, dass daraus ein mögliches " > "Sicherheitsproblem werden könnte. Derzeit warnt dies über Aufrufe auf " > "B<printf>- und B<scanf>-Funktionen, bei denen die Formatzeichenkette nicht " > "eine reine Zeichenkette ist und es keine Formatargumente gibt, wie in " > "B<printf(foo);> statt B<printf(\"%s\", foo);>. Dies könnte ein " > "Sicherheitsproblem sein, falls die Formatzeichenkette aus einer " > "unvertrauenswürdigen Eingabe stammt und ‚%n’ enthält." > > »Über etwas warnen« klingt komisch. Ich würde den Satz teilen und umstellen: > Damit erhalten Sie Warnungen bei inkorrekter Verwendung von > Formatzeichenketten. Es würde zu einem Fehler führen, wenn > Formatfunktionen deart verwandt werden, dass daraus ein mögliches > Sicherheitsproblem werden könnte. Habe ich mit würde → wird übernommen. > Außerdem im nächsten Satz: > warnt dies über Aufrufe → warnt dies bei Aufrufen und auf → von > #. type: Plain text > #: dpkg-buildflags.man > msgid "" > "This setting (with no global default since dpkg 1.18.23, as it is enabled by " > "default now by gcc on the amd64, arm64, armel, armhf, hurd-i386, i386, " > "kfreebsd-amd64, kfreebsd-i386, mips, mipsel, mips64el, powerpc, ppc64, " > "ppc64el, riscv64, s390x, sparc and sparc64 Debian architectures) adds the " > "required options to enable or disable PIE via gcc specs files, if needed, " > "depending on whether gcc injects on that architecture the flags by itself or " > "not. When the setting is enabled and gcc injects the flags, it adds " > "nothing. When the setting is enabled and gcc does not inject the flags, it " > "adds B<-fPIE> (via I<%PKGDATADIR%/pie-compiler.specs>) to B<CFLAGS>, " > "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and " > "B<FCFLAGS>, and B<-fPIE -pie> (via I<%PKGDATADIR%/pie-link.specs>) to " > "B<LDFLAGS>. When the setting is disabled and gcc injects the flags, it adds " > "B<-fno-PIE> (via I<%PKGDATADIR%/no-pie-compile.specs>) to B<CFLAGS>, " > "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and " > "B<FCFLAGS>, and B<-fno-PIE -no-pie> (via I<%PKGDATADIR%/no-pie-link.specs>) " > "to B<LDFLAGS>." > msgstr "" > "Diese Einstellung (seit Dpkg 1.18.23 ohne globale Vorgabe, da sie jetzt " > "standardmäßig durch GCC auf den Debian-Architekturen Amd64, Arm64, Armel, " > "Armhf, Hurd-i386, I386, Kfreebsd-amd64, Kfreebsd-i386, Mips, Mipsel, " > "Mips64el, Powerpc, PPC64, PPC64el, Riscv64, S390x, Sparc und Sparc64 " > "aktiviert ist) fügt, falls benötigt, die benötigten Optionen, um PIE zu " > "aktivieren oder zu deaktiveren, über GCC-Spezifikationsdateien hinzu, " > "abhängig davon, ob GCC auf diesen Architekturen die Schalter selbst " > "einspeist oder nicht. Wenn die Einstellung aktiviert ist und GCC den " > "Schalter einspeist, fügt dies nichts hinzu. Wenn die Einstellung aktiviert " > "ist und GCC den Schalter nicht einspeist, dann fügt es B<-fPIE> (mittels I<" > "%PKGDATADIR%/pie-compiler.specs>) zu B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, " > "B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> und B<FCFLAGS> und B<-fPIE -pie> " > "(mittels I<%PKGDATADIR%/pie-link.specs>) zu B<LDFLAGS> hinzu. Wenn die " > "Einstellung deaktiviert ist und GCC den Schalter einspeist, dann fügt es B<-" > "fno-PIE> (mittels I<%PKGDATADIR%/no-pie-compile.specs>) zu B<CFLAGS>, " > "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> und " > "B<FCFLAGS> und B<-fno-PIE -no-pie> (mittels I<%PKGDATADIR%/no-pie-link." > "specs>) zu B<LDFLAGS> hinzu." > > Die Architekturen würde ich hier nicht groß schreiben und > gegebenenfalls sogar in Anführungszeichen setzen. Ich finde die Schreibweise hier i.O., sind Eigennamen. > #. type: Plain text > #: dpkg-buildflags.man > msgid "" > "Position Independent Executable are needed to take advantage of Address " > "Space Layout Randomization, supported by some kernel versions. While ASLR " > "can already be enforced for data areas in the stack and heap (brk and mmap), " > "the code areas must be compiled as position-independent. Shared libraries " > "already do this (B<-fPIC>), so they gain ASLR automatically, but binary ." > "text regions need to be build PIE to gain ASLR. When this happens, ROP " > "(Return Oriented Programming) attacks are much harder since there are no " > "static locations to bounce off of during a memory corruption attack." > msgstr "" > "„Position Independent Executable“ (positionsunabhängige Programme) werden " > "benötigt, um „Address Space Layout Randomization“ (Bereitstellung eines " > "zufälligen Adressbereichlayouts) auszunutzen, der von einigen " > "Kernelversionen bereitgestellt wird. Während ASLR bereits für Datenbereiche " > "auf dem Stapel (Stack) und Heap erzwungen werden kann (brk und mmap), müssen " > "die Codebereiche positionsunabhängig übersetzt werden. Laufzeitbibliotheken " > "machen dies bereits (B<-fPIC>), so dass sie ASLR automatisch erhalten, aber " > "Programm-.text-Regionen müssen mit PIE gebaut werden, um ASLR zu erhalten. " > "Wenn dies passiert, sind ROP- (Return Oriented Programming) Angriffe sehr " > "viel schwerer durchzuführen, da es keine statischen Orte mehr gibt, zu denen " > "während eines Speicherverfälschungsangriffs hingesprungen werden könnte." > > Programm-.text-Regionen → binäre .text-Regionen > (Es geht hier offensichtlich nur um Binaries und nicht um ausführbare > Skripte oder so etwas, die »Programm« mit einschließen müsste) Aber binär ist im Deutschen anders hinterlegt, es gibt binär, oktal, dezimal, hexadezimal … - das führt eher in die Irre, daher neige ich dazu, in solchen Kontexten von »Programm« zu reden. > Außerdem finde ich, dass Kompatibilität eher »zu«, aber nicht »mit« > etwas gegeben ist. Ich würde eher zu »mit« tendieren, habe hier aber mal Deine zu-Variante mit übernommen. Die nicht weiter kommentierten Punkte wie vorgeschlagen übernommen. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
Attachment:
signature.asc
Description: PGP signature