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

[RFR] man://manpages-de/man2/ptrace.2 (Teil 7)



Hallo Mitübersetzer,
und angehängt Teil 7 mit der Bitte um konstruktive Kritik.

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/
#. type: SS
#, no-wrap
msgid "Ptrace access mode checking"
msgstr "Ptrace-Zugriffsmodusüberprüfung"

#. type: Plain text
#, fuzzy
msgid ""
"Various parts of the kernel-user-space API (not just B<ptrace>()  "
"operations), require so-called \"ptrace access mode\" checks, whose outcome "
"determines whether an operation is permitted (or, in a few cases, causes a "
"\"read\" operation to return sanitized data).  These checks are performed in "
"cases where one process can inspect sensitive information about, or in some "
"cases modify the state of, another process.  The checks are based on factors "
"such as the credentials and capabilities of the two processes, whether or "
"not the \"target\" process is dumpable, and the results of checks performed "
"by any enabled Linux Security Module (LSM)\\(emfor example, SELinux, Yama, "
"or Smack\\(emand by the commoncap LSM (which is always invoked)."
msgstr ""
"Verschiedene Teile des Kernel-Benutzerraum-APIs (nicht nur B<ptrace>()-"
"Aktionen) benötigen sogenannte »Ptrace-Zugriffsmodusüberprüfungen«, deren "
"Ergebnis bestimmt, ob eine Aktion erlaubt (oder, in wenigen Fällen, einer "
"»Lese«-Aktion bereinigte Daten zurückliefern) wird. Diese Überprüfungen "
"werden in Fällen durchgeführt, in denen ein Prozess vertrauliche "
"Informationen über einen anderen Prozess einsehen könnte oder in einigen "
"Fällen den Zustand eines anderen Prozesse verändern könnte. Diese "
"Überprüfungen basieren auf Faktoren wie den Berechtigungsnachweisen und den "
"Capabilities der zwei Prozesse, ob der »Ziel«-Prozess FIXME ist und dem "
"Ergebnis der Überprüfungen, die durch jedes aktivierte Linux-"
"Sicherheitsmodul (LSM) – zum Beispiel SELinux, Yama oder Smack – und den "
"FIXME LSM (die immer ausgeführt wird), ausgeführt wird."

#.  commit 006ebb40d3d65338bd74abb03b945f8d60e362bd
#. type: Plain text
msgid ""
"Prior to Linux 2.6.27, all access checks were of a single type.  Since Linux "
"2.6.27, two access mode levels are distinguished:"
msgstr ""
"Vor Linux 2.6.27 waren alle Zugriffsprüfungen von einem einzigen Typ. Seit "
"Linux 2.6.27 werden zwei Zugriffsmodi unterschieden:"

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_READ>"
msgstr "B<PTRACE_MODE_READ>"

#. type: Plain text
msgid ""
"For \"read\" operations or other operations that are less dangerous, such "
"as: B<get_robust_list>(2); B<kcmp>(2); reading I</proc/[pid]/auxv>, I</proc/"
"[pid]/environ>, or I</proc/[pid]/stat>; or B<readlink>(2)  of a I</proc/"
"[pid]/ns/*> file."
msgstr ""
"Für »Lese«-Aktionen oder andere Aktionen, die weniger gefährlich sind, wie "
"B<get_robust_list>(2); B<kcmp>(2); Lesen aus I</proc/[PID]/auxv>, I</proc/"
"[PID]/environ> oder I</proc/[PID]/stat>; oder B<readlink>(2) einer I</proc/"
"[PID]/ns/*>-Datei."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_ATTACH>"
msgstr "B<PTRACE_MODE_ATTACH>"

#
#
#.  Regarding the above description of the distinction between
#.  PTRACE_MODE_READ and PTRACE_MODE_ATTACH, Stephen Smalley notes:
#.      That was the intent when the distinction was introduced, but it doesn't
#.      appear to have been properly maintained, e.g. there is now a common
#.      helper lock_trace() that is used for
#.      /proc/pid/{stack,syscall,personality} but checks PTRACE_MODE_ATTACH, and
#.      PTRACE_MODE_ATTACH is also used in timerslack_ns_write/show().  Likely
#.      should review and make them consistent.  There was also some debate
#.      about proper handling of /proc/pid/fd.  Arguably that one might belong
#.      back in the _ATTACH camp.
#. type: Plain text
msgid ""
"For \"write\" operations, or other operations that are more dangerous, such "
"as: ptrace attaching (B<PTRACE_ATTACH>)  to another process or calling "
"B<process_vm_writev>(2).  (B<PTRACE_MODE_ATTACH> was effectively the default "
"before Linux 2.6.27.)"
msgstr ""
"Für »Schreibe«-Aktionen oder andere Aktionen, die gefährlicher sind, wie "
"Ptrace-Anhängungen (B<PTRACE_ATTACH>) an einen anderen Prozess oder Aufrufe "
"von B<process_vm_writev>(2). (B<PTRACE_MODE_ATTACH> war tatsächlich die "
"Vorgabe vor Linux 2.6.27.)"

