ืคื™ื ืคื˜ ืึทื“ื™ืฉืึทืŸ ืคื•ืŸ ืคึผืึทื˜ืฉืึทื– ืคึฟืึทืจ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืจื•ืกื˜ ืฉืคึผืจืึทืš

Miguel Ojeda, ืžื—ื‘ืจ ืคื•ืŸ ื“ื™ Rust-for-Linux ืคึผืจื•ื™ืขืงื˜, ื”ืื˜ ืคืืจื’ืขืœื™ื™ื’ื˜ ืึท ืคื™ื ืคื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืžื™ื˜ืœ ื“ืจื™ื•ื•ืขืจืก ืื™ืŸ ื“ื™ ืจื•ืกื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ื‘ืึทื˜ืจืึทื›ื˜ื•ื ื’ ื“ื•ืจืš ืœื™ื ื•ืงืก ืงืขืจืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ื–ืฉืึทื•ื•ืขืจ ืฉื˜ื™ืฆืŸ ืื™ื– ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื™ืงืกืคึผืขืจืžืขื ืึทืœ, ืึธื‘ืขืจ ืื™ื– ืฉื•ื™ืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก-ื•ื•ื™ื™ึทื˜ืขืจ ืฆื•ื•ื™ื™ึทื’ ืื•ืŸ ืื™ื– ื’ืขื ื•ื’ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทื‘ืกื˜ืจืึทืงืฆื™ืข ืœื™ื™ึทืขืจืก ืื™ื‘ืขืจ ืงืขืจืŸ ืกืึทื‘ืกื™ืกื˜ืึทืžื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืฉืจื™ื™ื‘ืŸ ื“ืจื™ื•ื•ืขืจืก ืื•ืŸ ืžืึทื“ื–ืฉื•ืœื–. ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื™ื– ืคืึทื ื“ืึทื“ ื“ื•ืจืš Google ืื•ืŸ ื“ื™ ISRG (Internet Security Research Group), ื•ื•ืึธืก ืื™ื– ื“ืขืจ ื’ืจื™ื ื“ืขืจ ืคื•ืŸ ื“ื™ Let's Encrypt ืคึผืจื•ื™ืขืงื˜ ืื•ืŸ ืคึผืจืึทืžืึธื•ืฅ ื”ื˜ื˜ืคึผืก ืื•ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคื•ืŸ ื“ื™ ืื™ื ื˜ืขืจื ืขื˜.

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

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

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึทื˜ืฉืึทื– ื”ืืœื˜ ืฆื• ืขืœื™ืžื™ื ื™ืจืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ื‘ืขืฉืึทืก ื“ื™ ื“ื™ืกืงื•ืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขืจ ืขืจืฉื˜ืขืจ, ืจื’ืข, ื“ืจื™ื˜ ืื•ืŸ ืคืขืจื˜ ืื•ื™ืกื’ืื‘ืขืก ืคื•ืŸ ื“ื™ ืคึผืึทื˜ืฉืึทื–. ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข:

  • ืงืึธืžืคึผืึธื ืขื ื˜ ื˜ืขืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ืฉืึทื•ื•ืขืจ ืฉื˜ื™ืฆืŸ ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื“ื™ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื™ื ื˜ืขืœ-ื’ืขืฉื˜ื™ืฆื˜ 0DAY / LKP Bot ืื•ืŸ ื“ื™ ื•ื™ืกื’ืึทื‘ืข ืคื•ืŸ โ€‹โ€‹ื˜ืขืกื˜ื™ื ื’ ืจื™ืคึผืึธืจืฅ ืื™ื– ืกื˜ืึทืจื˜ืขื“. ืžื™ืจ ื–ืขื ืขืŸ ืคึผืจื™ืคึผืขืจื™ื ื’ ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ ืจืึทืกื˜ ืฉื˜ื™ืฆืŸ ืื™ืŸ ื“ื™ KernelCI ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ื˜ืขืกื˜ื™ื ื’ ืกื™ืกื˜ืขื. ื˜ืขืกื˜ื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ GitHub CI ืื™ื– ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–.
  • ื–ืฉืึทื•ื•ืขืจ ืงืขืจืŸ ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื‘ืืคืจื™ื™ื˜ ืคื•ืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ืงืจื™ื™ื˜ ืึทื˜ืจื™ื‘ื™ื•ืฅ "#![ื ืึธ_ืกื˜ื“]" ืื•ืŸ "#![ืคื•ื ืงืฆื™ืข (...)]".
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืื™ื™ืŸ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ื˜ืึทืจื’ืึทืฅ (. ืึธ, .ืก, .ืœืœ ืื•ืŸ .ื™).
  • ืงืึธื•ื“ ื’ื™ื™ื“ืœื™ื™ื ื– ื“ืขืคื™ื ื™ืจืŸ ื›ึผืœืœื™ื ืคึฟืึทืจ ืกืขืคึผืขืจื™ื™ื˜ื™ื ื’ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ("//") ืื•ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื ื’ ืงืึธื“ ("///").
  • ื“ื™ is_rust_module.sh ืฉืจื™ืคื˜ ืื™ื– ืจื™ื•ื•ืขืจืงื˜.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืกื˜ืึทื˜ื™ืง (ื’ืœืื‘ืืœืข ืฉืขืจื“ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง) ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืคึผืจื™ืžื™ื˜ื™ื•ื•ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ "CONFIG_CONSTRUCTORS".
  • ืœืึทืง ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืื™ื– ืกื™ืžืคึผืœืึทืคื™ื™ื“: Guard ืื•ืŸ GuardMut ื–ืขื ืขืŸ ืงืึทืžื‘ื™ื™ื ื“ ืื•ืŸ ืึท ืคึผืึทืจืึทืžืขื˜ืขืจื™ื™ื–ื“ ื˜ื™ืคึผ.
  • ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื ืึธืš ืคึผืึทืจืึทืžืขื˜ืขืจืก ื•ื•ืขืŸ ืจืขื“ื–ืฉื™ืกื˜ืขืจื™ื ื’ ื“ืขื•ื•ื™ืกืขืก.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ "RwSemaphore" ืึทื‘ืกื˜ืจืึทืงืฆื™ืข, ื•ื•ืึธืก ืืงื˜ืŸ ื•ื•ื™ ืึท ืจืึทืคึผืขืจ ืื™ื‘ืขืจ ื“ื™ rw_semaphore C ืกื˜ืจื•ืงื˜ื•ืจ.
  • ืฆื• ื ื•ืฆืŸ mmap, ืึท ื ื™ื™ึทืข ืžื ืžืึธื“ื•ืœืข ืื•ืŸ ืึท VMA ืึทื‘ืกื˜ืจืึทืงืฆื™ืข ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ (ืึท ืจืึทืคึผืขืจ ืื™ื‘ืขืจ ื“ื™ vm_area_struct ืกื˜ืจื•ืงื˜ื•ืจ).
  • ื“ื™ GPIO PL061 ืฉืึธืคืขืจ ืื™ื– ืกื•ื•ื™ื˜ืฉื˜ ืฆื• ื ื™ืฆืŸ ื“ื™ "dev_*!" ืžืึทืงืจืึธื•.
  • ื ืึทืœื’ืขืžื™ื™ื ืข ืงืœื™ื ืึทืคึผ ืคื•ืŸ ื“ื™ ืงืึธื“ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜.

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

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