ProcessGUIDs are not necessarily unique, especially for non-PIEs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- c
- Área
- operating-systems, security
Línea de trabajo
Comience en ebpfKern/sysmonProcCreate.c alrededor de las líneas 144-147 y siga cómo el ID de máquina, la hora de inicio del proceso y la dirección del segmento de texto forman la ProcessGUID. Reproduzca la colisión iniciando ejecutables non-PIE en un intervalo de un segundo y, a continuación, determine y documente una representación de ProcessKey que evite ProcessGUIDs duplicadas para eventos ProcessCreate distintos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
One can reliably create ProcessGUID collisions from different ProcessCreate events by launching non-Position Independent Executables (PIE) within a second. This has been an issue for me, trying to correlate events.
It looks like ProcessGUIDs are created by combining a few pieces of information:
- 32 bits for machine ID
- 32 bits for process start in Unix time in seconds
- 64 bits for the memory address of the end of the text segment, for a process. https://github.com/Sysinternals/SysmonForLinux/blob/main/ebpfKern/sysmonProcCreate.c#L144-L147
Although most executables on Linux distributions are compiled as PIE, it's not a guaranteed and it's not obvious that Sysmon GUID generation could produce duplicates in this scenario.
Perhaps instead of just using something like the text segment location, other data could be packed into the ProcessKey as well. There's 64 bits to work with and these addresses for PIEs will only have ~28 bits of randomness (measured on default Ubuntu systems with paxtest).
- Lenguaje dominante
- C
- Estrellas
- 2.2k
- Forks
- 222
- Merge medio
- 4 h 50 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/Sysmon-Linux
-
ProcessCreate: ParentImage is empty when the parent starts the process from a non-main threadAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
microsoft/Sysmon-Linux#253 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
microsoft/Sysmon-Linux#252 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
microsoft/Sysmon-Linux#247 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 12/100
microsoft/Sysmon-Linux#246 · 3 comentarios ·
-
Sysmon service executable remains `(deleted)` after restart, causing repeated needrestart restarts and systemd start-limit-hitQuizá libre de nuevo @MarioHewardt la tomó hace 31 días y no hay ningún pull request abierto. Abierto
microsoft/Sysmon-Linux#244 · 1 asignado ·
Todos los issues de microsoft/Sysmon-Linux
Issues similares
-
Implement looks_size reporterAbiertoenhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
bug multiplayer status: planned
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
ChupathingyCE/chupathingyce#851 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
HigherOrderCO/Bend#2104 ·
-
Research radar digest 2026-W46Abiertoresearch-radar
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
good first issue help wanted program
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
hffgzktbcc-blip/ounce-core#297 ·
Los mantenedores suelen responder en 1 día