Читать книгу Guia Para Iniciantes Em Hacking De Computadores - Alan T. Norman - Страница 8
Capítulo 3. Primeiros Passos
ОглавлениеOs hackers têm a reputação de serem indivíduos altamente inteligentes e prodigiosos em muitos aspectos. Pode, portanto, parecer ser uma tarefa trabalhosa e difícil começar do zero e alcançar qualquer nível prático de proficiência . Deve-se lembrar que todos devem começar em algum lugar quando aprendem uma matéria ou habilidade. Com dedicação e perseverança, é possível ir tão longe no mundo do hacking quanto sua vontade puder levá-lo. Uma coisa que vai ajudar no processo de se tornar um hacker é definir algumas metas. Pergunte a si mesmo por que você quer aprender hacking e o que você pretende realizar. Alguns só querem aprender o básico para que possam entender como proteger a si mesmos, sua família ou seus negócios contra ataques maliciosos. Outros estão procurando se preparar para uma carreira em hacking de chapéu branco ou segurança da informação. Quaisquer que sejam suas razões, você deve se preparar para aprender um pouco de novos conhecimentos e habilidades.
Aprendizagem
A arma mais importante no arsenal de um hacker é o conhecimento. Não só é importante que um hacker aprenda o máximo possível sobre computadores, redes e softwares – mas, para se manter competitivo e eficaz, eles devem manter-se atualizados sobre as constantes e rápidas mudanças nos computadores e na segurança dos computadores. Não é necessário que um hacker seja um engenheiro, cientista da computação ou tenha conhecimento íntimo de microprocessador ou design de hardware de computador, mas eles devem entender como um computador funciona, os componentes principais e como eles interagem, como os computadores são em rede local e através da internet, como os usuários normalmente interagem com suas máquinas, e – o mais importante – como o software dita a função do computador. Um excelente hacker é fluente e experimentado em várias linguagens de computador e entende os principais sistemas operacionais. E também é muito útil para um hacker estar familiarizado com a história, matemática e prática de criptografia.
É possível, e cada vez mais comum, para um leigo, com pouca experiência de hacking e apenas conhecimento leve ou intermediário sobre programação, realizar um ataque contra um sistema. Muitas vezes as pessoas fazem isso usando scripts e seguindo procedimentos que foram desenvolvidos por operadores mais experientes. Isto acontece mais comumente com tipos mais simples de ataques, como negação de serviço. Esses hackers inexperientes são conhecidos na comunidade de hackers como script kiddies (garotos dos scripts) . O problema com este tipo de atividade é que os criminosos têm pouca apreciação pelo que está acontecendo no código que estão executando, e podem não ser capazes de antecipar efeitos colaterais ou outras consequências não intencionais. É melhor entender completamente o que você está fazendo antes de tentar um ataque.
Computadores e Processadores
Os computadores variam em tamanho, forma e propósito, mas a maioria deles tem, essencialmente, o mesmo design. Um bom hacker deve estudar como os computadores evoluíram desde as primeiras máquinas no século 20 até as máquinas muito mais sofisticadas que usamos hoje. No processo, torna-se evidente que os computadores têm os mesmos componentes básicos. Para ser um hacker eficaz, você deve conhecer os diferentes tipos de processadores que existem na maioria dos computadores modernos. Por exemplo, os três maiores fabricantes de microprocessadores são intel, American Micro Devices (AMD) e Motorola. Estes processadores compreendem a maioria dos computadores pessoais que um hacker encontrará, mas cada um tem seu próprio conjunto de instruções único. Embora a maioria dos hackers raramente tenha que lidar com linguagens de programação no nível da máquina, ataques mais sofisticados podem exigir uma compreensão das diferenças entre os conjuntos de instruções do processador.
Alguns processadores são programáveis pelo usuário final. Estes são conhecidos como Field-Programmable Gate Arrays (FPGA) e estão sendo usados cada vez mais para sistemas embarcados, particularmente em controles industriais. Os hackers são conhecidos por obter acesso a esses chips enquanto estão em produção, a fim de implantar software malicioso no destino final. Uma compreensão da arquitetura e programação FPGA é necessária para estes tipos de ataques sofisticados. Estes ataques incorporados são particularmente preocupantes a clientes militares e industriais que compram chips em larga escala para sistemas críticos.
Rede e Protocolos
Um dos assuntos mais importantes para o aspirante a hacker estudar é o da arquitetura de rede e protocolos. Os computadores podem estar em rede em muitas configurações e tamanhos diferentes, e com diferentes tecnologias que regem sua interconexão. Desde fio de cobre, até fibra óptica, até conexões sem fio e satélite, bem como combinações de todas estas mídias, construímos uma vasta rede de computadores em todo o mundo. Esta rede pode ser entendida em sua totalidade, em grande escala, bem como vista como uma conexão de redes menores e independentes.
Em termos de tamanho, as redes de computadores têm sido tradicionalmente categorizadas como Redes de Área Local (LAN) e Redes de Área Ampla (WAN). Os WANs normalmente conectam vários LANs. Existem várias outras designações para diferentes tamanhos de redes, e a terminologia está sempre mudando à medida que novas tecnologias e condutividades se desenvolvem. Acompanhar estas mudanças é uma das tarefas constantes de um hacker.
As redes também possuem arquiteturas diferentes. A arquitetura é determinada não apenas pela configuração dos diferentes nódulos, mas também pelo meio que os conecta. Originalmente, computadores em rede eram sempre conectados por fios de cobre. Os cabos de rede de cobre comumente utilizados, muitas vezes conhecidos como cabos ethernet , consistem em pares torcidos de fio de cobre. Embora o mais comum destes cabos seja o cabo categoria cinco, ou CAT-5, está começando a dar lugar a um novo padrão, o CAT-6, que tem maior capacidade de transmissão de sinais. Para aplicações de alta velocidade e distâncias mais longas, os cabos de fibra óptica são geralmente escolhidos. A fibra óptica usa luz em vez de eletricidade e tem uma capacidade muito alta para transportar informações. Eles são usados para transmitir a televisão a cabo mais moderna e serviços de internet de alta velocidade. A fibra óptica serve como espinha dorsal para a internet. Em áreas menores, redes sem fio são muito comuns. Usando um protocolo Wireless Fidelity (Wi-Fi), existem redes sem fio em um grande número de LANs pessoais, privadas e comerciais. Os hackers estão frequentemente e particularmente interessados em invadir redes Wi-Fi, o que resulta na evolução dos padrões de segurança Wi-Fi.
Independentemente da arquitetura ou meio de transmissão, quando dois terminais estão se comunicando em uma rede, eles devem fazê-lo usando um conjunto comum de regras conhecido como protocolo . Os protocolos de rede evoluíram desde que as primeiras redes de computadores foram criadas, mas mantiveram a mesma abordagem básica em camadas. Em geral, uma rede é conceituada em termos de diferentes camadas que executam diferentes funções. Isto também é conhecido como uma pilha (stack) . Os protocolos de comunicação mais comuns utilizados hoje são o Protocolo de Internet (IP) e o Protocolo de Controle de Transmissão (TCP). Juntos, são comumente conhecidos como TCP/IP . Estes protocolos mudam e são padronizados de vez em quando. É fundamental que o hacker aprenda estes protocolos e como eles se relacionam com a comunicação entre as diferentes camadas da pilha. É assim que os hackers podem obter níveis cada vez maiores de acesso a um sistema.
Linguagens de Programação
Para quem nunca o fez antes, pode parecer assustador aprender uma linguagem de programação do zero, mas muitas pessoas acham que, uma vez que se tornam proficientes em uma linguagem de programação, é muito mais fácil e rápido aprender outras. Os hackers não só precisam entender linguagens de programação para serem capazes de explorar vulnerabilidades de software, mas muitos hackers precisam escrever seu próprio código, para serem capazes de executar um ataque específico. Ler, entender e escrever códigos é fundamental para hackear.
As linguagens de programação variam de código de máquina muito obscuro, que está em formato binário e hexadecimal e é usado para se comunicar diretamente com um processador, até linguagens orientadas a objetos de alto nível, que são usadas para o desenvolvimento de software. As linguagens comuns orientadas a objetos de alto nível são C++ e Java . O código escrito em idiomas de alto nível é compilado no código de máquina apropriado para um determinado processador, o que torna as linguagens de alto nível muito portáteis entre diferentes tipos de máquinas. Outra categoria é uma linguagem roteirizada, onde os comandos são executados linha por linha em vez de serem compilados em código de máquina.
Aprender linguagens de programação leva tempo e prática – não há outra maneira de se tornar proficiente. Longas noites e maratonas noturnas de escrita, depuração e recompilação de códigos são um rito comum de passagem entre hackers iniciantes.