“O meio pelo qual governantes sábios e generais sagazes se moveram e conquistaram outros, pelo qual suas realizações ultrapassaram as massas, foi o conhecimento acurado.”
“O conhecimento acurado não pode ser obtido de fantasmas e espíritos, inferido dos fenômenos ou projetado a partir das medidas do Céu, mas deve ser obtido dos homens, porque é o conhecimento da verdadeira situação do inimigo.”
- Sun Tzu, a arte da guerra -
A guerra é uma profissão antiga, e isto não é nenhuma novidade. Assim como a máxima que, antes de atacar algo, você deve saber o que está atacando; e que, para se defender, é bem plausível que você saiba as possíveis movimentações do inimigo ou, ao menos, saiba como ele se parece. Por esses motivos, a recomendação de hoje é o livro "Como Quebrar Códigos: a arte de explorar (e proteger) software, escrito por Greg Hoglund e Gary McGraw.
Como é de se esperar, a primeira coisa é decidir um software-alvo. E então fazer uma avaliação de risco, que vai medir o custo da falha. Em linhas rudes, significa saber onde você vai pisar, analisando bem o software, assim como a existência de suas vulnerabilidades. Lembrando que:
Vulnerabilidade: não significa estar 100% apta para o ataque/exploração, é apenas um problema que pode ser explorado.
Riscos: não são exploráveis, apenas captam o dano em potencial e a probabilidade de que um bug ou defeito possa ser explorado.
Potencial de dano:
Potência do ataque (dada), que varia de 1 a 10
x
Exposição de alvo (medida ou suposta em 100%) de 0 a 1,0
=
Potencial de dano (o resultado está no intervalo de 0 a 10) x 10
Exposição & Potência: medida que trata da facilidade ou dificuldade em executar um ataque.
Risco real: medida do efeito de um ataque considerando o potencial de dano, sendo:
Potencial de dano (intervalo) 0-10
x
Impacto (100% medido ou presumido)
=
Risco real x 10
Essa é a base. Qualifique seu ataque e então descubra os tipos de transações aceitas nos pontos de entrada e quais são os tipos de entradas para determinar quais tipos de ataques funcionarão. Por isso, é importante que, quando tu estiver projetando ou criando um software, você pare para pensar a respeito de quais são os meios de alguém invadir o que você está trabalhando, porque se alguém quiser de fato invadir, ele vai parar para pensar sobre quais foram as suas suposições no desenvolvimento do software. Estas questões são melhores abordadas em engenharia reversa ou reversão, muito importante porque permite aprender sobre a estrutura do programa e sua lógica.
Para tentar entender o software, são utilizadas algumas abordagens como white box e black box. Na análise da caixa-branca, que é mais completa, envolve-se no processo a análise e a compreensão do código-fonte. Enquanto que na análise da caixa-preta designa-se a análise de um programa em execução, e, não se faz nenhum tipo de análise do código-fonte. Em linhas gerais, a análise de caixa-branca testa possíveis áreas problemáticas, enquanto o teste de caixa-preta age de forma mais parecida com um ataque real ao software em um ambiente operacional real. "Poxa, mas não existe um meio termo?" Sim, jovem padawan. Existe e mistura as duas técnicas, logo, preto com branco resulta em... Sim, seu nome é análise de caixa-cinza, haha!
Whatever, essa foi uma colher de chá do que têm no livro. Pretendo ainda, explorar cada item deste livro em posts separados, para que, desse modo, os posts não se tornem uma saga Tolkieniana, haha!
Apesar deste livro ter como foco os programadores de segurança, ele dá toda uma base antes de prosseguir para um nível acima, como por exemplo, quando inocentemente há uma introdução sobre softwares, e, depois vai para drogas mais pesadas, como descrições de padrões de ataques e seus detalhes técnicos.
Portanto, "Como Quebrar Códigos", é um livro que merece a sua atenção caso tenha interesse na área, e, principalmente se, assim como eu, for n00b (haha tmj ;) ).
Ah, já ia me esquecendo! Queridos script kiddies:
Não há hacks prontos no livro.
E as informações presentes no mesmo,
não são novidade para hacker algum.
E as informações presentes no mesmo,
não são novidade para hacker algum.
Obrigada, de nada. Beijos!
😸 Muito obrigada por ter visitado o blog, mesmo. 😸
