Vírus exploram funções não documentadas

A Personalidade obscura do Processador Intel no PC

Todos nós temos 2 faces, 2 personalidades que usamos em diferentes momentos, na verdade mais que isto ! Sigmund Freud diz mais, ele afirma que até uma donzela pura que é incapaz de matar uma formiga , que poderia viver cantando nas montanhas encantadas de Salzburg como a noviça rebelde .. até ela poderia ter dentro de si uma personalidade maquiavélica e assassina, sim ! Freud acredita que todos temos muita maldade escondida no subconsciente esperando momento para “sair”, porém na maioria das vezes nunca sai (ainda bem).

No mundo real isto pode causar transtornos sociais, mas no mundo cibernético de sistema operacionais, podem ser o maior artificio de hackers e desenvolvedores de vírus e tambem AntiVirus para Computador, afinal , se existe um mundo diferente do tradicional, quem faz AntiVirus para computador também precisa saber, pode ter certeza que Vírus exploram funções não documentadas.

novica

Cena do filme “A Noviça rebelde” (The Sound of the Music)

O processador Intel foi implantado no PC na década de 80, na época a IBM que era especialista em computador de grande porte, aqueles trabalhos que ocupavam um comodo inteiro, via com horror e assombro 2 garotos sair da garagem e construir uma empresa que encantava a todos: A APPLE e seu Apple 2, Steve Jobs e Steve Wozniak contruiram um computador de mesa que todos queriam ter em casa, e a IBM não poderia deixar eles ficarem em primeiro lugar, então a IBM resolveu fabricar seu IBM PC usando o Chip Intel, e na época Bill Gates aproveitava a correria louca da IBM para empurrar seu sistema operacional MS-DOS baseado em Intel, ora … todos sabiam na época que o processador MOTOROLA era melhor que o INTEL, esquentava menos, era mais rápido e mais barato, mas por umas destas ironias da correria, o Intel foi escolhido para o primeiro IBM-PC com sistema operacional MS-DOS de Bill Gates e sua recente Microsoft.

A Correria

A correria toda era para colocar um computador para fazer frente ao Apple de Jobs, e sabemos hoje que isto deu certo, o IBM-PC e o sistema da Microsoft dominaram o mundo, mas na época “coisinhas estranhas” foram decididas, criaram um ambiente para o sistema baseado em 640K (chegandfo a 1 Mega com drivers de expansão), ali era inserido o sistema e os programas .COM ( com segmento de 64 no máximo) , depois os executáveis .EXE (que ja podiam chegar a 640K cada).

pirates-of-silicon-valley

A isto se chamou “Modo Real“, que era este mundo que tinha no máximo 640K, ora … a IBM e a Microsoft sempre apostaram que um lar jamais precisaria disto …. que que os programas tinham em média 8k de tamanho, hoje até nosso mp3 tem mais de 1 mega de tamanho.

Nesta “Caverna de Platão” de 640 a qual deram o nome de “Modo Real” nada poderia ser maior de 640k !

O Apple enxergava mais ! e agora ?

jobs-macs

Enquanto o PCzinho da IBM e da microsoft vendiam bem, principalmente para empresas comerciais, o Applet II fascinava a todos, e elevava Steve Jobs a categoria de Guru da Apple,um verdadeiro mestre Jedi da informática, um título que seria muito útil dez anos depois quando ele retornava a Apple, tirava a empresa da falência e elevaria a empresa para o nível mais valiosa de todos os tempos.

O  computador da Apple tinha muito mais memória, poder, etc E fazia coisas maravilhosas graficamente, era e ainda é o preferido de quem trabalha com arte gráfica e quer também ter mais que um equipamento digital.

Quando acordaram para realidade, perceberam que o IBM-PC tinha uma capacidade de arquitetura limitada, daí então o IBM PC precisou mesmo sair  da limitação desconfortável do limite de 640K, e entrar num mundo acima de 1 mega, hoje temos os pentes que permitem nossa memoria ter vários Gigas (não estou falando do Disco Rígido), alias .. a memória do PC hoje é incrivelmente maior que o Disco Rígido para armazenar programa na década de 80.

Eles precisavam de mais memória, tinha uma arquitetura baseada em 640, o que fazer ?

pontea20

 

A ponte A20

