O documento discute vários tópicos importantes sobre segurança da informação que deveriam ter sido ensinados na graduação, incluindo: 1) Extensões de arquivos não determinam o tipo real do arquivo. 2) Representações binárias vão além de hexadecimal. 3) Características e aplicações da criptografia simétrica, assimétrica e hashing.
3. 1. Extensões de arquivos não são o tipo do arquivo
● Extensão é parte do nome do arquivo.
● Abrir um arquivo em um programa automaticamente é apenas uma
amarração entre extensão/programa.
● Magic bytes são amigos.
5. 2. Hex não é a única representação de binário
● Binário são bits.
● Geralmente armazenados como uma sequência de bytes em programação.
● Representados por diversas formas diferentes.
● ASCII.
8. 2. Hex não é a única representação de binário
otpauth://totp/Teste:Rafael?secret=3
SSRNV2445TNZWCQGDS64KGTRP
DQKYAX&issuer=Teste&period=30&
algorithm=SHA1
9. 3. Características e aplicação da criptografia
● Simétrica a mesma chave para os dois processos. Mais leve.
● Assimétrica um par de chaves. Mais pesado.
● Hashing para transformação de um dado em uma sequência suficientemente
aleatória. Irreversível.
13. 4. Hashing puro não é suficiente para a senha
● Rainbow tables.
● Salt atrapalha a vida do atacante.
● Rounds atrapalham mais ainda a vida do atacante.
16. 5. Entender as requisições HTTP
● Tim Bernes-Lee.
● O que são todos esses cabeçalhos?
● Achar um DELETE ou PUT em uma página não significa que você vai
conseguir fazer algo.
● É possível enviar informações no corpo de requisições GET.
● Analisar um sistema pelas suas requisições é muito eficiente.
20. 6. Se está na mão do usuário, não está seguro
● O código é reversível, muitas vezes de forma fácil.
● Subiu para memória, não é seu mais.
● Sistemas cliente/servidor.
26. 7. Entender de infraestrutura
● A internet e os sistemas que você usa estão em cima de infra, sabia?
● Entender de infra é fundamental para entender a segurança como um todo.
● Storage, redes, AD, backup...
● Aprendizado contínuo.
● Diagramas são boas fontes.
31. 9. Você é humano
● Você não sabe tudo.
● Nem vai saber.
● E nem deve.
32.
33. Referências
● Assinaturas de arquivos - https://www.filesignatures.net/
● Trid - http://mark0.net/soft-trid-e.html
● RFC-4648 (The Base16, Base32, and Base64 Data Encodings) -
https://tools.ietf.org/html/rfc4648
● Cipher Suites in TLS/SSL (Schannel SSP) -
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374757.aspx
● Transport Layer Security (TLS) Parameters -
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-par
ameters-4
● BCrypt: Hash Passwords Correctly - http://davismj.me/blog/bcrypt/
34. Referências
● SQL Injection Prevention Cheat Sheet -
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#D
efense_Option_1:_Prepared_Statements_.28with_Parameterized_Queries.29
● OS MOTORES PARARAM EM VOO, VEJA O QUE ACONTECEU. EP #113 -
https://www.youtube.com/watch?v=4n1eGul6fpU&t=131s
● AVOIDING THE TOP 10 SOFTWARE SECURITY DESIGN FLAWS -
https://www.computer.org/cms/CYBSI/docs/Top-10-Flaws.pdf
● Recommended Practice: Improving Industrial Control System Cybersecurity
with Defense-in-Depth Strategies -
https://ics-cert.us-cert.gov/sites/default/files/recommended_practices/NCCIC_
ICS-CERT_Defense_in_Depth_2016_S508C.pdf