Π¦Π΅Π»Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΡΠ²ΠΎΡΡΡΠ²Π΅Π½Π° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠ° Π΅ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅ Π²ΠΎ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΠΎ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ°Π΄ΡΠΎ (ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ
ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° Π½Π΅ ΡΠΎΠ΄ΡΠΆΠΈ Π½ΠΈΡΡΠΎ ΠΈΠ·Π»ΠΈΡΠ½ΠΎ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠΎ Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ Π±Π΅Π· Π΄ΡΠ°ΡΠ²Π΅ΡΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΠ»ΠΎΠ΅Π²ΠΈ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΡΡΠΈΡΠ΅ ΡΡΠΎΡΠΎΡΠΈ ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. Π Π°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ MirageOS ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° ΡΡΠΈ ΡΠ°Π·ΠΈ: ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°
Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ OCaml Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ, Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡΠ΅ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Π°Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ²Π΅ΡΠΎΡ DNS Π·Π°ΡΠ°ΡΠ° ΡΠ°ΠΌΠΎ 200 KB). ΠΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈΡΠ΅ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ°, Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΈ ΡΡΠ°ΡΡΡΠ²Π° Π½ΠΎΠ²Π° ΡΡΠ΅Π΄ΠΈΠ½Π°. ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΎ
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ½ΡΠ΄Π΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ ΡΠΎ Π°Π»Π°ΡΠΊΠΈ
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° unikernel MirageOS Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄ΠΈΠ½Π°
ΡΠΏΡ (βΡΠ΅Π½Π΄Π΅Ρ Π·Π° ΠΏΡΠΎΡΠ΅Ρ ΡΠΎ ΠΏΠ΅ΡΠΎΠΊβ) ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΏΡΠΈΡΠ°ΡΠ½ΠΈΠΊΠΎΡΠ‘ΠΎΠ»ΠΎ5 . ΠΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ spt backend, MirageOS ΠΊΠ΅ΡΠ½Π΅Π»ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° Linux Π½Π° ΠΊΠΎΠΈ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° seccomp-BPF; - Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°
ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Solo5, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ Π½Π° unikernel ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° hvt, spt ΠΈ muen Π·Π°Π΄Π½ΠΈΠ½ΠΈ (ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° Π³Π΅Π½ΠΎΠ΄ ΠΈ Π²ΠΈΡΡΠΈΠΎ Π·Π°Π΄Π½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π½Π° Π΅Π΄Π΅Π½ ΡΡΠ΅Π΄); - ΠΠ°ΡΠ°ΠΊΠ½Π°ΡΠ° Π΅ Π·Π°ΡΡΠΈΡΠ°ΡΠ° Π½Π° Π·Π°Π΄Π½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Solo5 (hvt, spt), Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΎ Π΅ Π³ΡΠ°Π΄Π΅ΡΠ΅ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ SSP (Stack Smashing Protection).
ΠΠ·Π²ΠΎΡ: opennet.ru