#.  commit caaee6234d05a58c5b4d05e7bf766131b810a657
#. type: Plain text
msgid ""
"Since Linux 4.5, the above access mode checks are combined (ORed) with one "
"of the following modifiers:"
msgstr ""
"Seit Linux 4.5 sind die obigen Zugriffsmodusprüfungen mittels ODER mit einem "
"der folgenden Modifikatoren verknüpft:"

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_FSCREDS>"
msgstr "B<PTRACE_MODE_FSCREDS>"

#. type: Plain text
msgid ""
"Use the caller's filesystem UID and GID (see B<credentials>(7))  or "
"effective capabilities for LSM checks."
msgstr ""
"Die Dateisystem-UID und -GID (siehe B<credentials>(7)) oder die effektiven "
"Capabilities für LSM-Prüfungen des Aufrufenden verwenden."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_REALCREDS>"
msgstr "B<PTRACE_MODE_REALCREDS>"

#. type: Plain text
msgid ""
"Use the caller's real UID and GID or permitted capabilities for LSM checks.  "
"This was effectively the default before Linux 4.5."
msgstr ""
"Die echte UID und GID oder die erlaubten Capabilities für LSM-Prüfungen des "
"Aufrufenden verwenden. Dies war vor Linux 4.5 die Vorgabe."

#. type: Plain text
msgid ""
"Because combining one of the credential modifiers with one of the "
"aforementioned access modes is typical, some macros are defined in the "
"kernel sources for the combinations:"
msgstr ""
"Da die Kombination eines der Berechtigungsnachweise-Modifikatoren mit einem "
"der vorgenannten Zugriffsmodi typisch ist, sind ein paar Makros in den "
"Kernelquellen für die Kombinationen definiert."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_READ_FSCREDS>"
msgstr "B<PTRACE_MODE_READ_FSCREDS>"

#. type: Plain text
msgid "Defined as B<PTRACE_MODE_READ | PTRACE_MODE_FSCREDS>."
msgstr "Definiert als B<PTRACE_MODE_READ | PTRACE_MODE_FSCREDS>."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_READ_REALCREDS>"
msgstr "B<PTRACE_MODE_READ_REALCREDS>"

#. type: Plain text
msgid "Defined as B<PTRACE_MODE_READ | PTRACE_MODE_REALCREDS>."
msgstr "Definiert als B<PTRACE_MODE_READ | PTRACE_MODE_REALCREDS>."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_ATTACH_FSCREDS>"
msgstr "B<PTRACE_MODE_ATTACH_FSCREDS>"

#. type: Plain text
msgid "Defined as B<PTRACE_MODE_ATTACH | PTRACE_MODE_FSCREDS>."
msgstr "Definiert als B<PTRACE_MODE_ATTACH | PTRACE_MODE_FSCREDS>."

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_ATTACH_REALCREDS>"
msgstr "B<PTRACE_MODE_ATTACH_REALCREDS>"

#. type: Plain text
msgid "Defined as B<PTRACE_MODE_ATTACH | PTRACE_MODE_REALCREDS>."
msgstr "Definiert als B<PTRACE_MODE_ATTACH | PTRACE_MODE_REALCREDS>."

#. type: Plain text
msgid "One further modifier can be ORed with the access mode:"
msgstr ""
"Ein weiterer Modifikator kann mit den Zugriffsmodus mittels ODER verknüpft "
"werden:"

#. type: TP
#, no-wrap
msgid "B<PTRACE_MODE_NOAUDIT> (since Linux 3.3)"
msgstr "B<PTRACE_MODE_NOAUDIT> (seit Linux 3.3)"

#.  commit 69f594a38967f4540ce7a29b3fd214e68a8330bd
#.  Just for /proc/pid/stat
#. type: Plain text
msgid ""
"Don't audit this access mode check.  This modifier is employed for ptrace "
"access mode checks (such as checks when reading I</proc/[pid]/stat>)  that "
"merely cause the output to be filtered or sanitized, rather than causing an "
"error to be returned to the caller.  In these cases, accessing the file is "
"not a security violation and there is no reason to generate a security audit "
"record.  This modifier suppresses the generation of such an audit record for "
"the particular access check."
msgstr ""
"Diese Zugriffsmodusprüfung nicht auditieren. Dieser Modifikatior wird für "
"Ptrace-Zugriffsmodusprüfungen eingesetzt (wie z.B. Prüfungen beim Lesen von "
"I</proc/[PID]/stat>), die lediglich die Ausgabe filtern oder bereinigen, "
"statt dem Aufrufenden einen Fehler zurückzuliefern. In diesen Fällen ist der "
"Zugriff auf die Datei keine Sicherheitsverletzung und es gibt keinen Grund, "
"einen Sicherheitsauditdatensatz zu erstellen. Dieser Modifikator unterdrückt "
"die Erstellung eines solchen Auditdatensatzes für diese Zugriffsprüfung."

#. type: Plain text
msgid ""
"Note that all of the B<PTRACE_MODE_*> constants described in this subsection "
"are kernel-internal, and not visible to user space.  The constant names are "
"mentioned here in order to label the various kinds of ptrace access mode "
"checks that are performed for various system calls and accesses to various "
"pseudofiles (e.g., under I</proc>).  These names are used in other manual "
"pages to provide a simple shorthand for labeling the different kernel checks."
msgstr ""
"Beachten Sie, dass alle in diesem Unterabschnitt beschriebenen Konstanten "
"B<PTRACE_MODE_*> Kernel-intern und nicht im Anwendungsraum sichtbar sind. "
"Die Konstantennamen werden hier benannt, um den verschiedenen Arten von "
"Ptrace-Zugriffsmodusprüfungen, die für verschiedene Systemaufrufe und "
"Zugriff auf verschiedene Pseudodateien (z.B. unter I</proc>) durchgeführt "
"werden, einen Namen zu geben. Diese Namen werden in anderen Handbuchseiten "
"benutzt, um eine einfache Abkürzung für die Benennung der verschiedenen "
"Kernelprüfungen bereitzustellen."

#. type: Plain text
msgid ""
"The algorithm employed for ptrace access mode checking determines whether "
"the calling process is allowed to perform the corresponding action on the "
"target process.  (In the case of opening I</proc/[pid]> files, the \"calling "
"process\" is the one opening the file, and the process with the "
"corresponding PID is the \"target process\".)  The algorithm is as follows:"
msgstr ""
"Der für Ptrace-Zugriffsmodusprüfungen eingesetzte Algorithmus bestimmt, ob "
"dem aufrufenden Prozess erlaubt wird, die entsprechende Aktion auf dem "
"Zielprozess durchzuführen. (Im Falle des Öffnens von I</proc/[PID]>-Dateien "
"ist der »aufrufende Prozess« derjenige, der die Datei öffnet, und der "
"Prozess mit der entsprechenden PID der »Zielprozess«). Der Algorithmus geht "
"wie folgt:"

#. type: IP
#, no-wrap
msgid "1."
msgstr "1."

#. type: Plain text
msgid ""
"If the calling thread and the target thread are in the same thread group, "
"access is always allowed."
msgstr ""
"Falls der aufrufende Thread und der Ziel-Thread in der gleichen Thread-"
"Gruppe sind, wird der Zugriff immer erlaubt."

#. type: IP
#, no-wrap
msgid "2."
msgstr "2."

#. type: Plain text
msgid ""
"If the access mode specifies B<PTRACE_MODE_FSCREDS>, then, for the check in "
"the next step, employ the caller's filesystem UID and GID.  (As noted in "
"B<credentials>(7), the filesystem UID and GID almost always have the same "
"values as the corresponding effective IDs.)"
msgstr ""
"Falls der Zugriffsmodus B<PTRACE_MODE_FSCREDS> festlegt, dann wird für die "
"Prüfung im nächsten Schritt die Dateisystem-UID und -GID des Aufrufenden "
"verwandt. (Wie in B<credentials>(7) vermerkt haben die Dateisystem-UID und "
"-GID fast immer die gleichen Werte wie die entsprechenden effektiven IDs.)"

