Vulnérabilités dans les systèmes d'exploitation. Partie I



Tout ordinateur ou serveur a besoin, pour fonctionner pleinement, non seulement d'un matériel de haute qualité, mais aussi d'un logiciel non moins de haute qualité et, surtout, d'un logiciel sûr. Aujourd'hui, nous allons examiner certaines statistiques qui indiquent quels systèmes d'exploitation sont les plus vulnérables, lesquels sont les plus sécurisés et quelles vulnérabilités ont été le plus souvent détectées dans chacun d'eux.

Afin d'éviter l'incroyable longride, ce matériel sera divisé en 4 parties. Chacun d'eux décrira les vulnérabilités de 5 systèmes d'exploitation. Dans la première, c'est-à-dire dans cette partie, nous considérerons les 5 premiers participants à notre notation, sur la base des données de 2017.

Nom du système d'exploitationConstructeurNombre total de vulnérabilités pour 2017Nombre total de vulnérabilités pour 2016Nombre total de vulnérabilités pour toute la durée des statistiques
AndroidGoogle6665231357
Noyau LinuxLinux3812171921
Iphone osApple2931611277
Windows 10Microsoft226172451
Windows Server 2016Microsoft21239251
Windows Server 2008Microsoft212133981
Mac os xApple2102151888
Windows Server 2012Microsoft201156606
Windows 7Microsoft197134838
Windows 8.1Microsoft192154542
Windows Rt 8.1Microsoft124139438
Debian LinuxDebian953271029
FedoraProjet Fedora84120441
Ubuntu linuxCanonique66279867
WatchosApple6577231
Windows VistaMicrosoft64125814
OpensuseProjet opensuse585119
BondProjet opensuse57260
BondNovell48260349
XenXen4428228

Tout d'abord, il convient de noter que ces statistiques peuvent être interprétées différemment, car il existe plusieurs divergences avec les données initiales des participants - tout d'abord, leur âge (certains OS existent 5 ans, certains seulement un an), car le général les données pour toute la période de leur existence ne doivent pas être prises en compte dans une analyse comparative, mais prises en compte en tant que données générales. Bien que, d'autre part, lorsque le jeune OS présente plus de vulnérabilités que celui existant depuis de nombreuses années, cela conduit à certaines réflexions.

Android était le leader de notre anti-rating pour 2017 et 2016 avec respectivement les résultats de 666 et 523 vulnérabilités. Pendant tout ce temps, lorsque les statistiques étaient collectées et traitées, le noyau Linux (la base de la famille Linux OS) était en tête depuis la vulnérabilité de 1921.

Les vulnérabilités sont nombreuses, comme nous le voyons, des centaines, voire des milliers. Voici les principaux types de vulnérabilités pris en compte dans notre analyse:

  • DoS (Denial of Service) (l'exploitation de la vulnérabilité conduit à des appareils DoS);
  • Contourner quelque chose (par exemple, un mot de passe pour accéder au système);
  • Exécution de code (possibilité pour un attaquant d'exécuter une commande sur l'appareil de la victime);
  • Corruption de mémoire;
  • Accès à l'information (se référant aux informations secrètes obtenues grâce à la vulnérabilité);
  • Escalade de privilèges (en particulier pour les logiciels malveillants);
  • Débordement (tampon);

Il convient d'examiner de plus près certaines des vulnérabilités observées sur un système d'exploitation particulier. Le portail CVE Details note chacun d'eux. Le nombre de points dépend du niveau de dommages et de la distribution de masse. Le score maximum est de 10 points. Il s'agit de ces vulnérabilités (si elles existent et si elles sont uniques) qui seront discutées plus loin. Pour que cet article ne se transforme pas en un livre en cinq volumes de Lénine, nous ne prêterons attention qu'à trois vulnérabilités d'une liste qui peut contenir des centaines d'articles.

Description des tableaux

Les tableaux de chacun des types de vulnérabilités indiquent certains paramètres supplémentaires liés à une vulnérabilité particulière. En savoir plus sur eux.

Niveau d'impact sur

1) confidentialité :

  • Complet - la vulnérabilité permet aux attaquants d'accéder à toutes les informations sur l'appareil;
  • Partielle - divulgation importante d'informations;
  • Aucun - la vie privée n'est pas violée;

2) intégrité :

  • Complet - l'intégrité du système est complètement compromise, une perte complète de protection du système;
  • Partielle - la modification de certains fichiers ou informations système est possible, mais l'attaquant n'a aucun contrôle sur ce qui peut être changé;
  • Aucun - il n'y a aucun impact sur l'intégrité du système;


3) disponibilité :

  • Full - la vulnérabilité permet à un attaquant de bloquer complètement l'accès à la ressource;
  • Partielle - diminution de la productivité ou disponibilité irrégulière des ressources;
  • Aucun - il n'y a aucun impact sur la disponibilité du système;

Difficulté d'accès

  • Faible - des conditions spéciales d'accès ne sont pas requises, ainsi que des connaissances ou des compétences spécifiques ne sont pas requises;
  • Moyen - certaines conditions doivent être remplies pour avoir accès;
  • Élevé - conditions d'accès spéciales limitant l'exploit;

