Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

02 - Camada 6 - Apresentação

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Camada 6 - Apresentação

1. Definição e Propósito

A Camada de Apresentação é a sexta camada do Modelo OSI (ISO/IEC 7498-1). Enquanto a Camada de Aplicação (7) se preocupa com o o que o usuário quer (ex: enviar um e-mail), a Camada de Apresentação se preocupa com o como os dados serão representados e estruturados para que o receptor os entenda.

O seu principal objetivo é garantir que a informação enviada pela camada de aplicação de um sistema seja legível pela camada de aplicação de outro sistema. Ela resolve problemas de compatibilidade sintática entre hosts com arquiteturas internas diferentes (endianess, codificação de caracteres, formatos proprietários).

2. Funções Principais da Camada 6

Academicamente, dividimos as responsabilidades desta camada em três pilares fundamentais:

2.1. Tradução (Formatting)

Computadores diferentes podem usar esquemas de codificação de caracteres distintos.

  • O Problema: Um mainframe antigo pode usar EBCDIC, enquanto um PC moderno usa ASCII ou Unicode (UTF-8). Se os dados fossem enviados "puros", o receptor veria apenas lixo digital.
  • A Solução: A Camada 6 traduz esses formatos em uma "Sintaxe de Transferência" comum que ambos os lados concordam em usar durante a viagem pelo cabo.

2.2. Criptografia (Encryption)

Para garantir a confidencialidade, os dados precisam ser embaralhados antes de descerem para as camadas de transporte e rede, onde poderiam ser interceptados.

  • O Papel: A Camada de Apresentação é o local lógico onde ocorre a cifragem (no emissor) e a decifragem (no receptor) dos dados da aplicação.
  • Exemplo Moderno: Embora o TLS/SSL transite entre as camadas 4, 5 e 6 no mundo real, conceitualmente, a parte que "esconde" o conteúdo da mensagem pertence à Camada 6.

2.3. Compressão (Compression)

Para otimizar o uso da largura de banda, os dados podem ser compactados.

  • O Processo: A Camada 6 remove redundâncias nos dados da aplicação para reduzir o número de bits que precisam ser transmitidos. No destino, ela descompacta a informação.
  • Exemplo: Formatos de mídia como JPEG, MPEG e GIF são, tecnicamente, padrões que operam na Camada de Apresentação, pois definem como a informação visual é estruturada e comprimida.

3. Sintaxe Abstrata vs. Sintaxe de Transferência

A norma OSI formaliza dois conceitos centrais no funcionamento da Camada 6:

Conceito Descrição Exemplo
Sintaxe Abstrata Especificação lógica dos dados, independente de máquina. Define "o que" é um campo. ASN.1 descrevendo um registro de usuário
Sintaxe de Transferência Codificação binária usada para transmitir. Define "como" os bytes serão dispostos no fio. DER, BER, PER
Contexto de Apresentação Acordo entre emissor e receptor sobre qual par (abstrata/transferência) usar. Negociado no início da sessão

O emissor converte da sintaxe local para a de transferência; o receptor converte da de transferência para a sua sintaxe local.

4. ASN.1 (Abstract Syntax Notation One)

No modelo OSI original, a padronização da Camada de Apresentação era feita através do ASN.1 (ITU-T X.680). Ele é um padrão de descrição de dados que permite que um sistema descreva estruturas complexas de forma independente de máquina.

Ainda usamos ASN.1 hoje em protocolos críticos como:

  • SNMP (RFC 3416): estruturas MIB como ifTable, sysUpTime.
  • LDAP/X.500 (RFC 4511): entradas e atributos de diretório.
  • Certificados digitais X.509 (RFC 5280): o campo SubjectPublicKeyInfo é descrito em ASN.1.
  • Protocolos de telecom: SS7 (MAP, ISUP), UMTS/NR RRC, Diameter.

Regras de Codificação ASN.1

