Qu'est-ce que la sécurité des logiciels?

Qu'est-ce que la sécurité des logiciels?
La sécurité des logiciels est la construction de logiciels sécurisés avec une défense inhérente afin qu'elle continue de fonctionner sous des attaques malveillantes, à la satisfaction des utilisateurs et des propriétaires du logiciel. Cet article explique les menaces et les solutions, d'un point de vue général. Le vocabulaire standard dans la sécurité de l'information est également expliqué. Vous devriez être un ordinateur et Internet alphabétisé pour comprendre cet article; Vous devriez également avoir étudié un langage informatique, E.g., Perl, c, c ++, php, etc.

Ce qui est sécurisé, ce sont les informations d'information et logiciels (applications et documents). Les informations sont tout message utile à quiconque. «L'information» est un vague mot. Le contexte dans lequel il est utilisé donne sa signification. Cela peut signifier les nouvelles, la conférence, le tutoriel (ou la leçon) ou la solution. Un progiciel est généralement une solution à certains problèmes ou à des problèmes connexes. Dans le passé, toutes les informations non parlées ont été écrites sur papier. Aujourd'hui, le logiciel peut être considéré comme un sous-ensemble d'informations.

Le logiciel peut résider dans un ordinateur ou être en transit d'un ordinateur à un autre. Les fichiers, les données, les e-mails, la voix enregistrée, les vidéos enregistrées, les programmes et les applications résident sur un ordinateur. Tout en résidant dans un ordinateur, il peut être corrompu. Pendant son transit, il peut toujours être corrompu.

Tout appareil avec un processeur et une mémoire est un ordinateur. Ainsi, dans cet article, une calculatrice, un smartphone ou une tablette (E.g., iPad) est un ordinateur. Chacun de ces appareils et leurs supports de transmission de réseau possèdent un logiciel ou un logiciel en transit qui devrait être protégé.

Privilèges

Un utilisateur peut avoir le privilège d'exécuter un fichier sur un ordinateur. Un utilisateur peut avoir le privilège de lire le code d'un fichier dans un ordinateur. Un utilisateur peut avoir le privilège de modifier (écrire) le code d'un fichier dans un ordinateur. Un utilisateur peut recevoir un, deux, ou les trois de ces privilèges. Il existe d'autres privilèges pour un système d'exploitation ou une base de données. Les utilisateurs ont des quantités ou des niveaux de privilèges différents dans un système.

Des menaces

Bases des menaces logicielles

Pour protéger les logiciels, vous devez connaître ses menaces. Le logiciel doit être protégé des personnes non autorisées accédant à ses données. Il doit être protégé contre une utilisation illégale (pour causer des dommages, par exemple). Le logiciel doit être protégé contre la divulgation aux rivaux. Le logiciel ne doit pas être corrompu. Le logiciel ne doit pas être supprimé involontairement. Le logiciel ne doit pas être perturbé. Le logiciel ne doit avoir aucune modification qui n'est pas appelée. Les données (logiciels) ne doivent pas être inspectées sans raison valable, en particulier par des personnes non autorisées. Le logiciel ne doit pas être copié (piraté).

Une ou plusieurs de ces bases, résultant en un type particulier de menace classique.

Classes de menace logicielle

Attaquant l'usurpation

C'est la situation où une personne (ou un programme) représente avec succès une autre personne (ou programme) dans une activité logicielle. Cela se fait en utilisant de fausses données pour obtenir un avantage qui est illégal.

Répudiation

C'est la situation dans laquelle quelqu'un fait quelque chose de mal et refuse qu'il n'est pas lui qui l'a fait. La personne peut utiliser la signature d'une autre personne pour faire la mauvaise chose.

Violation de données

Une violation de données est lorsque des informations sécurisées ou privées sont publiées intentionnellement ou non dans un environnement qui ne fait pas confiance.

Attaque par déni de service

Un réseau informatique logiciel a des logiciels en cours d'exécution dans les ordinateurs du réseau. Chaque utilisateur utilise généralement son ordinateur devant lui et demande généralement des services à d'autres ordinateurs du réseau. Un utilisateur criminel peut décider d'inonder un serveur avec des demandes superflues. Un serveur a un nombre limité de demandes qu'il peut traiter en durée. Dans ce schéma d'inondation, les utilisateurs légitimes ne peuvent pas utiliser le serveur aussi souvent qu'ils le devraient, car le serveur est occupé à répondre aux demandes du criminel. Cela surcharge le serveur, temporairement ou indéfiniment des services du serveur. Au cours de cela, l'hôte (serveur) ralentit en opération pour les utilisateurs légitimes, tandis que l'agresseur effectue ses méfait le serveur. Les bons utilisateurs se voient refuser le service, pendant que l'attaque se poursuit.