Authentification

  • Non requis - l'authentification n'est pas requise pour exploiter la vulnérabilité;
  • Système unique - la vulnérabilité nécessite que le pirate soit connecté au système (par exemple, via la ligne de commande, le mode bureau ou via l'interface Web).


Et maintenant, après nous être familiarisés avec les données générales et compris ce que et comment seront dans les tableaux ci-dessous, passons à une discussion spécifique de chacun des cinq systèmes d'exploitation.

1. Android




Android - OC pour smartphones, tablettes, consoles de jeux, etc. Première apparition - 2008. Le nombre total d'utilisateurs pour toute l'existence de l'ordre de 2 milliards de personnes. Ce nombre est incroyable. Et comme nous le savons, plus le logiciel est courant, plus les attaquants étudieront attentivement ses défauts et ses trous pour les utiliser dans leurs affaires sombres. Le débat sur la sécurité d'Android OS dure depuis très longtemps. Quelqu'un le considère comme le pire, quelqu'un prétend que pour l'utilisateur moyen, le système d'exploitation moyen est tout à fait approprié et ses inconvénients ne se ressentent presque pas. Cependant, les opinions sont des opinions, et les chiffres peuvent en dire beaucoup plus.



Dos

61 des 253 vulnérabilités méritaient 10 points.

Vulnérabilité n ° 1

Sur les appareils Samsung Galaxy S4-S7, il y a un débordement de logiciel dans libomacp.so lors de l'analyse (analyse) d' OMACP (dans les messages SMS Push WAP ), ce qui peut endommager le tas , ce qui peut entraîner l'exécution du DoS et du code à distance.

OMACP est une application système permettant d'afficher un contenu de message partiel sur un écran d'appareil (aperçu).
WAP Push SMS - un format spécial pour les SMS contenant des liens pour leur activation facile.
Un tas est une structure de données de type arborescence.

Vulnérabilité n ° 2

Le débordement de plusieurs logiciels dans le pilote MDSS pour le noyau Linux 3.x, qui est utilisé dans les appareils MSM basés sur Qualcomm Innovation Center (QuIC) Android, permet aux attaquants d'organiser DoS et d'exécuter d'autres actions malveillantes.

Vulnérabilité n ° 3

DRMExtractor.cpp dans la bibliothèque libstagefright du composant mediaserver sur les appareils Android ne vérifie pas certaines données de décalage, ce qui permet à un attaquant d'effectuer un DoS, d'exécuter du code ou de corrompre la mémoire en ajoutant le fichier multimédia qu'il a créé.


Tableau de vulnérabilité Android DoS

Contourner quelque chose

5 des 104 cas ont marqué 10 points.

Vulnérabilité n ° 1

app / aboot / aboot.c dans les composants Qualcomm sur les appareils Nexus 5 exécutant Android OS ne vérifie pas correctement l'intégrité du débordement, ce qui permet aux attaquants de contourner les restrictions d'accès établies en utilisant les valeurs de «début» et de taille créées.

Vulnérabilité n ° 2

libs / gui / BufferQueueConsumer.cpp dans mediaserver sur Android ne vérifie pas l'autorisation android.permission.DUMP, qui permet aux attaquants d'obtenir des informations confidentielles et, par conséquent, de contourner un mécanisme de protection non spécifié en demandant un vidage, comme en témoigne l'obtention d'un accès à la signature ou SignatureOrSystem.

Vulnérabilité n ° 3

media / libmedia / IOMX.cpp dans mediaserver dans Android n'initialise pas le paramètre de structure de données, ce qui permet aux attaquants d'obtenir des informations confidentielles de la mémoire du processus et, par conséquent, de contourner un mécanisme de protection non spécifié via des vecteurs non définis, comme en témoigne l'obtention d'un accès à la signature ou SignatureOrSystem.


Tableau de vulnérabilité d'Android Crawl

Exécution de code

80 cas sur 346 ont marqué 10 points.

Vulnérabilité n ° 1

Sur les appareils Samsung Galaxy S4-S7, il y a un débordement de logiciel dans libomacp.so lors de l'analyse (analyse) d'OMACP (dans les messages SMS Push WAP), ce qui peut endommager le tas, ce qui peut entraîner l'exécution du DoS et du code à distance.

Vulnérabilité n ° 2

Une vulnérabilité d'exécution de code à distance dans le pilote de chiffrement Qualcomm pourrait conduire à une attaque à distance avec l'exécution de code arbitraire dans le contexte du noyau.

Vulnérabilité n ° 3

udp.c dans le noyau Linux antérieur à la version 4.5 vous permet d'exécuter à distance du code arbitraire via le trafic UDP, qui démarre le calcul non sécurisé de la seconde somme de contrôle lors de l'exécution de l'appel système recv avec l'indicateur MSG_PEEK.


Tableau de vulnérabilité d'exécution de code dans le système d'exploitation Android

Corruption de la mémoire

57 cas sur 118 - 10 points.

Vulnérabilité n ° 1

libAACdec / src / aacdec_drc.cpp dans mediaserver sur les appareils Android a limité de manière incorrecte le nombre de threads, ce qui a permis d'exécuter du code arbitraire à distance ou d'organiser DoS en ajoutant un fichier multimédia créé par l'attaquant.

Vulnérabilité n ° 2

libFLAC / stream_decoder.c dans les appareils Android du mediaserver n'a pas empêché les opérations libres avec de la mémoire non initialisée, ce qui a permis au pirate d'exécuter du code arbitraire ou DoS via le fichier multimédia qu'il a ajouté.

Vulnérabilité n ° 3

DRMExtractor.cpp dans la bibliothèque libstagefright du composant mediaserver sur les appareils Android ne vérifie pas certaines données de décalage, ce qui permet à un attaquant d'effectuer un DoS, d'exécuter du code ou de corrompre la mémoire en ajoutant le fichier multimédia qu'il a créé.


Tableau de vulnérabilités de corruption de mémoire Android

Accès à l'information

Seuls 4 cas sur 210 ont marqué 10 points.

Vulnérabilité n ° 1

media / libmedia / IOMX.cpp dans mediaserver sur les appareils Android n'initialise pas la structure de données des paramètres, ce qui permet au pirate d'accéder à des informations précieuses à partir de la mémoire du processus, et, par la suite, de contourner les mécanismes de protection non identifiés via des vecteurs non définis, comme en témoigne l'obtention d'un accès à la signature ou SignatureOrSystem.

Vulnérabilité n ° 2

media / libmedia / IOMX.cpp dans mediaserver sur les appareils Android n'initialise pas certains pointeurs de tampon de métadonnées, ce qui permet à un attaquant d'accéder à des informations précieuses à partir de la mémoire du processus, et, par la suite, de contourner les mécanismes de protection non identifiés via des vecteurs non définis, comme en témoigne l'accès à la signature ou SignatureOrSystem.

Vulnérabilité n ° 3

media / libmedia / IOMX.cpp dans mediaserver sur les appareils Android n'initialise pas une structure de données de demande de clé spécifique, ce qui permet à un attaquant d'accéder à des informations précieuses à partir de la mémoire du processus, et, par la suite, de contourner les mécanismes de protection non identifiés via des vecteurs non définis, comme en témoigne l'accès Signatures ou SignatureOrSystem.


Tableau de vulnérabilité de la catégorie Accès à l'information dans le système d'exploitation Android

Augmentation des privilèges

6 cas sur 310 - 10 points.

Vulnérabilité n ° 1

L'augmentation des privilèges a été réalisée par des cybercriminels grâce à une vulnérabilité de mediaserver sur les appareils Android version 4.0.3 - 5.x, vers la version 5.1.

Vulnérabilité n ° 2

Plusieurs débordements logiciels dans la fonction GraphicBuffer :: unflatten dans la plate-forme / frameworks / native / libs / ui / GraphicBuffer.cpp ont permis aux attaquants d'obtenir des privilèges ou d'effectuer des DoS via un vecteur qui active un grand nombre de descripteurs de fichiers ou de valeurs entières.

Le descripteur de fichier est un entier non négatif. Lors de la création d'un nouveau flux d'entrée / sortie, le noyau renvoie le descripteur de fichier au processus auteur.

Vulnérabilité n ° 3

La vulnérabilité d'utilisation -after-free dans le composant venc mm-video-v4l2 dans mediaserver a permis aux attaquants d'obtenir des privilèges via l'application qu'ils ont créée, comme en témoigne l'obtention d'un accès à la signature ou SignatureOrSystem.

Use-after-free - type de vulnérabilité de corruption de mémoire. Indique l'utilisation de la mémoire de l'appareil après sa libération (effacée).


Tableau de vulnérabilités de l'élévation de privilèges Android

Débordement

100 cas sur 289 - 10 points.

Vulnérabilité n ° 1

Tous les produits Qualcomm basés sur Android CAF de CAF utilisant le noyau Linux ont rencontré une erreur lors de la fusion de SSL avec ClientHello, entraînant une fuite de mémoire.

Vulnérabilité n ° 2

Tous les produits Qualcomm basés sur Android CAF de la CAF utilisant le noyau Linux avaient un débordement de logiciel dans l'hyperviseur.

Vulnérabilité n ° 3

Dans tous les produits Qualcomm basés sur Android CAF de CAF utilisant le noyau Linux, le pilote peut potentiellement entraîner une fuite de mémoire.


Tableau de vulnérabilité de débordement Android

Le nombre de vulnérabilités dans le système d'exploitation Android est encore assez important. De plus, la plupart d'entre eux offrent aux attaquants un accès complet ou partiel à l'appareil et à ses données. Et cela peut entraîner une perte de données ou même une perte de fonds, étant donné que les appareils mobiles sont souvent utilisés pour vérifier l'accès aux systèmes bancaires et de paiement.

2. Noyau Linux




Le noyau Linux est le noyau du système d'exploitation, la base de la famille Linux d'OS. En d'autres termes, ce sont des composants internes du système d'exploitation, tandis que la coque extérieure peut être différente. La première apparition est 1991. Malgré le grand nombre de vulnérabilités découvertes entre 1999 et 2017, Linux n'est pas si populaire parmi les cybercriminels. Et tout est lié à sa petite distribution dans le monde. Selon certains rapports, seulement 1% du nombre total d'utilisateurs d'ordinateurs utilisent ce système d'exploitation particulier. Et pour obtenir plus de profits, les pirates ont besoin de plus de victimes.



Dos

23 vulnérabilités sur 1070 ont marqué 10 points.

Vulnérabilité n ° 1

La fonction inet_csk_clone_lock dans net / ipv4 / inet_connection_sock.c permet aux attaquants d'organiser DoS en gérant un appel système reçu.

Vulnérabilité n ° 2

La fonction mq_notify dans le noyau Linux ne définit pas le pointeur de socket sur NULL lors de l'entrée en mode de nouvelle tentative. Lors de la fermeture d'un socket Netlink par espace utilisateur, les attaquants peuvent organiser DoS.

Netlink est l'interface du noyau Linux pour établir la communication entre les processus utilisateur et les processus du noyau lui-même.

Vulnérabilité n ° 3

La fonction __skb_flow_dissect dans net / core / flow_dissector.c ne garantit pas que n_proto, ip_proto et thoff sont initialisés, ce qui vous permet d'organiser DoS ou d'exécuter du code arbitraire via le package MPLS créé.


Tableau de vulnérabilité DoS du noyau Linux

Contourner quelque chose

Puisqu'une seule vulnérabilité a gagné 10 points, nous considérerons (en plus) deux cas la suivant.

Vulnérabilité n ° 1 (10)

Un débordement de logiciel entraîne un état TOCTOU dans l'hyperviseur PIL (Peripheral Image Loader) et provoque également une condition de concurrence critique , qui peut être utilisée pour contourner l'authentification dans PIL.

TOCTOU - Time of check to time of use - une classe de bugs causés par des changements dans le système entre la vérification de l'état (par exemple, les informations d'identification de connexion) et l'utilisation des résultats de cette vérification.

