@@ -274,17 +274,37 @@ echo "swap partitions present (Recommendation: no swap)" \
274
274
275
275
#### Side channel attacks
276
276
277
- It is strongly recommended that users follow the
277
+ For the purposes of this document we assume a workload that involves arbitrary
278
+ code execution in a multi-tenant context where each Firecracker process
279
+ corresponds to a single tenant.
280
+
281
+ Specific mitigations for side channel issues are constantly evolving as
282
+ researchers find additional issues on a regular basis. Firecracker itself has no
283
+ control over many lower-level software and hardware behaviors and capabilities
284
+ and is not able to mitigate all these issues. Thus, it is strongly recommended
285
+ that users follow the very latest
278
286
[ Linux kernel documentation on hardware vulnerabilities] ( https://docs.kernel.org/admin-guide/hw-vuln/index.html )
279
- when configuring mitigations against side channel attacks including "Spectre"
280
- and "Meltdown" attacks (see
281
- [ Page Table Isolation ] ( https://docs.kernel.org/arch/x86/pti.html ) and
282
- [ Speculation Control ] ( https://docs.kernel.org/userspace-api/spec_ctrl.html ) ) .
287
+ as well as hardware/processor-specific recommendations and firmware updates (see
288
+ [ vendor-specific recommendations ] ( #vendor-specific-recommendations ) below) when
289
+ configuring mitigations against side channel attacks including "Spectre" and
290
+ "Meltdown" attacks .
283
291
284
- Additionally users should consider disabling
292
+ However, some generic recommendations are also provided in what follows.
293
+
294
+ ##### Disable SMT
295
+
296
+ Simultaneous Multi-Threading (SMT) is frequently a precondition for speculation
297
+ issues utilized in side channel attacks such as Spectre variants, MDS, and
298
+ others, where one tenant could leak information to another tenant or the host.
299
+ As such, our recommendation is to disable SMT in production scenarios that
300
+ require tenant separation.
301
+
302
+ ##### Disable Kernel Samepage Merging
303
+
304
+ Users should disable
285
305
[ Kernel Samepage Merging] ( https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.html )
286
- to mitigate [ side channel issues] ( https://eprint.iacr.org/2013/448.pdf ) relying
287
- on the page deduplication for revealing what memory pages are accessed by
306
+ to mitigate [ side channel issues] ( https://eprint.iacr.org/2013/448.pdf ) that
307
+ rely on page deduplication for revealing what memory pages are accessed by
288
308
another process.
289
309
290
310
##### Use memory with Rowhammer mitigation support
0 commit comments