Hallo Mitübersetzer, und angehängt Teil 7 mit der Bitte um konstruktive Kritik.
Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann deb...@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."
signature.asc
Description: Digital signature