Escalade des privilèges

Différents utilisateurs d'un système d'exploitation ou d'une application ont des privilèges différents. Ainsi, certains utilisateurs se retrouvent avec plus de valeur que d'autres, du système. Exploiter un bogue logiciel ou une surveillance de la configuration pour obtenir un accès élevé aux ressources ou aux informations non autorisées est l'escalade des privilèges.

Les schémas de classification ci-dessus peuvent être utilisés pour provoquer un virus informatique et des vers.

Un ou plusieurs des schémas de classification ci-dessus peuvent être utilisés pour des attaques logicielles, notamment: le vol de propriété intellectuelle, la corruption de la base de données, le vol d'identité, le sabotage et l'extorsion d'informations. Si une personne utilise un ou plusieurs schémas pour modifier destructive, un site Web afin que les clients du site perdent confiance, c'est-à-dire le sabotage. L'extorsion d'information est le vol de l'ordinateur d'une entreprise ou obtient faussement des informations secrètes sur l'entreprise. L'ordinateur volé peut avoir des informations secrètes. Cela peut conduire à des ransomwares, où le voleur demanderait un paiement, en échange de la propriété ou des informations volées.

Confidentialité

Quand quelque chose est sensible ou intrinsèquement spécial pour vous, alors cette chose est privée pour vous. Cela s'applique également à un groupe de personnes. Un individu doit s'exprimer sélectivement. Pour atteindre une telle sélectivité, l'individu doit se planifier lui-même ou planifier des informations sur lui-même; c'est la vie privée. Un groupe de personnes doit s'exprimer sélectivement. Pour atteindre une telle sélectivité, le groupe doit planifier eux-mêmes ou planifier des informations sur eux-mêmes; c'est la vie privée. Un individu a besoin de se protéger sélectivement. Afin d'obtenir une telle protection sélective, l'individu doit se protéger ou protéger les informations sur lui-même de manière sélective; c'est-à-dire la confidentialité. Un groupe de personnes doit se protéger sélectivement. Afin d'atteindre une telle protection sélective, le groupe doit se protéger ou protéger les informations sur eux-mêmes de manière sélective; c'est-à-dire la confidentialité.

Identification et authentification

Lorsque vous vous rendez dans un pays étranger, vous atteindrez un port de ce pays. Au port, un policier vous demandera de vous identifier. Vous présentera votre passeport. Le policier connaîtra votre âge (à partir de la date de naissance), votre sexe et votre profession du passeport, et il vous regardera (votre visage); c'est l'identification. Le policier comparera votre vrai visage et la photo dans le passeport. Il estimera également votre âge avec ce qui est dans le passeport pour savoir si c'est vous.

Vous regarder et associer votre âge, votre sexe et votre profession avec vous est une identification. Vérifier si votre vrai visage et votre photo sont les mêmes, et estimer si votre présentation correspond à votre âge, c'est l'authentification. L'identification est associée à une personne ou à certains attributs. Indiquer une identité est également une identification. L'authentification est l'acte de prouver que l'identité (identification) est vraie. En d'autres termes, l'authentification est l'acte de prouver une affirmation.

En informatique, le moyen d'authentification le plus courant est l'utilisation d'un mot de passe. Un serveur, par exemple, a de nombreux utilisateurs. À Connexion, vous indiquez votre identité (vous identifiez) à votre nom d'utilisateur. Vous prouvez votre identité avec votre mot de passe. Votre mot de passe est censé être connu uniquement par vous. L'authentification peut aller plus loin; En vous posant une question, comme «dans quelle ville ou ville êtes-vous né?"

Objectifs de sécurité

Les objectifs de sécurité dans les informations sont la confidentialité, l'intégrité et la disponibilité. Ces trois fonctionnalités sont connues sous le nom de Triad de la CIA: C pour la confidentialité, I pour l'intégrité et A pour la disponibilité.

Confidentialité