Regra Sigla Característica
Basic Encoding Rules BER TLV (Tag-Length-Value) autodescritivo, porém verboso
Distinguished Encoding Rules DER Subconjunto determinístico do BER; usado em certificados X.509
Packed Encoding Rules PER Compacto, alinhado a bit; usado em telecom 4G/5G
JSON Encoding Rules JER Saída JSON, usado em interfaces modernas

5. Diferença entre Camada 6 e Camada 7

É comum confundir as duas, mas a regra é simples:

  • Camada 7 (Aplicação): Lida com o Significado (ex: o comando "GET /index.html" para baixar uma página).
  • Camada 6 (Apresentação): Lida com o Formato (ex: a página está codificada em UTF-8 ou comprimida com Gzip?).

6. Mapeamento para a Pilha TCP/IP

No mundo TCP/IP, a Camada 6 não existe como entidade separada. Suas funções foram absorvidas:

  • A criptografia foi assumida pelo TLS (RFC 8446), posicionado entre a aplicação e o TCP.
  • A compressão ficou a cargo da própria aplicação (Content-Encoding: gzip, br, zstd em HTTP/2 e HTTP/3).
  • A negociação de sintaxe virou parte de protocolos como MIME (RFC 2045) com cabeçalhos Content-Type: text/html; charset=UTF-8.

7. Codificações de Caracteres Comuns

Codificação Tamanho Origem Uso Atual
ASCII 7 bits ANSI X3.4 (1963) Obsoleto, base do UTF-8
EBCDIC 8 bits IBM (1964) Mainframes z/OS legados
ISO-8859-1 (Latin-1) 8 bits ECMA/ISO Páginas HTML antigas
UTF-8 1-4 bytes RFC 3629 Padrão web (~98% das páginas)
UTF-16 2-4 bytes Unicode Windows interno, Java

O cabeçalho Content-Type: text/html; charset=UTF-8 da RFC 7231 é, conceitualmente, um parâmetro de Camada 6 sendo transportado pela Camada 7.

8. Relevância na Cibersegurança

Profissionais de segurança focam na Camada 6 para analisar a eficácia da criptografia de ponta a ponta. Ataques que tentam forçar o "downgrade" de protocolos de segurança (como o POODLE, CVE-2014-3566, que derrubava TLS para SSLv3) ou ataques de exploração em formatos de arquivos (vulnerabilidades em bibliotecas de imagem como LibPNG, ImageMagick GhostScript CVE-2016-3714) ocorrem tecnicamente neste nível lógico.

Outros vetores clássicos da Camada 6:

  • Padding Oracle (CVE-2010-1452 em ASP.NET): explora o modo CBC do TLS.
  • Heartbleed (CVE-2014-0160): bug na implementação OpenSSL TLS extensions.
  • XML External Entity (XXE): parsers XML (como SAX/DOM) que resolvem entidades externas, vazando arquivos locais.
  • CRIME/BREACH: ataques de recuperação de texto via análise da compressão.

9. Resumo Técnico

Atributo Valor
Número OSI 6
PDU Mensagem (dados formatados)
Dispositivos Gateways de aplicação (lógicos)
Padrões ASN.1 (X.680), BER/DER/PER, TLS (RFC 8446), MIME (RFC 2045)
Funções Tradução, criptografia, compressão
Equivalente TCP/IP Absorvida pela Camada de Aplicação

10. Conclusão

A Camada de Apresentação é frequentemente chamada de "a camada invisível", porque no TCP/IP moderno suas funções foram diluídas em TLS, MIME e bibliotecas de serialização (Protobuf, Avro, JSON). Entretanto, conceitualmente, ela continua sendo o local lógico onde problemas de sintaxe, confidencialidade e otimização de dados são resolvidos. Conhecê-la é essencial para entender ataques modernos (POODLE, Heartbleed, XXE) e para projetar APIs e protocolos interoperáveis entre sistemas heterogêneos.