ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ืคืืจืขืคื ื˜ืœืขื›ื˜ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืฆื• ื“ื™ ืœื™ื ื•ืงืก ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ CBL-Mariner

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ืคืืจืขืคื ื˜ืœืขื›ื˜ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืฆื• ื“ื™ CBL-Mariner ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ 1.0.20210901 (Common Base Linux Mariner), ื•ื•ืึธืก ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ื™ ืึท ื•ื ื™ื•ื•ืขืจืกืึทืœ ื‘ืึทื–ืข ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืœื™ื ื•ืงืก ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื•ื•ืึธืœืงืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ื‘ืจืขื’ ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืžื™ืงืจืึธืกืึธืคื˜ ื‘ืึทื“ื™ื ื•ื ื’ืก. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ืึทื™ืžืขื“ ืฆื• ื™ื•ื ืึทืคื™ื™ื™ื ื’ ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ืœื™ื ื•ืงืก ืกืึทืœื•ืฉืึทื ื– ืื•ืŸ ืกื™ืžืคึผืœืึทืคื™ื™ื™ื ื’ ื“ื™ ื•ื™ืฉืึทืœื˜ ืคื•ืŸ ืœื™ื ื•ืงืก ืกื™ืกื˜ืขืžืขืŸ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืŸ ืึทืคึผื“ื™ื™ื˜ ืฆื•ื•ืขืงืŸ. ื“ื™ ื“ื™ื•ื•ืขืœืึทืคึผืžืึทื ืฅ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื–ืขื ืขืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’:

  • ื“ื™ ืคืึธืจืžื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ื™ืงืขืจื“ื™ืง ื™ืกืึธ ื‘ื™ืœื“ (700 ืžืขื’ืื‘ื™ื™ื˜ืŸ) ื”ืื˜ ืื ื’ืขื”ื•ื™ื‘ืŸ. ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืžืขืœื“ื•ื ื’, ืคืึทืจื˜ื™ืง ISO ื‘ื™ืœื“ืขืจ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืฆื•ื’ืขืฉื˜ืขืœื˜; ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื ื’ืขื ื•ืžืขืŸ ืึทื– ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืงืขืŸ ืžืึทื›ืŸ ืึท ื‘ื™ืœื“ ืžื™ื˜ ื“ื™ ื ื™ื™ื˜ื™ืง ืคื™ืœื•ื ื’ (ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ Ubuntu 18.04).
  • ืกื•ืคึผืคึผืึธืจื˜ ืคึฟืึทืจ ืึธื˜ืึทืžืึทื˜ื™ืง ืคึผืขืงืœ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“, ืคึฟืึทืจ ื•ื•ืึธืก ื“ื™ Dnf-ืึธื˜ืึทืžืึทื˜ื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜.
  • ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ื•ื•ืขืจืกื™ืข 5.10.60.1. ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืคึผืจืึธื’ืจืึทื ื•ื•ืขืจืกื™ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ openvswitch 2.15.1, golang 1.16.7, logrus 1.8.1, tcell 1.4.0, gonum 0.9.3, testify 1.7.0, crunchy 0.4.0, xz 0.5.10, swig 4.0.2, squashfs-tools 4.4, mysql 8.0.26.
  • OpenSSL ื’ื™ื˜ ื“ื™ ืึธืคึผืฆื™ืข ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ TLS 1 ืื•ืŸ TLS 1.1.
  • ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืคื•ืŸ ื“ื™ ื˜ืึธืึธืœืงื™ื˜, ื“ื™ sha256sum ื ื•ืฆืŸ ืื™ื– ื’ืขื ื™ืฆื˜.
  • ื ื™ื™ึท ืคึผืึทืงืึทื“ื–ืฉืึทื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜: ืขื˜ืง-ืžื›ืฉื™ืจื™ื, ืงืึทืงืคึผื™ื˜, ืึทื™ื“, ืคื™ืคึผืกื˜ืฉืขืงืง, ื˜ื™ื ื™.
  • ื“ื™ brp-strip-debug-symbols, brp-strip-unneeded ืื•ืŸ ca-legacy ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ. ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืกืคึผืขืง ื˜ืขืงืขืก ืคึฟืึทืจ ื“ืึธื˜ื ืขื˜ ืื•ืŸ ืึทืกืคึผื ืขื˜ืงืึธืจืข ืคึผืึทืงืึทื“ื–ืฉืึทื–, ื•ื•ืึธืก ื–ืขื ืขืŸ ืื™ืฆื˜ ืงืึทืžืคึผื™ื™ืœื“ ื“ื•ืจืš ื“ื™ ื”ืึทืจืฅ .ื ืขื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืžืึทื ืฉืึทืคึฟื˜ ืื•ืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.
  • ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืคื™ืงืกื™ื– ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื“ื™ ืคึผืขืงืœ ื•ื•ืขืจืกื™ืขืก ื’ืขื ื™ืฆื˜.

ืœืึธืžื™ืจ ืฆื•ืจื™ืงืจื•ืคืŸ ืึทื– ื“ื™ CBL-Mariner ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื’ื™ื˜ ืึท ืงืœื™ื™ืŸ ื ืึธืจืžืึทืœ ื’ืึทื ื’ ืคื•ืŸ ื™ืงืขืจื“ื™ืง ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืึธืก ื“ื™ื ืขืŸ ื•ื•ื™ ืึท ื•ื ื™ื•ื•ืขืจืกืึทืœ ื™ืงืขืจ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–, ื‘ืึทืœืขื‘ืึธืก ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืื•ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ื•ื•ืึธืœืงืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ืื•ื™ืฃ ื‘ืจืขื’ ื“ืขื•ื•ื™ืกืขืก. ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืื•ืŸ ืกืคึผืขืฉืึทืœื™ื™ื–ื“ ืกืึทืœื•ืฉืึทื ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ ื“ื•ืจืš ืึทื“ื™ื ื’ ื ืึธืš ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ CBL-Mariner, ืึธื‘ืขืจ ื“ื™ ื™ืงืขืจ ืคึฟืึทืจ ืึทืœืข ืึทื–ืึท ืกื™ืกื˜ืขืžืขืŸ ื‘ืœื™ื™ื‘ื˜ ื“ื™ ื–ืขืœื‘ืข, ืžืื›ืŸ ื•ื™ืฉืึทืœื˜ ืื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื’ืจื™ื ื’ืขืจ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, CBL-Mariner ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื“ื™ ื™ืงืขืจ ืคึฟืึทืจ ื“ื™ WSLg ืžื™ื ื™-ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’, ื•ื•ืึธืก ื’ื™ื˜ ื’ืจืึทืคื™ืงืก ืึธื ืœื™ื™ื’ืŸ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ืœื™ื ื•ืงืก ื’ื•ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ WSL2 (Windows Subsystem for Linux) ืกืึทื‘ืกื™ืกื˜ืขื. ืขืงืกื˜ืขื ื“ืขื“ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ืŸ WSLg ืื™ื– ืื™ื™ื ื’ืขื–ืขืŸ ื“ื•ืจืš ื“ื™ ื™ื ืงืœื•ื–ืฉืึทืŸ ืคื•ืŸ ื ืึธืš ืคึผืึทืงืึทื“ื–ืฉืึทื– ืžื™ื˜ Weston Composite Server, XWayland, PulseAudio ืื•ืŸ FreeRDP.

ื“ื™ CBL-Mariner ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ื‘ื™ื™ื“ืข ื™ื—ื™ื“ ืจืคึผื ืคึผืึทืงืึทื“ื–ืฉืึทื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ SPEC ื˜ืขืงืขืก ืื•ืŸ ืžืงื•ืจ ืงืึธื“, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืžืึทื ืึทืœื™ื˜ื™ืง ืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืžื™ื˜ ื“ื™ ืจืคึผื-ืึธืกื˜ืจืขืข ื˜ืึธืึธืœืงื™ื˜ ืื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืึทื˜ืึธืžื™ืฉืข ืึธืŸ ืกืคึผืœื™ื˜ื™ื ื’ ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืึทืงืึทื“ื–ืฉืึทื–. ืึทืงืงืึธืจื“ื™ื ื’ืœื™, ืฆื•ื•ื™ื™ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืขืงืกืคึผืจืขืก ืžืึธื“ืขืœืก ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜: ื“ื•ืจืš ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ื™ื—ื™ื“ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื•ืŸ ื“ื•ืจืš ืจื™ื‘ื™ืœื“ื™ื ื’ ืื•ืŸ ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ื“ื™ ื’ืื ืฆืข ืกื™ืกื˜ืขื ื‘ื™ืœื“. ื ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคื•ืŸ ื‘ืขืขืจืขืš 3000 ืคืึทืจ-ื’ืขื‘ื•ื™ื˜ ืจืคึผื ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื™ื– ื‘ื ื™ืžืฆื ืึทื– ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื‘ื™ืœื“ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข.

ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื›ื•ืœืœ ื‘ืœื•ื™ื– ื“ื™ ืžืขืจืกื˜ ื ื™ื™ื˜ื™ืง ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ืŸ ืื™ื– ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืคึฟืึทืจ ืžื™ื ื™ืžืึทืœ ื–ื™ืงืึธืจืŸ ืื•ืŸ ื“ื™ืกืง ืคึผืœืึทืฅ ืงืึทื ืกืึทืžืฉืึทืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื”ื•ื™ืš ืœืึธื•ื“ื™ื ื’ ื’ื™ื›ืงื™ื™ึทื˜. ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืื™ื– ืื•ื™ืš ื ืึธื•ื˜ืึทื‘ืึทืœ ืคึฟืึทืจ ื“ื™ ื™ื ืงืœื•ื–ืฉืึทืŸ ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื ืึธืš ืžืขืงืึทื ื™ื–ืึทืžื– ืฆื• ืคืึทืจื‘ืขืกืขืจืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื ืขืžื˜ ืึท "ืžืึทืงืกื™ืžื•ื ื–ื™ื›ืขืจื”ื™ื™ื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜" ืฆื•ื’ืึทื ื’. ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืคื™ืœื˜ืขืจ ืกื™ืกื˜ืขื ืงืึทืœืœืก ื ื™ืฆืŸ ื“ื™ ืกืขืงืึธืžืคึผ ืžืขืงืึทื ื™ื–ืึทื, ืขื ืงืจื™ืคึผื˜ ื“ื™ืกืง ืคึผืึทืจื˜ื™ืฉืึทื ื– ืื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืžื™ื˜ ืึท ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข.