La condition de concurrence critique est une erreur de conception d'un système ou d'une application multithread, lorsque le fonctionnement d'un système ou d'une application dépend de l'ordre d'exécution du code.

Vulnérabilité n ° 2 (9,3 points)

arch / arm64 / kernel / sys.c dans le noyau Linux avant la version 4.0 permettait aux utilisateurs de contourner le mécanisme de protection "autorisations de page strictes" et de modifier la table d'appels système, obtenant par la suite des privilèges en exploitant l'accès en écriture.

Vulnérabilité n ° 3 (9,3 points)

La vulnérabilité de divulgation du chargeur de démarrage de Qualcomm pourrait permettre à un logiciel malveillant local d'exécuter du code arbitraire dans le contexte du chargeur de démarrage.


Tableau de vulnérabilité du noyau Linux

Exécution de code

11 vulnérabilités (10 points) sur 236 au total.

Vulnérabilité n ° 1

udp.c dans le noyau Linux antérieur à 4.5 vous permet d'exécuter à distance du code arbitraire via le trafic UDP, qui démarre le calcul non sécurisé de la deuxième somme de contrôle pendant l'appel système recv avec l'indicateur MSG_PEEK.

Vulnérabilité n ° 2

Une vulnérabilité dans le firmware Broadcom Wi-Fi a permis d'exécuter à distance du code arbitraire dans le contexte Wi-Fi SoC.

