Download - Organização de Computadores - Geyzon Almeida
-
1
Representao dos dados
-
2 15 de agosto de 2013
Objetivo
Sinais analgicos e digitais
Camadas de abstrao
Editores binrios
Representao dos dados
Criptografia
Algoritmos de hash
-
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
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
-
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
1024MB = 1GB
1024GB = 1TB
1024B = 1kiB
1024kiB = 1MiB
1024MiB = 1GiB
1024GiB = 1TiB
-
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.
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
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-
FILE!$H+H*
-
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