Google ಸುರಕ್ಷಿತ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ KataOS ಗಾಗಿ ಕೋಡ್ ಅನ್ನು ತೆರೆಯಿತು

ಎಂಬೆಡೆಡ್ ಹಾರ್ಡ್‌ವೇರ್‌ಗಾಗಿ ಸುರಕ್ಷಿತ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವ KataOS ಯೋಜನೆಗೆ ಸಂಬಂಧಿಸಿದ ಬೆಳವಣಿಗೆಗಳ ಆವಿಷ್ಕಾರವನ್ನು Google ಘೋಷಿಸಿತು. KataOS ಸಿಸ್ಟಮ್ ಘಟಕಗಳನ್ನು ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು seL4 ಮೈಕ್ರೊಕರ್ನಲ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ರನ್ ಮಾಡಲಾಗುತ್ತದೆ, ಇದಕ್ಕಾಗಿ RISC-V ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಗಣಿತದ ಪುರಾವೆಯನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ, ಇದು ಔಪಚಾರಿಕ ಭಾಷೆಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವಿಶೇಷಣಗಳೊಂದಿಗೆ ಕೋಡ್‌ನ ಸಂಪೂರ್ಣ ಅನುಸರಣೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅಪಾಚೆ 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ತೆರೆದಿರುತ್ತದೆ.

ಸಿಸ್ಟಮ್ RISC-V ಮತ್ತು ARM64 ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹಾರ್ಡ್‌ವೇರ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ seL4 ಮತ್ತು KataOS ಪರಿಸರದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಅನುಕರಿಸಲು, ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ ರೆನೋಡ್ ಚೌಕಟ್ಟನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಉಲ್ಲೇಖದ ಅನುಷ್ಠಾನವಾಗಿ, ಸ್ಪ್ಯಾರೋ ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದು OpenTitan ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಆಧಾರಿತ ಸುರಕ್ಷಿತ ಚಿಪ್‌ಗಳೊಂದಿಗೆ KataOS ಅನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಪ್ರಸ್ತಾವಿತ ಪರಿಹಾರವು OpenTitan ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಮತ್ತು RISC-V ಆರ್ಕಿಟೆಕ್ಚರ್ ಬಳಸಿ ನಿರ್ಮಿಸಲಾದ ವಿಶ್ವಾಸಾರ್ಹ ಹಾರ್ಡ್‌ವೇರ್ ಘಟಕಗಳೊಂದಿಗೆ (RoT, ರೂಟ್ ಆಫ್ ಟ್ರಸ್ಟ್) ತಾರ್ಕಿಕವಾಗಿ ಪರಿಶೀಲಿಸಿದ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕರ್ನಲ್ ಅನ್ನು ಸಂಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. KataOS ಕೋಡ್ ಜೊತೆಗೆ, ಭವಿಷ್ಯದಲ್ಲಿ ಹಾರ್ಡ್‌ವೇರ್ ಘಟಕವನ್ನು ಒಳಗೊಂಡಂತೆ ಸ್ಪ್ಯಾರೋನ ಎಲ್ಲಾ ಇತರ ಘಟಕಗಳನ್ನು ತೆರೆಯಲು ಯೋಜಿಸಲಾಗಿದೆ.

ಯಾವುದೇ ವೈಫಲ್ಯಗಳಿಲ್ಲ ಎಂಬ ನಿರ್ದಿಷ್ಟ ಮಟ್ಟದ ರಕ್ಷಣೆ ಮತ್ತು ಭರವಸೆ ಅಗತ್ಯವಿರುವ ಯಂತ್ರ ಕಲಿಕೆ ಮತ್ತು ಗೌಪ್ಯತೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಉದ್ದೇಶ-ನಿರ್ಮಿತ ಚಿಪ್‌ಗಳ ಮೇಲೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ. ಜನರ ಚಿತ್ರಗಳನ್ನು ಮತ್ತು ಧ್ವನಿ ರೆಕಾರ್ಡಿಂಗ್‌ಗಳನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸುವ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಅಂತಹ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಉದಾಹರಣೆಯಾಗಿ ನೀಡಲಾಗಿದೆ. KataOS ನಲ್ಲಿನ ವಿಶ್ವಾಸಾರ್ಹತೆಯ ಪರಿಶೀಲನೆಯ ಬಳಕೆಯು ಸಿಸ್ಟಮ್‌ನ ಒಂದು ಭಾಗದಲ್ಲಿ ವೈಫಲ್ಯದ ಸಂದರ್ಭದಲ್ಲಿ, ಈ ವೈಫಲ್ಯವು ಸಿಸ್ಟಮ್‌ನ ಉಳಿದ ಭಾಗಗಳಿಗೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿ, ಕರ್ನಲ್ ಮತ್ತು ನಿರ್ಣಾಯಕ ಭಾಗಗಳಿಗೆ ಹರಡುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

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

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

ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಮೆಮೊರಿ ಸುರಕ್ಷತೆಯನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ, ಆಬ್ಜೆಕ್ಟ್ ಮಾಲೀಕತ್ವ ಮತ್ತು ಆಬ್ಜೆಕ್ಟ್ ಜೀವಿತಾವಧಿಯನ್ನು (ವ್ಯಾಪ್ತಿ) ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು, ಹಾಗೆಯೇ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ಮೆಮೊರಿ ಪ್ರವೇಶದ ಸರಿಯಾದ ಮೌಲ್ಯಮಾಪನದ ಮೂಲಕ. ರಸ್ಟ್ ಪೂರ್ಣಾಂಕದ ಓವರ್‌ಫ್ಲೋಗಳ ವಿರುದ್ಧ ರಕ್ಷಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಬಳಕೆಗೆ ಮೊದಲು ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಬದಲಾಗದ ಉಲ್ಲೇಖಗಳು ಮತ್ತು ವೇರಿಯಬಲ್‌ಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ ಮತ್ತು ತಾರ್ಕಿಕ ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಬಲವಾದ ಸ್ಥಿರ ಟೈಪಿಂಗ್ ಅನ್ನು ನೀಡುತ್ತದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