Guide Pour Les Débutants En Matière De Piratage Informatique. Alan T. NormanЧитать онлайн книгу.
il doit se tenir au courant des changements constants et rapides dans le domaine de l'informatique et de la sécurité informatique. Il n'est pas nécessaire pour un hacker d'être un ingénieur, un informaticien, ou d'avoir une connaissance intime de la conception des microprocesseurs ou du matériel informatique, mais il doit comprendre comment fonctionne un ordinateur, quels en sont les principaux composants et comment ils interagissent, comment les ordinateurs sont mis en réseau à la fois localement et via Internet, comment les utilisateurs interagissent généralement avec leurs machines, et - le plus important - comment les logiciels dictent le fonctionnement de l'ordinateur. Un excellent hacker parle couramment et pratique plusieurs langues informatiques et comprend les principaux systèmes d'exploitation. Il est également très utile pour un hacker de se familiariser avec l'histoire, les mathématiques et la pratique de la cryptographie.
Il est possible, et de plus en plus fréquent, qu'un profane ayant peu d'expérience du piratage et des connaissances faibles ou intermédiaires en programmation mène une attaque contre un système. Les gens le font souvent en utilisant des scripts et en suivant des procédures qui ont été développées par des opérateurs plus expérimentés. Cela se produit le plus souvent avec des types d'attaques plus simples, comme le déni de service. Ces pirates informatiques inexpérimentés sont connus dans la communauté des pirates informatiques sous le nom de "script kiddies". Le problème avec ce type d'activité est que les auteurs n'ont pas une grande connaissance de ce qui se passe dans le code qu'ils exécutent et ne peuvent pas anticiper les effets secondaires ou d'autres conséquences involontaires. Il est préférable de bien comprendre ce que vous faites avant de tenter une attaque.
Ordinateurs Et Processeurs
Les ordinateurs varient en taille, forme et fonction, mais la plupart d'entre eux ont essentiellement le même design. Un bon hacker devrait étudier comment les ordinateurs ont évolué des premières machines du 20e siècle aux machines beaucoup plus sophistiquées que nous utilisons aujourd'hui. Ce faisant, il devient évident que les ordinateurs ont les mêmes composants de base. Pour être un hacker efficace, vous devez connaître les différents types de processeurs qui existent sur la majorité des ordinateurs modernes. Par exemple, les trois plus grands fabricants de microprocesseurs sont Intel, American Micro Devices (AMD) et Motorola. Ces processeurs comprennent la plupart des ordinateurs personnels qu'un pirate informatique rencontrera, mais chacun a son propre jeu d'instructions. Bien que la plupart des pirates aient rarement affaire à des langages de programmation au niveau de la machine, des attaques plus sophistiquées peuvent nécessiter une compréhension des différences entre les jeux d'instructions des processeurs.
Certains processeurs sont programmables par l'utilisateur final. Ils sont connus sous le nom de Field-Programmable Gate Arrays (FPGA) et sont de plus en plus souvent utilisés pour les systèmes embarqués, notamment dans les contrôles industriels. Il est connu que des pirates informatiques accèdent à ces puces pendant leur production afin de déployer des logiciels malveillants à la destination finale. Une compréhension de l'architecture et de la programmation des FPGA est nécessaire pour ce type d'attaques sophistiquées. Ces attaques intégrées sont particulièrement préoccupantes pour les clients militaires et industriels qui achètent des puces à grande échelle pour des systèmes critiques.
Mise En Réseau Et Protocoles
L'un des sujets les plus importants à étudier pour l'aspirant hacker est celui de l'architecture des réseaux et des protocoles. Les ordinateurs peuvent être mis en réseau dans de nombreuses configurations et tailles différentes, et avec différentes technologies qui régissent leur interconnexion. Du fil de cuivre à la fibre optique, en passant par les connexions sans fil et par satellite, ainsi que des combinaisons de tous ces médias, nous avons construit un vaste réseau d'ordinateurs à travers le monde. Ce réseau peut être compris dans son intégralité à grande échelle, mais aussi être considéré comme une connexion de réseaux autonomes plus petits.
En termes de taille, les réseaux informatiques ont traditionnellement été classés en réseaux locaux (LAN) et en réseaux étendus (WAN). Les WAN relient généralement plusieurs réseaux locaux. Il existe plusieurs autres désignations pour différentes tailles de réseaux, et la terminologie évolue constamment en fonction des nouvelles technologies et des nouvelles conductivités. Suivre ces changements est l'une des tâches permanentes d'un hacker.
Les réseaux ont également des architectures différentes. L'architecture est déterminée non seulement par la configuration des différents nœuds, mais aussi par le support qui les relie. À l'origine, les ordinateurs en réseau étaient toujours connectés par un fil de cuivre. Les câbles de réseau en cuivre couramment utilisés, souvent appelés câbles Ethernet, sont constitués de paires de fils de cuivre torsadés. Bien que le plus courant de ces câbles soit le câble de catégorie cinq, ou CAT-5, il commence à céder la place à une nouvelle norme, CAT-6, qui a une plus grande capacité de transmission des signaux.
Pour les applications à très haut débit et sur de longues distances, on choisit généralement des câbles à fibres optiques. Les fibres optiques utilisent la lumière au lieu de l'électricité et ont une très grande capacité de transport de l'information. Elles sont utilisées pour transporter la plupart des services modernes de télévision par câble et d'internet à haut débit. La fibre optique sert de colonne vertébrale à l'internet. Dans les petites zones, les réseaux sans fil sont très courants. Grâce au protocole Wi-Fi (Wireless Fidelity), les réseaux sans fil existent dans un grand nombre de réseaux locaux personnels, privés et commerciaux. Les pirates informatiques sont souvent particulièrement intéressés par le piratage des réseaux Wi-Fi, ce qui entraîne l'évolution des normes de sécurité Wi-Fi.
Quelle que soit l'architecture ou le moyen de transmission, lorsque deux terminaux communiquent sur un réseau, ils doivent le faire en utilisant un ensemble de règles communes appelées protocole. Les protocoles de mise en réseau ont évolué depuis la création des premiers réseaux informatiques, mais ils ont conservé la même approche de base par couches. En général, un réseau est conceptualisé en termes de différentes couches qui remplissent différentes fonctions. C'est ce qu'on appelle aussi une pile. Les protocoles de communication les plus couramment utilisés aujourd'hui sont le protocole Internet (IP) et le protocole de contrôle de transmission (TCP). Pris ensemble, ils sont communément appelés TCP/IP. Ces protocoles changent et sont parfois normalisés. Il est essentiel pour le pirate d'apprendre ces protocoles et leur relation avec la communication entre les différentes couches de la pile. C'est ainsi que les pirates peuvent obtenir des niveaux d'accès de plus en plus élevés à un système.
Langages De Programmation
Il peut sembler décourageant d'apprendre un langage de programmation en partant de zéro sans l'avoir jamais fait auparavant, mais beaucoup de gens trouvent qu'une fois qu'ils maîtrisent un langage de programmation, il est beaucoup plus facile et rapide d'en apprendre d'autres. Les pirates doivent non seulement comprendre les langages de programmation pour pouvoir exploiter les vulnérabilités des logiciels, mais beaucoup d'entre eux doivent écrire leur propre code pour pouvoir exécuter une attaque particulière. Lire, comprendre et écrire du code est fondamental pour le piratage.
Les langages de programmation vont du code machine très obscur, qui est en format binaire et hexadécimal et qui est utilisé pour communiquer directement avec un processeur, aux langages orientés objet de haut niveau qui sont utilisés pour le développement de logiciels. Les langages orientés objet de haut niveau les plus courants sont C++ et Java. Le code écrit dans des langages de haut niveau est compilé dans le code machine approprié pour un processeur particulier, ce qui rend les langages de haut niveau très portables entre différents types de machines. Une autre catégorie est celle des langages scriptés, dans lesquels les commandes sont exécutées ligne par ligne au lieu d'être compilées en code machine.
L'apprentissage des langages de programmation prend du temps et de la pratique - il n'y a pas d'autre moyen de devenir compétent. Les longues soirées et les marathons nocturnes d'écriture, de débogage et de recompilation