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