PyPI ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ 46% ಪೈಥಾನ್ ಪ್ಯಾಕೇಜ್‌ಗಳು ಸಂಭಾವ್ಯ ಅಸುರಕ್ಷಿತ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ

ಟರ್ಕು ವಿಶ್ವವಿದ್ಯಾನಿಲಯದ (ಫಿನ್‌ಲ್ಯಾಂಡ್) ಸಂಶೋಧಕರ ಗುಂಪು PyPI ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ ಪ್ಯಾಕೇಜುಗಳ ವಿಶ್ಲೇಷಣೆಯ ಫಲಿತಾಂಶಗಳನ್ನು ದುರ್ಬಲತೆಗಳಿಗೆ ಕಾರಣವಾಗುವ ಅಪಾಯಕಾರಿ ರಚನೆಗಳ ಬಳಕೆಗಾಗಿ ಪ್ರಕಟಿಸಿದೆ. 197 ಸಾವಿರ ಪ್ಯಾಕೇಜ್‌ಗಳ ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, 749 ಸಾವಿರ ಸಂಭಾವ್ಯ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ. 46% ಪ್ಯಾಕೇಜುಗಳು ಕನಿಷ್ಠ ಅಂತಹ ಒಂದು ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿವೆ. ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳ ಪೈಕಿ ವಿನಾಯಿತಿ ನಿರ್ವಹಣೆಗೆ ಸಂಬಂಧಿಸಿದ ನ್ಯೂನತೆಗಳು ಮತ್ತು ಕೋಡ್ ಪರ್ಯಾಯವನ್ನು ಅನುಮತಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಳಕೆಯಾಗಿದೆ.

ಗುರುತಿಸಲಾದ 749 ಸಾವಿರ ಸಮಸ್ಯೆಗಳಲ್ಲಿ 442 ಸಾವಿರ (41%) ಸಣ್ಣ ಸಮಸ್ಯೆಗಳು, 227 ಸಾವಿರ (30%) ಮಧ್ಯಮ ಸಮಸ್ಯೆಗಳು ಮತ್ತು 80 ಸಾವಿರ (11%) ಅಪಾಯಕಾರಿ ಎಂದು ಲೇಬಲ್ ಮಾಡಲಾಗಿದೆ. ಕೆಲವು ಪ್ಯಾಕೇಜುಗಳು ಜನಸಂದಣಿಯಿಂದ ಹೊರಗುಳಿಯುತ್ತವೆ ಮತ್ತು ಸಾವಿರಾರು ಸಮಸ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿವೆ: ಉದಾಹರಣೆಗೆ, PyGGI ಪ್ಯಾಕೇಜ್ 2589 ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಿದೆ, ಮುಖ್ಯವಾಗಿ "ಪ್ರಯತ್ನ-ಹೊರತುಪಡಿಸಿ-ಪಾಸ್" ರಚನೆಯ ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದೆ ಮತ್ತು appengine-sdk ಪ್ಯಾಕೇಜ್ 2356 ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಹಿಡಿದಿದೆ. genie.libs.ops, pbcore ಮತ್ತು genie.libs.parser ಪ್ಯಾಕೇಜುಗಳಲ್ಲಿಯೂ ಸಹ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸಮಸ್ಯೆಗಳಿವೆ.

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

ಉದಾಹರಣೆಗೆ, ವಿಶ್ಲೇಷಕವು ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಜನರೇಟರ್‌ಗಳ ಬಳಕೆಯನ್ನು ಮತ್ತು MD5 ನಂತಹ ಹ್ಯಾಶಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಭದ್ರತಾ ಸಮಸ್ಯೆ ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ, ಆದರೆ ಕೋಡ್‌ನಲ್ಲಿ ಅಂತಹ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಸುರಕ್ಷತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬಳಸಬಹುದು. ವಿಶ್ಲೇಷಕವು ಉಪ್ಪಿನಕಾಯಿ, yaml.load, ಉಪಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಸಮಸ್ಯೆಯಂತಹ ಅಸುರಕ್ಷಿತ ಕಾರ್ಯಗಳಲ್ಲಿ ಬಾಹ್ಯ ಡೇಟಾದ ಯಾವುದೇ ಸಂಸ್ಕರಣೆಯನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ, ಆದರೆ ಈ ಬಳಕೆಯು ಒಂದು ದುರ್ಬಲತೆಯನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಈ ಕಾರ್ಯಗಳ ಬಳಕೆಯನ್ನು ಭದ್ರತಾ ಬೆದರಿಕೆಯಿಲ್ಲದೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. .

ಅಧ್ಯಯನದಲ್ಲಿ ಬಳಸಿದ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ:

  • ಸಂಭಾವ್ಯ ಅಸುರಕ್ಷಿತ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವುದು exec, mktemp, eval, mark_safe, ಇತ್ಯಾದಿ.
  • ಫೈಲ್‌ಗಳಿಗೆ ಪ್ರವೇಶ ಹಕ್ಕುಗಳ ಅಸುರಕ್ಷಿತ ಸೆಟ್ಟಿಂಗ್.
  • ಎಲ್ಲಾ ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ಗಳಿಗೆ ನೆಟ್ವರ್ಕ್ ಸಾಕೆಟ್ ಅನ್ನು ಲಗತ್ತಿಸುವುದು.
  • ಕೋಡ್‌ನಲ್ಲಿ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಮತ್ತು ಕೀಗಳ ಬಳಕೆ.
  • ಪೂರ್ವನಿರ್ಧರಿತ ತಾತ್ಕಾಲಿಕ ಡೈರೆಕ್ಟರಿಯನ್ನು ಬಳಸುವುದು.
  • ಪಾಸ್ ಅನ್ನು ಬಳಸುವುದು ಮತ್ತು ಕ್ಯಾಚ್-ಆಲ್-ಸ್ಟೈಲ್ ಎಕ್ಸೆಪ್ಶನ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಲ್ಲಿ ಮುಂದುವರಿಯುವುದು;
  • ಡೀಬಗ್ ಮಾಡುವ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದರೊಂದಿಗೆ ಫ್ಲಾಸ್ಕ್ ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಆಧರಿಸಿ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ.
  • ಅಸುರಕ್ಷಿತ ಡೇಟಾ ಡೀರಿಯಲೈಸೇಶನ್ ವಿಧಾನಗಳನ್ನು ಬಳಸುವುದು.
  • MD2, MD4, MD5 ಮತ್ತು SHA1 ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ.
  • ಅಸುರಕ್ಷಿತ DES ಸೈಫರ್‌ಗಳು ಮತ್ತು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಮೋಡ್‌ಗಳ ಬಳಕೆ.
  • ಪೈಥಾನ್‌ನ ಕೆಲವು ಆವೃತ್ತಿಗಳಲ್ಲಿ ಅಸುರಕ್ಷಿತ HTTPSC ಸಂಪರ್ಕ ಅನುಷ್ಠಾನದ ಬಳಕೆ.
  • urlopen ನಲ್ಲಿ ಫೈಲ್:// ಸ್ಕೀಮ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗುತ್ತಿದೆ.
  • ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಸೂಡೊರಾಂಡಮ್ ಸಂಖ್ಯೆ ಜನರೇಟರ್‌ಗಳನ್ನು ಬಳಸುವುದು.
  • ಟೆಲ್ನೆಟ್ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸುವುದು.
  • ಅಸುರಕ್ಷಿತ XML ಪಾರ್ಸರ್‌ಗಳನ್ನು ಬಳಸುವುದು.

ಹೆಚ್ಚುವರಿಯಾಗಿ, PyPI ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ 8 ದುರುದ್ದೇಶಪೂರಿತ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗಿದೆ ಎಂದು ಗಮನಿಸಬಹುದು. ತೆಗೆದುಹಾಕುವ ಮೊದಲು, ಸಮಸ್ಯಾತ್ಮಕ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು 30 ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ಬಾರಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ. ದುರುದ್ದೇಶಪೂರಿತ ಚಟುವಟಿಕೆಯನ್ನು ಮರೆಮಾಡಲು ಮತ್ತು ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿನ ಸರಳ ಸ್ಥಿರ ವಿಶ್ಲೇಷಕಗಳಿಂದ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು, ಕೋಡ್ ಬ್ಲಾಕ್‌ಗಳನ್ನು Base64 ಬಳಸಿ ಎನ್‌ಕೋಡ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು eval ಕರೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಡಿಕೋಡಿಂಗ್ ಮಾಡಿದ ನಂತರ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

noblesse, genesisbot, are, wonder, noblesse2 ಮತ್ತು noblessev2 ಪ್ಯಾಕೇಜ್‌ಗಳು ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಸಂಖ್ಯೆಗಳು ಮತ್ತು Chrome ಮತ್ತು Edge ಬ್ರೌಸರ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಲು ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಜೊತೆಗೆ ಡಿಸ್ಕಾರ್ಡ್ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಖಾತೆ ಟೋಕನ್‌ಗಳನ್ನು ವರ್ಗಾಯಿಸುತ್ತವೆ ಮತ್ತು ಸ್ಕ್ರೀನ್ ವಿಷಯಗಳ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಸಿಸ್ಟಮ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತವೆ. pytagora ಮತ್ತು pytagora2 ಪ್ಯಾಕೇಜುಗಳು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುವ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒಳಗೊಂಡಿವೆ.

ಮೂಲ: opennet.ru

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