Você está na página 1de 65

Representao dos dados

Objetivo

Sinais analgicos e digitais


Camadas de abstrao
Editores binrios
Representao dos dados
Criptografia

Algoritmos de hash

15 de agosto de 2013

1 Sinais analgicos e digitais

Sinais analgicos
Uma varivel analgica serve para representar uma
grandeza fsica que contnua no tempo;
Portanto, variveis analgicas so representadas por
funes reais contnuas;
No possvel representar todos os valores que uma
varivel analgica assume, ainda que se considere um
intervalo reduzido de tempo;
Por menor que seja a variao de tempo em um sinal
analgico, teremos uma infinidade de pontos;

Sinais analgicos

Qualquer fenmeno na natureza considerado como uma varivel


analgica;
Luz, som, temperatura e etc, so representadas fielmente em uma
varivel analgica;
Como armazenar um sinal analgico em uma memria de
computador e como processar esse sinal?

Sinais digitais
Uma varivel digital assume valores discretos, possuem
descontinuidades, saltos ou degraus;

Em um determinado intervalo de tempo possvel


determinar a quantidade de variaes, saltos ou degraus de
um sinal analgico;
Um sinal digital possui apenas dois valores de transio;
Os sistemas computacionais se basearam nos dois
valores dos sinais digitais, (ligado e desligado);

Um circuito digital facilmente implementado em


comparao ao analgico;

Sinais digitais
Como se pode medir a quantidade de pulsos facilmente,
poderemos armazenar esses dados em uma memria de
quantidade finita;

Analgico x Digital

2 Bases numricas

Bases numricas
Em um sistema computacional a maioria de seus circuitos trabalham
com sinais digitais e minoria com sinais analgicos;

O sistema de numerao para os sinais digitais o binrio, por possuir


apenas dois algarismos 0 e 1;
Mesmo com os computadores trabalhando em sistema binrio, as
informaes so mostradas em outros sistemas de numerao para um
melhor entendimento, manipulao e programao;
101010001010(2)

100111010101(2)

1001010110101(2)

2698(10)

2517(10)

4789(10)

A8A(16)

9D5(h)

12B5(16) ou 12B5(h)

Bases numricas

Decimal

Binrio

Hexa

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Converso base decimal para binria

Converso base binria para decimal

3 Camadas de abstrao

Camadas de abstrao de um computador


Aplicaes
Alto nvel
Mnemnico

10010101010101010
Ligado ou desligado

Camadas de abstrao
Qual a camada mais fcil de trabalhar?
Em que situaes necessrio o conhecimento das
camadas mais baixas?

Quais as camadas de abstrao?

O que essa sequncia de binrios representa?

Qual a importncia das camadas mais


baixas?
Entender o sistema em profundidade;
Realizar engenharia reversa de cdigos (descompilar) e debugar
(maliciosos);
Aplicaes em alto nvel podem dar respostas genricas ao problema;
Saber como as aplicaes funcionam;

Qual a importncia das camadas mais


baixas?
Integridade de informaes e cdigos (adulterao / invaso);
Forense computacional (Percia digital / Evidencias)
Reparao e reconstruo (corrompimento / incidentes de segurana);

4 - Editores binrios

Editores binrios
So ferramentas que editam qualquer dado binrio bruto
diretamente;
necessrio entender a transformao das bases
numricas;
Muito utilizado na percia, reparao de informaes e
engenharia reversa;

Editor binrio - Hexdump


Quais os dados
encontrados?
Quais as
informaes
encontradas?
Todo dado
uma informao?
Um dado pode
assumir vrias
informaes?

Converso entre binrio e hexadecimal

Como a base hexadecimal possui 16 algarismos e a base binria possui


apenas 2, logo, para termos uma equivalncia de transformao direta
entre essas bases, temos que fazer a seguinte relao matemtica;
(base h) 16 = 2n (base b)
24 = 2n
(n = 4) ou seja, cada dgito hexa ser substitudo por 4 bits, ou vice-versa.

Medida de nmeros binrios


bit = (Bynary Digit) Menor unidade de informao;
w = (Palavra binria) Quantidade de dgitos binrios manipulados;
4bits = 1 Nibble
8bits = 1Byte (Origem da tabela ASCII)
Word = 2Bytes (16bits)
Double word = 4Bytes (32bits)

Super long word = 8Bytes (64bits)


2n = Combinaes, sendo n = n de bits; (Mltiplos do Byte)

Mltiplos de Bytes (B)


1024B = 1kB
1024kB = 1MB

<<< Notao antiga.

1024MB = 1GB

1024GB = 1TB
1024B = 1kiB
1024kiB = 1MiB
1024MiB = 1GiB

1024GiB = 1TiB

<<< Notao atual.

5 - Tabela ASCII

Tabela ASCII
ASCII (American Standard Code for Information Interchange) uma
tabela em que cada caractere formado por um cdigo binrio de 8bits;
Como cada caractere codificado em 8bits (1 de paridade + 7bits de
combinao de caracteres), podemos ter 128 caracteres diferentes, que
so suficientes para compreender todo o alfabeto e pontuaes;
Quando alguma tecla do teclado pressionada, o controlador do teclado
codifica pulsos eltricos de acordo com a sequncia binria predefinida
pela tabela ASCII;

Tabela ASCII
Possui 128
combinaes de
caracteres;
Existe tambm a
ASCII estendida
com 256
caracteres
compreendendo
caracteres
especiais e
acentos;

Outras tabelas de
codificao

6 Representao dos dados

Dados e informaes
Os dados em um computador so seqenciados na memria atravs de
nmeros binrios;

Um conjunto de dados binrios formam uma informao;


Este cdigo ou conjunto de dados pode ter vrios significados, no qual
depende do sistema que o interpreta;