Les informations ne doivent pas être divulguées à des personnes non autorisées, ou en entités non autorisées ou à des processus non autorisés; Il s'agit de la confidentialité des informations dans la sécurité de l'information (ainsi que la sécurité des logiciels). Le vol de mots de passe ou l'envoi d'e-mails sensibles à une personne incorrecte est la confidentialité est compromise. La confidentialité est une composante de la vie privée qui protège les informations contre les individus non autorisés, ou les entités non autorisées ou les processus non autorisés.

Intégrité

Les informations ou les données ont un cycle de vie. En d'autres termes, les informations ou les données ont une heure de départ et une fin de fin. Dans certains cas, après la fin du cycle de vie, les informations (ou données) doivent être effacées (légalement). L'intégrité se compose de deux caractéristiques, qui sont: 1) la maintenance et l'assurance de la précision des informations (ou données) pendant tout le cycle de vie, et 2) l'exhaustivité des informations (ou données) pendant l'ensemble du cycle de vie. Ainsi, les informations (ou données) ne doivent pas être réduites ou modifiées de manière non autorisée ou non détectée.

Disponibilité

Pour que tout système informatique puisse servir son objectif, des informations (ou des données) doivent être disponibles en cas de besoin. Cela signifie que le système informatique et ses supports de transmission doivent fonctionner correctement. La disponibilité peut être compromise par les mises à niveau du système, les défaillances matérielles et les pannes de courant. La disponibilité peut également être compromise par des attaques de déni de service.

Non-répudiation

Lorsque quelqu'un utilise votre identité et votre signature pour signer un contrat qu'il n'a jamais conclu, la non-répudiation est lorsque vous ne pouvez pas refuser avec succès devant le tribunal que vous n'avez pas fait d'auteur le contrat.

À la fin d'un contrat, la partie offrant le service doit avoir offert le service; Le paiement de la partie doit avoir effectué le paiement.

Pour comprendre comment la non-représentation est applicable à la communication numérique, vous devez d'abord connaître le sens de la clé et la signification de la signature numérique. Une clé est un morceau de code. Une signature numérique est un algorithme qui utilise une clé pour produire un autre code comparé à une signature écrite de l'expéditeur.

