# C'est qui KPTI ?

**URL:** <https://www.debian-fr.org/t/cest-qui-kpti/75531>\
**Category:** Pause Café\
**Created:** [Janvier 3, 2018, 8:25 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531 "2018-01-03T08:25:08Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 3, 2018, 8:25 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/1 "2018-01-03T08:25:08Z")

</div>

Salut,

2018 suit la tendance corrective de 2017 !

Un patch logiciel qui va dégrader les performances Intel à cause d’un trou de sécurité «&nbsp;matérgiciel&nbsp;» (logiciel gravé dans la puce) non encore complètement dévoilé.

[KPTI : des correctifs pourraient impacter lourdement les performances des processeurs Intel](https://www.nextinpact.com/news/105903-kpti-correctifs-pourraient-impacter-lourdement-performances-processeurs-intel.htm)

> Outre Linux, des patchs doivent arriver pour les principaux systèmes d’exploitation, tels que Windows comme le rapporte le blog Python sweetness qui a été l’un des premiers à couvrir l’affaire. Intel, qui a participé aux correctifs, semble directement concerné, AMD ayant de son côté indiqué ne pas être touché.

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Janvier 3, 2018, 9:12 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/2 "2018-01-03T09:12:50Z")

</div>

le truc pas cool c’est que les proc AMD sont aussi impacté alors qu’ils ne sont pas concerné …

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Janvier 3, 2018, 10:12 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/3 "2018-01-03T10:12:50Z")

</div>

Il me semble avoir lu qu’on pourrait désactiver la fonctionnalité via un paramètre du noyau.  
Edit : mais je n’arrive pas à retrouver l’info…  
Re-edit : ah, là : [Ça sent pas bon chez Intel ? - LinuxFr.org](http://linuxfr.org/users/pied/journaux/ca-sent-pas-bon-chez-intel)

> Le patch est très volumineux, a un impact non négligeable sur les performances, et est activé par défaut. Un développeur AMD a juste altéré le patch en précisant que les processeurs AMD ne sont pas impactés car leur fonctionnement rend le patch inutile.

J’interprète «&nbsp;activé par défaut&nbsp;» comme «&nbsp;désactivable&nbsp;», et apparemment désactivé avec les processeurs AMD qui ne seraient pas impactés.

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Janvier 3, 2018, 10:46 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/4 "2018-01-03T10:46:52Z")

</div>

Oui il semble qu’il y ai un flag, mais du coup tu es obligé de recompilé ton kernel … pas top. Une détection dynamique aurait été bien mieux. Peut être plus tard …

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Janvier 3, 2018, 10:48 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/5 "2018-01-03T10:48:38Z")

</div>

Flag de compilation seulement ?  
Alors il faudrait à nouveau fournir des noyaux précompilés différenciés pour Intel et AMD, comme il y a fort fort longtemps.

Ceci dit, comme le patch semble particulièrement “invasif”, ça ne m’étonne pas plus que ça que ce soit désactivable uniquement à la compilation. Un peu comme le support de PAE.

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 4, 2018, 8:21 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/6 "2018-01-04T08:21:46Z")

</div>

D’après deux personnes de chez google, le 9 janvier doit être révélée la source profonde du problème lié à l’[exécution spéculative](https://fr.wikipedia.org/wiki/Ex%C3%A9cution_sp%C3%A9culative).

D’autre part, ils affirment que tous les fondeurs sont concernés.

> These vulnerabilities affect many CPUs, including those from AMD, ARM, and Intel, as well as the devices and operating systems running on them.

[Google Online Security Blog: Today’s CPU vulnerability: what you need to know](https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html)

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 4, 2018, 9:32 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/7 "2018-01-04T09:32:40Z")

</div>

Le site des menaces fantômes :

[Meltdown and Spectre](https://meltdownattack.com/)

Meltdown est traitée par KPTI dans linux.

Spectre, comme son nom l’indique, couvre une très large gamme de machines.

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 4, 2018, 9:36 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/8 "2018-01-04T09:36:01Z")

</div>

Julian Assange va-t-il être au chômage ?

Andreas Lubitz s’est-il vraiment suicidé ?

Christophe de Margerie a-t-il été victime d’une déneigeuse ?

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 8, 2018, 9:38 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/9 "2018-01-08T21:38:40Z")

</div>

Une solution de ripolinage est détaillée dans un bulletin du CERT :

[Bulletin d’actualité CERTFR-2018-ACT-001 – CERT-FR](https://www.cert.ssi.gouv.fr/actualite/CERTFR-2018-ACT-001/)

> Paul Turner, ingénieur chez Google, a présenté une contre-mesure baptisé retpoline (contraction de « return » et « trampoline ») pour faire face à cette dernière catégorie d’attaques

AVANT

```
jmp *%r11

```

APRÈS

```
call construction_destination; 
capture_execution_speculative: 
pause;
jmp capture_execution_speculative;
construction_destination:
mov %r11, (%rsp); 
ret;

```

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Janvier 9, 2018, 12:41 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/10 "2018-01-09T12:41:01Z")

</div>

Tout ça pour mettre en échec l’exécution spéculative… C’est tordu et ça obscurcit pas mal le code.

