2015-12-22 19:34 GMT-02:00 Raphael Bastos <[email protected]>:

> Oi,
>
> Não. O procedimento que eu adoto é de compilar o kernel, copiar a chave
> privada pra um pendrive qualquer, assino os módulos que desejo e em seguida
> apago a chave privada do disco.
>
> Todo módulo compilado externamente necessita da assinatura para ser
> carregado para o kernel, logo a pessoa pode até obter acesso root, escrever
> em /lib/modules e tudo, porém não será carregado visto que o modulo (ou
> rootkit) necessita da chave privada para o tal. Se você remove a chave
> privada do disco, voilá, sua defesa quanto a isso está feita.
>

Sim, isso foi o que me intrigou. No entanto, embora seja complicado, se os
fontes do kernel permanecerem na máquina, o "malfeitor", com acesso root,
ainda poderia retirar a opção que precisa estar ativa no kernel e
recompilá-lo. Certo?  Claro, um reset ainda seria necessário e percebido.
Ou já existe um jeito operacional de "trocar o kernel" sem reset?

Fiquei imaginando que o "hardening" teria que ser tal que, pelo menos pelos
caminhos "óbvios", um eventual malfeitor não poderia "desfazer" a proteção.
Deixar a chave guardada em outro lugar pode ser uma opção para o caso de
alguém assinar qualquer módulo, mas ainda penso que seria necessário
remover os outros caminhos "óbvios".

Isso se não perdi nenhum detalhe e, claro, sempre haverá uma (ou muitas)
brecha. :-)

Obrigado.

Cássio

2015-12-22 19:34 GMT-02:00 Raphael Bastos <[email protected]>:

> Oi,
>
> Não. O procedimento que eu adoto é de compilar o kernel, copiar a chave
> privada pra um pendrive qualquer, assino os módulos que desejo e em seguida
> apago a chave privada do disco.
>
> Todo módulo compilado externamente necessita da assinatura para ser
> carregado para o kernel, logo a pessoa pode até obter acesso root, escrever
> em /lib/modules e tudo, porém não será carregado visto que o modulo (ou
> rootkit) necessita da chave privada para o tal. Se você remove a chave
> privada do disco, voilá, sua defesa quanto a isso está feita.
>
>
> Att,
> Raphael Bastos aka Coffnix
>
> *====================================================*
> * Linux Reg. User*: 388431  //  *LPI ID:* LPI000214711
> *email:~> $* echo "xgvngkrhgyzuyFngiqyzuxk4ius4hx" | perl -pe \
> 's/(.)/chr(ord($1)-2*3)/ge'
> *Public Key:* 3FBB468B //
> http://www.hackstore.com.br/coffnix/coffnix-pgp-key.txt
> *Yaxkin/Gentoo Linux* - http://downloads.hackstore.com.br
> *Wiki Hackstore* - http://wiki.hackstore.com.br
> *Área 31 Hackerspace* - http://www.area31.net.br
> *Kankin/Funtoo Linux* - http://kankin.area31.net.br
> *====================================================*
>
> Em 22 de dezembro de 2015 18:43, [email protected] <[email protected]>
> escreveu:
>
>> 2015-12-22 18:37 GMT-02:00 Raphael Bastos <[email protected]
>> >:
>>
>>> Casfre, não entendi a pergunta.
>>>
>>
>> Raphael, eu ainda não conhecia essa opção. Achei ótimo saber. Mas fiquei
>> pensativo, a assinatura do módulo (conforme mostra no documento) é feita na
>> máquina onde estão os componentes? O que me intriga: qualquer um, com
>> acesso root (imagino que vai escrever em /lib/modules) pode validar
>> qualquer módulo?
>>
>> Obrigado.
>>
>> Cássio
>>
>>
>>>
>>>
>>> Att,
>>> Raphael Bastos aka Coffnix
>>>
>>> *====================================================*
>>> * Linux Reg. User*: 388431  //  *LPI ID:* LPI000214711
>>> *email:~> $* echo "xgvngkrhgyzuyFngiqyzuxk4ius4hx" | perl -pe \
>>> 's/(.)/chr(ord($1)-2*3)/ge'
>>> *Public Key:* 3FBB468B //
>>> http://www.hackstore.com.br/coffnix/coffnix-pgp-key.txt
>>> *Yaxkin/Gentoo Linux* - http://downloads.hackstore.com.br
>>> *Wiki Hackstore* - http://wiki.hackstore.com.br
>>> *Área 31 Hackerspace* - http://www.area31.net.br
>>> *Kankin/Funtoo Linux* - http://kankin.area31.net.br
>>> *====================================================*
>>>
>>> Em 22 de dezembro de 2015 18:06, [email protected] <[email protected]>
>>> escreveu:
>>>
>>>> 2015-12-22 16:04 GMT-02:00 Raphael Bastos <
>>>> [email protected]>:
>>>>
>>>>> Oi,
>>>>>
>>>>> Documentei a mais recente mudança do kernel Linux na versão 4.3.3
>>>>> referente a assinatura de módulos compilados fora do kernel.
>>>>>
>>>>> https://wiki.hackstore.com.br/Assinando_m%C3%B3dulos_do_kernel
>>>>>
>>>>> Na prática mudou de:
>>>>>
>>>>> # perl /usr/src/linux/scripts/sign-file  <hash algo> <key> <x509>
>>>>>
>>>>> para:
>>>>>
>>>>> # /usr/src/linux/scripts/sign-file  <hash algo>
>>>>> /usr/src/linux/certs/signing_key.pem /usr/src/linux/certs/signing_key.x509
>>>>>
>>>>> Mudanças:
>>>>>
>>>>> 1- Trocaram o script de assinatura de perl pra C
>>>>> 2- Colocaram todos os arquivos de assinatura no diretório
>>>>> /usr/src/linux/certs/
>>>>> 3- O arquivo de chave privada agora se chama "signing_key.pem" ao
>>>>> invés de "signing_key.priv"
>>>>>
>>>>> Na oportunidade, atualizei a doc do Gentoo e mais tarde vou atualizar
>>>>> a do Funtoo. Atualizem vocês a doc do Slackware caso queiram :D
>>>>>
>>>>> https://wiki.gentoo.org/wiki/Signed_kernel_module_support
>>>>>
>>>>
>>>> Pensativo aqui: isso seria feito na própria máquina, onde estão o
>>>> módulo, os sources, o script/aplicativo de assinatura e a respectiva chave?
>>>>
>>>> Obrigado.
>>>>
>>>> Cássio
>>>>
>>>> --
>>>> GUS-BR - Grupo de Usuários de Slackware Brasil
>>>> http://www.slackwarebrasil.org/
>>>> http://groups.google.com/group/slack-users-br
>>>>
>>>> Antes de perguntar:
>>>>
>>>> http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
>>>>
>>>> Para sair da lista envie um e-mail para:
>>>> [email protected]
>>>> ---
>>>> Você recebeu essa mensagem porque está inscrito no grupo "Slackware
>>>> Users Group - Brazil" dos Grupos do Google.
>>>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>>>> envie um e-mail para [email protected].
>>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> GUS-BR - Grupo de Usuários de Slackware Brasil
>>> http://www.slackwarebrasil.org/
>>> http://groups.google.com/group/slack-users-br
>>>
>>> Antes de perguntar:
>>>
>>> http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
>>>
>>> Para sair da lista envie um e-mail para:
>>> [email protected]
>>> ---
>>> Você recebeu essa mensagem porque está inscrito no grupo "Slackware
>>> Users Group - Brazil" dos Grupos do Google.
>>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>>> envie um e-mail para [email protected].
>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>
>>
>> --
>> GUS-BR - Grupo de Usuários de Slackware Brasil
>> http://www.slackwarebrasil.org/
>> http://groups.google.com/group/slack-users-br
>>
>> Antes de perguntar:
>>
>> http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
>>
>> Para sair da lista envie um e-mail para:
>> [email protected]
>> ---
>> Você recebeu essa mensagem porque está inscrito no grupo "Slackware Users
>> Group - Brazil" dos Grupos do Google.
>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>> envie um e-mail para [email protected].
>> Para mais opções, acesse https://groups.google.com/d/optout.
>>
>
> --
> GUS-BR - Grupo de Usuários de Slackware Brasil
> http://www.slackwarebrasil.org/
> http://groups.google.com/group/slack-users-br
>
> Antes de perguntar:
>
> http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao
>
> Para sair da lista envie um e-mail para:
> [email protected]
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Slackware Users
> Group - Brazil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
> um e-mail para [email protected].
> Para mais opções, acesse https://groups.google.com/d/optout.
>

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.vivaolinux.com.br/artigo/Como-elaborar-perguntas-para-listas-de-discussao

Para sair da lista envie um e-mail para:
[email protected]
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Slackware Users 
Group - Brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um 
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/d/optout.

Responder a