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. Enlace de dados (data link)
1.1.4.1. Endereço lógico / roteadores
1.1.5. Rede
1.1.5.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.5.2. Controle de sessões entre aplicativos
1.1.6. Sessão
1.1.6.1. É responsável por manter sessões de comunicação entre computadores.
1.1.7. Apresentação
1.1.7.1. É responsável pela codificação de dados.
1.1.8. É responsável por interagir com os usuários finais.
1.1.9. Aplicação
1.1.9.1. Interface com aplicativos
1.1.9.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. As medidas biométricas comuns podem ser divididas em duas categorias.
5.7.2.1. Medidas estáticas / fisiológicas
5.7.2.2. Medidas dinâmicas /comportamentais
5.7.2.2.1. Inflexões de voz
5.7.2.2.2. Dinâmica de digitação
5.7.2.2.3. Movimentos da assinatura
5.7.3. Preocupações em torno da biometria
5.7.3.1. Precisão (accuracy)
5.7.3.1.1. O nível de precisão deverá ser ajustado de acordo com a sensibilidade do que se quer proteger.
5.7.3.2. Aceitabilidade (acceptability)
5.7.3.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.3.3. Tempo de reação (reaction time)
5.7.3.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.4. Precisão
5.7.4.1. Falsa taxa de rejeição
5.7.4.1.1. É a taxa na qual os indivíduos válidos são rejeitados.
5.7.4.2. Taxa de aceitação falsa
5.7.4.2.1. É a taxa na qual os indivíduos inválidos são aceitos.
5.7.4.3. Taxa de erro de crossover
5.7.4.3.1. Uma compensação entre o FRR e o FAR
5.7.4.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. Gerencia a comunicação entre processos e endereços no nível de processos
8. Barramento
9. Principais SOs
9.1. Mainframe
9.1.1. Z/OS (IBM)
9.2. Computadores
9.2.1. Windows (Microsoft)
9.2.2. Linux / Unix
9.2.3. MAC OS X (Apple)
9.3. Dispositivos móveis
9.3.1. Android (Google)
9.3.2. iOSx (Apple)
9.3.3. Windows Mobile
10. Conceitos básicos de SO
10.1. Conceito
10.1.1. É uma coleção de softwares que gerenciam recursos de hardware de computador e fornecem serviços comuns para programas de computador
10.2. Funções
10.2.1. Gerencia
10.2.1.1. processos do computador;
10.2.1.2. memória do computador ;
10.2.1.3. sistema de arquivos;
10.2.1.4. entrada e saída e dados;
10.2.1.5. processos.
10.3. Componentes de um SO
10.3.1. Gerenciamento de processos
10.3.2. Gerenciamento de dispositivo I/O
10.3.3. Gerenciamento de memória
10.3.4. File system
10.3.5. Dispositivos de drivers
10.3.6. Gerenciamento de rede
10.3.7. Segurança
10.4. Dispositivos que tem SO
10.4.1. Computadores
10.4.2. Telefones celulares
10.4.3. Smart TVs
10.4.4. Vídeo games
10.4.5. ATM
10.4.6. Máquina de venda de tickets
11. Security as a Service (SECaaS)
11.1. É um modelo de terceirização para os serviços de segurança.
11.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.
12. Descontinuidade de negócio do provedor (falência ou empresa fechar).
12.1. Principal risco ao usar um SaaS porque pode não existir possibilidade de migrar dados para outro aplicativo
13. Sistemas computacionais
13.1. Aplicações para Servidores
13.1.1. Servidor web
13.1.1.1. Apache
13.1.1.2. Microsoft IIS
13.1.2. Servidor de arquivos
13.1.2.1. Windows
13.1.2.2. Linux
13.1.2.3. Etc.
13.2. Controlador de Domínio
13.2.1. Microsoft Active Directory
13.2.2. LDAP
13.3. Classificações dos SOs por arquitetura
13.3.1. Núcleo mono-lítico ou monobloco
13.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
13.3.1.2. Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD.
13.3.2. Micronúcleo ou modelo cliente-servidor
13.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.
13.3.2.2. Ex.: GNU Hurd, Mach
13.3.3. Sistema em camadas
13.3.3.1. Funções do núcleo serão executadas em camadas distintas, de acordo com seu nível de privilégio
13.3.3.2. Ex.: Multics
13.3.4. Monitor de máquinas virtuais
13.3.4.1. Fornece uma abstração do hardware para vários sistemas operacionais.
13.3.4.2. Ex.: VM/370, VMware, Xen.
13.4. Classificações dos SOs por gerenciamento de processos
13.4.1. Monotarefa
13.4.1.1. Pode executar apenas um processo de cada vez.
13.4.1.2. Exemplo: MS-DOS.
13.4.2. Multitarefa
13.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
13.4.3. Multitarefa cooperativa
13.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.
13.4.3.2. Exemplos: Windows 3.x e versões anteriores ao Mac OS 8.
13.4.4. Multitarefa preemptiva
13.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
13.4.4.2. Exemplos: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc.
13.4.5. Multiprocessamento
13.4.5.1. O SO distribui as tarefas entre dois ou mais processadores
13.5. Tipos de vulnerabilidades
13.5.1. Hardware
13.5.1.1. Emanações, vírus no setor de boot, canais de conversão.
13.5.2. Sistema operacional
13.5.2.1. Vírus, worm, trojan, cryptoware (tipo de ransomware).
13.5.3. Dispositivos dedicados (IoT)
13.5.3.1. Frequentemente desenhados com pouca segurança.
13.6. Principais medidas de segurança
13.6.1. Hardware
13.6.1.1. Smartcard, boot seguro, redundância (RAID), backup, conscientização de segurança para funcionários
13.6.2. Sistema operacional
13.6.2.1. Anti-malware, firewall, gerenciamento de patches, monitoramento, conscientização de segurança
13.6.3. Rede
13.6.3.1. Zona delimitarizada (DMZ) entre rede interna e Internet
13.6.3.2. Servidor proxy, firewall (stateless, stateful, proxy, etc.), Bastion host
13.6.3.3. Detecção de intrusão e prevenção
14. Rede TCP/IP
14.1. Topologias de rede
14.1.1. Estrela
14.1.1.1. É um modelo para construir e usar uma rede e seus recursos.
14.1.2. Anel
14.1.3. Árvore
14.1.4. Malha
14.1.5. Anel duplo
14.1.6. Mista
14.1.7. Wide Area Network (rede de longa distância)
14.1.7.1. Conecta sistemas em uma grande área geográfica.
14.1.7.2. A Internet é um exemplo comum.
14.1.7.3. Roteador (router)
14.1.7.3.1. É um dispositivo que conecta duas ou mais redes e troca seletivamente pacotes de dados entre eles.
14.2. Protocolo
14.2.1. Um protocolo é um conjunto de regras que regem o formato das mensagens trocadas pelos computadores
14.3. Protocolo TCP/IP
14.3.1. IPv4
14.3.2. Protocolo DHCP
14.3.3. Portas comuns
14.3.4. Protocolos comuns
14.3.4.1. Lista de protocolos
14.3.5. Portas para SSL ou TLS
14.3.5.1. Convencionalmente, o HTTPS de um navegador cliente para o servidor usa a porta 443
14.3.5.2. O protocolo SSL é o que criptografa os dados HTTP
14.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.
14.3.5.3.1. Sempre que possível desabilitar o SSL versão 2.o e usar o TLS 1.2
14.3.6. IPv6
14.3.6.1. Tamanho do endereço: número 128-bit
14.4. Protocolos por camada
14.4.1. Imagem
14.5. Riscos de segurança de rede
14.5.1. Fornece um computador com um endereço IPv4, máscara de sub-rede e outras informações de comunicação essenciais.
14.5.2. Categorias de riscos
14.5.2.1. Reconhecimento (reconnaissance)
14.5.2.1.1. reúne informações sobre uma rede para uso em um ataque futuro
14.5.2.2. Escutas (eavesdropping)
14.5.2.2.1. Tamanho do endereço: número 32-bit
14.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.
14.5.2.3. Negação de serviço (denial of service)
14.5.2.3.1. O atacante tem primariamente dois métodos de conduzir uma negação de serviço (denial of service – DoS):
14.5.3. Principais mecanismos de defesa
14.5.3.1. Firewalls
14.5.3.1.1. Tipos
14.5.3.1.2. 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
14.5.3.1.3. Técnicas de implantação
14.5.3.2. Redes virtuais privadas (VPNs)
14.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.
14.5.3.2.2. Principais tecnologias de VPN
14.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
14.5.3.3. Controle de admissão de rede
14.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.
14.5.3.4. Controles de segurança em redes wireless (sem fio)
14.5.3.4.1. Criptografar todos os dados transmitidos
14.5.3.4.2. Desabilitar transmissão de SSID
14.5.3.4.3. Aplicar filtros de endereço MAC
14.5.3.4.4. Escolher o tipo de antena e sua localização
14.5.3.4.5. Controlar o nível de energia
14.5.3.4.6. Usar um portal de cativo
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. Explorando vulnerabilidades
17.1. Tipos de ataques
17.1.1. Indiretos
17.1.1.1. Ocorrem como resultado natural de exploits de código hostis pré-programados, como worms da Internet ou vírus.
17.1.1.2. Exemplos: worm, spam, phishing e botnet.
17.1.2. Diretos
17.1.2.1. Os invasores geralmente realizam ataques diretos contra alvos distintos, como organizações específicas.
17.1.2.2. Exemplos: fraude, espionagem (indústria), roubo de identidade, hacktivismo.
17.2. Propósitos de um ataque
17.2.1. Negação de disponibilidade
17.2.2. Modificação de dados
17.2.3. Exportação de dados
17.2.4. Ponto de partida
17.3. Vírus Infectadores de boot e de arquivos Rootkits Ransomware Worms Trojans horses Spyware Adware Logic bombs Keystroke loggers Backdoors
17.4. Técnicas de cibercrimes
17.4.1. Softwares maliciosos (malware)
17.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)
17.4.2.1. Especialistas em segurança de computadores fornecendo engenharia social, auditorias de código e pentestes.
17.4.3. Ataques comuns
17.5. Modelo STRIDE
17.5.1. Conceito
17.5.1.1. Modelo de classificação de ameaças desenvolvido pela Microsoft para pensar em ameaças à segurança de computadores
17.5.2. Categorias
17.5.2.1. Spoofing (Falsificação)
17.5.2.2. Tampering (Violação)
17.5.2.3. Repudiation (Repúdio)
17.5.2.4. Information Disclosure (Divulgação não autorizada de informação)
17.5.2.5. Denial of Service (Negação de serviço)
17.5.2.6. Elevation of Privilege (Elevação de privilégio)
17.6. Zero day exploit
17.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
17.7. Atores
17.7.1. White hat hackers(hackers éticos)
17.7.1.1. Atuam sob contrato.
17.7.2. Black hat hackers (crackers)
17.7.2.1. Objetivo: benefícios, dinheiro ou status.
17.7.2.2. Hackers especializados em penetração não autorizada de sistemas de informação.
17.7.3. Grey hat hackers
17.7.3.1. Hackers trabalhando sem permissão, mas nem sempre maliciosos.
17.7.3.2. A ética é turva e eles atuam sem contrato.
17.7.4. Testador de penetração
17.7.4.1. Alguém cujo trabalho é atacar sistemas de computador para encontrar falhas de segurança que podem ser corrigidas.
17.7.5. Script kiddies
17.7.5.1. Vândalos usando ferramentas e scripts escritos por outros.
17.7.5.2. Eles não têm o conhecimento para escrever as próprias explorações.
17.7.6. Hacktivistas
17.7.6.1. Estão pedindo atenção para sua causa.
17.7.6.1.1. Hackers com um propósito político, social, religioso ou qualquer outro propósito ideológico.
17.8. Processo genérico de hacking
17.8.1. Reconhecimento (Reconnaissance)
17.8.1.1. É o que deve ser feito antes de qualquer tentativa de penetração em um sistema.
17.8.2. Sondar (Probe)
17.8.2.1. Identifica vulnerabilidades (pontos de contato) com potencial para exploração.
17.8.3. Explorar (Exploit)
17.8.3.1. Explorar, ganhar e manter acesso
17.8.4. Furtar (Stealth)
17.8.4.1. Furtar, esconder sua identidade
17.9. Principais ferramentas usadas para cibercrimes
17.9.1. NMAP (Port scanning)
17.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
17.9.2. John the Ripper (Passwords)
17.9.3. NESSUS (Vulnerability checks)
17.9.4. Metasploit (Windows penetrations)
17.9.5. Ophcrack (Windows passwords)
17.9.6. Aircrack (Wi-Fi)
17.9.7. Kali Linux (“Swiss knife”)