1. Modelo OSI
1.1. Camadas
1.1.1. Física
1.1.1.1. Hardwares / sinal elétricos /bits
1.1.2. Endereço físico / pontes e switches
1.1.2.1. É responsável pela operação física da rede.
1.1.3. É responsável pela transmissão de informações em computadores conectados à mesma rede de área local (LAN).
1.1.4. Rede
1.1.4.1. Tem como característica principal o endereçamento lógico. Na rede TCP/IP, o endereçamento lógico assume a forma familiar de endereços IP.
1.1.4.1.1. Enlace de dados (data link)
1.1.4.2. Controle de sessões entre aplicativos
1.1.5. Sessão
1.1.5.1. É responsável por manter sessões de comunicação entre computadores.
1.1.6. Apresentação
1.1.6.1. É responsável pela codificação de dados.
1.1.7. É responsável por interagir com os usuários finais.
1.1.8. Aplicação
1.1.8.1. Interface com aplicativos
1.1.8.2. Inclui todos os programas em um computador que interagem com a rede.
2. Tipos de testes
2.1. Teste caixa preta
2.1.1. Não necessita nenhum conhecimento de estruturas internas ou funcionamento.
2.2. Teste caixa cinza
2.2.1. Necessita de conhecimento relevante apenas para os testes específicos.
2.2.2. Fases
2.3. Teste caixa branca
2.3.1. Necessita de conhecimento completo de estruturas internas e funcionamento.
3. Tipos de redes
3.1. Local Area Network (rede de área local)
3.1.1. Fornece conectividade para computadores localizados na mesma área geográfica.
3.1.2. Hub
3.1.2.1. É um dispositivo de rede simples.
3.1.2.2. Quando recebe um pacote em qualquer porta, ele automaticamente retransmite este pacote para todas outras portas.
3.1.3. Switch
3.1.3.1. É melhor que um hub.
3.1.3.2. “Conhece” o endereço MAC de cada sistema conectado a cada porta. Assim saberá para qual porta enviar o pacote de destino.
4. Criptografia
4.1. Termos básicos
4.1.1. Criptografia
4.1.1.1. É a arte de transformar uma mensagem legível em uma forma legível somente para pessoas autorizadas.
4.1.2. Encriptação (encryption)
4.1.2.1. É o processo de transformar texto simples em texto cifrado.
4.1.3. Decriptação (decryption)
4.1.3.1. É o processo de desembaralhar o texto cifrado em texto simples
4.1.4. Criptoanálise (criptoanálise)
4.1.4.1. É o processo de quebrar códigos de criptografia.
4.1.5. Criptosistema (cryptosytem)
4.1.5.1. Refere-se aos algoritmos ou cifras usadas para encriptar e decriptar dados.
4.1.6. Texto simples (plaintext)
4.1.6.1. Dados não criptografados.
4.1.7. Chave (key)
4.1.7.1. É a string de números ou caracteres conhecida apenas pelo remetente e/ou destinatário.
4.1.8. Texto cifrado (ciphertext)
4.1.8.1. Mensagem secreta resultante do criptosistema.
4.1.9. Espaço de chaves (keyspace)
4.1.9.1. Faixa de possíveis valores que podem ser usados para construir uma chave.
4.2. Papel da criptografia
4.2.1. Proteger dados em trânsito
4.2.2. Proteger dados em repouso
4.3. Requisitos que a criptografia satisfaz
4.3.1. Confidencialidade
4.3.1.1. Refere-se a manter as informações legíveis apenas para pessoas autorizadas.
4.3.1.2. A criptografia torna as informações ininteligíveis para qualquer pessoa que não conheça a cifra de criptografia e a chave correta.
4.3.2. Integridade
4.3.2.1. Asseugra que ninguém, nem mesmo o remetente, altere as informações após transmiti-las.
4.3.2.2. A criptografia pode aplicar a integridade com hashes ou somas de verificação.
4.3.3. Autenticação
4.3.3.1. Confirma a identidade de uma entidade. Pode ser o remetente, o computador do remetente, algum dispositivo ou alguma informação.
4.3.3.2. Em geral, a criptografia de chave simétrica tem esse problema. Se um invasor puder ouvir a conversa em que o remetente e o destinatário acordam uma cifra e uma chave, o invasor pode se passar por um usuário legítimo.
4.3.4. Não-repúdio
4.3.4.1. Permite impedir que uma parte negue uma declaração ou ação anterior.
4.3.4.2. Usando criptografia de chave assimétrica, é possível provar matematicamente - geralmente para a satisfação de um juiz ou júri - que uma determinada parte realmente foi a origem de uma mensagem específica em um momento específico.
4.3.4.3. O princípio fundamental da chave de decriptografia assimétrica é que ela usa um par de chaves para encriptar e decriptar. O originador é o único que conhece uma das chaves. Apenas o titular do associado chave privada poderia ter criado esta mensagem.
4.4. Tipos de cifras
4.4.1. Transposição (transposition)
4.4.1.1. Reorganiza caracteres ou bits de dados.
4.4.2. Substituição (substitution)
4.4.2.1. Substitui bits, caracteres ou blocos de informação por outros bits, caracteres ou blocos.
4.5. Encriptação simétrica
4.5.1. Usam a mesma chave para encriptar e decriptar.
4.5.2. Este tipo de cifra é um grande problema para grandes organizações porque a chave de acaba sendo divulgada entre vários funcionários na mesma organização.
4.5.3. Como resultado, isso exige que as duas partes primeiro troquem as chaves para se comunicarem.
4.5.4. Se a chave for compartilhada em ambiente não seguro, facilmente alguém conseguirá interceptar.
4.5.5. Padrões de chave simétrica
4.5.5.1. DES (Data Encryption Standard)
4.5.5.1.1. Desenvolvido originalmente pela IBM.
4.5.5.1.2. Não é mais um algoritmo seguro.
4.5.5.2. Triple DES (3DES)
4.5.5.2.1. É um protocolo que consiste em três passagens de DES (criptografar, decifrar, criptografar) usando chaves múltiplas.
4.5.5.2.2. É computacionalmente seguro devido à segurança subjacente do algoritmo DES e ao espaço-chave amplamente aumentado.
4.5.5.2.3. IDEA (International Data Encryption Algorithm)
4.5.5.3. CAST
4.5.5.3.1. É um algoritmo de permutação de substituição semelhante ao DES.
4.5.5.4. Blowfish
4.5.5.4.1. É uma cifra de bloco de 64 bits que tem um comprimento de chave variável de 32 a 448 bits.
4.5.5.5. AES (Advanced Encryption Standard)
4.5.5.5.1. É uma cifra de bloco.
4.5.5.6. RC2
4.5.5.6.1. É uma cifra de bloco variável do tamanho de chave projetada por Ronald Rivest (RC significa Código de Ron).
4.5.5.6.2. Ele usa um valor de sal como parte de sua rotina de criptografia para tornar a criptoanálise mais difícil.
4.5.5.7. RC4
4.5.5.7.1. Produzido pela RSA Security
4.5.5.7.2. É o algoritmo simétrico de criptografia de fluxo mais usado no software e utilizado nos protocolos mais conhecidos, como Secure Socket Layers (SSL) (para proteger o tráfego Internet) e WEP (para a segurança de redes sem fios).
4.6. Encriptação assimétrica
4.6.1. Uma chave encripta e outra decripta.
4.6.2. Todos têm a chave pública.
4.6.3. Apenas a chave privada consegue decriptar as mensagens.
4.6.4. Padrões de chave assimétrica
4.6.4.1. RSA (Rivest-Shamir-Adleman)
4.6.4.1.1. Amplamente utilizado para transmissão segura de dados.
4.6.4.2. ECC (Elliptic curve cryptosystems)
4.6.4.2.1. É uma aproximação para a criptografia de chave pública com base na estrutura algébrica de curvas elípticas sobre campos finitos
4.7. Funções hash
4.7.1. É um método irreversível (one-way, não descriptografa)
4.7.2. É utilizado principalmente para determinar se os dados se alteraram no caminho.
4.7.3. Muito usado para troca de informações entre aplicativos internos e de terceiros
4.7.4. Algoritmos para gerar hash
4.7.4.1. MD5 (Message-Digest algorithm 5)
4.7.4.1.1. Desenvolvido pelo professor Ronald Rivest, do MIT - ele é o R na RSA .
4.7.4.2. SHA-1 (Secure Hash Algorithm)
4.7.4.2.1. Produz um hash de 160 bits a partir de uma mensagem de qualquer tamanho arbitrário
4.7.5. Sal no hashing da senha
4.7.5.1. É um conjunto de caracteres aleatórios que podemos combinar com uma chave de entrada real para criar a chave de criptografia
4.7.5.2. Cria uma camada segura extra sobre o hash
4.7.5.3. Evitar usar o mesmo "sal" para todas as senhas gravadas em um banco e dados
4.8. Infraestrutura de chave-pública
4.8.1. É baseada em criptografia de chave pública e inclui muito mais do que apenas a criptografia.
4.8.2. Componentes
4.8.2.1. Autoridade de Certificação (CA)
4.8.2.2. Autoridade de Registro (RA)
4.8.2.3. Autoridade de Validação (VA)
4.8.2.4. Certificados Digitais
4.8.2.4.1. Certificate Revocation List (CRL)
4.8.2.4.2. Online Certificate Status Protocol (OCSP)
4.9. Assinatura digital
4.9.1. É uma combinação de um hash forte de uma mensagem, que funciona como uma impressão digital.
4.9.2. Podemos combinar isso com uma chave secreta de um sistema criptográfico simétrico ou assimétrico.
4.10. Certificados Digitais
4.10.1. É um método para confirmar se a informação digital foi produzida ou enviada por alguém – como na assinatura por escrito em documentos em papel.
4.10.2. A chave privada do remente é usada assinar a fim de confirmar a autenticidade
4.10.2.1. Essa chave não pode ser compartilhada com terceiros
4.11. Baseado em criptografia de chave assimétrica.
4.12. Principais dados que são mostrados em um certificado Padrão X.509 versão 3
4.12.1. ID do Algoríticmo
4.12.2. Emissor
4.12.3. Validade
4.12.4. Proprietário (subject)
4.12.5. Chave pública do proprietário
4.12.6. Identificador exclusivo do emissor
4.12.7. Identificador exclusivo do proprietário
4.12.8. Extensões
4.12.9. Assinatura de certificado
4.13. SSL / TLS
4.13.1. Fornece criptografia de dados e autenticação.
4.13.2. Opera na camada Transporte, Sessão, Apresentação e Aplicação do modelo OSI
4.13.3. Todas as versões do SSL (1.0, 2.0 e 3.0) e TLS versões 1.0 e 1.1 são vulneráveis a vários ataques e não devem ser usadas mais.
4.14. IPsec
4.14.1. Usado para proteger o tráfego entre redes.
4.14.2. Usado para VPNs.
4.14.2.1. Preferir usar o modo tunel.
5. Gerenciamento de identidade e acesso
5.1. As 4 partes do controle de acesso
5.1.1. Identificação
5.1.1.1. Políticas de controle de acesso
5.1.1.1.1. É um conjunto de regras que permitem a um grupo de usuários realizar um conjunto específico de ações em um conjunto específico de recursos.
5.1.1.2. Quem esta requisitando o acesso?
5.1.1.3. Como as ações de um indivíduo podem ser rastreadas?
5.1.1.4. A identificação é o método que um sujeito usa para solicitar acesso a um sistema ou recurso.
5.1.2. Autenticação
5.1.2.1. A identidade do requisitante pode ser verificada?
5.1.2.2. Analogia: o policial compara a foto na habilitação com o rosto do motorista
5.1.3. Autorização
5.1.3.1. Autorização é o processo de decidir quem tem acesso a quais computadores e recursos de rede.
5.1.4. Responsabilidade
5.1.4.1. O que exatamente o requisitante pode acessar? E o que ele pode fazer?
5.2. Políticas de autorização
5.2.1. Privilégios atribuídos ao usuário (user assigned privileges)
5.2.1.1. Cada usuário tem privilégios atribuídos específicos.
5.2.2. Política associada a grupo (group membership policy)
5.2.2.1. A autorização é definida para o grupo de usuários.
5.2.3. Política no nível de autoridade (authority-level policy)
5.2.3.1. Usada quando é necessário um alto nível de autoridade para acessar certos recursos.
5.3. Métodos e diretrizes para identificação
5.3.1. Nome de usuário (ID, número da conta ou outro identificador)
5.3.2. Smart card (cartão de crédito, por exemplo)
5.3.3. Biometria (impressão digital, reconhecimento de voz ou face, combinação de DNA, caligrafia, leitura de retina, entre outros)
5.4. Tipos de autenticação
5.4.1. Conhecimento
5.4.1.1. Algo que você sabe, como uma senha, frase secreta ou identificação pessoal número (PIN).
5.4.2. Propriedade
5.4.2.1. Algo que você tem, como um cartão inteligente, chave, distintivo ou token.
5.4.3. Características
5.4.3.1. Pode ser definido como algo que você é.
5.4.4. Localização
5.4.4.1. Onde você está.
5.4.5. Ação
5.4.5.1. Algo que você faz ou como você faz, como a maneira que você digita em um teclado.
5.5. Política de senhas de contas
5.5.1. Considere complexidade da senha
5.5.2. Formas de recuperação
5.5.3. Desativação
5.5.4. Histórico de senhas
5.6. Melhores práticas para gerenciamento de senhas
5.6.1. Criar senhas fortes
5.6.2. Não armazenar uma cópia escrita da senha a não ser que seja absolutamente necessário.
5.6.3. Nunca compartilhar senhas com ninguém.
5.6.4. Usar diferentes senhas para diferentes contas de usuário.
5.6.5. Se achar que uma senha está comprometida, mudá-la mediamente.
5.6.6. Ter cuidado ao salvar senhas em computadores.
5.6.7. Trocar a senha a cada 30 dias.
5.7. Biometria
5.7.1. A biometria envolve a medição de várias partes exclusivas da anatomia ou das atividades físicas de uma pessoa.
5.7.2. Preocupações em torno da biometria
5.7.2.1. Precisão (accuracy)
5.7.2.1.1. O nível de precisão deverá ser ajustado de acordo com a sensibilidade do que se quer proteger.
5.7.2.2. Aceitabilidade (acceptability)
5.7.2.2.1. Certas medições biométricas, como leitura de retina, são mais questionáveis para alguns usuários que outros, como a dinâmica de assinaturas.
5.7.2.3. Tempo de reação (reaction time)
5.7.2.3.1. Cada dispositivo de biometria requer um tempo para chegar à identidade. Quando for muito demorado, o acesso e a produtividade serão reduzidos.
5.7.3. Precisão
5.7.3.1. Falsa taxa de rejeição
5.7.3.1.1. É a taxa na qual os indivíduos válidos são rejeitados.
5.7.3.2. Taxa de aceitação falsa
5.7.3.2.1. É a taxa na qual os indivíduos inválidos são aceitos.
5.7.3.3. Taxa de erro de crossover
5.7.3.3.1. Uma compensação entre o FRR e o FAR
5.7.3.3.2. Ponto em que as duas taxas são iguais
5.8. Modelos de controle de acesso
5.8.1. DAC: Discretionary Access Control
5.8.1.1. O proprietário do recurso define os direitos de cada sujeito ao objeto
5.8.1.2. Permite que um usuário especifique o que outros usuários podem ler em seus documentos
5.8.2. MAC: Mandatory Access Control
5.8.2.1. As decisões de acesso são tomadas e aplicadas pelo sistema de segurança
5.8.3. RBAC: Role Based Access Control
5.8.3.1. Os sujeitos são atribuídos aos papéis, os quais são predefinidos com permissões associadas para realizar certas operações nos objetos.
5.8.4. ABAC: Attribute Based Access Control
5.8.4.1. Define um controle de acesso no qual os direitos de acesso são concedidos aos usuários por meio do uso de políticas que combinam atributos.
5.9. Princípio de separação de deveres
5.9.1. É o processo de dividir uma tarefa em uma série de atividades exclusivas executadas por pessoas diferentes.
5.9.2. Esse princípio impede que as pessoas criem e aprovem seu próprio trabalho.
5.10. Princípios adicionais
5.10.1. Princípio de menos privilégios
5.10.1.1. Significa conceder autorização suficiente para que os usuários façam seus trabalhos, mas nada mais.
5.10.1.1.1. Isso pode reduzir a chance de manuseio inadequado de dados ou a divulgação indevida de informações.
5.10.2. Princípio precisa saber (need to know)
5.10.2.1. É o conceito de impedir que as pessoas tenham acesso a informações de que não precisam para realizar suas tarefas.
5.11. Logon único (SSO)
5.11.1. Uma estratégia de logon único (single sign-on - SSO) permite que os usuários se conectem a um computador ou rede uma vez e tenham suas credenciais de identificação e autorização, permitindo que eles entrem em todos os computadores e sistemas em que estão autorizados.
5.11.2. O SSO reduz o erro humano, que é uma parte importante das falhas do sistema.
5.11.3. Soluções
5.11.3.1. OAuth
5.11.3.1.1. É um protocolo aberto para permitir, a partir da Web, autorizações seguras em método simples e padrão para aplicativos de dispositivos móveis e desktops
5.11.3.2. SAML
5.11.3.2.1. Linguagem de marcação para asserção de segurança.
5.11.3.3. OpenID Connect
5.11.3.3.1. Permite que um usuário use uma conta existente para entrar em vários sites, sem precisar criar novas senhas. Um usuário pode optar por associar informações ao OpenID que podem ser compartilhadas com os sites que mais visita, como um nome ou endereço de e-mail.
5.11.4. Recomenda-se implementar um Serviço de Diretório
5.11.4.1. Fornece uma coleção centralizada de dados de usuário, que pode ser usada por muitos aplicativos
5.12. Autenticação de fator único x dois fatores (duplo)
5.12.1. Autenticação fator único (single-factor authentication)
5.12.1.1. A combinação de nome de usuário e senha é considerada um exemplo, embora requeira dois passos.
5.12.2. Autenticação fator duplo (two-factor authentication)
5.12.2.1. Usa controles de autenticação de duas ou mais das categorias do slide anterior.
6. Do ponto de vista da segurança, a criptografia geralmente ocorre na camada de apresentação.
7. As medidas biométricas comuns podem ser divididas em duas categorias.
7.1. Medidas estáticas / fisiológicas
7.2. Medidas dinâmicas /comportamentais
7.2.1. Inflexões de voz
7.2.2. Dinâmica de digitação
7.2.3. Movimentos da assinatura
8. Gerencia a comunicação entre processos e endereços no nível de processos
9. Barramento
10. Principais SOs
10.1. Mainframe
10.1.1. Z/OS (IBM)
10.2. Computadores
10.2.1. Windows (Microsoft)
10.2.2. Linux / Unix
10.2.3. MAC OS X (Apple)
10.3. Dispositivos móveis
10.3.1. Android (Google)
10.3.2. iOSx (Apple)
10.3.3. Windows Mobile
11. Conceitos básicos de SO
11.1. Conceito
11.1.1. É uma coleção de softwares que gerenciam recursos de hardware de computador e fornecem serviços comuns para programas de computador
11.2. Funções
11.2.1. Gerencia
11.2.1.1. processos do computador;
11.2.1.2. memória do computador ;
11.2.1.3. sistema de arquivos;
11.2.1.4. entrada e saída e dados;
11.2.1.5. processos.
11.3. Componentes de um SO
11.3.1. Gerenciamento de processos
11.3.2. Gerenciamento de dispositivo I/O
11.3.3. Gerenciamento de memória
11.3.4. File system
11.3.5. Dispositivos de drivers
11.3.6. Gerenciamento de rede
11.3.7. Segurança
11.4. Dispositivos que tem SO
11.4.1. Computadores
11.4.2. Telefones celulares
11.4.3. Smart TVs
11.4.4. Vídeo games
11.4.5. ATM
11.4.6. Máquina de venda de tickets
12. Security as a Service (SECaaS)
12.1. É um modelo de terceirização para os serviços de segurança.
12.2. Incluem autenticação, antivírus, anti-malware / spyware, detecção de intrusão, testes de penetração e gerenciamento de eventos de segurança, entre outros.
13. Descontinuidade de negócio do provedor (falência ou empresa fechar).
13.1. Principal risco ao usar um SaaS porque pode não existir possibilidade de migrar dados para outro aplicativo
14. Sistemas computacionais
14.1. Aplicações para Servidores
14.1.1. Servidor web
14.1.1.1. Apache
14.1.1.2. Microsoft IIS
14.1.2. Servidor de arquivos
14.1.2.1. Windows
14.1.2.2. Linux
14.1.2.3. Etc.
14.2. Controlador de Domínio
14.2.1. Microsoft Active Directory
14.2.2. LDAP
14.3. Classificações dos SOs por arquitetura
14.3.1. Núcleo mono-lítico ou monobloco
14.3.1.1. O núcleo consiste em um único processo executando as principais funções numa memória protegida (espaço de núcleo
14.3.1.2. Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD.
14.3.2. Micronúcleo ou modelo cliente-servidor
14.3.2.1. O núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória as quais são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes.
14.3.2.2. Ex.: GNU Hurd, Mach
14.3.3. Sistema em camadas
14.3.3.1. Funções do núcleo serão executadas em camadas distintas, de acordo com seu nível de privilégio
14.3.3.2. Ex.: Multics
14.3.4. Monitor de máquinas virtuais
14.3.4.1. Fornece uma abstração do hardware para vários sistemas operacionais.
14.3.4.2. Ex.: VM/370, VMware, Xen.
14.4. Classificações dos SOs por gerenciamento de processos
14.4.1. Monotarefa
14.4.1.1. Pode executar apenas um processo de cada vez.
14.4.1.2. Exemplo: MS-DOS.
14.4.2. Multitarefa
14.4.2.1. Além do próprio SO, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez
14.4.3. Multitarefa cooperativa
14.4.3.1. Executa dois ou mais programas simultaneamente, mas o programa que está em primeiro plano tem controle sobre o processador. Neste caso, se este programa falhar, o computador é bloqueado e tem que ser reiniciado.
14.4.3.2. Exemplos: Windows 3.x e versões anteriores ao Mac OS 8.
14.4.4. Multitarefa preemptiva
14.4.4.1. É o processador que controla a execução dos programas. Desta forma, ele permite ao sistema operacional recuperar o controle caso um o programa bloqueie. O utilizador perde os trabalhos do programa que falhou, mas os demais programas continuam a trabalhar
14.4.4.2. Exemplos: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc.
14.4.5. Multiprocessamento
14.4.5.1. O SO distribui as tarefas entre dois ou mais processadores
14.5. Tipos de vulnerabilidades
14.5.1. Hardware
14.5.1.1. Emanações, vírus no setor de boot, canais de conversão.
14.5.2. Sistema operacional
14.5.2.1. Vírus, worm, trojan, cryptoware (tipo de ransomware).
14.5.3. Dispositivos dedicados (IoT)
14.5.3.1. Frequentemente desenhados com pouca segurança.
14.6. Principais medidas de segurança
14.6.1. Hardware
14.6.1.1. Smartcard, boot seguro, redundância (RAID), backup, conscientização de segurança para funcionários
14.6.2. Sistema operacional
14.6.2.1. Anti-malware, firewall, gerenciamento de patches, monitoramento, conscientização de segurança
14.6.3. Rede
14.6.3.1. Zona delimitarizada (DMZ) entre rede interna e Internet
14.6.3.2. Servidor proxy, firewall (stateless, stateful, proxy, etc.), Bastion host
14.6.3.3. Detecção de intrusão e prevenção
15. Desenvolvimento de aplicativos e Banco de Dados
15.1. Considerações de segurança no ciclo de vida CVDS
15.1.1. A interface do usuário precisa ser altamente segura.
15.1.2. O tráfego de autenticação precisa ser criptografado (usar SSL/HTTPS, por exemplo).
15.1.2.1. Dados de entrada precisam ser analisados (para evitar ataques de entrada malformados).
15.1.3. Evitar usar componentes com vulnerabilidades conhecidas.
15.1.4. Tamanhos de buffer precisam ser verificados (senão leva ao estouro de buffer).
15.1.4.1. É uma condição na qual um programa em execução armazena dados em uma área fora do local da memória reservada para os dados.
15.1.5. As credenciais de autenticação não devem ser gravadas no aplicativo.
15.1.6. Evitar usar técnicas obscuras de criptografia.
15.1.7. Problemas de segurança específicos da aplicação Web devem ser evitados:
15.1.7.1. Não salvar dados da sessão atual do cliente para a próxima sessão.
15.1.7.2. Evitar limitar o controle de segurança no lado do cliente.
15.2. Aplicativos nativos de celular
15.2.1. São desenvolvidos para uma plataforma específica (por exemplo, roda só em Android)
15.2.2. Isso pode encarecer o desenvolvimento
15.3. Sandbox
15.3.1. É um ambiente de teste que isola mudanças de código não testadas e experimentação direta do ambiente de produção ou repositório.
15.4. Banco de dados
15.4.1. Conceitos básicos
15.4.1.1. Tabelas
15.4.1.1.1. São objetos criados para armazenar os dados fisicamente. Os dados são armazenados em linhas (registros) e colunas (atributo).
15.4.1.2. Chave primária
15.4.1.2.1. Identificador único de um registo em um arquivo.
15.4.1.3. chave-estrangeira
15.4.1.3.1. Atributo que relaciona um registro de uma tabela com o de outra.
15.4.1.4. View
15.4.1.4.1. É uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas) que compõem uma base de dados
15.4.2. Modelos de banco de dados
15.4.2.1. Relacional ou SQL
15.4.2.1.1. Fornece um mecanismo para armazenar e recuperar dados através de relações tabulares.
15.4.2.2. Não relacional NoSQL
15.4.2.2.1. Consiste em dados não relacionais.
15.4.3. OLTP (Online Transaction Processing )
15.4.3.1. São sistemas que se encarregam de registrar todas as transações contidas em uma determinada operação organizacional.
15.5. 10 riscos de segurança mais críticos (OWASP)
15.5.1. A1 Injeção de código
15.5.1.1. Importante validar dados de entrada para evitar esse risco
15.5.2. A2 Quebra de autenticação
15.5.3. A3 Exposição de dados sensíveis
15.5.4. A4 Entidades Externas XML
15.5.5. A5 Quebra de controle de acesso
15.5.6. A7 Cross-site Scripting (XSS)
15.5.7. A6 Má configuração de segurança
15.5.8. A8 Desserialização insegura
15.5.9. A9 Usar componentes com vulnerabilidades conhecidas
15.5.10. A10 Registro e monitoração ineficientes
16. Cloud computing
16.1. Riscos de segurança
16.1.1. Obter garantia de SLA de provedores de cloud pode ser complicado.
16.1.1.1. Lembre-se que o SLA em si não é um risco, o risco é o não cumprimento dele
16.1.2. Jurisdição em que o provedor cloud atua pode ser incerta ou não muito clara.
16.1.3. Criptografia ruim de dados "em trânsito" e dados "in situ“ (no local).
16.1.4. Nenhuma visão clara da arquitetura subjacente usada no serviço cloud.
16.1.5. Capacidade limitada de definir controles e funções de segurança específicos de que o cliente precisa.
16.1.6. Implantações multi-inquilinos insegura.
16.1.7. API do serviço cloud pode ter vulnerabilidades desconhecidas.
16.1.8. Aprisionamento ao provedor cloud devido ao uso de suas funcionalidades ou APIs exclusivas (vendor lock-in).
16.1.9. O término de um contrato com um provedor cloud pode não resultar na exclusão dos dados do cliente.
16.1.10. Vulnerabilidades associadas à interface de autosserviço do provedor de cloud.
16.2. 5 características essenciais
16.2.1. Autosserviço sob demanda
16.2.2. Amplo acesso via rede
16.2.3. Agrupamento de recursos
16.2.4. Elasticidade rápida
16.2.5. Serviço medido
16.3. 4 modelos de implantação
16.3.1. Pública
16.3.1.1. A infraestrutura está disponível para o público em geral (organizações ou indivíduos).
16.3.2. Privada
16.3.2.1. Toda a infraestrutura requerida é operada unicamente para uma organização (cliente).
16.3.3. Híbrida
16.3.3.1. É uma composição de duas ou mais clouds (pública, privada, comunitária).
16.3.4. Comunitária
16.3.4.1. A infraestrutura é compartilhada por um grupo de organizações.
16.4. Identity as a Service (IDaaS)
16.4.1. Refere-se aos serviços de gerenciamento de identidade e de acesso que são oferecidos por meio da nuvem ou SaaS (software-as-a-service) por assinatura.
16.5. 3 modelos de serviço
16.5.1. IaaS
16.5.1.1. Fornece aos usuários a possibilidade de utilizar processamento (servidores virtuais), armazenamento, redes e outros recursos de computação do provedor cloud para implantar e executar sistemas operacionais.
16.5.2. PaaS
16.5.2.1. Fornece aos usuários acesso a uma plataforma preparada para implantação e execução de aplicativos.
16.5.3. SaaS
16.5.3.1. Os usuários usam um software aplicativo na nuvem.
17. Rede TCP/IP
17.1. Topologias de rede
17.1.1. Estrela
17.1.1.1. É um modelo para construir e usar uma rede e seus recursos.
17.1.2. Anel
17.1.3. Árvore
17.1.4. Malha
17.1.5. Anel duplo
17.1.6. Mista
17.1.7. Wide Area Network (rede de longa distância)
17.1.7.1. Conecta sistemas em uma grande área geográfica.
17.1.7.2. A Internet é um exemplo comum.
17.1.7.3. Roteador (router)
17.1.7.3.1. É um dispositivo que conecta duas ou mais redes e troca seletivamente pacotes de dados entre eles.
17.2. Protocolo
17.2.1. Um protocolo é um conjunto de regras que regem o formato das mensagens trocadas pelos computadores
17.3. Protocolo TCP/IP
17.3.1. IPv4
17.3.2. Protocolo DHCP
17.3.3. Portas comuns
17.3.4. Protocolos comuns
17.3.4.1. Lista de protocolos
17.3.5. Portas para SSL ou TLS
17.3.5.1. Convencionalmente, o HTTPS de um navegador cliente para o servidor usa a porta 443
17.3.5.2. O protocolo SSL é o que criptografa os dados HTTP
17.3.5.3. O SSL existe há mais tempo que o TLS, mas está sendo substituído lentamente pelo TLS por ele ser mais seguro.
17.3.5.3.1. Sempre que possível desabilitar o SSL versão 2.o e usar o TLS 1.2
17.3.6. IPv6
17.3.6.1. Tamanho do endereço: número 128-bit
17.4. Protocolos por camada
17.4.1. Imagem
17.5. Riscos de segurança de rede
17.5.1. Fornece um computador com um endereço IPv4, máscara de sub-rede e outras informações de comunicação essenciais.
17.5.2. Categorias de riscos
17.5.2.1. Reconhecimento (reconnaissance)
17.5.2.1.1. reúne informações sobre uma rede para uso em um ataque futuro
17.5.2.2. Escutas (eavesdropping)
17.5.2.2.1. Tamanho do endereço: número 32-bit
17.5.2.2.2. Se um atacante tiver acesso físico a um cabo, ele poderá simplesmente tocar nesse cabo e ver todos os dados passando por ele.
17.5.2.3. Negação de serviço (denial of service)
17.5.2.3.1. O atacante tem primariamente dois métodos de conduzir uma negação de serviço (denial of service – DoS):
17.5.3. Principais mecanismos de defesa
17.5.3.1. Firewalls
17.5.3.1.1. Tipos
17.5.3.1.2. Técnicas de implantação
17.5.3.2. Redes virtuais privadas (VPNs)
17.5.3.2.1. Esta é uma boa maneira de aumentar o nível de segurança dos dados transmitidos pela rede pública de dados.
17.5.3.2.2. Principais tecnologias de VPN
17.5.3.2.3. Recomenda-se sempre usar VPN no modo túnel para funcionários que acessam serviços internos quando estão fora da empresa
17.5.3.2.4. Controla o fluxo de tráfego, impedindo que o tráfego de rede não autorizado entre ou saia de uma parte específica da rede
17.5.3.3. Controle de admissão de rede
17.5.3.3.1. É um sistema de controle de acesso à rede (NAC) que possibilita adicionar mais requisitos de segurança antes de permitir que um dispositivo se conecte à sua rede.
18. Explorando vulnerabilidades
18.1. Tipos de ataques
18.1.1. Indiretos
18.1.1.1. Ocorrem como resultado natural de exploits de código hostis pré-programados, como worms da Internet ou vírus.
18.1.1.2. Exemplos: worm, spam, phishing e botnet.
18.1.2. Diretos
18.1.2.1. Os invasores geralmente realizam ataques diretos contra alvos distintos, como organizações específicas.
18.1.2.2. Exemplos: fraude, espionagem (indústria), roubo de identidade, hacktivismo.
18.2. Propósitos de um ataque
18.2.1. Negação de disponibilidade
18.2.2. Modificação de dados
18.2.3. Exportação de dados
18.2.4. Ponto de partida
18.3. Vírus Infectadores de boot e de arquivos Rootkits Ransomware Worms Trojans horses Spyware Adware Logic bombs Keystroke loggers Backdoors
18.4. Técnicas de cibercrimes
18.4.1. Softwares maliciosos (malware)
18.4.2. Spam Hoaxes Denial of Service (DoS) Botnets Sniffing Engenharia social Human hacking Escuta de rede (eavesdropping) Phishing Ataques a redes wireless Ataques a aplicativos web & servidores Injection Cross-site scripting (XSS) SQL injection Buffer overflow Homepage hijacking (sequestro)
18.4.2.1. Especialistas em segurança de computadores fornecendo engenharia social, auditorias de código e pentestes.
18.4.3. Ataques comuns
18.5. Modelo STRIDE
18.5.1. Conceito
18.5.1.1. Modelo de classificação de ameaças desenvolvido pela Microsoft para pensar em ameaças à segurança de computadores
18.5.2. Categorias
18.5.2.1. Spoofing (Falsificação)
18.5.2.2. Tampering (Violação)
18.5.2.3. Repudiation (Repúdio)
18.5.2.4. Information Disclosure (Divulgação não autorizada de informação)
18.5.2.5. Denial of Service (Negação de serviço)
18.5.2.6. Elevation of Privilege (Elevação de privilégio)
18.6. Zero day exploit
18.6.1. Zero-day" é um termo vago para uma vulnerabilidade ou exploração recentemente descoberta de uma vulnerabilidade que os hackers podem usar para atacar sistemas
18.7. Atores
18.7.1. White hat hackers(hackers éticos)
18.7.1.1. Atuam sob contrato.
18.7.2. Black hat hackers (crackers)
18.7.2.1. Objetivo: benefícios, dinheiro ou status.
18.7.2.2. Hackers especializados em penetração não autorizada de sistemas de informação.
18.7.3. Grey hat hackers
18.7.3.1. Hackers trabalhando sem permissão, mas nem sempre maliciosos.
18.7.3.2. A ética é turva e eles atuam sem contrato.
18.7.4. Testador de penetração
18.7.4.1. Alguém cujo trabalho é atacar sistemas de computador para encontrar falhas de segurança que podem ser corrigidas.
18.7.5. Script kiddies
18.7.5.1. Vândalos usando ferramentas e scripts escritos por outros.
18.7.5.2. Eles não têm o conhecimento para escrever as próprias explorações.
18.7.6. Hacktivistas
18.7.6.1. Estão pedindo atenção para sua causa.
18.7.6.1.1. Hackers com um propósito político, social, religioso ou qualquer outro propósito ideológico.
18.8. Processo genérico de hacking
18.8.1. Reconhecimento (Reconnaissance)
18.8.1.1. É o que deve ser feito antes de qualquer tentativa de penetração em um sistema.
18.8.2. Sondar (Probe)
18.8.2.1. Identifica vulnerabilidades (pontos de contato) com potencial para exploração.
18.8.3. Explorar (Exploit)
18.8.3.1. Explorar, ganhar e manter acesso
18.8.4. Furtar (Stealth)
18.8.4.1. Furtar, esconder sua identidade
18.9. Principais ferramentas usadas para cibercrimes
18.9.1. NMAP (Port scanning)
18.9.1.1. Para saber que portas estão abertas, qual sistema operacional está sendo executado, que serviços estão em execução e quais firewalls estão em uso
18.9.2. John the Ripper (Passwords)
18.9.3. NESSUS (Vulnerability checks)
18.9.4. Metasploit (Windows penetrations)
18.9.5. Ophcrack (Windows passwords)
18.9.6. Aircrack (Wi-Fi)
18.9.7. Kali Linux (“Swiss knife”)
19. Controles de segurança em redes wireless (sem fio)
19.1. Criptografar todos os dados transmitidos
19.1.1. Usar WPA ou WPA2
19.1.2. Usar VPNs para todas as conexões wireless.