Um exemplo disso, que o nmero binrio 01001010(2) pode ser


interpretado como um caractere J ou como um nmero inteiro 74;
Com relao a arquivos, este um mecanismo de abstrao dos
binrios para que usurio no se preocupe com os detalhes;

Interpretao dos dados


Para que uma sequncia de dados seja uma informao vlida ou um
arquivo vlido, necessrio que o mesmo seja interpretado por alguem;
Um arquivo estruturado por uma sequencia de binrios com respectivo
significado;

Existem certas extenses em que o prprio dado binrio interpretado


diretamente pelo sostema operacional, como o exemplo da tabela ASCII em
um arquivo .TXT;
Outras extenses como .PDF . DOC .XLS .EXE e dentre outros, possuem
um cabealho prprio;

Estrutura de um arquivo .EXE e comum

Interpretao dos dados arquivo comum


WAVE

Cabealho WAVE

Flags do cabealho WAVE

Flags do cabealho WAVE

Flags do cabealho WAVE

Flags do cabealho .BMP

Flags cabealho .EXE

Flags cabealho .EXE

Editor binrio Hexdump

Com relao aos nmeros binrios...


1 Em que lugar o nome do arquivo e seus atribuitos esto contidos?

2 Como funciona a recuperao de arquivos aps um disco ter sido


formatado?
3 possivel quebrar senhas de arquivos protegidos?
4 possvel modificar o contedo de um arquivo sem modificar seus
atributos de tempo?
5 possvel inserir cdigos ou informaes sigilosas dentro de um
arquivo?
6 Qual a maneira de verificar se uma informao autntica?

7 - Assinaturas

Assinaturas
uma sequncia binria bem definida que tem um siginifcado;
Os cabealhos de arquivos so assinaturas;
Trechos binrios dentro de um arquivo podem definir uma
assinatura;

Recuperadores de arquivo se baseam na assinatura do


cabealho;
Anti-virus se baseam em padres de assinaturas que
determinam o tipo de virus;
Assinaturas podem definir campos de senha, arquivos e
programas;

Analisador de protocolos Assinatura de senha


#tcpdump -X -i eth0 -n >> /data/trafego.txt

Analisar depois de salvo

Recuperao de arquivos Assinatura


do cabealho

Anti-virus Deteco por assinaturas


EICAR European Expert Group for IT-Security
Arquivo .TXT DOS de teste.
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TESTFILE!$H+H*
58 35 4F 21 50 25 40 41 50 5B 34 5C 50
5A 58 35 34
28 50 5E 29 37 43 43 29 37 7D 24 45 49
43 41 52 2D
53 54 41 4E 44 41 52 44 2D 41 4E 54 59
56 49 52 55
53 2D 54 45 53 54 2D 46 49 4C 45 21 24
48 2B 48 2A

Assinaturas em memria principal Senhas

7 - Esteganografia

Esteganografia
So softwares especficos que adicionam informaes dentro um
arquivo;

Pode ser adicionado um arquivo completo dentro de outro;


Geralmente, o tamanho do arquivo recipiente aumenta com a introduo
do novo arquivo;

Dependendo da sofisticao do software, um arquivo pode ser embutido


dentro de outro sem que haja alterao da quantidade do binrio do
arquivo recipiente;
O mesmo algoritmo deve ser utilizado para embutir e desembutir o
contedo;

Esteganografia

8 - Criptografia

Criptografia
um algoritmo matemtico que tem por finalidade modificar o contedo
binrio visando a confidencialidade;
Os dados ficam irreconhecveis aps a criptografia;
Existem os mais diversos mtodos de criptografia e forma de utilizao;

O mesmo algoritmo deve ser utilizado para criptografar e decriptar os


binrios;
No existem mecanismos de cifragem/decifragem 100% eficazes, numa
abordagem puramente terica fato que qualquer chave pode ser
quebrada pela fora bruta;

Criptografia
A soluo entrar no domnio prtico e atender s capacidades do
equipamento de processamento atual de modo a usar algoritmos e chaves
que no possam ser descobertas em tempo til.
O tempo necessrio para quebrar uma chave pela "fora bruta" depende
do nmero de chaves possveis (nmero de bits da chave) e do tempo de
execuo do algoritmo.
O grande problema desta abordagem que a capacidade de
processamento dos equipamentos tem duplicado de 18 em 18 meses,
logo de 18 em 18 meses necessrio aumentar um bit s chaves.

Exemplo de um processo de criptografia


simtrica

O algoritmo de criptografia conhecido, mas a chave de criptografia


secreta.
O tamanho da chave criptogrfica aumenta a complexidade de quebra
da criptografia por fora bruta.

Alguns algoritmos bsicos de criptografia

Irreversvel >

Irreversvel >

Reversvel >

Alguns algoritmos bsicos de criptografia

Reversvel >

Criptografia

Exemplo de um processo de criptografia


bsica

Como possvel reverter a criptografia?


Utilizando o ataque de fora bruta, qual a quantidade de
combinaes de chaves?
Quais os impactos de no saber o algoritmo usado?

9 - Algoritmos de hash

Algoritmos de hash
um algoritmo matemtico que resume dados binrios em
uma sequencia nica de dados limitada;
Usado em transmisses de dados para checagem de
integridade e autenticidade, como barramentos de
dispositivos, downloads e comparao entre arquivos;

Muito utilizado tambm em auditoria e percia Forense;

Este console confivel?

Bater hash de um arquivo


#md5sum /etc/passwd
Bater hash de arquivos em um diretrio
#md5sum /bin/* > /data/bindir.md5
Bater o hash de um disco inteiro
#md5sum /dev/sda
Comparar hash de um arquivo
#md5sum -c /mnt/cdrom/bindir.md5

Algoritmos de hash

Você também pode gostar