Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

415
Visualizações
Interceptar el cargador ELF en el kernel de Linux: archivo fs/binfmt_elf.c a través del módulo del kernel cargable

Soy nuevo en la codificación del kernel y en este momento estoy trabajando con archivos ELF que se han modificado un poco por motivos de seguridad, por lo que necesito ver algunos de sus encabezados de sección personalizados y extraer la clave de cifrado de código único para el CPU para descifrar el contenido del ELF modificado.

En la actualidad, la lógica anterior se ha implementado dentro de la función load_elf_binary en el archivo fs/binfmt_elf.c en el árbol fuente del núcleo, sin embargo, solo se trata de 250 líneas de cambio de código para las que necesito volver a compilar todo el núcleo, por lo que estoy buscando improvisar esta funcionalidad implementándola como un módulo de kernel cargable (LKM) para que cada vez que se cargue un ELF compruebe si es el ELF modificado o no y, si lo es, extraiga la clave de la sección correspondiente.

EDITAR: para resumirlo, estoy buscando hacer un módulo de kernel cargable para leer las secciones de un ELF y obtener el contenido de una sección personalizada que contiene la clave de cifrado y los metadatos relacionados y establecer esos valores en los registros de la CPU.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Sí, es posible , pero definitivamente no es fácil. Incluso hay una instalación de kernel compatible "kprobes" que le permite insertar llamadas a su propio código desde ubicaciones específicas (consulte Documentation/kprobes.txt ). Si insertar llamadas a su propio código no es suficiente, creo que necesitaría usar el mismo tipo de mecanismos que kprobe: parchear la ubicación deseada sobrescribiendo las instrucciones con jmp s o call s en su propio código.

Una vez trabajé en una empresa cuyo producto de seguridad instalaba sus ganchos al parchear en tiempo de ejecución el kernel de Windows. Esto es más o menos lo mismo, aunque al menos con Windows en ese momento había un número finito de versiones que debían ser compatibles.

Entonces, definitivamente es posible, pero no me gustaría intentarlo. Será muy frágil; en efecto, estará tratando de alcanzar un objetivo en movimiento. Es probable que cada parche de seguridad del kernel o actualización de versión rompa su código.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda