ಪ್ರತಿಜ್ಞೆ ಪ್ರತ್ಯೇಕತೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು Linux ಗೆ ಪೋರ್ಟ್ ಮಾಡಲು ಯೋಜಿಸಲಾಗಿದೆ

ಇತ್ತೀಚೆಗೆ ಕಾಸ್ಮೋಪಾಲಿಟನ್ ಸಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿಯ ಲೇಖಕ ಮತ್ತು ರೆಡ್‌ಬೀನ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಎ ಮೂಲಕ ಘೋಷಿಸಿತು ಲಿನಕ್ಸ್‌ಗಾಗಿ ಪ್ರತಿಜ್ಞೆ() ಪ್ರತ್ಯೇಕತೆಯ ಕಾರ್ಯವಿಧಾನದ ಅನುಷ್ಠಾನವನ್ನು ಘೋಷಿಸಲಾಗಿದೆ.

ಫ್ಯೂ ಮೂಲತಃ OpenBSD ಯೋಜನೆಯಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ y ಆಯ್ದ ನಿಷೇಧವನ್ನು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಅದು ಬಳಕೆಯಾಗದ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಪ್ರವೇಶಿಸುತ್ತವೆ (ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಒಂದು ರೀತಿಯ ಶ್ವೇತಪಟ್ಟಿಯನ್ನು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಇತರ ಕರೆಗಳನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ). Linux ನಲ್ಲಿ ಲಭ್ಯವಿರುವ seccomp ನಂತಹ ಸಿಸ್ಕಾಲ್ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಕಾರ್ಯವಿಧಾನಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಪ್ರತಿಜ್ಞೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಬಳಕೆದಾರ ಸ್ನೇಹಿಯಾಗಿ ನೆಲದಿಂದ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ಸಿಸ್ಟ್ರೇಸ್ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು OpenBSD ಮೂಲ ಪರಿಸರದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ವಿಫಲವಾದ ಉಪಕ್ರಮವು ವೈಯಕ್ತಿಕ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಮಟ್ಟದಲ್ಲಿ ಪ್ರತ್ಯೇಕತೆಯು ತುಂಬಾ ಜಟಿಲವಾಗಿದೆ ಮತ್ತು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ತೋರಿಸಿದೆ.

ಪರ್ಯಾಯವಾಗಿ, ಪ್ರತಿಜ್ಞೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಯಿತು, ಇದು ವಿವರಗಳಿಗೆ ಹೋಗದೆ ಮತ್ತು ಸಿದ್ಧಪಡಿಸಿದ ಪ್ರವೇಶ ತರಗತಿಗಳನ್ನು ಕುಶಲತೆಯಿಂದ ಪ್ರತ್ಯೇಕಿಸುವ ನಿಯಮಗಳನ್ನು ರಚಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ.

ಉದಾಹರಣೆಗೆ, stdio (ಇನ್‌ಪುಟ್/ಔಟ್‌ಪುಟ್), rpath (ಫೈಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಓದಲು), wpath (ಫೈಲ್‌ಗಳನ್ನು ಬರೆಯಿರಿ), cpath (ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಿ), tmppath (ತಾತ್ಕಾಲಿಕ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ), inet (ಸಾಕೆಟ್‌ಗಳ ನೆಟ್‌ವರ್ಕ್), ಯುನಿಕ್ಸ್ (ಯುನಿಕ್ಸ್ ಸಾಕೆಟ್‌ಗಳು) ತರಗತಿಗಳನ್ನು ನೀಡಲಾಗುತ್ತದೆ. ), dns (DNS ರೆಸಲ್ಯೂಶನ್), getpw (ಬಳಕೆದಾರರ ಡೇಟಾಬೇಸ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಓದಲು), ioctl (ioctl ಕರೆ), proc (ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣ), ಎಕ್ಸಿಕ್ (ಆರಂಭಿಕ ಪ್ರಕ್ರಿಯೆಗಳು) ಮತ್ತು ಐಡಿ (ಅನುಮತಿ ನಿಯಂತ್ರಣ).

ಸಿಸ್ಟಮ್ ಕರೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ನಿಯಮಗಳು ಅನುಮತಿಸಲಾದ ಸಿಸ್ಟಮ್ ಕರೆ ವರ್ಗಗಳ ಪಟ್ಟಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ಟಿಪ್ಪಣಿಗಳ ರೂಪದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಲಾದ ಫೈಲ್ ಪಥಗಳ ಒಂದು ಶ್ರೇಣಿ. ಮಾರ್ಪಡಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಚಲಾಯಿಸಿದ ನಂತರ, ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯಮಗಳ ಅನುಸರಣೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಕೆಲಸವನ್ನು ಕರ್ನಲ್ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.

ಪ್ರತ್ಯೇಕವಾಗಿ, FreeBSD ಗಾಗಿ ಪ್ರತಿಜ್ಞೆ ಅನುಷ್ಠಾನವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ, ಇದು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅವುಗಳ ಕೋಡ್‌ನಲ್ಲಿ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡದೆಯೇ ಪ್ರತ್ಯೇಕಿಸುವ ಸಾಮರ್ಥ್ಯದಿಂದ ಗುರುತಿಸಲ್ಪಟ್ಟಿದೆ, ಆದರೆ OpenBSD ಯಲ್ಲಿ ಪ್ರತಿಜ್ಞೆ ಕರೆಯು ಮೂಲ ಪರಿಸರದೊಂದಿಗೆ ಬಿಗಿಯಾದ ಏಕೀಕರಣ ಮತ್ತು ಕೋಡ್‌ಗೆ ಟಿಪ್ಪಣಿಗಳನ್ನು ಸೇರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಪ್ರತಿಯೊಂದರ.

ಲಿನಕ್ಸ್‌ನಂತಹ ವಸ್ತುಗಳನ್ನು ಬಳಸಬೇಕೆಂದು ಬಾಸ್ ಹೇಳಿದಾಗ ಪ್ರತಿಜ್ಞೆಯು ನಿಷೇಧಿತ ಹಣ್ಣಿನಂತೆ ನಾವೆಲ್ಲರೂ ಬಯಸುತ್ತೇವೆ. ಅದು ಏಕೆ ಮುಖ್ಯ? ಏಕೆಂದರೆ ಪ್ರತಿಜ್ಞೆ () ಭದ್ರತೆಯನ್ನು ಅರ್ಥವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. ಕೇವಲ ಮನುಷ್ಯರು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾದ ಸುರಕ್ಷತೆಯ ಪದರವನ್ನು ಲಿನಕ್ಸ್ ಎಂದಿಗೂ ಹೊಂದಿಲ್ಲ.

Linux ಪ್ರತಿಜ್ಞೆ ಪೋರ್ಟ್ ಡೆವಲಪರ್‌ಗಳು FreeBSD ಯಿಂದ ಕ್ಯೂ ತೆಗೆದುಕೊಂಡರು ಮತ್ತು ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಬದಲು, ಅವರು pledge.com ನಿಂದ ಹೆಚ್ಚುವರಿ ಉಪಯುಕ್ತತೆಯನ್ನು ಸಿದ್ಧಪಡಿಸಿದ್ದಾರೆ ಅದು ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸದೆಯೇ ನಿರ್ಬಂಧಗಳನ್ನು ಅನ್ವಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, stdio, rpath, inet ಮತ್ತು threadstdio ಸಿಸ್ಟಮ್ ಕರೆ ತರಗತಿಗಳಿಗೆ ಮಾತ್ರ ಪ್ರವೇಶದೊಂದಿಗೆ ಕರ್ಲ್ ಉಪಯುಕ್ತತೆಯನ್ನು ಚಲಾಯಿಸಲು, ಸರಳವಾಗಿ ರನ್ ಮಾಡಿ "./pledge.com -p 'stdio rpath inet thread' curl http://example.com » .

RHEL6 ರಿಂದ ಎಲ್ಲಾ ಲಿನಕ್ಸ್ ವಿತರಣೆಗಳಲ್ಲಿ ಉಪಯುಕ್ತತೆಯು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ರೂಟ್ ಪ್ರವೇಶ ಅಗತ್ಯವಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಕಾಸ್ಮೋಪಾಲಿಟನ್ ಲೈಬ್ರರಿಯನ್ನು ಆಧರಿಸಿ, ಸಿ ಭಾಷಾ ಕಾರ್ಯಕ್ರಮಗಳ ಕೋಡ್‌ನಲ್ಲಿ ನಿರ್ಬಂಧಗಳನ್ನು ನಿರ್ವಹಿಸಲು API ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಇದು ಅಪ್ಲಿಕೇಶನ್‌ನ ಕೆಲವು ಕಾರ್ಯಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಆಯ್ದ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು ಎನ್‌ಕ್ಲೇವ್‌ಗಳನ್ನು ರಚಿಸಲು ಇತರ ವಿಷಯಗಳ ಜೊತೆಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಈ ಹಿಂದೆ ಕೆಲವು ಡೆವಲಪರ್‌ಗಳು ಇದನ್ನು ಪ್ರಯತ್ನಿಸಿದ್ದಾರೆ. ನಾನು ಹೆಸರುಗಳನ್ನು ಹೆಸರಿಸಲು ಹೋಗುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಈ ಹೆಚ್ಚಿನ ಯೋಜನೆಗಳು ಎಂದಿಗೂ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ. SECOMP ಗೆ ಬಂದಾಗ, ಆನ್‌ಲೈನ್ ಟ್ಯುಟೋರಿಯಲ್‌ಗಳು ಸಿಸ್ಟಂ ಕರೆಗಳನ್ನು ಶ್ವೇತಪಟ್ಟಿ ಮಾಡುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಹೆಚ್ಚಿನ ಜನರು ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಹೇಗೆ ಫಿಲ್ಟರ್ ಮಾಡುವುದು ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯುವ ಮೊದಲು ಆಸಕ್ತಿಯನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತಾರೆ. ಮುಂದೆ ಸಾಗಿದ ಯೋಜನೆಗಳು ಸೆಟುಯಿಡ್/ಸೆಟ್ಗಿಡ್/ಜಿಗುಟಾದ ಬಿಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅನುಮತಿಸುವಂತಹ ಮೇಲ್ವಿಚಾರಣೆಗಳನ್ನು ಸಹ ಹೊಂದಿದ್ದವು. ಆದ್ದರಿಂದ, ಪ್ರಸ್ತುತ ಯಾವುದೇ ಪರ್ಯಾಯಗಳನ್ನು ಬಳಸಬಾರದು. ಈ ಪ್ರಯತ್ನವು ಹಿಂದೆಂದಿಗಿಂತಲೂ ಪ್ರತಿಜ್ಞೆ() ಹೊಂದಲು ನಮ್ಮನ್ನು ಹೆಚ್ಚು ಹತ್ತಿರ ತರುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

ಅನುಷ್ಠಾನಕ್ಕೆ ಯಾವುದೇ ಕರ್ನಲ್ ಬದಲಾವಣೆಗಳ ಅಗತ್ಯವಿಲ್ಲ: ಉಪಯುಕ್ತತೆಯ ನಿರ್ಬಂಧಗಳನ್ನು SECCOMP BPF ನಿಯಮಗಳಿಗೆ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು Linux ನ ಸ್ಥಳೀಯ ಸಿಸ್ಟಮ್ ಕರೆ ಐಸೋಲೇಶನ್ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಕರೆ ಮಾಡುವ ಭರವಸೆ("stdio rpath", 0) BPF ಫಿಲ್ಟರ್‌ಗೆ ಪರಿವರ್ತನೆಯಾಗುತ್ತದೆ

ಅಂತಿಮವಾಗಿ, ನೀವು ಇದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನೀವು ವಿವರಗಳನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು ಕೆಳಗಿನ ಲಿಂಕ್‌ನಲ್ಲಿ.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.