En sécurité numérique, la non-représentation est fournie (pas nécessairement garantie) par une signature numérique. Dans la sécurité des logiciels (ou la sécurité de l'information), la non-représentation est liée à l'intégrité des données. Le chiffrement des données (que vous avez peut-être entendu) combiné à la signature numérique contribue également à la confidentialité.

Les objectifs de sécurité dans les informations sont la confidentialité, l'intégrité et la disponibilité. Cependant, la non-représentation est une autre fonctionnalité que vous devez prendre en considération lorsque vous traitez avec la sécurité de l'information (ou la sécurité des logiciels).

Réponses aux menaces

Les menaces peuvent être répondues, dans une ou plusieurs des trois façons suivantes:

- Réduction / atténuation: Il s'agit de la mise en œuvre de garanties et de contre-mesures pour éliminer les vulnérabilités ou bloquer les menaces.

- Attribution / transfert: Cela place le fardeau de la menace sur une autre entité, comme une compagnie d'assurance ou une entreprise d'externalisation.

- Acceptation: Cela évalue si le coût de la contre-mesure l'emporte sur le coût possible de la perte due à la menace.

Contrôle d'accès

Dans la sécurité de l'information dont la sécurité des logiciels fait partie, le contrôle d'accès est un mécanisme qui garantit que seuls les utilisateurs éligibles sont en mesure d'accéder aux ressources protégées dans un système donné, avec leurs différents privilèges mérités.

Solution actuelle à la sécurité de l'information

La façon actuelle et populaire de faire la sécurité de l'information consiste à appliquer le contrôle d'accès. Cela comprend des mesures telles que la validation des entrées dans une application, l'installation d'antivirus, l'utilisation d'un pare-feu pour un réseau local et l'utilisation de la sécurité des couches de transport.

Lorsque vous vous attendez à une date d'entrée dans une application, mais que l'utilisateur entre un nombre, une telle entrée doit être rejetée. C'est une validation d'entrée.

Un antivirus installé dans votre ordinateur empêche les virus de corrompre les fichiers sur votre ordinateur. Cela aide à la disponibilité des logiciels.

Des règles peuvent être établies pour surveiller et contrôler le trafic entrant et sortant d'un réseau local, afin de protéger le réseau. Lorsque de telles règles sont implémentées comme un logiciel, dans le réseau local, c'est un pare-feu.

Transport Layer Security (TLS) est un protocole de sécurité conçu pour faciliter la confidentialité et la sécurité des données pour les transmissions sur Internet. Cela implique de crypter la communication entre l'envoi de l'hôte et la réception de l'hôte.

Faire la sécurité des informations en appliquant le contrôle d'accès est appelé logiciel de sécurité, qui est différent de la sécurité des logiciels, comme expliqué ci-dessous. Les deux approches ont le même but, mais elles sont différentes.

Sécurité du logiciel propre

Les applications, telles qu'elles sont écrites aujourd'hui, ont beaucoup de vulnérabilités logicielles que les programmeurs ont réalisé de plus en plus au cours des 20 dernières années. La plupart des attaques sont faites en profitant de ces vulnérabilités que de surmonter ou de travailler autour du contrôle d'accès.

Un tampon est comme un tableau mais sans longueur imposée. Lorsqu'un programmeur écrit dans un tampon, il est possible de se remplacer inconsciemment au-delà de sa longueur. Cette vulnérabilité est un débordement de tampon.

Aujourd'hui, le logiciel s'est fait défection avec les ramifications de sécurité, y compris les bogues d'implémentation tels que les débordements de tampon et les défauts de conception tels que la gestion des erreurs incohérentes. Ce sont des vulnérabilités.

Vous avez peut-être entendu parler de tricheurs de langage informatique tels que des tricheurs PHP, des tricheurs de perl et des tricheurs C ++. Ce sont des vulnérabilités.

La sécurité des logiciels, par opposition aux logiciels de sécurité, surmonte ces vulnérabilités en écrivant un code défensif où les vulnérabilités seraient empêchées. Alors que l'application est utilisée, à mesure que plus de vulnérabilités sont découvertes, les développeurs (programmeurs) devraient rechercher des moyens de redécorer les vulnérabilités, défensivement.

La menace, l'attaque du déni de service, ne peut pas être arrêtée par contrôle d'accès, car pour que l'agresseur le fasse, il doit déjà avoir accès à l'hôte (serveur). Il peut être arrêté en incluant des logiciels internes qui surveillent ce que font les utilisateurs chez l'hôte.

La sécurité des logiciels est une conception robuste de l'intérieur, ce qui rend les attaques logicielles difficiles. Le logiciel doit être auto-protect et, à la limite, n'a aucune vulnérabilité. De cette façon, l'exécution d'un réseau sécurisé devient plus facile et plus rentable.

La sécurité des logiciels conçoit le code défensif à partir de l'application tandis que les logiciels de sécurité appliquent (conception) le contrôle d'accès. Parfois, ces deux problèmes se chevauchent, mais souvent, ils ne.

La sécurité des logiciels est déjà assez développée, bien qu'elle soit toujours en cours de développement, elle n'est pas aussi développée que les logiciels de sécurité. Les mauvais pirates atteignent davantage leurs objectifs en profitant des vulnérabilités dans les logiciels que de surmonter ou de travailler autour des logiciels de sécurité. Il est à espérer qu'à l'avenir, la sécurité de l'information sera plus de sécurité logicielle que les logiciels de sécurité. Pour l'instant, la sécurité des logiciels et les logiciels de sécurité doivent être en cours.

La sécurité des logiciels ne sera pas vraiment efficace si des tests rigoureux ne sont pas effectués à la fin du développement logiciel.

Les programmeurs doivent être informés de la réalisation de programmes de code défensif. Les utilisateurs doivent également être éduqués sur la façon d'utiliser les applications défensivement.

Dans la sécurité des logiciels, le développeur doit s'assurer que l'utilisateur n'obtient pas plus de privilèges qu'il ne le mérite.

Conclusion

La sécurité des logiciels est la conception d'une application avec un codage défensif contre les vulnérabilités pour rendre les attaques logicielles difficiles. Le logiciel de sécurité, en revanche, est la production de logiciels qui applique le contrôle d'accès. La sécurité des logiciels est toujours en cours d'élaboration, mais il est plus prometteur pour la sécurité de l'information que les logiciels de sécurité. Il est déjà utilisé et gagne en popularité. À l'avenir, les deux seront nécessaires, mais avec les logiciels, la sécurité a besoin de plus.