ืจืึทื ื“ืึธืžื™ื–ืึทื˜ื™ืึธืŸ ืžืึธื“ืขืก ืคื•ืŸ ืึทื“ืจืขืก ืคึผืœืึทืฅ ื’ืขืฉื˜ื™ืฆื˜ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื–ืขื ืขืŸ ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืฉื•ืฅ ืžืขืงืึทื ื™ื–ืึทืžื– ืงืขื’ืŸ ืกื™ืžืœื™ื ืง ืื ืคืืœืŸ, mmap, /dev/mem ืื•ืŸ /dev/kmem. ื“ื™ ื–ื™ืงืึธืจืŸ ื’ืขื‘ื™ื˜ืŸ ื•ื•ืึธืก ืึทื ื˜ื”ืึทืœื˜ืŸ ืกืขื’ืžืึทื ืฅ ืžื™ื˜ ืงืขืจืŸ ืื•ืŸ ืžืึธื“ื•ืœืข ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืžืึธื“ืข ืื•ืŸ ืงืึธื“ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืื™ื– ืคึผืจืึธื•ื›ื™ื‘ืึทื˜ืึทื“. ืึท ืึทืคึผืฉืึทื ืึทืœ ืึธืคึผืฆื™ืข ืื™ื– ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ืœืึธื•ื“ื™ื ื’ ืงืขืจืŸ ืžืึทื“ื–ืฉื•ืœื– ื ืึธืš ืกื™ืกื˜ืขื ื™ื ื™ื˜ื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ. ื“ื™ iptables ื˜ืึธืึธืœืงื™ื˜ ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืคื™ืœื˜ืขืจ ื ืขืฅ ืคึผืึทืงื™ืฅ. ืื™ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ื‘ื™ื ืข, ืฉื•ืฅ ืงืขื’ืŸ ืกื˜ืึทืง ืึธื•ื•ื•ืขืจืคืœืึธื•ื–, ื‘ืึทืคืขืจ ืึธื•ื•ื•ืขืจืคืœืึธื•ื– ืื•ืŸ ืฉื˜ืจื™ืงืœ ืคืึธืจืžืึทื˜ื˜ื™ื ื’ ืคึผืจืึธื‘ืœืขืžืก ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).

ื“ื™ ืกื™ืกื˜ืขื ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืกื™ืกื˜ืขื ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืคื™ืจืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ืŸ ืฉื˜ื™ื•ื•ืœ. ืคึฟืึทืจ ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืคึผืขืงืœ ืžืึทื ืึทื“ื–ืฉืขืจื– RPM ืื•ืŸ DNF (tdnf ื•ื•ืึทืจื™ืึทื ื˜ ืคึฟื•ืŸ vmWare) ื–ืขื ืขืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜. ื“ืขืจ SSH ืกืขืจื•ื•ืขืจ ืื™ื– ื ื™ืฉื˜ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’, ืึท ื™ื ืกื˜ืึทืœืœืขืจ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื•ื•ืึธืก ืงืขื ืขืŸ ืึทืจื‘ืขื˜ืŸ ืื™ืŸ ื‘ื™ื™ื“ืข ื˜ืขืงืกื˜ ืื•ืŸ ื’ืจืึทืคื™ืง ืžืึธื“ืขืก. ื“ืขืจ ื™ื ืกื˜ืึธืœืขืจ ื’ื™ื˜ ื“ื™ ืึธืคึผืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื™ื ืกื˜ืึธืœื™ื ื’ ืžื™ื˜ ืึท ืคื•ืœ ืึธื“ืขืจ ื™ืงืขืจื“ื™ืง ื’ืึทื ื’ ืคื•ืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื–, ืื•ืŸ ืึธืคืคืขืจืก ืึท ืฆื•ื‘ื™ื ื“ ืคึฟืึทืจ ืกืึทืœืขืงื˜ื™ื ื’ ืึท ื“ื™ืกืง ืฆืขื˜ื™ื™ืœื•ื ื’, ืกืขืœืขืงื˜ื™ื ื’ ืึท ื‘ืึทืœืขื‘ืึธืก ื ืึธืžืขืŸ ืื•ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ื ื™ืฆืขืจืก.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’