Vulnérabilité n ° 3

La fonction __skb_flow_dissect dans net / core / flow_dissector.c ne garantit pas que n_proto, ip_proto et thoff sont initialisés, ce qui vous permet d'organiser DoS ou d'exécuter du code arbitraire via le package MPLS créé.


Tableau de vulnérabilité d'exécution de code Linux

Corruption de la mémoire

3 vulnérabilités (10 points) sur 109 au total.

Vulnérabilité n ° 1

Le débordement de tampon dans l'implémentation RNDIS de l'USB a permis d'organiser le DoS via une réponse NDIS distante à OID_GEN_SUPPORTED_LIST, ce qui a conduit à l'allocation de mémoire pour les données de réponse, et non sa structure.

Vulnérabilité n ° 2

Un bogue logiciel dans la fonction CIFSFindNext dans fs / cifs / cifssmb.c a permis aux serveurs CIFS distants de créer DoS via une valeur de grande longueur en réponse à une demande de lecture de répertoire.

Vulnérabilité n ° 3

sound / soc / msm / qdsp6v2 / msm-audio-effects-q6-v2.c dans le pilote audio MSM QDSP6 pour le noyau Linux 3.x utilisé dans les appareils Android MSM de Qualcomm Innovation Center (QuIC) a permis d'organiser le DoS via l'application créée, ce qui a causé ioctl à provoquer une utilisation incorrecte du pointeur de paramètre.

ioctl est un appel système pour les opérations d'E / S et autres qui ne peuvent pas être traitées par des appels système réguliers.


Tableau de vulnérabilité de corruption de mémoire du noyau Linux

Accès à l'information

Pour le moment, il n'y avait pas de vulnérabilités fixes pouvant être estimées à 10 points, nous allons donc considérer celles qui le sont.

Vulnérabilité n ° 1 (9.3)

La vulnérabilité de divulgation du chargeur de démarrage de Qualcomm pourrait permettre à un logiciel malveillant local d'exécuter du code arbitraire dans le contexte du chargeur de démarrage.

Vulnérabilité n ° 2 (8.5)

Le pilote OZWPAN s'appuie sur un attribut non fiable lors de l'analyse des paquets, ce qui permet à DoS et d'accéder à des informations précieuses à partir de la mémoire du noyau en raison du package créé.

Vulnérabilité n ° 3 (7,9)

L'implémentation de xfs dans le noyau avant la version 2.6.35 ne prend pas en compte la structure btrees des inodes avant de lire les tampons d' inode , ce qui permet à un utilisateur authentifié à distance de lire des fichiers non liés, ou de lire et d'écraser des blocs de disque qui étaient liés au fichier actif au moment de l'opération, mais plus tôt ont été liés à un fichier non lié, en accédant à NFS .

inode (inode) - structure de données
btrees - structure de données, arbre de recherche
NFS - Protocole d'accès aux fichiers réseau


Tableau de vulnérabilité du noyau Linux

Augmentation des privilèges

3 vulnérabilités (10 points) sur 250 au total.

Vulnérabilité n ° 1

La fonction "capacités" sur Linux antérieure à la version 2.2.16 permettait aux utilisateurs locaux d'obtenir des privilèges en définissant des capacités pour empêcher les privilèges setuid d'être supprimés par le programme.

setuid - définir l'ID utilisateur au moment de l'exécution

Vulnérabilité n ° 2

Plusieurs débordements logiciels dans un émulateur 32 bits pour les architectures AMD64 ont permis aux attaquants de mener des DoS ou d'obtenir des privilèges root via des vecteurs non identifiés qui activaient les appels de fonction copy_from_user avec des arguments de longueur incorrects.

Vulnérabilité n ° 3

La vulnérabilité Use-after-free dans la fonction kvm_ioctl_create_device dans virt / kvm / kvm_main.c a permis à l'utilisateur hôte de faire DoS ou d'obtenir des privilèges via des appels ioctl au périphérique / dev / kvm.


Tableau de vulnérabilité d'élévation de privilèges du noyau Linux

Débordement

Sur 305 vulnérabilités, 17 ont marqué 10 points.

Vulnérabilité # 1

Débordement logiciel possible dans l'appel système SMMU. Une validation d'entrée incorrecte dans l'appel système ADSP SID2CB peut remplacer la mémoire de l'hyperviseur.

Vulnérabilité n ° 2

Débordement de tampon dans le sous-système de stockage. Des paramètres incorrects dans le cadre de la réponse aux commandes RPMB peuvent entraîner des dépassements de tampon.

Vulnérabilité n ° 3

Dans /drivers/isdn/i4l/isdn_net.c: un tampon contrôlé par l'utilisateur est copié dans le tampon local dans une taille constante à l'aide de strcpy sans vérifier la longueur, ce qui peut entraîner un débordement de tampon.


Tableau des vulnérabilités de la catégorie Overflow dans le noyau Linux

