Oi, Tanto grsecurity quanto selinux e apparmor tem proteção a isso, basta usar. Eu gosto do grsec+PAX (funtoo hardened). Alterar kernel é possível sem reboot sim, tem o ksplice, kpatch e kgraft. De toda forma, se eu já tivesse root em um sistema, a última parte que eu preocuparia em alterar seria o kernel. :D
Abs. 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 22:53, [email protected] <[email protected]> escreveu: > 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ê 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.