Talvez você nunca tenha ouvido falar dela, de fato 99%  dos programadores também não ! esta ponte é a fuga da “caverna de platão”, quando o Windows 95 foi lançado (em 1995 , óbvio), ele comia muita memória, e memória acima de 1 mega, para que o PC permitisse um software rodar além de 640, ele precisava sair do “modo real” (640k) e entrar no “modo protegido” (acima de 1 mega… e até onde nosso bolso aguenta comprar chip de memória RAM), e para isto precisava passar pela ponte A20, este processamento é maluco, porque até a energia consumida pelo processador intel aumenta, os processador começa a rodar programas acima de 1 mega, e esquecem o mundo de 640 ! empurram embaixo do tapele e esquecem que existe.

Porém, quando ligamos o PC, ele chama o Boot, é o setor chamado pelo BIOS do PC, que depois chama o MBR, o BootLoader e então o sistema Windows , Linux, etc. Até o BootLoader estamos no mundo real, após ele estamos no mundo além de 1 mega, dos gigabytes de memória, esta ponte é uma coisa um pouco insana ! o PC precisa passar por ela para fugir do “modo real”, é um passado que ele não esquece, da mesma forma que dizem, que em nossa cabeça humana tem reminiscencias de nosso antigos antecedentes.

int2eh

Mais sobre a “tar da ponte A20” (INT 2Eh)….

Poisé, no ponto de vista do programador, “coisinhas” estranhas também aconteceram ! primeiro, todas interrupções do D.O.S. (INT XX) sumiram, ficaram só as interrupções de BIOS que só podiam ser acessadas pelo Windows , o Sistema Operacional.

Interrupções no PC são rotinas que fazem o papel de macros no sistema, e é assim deste quando o PC foi criado, quando chamamos uma interrupção, basta passar parâmetros colocando valores nos registradores e então chamamos (ex. mov ax,20  int 3 )para que execute alguma coisa de acordo com aqueles valores no registrador.

Uma interrupção interessante foi a INT 2Eh, na época dos 640k ela era uma interrupção “não documentada”, coisas não documentadas pela Microsoft/IBM eram o ouro dos programadores, eram “poderes” que não vinham nos manuais, a interrupção 2E (INT 2E) era uma delas, esta interupção permitia emular um digitador, então podia se enviar para o PC “tecladas” usando a Interrupção 2Eh.

Ora, quando o pessoal da IBM/Microsoft/Intel precisou de uma técnica para sair do modo real de 640K e entrar no chamado “modo protegido” (acima de 1 mega) esta interrupção foi usada ! a rotina que faz este pulo entre 640->Acima de 1 mega é um pouco insana, e não tem muita lógica, e ainda usa esta Interrupção.

 

Para os Programadores Assembly, mesmo para eles, a maioria acha isto tudo muito maluco e fora da rotina habitual e programação ! alias, quantos programas precisam atuar em “Modo Real” e depois “Modo Protegido” ao mesmo tempo ? eu sei o que você pensou , os vírus fazem isto, para enganar o sistema e inserirem sem serem detectados pelo Anti-Virus, porém poucas pessoas dominam esta técnica, porque não é tão pedido pela industria.

 

Realmente esta outra fase do PC, que leva  a personalidade obscura do Processador Intel no PC marca uma história que não existe mais, e as heranças disto percebemos no MBR ( master boot record ) que ainda fica no mesmo lugar a 30 anos, com o Windows 8, houve a promessa de acabar com isto, e pular do BIOS para o BootLoader do Sistema, porém não estamos vendo isto nos PCs.

Undocumented API

Um dos recursos mais ninjas de toda tecnologia microsoft são os recursos “Não Documentados“, isto ocorre desde o primeiro sistema que foi o MS-DOS 1.0 que vendeu juntamente com a IBM na década de 80, na época haviam as “Interrupções não documentadas” e depois do surgimento da era Windows são as “APIs não documentadas”, tanto aquelas do usuário como também do Kernel Module.

Os Virus de Computador fazem a festa

Recursos não documentados da Microsoft são os maiores artificios dos Vírus de Computador para invadir o PC, afinal “O que não se vê não se pode combater”, primeiramente não só APIs não documentadas, como códigos de Sistema e FileSystem sempre foram conhecido por hackers e desenvolvedores de Vírus ( e também AntiVirus).

Existe até alguns códigos “secretos” que se colocados no FileSystem do sistema (HD ou Pendrive) impede gravação, sem que o sistema possa detectar nem mudar isto, afinal é recurso não documentado.

Este tipo de recurso (chamado RECURSO MAL COMPORTAMENTO) pelos vírus também tiveram que ser investigados  por empresas de AntiVirus com kaspersky, McCafee, Norton, etc Afinal, os vírus precisam ser removidos mesmo que não sejam encontrados pelos meios tradicionais.

 

 

 

programacao-assembly

Deixe um comentário