Comme le montrent les données ci-dessus, il existe très peu de vulnérabilités critiques. La plupart d'entre eux n'ont pas eu un impact important sur les performances du système ou l'intégrité des données.

3. Iphone Os




Iphone Os est un système d'exploitation pour les appareils mobiles (smartphones, tablettes, etc.) d'Apple. Depuis juin 2010, il s'appelle simplement iOS. Première apparition - 2007. Le nombre total d'utilisateurs dans le monde est d'environ 700 millions de personnes.

iOS a collecté 1328 vulnérabilités dans toute son existence, soit 624 de moins que Linux. Cependant, tout est précisément dans la période au cours de laquelle ces statistiques ont été collectées. 1328 vulnérabilités en 10 ans - bien pire que 1952 en 19 ans. Et encore une fois, en raison de la popularité de cet OS.



Les

vulnérabilités DoS 11 sur 739 ont marqué 10 points.

La vulnérabilité n ° 1 de

libxml2 dans iOS jusqu'à la version 10 permettait aux attaquants d'effectuer des DoS ou d'exécuter du code sur l'appareil de la victime en implémentant le document XML qu'ils avaient créé.

La vulnérabilité n ° 2

Audio dans les appareils avec iOS en dessous de la 10e version a permis d'organiser DoS ou d'exécuter du code sur un vecteur désinstallé.

Vulnérabilité n ° 3

Sur les puces Wi-Fi Broadcom BCM4355C0, version 9.44.78.27.0.1.56 et autres, des trames en direct correctement créées pourraient potentiellement entraîner un débordement du tas de micrologiciel Wi-Fi et / ou un débordement de pile. Cela a conduit à DoS.

over-the-air - cas de télécommande sans fil par un attaquant d'un appareil mobile.


Tableau des vulnérabilités de la catégorie DoS dans iOS

Contournant quelque chose

1 vulnérabilité sur 142 a marqué 10 points.

Vulnérabilité n ° 1 (10)

Le noyau dans iOS avant la version 8.1.3 n'utilise pas l'attribut "lecture seule" du segment de mémoire partagée lors de l'utilisation du mode de cache utilisateur, qui permet aux attaquants de contourner les restrictions d'accès prévues via l'application créée.

Vulnérabilité n ° 2 (9.3)

Le noyau iOS antérieur à la version 5.1 ne gère pas correctement les appels système de débogage, ce qui permet aux attaquants de contourner à distance les restrictions du sandbox.

Vulnérabilité n ° 3 (9.3)

Le noyau iOS jusqu'à la version 9.3 restreint de manière incorrecte les droits exécutifs, ce qui permet aux attaquants de contourner le mécanisme de protection des signatures de code via l'application créée.


Tableau des vulnérabilités de la catégorie Contourner quelque chose dans l'

exécution de code iOS

17 vulnérabilités sur 661 - 10 points.

Vulnérabilité n ° 1

libxml2 dans iOS avant la version 9.3 permettait aux attaquants d'exécuter du code sur l'appareil de la victime en implémentant le document XML qu'ils avaient créé.

La vulnérabilité n ° 2 de

libxml2 dans iOS jusqu'à la version 10 permettait aux attaquants de mener des DoS ou d'exécuter du code sur l'appareil de la victime en implémentant le document XML qu'ils avaient créé.

La vulnérabilité n ° 3

Audio dans les appareils avec iOS en dessous de la 10e version a permis d'organiser DoS ou d'exécuter du code sur un vecteur désinstallé.


Tableau de vulnérabilité de la catégorie Exécution de code dans iOS

Corruption de la mémoire

6 des 563 vulnérabilités ont obtenu 10 points.

La vulnérabilité n ° 1 de

libxml2 dans iOS avant la version 9.3 a permis aux attaquants d'endommager la mémoire sur le périphérique de la victime en raison de l'implémentation du document XML qu'ils ont créé.

La vulnérabilité n ° 2 de

libxml2 dans iOS jusqu'à la version 10 a permis aux attaquants d'endommager la mémoire sur l'appareil de la victime en implémentant le document XML qu'ils avaient créé.

La vulnérabilité n ° 3

Audio dans les appareils avec iOS en dessous de la 10e version a permis de corrompre la mémoire ou d'exécuter du code sur un vecteur désinstallé.


Tableau de vulnérabilités de la catégorie "Altération de la mémoire" dans iOS

Accès aux informations

Il n'y a pas de vulnérabilités fixes évaluées à 10 points.

Vulnérabilité n ° 1 (7.5)

Sur les smartphones avec iPhone OS 1.0-2.1 et iPod touch 1.1-2.1, le système a modifié le niveau de cryptage des connexions VPN PPTP pour le réduire, simplifiant ainsi l'accès des attaquants à des informations précieuses et même autorisé à intercepter la connexion en décryptant le trafic réseau.

Vulnérabilité n ° 2 (7,5)

Le noyau iOS avant la version 8.3 a apporté des modifications au routage en réponse au message ICMP_REDIRECT, ce qui a permis aux crackers d'organiser DoS ou d'obtenir des informations sur le paquet via le paquet ICMP qu'ils ont créé.

Vulnérabilité n ° 3 (7.1)

Implémentation du style XSL dans WebKit sur les appareils avec iPhone OS 1.0-2.2.1 (également sur les versions iPod touch 1.1-2.2.1) des objets XML externes mal traités, ce qui a permis la lecture à distance des données utilisateur en raison de la création DTD .

DTD - Document Type Definition - définition du type de document.


Tableau de vulnérabilité de la catégorie "Accès à l'information" dans iOS

Augmentation des privilèges

Seule 1 vulnérabilité sur 38 a obtenu 10 points.

Vulnérabilité n ° 1 (10 points)

Le noyau iOS avant la version 9 a permis aux utilisateurs locaux d'obtenir des privilèges, ce qui a conduit à DoS via un vecteur non identifié.

