{"id":29880,"date":"2019-10-31T21:32:27","date_gmt":"2019-10-31T18:32:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\/"},"modified":"2019-10-31T21:32:27","modified_gmt":"2019-10-31T18:32:27","slug":"milliony-binarnikov-spustya-kak-ukreplyalsya-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","title":{"rendered":"Des millions de binaires plus tard. Comment Linux s'est renforc\u00e9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/bf51e5698530d4a6a44ff97f542a2a87.png\" style=\"display:block;margin: 0 auto;\" \/><b>TL;DR<\/b>. Dans cet article, nous explorons les sch\u00e9mas de s\u00e9curit\u00e9 (hardening schemes) qui fonctionnent par d\u00e9faut dans cinq distributions populaires de Linux. Pour chacune, nous avons pris la configuration du noyau par d\u00e9faut, charg\u00e9 tous les paquets et analys\u00e9 les sch\u00e9mas de protection dans les fichiers binaires imbriqu\u00e9s. Les distributions examin\u00e9es sont OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 et 7, ainsi qu'Ubuntu 14.04, 12.04 et 18.04 LTS. <\/p>\n<p>Les r\u00e9sultats confirment que m\u00eame les sch\u00e9mas de base, tels que les canaris de pile et le code ind\u00e9pendant de la position, ne sont pas encore utilis\u00e9s par tous. La situation est encore pire pour les compilateurs en ce qui concerne la protection contre les vuln\u00e9rabilit\u00e9s telles que le clash de pile (stack clash), qui a \u00e9t\u00e9 au centre des pr\u00e9occupations en janvier apr\u00e8s la publication <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/exploiting-systemd-journald-part-1\/\">d'informations sur les vuln\u00e9rabilit\u00e9s dans systemd<\/a><\/noindex>. Mais tout n'est pas d\u00e9sesp\u00e9r\u00e9. Une partie significative des binaires dispose de m\u00e9thodes de protection de base, et leur nombre augmente \u00e0 chaque version. <\/p>\n<p>La v\u00e9rification a montr\u00e9 que le plus grand nombre de m\u00e9thodes de protection est mis en \u0153uvre dans Ubuntu 18.04 au niveau du syst\u00e8me d'exploitation et des applications, suivi par Debian 9. D'autre part, OpenSUSE 12.4, CentOS 7 et RHEL 7 disposent \u00e9galement de sch\u00e9mas de protection basiques, et la protection contre le clash de pile est appliqu\u00e9e encore plus largement avec un ensemble de paquets par d\u00e9faut beaucoup plus dense.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Introduction<\/h1>\n<p>\nIl est difficile d'assurer une haute qualit\u00e9 logicielle. Malgr\u00e9 un grand nombre d'outils avanc\u00e9s pour l'analyse statique du code et l'analyse dynamique \u00e0 l'ex\u00e9cution, ainsi qu'un progr\u00e8s significatif dans le d\u00e9veloppement de compilateurs et de langages de programmation, les logiciels modernes souffrent encore de vuln\u00e9rabilit\u00e9s qui sont constamment exploit\u00e9es par des attaquants. La situation est encore plus critique dans les \u00e9cosyst\u00e8mes comprenant du code obsol\u00e8te. Dans de tels cas, nous ne sommes pas seulement confront\u00e9s au probl\u00e8me \u00e9ternel de la recherche de potentielles erreurs exploitables, mais nous sommes \u00e9galement limit\u00e9s par des contraintes rigides de r\u00e9trocompatibilit\u00e9 qui exigent souvent de conserver un code limit\u00e9, voire pire, vuln\u00e9rable ou bogu\u00e9.<\/p>\n<p>C'est ici que les m\u00e9thodes de protection ou de durcissement des programmes (hardening) entrent en jeu. Certains types d'erreurs sont in\u00e9vitables, mais nous pouvons compliquer la t\u00e2che des attaquants et partiellement r\u00e9soudre le probl\u00e8me en emp\u00eachant ou en entravant. <i>d'exploitation<\/i> ces erreurs. Une telle protection est utilis\u00e9e dans tous les syst\u00e8mes d'exploitation modernes, mais les m\u00e9thodes varient consid\u00e9rablement en termes de complexit\u00e9, d'efficacit\u00e9 et de performance : des canaris de pile (stack canaries) et <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Address_space_layout_randomization\">ASLR<\/a><\/noindex> des protections compl\u00e8tes. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Control-flow_integrity\">CFI<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Return-oriented_programming\">ROP<\/a><\/noindex>Dans cet article, nous examinerons les m\u00e9thodes de protection appliqu\u00e9es dans les distributions Linux les plus populaires dans leur configuration par d\u00e9faut, ainsi que les propri\u00e9t\u00e9s des binaires distribu\u00e9s via les syst\u00e8mes de gestion de paquets de chaque distribution.<\/p>\n<h3>CVE et s\u00e9curit\u00e9<\/h3>\n<p>\nNous avons tous vu des articles avec des titres tels que \u00ab Les applications les plus vuln\u00e9rables de l'ann\u00e9e \u00bb ou \u00ab Les syst\u00e8mes d'exploitation les plus vuln\u00e9rables \u00bb. Ces articles pr\u00e9sentent g\u00e9n\u00e9ralement des statistiques sur le nombre total d'enregistrements de vuln\u00e9rabilit\u00e9s de type <noindex><a rel=\"nofollow\" href=\"https:\/\/cve.mitre.org\/\">CVE (Common Vulnerability and Exposures)<\/a><\/noindex>, obtenues \u00e0 partir de <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/\">la base nationale des vuln\u00e9rabilit\u00e9s (NVD)<\/a><\/noindex> \u00e0 partir de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nist.gov\/\">NIST<\/a><\/noindex> et d'autres sources. Par la suite, ces applications ou syst\u00e8mes d'exploitation sont class\u00e9s en fonction du nombre de CVE. Malheureusement, bien que les CVE soient tr\u00e8s utiles pour le suivi des probl\u00e8mes et pour informer les fournisseurs et les utilisateurs, elles ne disent pas grand-chose sur la r\u00e9elle s\u00e9curit\u00e9 des logiciels.<\/p>\n<p>\u00c0 titre d'exemple, examinons le nombre total de CVE au cours des quatre derni\u00e8res ann\u00e9es pour le noyau Linux et les cinq distributions serveur les plus populaires, \u00e0 savoir Ubuntu, Debian, Red Hat Enterprise Linux et OpenSUSE.<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/16d74634f010e340aedbce441513e3f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 1<\/i><\/p>\n<p>Que nous dit ce graphique ? Un plus grand nombre de CVE signifie-t-il qu'une distribution est plus vuln\u00e9rable qu'une autre ? La r\u00e9ponse est non. Par exemple, dans cet article, vous verrez que Debian a mis en \u0153uvre des m\u00e9canismes de protection plus stricts par rapport, disons, \u00e0 OpenSUSE ou RedHat Linux, et pourtant, Debian a plus de CVE. Cependant, cela ne signifie pas n\u00e9cessairement une s\u00e9curit\u00e9 affaiblie : m\u00eame la pr\u00e9sence de CVE ne dit pas si la vuln\u00e9rabilit\u00e9 <i>est exploitable.<\/i>Les scores de gravit\u00e9 donnent une id\u00e9e de la probabilit\u00e9 <i>d'exploitation d'une vuln\u00e9rabilit\u00e9, mais en fin de compte, l'exploitabilit\u00e9 d\u00e9pend en grande partie des protections pr\u00e9sentes dans les syst\u00e8mes concern\u00e9s, ainsi que des ressources et des capacit\u00e9s des attaquants. De plus, l'absence de rapports CVE ne dit rien sur d'autres<\/i> vuln\u00e9rabilit\u00e9s non enregistr\u00e9es ou inconnues. <i>non enregistr\u00e9s ou inconnus<\/i> Les vuln\u00e9rabilit\u00e9s. La diff\u00e9rence dans les CVE peut s'expliquer non par la qualit\u00e9 des logiciels, mais par d'autres facteurs, y compris les ressources allou\u00e9es aux tests ou la taille de la base d'utilisateurs. Dans notre exemple, un plus grand nombre de CVE pour Debian peut simplement indiquer que Debian fournit plus de paquets logiciels. <\/p>\n<p>Bien s\u00fbr, le syst\u00e8me CVE fournit des informations utiles qui permettent de cr\u00e9er des protections appropri\u00e9es. Plus nous comprenons les causes des d\u00e9faillances des programmes, plus il est facile d'identifier les moyens potentiels d'exploitation et de d\u00e9velopper des m\u00e9canismes correspondants. <i>de d\u00e9tection et de r\u00e9ponse<\/i>. La figure 2 montre les cat\u00e9gories de vuln\u00e9rabilit\u00e9s pour toutes les distributions au cours des quatre derni\u00e8res ann\u00e9es (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.cvedetails.com\/top-50-products.php\">source<\/a><\/noindex>). On voit tout de suite que la majorit\u00e9 des CVE se classent dans les cat\u00e9gories suivantes : d\u00e9ni de service (DoS), ex\u00e9cution de code, d\u00e9bordement, corruption de m\u00e9moire, fuite (exfiltration) d'informations et \u00e9l\u00e9vation de privil\u00e8ges. Bien que de nombreuses CVE soient compt\u00e9es plusieurs fois dans diff\u00e9rentes cat\u00e9gories, les m\u00eames probl\u00e8mes persistent d'ann\u00e9e en ann\u00e9e. Dans la suite de l'article, nous \u00e9valuerons l'utilisation de diff\u00e9rents sch\u00e9mas de protection pour pr\u00e9venir l'exploitation des vuln\u00e9rabilit\u00e9s mentionn\u00e9es.<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/45948bc64673540cfb3e1774c3247634.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figure 2<\/i><\/p>\n<h3>Objectifs<\/h3>\n<p>\nDans cet article, nous avons l'intention de r\u00e9pondre aux questions suivantes :<\/p>\n<ul>\n<li>Quelle est la s\u00e9curit\u00e9 des diff\u00e9rentes distributions Linux ? Quels m\u00e9canismes de protection existent dans le noyau et les applications de l'espace utilisateur ?\n<\/li>\n<li>Comment l'adoption des m\u00e9canismes de protection a-t-elle \u00e9volu\u00e9 au fil du temps pour diff\u00e9rentes distributions ?\n<\/li>\n<li>Quelles sont les d\u00e9pendances moyennes des paquets et des biblioth\u00e8ques de chaque distribution ?\n<\/li>\n<li>Quelles protections sont mises en \u0153uvre pour chaque binaire ?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Choix des distributions<\/h3>\n<p>\nIl s'av\u00e8re qu'il est difficile de trouver des statistiques pr\u00e9cises sur les installations de distributions, car dans la plupart des cas, le nombre de t\u00e9l\u00e9chargements n'indique pas le nombre d'installations r\u00e9elles. N\u00e9anmoins, les variantes de Unix repr\u00e9sentent la majorit\u00e9 des syst\u00e8mes serveurs (69,2 % sur les serveurs web, selon <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/overview\/operating_system\/all\">les statistiques<\/a><\/noindex> W3techs et d'autres sources), et leur part ne cesse de cro\u00eetre. Ainsi, pour notre \u00e9tude, nous nous sommes concentr\u00e9s sur les distributions disponibles \u00ab pr\u00eates \u00e0 l'emploi \u00bb sur la plateforme <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/\">Google Cloud<\/a><\/noindex>. En particulier, nous avons s\u00e9lectionn\u00e9 les syst\u00e8mes d'exploitation suivants :<\/p>\n<p>Distribution\/version<br \/>\nLe noyau<br \/>\nBuild<\/p>\n<p>OpenSUSE 12.4<br \/>\n4.12.14-95.3-default<br \/>\n#1 SMP Wed Dec 5 06:00:48 UTC 2018 (63a8d29)<\/p>\n<p>Debian 9 (stretch)<br \/>\n4.9.0-8-amd64<br \/>\n#1 SMP Debian 4.9.130-2 (2018-10-27)<\/p>\n<p>CentOS 6.10<br \/>\n2.6.32-754.10.1.el6.x86_64<br \/>\n#1 SMP Tue Jan 15 17:07:28 UTC 2019<\/p>\n<p>CentOS 7<br \/>\n3.10.0-957.5.1.el7.x86_64<br \/>\n#1 SMP Fri Feb 1 14:54:57 UTC 2019<\/p>\n<p>Red Hat Enterprise Linux Server 6.10 (Santiago)<br \/>\n2.6.32-754.9.1.el6.x86_64<br \/>\n#1 SMP Wed Nov 21 15:08:21 EST 2018<\/p>\n<p>Red Hat Enterprise Linux Server 7.6 (Maipo)<br \/>\n3.10.0-957.1.3.el7.x86_64<br \/>\n#1 SMP Thu Nov 15 17:36:42 UTC 2018<\/p>\n<p>Ubuntu 14.04 (Trusty Tahr)<br \/>\n4.4.0\u2013140-generic<br \/>\n <br \/>\n#166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 20\u2026<\/p>\n<p>Ubuntu 16.04 (Xenial Xerus)<br \/>\n4.15.0\u20131026-gcp<br \/>\n#27~16.04.1-Ubuntu SMP Fri Dec 7 09:59:47 UTC 2018<\/p>\n<p>Ubuntu 18.04 (Bionic Beaver)<br \/>\n4.15.0\u20131026-gcp<br \/>\n#27-Ubuntu SMP Thu Dec 6 18:27:01 UTC 2018<\/p>\n<p><i>Tableau 1<\/i> <\/p>\n<h1>Analyse<\/h1>\n<p>\nNous examinerons la configuration du noyau par d\u00e9faut, ainsi que les propri\u00e9t\u00e9s des paquets disponibles via le gestionnaire de paquets de chaque distribution d\u00e8s l'installation. Ainsi, nous ne consid\u00e9rerons que les paquets des miroirs par d\u00e9faut de chaque distribution, en ignorant les paquets des d\u00e9p\u00f4ts instables (comme les miroirs 'testing' dans Debian) et les paquets tiers (par exemple, les paquets Nvidia des miroirs standards). De plus, nous n'examinerons pas les compilations personnalis\u00e9es du noyau ou les configurations renforc\u00e9es.<\/p>\n<h3>Analyse de la configuration du noyau<\/h3>\n<p>\nNous avons appliqu\u00e9 un script d'analyse bas\u00e9 sur <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/a13xp0p0v\/kconfig-hardened-check\">le v\u00e9rificateur libre kconfig<\/a><\/noindex>. Nous examinons les param\u00e8tres de s\u00e9curit\u00e9 par d\u00e9faut des distributions nomm\u00e9es et les comparons \u00e0 la liste de <noindex><a rel=\"nofollow\" href=\"http:\/\/kernsec.org\/wiki\/index.php\/Kernel_Self_Protection_Project\/Recommended_Settings\">Projet de protection du noyau<\/a><\/noindex> (KSPP). Pour chaque param\u00e8tre de configuration, le tableau 2 d\u00e9crit le param\u00e8tre souhait\u00e9 : une coche est mise pour les distributions qui respectent les recommandations de KSSP (explication des termes cf. <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/kernel-configuration-glossary\/\">ici<\/a><\/noindex>; dans des articles futurs, nous expliquerons comment de nombreuses m\u00e9thodes de protection sont apparues et comment contourner le syst\u00e8me en leur absence).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dx\/oh\/o0\/dxoho0z-lifjcybajszqb-aiirq.png\"><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/b1a42826f4afc78a2b25d158100b2ba4.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/2177579e65e4fe6bb320903756a04b9b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDans l'ensemble, les nouveaux noyaux ont des r\u00e9glages par d\u00e9faut plus stricts. Par exemple, CentOS 6.10 et RHEL 6.10 avec le noyau 2.6.32 manquent de la plupart des fonctionnalit\u00e9s critiques mises en \u0153uvre dans les nouveaux noyaux, telles que <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Supervisor_Mode_Access_Prevention\">SMAP<\/a><\/noindex>, des permissions RWX strictes, la randomisation des adresses ou la protection copy2usr. Il convient de noter que de nombreuses options de configuration figurant dans le tableau sont absentes dans les versions plus anciennes du noyau et ne sont pas applicables en r\u00e9alit\u00e9 - cela est tout de m\u00eame indiqu\u00e9 dans le tableau comme absence de protection ad\u00e9quate. De m\u00eame, si un param\u00e8tre de configuration est absent dans cette version, mais que ce param\u00e8tre doit \u00eatre d\u00e9sactiv\u00e9 pour des raisons de s\u00e9curit\u00e9, cela est consid\u00e9r\u00e9 comme une configuration raisonnable. <\/p>\n<p>Un autre point \u00e0 consid\u00e9rer lors de l'interpr\u00e9tation des r\u00e9sultats : certaines configurations du noyau qui augmentent la surface d'attaque peuvent \u00e9galement \u00eatre utilis\u00e9es \u00e0 des fins de s\u00e9curit\u00e9. Des exemples de cela incluent uprobes et kprobes, les modules du noyau et BPF\/eBPF. Notre recommandation est d'utiliser ces m\u00e9canismes mentionn\u00e9s ci-dessus pour garantir une r\u00e9elle protection, car leur utilisation n'est pas triviale et leur exploitation suppose que des agents malveillants sont d\u00e9j\u00e0 ancr\u00e9s dans le syst\u00e8me. Mais si ces options sont activ\u00e9es, l'administrateur syst\u00e8me doit surveiller activement les abus.<\/p>\n<p>En poursuivant l'examen des enregistrements du tableau 2, nous constatons que les noyaux modernes offrent plusieurs options pour se d\u00e9fendre contre l'exploitation de vuln\u00e9rabilit\u00e9s telles que les fuites d'informations et le d\u00e9bordement de pile\/monticule. Cependant, nous constatons que m\u00eame les distributions les plus r\u00e9centes et populaires n'ont pas encore mis en \u0153uvre de protections plus complexes (par exemple, avec des correctifs <noindex><a rel=\"nofollow\" href=\"https:\/\/grsecurity.net\/\">grsecurity<\/a><\/noindex>) ou de protections modernes contre les attaques de r\u00e9utilisation de code (par exemple, <noindex><a rel=\"nofollow\" href=\"http:\/\/www.cs.columbia.edu\/~theofilos\/files\/slides\/krx.pdf\">une combinaison de randomisation avec des sch\u00e9mas de type R^X pour le code<\/a><\/noindex>). Pire encore, m\u00eame ces outils de protection plus avanc\u00e9s ne prot\u00e8gent pas contre l'ensemble du spectre des attaques. Ainsi, il est crucial que les administrateurs syst\u00e8me compl\u00e8tent des configurations judicieuses par des solutions offrant d\u00e9tection et pr\u00e9vention des exploits en temps r\u00e9el.<\/p>\n<h3>Analyse des applications<\/h3>\n<p>\nIl n'est pas surprenant que diff\u00e9rentes distributions aient des caract\u00e9ristiques vari\u00e9es en mati\u00e8re de paquets, d'options de compilation, de d\u00e9pendances de biblioth\u00e8ques, etc. Des diff\u00e9rences existent m\u00eame pour <noindex><a rel=\"nofollow\" href=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/1b\/Linux_Distribution_Timeline.svg\">des distributions<\/a><\/noindex> apparent\u00e9es et des paquets avec peu de d\u00e9pendances (par exemple, coreutils dans Ubuntu ou Debian). Pour \u00e9valuer ces diff\u00e9rences, nous avons t\u00e9l\u00e9charg\u00e9 tous les paquets disponibles, extrait leur contenu et analys\u00e9 les fichiers binaires et leurs d\u00e9pendances. Pour chaque paquet, nous avons trac\u00e9 d'autres paquets dont il d\u00e9pend, et pour chaque binaire, nous avons suivi ses d\u00e9pendances. Dans cette section, nous allons r\u00e9sumer nos conclusions.<\/p>\n<h4>Distributions<\/h4>\n<p>\nAu total, nous avons t\u00e9l\u00e9charg\u00e9 361 556 paquets pour toutes les distributions, extrayant uniquement les paquets \u00e0 partir des miroirs par d\u00e9faut. Nous avons ignor\u00e9 les paquets sans fichiers ex\u00e9cutables ELF, tels que les codes sources, les polices, etc. Apr\u00e8s filtrage, il ne reste que 129 569 paquets contenant au total 584 457 fichiers binaires. La r\u00e9partition des paquets et des fichiers par distribution est pr\u00e9sent\u00e9e \u00e0 la figure 3.<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/a24975fba7413ac8069c07412e5476cc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 3<\/i><\/p>\n<p>On peut noter que plus la distribution est moderne, plus elle contient de paquets et de fichiers binaires, ce qui est logique. En revanche, les paquets Ubuntu et Debian incluent beaucoup plus de fichiers binaires (tant ex\u00e9cutables que modules et biblioth\u00e8ques dynamiques) que CentOS, SUSE et RHEL, ce qui peut potentiellement augmenter la surface d'attaque d'Ubuntu et de Debian (il faut observer que les chiffres refl\u00e8tent tous les binaires de toutes les versions des paquets, c'est-\u00e0-dire que certains fichiers sont analys\u00e9s plusieurs fois). Ceci est particuli\u00e8rement important lorsqu'on consid\u00e8re les d\u00e9pendances entre paquets. Ainsi, une vuln\u00e9rabilit\u00e9 dans le binaire d'un paquet peut affecter de nombreuses parties de l'\u00e9cosyst\u00e8me, tout comme une biblioth\u00e8que vuln\u00e9rable peut impacter tous les fichiers binaires qui l'importent. Prenons comme point de d\u00e9part la r\u00e9partition du nombre de d\u00e9pendances par paquet dans diff\u00e9rents syst\u00e8mes d'exploitation :<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ii\/e3\/e5\/iie3e5-ei26ezg5yvcyvtzqzl80.png\"><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/c6570e643d92103c87659e61f5d395a6.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>Fig. 4<\/i> <\/p>\n<p>Dans presque toutes les distributions, 60 % des paquets ont au moins 10 d\u00e9pendances. De plus, certains paquets ont un nombre de d\u00e9pendances consid\u00e9rablement plus \u00e9lev\u00e9 (plus de 100). Il en va de m\u00eame pour les d\u00e9pendances inverses des paquets : comme pr\u00e9vu, plusieurs paquets sont utilis\u00e9s par de nombreux autres paquets dans la distribution, rendant les vuln\u00e9rabilit\u00e9s de ces rares \u00e9lus tr\u00e8s risqu\u00e9es. \u00c0 titre d'exemple, dans le tableau suivant, nous listons 20 paquets avec le maximum de d\u00e9pendances inverses dans SLES, Centos 7, Debian 9 et Ubuntu 18.04 (chaque cellule indique le paquet et le nombre de d\u00e9pendances inverses).<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/0aa544db8be1af7bffe21b6314537e18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tableau 3<\/i><\/p>\n<p>Fait int\u00e9ressant. Bien que tous les syst\u00e8mes d'exploitation analys\u00e9s soient construits pour l'architecture x86_64, et que la majorit\u00e9 des paquets soient d\u00e9finis pour l'architecture x86_64 et x86, les paquets contiennent souvent des fichiers binaires pour d'autres architectures, comme le montre la figure 5.<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/b40f607e0c2f169bd1df21bd9994de8c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 5<\/i><\/p>\n<p>Dans la section suivante, nous approfondirons les caract\u00e9ristiques des binaires analys\u00e9s.<\/p>\n<h4>Statistiques de protection des fichiers binaires<\/h4>\n<p>\nEn tant que minimum absolu, il est n\u00e9cessaire d'\u00e9tudier un ensemble de protections de base pour les fichiers binaires existants. Plusieurs distributions Linux sont livr\u00e9es avec des scripts qui effectuent de telles v\u00e9rifications. Par exemple, sur Debian\/Ubuntu, il existe un tel script. Voici un exemple de son fonctionnement :<\/p>\n<pre><code class=\"bash\">$ hardening-check $(which docker)\n\/usr\/bin\/docker:\n Ex\u00e9cutable Ind\u00e9pendant de Position : oui\n Protection de la Pile : oui\n Fonctions Source Fortifi\u00e9es : non, seules des fonctions non prot\u00e9g\u00e9es trouv\u00e9es !\n Relocalisations en Lecture Seule : oui\n Liaison Imm\u00e9diate : oui<\/code><\/pre>\n<p>\nLe script v\u00e9rifie cinq <noindex><a rel=\"nofollow\" href=\"http:\/\/manpages.ubuntu.com\/manpages\/trusty\/man1\/hardening-check.1.html\">m\u00e9canismes de protection<\/a><\/noindex>:<\/p>\n<ul>\n<li>Ex\u00e9cutable Ind\u00e9pendant de Position (PIE) : indique si la section texte du programme peut \u00eatre d\u00e9plac\u00e9e en m\u00e9moire pour obtenir de la randomisation si l'ASLR est activ\u00e9 dans le noyau.\n<\/li>\n<li>Protection de la Pile : les canaris de pile sont-ils activ\u00e9s pour se prot\u00e9ger contre les attaques de d\u00e9bordement de pile.\n<\/li>\n<li>Fortification de la Source : les fonctions non s\u00e9curis\u00e9es (par exemple, strcpy) sont-elles remplac\u00e9es par leurs \u00e9quivalents plus s\u00fbrs, et les appels v\u00e9rifi\u00e9s \u00e0 l'ex\u00e9cution \u2014 par leurs \u00e9quivalents non v\u00e9rifi\u00e9s (par exemple, memcpy au lieu de __memcpy_chk).\n<\/li>\n<li>Relocalisations en Lecture Seule (RELRO) : les entr\u00e9es de la table de relocalisation sont-elles marqu\u00e9es comme \u00ab uniquement en lecture \u00bb, si elles ont fonctionn\u00e9 avant le d\u00e9but de l'ex\u00e9cution.\n<\/li>\n<li>Liaison Imm\u00e9diate : le chargeur d'ex\u00e9cution est-il autoris\u00e9 \u00e0 r\u00e9soudre toutes les relocalisations avant le d\u00e9but de l'ex\u00e9cution du programme (ce qui \u00e9quivaut \u00e0 un RELRO complet).<\/li>\n<\/ul>\n<p>\nLes m\u00e9canismes ci-dessus sont-ils suffisants ? Malheureusement, non. Il existe des moyens de contourner toutes les protections ci-dessus, mais plus la protection est stricte, plus la barre est haute pour l'attaquant. Par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.usenix.org\/system\/files\/conference\/usenixsecurity15\/sec15-paper-di-frederico.pdf\">les m\u00e9thodes pour contourner le RELRO<\/a><\/noindex> sont plus difficiles \u00e0 appliquer lorsque le PIE et la liaison imm\u00e9diate sont en vigueur. De m\u00eame, un ASLR complet n\u00e9cessite un travail suppl\u00e9mentaire pour cr\u00e9er un exploit fonctionnel. Cependant, des attaquants raffin\u00e9s sont d\u00e9j\u00e0 pr\u00eats \u00e0 faire face \u00e0 de telles protections : leur absence acc\u00e9l\u00e8re en r\u00e9alit\u00e9 le piratage. Il est donc crucial que ces mesures soient consid\u00e9r\u00e9es comme un <i>minimum<\/i>. <\/p>\n<p>Nous souhaitions \u00e9tudier combien de fichiers binaires dans les distributions examin\u00e9es sont prot\u00e9g\u00e9s par ceux-ci, ainsi que par trois autres m\u00e9thodes :<\/p>\n<ul>\n<li>Le bit Non Ex\u00e9cutif (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Executable_space_protection\">NX<\/a><\/noindex>) emp\u00eache l'ex\u00e9cution dans toute zone qui ne devrait pas \u00eatre ex\u00e9cutable, par exemple dans la pile, etc.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Rpath\">RPATH\/RUNPATH<\/a><\/noindex> indique le chemin d'ex\u00e9cution utilis\u00e9 par le chargeur dynamique pour trouver les biblioth\u00e8ques appropri\u00e9es. Le premier est <i>obligatoire<\/i> pour tout syst\u00e8me moderne : son absence permet aux attaquants d'\u00e9crire des charges utiles dans la m\u00e9moire et de les ex\u00e9cuter telles quelles. Pour le second, des configurations incorrectes des chemins d'ex\u00e9cution aident \u00e0 l'introduction de code non fiable, ce qui peut conduire \u00e0 une s\u00e9rie de probl\u00e8mes (par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nth-dimension.org.uk\/pub\/BTL.pdf\">\u00e9l\u00e9vation de privil\u00e8ges<\/a><\/noindex>, ainsi que <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.debian.org\/RpathIssue\">autres probl\u00e8mes<\/a><\/noindex>).<\/li>\n<li>La protection contre la collision de piles offre une protection contre les attaques qui poussent la pile \u00e0 se superposer \u00e0 d'autres zones de m\u00e9moire (par exemple, \u00e0 la pile). \u00c9tant donn\u00e9 les exploits r\u00e9cents abusant <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/exploiting-systemd-journald-part-1\/\">des vuln\u00e9rabilit\u00e9s de collision de la pile dans systemd<\/a><\/noindex>, nous avons jug\u00e9 appropri\u00e9 d'inclure ce m\u00e9canisme dans notre ensemble de donn\u00e9es.<\/li>\n<\/ul>\n<p>\nAinsi, sans plus de c\u00e9r\u00e9monies, passons aux chiffres. Les tableaux 4 et 5 contiennent un extrait de l'analyse des fichiers ex\u00e9cutables et des biblioth\u00e8ques de diverses distributions, respectivement.<\/p>\n<ul>\n<li>Comme on peut le constater, la protection NX est mise en \u0153uvre partout, \u00e0 de rares exceptions pr\u00e8s. En particulier, on peut noter une utilisation l\u00e9g\u00e8rement inf\u00e9rieure dans les distributions Ubuntu et Debian par rapport \u00e0 CentOS, RHEL et OpenSUSE.\n<\/li>\n<li>Les canaris de pile sont souvent absents, surtout dans les distributions avec des noyaux plus anciens. Quelques progr\u00e8s ont \u00e9t\u00e9 r\u00e9alis\u00e9s dans les derni\u00e8res distributions de CentOS, RHEL, Debian et Ubuntu.\n<\/li>\n<li>\u00c0 l'exception de Debian et Ubuntu 18.04, la plupart des distributions pr\u00e9sentent un mauvais soutien de PIE.\n<\/li>\n<li>La protection contre les collisions de piles est faiblement impl\u00e9ment\u00e9e dans OpenSUSE, CentOS 7 et RHEL 7 et est pratiquement absente chez les autres.\n<\/li>\n<li>Toutes les distributions avec des noyaux modernes ont un certain soutien de RELRO, avec Ubuntu 18.04 en t\u00eate et Debian \u00e0 la deuxi\u00e8me place.<\/li>\n<\/ul>\n<p>\nComme mentionn\u00e9 pr\u00e9c\u00e9demment, les m\u00e9triques dans ce tableau sont des moyennes sur toutes les versions du fichier binaire. Si l'on ne regarde que les derni\u00e8res versions des fichiers, les chiffres seront diff\u00e9rents (par exemple, voir <noindex><a rel=\"nofollow\" href=\"http:\/\/outflux.net\/debian\/hardening\/\">les progr\u00e8s de Debian avec l'impl\u00e9mentation de PIE<\/a><\/noindex>). De plus, la plupart des distributions, lorsqu'elles comptent des statistiques, ne v\u00e9rifient la protection que de quelques fonctions dans le code binaire, alors que notre analyse indique le pourcentage r\u00e9el de fonctions renforc\u00e9es. Ainsi, si 5 des 50 fonctions sont prot\u00e9g\u00e9es dans le binaire, nous lui attribuerons une note de 0,1, correspondant \u00e0 10 % de fonctions prot\u00e9g\u00e9es.<\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/82e881c5ba2a3911f3a0ffae1a3475f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tableau 4. Caract\u00e9ristiques de protection pour les fichiers ex\u00e9cutables, illustr\u00e9es \u00e0 la figure 3 (mise en \u0153uvre des fonctions correspondantes en pourcentage du nombre total de fichiers ex\u00e9cutables)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/57c8e67be7a57341105262c6e956594c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tableau 5. Caract\u00e9ristiques de s\u00e9curit\u00e9 des biblioth\u00e8ques pr\u00e9sent\u00e9es \u00e0 la fig. 3 (impl\u00e9mentation des fonctions correspondantes en pourcentage du nombre total de biblioth\u00e8ques)<\/i><\/p>\n<p>Donc, y a-t-il des progr\u00e8s ? Il y en a d\u00e9finitivement : cela se voit dans les statistiques de certaines distributions (par exemple, <noindex><a rel=\"nofollow\" href=\"http:\/\/outflux.net\/debian\/hardening\/\">Debian<\/a><\/noindex>), ainsi que dans les tableaux ci-dessus. \u00c0 titre d'exemple, la fig. 6 montre l'impl\u00e9mentation des m\u00e9canismes de protection dans trois distributions Ubuntu LTS cons\u00e9cutives (nous avons omis les statistiques de protection contre les d\u00e9bordements de pile). Nous remarquons que d'une version \u00e0 l'autre, de plus en plus de fichiers prennent en charge les canaris de pile, et de plus en plus de fichiers binaires sont fournis avec une protection RELRO compl\u00e8te.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/d1\/ni\/or\/d1niordj1hmiklmg2-w5rsk6dla.png\"><img decoding=\"async\" alt=\"Des millions de binaires plus tard. Comment Linux s&#039;est renforc\u00e9\" src=\"\/wp-content\/uploads\/2019\/03\/9130099db6d59106da8f0a0fc760410e.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>Fig. 6<\/i><\/p>\n<p>Malheureusement, un certain nombre de fichiers ex\u00e9cutables dans diff\u00e9rentes distributions n'ont toujours aucune des protections mentionn\u00e9es ci-dessus. Par exemple, en regardant Ubuntu 18.04, on peut noter le binaire ngetty (rempla\u00e7ant de getty), ainsi que les shells mksh et lksh, l'interpr\u00e9teur picolisp, les paquets nvidia-cuda-toolkit (un paquet populaire pour les applications acc\u00e9l\u00e9r\u00e9es par GPU, telles que les frameworks d'apprentissage automatique) et klibc-utils. De m\u00eame, le binaire mandos-client (outil administratif permettant de red\u00e9marrer automatiquement les machines avec des syst\u00e8mes de fichiers chiffr\u00e9s), ainsi que le rsh-redone-client (r\u00e9impl\u00e9mentation de rsh et rlogin) sont fournis sans protection NX, bien qu'ils aient des droits SUID :(. De plus, plusieurs binaires avec SUID n'ont pas de protection de base, comme les canaris de pile (par exemple, le fichier binaire Xorg.wrap du paquet Xorg).<\/p>\n<h1>R\u00e9sum\u00e9 et observations finales<\/h1>\n<p>\nDans cet article, nous avons mis en avant plusieurs caract\u00e9ristiques de s\u00e9curit\u00e9 des distributions Linux modernes. L'analyse a montr\u00e9 que la derni\u00e8re version d'Ubuntu LTS (18.04) offre en moyenne la meilleure protection au niveau du syst\u00e8me d'exploitation et des applications parmi les distributions avec des noyaux relativement r\u00e9cents, telles qu'Ubuntu 14.04, 12.04 et Debian 9. Cependant, les distributions consid\u00e9r\u00e9es comme CentOS, RHEL et OpenSUSE dans notre ensemble de donn\u00e9es livrent par d\u00e9faut un ensemble de paquets plus robuste, et dans les derni\u00e8res versions (CentOS et RHEL) affichent un pourcentage plus \u00e9lev\u00e9 de mise en \u0153uvre de la protection contre le d\u00e9bordement de pile, par rapport \u00e0 leurs concurrents bas\u00e9s sur Debian (Debian et Ubuntu). En comparant les versions CentOS et RedHat, nous observons d'importantes am\u00e9liorations dans le d\u00e9ploiement des canaris de pile et du RELRO entre les versions 6 et 7, mais en moyenne, CentOS offre plus de fonctionnalit\u00e9s que RHEL. Dans l'ensemble, toutes les distributions devraient accorder une attention particuli\u00e8re \u00e0 la protection PIE, qui, \u00e0 l'exception de Debian 9 et Ubuntu 18.04, n'est mise en \u0153uvre que dans moins de 10 % des fichiers binaires de notre ensemble de donn\u00e9es. <\/p>\n<p>Enfin, il convient de noter : bien que nous ayons men\u00e9 cette recherche manuellement, il existe de nombreux outils de s\u00e9curit\u00e9 (par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/cisofy.com\/lynis\/\">Lynis<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nongnu.org\/tiger\/\">Tiger<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hubblestack\/hubble\">Hubble<\/a><\/noindex>), qui effectuent des analyses et aident \u00e0 \u00e9viter les configurations non s\u00e9curis\u00e9es. Malheureusement, m\u00eame une forte protection dans des configurations raisonnables ne garantit pas l'absence d'exploits. C'est pourquoi nous croyons fermement qu'il est essentiel d'assurer <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/\">une surveillance fiable et une pr\u00e9vention des attaques en temps r\u00e9el<\/a><\/noindex>, en se concentrant sur les mod\u00e8les d'exploitation et en les emp\u00eachant.<\/p>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444418\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0437\u0430\u0449\u0438\u0442\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b (hardening schemes), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043f\u044f\u0442\u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 Linux. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u044b \u0432\u0437\u044f\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044f\u0434\u0440\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u0445\u0435\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 \u0438 7, \u0430 \u0442\u0430\u043a\u0436\u0435 Ubuntu 14.04, 12.04 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-29880","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432 \u0441\u043f\u0443\u0441\u0442\u044f. \u041a\u0430\u043a \u0443\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0441\u044f Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:32:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:32:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Des millions de binaires plus tard. Comment Linux s'est renforc\u00e9 | ProHoster","description":"TL;DR.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432 \u0441\u043f\u0443\u0441\u0442\u044f. \u041a\u0430\u043a \u0443\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0441\u044f Linux | ProHoster","og:description":"TL;DR.","og:url":"https:\/\/prohoster.info\/fr\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:32:27+00:00","article:modified_time":"2019-10-31T18:32:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"29880","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 22:50:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:46:28","updated":"2026-01-20 22:50:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/29880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=29880"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/29880\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=29880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=29880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=29880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}