```
mov %r11, (%rsp); 
ret;

```

est quand même beaucoup moins explicite que que

```
jmp *%r11
```

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Janvier 11, 2018, 8:55 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/11 "2018-01-11T08:55:34Z")

</div>

Le Spectre toucherait aussi le GPU d’après nVidia !

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Janvier 11, 2018, 10:27 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/12 "2018-01-11T10:27:35Z")

</div>

Cette page est plus claire  
[https://cert.ssi.gouv.fr/alerte/CERTFR-2018-ALE-001/](https://cert.ssi.gouv.fr/alerte/CERTFR-2018-ALE-001/)

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Février 17, 2018, 7:21 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/13 "2018-02-17T19:21:38Z")

</div>

Le gcc de jessie a été ripoliné :

[[SECURITY] [DSA 4117-1] gcc-4.9 security update](https://lists.debian.org/debian-security-announce/2018/msg00042.html)

> Package : gcc-4.9  
> CVE ID : not applicable
> 
> This update doesn’t fix a vulnerability in GCC itself, but instead  
> provides support for building retpoline-enabled Linux kernel updates.
> 
> For the oldstable distribution (jessie), this problem has been fixed  
> in version 4.9.2-10+deb8u1.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Février 18, 2018, 7:34 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/14 "2018-02-18T07:34:37Z")

</div>

Simplement une info sur le terme “retpoline”

_The name “retpoline” is a portmanteau of “return” and “trampoline.” It is a trampoline construct constructed using return operations which also figuratively ensures that any associated speculative execution will “bounce” endlessly._

[https://support.google.com/faqs/answer/7625886](https://support.google.com/faqs/answer/7625886)  
Le concept c’est quelque chose comme " jouer au trempoline avec les retours pour faire rebondir indéfiniment toute exécution spéculative"  
A part une association du au son de la prononciation, ça n’a donc pas grand chose à voir avec le français ripoliné qui est tiré du nom de la marque de peinture Ripolin

Il n’y a pas de traduction en français de ce terme retpoline qui est lui même un barbarisme en anglais:

_la mise à jour ne corrige pas une vulnérabilité dans GCC lui-même, mais fournit plutôt une prise en charge pour la compilation de mises à jour du noyau Linux avec « Retpoline » activé._

[https://www.debian.org/security/2018/dsa-4117](https://www.debian.org/security/2018/dsa-4117)

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Février 18, 2018, 12:59 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/15 "2018-02-18T12:59:03Z")

</div>

Certes, je propose le “rebonbond” 🙂

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Février 19, 2018, 2:56 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/16 "2018-02-19T14:56:29Z")

</div>

«Rebonline» ?

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Février 22, 2018, 3:22 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/17 "2018-02-22T15:22:32Z")

</div>

Le gcc de stretch a fait aussi son trampotour :

[[SECURITY] [DSA 4121-1] gcc-6 security update](https://lists.debian.org/debian-security-announce/2018/msg00045.html)

Et le noyau linux ainsi recompilé suit :

[[SECURITY] [DSA 4120-1] linux security update](https://lists.debian.org/debian-security-announce/2018/msg00046.html)

Le Spectre v1 n’est que partiellement traité

> Additionnaly to those vulnerability, some mitigations for CVE-2017-5753 are included in this release.

> More use sites will be added over time.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Février 22, 2018, 7:46 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/18 "2018-02-22T19:46:51Z")

</div>

Apparemment pour ceux qui veulent compiler le noyau eux meme, il faut les options CONFIG\_PAGE\_TABLE\_ISOLATION et CONFIG\_RETPOLINE

Pour l’instant il n’y en a qu’une dans le 4.9

```auto
uname --all
Linux debian 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux

```

```auto
root@debian:/boot# grep CONFIG_PAGE_TABLE_ISOLATION config-4.9.0-5-amd64
CONFIG_PAGE_TABLE_ISOLATION=y
root@debian:/boot# grep CONFIG_RETPOLINE config-4.9.0-5-amd64
root@debian:/boot# 

```

Il faut donc installer le 4.9.0-6 pour les avoir

```auto
root@debian:/boot# grep CONFIG_RETPOLINE config-4.9.0-6-amd64
CONFIG_RETPOLINE=y
root@debian:/boot# grep CONFIG_PAGE_TABLE_ISOLATION config-4.9.0-6-amd64
CONFIG_PAGE_TABLE_ISOLATION=y

```

Et donc ça progresse ✌

```auto
root@debian:/# grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full AMD retpoline - vulnerable module loaded
root@debian:/# uname --all
Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u2 (2018-02-21) x86_64 GNU/Linux
root@debian:/# 

```

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Février 24, 2018, 10:24 UTC](https://www.debian-fr.org/t/cest-qui-kpti/75531/19 "2018-02-24T10:24:52Z")

</div>

pour info le résultat satisfaisant est

```auto
 grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full AMD retpoline

```

Si vous voyez mentionné **vulnerable module loaded** c’est qu’il y a une application qui pose problème.  
CF: [https://patchwork.kernel.org/patch/10184921/](https://patchwork.kernel.org/patch/10184921/)  
On peut l’identifier par

`journalctl -xb | grep retpoline`