Vulnérabilité n ° 2 (7.9)

Sur les versions iOS 7-9, en raison de la vulnérabilité de BlueBorne dans la mise en œuvre de LEAP (Low Energy Audio Protocol), il était possible d'envoyer de grandes commandes audio à l'appareil victime, ce qui a entraîné un débordement du tas avec des données contrôlées par des intrus. Étant donné que les commandes audio transmises via LEAP ne sont pas validées correctement, un attaquant peut prendre le contrôle total de l'appareil via le niveau extrêmement élevé de privilèges de la pile Bluetooth. L'attaque contourne le mécanisme de contrôle d'accès Bluetooth, mais en même temps, dans les paramètres, Bluetooth doit être activé.

Vulnérabilité n ° 3 (7.2)

Le routage dans iOS avant la version 4.2 a eu accès à un pointeur non valide lors du traitement des règles de filtrage de paquets, ce qui a permis à un utilisateur local de recevoir des privilèges via un vecteur non défini.


Tableau des vulnérabilités dans la catégorie "Escalade de privilèges" dans iOS

Overflow

14 des 580 vulnérabilités ont obtenu 10 points.

Vulnérabilité n ° 1 Un

débordement de tampon peut se produire lors du traitement des messages de la liaison descendante NAS dans la téléphonie Qualcomm sur des appareils: iPhone 5 et versions antérieures, iPad 4e génération et versions antérieures, iPod touch 6e génération.

Vulnérabilité n ° 2

Sur les puces Wi-Fi Broadcom BCM4355C0, version 9.44.78.27.0.1.56, un attaquant pourrait créer une trame RRM déformée pour provoquer un débordement du tampon interne dans le firmware Wi-Fi.

Vulnérabilité n ° 3

Sur les puces Wi-Fi Broadcom BCM4355C0, version 9.44.78.27.0.1.56 et autres, des trames en direct correctement créées pourraient potentiellement déborder le tas de micrologiciels Wi-Fi et / ou déborder la pile.


Tableau de vulnérabilité de la catégorie Overflow dans iOS

Le principal concurrent d'Android lui est inférieur à la fois dans le nombre total de vulnérabilités et parmi les 10 points. Cela indique un niveau plus élevé de sécurité du système d'exploitation, une approche plus sérieuse de la conception de logiciels. Compte tenu de la proximité du système iOS et du haut degré de censure des applications dans l'App Store, la création d'applications pour cet OS est compliquée. Et tous les cyber-attaquants ne voudront pas consacrer beaucoup de temps et d'efforts à la création de logiciels malveillants. Avec Android, tout est beaucoup plus simple.

4. Windows 10




Windows 10 , le système d'exploitation des produits Microsoft, est apparu pour la première fois en 2014. Le nombre total d'utilisateurs selon le printemps 2017 a dépassé les 500 millions.

Windows est toujours considéré par beaucoup comme le système d'exploitation «qui fuit». Android nous a montré que ce n'était plus le cas. Selon les données de 2017, Windows 10 contient 255 vulnérabilités, tandis que son célèbre rival macOS en a 236.



DoS

Sur les 40 vulnérabilités enregistrées en ce moment qui ont conduit à DoS, il n'y a pas celles qui ont marqué 10 points, nous prenons donc en considération celles qui suivent.

La vulnérabilité n ° 1 (9.3) de

atmfd.dll dans la bibliothèque Adobe Type Manager a permis d'organiser à distance DoS à l'aide de la police OpenType.

Vulnérabilité n ° 2 (7.8)

HTTP.sys a permis d'organiser DoS via les requêtes HTTP 2.0 créées.

Vulnérabilité n ° 3 (7.8)

Vecteur non spécifié d'exploitation de la vulnérabilité à l'origine du DoS.


Tableau des vulnérabilités de la catégorie DoS dans Windows 10

Contournement de quelque chose

Sur les 42 vulnérabilités enregistrées au moment qui ont conduit au contournement, il n'y a pas celles qui ont marqué 10 points, nous prenons donc celles qui viennent ensuite pour examen.

Vulnérabilité n ° 1 (9.3)

RDP a permis aux crackers de contourner les restrictions d'accès et d'établir une session pour les comptes sans mot de passe via un client RDP modifié.

La vulnérabilité n ° 2 (7.2)

du Planificateur de tâches (planificateur de tâches) a permis à un utilisateur local de contourner les limitations des fichiers système et de supprimer l'un d'eux. Vecteur non défini.

Vulnérabilité n ° 3 (7.2)

CSRSS ne peut pas gérer correctement les jetons de processus, ce qui a permis à un utilisateur local d'obtenir des privilèges via l'application créée.

CSRSS - Processus d'exécution client-serveur.


Tableau des vulnérabilités de la catégorie Explorer quelque chose dans Windows 10

Exécution de code

4 vulnérabilités sur 110 ont marqué 10 points.

La vulnérabilité n ° 1 du

système d'exploitation permettait aux attaquants de prendre le contrôle du système lorsque Windows Search ne pouvait pas traiter les objets en mémoire.

La vulnérabilité n ° 2 du

système d'exploitation permettait à un attaquant d'exécuter à distance une commande sur la machine de la victime via la manière dont Windows Search traitait les objets mémoire.

Vulnérabilité n ° 3

Le système d'exploitation a autorisé l'exécution de code à distance lorsqu'il n'était pas en mesure de traiter correctement les réponses DNS.


Tableau des vulnérabilités dans la catégorie Exécution de code dans Windows 10

Corruption de mémoire

Sur les 14 vulnérabilités de corruption de mémoire, aucune ne mérite 10 points. Considérez ceux qui suivent.

Vulnérabilité n ° 1 (9.3)

Le composant Imaging a permis à un attaquant de corrompre la mémoire via le document qu'il avait créé.

Vulnérabilité n ° 2 (9.3)

Animation Manager a autorisé l'exécution de code aux dépens du site Web créé.

Vulnérabilité n ° 3 (9.3)

Media Foundation a autorisé l'exécution du code aux frais du site Web créé.


Tableau de vulnérabilités de corruption de mémoire dans Windows 10

Accès aux informations

Parmi 140 vulnérabilités n'étaient pas critiques. Le score maximum est de 7,2.

Vulnérabilité n ° 1 (7.2)

Les pilotes en mode noyau pourraient donner à un attaquant authentifié la possibilité d'exécuter l'application qu'ils ont créée pour obtenir des informations ou même DoS.

Vulnérabilité n ° 2 (5.0)

GDI (Graphics Device Interface) autorisée à contourner le mécanisme de protection ASLR via un vecteur non défini.

Vulnérabilité n ° 3 (5.0)

ActiveSyncProvider a permis à un attaquant de détecter les informations d'identification de la victime à l'aide de la tentative infructueuse d'Universal Outlook d'établir une connexion sécurisée.


Tableau des vulnérabilités dans la catégorie "Information Access" dans Windows 10

Augmentation des privilèges

Sur 127, seulement 2 vulnérabilités ont obtenu 10 points.

Vulnérabilité n ° 1 (10)

Les pilotes en mode noyau ont donné à l'utilisateur la possibilité de recevoir des privilèges via l'application qu'il a créée.

Vulnérabilité n ° 2 (10)

Les composants graphiques du noyau permettaient à l'utilisateur local de recevoir des privilèges via l'application qu'il avait créée.

Vulnérabilité n ° 3 (9.3)

Le pilote CLFS a permis à un utilisateur local d'obtenir des privilèges via l'application qu'il a créée.

CLFS - Common Log File System, un sous-système disponible à la fois en mode utilisateur et en mode noyau, nécessaire pour créer des journaux de transactions.


Tableau de vulnérabilité de la catégorie «Escalade de privilèges» dans Windows 10

Overflow Le

score maximum dans cette catégorie pour ce système d'exploitation était de 9,3.

Vulnérabilité n ° 1 (9.3)

Le composant Windows Uniscribe a permis d'exécuter du code à distance en raison d'une tentative infructueuse de traitement des objets mémoire.

Vulnérabilité n ° 2 (9.3) Le

moteur de base de données Microsoft JET a donné à un attaquant un contrôle total sur le système, en raison d'une certaine manière de traiter les objets mémoire.

Vulnérabilité n ° 3 (9.3) Le

moteur de base de données Microsoft JET a donné à un attaquant un contrôle total sur le système, en raison d'une certaine façon de traiter les objets mémoire.


Tableau de vulnérabilité de débordement dans Windows 10

À l'heure actuelle, le plus gros problème dans Windows 10 est la sécurité des données. Comme nous le voyons à partir des données ci-dessus, ce sont les vulnérabilités qui donnent accès aux informations et augmentent les privilèges qui sont les plus corrigées. Autour des dizaines, il y a un tourbillon de litiges, de scandales et de procès, principalement liés à des mises à jour qui n'effraient pas la permission de l'utilisateur. De graves inquiétudes sont également causées par le fait que pratiquement toutes les informations des utilisateurs ont été collectées afin d '«améliorer les performances». Beaucoup n'ont pas aimé cette violation de la vie privée.

5. Windows Server 2016




Windows Server 2016 est le système d'exploitation serveur de dernière génération de Microsoft, introduit en 2016. Compte tenu du jeune âge de cet OS, il est toujours difficile d'évaluer objectivement sa sécurité et sa résistance aux attaques des attaquants. Comme avec Windows 10, le problème le plus frappant reste la protection des informations.



Dos

Il n'y avait pas autant de vulnérabilités utilisées pour le DoS, seulement 29. Parmi celles-ci, personne n'a marqué 10 points.

Vulnérabilité n ° 1 (7.8)

Une vulnérabilité dans SMB a permis d'organiser le DoS en raison de la demande créée au serveur.

SMB - Server Block Message - un protocole réseau qui assure la communication entre le réseau et l'utilisateur, qui donne un accès à distance aux fichiers, aux ressources réseau, etc.

Vulnérabilité n ° 2 (7.2)

L'API du noyau n'a pas pu respecter correctement les droits d'accès, ce qui a permis à l'utilisateur local de truquer les processus, de communiquer entre les processus et de mener au DoS via une application spécialement créée.

Vulnérabilité n ° 3 (7.2)

Les pilotes en mode noyau ont une vulnérabilité qui a conduit à DoS en lançant une application spéciale créée par un utilisateur authentifié. Il a également permis de saisir des informations.


Tableau de vulnérabilité DoS dans Windows Server 2016

Contourner quelque chose

15 - au total. Le score maximum est de 6,0.

Vulnérabilité n ° 1 (6.0)

Le système d'exploitation a permis de contourner la protection d'authentification avancée lorsque Kerberos n'a pas pu empêcher la manipulation du champ SNAME lors de l'échange de tickets .

Kerberos est un protocole d'authentification réseau, un mécanisme d'authentification préalable d'un serveur et d'un client, avant d'établir une connexion entre eux.

" Ticket " - Ticket - est nécessaire pour confirmer l'identité de l'utilisateur

Vulnérabilité n ° 2 (5.0)

OS autorisé à contourner le mécanisme de protection Secure Boot en raison du protocole de démarrage créé.

Vulnérabilité n ° 3 (4.6)

L'implémentation du mode noyau sécurisé dans le système d'exploitation a permis aux utilisateurs locaux de contourner le mécanisme de protection VTL à l'aide de l'application créée.

VTL - niveau de confiance virtuel.


Explorer quelque chose dans la table de vulnérabilité de Windows Server 2016

Exécution de code

3 vulnérabilités sur 53 ont marqué 10 points.

Vulnérabilité n ° 1

Le système d'exploitation vous permettait de prendre le contrôle du système lorsque la recherche Windows ne pouvait pas gérer le traitement des objets mémoire.

Vulnérabilité n ° 2

Le système d'exploitation vous permettait de prendre le contrôle du système lorsque la recherche Windows ne pouvait pas gérer le traitement des objets mémoire.

Vulnérabilité n ° 3

Le système d'exploitation a autorisé l'exécution de code à distance lorsqu'il ne pouvait pas gérer correctement les réponses DNS.


Tableau de vulnérabilités d'exécution de code dans Windows Server 2016

Corruption de la mémoire

Seulement 5 vulnérabilités corrigées. Le score maximum est de 9,3.

Vulnérabilité n ° 1

Animation Manager vous a permis d'utiliser le site Web créé pour l'exécution de code à distance.

Vulnérabilité n ° 2

Media Foundation a autorisé l'utilisation du site Web créé pour l'exécution de code à distance.

Vulnérabilité n ° 3

Le service iSNS Server a permis la création de requêtes malveillantes via un débordement de logiciel.

iSNS Server - Internet Storage Name Service - un protocole réseau pour automatiser le processus d'ouverture, de configuration et de gestion des périphériques ISCSI et du Fibre Channel dans les réseaux TCP / IP.


Tableau de vulnérabilités de corruption de mémoire dans Windows Server 2016

Accès à l'information

Sur 97 vulnérabilités, il n'y en a pas de 10 points; le score maximum est de 7,2.

Vulnérabilité n ° 1 (7.2)

Les pilotes en mode noyau ont permis à un utilisateur authentifié local d'exécuter une application spécialement conçue pour récupérer des informations.

Vulnérabilité n ° 2 (5.0)

Le composant Windows Search permettait de détecter des informations lorsqu'il ne pouvait pas gérer le traitement des objets mémoire.

Vulnérabilité n ° 3 (4.3)

atmfd.dll a permis à un attaquant distant d'obtenir des informations précieuses de la mémoire du processus via la police Open Type du site Web.


Tableau de vulnérabilités d'accès à l'information dans Windows Server 2016

Augmentation des privilèges

36 vulnérabilités au total (score maximum 9,3).

Vulnérabilité n ° 1 (9.3)

CLFS a fourni aux utilisateurs locaux la possibilité d'obtenir des privilèges via l'application créée.

CLFS - Common Log File System - un sous-système disponible à la fois en mode utilisateur et en mode noyau, nécessaire pour créer des journaux de transactions.

Vulnérabilité n ° 2 (9.3)

CLFS a fourni aux utilisateurs locaux la possibilité d'obtenir des privilèges via l'application créée.

Vulnérabilité n ° 3 (9.3)

CLFS a fourni aux utilisateurs locaux la possibilité d'obtenir des privilèges via l'application créée.


Table de vulnérabilités de l'escalade de privilèges dans Windows Server 2016

Débordement

24 vulnérabilités au total. 10 points ont marqué 0 d'entre eux.

Vulnérabilité n ° 1 (9.3)

Le composant Uniscribe, avec une tentative infructueuse de traiter correctement les objets mémoire, a conduit à la possibilité d'exécution de code.

Vulnérabilité n ° 2 (9.3)

Le moteur de base de données JET a donné le contrôle sur l'ensemble du système, car il gérait les objets mémoire.

Vulnérabilité n ° 3 (9.3)

Le moteur de base de données JET a donné le contrôle sur l'ensemble du système, car il gérait les objets mémoire.


Tableau de vulnérabilité de débordement dans Windows Server 2016

Il existe très peu de vulnérabilités critiques dans Windows Server 2016. Pas le fait, bien sûr, que cette tendance se poursuive. Mais espérons. Étant donné le niveau plutôt faible de distribution de ce système d'exploitation parmi les utilisateurs, nous pouvons affirmer sans risque que l'exploit de nombreux bogues ne provoque pas la panique et le désir de changer rapidement le système d'exploitation en un autre. Cependant, étant donné que ce système d'exploitation est destiné aux serveurs, qui, à leur tour, sont en fait un entrepôt de données, de nombreuses vulnérabilités provoquent un si grand nombre de vulnérabilités qui pourraient entraîner la perte de ces données.

Ceci conclut la première partie de l'analyse des vulnérabilités de divers systèmes d'exploitation. Dans la partie suivante, nous examinerons macOS et plusieurs systèmes d'exploitation Windows de génération précédente (utilisateur et serveur). Et rappelez-vous qu'il n'y a pas de système d'exploitation parfait pour tout le monde, il y a un système d'exploitation idéal pour vous. Tout produit, tout logiciel a ses avantages et ses inconvénients, ses avantages et ses inconvénients. Il est important de les comparer et de comprendre par vous-même ce qu'il vaut la peine de sacrifier et pour quoi. Passez une bonne journée et moins de bugs dans votre système d'exploitation.

Comme une publicité. Ce ne sont pas que des serveurs virtuels! Ce sont des VPS (KVM) avec des disques dédiés, ce qui ne peut pas être pire que des serveurs dédiés, et dans la plupart des cas - mieux! Nous avons fabriqué des VPS (KVM) avec des disques dédiés aux Pays-Bas et aux États-Unis (configurations à partir de VPS (KVM) - E5-2650v4 (6 cœurs) / 10 Go DDR4 / 240 Go SSD ou 4 To HDD / 1 Gbit / s 10 To disponibles à un prix unique - à partir de 29 $ / mois , des options avec RAID1 et RAID10 sont disponibles) , ne manquez pas la chance de passer une commande pour un nouveau type de serveur virtuel, où toutes les ressources vous appartiennent, comme sur un serveur dédié, et le prix est beaucoup plus bas, avec un matériel beaucoup plus productif!

Comment construire l'infrastructure du bâtiment. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou? Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis!

Source: https://habr.com/ru/post/fr407979/


All Articles