Programação em C ++: The Hacker & # 8242-s Motives
Depois de # 8242-VE terminou um estudo rápido de programação e aguçou suas habilidades de C ++, você terra que o trabalho realmente doce que você estava procurando no banco. Você # 8242-re um programador de grande tempo no banco, e você # 8242-ve acabado de escrever o código de back-end para alguma aplicação de contabilidade impressionante que os clientes usam para equilibrar suas contas.
O desempenho é ótimo, porque # 8242-s C ++, e os clientes adoram. Você # 8242-re ansioso para que a grande vantagem de que # 8242-S certamente vindo em sua direção. Em seguida, você é chamado para o 8242-s escritório do Departamento Vice-Presidente #. Parece que os hackers descobriram uma maneira de entrar em seu programa a partir da sua interface com a Internet e transferido o dinheiro de outros povos # 8242- contas em seu próprio.
Milhões foram perdidos. Desastre! Nenhum bônus. Não promoção. Ninguém vai sentar com você no refeitório. Seus filhos se intimidado no parque infantil. Você # 8242-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ê um porto ou se conecta a um banco de dados é susceptível de ser cortado.
O que o hacker é depois:
Se você # 8242-re sorte, o hacker está fazendo nada mais do que explorar alguma falha em seu programa de # 8242-s lógica para fazer com que ele deixe de funcionar. Enquanto o programa é batido, ninguém mais pode usá-lo. Isto é chamado um Negação de Serviço (DoS) ataque porque nega o serviço prestado pelo seu programa para todos os outros.
ataques de negação de serviço pode ser caro, porque eles podem custar a sua empresa perdeu receita de negócio que doesn # 8242-t se realizada ou clientes que desistem de frustração porque seu programa não está a receber chamadas no momento. E isto doesn # 8242-t até mesmo incluir 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, mas para o qual o usuário não tem o direito. Um bom exemplo disto seria roubo de identidade.
A perda de informação é 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 nossos clientes hackeados # 8242- contas para sua própria onde ele pode, posteriormente, retirar os fundos. Isto é comumente o caso de ataques de injeção de SQL.
Finalmente, alguns hackers estão após o controle remoto do seu computador. Se o 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, ea partir de 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 de grupos de computadores de propriedade que formam o que é conhecido como um botnet.
Mas como isso funciona? Seu programa de banco tem uma interface muito limitado. Ele pede ao utilizador para o seu número de conta, o seu nome, bem como o montante do seu depósito. Em nenhum lugar diz, # 147 Gostaria de assumir este computador? # 148- ou # 147-O código extra você gostaria que este computador para executar # 148?;
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 estouro de buffer.