----------------
Este livro ajudará o leitor a entender como fazer da boa qualidade de software parte do projeto uma mudança importante em relação ao ponto em que estamos hoje!” – Tony Scott, Chief Technology Officer, IS&S, General Motors Corporation “Se você se preocupa com vulnerabilidade de software e aplicativos, Como quebrar códigos é uma leitura obrigatória.
Este livro trata de todas as questões importantes e atuais que cercam a segurança de software de uma maneira técnica mas altamente didática e envolvente.” – George Cybenko, Ph.D. Professor de engenharia, Dorothy and Walter Gramm, Dartmouth Editor-chefe fundador, IEEE Security and Privacy Magazine “Como quebrar códigos é o melhor tratamento de todos aqueles que vi sobre vulnerabilidades de software.”
--------------
sumario:
1°-------------------------
Software — a raiz do problema 1
Uma breve história do software 2
O software defeituoso é onipresente
A trindade problemática 12
O futuro do software 21
O que é segurança de software? 29
Conclusão 31
2°---------------------------
Padrões de ataque 33
Uma taxonomia 34
Uma visão dos sistemas abertos 37
Um passeio por uma exploração 42
Padrões de ataque: Plantas para o desastre 49
Exemplo de exploração: O compilador C++ da Microsoft quebrado
Aplicando os padrões de ataque 58
Caixas de padrão de ataque 62
Conclusão 62
3°---------------------------
Engenharia reversa e entendimento do programa
No terreno da lógica 63
A engenharia reversa deveria ser ilegal? 67
Ferramentas de engenharia reversa e conceitos 68
As abordagens da engenharia reversa 70
Métodos do reversor 75
Escrevendo plugins para o IDA (Interactive Disassembler) 82
Descompilando e desassembando software 94
Descompilação na prática: Revertendo helpctr.exe 95
Auditoria automática em massa de vulnerabilidades 100
Escrevendo suas próprias ferramentas de cracking 109
Criando uma ferramenta básica de cobertura de código 126
Conclusão 131
4°---------------------------
Explorando software servidor 133
O problema da entrada confiável 134
O problema de elevação de privilégios 136
Descobrindo os pontos de injeção 139
Rastreamento de caminhos de entrada 141
Explorando a confiança via configuração 146
Técnicas específicas e ataques contra software servidor
Conclusão 180
5°--------------------------
A arte de exploração de software cliente 181
Programas client-side como alvos de ataque 181
Sinais in-band 184
Cross-site Scripting (XSS) 190
Scripts clientes e código malicioso 195
Ataques baseados no conteúdo 206
Ataques retroativos: Buffer overflows no cliente 207
Conclusão 208
6°--------------------------
Criando entradas (maliciosas) 209
O dilema do defensor 211
(Não) Detecção de invasão 213
Análise de partição 217
Rastreamento de código 219
Engenharia reversa do código do parser 228
Exemplo: Revertendo o I-Planet Server 6.0 232
Classificação incorreta 237
Criando solicitações “equivalentes” 238
Envenenamento de auditoria 247
Conclusão 248
7°--------------------------
Buffer overflow 249
Princípios básicos do buffer overflow 249
Vetores de injeção: A entrada vence novamente 252
Buffer overflows e sistemas embarcados 258
Buffer overflows em banco de dados 260
Buffer overflows e Java?! 262
Buffer overflow baseado no conteúdo 264
Truncamento de auditoria e filtros com buffer overflow 266
Causando overflow com variáveis de ambiente 267
O problema de operações múltiplas 268
Localizando buffer overflows potenciais 268
Stack overflow 270
Erros ariméticos no gerenciamento de memória 276
Vulnerabilidades das strings de formato 285
Heap Overflows 292
Buffer overflows e C++ 296
Payloads 296
Payloads em arquiteturas RISC 303
Payload multiplataforma 322
Código de prólogo/epílogo para proteger as funções 324
Conclusão 330
8°------------------------
Rootkits 331
Programas subversivos 331
Um rootkit de kernel simples para o Windows XP 333
Interceptações de chamadas 343
Redirecionamento executável troiano 348
Ocultando arquivos e diretórios 354
Modificando o código binário 356
O vírus de hardware 369
Acesso de baixo nível ao disco 388
Adicionando suporte de rede a um driver 389
Interrupções 397
Key logging 401
Tópicos avançados em rootkit 403
Conclusão 404
-----------------------
1°-------------------------
Software — a raiz do problema 1
Uma breve história do software 2
O software defeituoso é onipresente
A trindade problemática 12
O futuro do software 21
O que é segurança de software? 29
Conclusão 31
2°---------------------------
Padrões de ataque 33
Uma taxonomia 34
Uma visão dos sistemas abertos 37
Um passeio por uma exploração 42
Padrões de ataque: Plantas para o desastre 49
Exemplo de exploração: O compilador C++ da Microsoft quebrado
Aplicando os padrões de ataque 58
Caixas de padrão de ataque 62
Conclusão 62
3°---------------------------
Engenharia reversa e entendimento do programa
No terreno da lógica 63
A engenharia reversa deveria ser ilegal? 67
Ferramentas de engenharia reversa e conceitos 68
As abordagens da engenharia reversa 70
Métodos do reversor 75
Escrevendo plugins para o IDA (Interactive Disassembler) 82
Descompilando e desassembando software 94
Descompilação na prática: Revertendo helpctr.exe 95
Auditoria automática em massa de vulnerabilidades 100
Escrevendo suas próprias ferramentas de cracking 109
Criando uma ferramenta básica de cobertura de código 126
Conclusão 131
4°---------------------------
Explorando software servidor 133
O problema da entrada confiável 134
O problema de elevação de privilégios 136
Descobrindo os pontos de injeção 139
Rastreamento de caminhos de entrada 141
Explorando a confiança via configuração 146
Técnicas específicas e ataques contra software servidor
Conclusão 180
5°--------------------------
A arte de exploração de software cliente 181
Programas client-side como alvos de ataque 181
Sinais in-band 184
Cross-site Scripting (XSS) 190
Scripts clientes e código malicioso 195
Ataques baseados no conteúdo 206
Ataques retroativos: Buffer overflows no cliente 207
Conclusão 208
6°--------------------------
Criando entradas (maliciosas) 209
O dilema do defensor 211
(Não) Detecção de invasão 213
Análise de partição 217
Rastreamento de código 219
Engenharia reversa do código do parser 228
Exemplo: Revertendo o I-Planet Server 6.0 232
Classificação incorreta 237
Criando solicitações “equivalentes” 238
Envenenamento de auditoria 247
Conclusão 248
7°--------------------------
Buffer overflow 249
Princípios básicos do buffer overflow 249
Vetores de injeção: A entrada vence novamente 252
Buffer overflows e sistemas embarcados 258
Buffer overflows em banco de dados 260
Buffer overflows e Java?! 262
Buffer overflow baseado no conteúdo 264
Truncamento de auditoria e filtros com buffer overflow 266
Causando overflow com variáveis de ambiente 267
O problema de operações múltiplas 268
Localizando buffer overflows potenciais 268
Stack overflow 270
Erros ariméticos no gerenciamento de memória 276
Vulnerabilidades das strings de formato 285
Heap Overflows 292
Buffer overflows e C++ 296
Payloads 296
Payloads em arquiteturas RISC 303
Payload multiplataforma 322
Código de prólogo/epílogo para proteger as funções 324
Conclusão 330
8°------------------------
Rootkits 331
Programas subversivos 331
Um rootkit de kernel simples para o Windows XP 333
Interceptações de chamadas 343
Redirecionamento executável troiano 348
Ocultando arquivos e diretórios 354
Modificando o código binário 356
O vírus de hardware 369
Acesso de baixo nível ao disco 388
Adicionando suporte de rede a um driver 389
Interrupções 397
Key logging 401
Tópicos avançados em rootkit 403
Conclusão 404
-----------------------
Download:
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...