[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] man://dpkg/man/po/de.po [37/77]



Hallo Helge,

#. 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.

Außerdem im nächsten Satz:
warnt dies über Aufrufe → warnt dies bei Aufrufen


#. type: Plain text
#: dpkg-buildflags.man
msgid ""
"This setting (enabled by default if stackprotectorstrong is not in use) adds "
"B<-fstack-protector --param=ssp-buffer-size=4> to B<CFLAGS>, B<CXXFLAGS>, "
"B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and B<FCFLAGS>.  This "
"adds safety checks against stack overwrites. This renders many potential "
"code injection attacks into aborting situations. In the best case this turns "
"code injection vulnerabilities into denial of service or into non-issues "
"(depending on the application)."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert falls stackprotectorstrong nicht "
"verwandt wird) fügt B<-fstack-protector --param=ssp-buffer-size=4> zu "
"B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> "
"und B<FCFLAGS> hinzu. Dies fügt Sicherheitsprüfungen gegen die "
"Überschreibung des Stapelspeichers (Stacks) hinzu. Damit werden viele "
"mögliche Code-Einfügeangriffe zu Abbruchsituationen. Im besten Fall werden "
"damit Code-Einfügungsangriffe zu Diensteverweigerungsangriffen oder zu "
"keinen Problemen (abhängig von der Anwendung)."

ggf. stackprotectorstrong → „stackprotectorstrong“

#. type: Plain text
#: dpkg-buildflags.man
msgid ""
"This feature has the same requirements as B<stackprotector>, and in addition "
"also requires gcc 4.9 and later."
msgstr ""
"Diese Funktionalität stellt die gleichen Anforderungen wie B<stackprotector> "
"und benötigt zusätzlich Gcc 4.9 oder neuer."

Gcc → GCC


#. type: Plain text
#: dpkg-buildflags.man
msgid ""
"This setting (enabled by default) adds B<-fstack-protector-strong> to "
"B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> "
"and B<FCFLAGS>.  This is a stronger variant of B<stackprotector>, but "
"without significant performance penalties."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-fstack-protector-strong> "
"zu B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, "
"B<FFLAGS> und B<FCFLAGS> hinzu. Dies ist eine stärkere Variante von "
"B<stackprotector> allerdings ohne signifikante Einbußen bei der Leistung."

B<stackprotector> allerdings → B<stackprotector>, allerdings


#. 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.
deaktiveren → deaktivieren


#. 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)


#. type: Plain text
#: dpkg-buildflags.man
msgid ""
"PIE is not compatible with B<-fPIC>, so in general care must be taken when "
"building shared objects. But because the PIE flags emitted get injected via "
"gcc specs files, it should always be safe to unconditionally set them "
"regardless of the object type being compiled or linked."
msgstr ""
"PIE ist nicht mit B<-fPIC> kompatibel, daher muss im Allgemeinen Vorsicht "
"beim Bau von Laufzeitbibliotheksobjekten walten gelassen werden. Da aber der "
"ausgegebene PIE-Schalter mittels GCC-Spezifikationsdateien hinzugefügt wird, "
"sollte es immer sicher sein, sie bedingungslos zu setzen, unabhängig von dem "
"Objekttyp, der übersetzt oder gelinkt wird."

Ich weiß, dass du nur ungern den Leser direkt ansprichst, wenn das der
Autor des Originaltexts auch nicht macht. Aber der erste Satz hier
klingt furchtbar und riecht schon etwas streng nach Emil Steinbergers
»Vorstandssitzung«. Vorschlag:

PIE ist nicht zu B<-fPIC> kompatibel, daher müssen Sie beim Bau von
Laufzeitbibliotheksobjekten im Allgemeinen Vorsicht walten lassen.

Außerdem finde ich, dass Kompatibilität eher »zu«, aber nicht »mit«
etwas gegeben ist.


#. type: Plain text
#: dpkg-buildflags.man
msgid ""
"If there is a need to set these flags manually, bypassing the gcc specs "
"injection, there are several things to take into account. Unconditionally "
"and explicitly passing B<-fPIE>, B<-fpie> or B<-pie> to a build-system using "
"libtool is safe as these flags will get stripped when building shared "
"libraries.  Otherwise on projects that build both programs and shared "
"libraries you might need to make sure that when building the shared "
"libraries B<-fPIC> is always passed last (so that it overrides any previous "
"B<-PIE>) to compilation flags such as B<CFLAGS>, and B<-shared> is passed "
"last (so that it overrides any previous B<-pie>) to linking flags such as "
"B<LDFLAGS>. B<Note:> This should not be needed with the default gcc specs "
"machinery."
msgstr ""
"Falls es notwendig ist, diese Schalter manuell zu setzen und die GGC-"
"Spezifikations-Hinzufügung zu umgehen, müssen mehrere Dinge beachtet werden. "
"Die bedingungslose und explizite Übergabe von B<-fPIE>, B<-fpie> oder B<-"
"pie> an das Bausystem mit Libtool ist sicher, da diese Schalter entfernt "
"werden, wenn Laufzeit-Bibliotheken gebaut werden. Andernfalls könnte es bei "
"Projekten, die sowohl Programme wie auch Laufzeit-Bibliotheken bauen, "
"notwendig sein, dass Sie beim Bau der Laufzeit-Bibliotheken sicherstellen, "
"dass B<-fPIC> immer als letztes an die Kompilierungsschalter wie B<CFLAGS> "
"übergeben wird (so dass es jedes frühere B<-PIE> außer Kraft setzen kann) "
"und B<-shared> als letztes an Link-Schalter wie B<LDFLAGS> übergeben wird "
"(so dass es jedes frühere B<-pie> außer Kraft setzen kann). B<Hinweis>: Das "
"sollte mit der Vorgabe-GCC-Spezifikationsmaschinerie nicht notwendig sein."

GGC → GCC
als letztes → als Letztes


Gruß Mario


Reply to: