Chromium ನಲ್ಲಿ 70% ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳು ಮೆಮೊರಿ ದೋಷಗಳಿಂದ ಉಂಟಾಗುತ್ತವೆ

Chromium ಯೋಜನೆಯ ಡೆವಲಪರ್‌ಗಳು ವಿಶ್ಲೇಷಿಸಿದ್ದಾರೆ 912 ರಿಂದ ಕ್ರೋಮ್‌ನ ಸ್ಥಿರ ಬಿಡುಗಡೆಗಳಲ್ಲಿ 2015 ಹೆಚ್ಚಿನ-ಅಪಾಯಕಾರಿ ಮತ್ತು ನಿರ್ಣಾಯಕ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ 70% ಮೆಮೊರಿ ಅಭದ್ರತೆಯಿಂದ ಉಂಟಾಗಿದೆ ಎಂದು ತೀರ್ಮಾನಿಸಿದೆ (C/C++ ಕೋಡ್‌ನಲ್ಲಿ ಪಾಯಿಂಟರ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ದೋಷಗಳು). ಈ ಅರ್ಧದಷ್ಟು ಸಮಸ್ಯೆಗಳು (36.1%) ಬಫರ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸಿದ ನಂತರ (ಬಳಕೆಯ ನಂತರ-ಮುಕ್ತ) ಪ್ರವೇಶದಿಂದ ಉಂಟಾಗುತ್ತವೆ.

Chromium ನಲ್ಲಿ 70% ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳು ಮೆಮೊರಿ ದೋಷಗಳಿಂದ ಉಂಟಾಗುತ್ತವೆ

Chromium ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವಾಗ ಅದು ಆರಂಭದಲ್ಲಿತ್ತು ಹಾಕಿತುಕೋಡ್‌ನಲ್ಲಿ ದೋಷಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುವ ಸಾಧ್ಯತೆಯಿದೆ, ಆದ್ದರಿಂದ ದುರ್ಬಲತೆಗಳ ಪರಿಣಾಮಗಳನ್ನು ಮಿತಿಗೊಳಿಸಲು ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆಯ ಬಳಕೆಗೆ ಹೆಚ್ಚಿನ ಒತ್ತು ನೀಡಲಾಗಿದೆ. ಪ್ರಸ್ತುತ, ಈ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುವ ಸಾಧ್ಯತೆಗಳು ತಮ್ಮ ಸಾಮರ್ಥ್ಯಗಳ ಮಿತಿಯನ್ನು ತಲುಪಿವೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳಾಗಿ ಮತ್ತಷ್ಟು ವಿಘಟನೆಯು ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ದೃಷ್ಟಿಕೋನದಿಂದ ಅಪ್ರಾಯೋಗಿಕವಾಗಿದೆ.

ಕೋಡ್‌ಬೇಸ್‌ನ ಸುರಕ್ಷತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು, Google ಸಹ ಜಾರಿಗೊಳಿಸುತ್ತದೆ "ಎರಡು ನಿಯಮ", ಅದರ ಪ್ರಕಾರ ಯಾವುದೇ ಸೇರಿಸಲಾದ ಕೋಡ್ ಮೂರು ಷರತ್ತುಗಳಲ್ಲಿ ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಪೂರೈಸಬಾರದು: ಅಮಾನ್ಯವಾದ ಇನ್‌ಪುಟ್ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು, ಅಸುರಕ್ಷಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಬಳಸುವುದು (C/C++) ಮತ್ತು ಉನ್ನತ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಚಾಲನೆಯಲ್ಲಿದೆ. ಬಾಹ್ಯ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಕೋಡ್ ಅನ್ನು ಕನಿಷ್ಠ ಸವಲತ್ತುಗಳಿಗೆ (ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ) ಅಥವಾ ಸುರಕ್ಷಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಬೇಕು ಎಂದು ಈ ನಿಯಮವು ಸೂಚಿಸುತ್ತದೆ.

ಕೋಡ್ ಬೇಸ್‌ನ ಭದ್ರತೆಯನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಲು, ಕೋಡ್ ಬೇಸ್‌ನಲ್ಲಿ ಮೆಮೊರಿ ದೋಷಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುವುದನ್ನು ತಡೆಯಲು ಯೋಜನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ. ಮೂರು ಮುಖ್ಯ ವಿಧಾನಗಳಿವೆ: ಮೆಮೊರಿಯ ಸುರಕ್ಷಿತ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ ಕಾರ್ಯಗಳೊಂದಿಗೆ ಸಿ ++ ಲೈಬ್ರರಿಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್ ಸಂರಕ್ಷಣಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಸ ಸಂಗ್ರಾಹಕನ ವ್ಯಾಪ್ತಿಯನ್ನು ವಿಸ್ತರಿಸುವುದು MTE (ಮೆಮೊರಿ ಟ್ಯಾಗಿಂಗ್ ವಿಸ್ತರಣೆ) ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ ಸುರಕ್ಷಿತ ಕೆಲಸವನ್ನು ಖಾತ್ರಿಪಡಿಸುವ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯುವ ಘಟಕಗಳು (ಜಾವಾ, ಕೋಟ್ಲಿನ್, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್, ರಸ್ಟ್, ಸ್ವಿಫ್ಟ್).

ಕೆಲಸವನ್ನು ಎರಡು ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಕೇಂದ್ರೀಕರಿಸುವ ನಿರೀಕ್ಷೆಯಿದೆ:

  • C++ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಗೆ ಗಮನಾರ್ಹ ಬದಲಾವಣೆ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಋಣಾತ್ಮಕ ಪ್ರಭಾವವನ್ನು ಹೊರತುಪಡಿಸುವುದಿಲ್ಲ (ಹೆಚ್ಚುವರಿ ಗಡಿ ಪರಿಶೀಲನೆಗಳು ಮತ್ತು ಕಸ ಸಂಗ್ರಹಣೆ). ಕಚ್ಚಾ ಪಾಯಿಂಟರ್‌ಗಳ ಬದಲಿಗೆ, ಪ್ರಕಾರವನ್ನು ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ MiraclePtr, ಕಾರ್ಯಕ್ಷಮತೆ, ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು ಸ್ಥಿರತೆಯ ಮೇಲೆ ಗಮನಾರ್ಹ ಋಣಾತ್ಮಕ ಪರಿಣಾಮವಿಲ್ಲದೆ, ಭದ್ರತಾ ಬೆದರಿಕೆಯನ್ನು ಉಂಟುಮಾಡದ ಕ್ರ್ಯಾಶ್‌ಗಳಿಗೆ ಶೋಷಣೆಯ ಬಳಕೆಯ ನಂತರ-ಮುಕ್ತ ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
  • ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಮೆಮೊರಿ ಸುರಕ್ಷತಾ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಭಾಷೆಗಳ ಬಳಕೆ (ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ಅಂತಹ ಚೆಕ್‌ಗಳಲ್ಲಿ ಅಂತರ್ಗತವಾಗಿರುವ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ನಕಾರಾತ್ಮಕ ಪ್ರಭಾವವನ್ನು ನಿವಾರಿಸುತ್ತದೆ, ಆದರೆ ಕೋಡ್‌ನೊಂದಿಗೆ ಹೊಸ ಭಾಷೆಯಲ್ಲಿ ಕೋಡ್‌ನ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಸಂಘಟಿಸಲು ಹೆಚ್ಚುವರಿ ವೆಚ್ಚಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಸಿ++).

ಮೆಮೊರಿ-ಸುರಕ್ಷಿತ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸುವುದು ಸರಳವಾದ, ಆದರೆ ಕಡಿಮೆ ಪರಿಣಾಮಕಾರಿ ಮಾರ್ಗವಾಗಿದೆ. ರಸ್ಟ್‌ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಪುನಃ ಬರೆಯುವುದು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ, ಆದರೆ ತುಂಬಾ ದುಬಾರಿ ಮಾರ್ಗವೆಂದು ರೇಟ್ ಮಾಡಲಾಗಿದೆ.

Chromium ನಲ್ಲಿ 70% ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳು ಮೆಮೊರಿ ದೋಷಗಳಿಂದ ಉಂಟಾಗುತ್ತವೆ

ಮೂಲ: opennet.ru

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