Programação c ++: motivos do hacker
Depois de terminar um estudo rápido de programação e aguçou suas habilidades de C ++, você aterrar esse trabalho realmente doce que você estava procurando no banco. Você é um programador de grande tempo no banco, e você acabou de terminar de escrever o código de back-end para alguma aplicação livro impressionante que os clientes usam para equilibrar suas contas.
O desempenho é grande, porque é C ++, e os clientes adoram. Você está ansioso para que grande bônus que é certamente vindo em sua direção. Então você é chamado ao gabinete do Vice-Presidente do Departamento. Parece que os hackers descobriram uma maneira de entrar em seu programa a partir da sua interface com a Internet e transferido dinheiro de contas de outras pessoas em seus próprios.
Milhões foram perdidos. Desastre! Nenhum bônus. Sem promoção. Ninguém vai sentar com você no refeitório. Seus filhos se intimidado no parque infantil. Você vai ter sorte para manter o seu emprego agora muito reduzida.
O ponto desta história é que os programas do mundo real, muitas vezes têm múltiplas interfaces ao contrário dos programas simples que você aprende quando você começar a programar. Por exemplo, qualquer programa que lê uma porta ou de liga à base de dados é susceptível de ser cortado.
O que o hacker é depois:
Se você tiver sorte, o hacker está fazendo nada mais do que explorar alguma falha na lógica do seu programa para fazer com que ele deixe de funcionar. Enquanto o programa é deixado de funcionar, ninguém mais pode usá-lo. Isso é chamado de Denial of Service (DoS) ataque porque nega o serviço prestado pelo seu programa para todos os outros.
Os ataques DoS pode ser caro, porque eles podem custar a sua empresa perdeu receita de negócio que não se realizou ou clientes que desistem de frustração porque seu programa não está tomando chamadas agora. E isso não inclui mesmo o custo de alguém indo para o código para encontrar e corrigir a susceptibilidade.
Alguns hackers estão tentando obter acesso à informação de que seu programa tem acesso a, mas para os quais o usuário não tem o direito. Um bom exemplo disto seria roubo de identidade.
A perda de informações é mais do que embaraçosa como um bom hacker pode ser capaz de usar essas informações para virar e roubar.
Por exemplo, armado com as credenciais adequadas, o hacker pode então chamar-se um caixa de banco no telefone e pedir somas de dinheiro ser transferido de contas dos nossos clientes agredidos até a sua própria onde ele pode retirar posteriormente os fundos. Esta é comumente o caso de ataques de injeção SQL.
Finalmente, alguns hackers estão atrás de controle remoto do seu computador. Se o seu programa abre uma conexão com a Internet e um hacker pode obter o seu programa para executar as chamadas de sistema adequados, que hacker pode transformar seu programa em um terminal remoto em seu sistema. A partir daí, o hacker pode baixar o seu próprio programa em sua máquina, e desde então você está a ser dito possuído.
Talvez o hacker quer acesso às suas contas, onde ele pode roubar o dinheiro, ou talvez ele só quer o seu próprio computador. Este é o caso com grupos de computadores de propriedade que compõem o que é conhecido como um botnet.
Mas como isso funciona? Seu programa de banco tem uma interface muito limitado. Ele pede ao usuário para o seu número de conta, o seu nome, bem como o montante do seu depósito. Em nenhum lugar diz, “Você gostaria de assumir este computador?” Ou “O código extra você gostaria que este computador para executar?”
Os dois truques de hackers mais comuns que você deve lidar com o seu código são a injeção de código e buffer overflow.