#. type: Plain text
msgid ""
"Otherwise, the access mode specifies B<PTRACE_MODE_REALCREDS>, so use the "
"caller's real UID and GID for the checks in the next step.  (Most APIs that "
"check the caller's UID and GID use the effective IDs.  For historical "
"reasons, the B<PTRACE_MODE_REALCREDS> check uses the real IDs instead.)"
msgstr ""
"Andernfalls legt der Zugriffsmodus B<PTRACE_MODE_REALCREDS> fest, so dass "
"die echte UID und GID für die Prüfungen im nächsten Schritt verwandt werden. "
"(Die meisten APIs, die die UIDs und GIDs des Aufrufenden prüfen, verwenden "
"effektive IDs. Aus historischen Gründen verwendet die Prüfung "
"B<PTRACE_MODE_REALCREDS> stattdessen die echten IDs.)"

#. type: IP
#, no-wrap
msgid "3."
msgstr "3."

#. type: Plain text
msgid "Deny access if I<neither> of the following is true:"
msgstr "Zugriff verweigern, falls I<keines> der Folgenden wahr ist:"

#. type: IP
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"

#. type: Plain text
msgid ""
"The real, effective, and saved-set user IDs of the target match the caller's "
"user ID, I<and> the real, effective, and saved-set group IDs of the target "
"match the caller's group ID."
msgstr ""

#. type: Plain text
msgid ""
"The caller has the B<CAP_SYS_PTRACE> capability in the user namespace of the "
"target."
msgstr ""
"Der Aufrufende verfügt über die Capability B<CAP_SYS_PTRACE> in dem "
"Benutzernamensraum des Ziels."

#. type: IP
#, no-wrap
msgid "4."
msgstr "4."

#. type: Plain text
msgid ""
"Deny access if the target process \"dumpable\" attribute has a value other "
"than 1 (B<SUID_DUMP_USER>; see the discussion of B<PR_SET_DUMPABLE> in "
"B<prctl>(2)), and the caller does not have the B<CAP_SYS_PTRACE> capability "
"in the user namespace of the target process."
msgstr ""

#. type: IP
#, no-wrap
msgid "5."
msgstr "5."

#.  (in cap_ptrace_access_check()):
#. type: Plain text
msgid ""
"The kernel LSM I<security_ptrace_access_check>()  interface is invoked to "
"see if ptrace access is permitted.  The results depend on the LSM(s).  The "
"implementation of this interface in the commoncap LSM performs the following "
"steps:"
msgstr ""
"Die Schnittstelle I<security_ptrace_access_check>() wird aufgerufen, um zu "
"erkennen, ob Ptrace-Zugriff erlaubt ist. Das Ergebnis hängt von den LSM(s) "
"ab. Die Implementierung dieser Schnittstelle im LSM Commoncap führt die "
"folgenden Schritte durch:"

#. type: IP
#, no-wrap
msgid "a)"
msgstr "a)"

#. type: Plain text
msgid ""
"If the access mode includes B<PTRACE_MODE_FSCREDS>, then use the caller's "
"I<effective> capability set in the following check; otherwise (the access "
"mode specifies B<PTRACE_MODE_REALCREDS>, so) use the caller's I<permitted> "
"capability set."
msgstr ""
"Falls der Zugriffsmodus B<PTRACE_MODE_FSCREDS> enthält, dann wird die "
"I<effektive> Capability-Menge des Aufrufenden in der nachfolgenden Prüfung "
"verwandt, andernfalls (der Zugriffsmodus legt B<PTRACE_MODE_REALCREDS> fest) "
"wird die I<erlaubte> Capability-Menge des Aufrufenden verwandt."

#. type: IP
#, no-wrap
msgid "b)"
msgstr "b)"

#. type: Plain text
msgid ""
"The caller and the target process are in the same user namespace, and the "
"caller's capabilities are a proper superset of the target process's "
"I<permitted> capabilities."
msgstr ""
"Der aufrufende und der Zielprozess sind im gleichen Benutzernamensraum und "
"die Capabilitys des Aufrufenden sind eine korrekte Obermenge der "
"I<erlaubten> Capabilities des Zielprozesses."

#. type: Plain text
msgid ""
"The caller has the B<CAP_SYS_PTRACE> capability in the target process's user "
"namespace."
msgstr ""
"Der Aufrufende verfügt über die Capability B<CAP_SYS_PTRACE> in dem "
"Benutzernamensraum des Zielprozesses."

#. type: Plain text
msgid ""
"Note that the commoncap LSM does not distinguish between B<PTRACE_MODE_READ> "
"and B<PTRACE_MODE_ATTACH>."
msgstr ""
"Beachten Sie, dass das LSM Commoncap nicht zwischen B<PTRACE_MODE_READ> und "
"B<PTRACE_MODE_ATTACH> unterscheidet."

Attachment: signature.asc
Description: Digital signature


Reply to: