Sub-Reptício Software - Ofuscamento, Aplicação de Marcas D´Água e Resistência a Alterações para Proteção de Software
PROMOÇÃO LOGITECH BEATS E OUTROS
Quem viu este produto , comprou
-
Introdução ao Pentest - 2ª Edição
Introdução ao Pentest irá capacitar o leitor a entender e a realizar o pentest – uma auditoria minuciosa sobre falhas e vulnerabilidades em computadores e redes – e, assim, buscar a melhor forma de solucionar os problemas encontrados. ... Ler mais +
QUERO VER -
Contagem Regressiva até Zero Day
“Contagem Regresiva até Zero Day” abrange muito mais que o Stuxnet. Zetter nos mostra como a guerra digital se desenvolveu nos Estados Unidos. Ela nos leva para dentro do próspero “mercado cinza” de exploits zero-day, onde agências de inteligência e militares pagam enormes quantias em troca dos códigos maliciosos de que precisam para conduzir infiltrações e ataques. Ela revela o quão vulneráveis podem ser muitos dos nossos sistemas críticos face a ações semelhantes à do Stuxnet, partindo de atacantes anônimos ou nações-estado – e nos mostra o que pode acontecer caso nossa infraestrutura seja atingida por um ataque assim. ... Ler mais +
QUERO VER -
Segurança e Auditoria em Sistemas de Informação - 2ª Edição
A informação é o bem mais precioso e estratégico do século XXI. A era da informação disponibiliza este bem em um volume significativo e sem precedentes na história. A preocupação com as ameaças à confidencialidade, integridade e disponibilidade também é crescente e o assunto tem sido tratado nas reuniões dos CIOs e CSOs das grandes corporações. ... Ler mais +
QUERO VER -
Existe um refrão exaustivamente repetido no âmbito dos negócios sobre os profissionais de tecnologia: são pessoas orientadas em demasia ao lado técnico, que não falam a língua do negócio. Nas empresas usuárias de tecnologia, o papel de TI é habilitar negócios e não existe nada que catapulte mais a carreira dos líderes de TI do que habilitar as iniciativas de vendas e marketing. ... Ler mais +
QUERO VER -
Internet das Coisas (IoT): Segurança e Privacidade dos Dados Pessoais
São várias as organizações que estão imbuídas com a nova dinâmica da Lei Geral de Proteção de Dados (LGPD) no Brasil, buscando toda a preparação de ajustes técnicos, legais, operacionais e de processos. Porém, são poucas as que ainda de fato estão conseguindo e têm profissionais preparados para planejar, executar, conduzir e melhorar o cenário em que se encontram, pois agora, mais do que nunca, aspectos complexos como a IoT (Internet das Coisas) estão inseridos nesse contexto. ... Ler mais +
QUERO VER -
Política de Segurança da Informação - 2ª Edição Revisada e Ampliada
Este livro mostra, praticamente, todos os aspectos que são contemplados em uma boa Política de Segurança, assim como, soluções de excelente qualidade para cada assunto, que pode ser implementada utilizando-se o guia apresentado. São abordados assuntos como a classificação das informações, controle acesso, diretrizes de segurança, segregação de funções, backups, tratamento de incidentes, segurança lógica, física, utilização de internet, e-mail, dentre outros. Esta obra é dirigida aos Security Officers, auditores de sistemas, gestores de TI, executivos generalistas e quaisquer interessados em desvendar o tema. ... Ler mais +
QUERO VER -
Ataques de Negação de Serviço DoS e DDoS
O Livro faz a abordagem do estudo de ataques de negação de serviço e ataques distribuídos de negação de serviço, mais conhecidos como DoS e DDoS. Segundo a empresa Arbor Networks ATLAS®, são observados mais de 1800 ataques de DoS e DDoS diariamente. Apresenta um histórico de várias formas de ataque aos sistemas de comunicação antes mesmo de a internet existir, mensurando os tipos de ataques DoS que servem como base para a compreensão dos ataques DDoS. Uma visão geral e atual dos ataques é apresentada. ... Ler mais +
QUERO VER
Quem viu este produto , também se interessou
-
Existe um refrão exaustivamente repetido no âmbito dos negócios sobre os profissionais de tecnologia: são pessoas orientadas em demasia ao lado técnico, que não falam a língua do negócio. Nas empresas usuárias de tecnologia, o papel de TI é habilitar negócios e não existe nada que catapulte mais a carreira dos líderes de TI do que habilitar as iniciativas de vendas e marketing. ... Ler mais +
QUERO VER -
Internet das Coisas (IoT): Segurança e Privacidade dos Dados Pessoais
São várias as organizações que estão imbuídas com a nova dinâmica da Lei Geral de Proteção de Dados (LGPD) no Brasil, buscando toda a preparação de ajustes técnicos, legais, operacionais e de processos. Porém, são poucas as que ainda de fato estão conseguindo e têm profissionais preparados para planejar, executar, conduzir e melhorar o cenário em que se encontram, pois agora, mais do que nunca, aspectos complexos como a IoT (Internet das Coisas) estão inseridos nesse contexto. ... Ler mais +
QUERO VER -
Contagem Regressiva até Zero Day
“Contagem Regresiva até Zero Day” abrange muito mais que o Stuxnet. Zetter nos mostra como a guerra digital se desenvolveu nos Estados Unidos. Ela nos leva para dentro do próspero “mercado cinza” de exploits zero-day, onde agências de inteligência e militares pagam enormes quantias em troca dos códigos maliciosos de que precisam para conduzir infiltrações e ataques. Ela revela o quão vulneráveis podem ser muitos dos nossos sistemas críticos face a ações semelhantes à do Stuxnet, partindo de atacantes anônimos ou nações-estado – e nos mostra o que pode acontecer caso nossa infraestrutura seja atingida por um ataque assim. ... Ler mais +
QUERO VER -
Segurança e Auditoria em Sistemas de Informação - 2ª Edição
A informação é o bem mais precioso e estratégico do século XXI. A era da informação disponibiliza este bem em um volume significativo e sem precedentes na história. A preocupação com as ameaças à confidencialidade, integridade e disponibilidade também é crescente e o assunto tem sido tratado nas reuniões dos CIOs e CSOs das grandes corporações. ... Ler mais +
QUERO VER -
Política de Segurança da Informação - 2ª Edição Revisada e Ampliada
Este livro mostra, praticamente, todos os aspectos que são contemplados em uma boa Política de Segurança, assim como, soluções de excelente qualidade para cada assunto, que pode ser implementada utilizando-se o guia apresentado. São abordados assuntos como a classificação das informações, controle acesso, diretrizes de segurança, segregação de funções, backups, tratamento de incidentes, segurança lógica, física, utilização de internet, e-mail, dentre outros. Esta obra é dirigida aos Security Officers, auditores de sistemas, gestores de TI, executivos generalistas e quaisquer interessados em desvendar o tema. ... Ler mais +
QUERO VER -
Ataques de Negação de Serviço DoS e DDoS
O Livro faz a abordagem do estudo de ataques de negação de serviço e ataques distribuídos de negação de serviço, mais conhecidos como DoS e DDoS. Segundo a empresa Arbor Networks ATLAS®, são observados mais de 1800 ataques de DoS e DDoS diariamente. Apresenta um histórico de várias formas de ataque aos sistemas de comunicação antes mesmo de a internet existir, mensurando os tipos de ataques DoS que servem como base para a compreensão dos ataques DDoS. Uma visão geral e atual dos ataques é apresentada. ... Ler mais +
QUERO VER -
Introdução ao Pentest - 2ª Edição
Introdução ao Pentest irá capacitar o leitor a entender e a realizar o pentest – uma auditoria minuciosa sobre falhas e vulnerabilidades em computadores e redes – e, assim, buscar a melhor forma de solucionar os problemas encontrados. ... Ler mais +
QUERO VER
- DescriçãoSub-Reptício Software - Ofuscamento, Aplicação de Marcas D´Água e Resistência a Alterações para Proteção de Software
Teoria, Técnicas e Ferramentas para o Combate à Pirataria, Alterações e Engenharia Reversa Maliciosa em Software A última década viu significativos progressos no desenvolvimento de técnicas para resistência contra a pirataria e alterações de software. Estas técnicas são indispensáveis para os desenvolvedores de software que procuram proteger propriedade intelectual vital. Software Sub-reptício é o primeiro recurso abrangente e com autoridade para pesquisadores, desenvolvedores e estudantes que queiram entender estas abordagens, o nível de segurança que elas suportam e o impacto no desempenho em que elas incorrem. Christian Collberg e Jasvir Nagra reúnem técnicas tiradas de áreas relacionadas com a ciência da computação, incluindo criptografia, esteganografia, aplicação de marcas d'água, métricas de software, engenharia reversa e otimização de compiladores. Usando extensivos códigos de amostra, eles mostram aos leitores como implementar esquemas de proteção que vão do ofuscamento de código à resistência a alterações e marcas de nascença e discutem as limitações teóricas e práticas destas técnicas - Sobre o Autor
- Especificação
Características
Tipo de Livro Livro Físico Especificações
Sobre o Autor Christian Collberg
Christian Collberg, professor associado de Ciência da computação na Universidade do Arizona, fez pesquisas fundamentais em ofuscamento de código, aplicação de marcas d’água e de nascença em software. Recebeu seu Ph.D. em Ciência da computação da Universidade de Lund, Suécia, e também trabalhou na Universidade de Auckland, Nova Zelândia, e na Academia Chinesa de Ciências, em Beijin, China.
Jasvir Nagra
Jasvir Nagra, tem interesse no projeto de fortes algoritmos de aplicação dinâmica de marcas d'água e trabalhou na aplicação de ofuscamento e resistência a alterações para proteção da integridade de software em execução em plataformas remotas, não confiáveis. Atualmente, trabalha em segurança baseada em linguagens de programação, no Google, na CalifórniaInformações Técnicas Sumário
Prefácio - XXIII
Sobre os autores - XXXIII
Agradecimentos - XXXV
Capítulo 1 Que é software sub-reptício? - 3
1.1 Definindo o cenário - 3
1.2 Ataque e defesa - 8
1.3 Análise de programas - 9
1.3.1 Exemplo simples de engenharia reversa - 11
1.4 Ofuscamento de código - 15
1.4.1 Aplicações do ofuscamento de código - 18
1.4.1.1 Engenharia reversa maliciosa - 18
1.4.1.2 Gerenciamento de direitos digitais - 19
1.4.1.3 Computação de agente móvel - 20
1.4.1.4 Computação em grade - 21
1.4.1.5 Diversidade artificial - 22
1.4.2 Transformações de ofuscamento - 23
1.4.3 Ofuscamento de código de chapéu preto - 28
1.4.3.1 Desvio de alvo - ofuscamento invisível - 29
1.4.3.2 Ofuscamento de vírus - 32
1.5 Resistência a alterações - 35
1.5.1 Aplicações da resistência a alterações - 36
1.5.2 Um exemplo - 38 1.6 Marca d’água de software - 39
1.6.1 Um exemplo - 42
1.6.2 Ataques em sistemas de marca d’água - 44
1.7 Similaridade de software - 46
1.7.1 Plágio - 46
1.7.2 Investigação de Software - 48
1.7.3 Sinais de nascença - 49
1.7.4 Um exemplo de sinal de nascença - 50
1.8 Técnicas de proteção baseadas em Hardware - 53
1.8.1 Distribuição com identificador físico - 53
1.8.2 Amarração do programa à CPU - 54
1.8.3 Assegurando um ambiente de execução segura - 55
1.8.4 Execução encriptada - 56 1.8.5 Barreiras físicas - 57 1.9 Discussão - 59
1.9.1 Razões para usar a proteção de software... - 59
1.9.2 ... e razões para não usá-la - 60
1.9.3 Então, quais algoritmos devo usar? - 61
1.10 Notação - 62
Capítulo 2 Métodos de ataque e defesa - 63
2.1 Estratégias de ataque - 64
2.1.1 Um alvo prototípico de craqueamento - 65
2.1.2 Qual é a motivação do adversário? - 67
2.1.3 O que o adversário procura craquear? - 70
2.1.3.1 Estático versus Dinâmico e Estripado versus Não estripado - 71
2.1.3.2 Formatos de distribuição independentes de arquitetura - 72
2.1.4 Qual a metodologia do ataque do adversário? - 73
2.1.4.1 Análise dinâmica - craqueamento versus depuração - 74
2.1.4.2 Análise dinâmica - explorando falhas na caixa preta - 75
2.1.4.3 Análise estática - 76
2.1.4.4 Edição - 76 2.1.4.5 Automação - 77
2.1.5 Que ferramentas o adversário utiliza? - 77
2.1.6 Quais técnicas o adversário utiliza? - 78
2.1.6.1 Conhecendo o executável - 78
2.1.6.2 Interrupção em funções de biblioteca - 79
2.1.6.3 Correspondência de padrões estáticos - 80
2.1.6.4 Observando a memória - 81
2.1.6.5 Recuperando dados internos - 83
2.1.6.6 Mexendo com o ambiente - 84
2.1.6.7 Correspondência de padrões dinâmica - 85
2.1.6.8 Ataques diferenciais - 86
2.1.6.9 Recuperando algoritmos através da descompilação - 87
2.1.7 Discussão - 88
2.2 Estratégias de defesa - 92
2.2.1 Notação - 93
2.2.2 A primitiva cobertura - 96
2.2.3 A primitiva duplicata - 99
2.2.4 As primitivas divisão e combinação - 102
2.2.5 A primitiva reordenação - 106
2.2.6 A primitiva mapeamento - 107
2.2.7 A primitiva indireta - 110
2.2.8 A primitiva mímica - 112
2.2.9 A primitiva anúncio - 114
2.2.10 A primitiva detecção-resposta - 116
2.2.11 A primitiva dinâmica - 118
2.2.12 Discussão - 120
2.3 Discussão - 121
2.3.1 O que precisamos dos modelos de ataque e defesa? - 121
2.3.2 Como usamos os modelos para divisar algoritmos? - 122
Capítulo 3 Análise do programa - 123
3.1 Análise estática - 124
3.1.1 Análise do fluxo de controle - 125
3.1.1.1 Lidando com exceções - 127
3.1.1.2 Algoritmo REAMB: lidando com código automodificável - 129
3.1.1.3 Identificando laços - 131
3.1.1.4 Fluxo de controle interprocedimental - 132
3.1.2 Análise de fluxo de dados - 134
3.1.3 Análise de dependência de dados - 139
3.1.4 Análise de apelidos - 141
3.1.4.1 Onde ocorre a formação de apelidos? - 141
3.1.4.2 Classificação de problemas de análise de apelidos - 143
3.1.4.3 Algoritmos de análise de apelidos - 145
3.1.5 Fatiamento - 149 3.1.6 Interpretação abstrata - 150
3.2 Análise dinâmica - 152 3.2.1 Depuração - 153
3.2.1.1 Pontos de interrupção por software versus por hardware - 154
3.2.1.2 Algoritmo REBB: depuração reversa - 159
3.2.1.3 Depuração relativa - 165
3.2.2 Traçado de perfil - 168
3.2.2.1 Implementação do perfilador - 169
3.2.3 Rastreamento - 170
3.2.3.1 O algoritmo RELJ: comprimindo traçados - 171
3.2.4 Simulação - 175 3.3 Reconstituindo a fonte - 177
3.3.1 Desmontagem - 180 3.3.1.1 Travessia linear versus recursiva - 181
3.3.1.2 O algoritmo REHM: Desmontando binários estripados - 185
3.3.2 Descompilação - 187
3.3.2.1 O algoritmo RECG: recuperando o fluxo de controle de alto nível - 190
3.3.2.2 Descompilando linguagens de alto nível - 195
3.4 Análise pragmática - 197
3.4.1 Métricas de estilo - 198
3.4.2 Métricas de complexidade de software - 201
3.4.3 Visualização de software - 203 3.5 Discussão - 206
Capítulo 4 Ofuscamento de Código - 209
4.1 Transformações de ofuscamento que preservam a semântica - 210
4.1.1 O algoritmo OBFCF: transformações de diversificação - 211
4.1.1.1 Equivalência de expressões - 212
4.1.1.2 O algoritmo OBFCFreordena: reordenando código e dados - 212
4.1.1.3 O algoritmo OBFCFinexlinha: dividindo e combinando funções - 213
4.1.1.4 O algoritmo OBFCFcopia: copiando código - 214
4.1.1.5 O algoritmo OBFCFinterp: interpretação - 215
4.1.2 O algoritmo OBFTP: renomeação de identificador - 217
4.1.3 Executivas de ofuscamento - 220
4.1.3.1 O algoritmo OBFCTJEO: maximizando o benefício pelo custo - 221
4.1.3.2 O algoritmo OBFHC: modelando dependências - 222
4.2 Definições - 225
4.2.1 Transformações potentes de ofuscamento - 228
4.2.2 Transformações eficazes de ofuscamento - 231
4.2.3 Invisibilidade - 231
4.2.4 Outras definições - 233
4.3 Complicando o fluxo de controle - 234
4.3.1 Expressões opacas - 234
4.3.2 O algoritmo OBFWHKD: achatando o fluxo de controle - 235
4.3.3 Introduzindo apelidos - 238
4.3.3.1 O algoritmo OBFCTJapelido: adicionando apelidos espúrios - 239
4.3.3.2 O algoritmo OBFWHKDapelido: achatamento do fluxo de controle - parte 2 - 240
4.3.4 O algoritmo OBFCTJinócuo: inserindo fluxos de controle fictícios - 244
4.3.4.1 Diagramas irredutíveis - 246
4.3.4.2 Predicados opacos mutuamente dependentes - 247
4.3.5 O algoritmo OBFLDK: saltos através de funções de desvio - 248
4.3.6 Ataques - 251
4.3.6.1 O algoritmo REUDM: ataques dinâmicos contra o achatamento do fluxo de controle - 252
4.3.6.2 O algoritmo REMASB: ataques dinâmicos contra funções de desvio - 255
4.4 Predicados opacos - 256
4.4.1 O algoritmo OBFCTJponteiro: predicados opacos a partir de apelidos de ponteiros - 257
4.4.2 OBFWHKDopaco: valores opacos a partir do uso de apelidos de matriz - 260
4.4.3 O algoritmo OBFCTJsegmento: predicados opacos a partir de concorrência - 262
4.4.4 Quebrando predicados opacos - 264
4.4.4.1 O algoritmo REPMBG: quebrando - 266
4.4.4.2 O algoritmo OBFCTJfatia: impedindo ataques de fatiamento - 268
4.5 Codificações de dados - 269 4.5.1 Codificando inteiros - 272
4.5.1.1 O algoritmo OBFBDKMRVnum: truques da teoria dos números - 273
4.5.1.2 O algoritmo OBFBDKMRVcripto: encriptando inteiros - 274
4.5.2 Codificando booleanos - 277
4.5.2.1 O algoritmo OBFBDKMRVbool [28]: valores múltiplos - 278
4.5.2.2 O algoritmo OBFCTJbool: dividindo booleanos - 278
4.5.3 Codificação de dados literais - 280
4.5.4 Codificando matrizes - 282
4.5.4.1 O algoritmo OBFZCW: permutação de matrizes - 282
4.5.4.2 O algoritmo OBFCTJmatriz: reestruturando matrizes - 284
4.6 Quebrando abstrações - 287
4.6.1 O algoritmo OBFWCassina: combinando assinaturas de funções - 287
4.6.2 O algoritmo OBFCTJclasse: dividindo e combinando classes - 290
4.6.3 O algoritmo OBFDMRVSL: destruindo estruturas de alto nível - 292
4.6.3.1 Um exemplo - 295
4.6.3.2 Avaliação - 302
4.6.4 O algoritmo OBFAJV: modificando as codificações de instruções - 303
4.7 Discussão - 308
Capítulo 5 Teoria do Ofuscamento - 311
5.1 Definições - 315
5.2 Ofuscamento provadamente seguro: possível ou impossível? - 317
5.2.1 O problema da parada de Turing - 318
5.2.2 O algoritmo REAA: programas desofuscadores - 322
5.3 Ofuscamento provadamente seguro: é possível (às vezes)! - 324
5.3.1 O algoritmo OBFLBS: ofuscamento com funções pontuais - 325
5.3.1.1 Ofuscamento do controle de acesso - 328
5.3.1.2 Ofuscamento de expressões regulares - 331
5.3.2 O algoritmo OBFNS: ofuscamento de bases de dados - 333
5.3.3 O algoritmo OBFPP: encriptação homomórfica - 335
5.3.4 O algoritmo OBFCEJO: DES caixa branca - 340
5.3.4.1 DES tradicional - 342
5.3.4.2 Ofuscamento de DES - 344
5.4 Ofuscamento provadamente seguro: é impossível (às vezes)! - 347
5.4.1 Um ofuscador geral - 348
5.4.2 Funções apreensíveis de ofuscamento - 352
5.4.3 Provando que o ofuscamento é impossível - 353
5.4.4 Discussão - 355
5.5 Ofuscamento provadamente seguro: pode ser salvo? - 357
5.5.1 Superando a impossibilidade - 358
5.5.2 Definições revistas: tornar interativo o ofuscamento - 359
5.5.2.1 O problema do avaro - 360
5.5.2.2 O problema do milionário - 361
5.5.3 Definição revista: tornar o ofuscamento não preservador de semântica - 362
5.5.3.1 Chamada a procedimento remoto - 364
5.5.3.2 Execução caixa branca de programa remoto - 365
5.6 Discussão - 367
Capítulo 6 Ofuscamento Dinâmico - 369
6.1 Definições - 372
6.2 Movendo o código - 373
6.2.1 O algoritmo OBFKMNM: substituindo instruções - 374
6.2.2 OBFAGtroca: máquina de estado automodificável - 378
6.2.2.1 Construindo a máquina de estado - 381
6.2.2.2 Execução de exemplo - 387
6.2.2.3 Codificando o exemplo - 388
6.2.3 OBFMAMDSB: combinação dinâmica de código - 388
6.3 Encriptação - 396
6.3.1 OBFCKSP: código como material de chave - 397
6.3.2 OBFAGcript: combinando automodificação e encriptação - 405
6.3.2.1 Um exemplo - 406
6.3.2.2 Derivando o fluxo da chave - 407
6.3.2.3 Codificando o exemplo - 410
6.4 Discussão - 412
Capítulo 7 Resistência a alterações em Software - 415
7.1 Definições - 419
7.1.1 Verificando alterações - 420
7.1.2 Respondendo a alterações - 424
7.1.3 Projeto do sistema - 425
7.2 Introspecção - 426
7.2.1 O algoritmo TPCA: rede de verificadores - 428
7.2.2 Gerando funções de extrato - 432
7.2.3 O algoritmo TPHMST: ocultando valores de extrato - 437
7.2.3.1 Desenho do sistema - 438
7.2.3.2 Construção de intervalos - 440
7.2.3.3 Computando valores de encaixe de corretores - 443
7.2.4 O protocolo ofuscado do Skype - 445
7.2.4.1 O algoritmo REBD: atacando o cliente Skype - 448
7.2.5 O algoritmo REWOS: atacando algoritmos produtores de autoextrato - 449
7.2.5.1 O algoritmo TPGCK: detectando divisões de memória - 452
7.2.6 Discussão - 453
7.3 O algoritmo RETCJ: mecanismos de resposta - 455
7.4 Inspeção de estado - 459
7.4.1 O algoritmo TPCVCPSJ: funções de extrato inconscientes - 462
7.4.2 O algoritmo TPJJV: sobrepondo instruções - 465
7.5 Resistência remota a alterações - 468
7.5.1 Verificação e resposta distribuída - 469
7.5.2 Estratégias de solução - 470
7.5.3 O algoritmo TPZG: funções de fatiamento - 471
7.5.4 O algoritmo TPSLSPDK: medindo hardware remoto - 474
7.5.4.1 Aplicações - 475
7.5.4.2 O protocolo Pioneer - 476
7.5.5 TPCNS: substituição contínua - 477
7.6 Discussão - 480
Capítulo 8 Marca d’água em Software - 483
8.1 História e aplicações - 484
8.1.1 Aplicações - 484
8.1.1.1 Marcas visíveis e invisíveis - 485
8.1.1.2 Marcas rogustas e frágeis - 485
8.1.1.3 Marcas autorais - 486
8.1.1.4 Marcas de impressão digital - 487
8.1.1.5 Marcas de licença - 487
8.1.1.6 Marcas de meta-dados - 488
8.1.1.7 Marcas de validação - 488
8.1.1.8 Marcas de filtragem - 488
8.1.1.9 Marcas secretas - 488
8.1.1.10 Marcas autorais não intencionais - 489
8.1.2 Embutindo uma marca em áudio - 489
8.1.3 Embutindo uma marca numa imagem - 491
8.1.4 Embutindo uma marca num texto em linguagem natural - 492
8.2 Aplicação de marca d’água em software - 495
8.3 Definições - 497
8.3.1 Credibilidade da marca d’água - 498
8.3.2 Ataques - 500
8.3.3 Aplicação de marca d’água e de impressão digital - 502
8.4 Aplicação de marca d’água por permutação - 503
8.4.1 O algoritmo WMDM: reordenando blocos básicos - 505
8.4.2 Re-enumeração - 507
8.4.3 O algoritmo WMQP: melhorando a credibilidade - 508
8.5 Tornando as marcas d’água resistentes a alterações - 512
8.5.1 O algoritmo WMMC: embutindo marcas d’água de média - 512
8.6 Melhorando a resiliência - 516
8.6.1 O algoritmo WMSHKQ: aplicação estatística de marcas d’água - 516
8.6.1.1 Embutindo - 517 8.6.1.2 Reconhecimento - 520
8.6.1.3 Discussão - 522 8.7 Melhorando a invisibilidade - 523
8.7.1 O algoritmo WMMIMIT: mapeando instruções - 523
8.7.2 O algoritmo WMVVS: marcas d’água em diagramas de controle de fluxo (CFGs) - 524
8.7.2.1 Embutindo - 526
8.7.2.2 Reconhecimento - 532
8.7.2.3 Discussão - 533
8.7.3 O algoritmo WMCC: interpretação abstrata - 534
8.7.3.1 Embutindo - 535
8.7.3.2 Reconhecimento - 537
8.7.3.3 Discussão - 538
8.8 Embutimentos esteganográficos - 539
8.8.1 O algoritmo WMASB: o compilador como embutidor - 540
8.8.1.1 Embutimento - 541
8.8.1.2 Reconhecimento - 543
8.8.1.3 Discussão - 544
8.9 Dividindo inteiros de marca d’água - 545
8.9.1 Dividindo uma marca grande em partes menores - 545
8.9.2 Partes redundantes de marca d’água - 546
8.9.2.1 Eliminando partes fictícias - 549
8.9.3 Códigos esparsos para aumento da credibilidade - 550
8.10 Codecs de diagramas - 553
8.10.1 Árvore pai-ponteiro orientada - 553
8.10.2 Diagramas de base - 554
8.10.3 Diagramas de permutação - 554
8.10.4 Árvores cúbicas de plano plantado - 555
8.10.5 Diagramas de permutação redutível - 556
8.11 Discussão - 557
8.11.1 Técnicas de embutimento - 558
8.11.2 Modelos de ataque - 559
Capítulo 9 Marca d’água Dinâmica - 561
9.1 O algoritmo WMCT: explorando apelidos - 566
9.1.1 Um exemplo simples - 567
9.1.2 Problemas de reconhecimento - 569
9.1.3 Aumentando a taxa de bits - 572
9.1.3.1 Escolhendo uma codificação eficaz de diagramas - 573
9.1.3.2 Gerando código minimalista - 574
9.1.3.3 Aumentando a invisibilidade e a taxa de bits pela divisão do diagrama - 575
9.1.4 Aumentando a resiliência a ataques - 577
9.1.4.1 Protegendo contra inversões de vínculos - 578
9.1.4.2 Protegendo contra a divisão de nós - 579
9.1.4.3 Protegendo contra a análise de apelidos - 581
9.1.5 Aumentando a invisibilidade - 582
9.1.5.1 Evitando variáveis globais - 582
9.1.5.2 Evitando classes de nós não invisíveis - 583
9.1.5.3 Evitando cortes fracos - 584
9.1.6 Discussão - 585
9.2 O algoritmo WMNT: explorando o paralelismo - 586
9.2.1 Embutindo widgets de marca d’água - 590
9.2.2 Exemplo de embutimento - 595
9.2.3 Reconhecimento - 598
9.2.4 Evitando ataques de correspondência de padrões - 600
9.2.5 Tornando os Widgets resistentes a alterações - 601
9.2.6 Discussão - 603
9.3 O algoritmo WMCCDKHLScaminhos: Expandindo os caminhos de execução - 605
9.3.1 Codificando e embutindo - 606
9.3.2 Reconhecimento - 612
9.3.3 Discussão - 612
9.4 O algoritmo WMCCDKHLSbf: tornando os caminhos de execução resistentes a alterações - 614
9.4.1 Embutindo - 615
9.4.2 Reconhecimento - 617
9.4.3 Tornando os desvios resistentes a alterações - 618
9.4.4 Discussão - 620
9.5 Discussão - 621
Capítulo 10 Análise de Similaridade de Software - 625
10.1 Aplicações - 626
10.1.1 Detecção de clones - 627
10.1.2 Investigação de software - 629
10.1.3 Detecção de plágios - 633
10.1.4 Detecção de marcas de nascença - 635
10.2 Definições - 636
10.2.1 Medidas de similaridade - 637
10.2.1.1 Similaridade de sequências - 638
10.2.1.2 Similaridade de conjuntos - 639
10.2.1.3 Similaridade de diagramas - 640
10.3 Análise baseada em k-grama - 641
10.3.1 SSSWAPENEIRA: selecionando extratos de k-grama - 642
10.3.2 SSSWAMOSS: detecção de plágio de software - 645
10.3.2.1 Exemplo - código fonte - 647
10.3.3 SSMCkgrama: k-gram de marcas de nascença de Bytecode Java - 648
10.4 Análise baseada em API - 651
10.4.1 SSTNMM: marcas de nascença de orientação por objetos - 652
10.4.2 SSTONMM: marcas de nascença de chamadas dinâmicas a funções - 654
10.4.3 SSSDL: marcas de nascença por k-grama dinâmica de API - 656
10.5 Análise baseada em árvores - 657
10.5.1 SSEFM: detecção de clones com base em ASTs - 657
10.6 Análise baseada em diagramas - 661
10.6.1 SSKH: detecção de clones baseada em PDG - 662
10.6.2 SSLCHY: detecção de plágios baseada em PDG - 666
10.6.3 SSMCwpp: marcas de nascença dinâmicas de um programa inteiro - 667
10.7 Análise baseada em métricas - 670
10.7.1 SSKK: detecção de clones com base em métricas - 671
10.7.2 SSLM: Análise de autoria baseada em métricas - 672
10.7.2.1 Classificação usando histogramas - 674
10.7.2.2 Selecionando as métricas corretas - 675
10.8 Discussão - 679
Capítulo 11 Hardware para Proteção de Software - 681
11.1 Distribuição física anti-pirataria - 683
11.1.1 Proteção de disco de distribuição - 684
11.1.1.1 Proteção de CD de áudio - 684
11.1.1.2 Proteção de CD-ROM - 686
11.1.1.3 Proteção de disquetes - 687
11.1.1.4 Proteção de filmes em DVD - 687
11.1.1.5 Proteção de filmes de alta definição - 690
11.1.2 Dongles - 691
11.1.2.1 Uma típica API de Dongle - 691
11.1.2.2 Atacando Dongles - 695
11.2 Inicialização autenticada, usando um módulo de plataforma confiável - 696
11.2.1 Inicialização confiável - 697
11.2.2 Tirando medidas - 700
11.2.3 O TPM - 702
11.2.4 O questionamento - 703
11.2.5 Questões de privacidade e confiança social - 706
11.2.6 Aplicações e controvérsias - 708
11.3 Execução encriptada - 710
11.3.1 A arquitetura XOM - 712
11.3.1.1 Modificações ISA - 714
11.3.2 Prevenindo ataques de repetição - 716
11.3.3 Corrigindo um barramento de endereços vazante - 718
11.3.4 Corrigindo um barramento de dados vazante - 722
11.3.5 Discussão - 722
11.4 Ataques a dispositivos resistentes a alterações - 723
11.4.1 Drenando o barramento - a mexida no XBOX da Microsoft - 724
11.4.2 Injetando cifras - o DS5002FP da Dallas Semiconductor - 726
11.4.3 Mexendo com Smartcards - 729
11.4.3.1 Ataques invasivos - 731
11.4.4 Ataques não invasivos - 734
11.4.4.1 Ataques de indução a falhas - 734
11.4.4.2 Ataques de temporização - 735
11.4.4.3 Ataques de análise de alimentação - 736
11.4.4.4 Contramedidas - 736
11.4.5 Proteção a nível de placa - 737
11.5 Discussão - 740
Bibliografia - 743
Índice Remissivo - 781Informações Técnicas
Nº de páginas: 832 Origem: Importado Editora: Editora Ciência Moderna Idioma: Português Edição: 1ª Edição Ano: 2010 ISBN: 9788573939118 Encadernação: Brochura Autor: Christian Collberg , Jasvir Nagra - Informações