ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ನಾವು ಮತ್ತೊಮ್ಮೆ ಕಡಿಮೆ ಮಟ್ಟಕ್ಕೆ ಇಳಿಯಲು ಮತ್ತು ಫರ್ಮ್ವೇರ್ x86-ಹೊಂದಾಣಿಕೆಯ ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳ ಸುರಕ್ಷತೆಯ ಬಗ್ಗೆ ಮಾತನಾಡಲು ಪ್ರಸ್ತಾಪಿಸುತ್ತೇವೆ. ಈ ಸಮಯದಲ್ಲಿ, ಅಧ್ಯಯನದ ಮುಖ್ಯ ಅಂಶವೆಂದರೆ ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ (ಇಂಟೆಲ್ BIOS ಗಾರ್ಡ್‌ನೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು!) - ಹಾರ್ಡ್‌ವೇರ್-ಬೆಂಬಲಿತ BIOS ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್ ತಂತ್ರಜ್ಞಾನವಾಗಿದ್ದು, ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ ಮಾರಾಟಗಾರರು ಉತ್ಪಾದನಾ ಹಂತದಲ್ಲಿ ಶಾಶ್ವತವಾಗಿ ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಬಹುದು. ಅಲ್ಲದೆ, ನಾವು ಈಗಾಗಲೇ ಸಂಶೋಧನಾ ಪಾಕವಿಧಾನವನ್ನು ತಿಳಿದಿದ್ದೇವೆ: ರಿವರ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಮೂಲಕ ಈ ತಂತ್ರಜ್ಞಾನದ ಅನುಷ್ಠಾನವನ್ನು ತೆಳುವಾಗಿ ಕತ್ತರಿಸಿ, ಅದರ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ವಿವರಿಸಿ, ದಾಖಲೆಗಳಿಲ್ಲದ ವಿವರಗಳೊಂದಿಗೆ ಅದನ್ನು ತುಂಬಿಸಿ, ದಾಳಿಯ ವಾಹಕಗಳೊಂದಿಗೆ ಅದನ್ನು ರುಚಿ ಮತ್ತು ಮಿಶ್ರಣ ಮಾಡಿ. ವರ್ಷಗಳವರೆಗೆ ಹಲವಾರು ಮಾರಾಟಗಾರರ ಉತ್ಪಾದನೆಯಲ್ಲಿ ಕ್ಲೋನ್ ಮಾಡಿದ ದೋಷವು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ (ಪ್ರೋಗ್ರಾಮರ್‌ನಿಂದ ಸಹ) ತೆಗೆದುಹಾಕಲಾಗದ ಗುಪ್ತ ರೂಟ್‌ಕಿಟ್ ಅನ್ನು ರಚಿಸಲು ಈ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಲು ಸಂಭಾವ್ಯ ಆಕ್ರಮಣಕಾರರಿಗೆ ಹೇಗೆ ಅನುಮತಿಸುತ್ತದೆ ಎಂಬುದರ ಕುರಿತು ಕಥೆಯೊಂದಿಗೆ ಬೆಂಕಿಯನ್ನು ಸೇರಿಸೋಣ.

ಮೂಲಕ, ಲೇಖನವು ಸಮ್ಮೇಳನದಿಂದ “ಆನ್ ಗಾರ್ಡ್ ಫಾರ್ ರೂಟ್‌ಕಿಟ್‌ಗಳು: ಇಂಟೆಲ್ ಬೂಟ್‌ಗಾರ್ಡ್” ವರದಿಗಳನ್ನು ಆಧರಿಸಿದೆ. ಶೂನ್ಯ ರಾತ್ರಿಗಳು 2016 ಮತ್ತು 29 ನೇ ಸಭೆ ಡೆಫ್ಕಾನ್ ರಷ್ಯಾ (ಎರಡೂ ಪ್ರಸ್ತುತಿಗಳು ಇಲ್ಲಿ).

ಇಂಟೆಲ್ 64 ಆರ್ಕಿಟೆಕ್ಚರ್ ಹೊಂದಿರುವ ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ ಫರ್ಮ್‌ವೇರ್

ಮೊದಲಿಗೆ, ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸೋಣ: ಇಂಟೆಲ್ 64 ಆರ್ಕಿಟೆಕ್ಚರ್ನೊಂದಿಗೆ ಆಧುನಿಕ ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ಫರ್ಮ್ವೇರ್ ಯಾವುದು? ಸಹಜವಾಗಿ, UEFI BIOS. ಆದರೆ ಈ ಉತ್ತರವು ನಿಖರವಾಗಿರುವುದಿಲ್ಲ. ಈ ಆರ್ಕಿಟೆಕ್ಚರ್‌ನ ಡೆಸ್ಕ್‌ಟಾಪ್ (ಲ್ಯಾಪ್‌ಟಾಪ್) ಆವೃತ್ತಿಯನ್ನು ತೋರಿಸುವ ಫಿಗರ್ ಅನ್ನು ನೋಡೋಣ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಆಧಾರವು ಲಿಂಕ್ ಆಗಿದೆ:

  • ಪ್ರೊಸೆಸರ್ (ಸಿಪಿಯು, ಸೆಂಟ್ರಲ್ ಪ್ರೊಸೆಸಿಂಗ್ ಯುನಿಟ್), ಇದು ಮುಖ್ಯ ಕೋರ್ಗಳ ಜೊತೆಗೆ, ಅಂತರ್ನಿರ್ಮಿತ ಗ್ರಾಫಿಕ್ಸ್ ಕೋರ್ (ಎಲ್ಲಾ ಮಾದರಿಗಳಲ್ಲಿ ಅಲ್ಲ) ಮತ್ತು ಮೆಮೊರಿ ನಿಯಂತ್ರಕ (IMC, ಇಂಟಿಗ್ರೇಟೆಡ್ ಮೆಮೊರಿ ನಿಯಂತ್ರಕ);
  • ಚಿಪ್‌ಸೆಟ್ (PCH, ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಕಂಟ್ರೋಲರ್ ಹಬ್), ಬಾಹ್ಯ ಸಾಧನಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ಉಪವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ವಿವಿಧ ನಿಯಂತ್ರಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಅವುಗಳಲ್ಲಿ ಕುಖ್ಯಾತ ಇಂಟೆಲ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಎಂಜಿನ್ (ME), ಇದು ಫರ್ಮ್‌ವೇರ್ (ಇಂಟೆಲ್ ME ಫರ್ಮ್‌ವೇರ್) ಅನ್ನು ಸಹ ಹೊಂದಿದೆ.

ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗಳಿಗೆ ಮೇಲಿನವುಗಳ ಜೊತೆಗೆ, ಇಂಟಿಗ್ರೇಟೆಡ್ ಕಂಟ್ರೋಲರ್ (ACPI EC, ಅಡ್ವಾನ್ಸ್ಡ್ ಕಂಟ್ರೋಲ್ ಮತ್ತು ಪವರ್ ಇಂಟರ್ಫೇಸ್ ಎಂಬೆಡೆಡ್ ಕಂಟ್ರೋಲರ್) ಅಗತ್ಯವಿರುತ್ತದೆ, ಇದು ಪವರ್ ಸಬ್‌ಸಿಸ್ಟಮ್, ಟಚ್‌ಪ್ಯಾಡ್, ಕೀಬೋರ್ಡ್, ಎಫ್‌ಎನ್ ಕೀಗಳ (ಸ್ಕ್ರೀನ್ ಬ್ರೈಟ್‌ನೆಸ್, ಸೌಂಡ್ ವಾಲ್ಯೂಮ್, ಕೀಬೋರ್ಡ್) ಕಾರ್ಯಾಚರಣೆಗೆ ಕಾರಣವಾಗಿದೆ. ಹಿಂಬದಿ ಬೆಳಕು, ಇತ್ಯಾದಿ. ) ಮತ್ತು ಇನ್ನಷ್ಟು. ಮತ್ತು ಅವನು ತನ್ನದೇ ಆದ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ಸಹ ಹೊಂದಿದ್ದಾನೆ.

ಆದ್ದರಿಂದ, ಮೇಲಿನ ಫರ್ಮ್‌ವೇರ್‌ನ ಸಂಯೋಜನೆಯು ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ (ಸಿಸ್ಟಮ್ ಫರ್ಮ್‌ವೇರ್) ಫರ್ಮ್‌ವೇರ್ ಆಗಿದೆ, ಇದನ್ನು ಸಾಮಾನ್ಯ SPI ಫ್ಲ್ಯಾಷ್ ಮೆಮೊರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಈ ಮೆಮೊರಿಯ ಬಳಕೆದಾರರು ಯಾರೋ ಒಬ್ಬರು ಎಲ್ಲಿ ಮಲಗಿದ್ದಾರೆಂದು ಗೊಂದಲಕ್ಕೀಡಾಗುವುದಿಲ್ಲ, ಈ ಮೆಮೊರಿಯ ವಿಷಯಗಳನ್ನು ಈ ಕೆಳಗಿನ ಪ್ರದೇಶಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ (ಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ):

  • UEFI BIOS;
  • ACPI EC ಫರ್ಮ್‌ವೇರ್ (ಸ್ಕೈಲೇಕ್ ಪ್ರೊಸೆಸರ್ ಮೈಕ್ರೊ ಆರ್ಕಿಟೆಕ್ಚರ್ (2015) ನೊಂದಿಗೆ ಪ್ರತ್ಯೇಕ ಪ್ರದೇಶವು ಕಾಣಿಸಿಕೊಂಡಿದೆ, ಆದರೆ ಅದರ ಬಳಕೆಯ ಉದಾಹರಣೆಗಳನ್ನು ನಾವು ಇನ್ನೂ ನೋಡಿಲ್ಲ, ಆದ್ದರಿಂದ ಎಂಬೆಡೆಡ್ ಕಂಟ್ರೋಲರ್ ಫರ್ಮ್‌ವೇರ್ ಇನ್ನೂ UEFI BIOS ನ ಭಾಗವಾಗಿದೆ);
  • ಇಂಟೆಲ್ ME ಫರ್ಮ್‌ವೇರ್;
  • ಅಂತರ್ನಿರ್ಮಿತ GbE (ಗಿಗಾಬಿಟ್ ಈಥರ್ನೆಟ್) ನೆಟ್‌ವರ್ಕ್ ಅಡಾಪ್ಟರ್‌ನ ಕಾನ್ಫಿಗರೇಶನ್ (MAC ವಿಳಾಸ, ಇತ್ಯಾದಿ);
  • ಫ್ಲ್ಯಾಶ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳು - ಫ್ಲ್ಯಾಶ್ ಮೆಮೊರಿಯ ಮುಖ್ಯ ಪ್ರದೇಶ, ಇದು ಇತರ ಪ್ರದೇಶಗಳಿಗೆ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ಮತ್ತು ಅವುಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಪ್ರದೇಶಗಳಿಗೆ ಪ್ರವೇಶದ ವ್ಯತ್ಯಾಸವನ್ನು (ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅನುಮತಿಗಳಿಗೆ ಅನುಗುಣವಾಗಿ) SPI ಬಸ್ ಮಾಸ್ಟರ್ ನಿರ್ವಹಿಸುತ್ತದೆ - SPI ನಿಯಂತ್ರಕವನ್ನು ಚಿಪ್‌ಸೆಟ್‌ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಅದರ ಮೂಲಕ ಈ ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ. ಇಂಟೆಲ್‌ನಿಂದ ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೌಲ್ಯಗಳಿಗೆ (ಸುರಕ್ಷತಾ ಕಾರಣಗಳಿಗಾಗಿ) ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸಿದರೆ, ಪ್ರತಿ SPI ಫ್ಲ್ಯಾಷ್ ಬಳಕೆದಾರರು ತಮ್ಮ ಪ್ರದೇಶಕ್ಕೆ ಮಾತ್ರ ಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು (ಓದಲು / ಬರೆಯಲು) ಹೊಂದಿರುತ್ತಾರೆ. ಉಳಿದವು ಓದಲು-ಮಾತ್ರ ಅಥವಾ ಪ್ರವೇಶಿಸಲಾಗುವುದಿಲ್ಲ. ತಿಳಿದಿರುವ ಸತ್ಯ: ಅನೇಕ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ, CPU ಯುಇಎಫ್‌ಐ BIOS ಮತ್ತು GbE ಗೆ ಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ, ಫ್ಲ್ಯಾಶ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳಿಗೆ ಮಾತ್ರ ಓದಲು ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು Intel ME ಪ್ರದೇಶಕ್ಕೆ ಯಾವುದೇ ಪ್ರವೇಶವಿಲ್ಲ. ಏಕೆ ಅನೇಕ ಮತ್ತು ಎಲ್ಲರೂ ಅಲ್ಲ? ಶಿಫಾರಸು ಮಾಡಿರುವುದು ಐಚ್ಛಿಕ. ಲೇಖನದಲ್ಲಿ ನಾವು ನಿಮಗೆ ಹೆಚ್ಚಿನದನ್ನು ನಂತರ ಹೇಳುತ್ತೇವೆ.

ಮಾರ್ಪಾಡಿನಿಂದ ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ರಕ್ಷಿಸುವ ಕಾರ್ಯವಿಧಾನಗಳು

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

ಆದ್ದರಿಂದ, ಇಂಟೆಲ್ ME ಫರ್ಮ್‌ವೇರ್ ಸಮಗ್ರತೆ ಮತ್ತು ದೃಢೀಕರಣ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಸಹಿ ಮಾಡಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ME UMA ಮೆಮೊರಿಗೆ ಲೋಡ್ ಆಗುವ ಪ್ರತಿ ಬಾರಿ ME ನಿಯಂತ್ರಕದಿಂದ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಈ ಪರಿಶೀಲನೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಈಗಾಗಲೇ ನಾವು ಒಂದರಲ್ಲಿ ಚರ್ಚಿಸಿದ್ದೇವೆ ಲೇಖನಗಳುIntel ME ಉಪವ್ಯವಸ್ಥೆಗೆ ಸಮರ್ಪಿಸಲಾಗಿದೆ.

ಮತ್ತು ACPI EC ಫರ್ಮ್ವೇರ್, ನಿಯಮದಂತೆ, ಸಮಗ್ರತೆಗಾಗಿ ಮಾತ್ರ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಬೈನರಿಯು UEFI BIOS ನಲ್ಲಿ ಸೇರಿಸಲ್ಪಟ್ಟಿದೆ ಎಂಬ ಅಂಶದಿಂದಾಗಿ, ಇದು ಯಾವಾಗಲೂ UEFI BIOS ಬಳಸುವ ಅದೇ ಸಂರಕ್ಷಣಾ ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ಒಳಪಟ್ಟಿರುತ್ತದೆ. ಅವರ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ.

ಈ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಎರಡು ವರ್ಗಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು.

UEFI BIOS ಪ್ರದೇಶಕ್ಕೆ ರಕ್ಷಣೆಯನ್ನು ಬರೆಯಿರಿ

  1. ಬರಹ-ರಕ್ಷಿಸುವ ಜಿಗಿತಗಾರನೊಂದಿಗೆ SPI ಫ್ಲಾಶ್ ಮೆಮೊರಿಯ ವಿಷಯಗಳ ಭೌತಿಕ ರಕ್ಷಣೆ;
  2. ಚಿಪ್‌ಸೆಟ್‌ನ PRx ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು CPU ವಿಳಾಸ ಜಾಗದಲ್ಲಿ UEFI BIOS ಪ್ರದೇಶದ ಪ್ರೊಜೆಕ್ಷನ್‌ನ ರಕ್ಷಣೆ;
  3. ಚಿಪ್‌ಸೆಟ್ ರೆಜಿಸ್ಟರ್‌ಗಳಲ್ಲಿ BIOS_WE / BLE ಮತ್ತು SMM_BWP ಬಿಟ್‌ಗಳನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಅನುಗುಣವಾದ SMI ಅಡಚಣೆಯನ್ನು ಉತ್ಪಾದಿಸುವ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಮೂಲಕ UEFI BIOS ಪ್ರದೇಶಕ್ಕೆ ಬರೆಯುವ ಪ್ರಯತ್ನಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದು;
  4. ಈ ರಕ್ಷಣೆಯ ಹೆಚ್ಚು ಸುಧಾರಿತ ಆವೃತ್ತಿ ಇಂಟೆಲ್ BIOS ಗಾರ್ಡ್ (PFAT).

ಈ ಕಾರ್ಯವಿಧಾನಗಳ ಜೊತೆಗೆ, ಮಾರಾಟಗಾರರು ತಮ್ಮದೇ ಆದ ಭದ್ರತಾ ಕ್ರಮಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, UEFI BIOS ನವೀಕರಣಗಳೊಂದಿಗೆ ಕ್ಯಾಪ್ಸುಲ್‌ಗಳಿಗೆ ಸಹಿ ಮಾಡುವುದು).

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

UEFI BIOS ದೃಢೀಕರಣ ಪರಿಶೀಲನೆ

ನಾವು ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್ ತಂತ್ರಜ್ಞಾನಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುವಾಗ, ಮನಸ್ಸಿಗೆ ಬರುವ ಮೊದಲ ವಿಷಯವೆಂದರೆ ಸುರಕ್ಷಿತ ಬೂಟ್. ಆದಾಗ್ಯೂ, ವಾಸ್ತುಶಿಲ್ಪೀಯವಾಗಿ, UEFI BIOS (ಚಾಲಕಗಳು, ಲೋಡರ್‌ಗಳು, ಇತ್ಯಾದಿ) ಹೊರಗಿನ ಘಟಕಗಳನ್ನು ದೃಢೀಕರಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಫರ್ಮ್‌ವೇರ್ ಅಲ್ಲ.

ಆದ್ದರಿಂದ, ಬೇ ಟ್ರಯಲ್ ಮೈಕ್ರೊ ಆರ್ಕಿಟೆಕ್ಚರ್ (2012) ನೊಂದಿಗೆ SoC ಗಳಲ್ಲಿ ಇಂಟೆಲ್ ಹಾರ್ಡ್‌ವೇರ್ ಸ್ವಿಚ್ ಮಾಡಲಾಗದ ಸುರಕ್ಷಿತ ಬೂಟ್ (ಪರಿಶೀಲಿಸಿದ ಬೂಟ್) ಅನ್ನು ಜಾರಿಗೆ ತಂದಿತು, ಇದು ಮೇಲೆ ತಿಳಿಸಲಾದ ಸುರಕ್ಷಿತ ಬೂಟ್ ತಂತ್ರಜ್ಞಾನದೊಂದಿಗೆ ಯಾವುದೇ ಸಂಬಂಧವನ್ನು ಹೊಂದಿಲ್ಲ. ನಂತರ (2013), ಈ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸುಧಾರಿಸಲಾಯಿತು ಮತ್ತು ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ ಹೆಸರಿನಲ್ಲಿ ಹ್ಯಾಸ್ವೆಲ್ ಮೈಕ್ರೋಆರ್ಕಿಟೆಕ್ಚರ್ನೊಂದಿಗೆ ಡೆಸ್ಕ್ಟಾಪ್ಗಳಿಗಾಗಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು.

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ ಅನ್ನು ವಿವರಿಸುವ ಮೊದಲು, ಇಂಟೆಲ್ 64 ಆರ್ಕಿಟೆಕ್ಚರ್‌ನಲ್ಲಿನ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಪರಿಸರವನ್ನು ನೋಡೋಣ, ಇವುಗಳ ಸಂಯೋಜನೆಯಲ್ಲಿ, ಈ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್ ತಂತ್ರಜ್ಞಾನದ ನಂಬಿಕೆಯ ಬೇರುಗಳಾಗಿವೆ.

ಇಂಟೆಲ್ ಸಿಪಿಯು

ಇಂಟೆಲ್ 64 ಆರ್ಕಿಟೆಕ್ಚರ್‌ನಲ್ಲಿ ಪ್ರೊಸೆಸರ್ ಮುಖ್ಯ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಪರಿಸರವಾಗಿದೆ ಎಂದು ಕ್ಯಾಪ್ ಸೂಚಿಸುತ್ತದೆ. ಇದು ಏಕೆ ನಂಬಿಕೆಯ ಮೂಲವಾಗಿದೆ? ಕೆಳಗಿನ ಅಂಶಗಳ ಸ್ವಾಧೀನವು ಅದನ್ನು ಹಾಗೆ ಮಾಡುತ್ತದೆ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ:

  • ಮೈಕ್ರೊಕೋಡ್ ROM ಎನ್ನುವುದು ಮೈಕ್ರೋಕೋಡ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಾಷ್ಪಶೀಲವಲ್ಲದ, ಪುನಃ ಬರೆಯಲಾಗದ ಮೆಮೊರಿಯಾಗಿದೆ. ಮೈಕ್ರೋಕೋಡ್ ಸರಳವಾದ ಸೂಚನೆಗಳ ಮೇಲೆ ಪ್ರೊಸೆಸರ್ ಸೂಚನಾ ವ್ಯವಸ್ಥೆಯ ಅನುಷ್ಠಾನವಾಗಿದೆ ಎಂದು ನಂಬಲಾಗಿದೆ. ಮೈಕ್ರೋಕೋಡ್‌ನಲ್ಲಿಯೂ ಸಂಭವಿಸುತ್ತದೆ ದೋಷಗಳು. ಆದ್ದರಿಂದ BIOS ನಲ್ಲಿ ನೀವು ಮೈಕ್ರೊಕೋಡ್ ನವೀಕರಣಗಳೊಂದಿಗೆ ಬೈನರಿಗಳನ್ನು ಕಾಣಬಹುದು (ಅವು ಬೂಟ್ ಸಮಯದಲ್ಲಿ ಅತಿಕ್ರಮಿಸಲ್ಪಡುತ್ತವೆ, ಏಕೆಂದರೆ ROM ಅನ್ನು ತಿದ್ದಿ ಬರೆಯಲಾಗುವುದಿಲ್ಲ). ಈ ಬೈನರಿಗಳ ವಿಷಯವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಇದು ವಿಶ್ಲೇಷಣೆಯನ್ನು ಹೆಚ್ಚು ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತದೆ (ಆದ್ದರಿಂದ, ಮೈಕ್ರೋಕೋಡ್‌ನ ನಿರ್ದಿಷ್ಟ ವಿಷಯವು ಅದನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರಿಗೆ ಮಾತ್ರ ತಿಳಿದಿದೆ), ಮತ್ತು ಸಮಗ್ರತೆ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ನಿಯಂತ್ರಿಸಲು ಸಹಿ ಮಾಡಲಾಗಿದೆ;
  • ಮೈಕ್ರೋಕೋಡ್ ನವೀಕರಣಗಳ ವಿಷಯಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು AES ಕೀ;
  • ಮೈಕ್ರೋಕೋಡ್ ನವೀಕರಣಗಳ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವ RSA ಸಾರ್ವಜನಿಕ ಕೀಲಿಯ ಹ್ಯಾಶ್;
  • RSA ಸಾರ್ವಜನಿಕ ಕೀ ಹ್ಯಾಶ್, ಇದು ಇಂಟೆಲ್-ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ACM (ದೃಢೀಕೃತ ಕೋಡ್ ಮಾಡ್ಯೂಲ್) ಕೋಡ್ ಮಾಡ್ಯೂಲ್‌ಗಳ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ, ಇದು BIOS ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು (ಹಲೋ ಮೈಕ್ರೋಕೋಡ್) ಅಥವಾ ಅದರ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ, ಕೆಲವು ಘಟನೆಗಳು ಸಂಭವಿಸಿದಾಗ CPU ರನ್ ಮಾಡಬಹುದು.

ಇಂಟೆಲ್ ME

ನಮ್ಮ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಈ ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ಮೀಸಲಿಡಲಾಗಿದೆ две ಲೇಖನಗಳು. ಈ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಪರಿಸರವು ಚಿಪ್‌ಸೆಟ್‌ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ ಅನ್ನು ಆಧರಿಸಿದೆ ಮತ್ತು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಹೆಚ್ಚು ಮರೆಮಾಡಲಾಗಿದೆ ಮತ್ತು ಸವಲತ್ತು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ.

ರಹಸ್ಯದ ಹೊರತಾಗಿಯೂ, Intel ME ನಂಬಿಕೆಯ ಮೂಲವಾಗಿದೆ, ಏಕೆಂದರೆ ಅದು ಹೊಂದಿದೆ:

  • ME ROM - ಬಾಷ್ಪಶೀಲವಲ್ಲದ, ಪುನಃ ಬರೆಯಲಾಗದ ಮೆಮೊರಿ (ಯಾವುದೇ ನವೀಕರಣ ವಿಧಾನವನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ), ಪ್ರಾರಂಭ ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಜೊತೆಗೆ ಇಂಟೆಲ್ ME ಫರ್ಮ್‌ವೇರ್‌ನ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವ RSA ಸಾರ್ವಜನಿಕ ಕೀಲಿಯ SHA256 ಹ್ಯಾಶ್;
  • ರಹಸ್ಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು AES ಕೀ;
  • ಕಂಪ್ಯೂಟರ್ ಸಿಸ್ಟಮ್ ಮಾರಾಟಗಾರರಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾಹಿತಿ ಸೇರಿದಂತೆ ಕೆಲವು ಮಾಹಿತಿಯ ಶಾಶ್ವತ ಸಂಗ್ರಹಣೆಗಾಗಿ ಚಿಪ್‌ಸೆಟ್‌ಗೆ ಸಂಯೋಜಿಸಲಾದ ಫ್ಯೂಸ್‌ಗಳ (ಎಫ್‌ಪಿಎಫ್‌ಗಳು, ಫೀಲ್ಡ್ ಪ್ರೊಗ್ರಾಮೆಬಲ್ ಫ್ಯೂಸ್‌ಗಳು) ಪ್ರವೇಶ.

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ 1.x

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

ಆದ್ದರಿಂದ, ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ (BG) ಒಂದು ಹಾರ್ಡ್‌ವೇರ್-ಬೆಂಬಲಿತ UEFI BIOS ದೃಢೀಕರಣ ತಂತ್ರಜ್ಞಾನವಾಗಿದೆ. [ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಎಂಬೆಡೆಡ್ ಸೆಕ್ಯುರಿಟಿ ಟೆಕ್ನಾಲಜಿ ರಿವೀಲ್ಡ್, ಅಧ್ಯಾಯ ಬೂಟ್ ವಿತ್ ಇಂಟೆಗ್ರಿಟಿ ಅಥವಾ ಬೂಟ್ ಅಲ್ಲ] ಪುಸ್ತಕದಲ್ಲಿನ ಅದರ ಸಣ್ಣ ವಿವರಣೆಯಿಂದ ನಿರ್ಣಯಿಸುವುದು, ಇದು ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್ ಚೈನ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮತ್ತು ಅದರಲ್ಲಿ ಮೊದಲ ಲಿಂಕ್ CPU ಒಳಗೆ ಬೂಟ್ ಕೋಡ್ (ಮೈಕ್ರೋಕೋಡ್) ಆಗಿದೆ, ಇದು ರೀಸೆಟ್ ಈವೆಂಟ್‌ನಿಂದ ಪ್ರಚೋದಿಸಲ್ಪಡುತ್ತದೆ (BIOS ನಲ್ಲಿನ ರೀಸೆಟ್ ವೆಕ್ಟರ್‌ನೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು!). ಸಿಪಿಯು ಕೋಡ್ ಮಾಡ್ಯೂಲ್ (ಇಂಟೆಲ್ ಬಿಜಿ ಸ್ಟಾರ್ಟ್ಅಪ್ ಎಸಿಎಂ) ಅನ್ನು ಎಸ್‌ಪಿಐ ಫ್ಲ್ಯಾಷ್ ಮೆಮೊರಿಯಲ್ಲಿ ಇಂಟೆಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ ಮತ್ತು ಸಹಿ ಮಾಡುತ್ತದೆ, ಅದನ್ನು ಅದರ ಸಂಗ್ರಹಕ್ಕೆ ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಪರಿಶೀಲಿಸುತ್ತದೆ (ಸಿಪಿಯು ಎಸಿಎಂ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾರ್ವಜನಿಕ ಕೀ ಹ್ಯಾಶ್ ಅನ್ನು ಹೊಂದಿದೆ ಎಂದು ಈಗಾಗಲೇ ಮೇಲೆ ಗಮನಿಸಲಾಗಿದೆ. ) ಮತ್ತು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್

UEFI BIOS - ಆರಂಭಿಕ ಬೂಟ್ ಬ್ಲಾಕ್ (IBB) ನ ಸಣ್ಣ ಆರಂಭಿಕ ಭಾಗವನ್ನು ಪರಿಶೀಲಿಸಲು ಈ ಕೋಡ್ ಮಾಡ್ಯೂಲ್ ಕಾರಣವಾಗಿದೆ, ಇದು UEFI BIOS ನ ಮುಖ್ಯ ಭಾಗವನ್ನು ಪರಿಶೀಲಿಸುವ ಕಾರ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ. ಹೀಗಾಗಿ, OS ಅನ್ನು ಬೂಟ್ ಮಾಡುವ ಮೊದಲು BIOS ನ ದೃಢೀಕರಣವನ್ನು ಪರಿಶೀಲಿಸಲು Intel BG ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಇದನ್ನು ಸುರಕ್ಷಿತ ಬೂಟ್ ತಂತ್ರಜ್ಞಾನದ ಮೇಲ್ವಿಚಾರಣೆಯಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು).

ಇಂಟೆಲ್ ಬಿಜಿ ತಂತ್ರಜ್ಞಾನವು ಎರಡು ಕಾರ್ಯಾಚರಣೆಯ ವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ (ಮತ್ತು ಒಂದು ಇನ್ನೊಂದಕ್ಕೆ ಮಧ್ಯಪ್ರವೇಶಿಸುವುದಿಲ್ಲ, ಅಂದರೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಮತ್ತು ಎರಡನ್ನೂ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು).

ಅಳತೆ ಮಾಡಿದ ಬೂಟ್

ಅಳತೆ ಮಾಡಿದ ಬೂಟ್ (MB) ಮೋಡ್‌ನಲ್ಲಿ, ಪ್ರತಿ ಬೂಟ್ ಘಟಕವು (ಸಿಪಿಯು ಬೂಟ್ ರಾಮ್‌ನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ) ಟ್ರಸ್ಟೆಡ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಮಾಡ್ಯೂಲ್‌ನ (TPM) ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮುಂದಿನದನ್ನು "ಅಳೆಯುತ್ತದೆ". ಗೊತ್ತಿಲ್ಲದವರಿಗೆ ನಾನು ವಿವರಿಸುತ್ತೇನೆ.

TPM PCR ಗಳನ್ನು ಹೊಂದಿದೆ (ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಕಾನ್ಫಿಗರೇಶನ್ ರಿಜಿಸ್ಟರ್‌ಗಳು), ಇದು ಸೂತ್ರದ ಪ್ರಕಾರ ಹ್ಯಾಶಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಯ ಫಲಿತಾಂಶವನ್ನು ದಾಖಲಿಸುತ್ತದೆ:

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್

ಆ. ಪ್ರಸ್ತುತ ಪಿಸಿಆರ್ ಮೌಲ್ಯವು ಹಿಂದಿನದನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಮತ್ತು ಸಿಸ್ಟಮ್ ಮರುಹೊಂದಿಸಿದಾಗ ಮಾತ್ರ ಈ ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ.

ಹೀಗಾಗಿ, MB ಮೋಡ್‌ನಲ್ಲಿ, ಕೆಲವು ಸಮಯದಲ್ಲಿ, PCR ಗಳು "ಅಳತೆ" ಕೋಡ್ ಅಥವಾ ಡೇಟಾದ ವಿಶಿಷ್ಟವಾದ (ಹ್ಯಾಶ್ ಕಾರ್ಯಾಚರಣೆಯ ಸಾಮರ್ಥ್ಯದೊಳಗೆ) ಗುರುತಿಸುವಿಕೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ. PCR ಮೌಲ್ಯಗಳನ್ನು ಕೆಲವು ಡೇಟಾ (TPM_Seal) ಕಾರ್ಯಾಚರಣೆಯ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನಲ್ಲಿ ಬಳಸಬಹುದು. ಅದರ ನಂತರ, ಲೋಡ್ ಮಾಡುವಿಕೆಯ ಪರಿಣಾಮವಾಗಿ PCR ಮೌಲ್ಯಗಳು ಬದಲಾಗದಿದ್ದರೆ ಮಾತ್ರ ಅವುಗಳ ಡೀಕ್ರಿಪ್ಶನ್ (TPM_Unseal) ಸಾಧ್ಯವಾಗುತ್ತದೆ (ಅಂದರೆ, ಒಂದು "ಅಳತೆ" ಘಟಕವನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ).

ಪರಿಶೀಲಿಸಿದ ಬೂಟ್

UEFI BIOS ಅನ್ನು ಮಾರ್ಪಡಿಸಲು ಇಷ್ಟಪಡುವವರಿಗೆ ಭಯಾನಕ ವಿಷಯವೆಂದರೆ ಪರಿಶೀಲಿಸಿದ ಬೂಟ್ (VB) ಮೋಡ್, ಇದರಲ್ಲಿ ಪ್ರತಿ ಬೂಟ್ ಘಟಕವು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕವಾಗಿ ಮುಂದಿನದ ಸಮಗ್ರತೆ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಮತ್ತು ಪರಿಶೀಲನೆ ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ, (ಕೆಳಗಿನವುಗಳಲ್ಲಿ ಒಂದು) ಸಂಭವಿಸುತ್ತದೆ:

  • 1 ನಿಮಿಷದಿಂದ 30 ನಿಮಿಷಗಳವರೆಗೆ ಸಮಯ ಮೀರುವ ಮೂಲಕ ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆ (ಇದರಿಂದಾಗಿ ತನ್ನ ಕಂಪ್ಯೂಟರ್ ಏಕೆ ಬೂಟ್ ಆಗುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಸಮಯವಿರುತ್ತದೆ ಮತ್ತು ಸಾಧ್ಯವಾದರೆ, BIOS ಅನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ);
  • ತಕ್ಷಣದ ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆ (ಇದರಿಂದ ಬಳಕೆದಾರರಿಗೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಮಯವಿಲ್ಲ ಮತ್ತು ಮೇಲಾಗಿ ಮಾಡಲು);
  • ನೇರ ಮುಖದೊಂದಿಗೆ ಕೆಲಸದ ಮುಂದುವರಿಕೆ (ಸುರಕ್ಷತೆಗೆ ಸಮಯವಿಲ್ಲದಿದ್ದಾಗ, ಹೆಚ್ಚು ಮುಖ್ಯವಾದ ಕೆಲಸಗಳಿವೆ).

ಕ್ರಿಯೆಯ ಆಯ್ಕೆಯು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ (ಅಂದರೆ, ಜಾರಿ ನೀತಿ ಎಂದು ಕರೆಯಲ್ಪಡುವ) ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ, ಇದನ್ನು ಕಂಪ್ಯೂಟರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಮಾರಾಟಗಾರರಿಂದ ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಶಾಶ್ವತವಾಗಿ ದಾಖಲಿಸಲಾಗುತ್ತದೆ - ಚಿಪ್‌ಸೆಟ್ ಫ್ಯೂಸ್‌ಗಳು (ಎಫ್‌ಪಿಎಫ್‌ಗಳು). ನಾವು ಈ ಹಂತದಲ್ಲಿ ಹೆಚ್ಚು ವಿವರವಾಗಿ ನಂತರ ವಾಸಿಸುತ್ತೇವೆ.

ಸಂರಚನೆಯ ಜೊತೆಗೆ, ಮಾರಾಟಗಾರರು ಎರಡು RSA 2048 ಕೀಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತಾರೆ ಮತ್ತು ಎರಡು ಡೇಟಾ ರಚನೆಗಳನ್ನು ರಚಿಸುತ್ತಾರೆ (ಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ):

  1. ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ SVN (ಭದ್ರತಾ ಆವೃತ್ತಿ ಸಂಖ್ಯೆ) ಅನ್ನು ಇರಿಸುವ ವೆಂಡರ್ ರೂಟ್ ಕೀ ಮ್ಯಾನಿಫೆಸ್ಟ್ (KEYM, OEM ರೂಟ್ ಕೀ ಮ್ಯಾನಿಫೆಸ್ಟ್), ಮುಂದಿನ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ಸಾರ್ವಜನಿಕ ಕೀಯ SHA256 ಹ್ಯಾಶ್, RSA ಸಾರ್ವಜನಿಕ ಕೀ (ಅಂದರೆ ಸಾರ್ವಜನಿಕ ಭಾಗ ವೆಂಡರ್ ರೂಟ್ ಕೀ) ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ಸಹಿಯನ್ನು ಮತ್ತು ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಲು;
  2. ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ SVN ಅನ್ನು ಇರಿಸುವ IBB ಮ್ಯಾನಿಫೆಸ್ಟ್ (IBBM, ಇನಿಶಿಯಲ್ ಬೂಟ್ ಬ್ಲಾಕ್ ಮ್ಯಾನಿಫೆಸ್ಟ್), IBB ಯ SHA256 ಹ್ಯಾಶ್, ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾರ್ವಜನಿಕ ಕೀ ಮತ್ತು ಸಹಿಯನ್ನು ಸ್ವತಃ ಇರಿಸುತ್ತದೆ.

OEM ರೂಟ್ ಕೀಯ SHA256 ಹ್ಯಾಶ್ ಅನ್ನು Intel BG ಕಾನ್ಫಿಗರೇಶನ್‌ನಂತೆಯೇ ಚಿಪ್‌ಸೆಟ್ ಫ್ಯೂಸ್‌ಗಳಿಗೆ (FPFs) ಶಾಶ್ವತವಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ. Intel BG ಕಾನ್ಫಿಗರೇಶನ್ ಈ ತಂತ್ರಜ್ಞಾನವನ್ನು ಸೇರಿಸಲು ಒದಗಿಸಿದರೆ, ಇನ್ನು ಮುಂದೆ ಈ ಸಿಸ್ಟಮ್ OEM ರೂಟ್ ಕೀಯ ಖಾಸಗಿ ಭಾಗದ ಮಾಲೀಕರು ಮಾತ್ರ BIOS ಅನ್ನು ನವೀಕರಿಸಬಹುದು (ಅಂದರೆ ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ), ಅಂದರೆ. ಮಾರಾಟಗಾರ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್

ನೀವು ಚಿತ್ರವನ್ನು ನೋಡಿದಾಗ, ಅಂತಹ ದೀರ್ಘ ಪರಿಶೀಲನಾ ಸರಪಳಿಯ ಅಗತ್ಯತೆಯ ಬಗ್ಗೆ ತಕ್ಷಣವೇ ಅನುಮಾನಗಳು ಉದ್ಭವಿಸುತ್ತವೆ - ನೀವು ಒಂದು ಮ್ಯಾನಿಫೆಸ್ಟ್ ಅನ್ನು ಬಳಸಬಹುದಿತ್ತು. ಏಕೆ ಸಂಕೀರ್ಣ?

ವಾಸ್ತವವಾಗಿ, ಇಂಟೆಲ್ ಮಾರಾಟಗಾರರಿಗೆ ವಿಭಿನ್ನ ಉತ್ಪನ್ನ ಲೈನ್‌ಗಳಿಗಾಗಿ ವಿಭಿನ್ನ IBB ಕೀಗಳನ್ನು ಮತ್ತು ಒಂದನ್ನು ಮೂಲವಾಗಿ ಬಳಸುವ ಅವಕಾಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. IBB ಕೀಲಿಯ ಖಾಸಗಿ ಭಾಗವು (ಎರಡನೆಯ ಮ್ಯಾನಿಫೆಸ್ಟ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ) ಸೋರಿಕೆಯಾದರೆ, ಈ ಘಟನೆಯು ಕೇವಲ ಒಂದು ಉತ್ಪನ್ನದ ಸಾಲಿನ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಮತ್ತು ಮಾರಾಟಗಾರರು ಹೊಸ ಜೋಡಿಯನ್ನು ಉತ್ಪಾದಿಸುವವರೆಗೆ ಮತ್ತು ಮುಂದಿನ BIOS ಅಪ್‌ಡೇಟ್‌ನಲ್ಲಿ ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವವರೆಗೆ ಮಾತ್ರ.

ಆದರೆ ರೂಟ್ ಕೀ ರಾಜಿ ಮಾಡಿಕೊಂಡರೆ (ಇದರೊಂದಿಗೆ ಮೊದಲ ಮ್ಯಾನಿಫೆಸ್ಟ್ ಸಹಿ ಮಾಡಲ್ಪಟ್ಟಿದೆ), ಅದನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ, ಹಿಂತೆಗೆದುಕೊಳ್ಳುವ ವಿಧಾನವನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ. ಈ ಕೀಲಿಯ ಸಾರ್ವಜನಿಕ ಭಾಗದ ಹ್ಯಾಶ್ ಅನ್ನು ಒಮ್ಮೆ ಮತ್ತು ಎಲ್ಲರಿಗೂ FPF ಗಳಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿದೆ.

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ ಕಾನ್ಫಿಗರೇಶನ್

ಈಗ ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಅದರ ರಚನೆಯ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡೋಣ. ಇಂಟೆಲ್ ಸಿಸ್ಟಮ್ ಟೂಲ್ ಕಿಟ್ (STK) ಯಿಂದ ಫ್ಲ್ಯಾಶ್ ಇಮೇಜ್ ಟೂಲ್‌ನ GUI ನಲ್ಲಿ ಅನುಗುಣವಾದ ಟ್ಯಾಬ್ ಅನ್ನು ನೀವು ನೋಡಿದರೆ, Intel BG ಕಾನ್ಫಿಗರೇಶನ್ ಮಾರಾಟಗಾರರ ರೂಟ್ ಕೀಲಿಯ ಸಾರ್ವಜನಿಕ ಭಾಗದ ಹ್ಯಾಶ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಒಂದೆರಡು ಅಸ್ಪಷ್ಟವಾಗಿದೆ ಮೌಲ್ಯಗಳು, ಇತ್ಯಾದಿ. ಇಂಟೆಲ್ ಬಿಜಿ ಪ್ರೊಫೈಲ್.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್

ಈ ಪ್ರೊಫೈಲ್ನ ರಚನೆ:

typedef struct BG_PROFILE
{
	unsigned long Force_Boot_Guard_ACM : 1;
	unsigned long Verified_Boot : 1;
	unsigned long Measured_Boot : 1;
	unsigned long Protect_BIOS_Environment : 1;
	unsigned long Enforcement_Policy : 2; // 00b – do nothing
                                              // 01b – shutdown with timeout
                                              // 11b – immediate shutdown
	unsigned long : 26;
};

ಸಾಮಾನ್ಯವಾಗಿ, ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ ತುಂಬಾ ಹೊಂದಿಕೊಳ್ಳುವ ಘಟಕವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, Force_Boot_Guard_ACM ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಪರಿಗಣಿಸಿ. ಅದನ್ನು ತೆರವುಗೊಳಿಸಿದಾಗ, SPI ಫ್ಲ್ಯಾಷ್‌ನಲ್ಲಿ BG ಸ್ಟಾರ್ಟ್‌ಅಪ್ ACM ಮಾಡ್ಯೂಲ್ ಕಂಡುಬರದಿದ್ದರೆ, ಯಾವುದೇ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್ ಸಂಭವಿಸುವುದಿಲ್ಲ. ಇದು ನಂಬಲಾಗದಂತಾಗುತ್ತದೆ.

VB ಮೋಡ್‌ಗಾಗಿ ಜಾರಿ ನೀತಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದೆಂದು ನಾವು ಈಗಾಗಲೇ ಮೇಲೆ ಬರೆದಿದ್ದೇವೆ ಆದ್ದರಿಂದ ಪರಿಶೀಲನೆ ವಿಫಲವಾದರೆ, ಮತ್ತೊಮ್ಮೆ, ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ ಡೌನ್‌ಲೋಡ್ ಸಂಭವಿಸುತ್ತದೆ.

ಇಂತಹ ವಿಷಯಗಳನ್ನು ಮಾರಾಟಗಾರರಿಗೆ ಬಿಟ್ಟುಬಿಡಿ...

ಉಪಯುಕ್ತತೆಯ GUI ಕೆಳಗಿನ "ಸಿದ್ಧ" ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ:

ಕೊಠಡಿ
ಮೋಡ್
ವಿವರಣೆ

0
No_FVME
ಇಂಟೆಲ್ ಬಿಜಿ ತಂತ್ರಜ್ಞಾನವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ

1
VE
VB ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಸಮಯ ಮೀರುವ ಮೂಲಕ ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ

2
VME
ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ (VB ಮತ್ತು MB), ಸಮಯ ಮೀರುವ ಮೂಲಕ ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತದೆ

3
VM
ಸಿಸ್ಟಮ್ ಅನ್ನು ಆಫ್ ಮಾಡದೆಯೇ ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ

4
FVE
VB ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ತಕ್ಷಣದ ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆ

5
FVME
ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ತಕ್ಷಣದ ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆ

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

ಸಂರಚನೆಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಇದು ಉತ್ತಮವಾಗಿದೆ ಏಕೆಂದರೆ:

  • ಒಂದು-ಬಾರಿ-ಪ್ರೋಗ್ರಾಮೆಬಲ್ ಡೇಟಾ ಶೇಖರಣಾ ಪ್ರದೇಶವನ್ನು ಹೊಂದಿದೆ (ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಬರೆಯಲಾಗಿದೆ);
  • ಇಂಟೆಲ್ ME ಮಾತ್ರ ಅದನ್ನು ಓದಬಹುದು ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದು.

ಆದ್ದರಿಂದ, ನಿರ್ದಿಷ್ಟ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಇಂಟೆಲ್ ಬಿಜಿ ತಂತ್ರಜ್ಞಾನದ ಸಂರಚನೆಯನ್ನು ಹೊಂದಿಸಲು, ಉತ್ಪಾದನೆಯ ಸಮಯದಲ್ಲಿ ಮಾರಾಟಗಾರರು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡುತ್ತಾರೆ:

  1. ಫ್ಲ್ಯಾಶ್ ಇಮೇಜ್ ಟೂಲ್ (ಇಂಟೆಲ್ ಎಸ್‌ಟಿಕೆ ಯಿಂದ), ಇಂಟೆಲ್ ಎಂಇ ಪ್ರದೇಶದ ಒಳಗೆ ವೇರಿಯಬಲ್‌ಗಳಾಗಿ ನೀಡಲಾದ ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್‌ನೊಂದಿಗೆ ಫರ್ಮ್‌ವೇರ್ ಚಿತ್ರವನ್ನು ರಚಿಸುತ್ತದೆ (ಎಫ್‌ಪಿಎಫ್‌ಗಳಿಗಾಗಿ ತಾತ್ಕಾಲಿಕ ಕನ್ನಡಿ ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ);
  2. ಫ್ಲ್ಯಾಶ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿ (ಇಂಟೆಲ್ STK ನಿಂದ), ಈ ಚಿತ್ರವನ್ನು ಸಿಸ್ಟಮ್‌ನ SPI ಫ್ಲ್ಯಾಷ್ ಮೆಮೊರಿಗೆ ಬರೆಯುತ್ತದೆ ಮತ್ತು ಕರೆಯಲ್ಪಡುವದನ್ನು ಮುಚ್ಚುತ್ತದೆ. ಉತ್ಪಾದನಾ ಮೋಡ್ (ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಅನುಗುಣವಾದ ಆಜ್ಞೆಯನ್ನು ಇಂಟೆಲ್ ME ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ).

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

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ ಇಂಪ್ಲಿಮೆಂಟೇಶನ್ ಅನಾಲಿಸಿಸ್

ನಿರ್ದಿಷ್ಟ ಉದಾಹರಣೆಯಲ್ಲಿ ಈ ತಂತ್ರಜ್ಞಾನದ ಅನುಷ್ಠಾನವನ್ನು ವಿಶ್ಲೇಷಿಸಲು, ಇಂಟೆಲ್ ಬಿಜಿ ತಂತ್ರಜ್ಞಾನದ ಕುರುಹುಗಳಿಗಾಗಿ ನಾವು ಈ ಕೆಳಗಿನ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೇವೆ:

ವ್ಯವಸ್ಥೆಯ
ಹೇಳಿಕೆಯನ್ನು

ಗಿಗಾಬೈಟ್ GA-H170-D3H
ಸ್ಕೈಲೇಕ್, ಬೆಂಬಲವಿದೆ

ಗಿಗಾಬೈಟ್ GA-Q170-D3H
ಸ್ಕೈಲೇಕ್, ಬೆಂಬಲವಿದೆ

ಗಿಗಾಬೈಟ್ GA-B150-HD3
ಸ್ಕೈಲೇಕ್, ಬೆಂಬಲವಿದೆ

MSI H170A ಗೇಮಿಂಗ್ ಪ್ರೊ
ಸ್ಕೈಲೇಕ್, ಯಾವುದೇ ಬೆಂಬಲವಿಲ್ಲ

ಲೆನೊವೊ ಥಿಂಕ್‌ಪ್ಯಾಡ್ 460
ಸ್ಕೈಲೇಕ್, ಬೆಂಬಲ ಲಭ್ಯವಿದೆ, ತಂತ್ರಜ್ಞಾನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ

ಲೆನೊವೊ ಯೋಗ 2 ಪ್ರೊ
ಹ್ಯಾಸ್ವೆಲ್, ಯಾವುದೇ ಬೆಂಬಲವಿಲ್ಲ

Lenovo U330p
ಹ್ಯಾಸ್ವೆಲ್, ಯಾವುದೇ ಬೆಂಬಲವಿಲ್ಲ

"ಬೆಂಬಲ" ಎಂದರೆ Intel BG ಸ್ಟಾರ್ಟ್‌ಅಪ್ ACM ಮಾಡ್ಯೂಲ್, ಮೇಲೆ ತಿಳಿಸಲಾದ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳು ಮತ್ತು BIOS ನಲ್ಲಿ ಅನುಗುಣವಾದ ಕೋಡ್ ಇರುವಿಕೆ, ಅಂದರೆ. ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಅನುಷ್ಠಾನಗಳು.

ಉದಾಹರಣೆಯಾಗಿ, ಕಛೇರಿಯಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾದ ಒಂದನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ. ಗಿಗಾಬೈಟ್ GA-H170-D3H (ಆವೃತ್ತಿ F4) ಗಾಗಿ SPI ಫ್ಲಾಶ್ ಮೆಮೊರಿಯ ಮಾರಾಟಗಾರರ ಸೈಟ್ ಚಿತ್ರ.

ಇಂಟೆಲ್ CPU ಬೂಟ್ ರಾಮ್

ಮೊದಲನೆಯದಾಗಿ, ಇಂಟೆಲ್ ಬಿಜಿ ತಂತ್ರಜ್ಞಾನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ ಪ್ರೊಸೆಸರ್ನ ಕ್ರಿಯೆಗಳ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ.

ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಮೈಕ್ರೊಕೋಡ್‌ನ ಮಾದರಿಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಕೆಳಗೆ ವಿವರಿಸಿದ ಕ್ರಿಯೆಗಳನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ (ಮೈಕ್ರೋಕೋಡ್ ಅಥವಾ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ) ಮುಕ್ತ ಪ್ರಶ್ನೆಯಾಗಿದೆ. ಅದೇನೇ ಇದ್ದರೂ, ಆಧುನಿಕ ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳು ಈ ಕ್ರಿಯೆಗಳನ್ನು "ಮಾಡಬಲ್ಲವು" ಎಂಬುದು ಸತ್ಯ.

ರೀಸೆಟ್ ಸ್ಥಿತಿಯಿಂದ ನಿರ್ಗಮಿಸಿದ ನಂತರ, ಪ್ರೊಸೆಸರ್ (ಯಾರ ವಿಳಾಸ ಜಾಗದಲ್ಲಿ ಫ್ಲಾಶ್ ಮೆಮೊರಿಯ ವಿಷಯಗಳನ್ನು ಈಗಾಗಲೇ ಮ್ಯಾಪ್ ಮಾಡಲಾಗಿದೆ) FIT (ಫರ್ಮ್‌ವೇರ್ ಇಂಟರ್ಫೇಸ್ ಟೇಬಲ್) ಅನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಅದನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಸುಲಭ, ಅದರ ಪಾಯಿಂಟರ್ ಅನ್ನು FFFF FFC0h ವಿಳಾಸದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಈ ವಿಳಾಸವು FFD6 9500h ಮೌಲ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ. ಈ ವಿಳಾಸಕ್ಕೆ ತಿರುಗಿ, ಪ್ರೊಸೆಸರ್ FIT ಟೇಬಲ್ ಅನ್ನು ನೋಡುತ್ತದೆ, ಅದರ ವಿಷಯಗಳನ್ನು ದಾಖಲೆಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ. ಮೊದಲ ನಮೂದು ಈ ಕೆಳಗಿನ ರಚನೆಯ ಶೀರ್ಷಿಕೆಯಾಗಿದೆ:

typedef struct FIT_HEADER
{
	char           Tag[8];     // ‘_FIT_   ’
	unsigned long  NumEntries; // including FIT header entry
	unsigned short Version;    // 1.0
	unsigned char  EntryType;  // 0
	unsigned char  Checksum;
};

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಕೆಲವು ಅಜ್ಞಾತ ಕಾರಣಗಳಿಗಾಗಿ, ಚೆಕ್ಸಮ್ ಅನ್ನು ಯಾವಾಗಲೂ ಈ ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಲೆಕ್ಕಹಾಕಲಾಗುವುದಿಲ್ಲ (ಕ್ಷೇತ್ರವು ಶೂನ್ಯವಾಗಿರುತ್ತದೆ).

ಉಳಿದ ನಮೂದುಗಳು BIOS ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು ಪಾರ್ಸ್ ಮಾಡಬೇಕಾದ / ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾದ ವಿವಿಧ ಬೈನರಿಗಳನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಅಂದರೆ. ಲೆಗಸಿ ರೀಸೆಟ್ ವೆಕ್ಟರ್ (FFFF FFF0h) ಗೆ ಬದಲಾಯಿಸುವ ಮೊದಲು. ಅಂತಹ ಪ್ರತಿಯೊಂದು ಪ್ರವೇಶದ ರಚನೆಯು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

typedef struct FIT_ENTRY
{
	unsigned long  BaseAddress;
	unsigned long  : 32;
	unsigned long  Size;
	unsigned short Version;     // 1.0
	unsigned char  EntryType;
	unsigned char  Checksum;
};

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
EntryType ಕ್ಷೇತ್ರವು ಈ ಪ್ರವೇಶವನ್ನು ಸೂಚಿಸುವ ಬ್ಲಾಕ್ ಪ್ರಕಾರವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ನಾವು ಹಲವಾರು ವಿಧಗಳನ್ನು ತಿಳಿದಿದ್ದೇವೆ:

enum FIT_ENTRY_TYPES
{
	FIT_HEADER = 0,
	MICROCODE_UPDATE,
	BG_ACM,
	BIOS_INIT = 7,
	TPM_POLICY,
	BIOS_POLICY,
	TXT_POLICY,
	BG_KEYM,
	BG_IBBM
};

ಈಗ ನಮೂದುಗಳಲ್ಲಿ ಒಂದು ಇಂಟೆಲ್ ಬಿಜಿ ಸ್ಟಾರ್ಟ್ಅಪ್ ಎಸಿಎಂ ಬೈನರಿ ಸ್ಥಳವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ. ಈ ಬೈನರಿಯ ಹೆಡರ್ ರಚನೆಯು ಇಂಟೆಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಕೋಡ್ ಮಾಡ್ಯೂಲ್‌ಗಳಿಗೆ ವಿಶಿಷ್ಟವಾಗಿದೆ (ACM ಗಳು, ಮೈಕ್ರೋಕೋಡ್ ನವೀಕರಣಗಳು, Intel ME ಕೋಡ್ ವಿಭಾಗಗಳು, ...).

typedef struct BG_ACM_HEADER
{
	unsigned short ModuleType;     // 2
	unsigned short ModuleSubType;  // 3
	unsigned long  HeaderLength;   // in dwords
	unsigned long  : 32;
	unsigned long  : 32;
	unsigned long  ModuleVendor;   // 8086h
	unsigned long  Date;           // in BCD format
	unsigned long  TotalSize;      // in dwords
	unsigned long  unknown1[6];
	unsigned long  EntryPoint;
	unsigned long  unknown2[16];
	unsigned long  RsaKeySize;     // in dwords
	unsigned long  ScratchSize;    // in dwords
	unsigned char  RsaPubMod[256];
	unsigned long  RsaPubExp;
	unsigned char  RsaSig[256];
};

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಪ್ರೊಸೆಸರ್ ಈ ಬೈನರಿಯನ್ನು ಅದರ ಸಂಗ್ರಹಕ್ಕೆ ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

ಇಂಟೆಲ್ ಬಿಜಿ ಸ್ಟಾರ್ಟ್ಅಪ್ ಎಸಿಎಂ

ಈ ACM ನ ಕೆಲಸದ ವಿಶ್ಲೇಷಣೆಯ ಪರಿಣಾಮವಾಗಿ, ಅದು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡುತ್ತದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಯಿತು:

  • ಚಿಪ್‌ಸೆಟ್ ಫ್ಯೂಸ್‌ಗಳಿಗೆ (ಎಫ್‌ಪಿಎಫ್‌ಗಳು) ಬರೆದ ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಇಂಟೆಲ್ ಎಂಇಯಿಂದ ಪಡೆಯುತ್ತದೆ;
  • KEYM ಮತ್ತು IBBM ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ, ಅವುಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.

ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳನ್ನು ಹುಡುಕಲು, ACM FIT ಟೇಬಲ್ ಅನ್ನು ಸಹ ಬಳಸುತ್ತದೆ, ಇದು ಈ ರಚನೆಗಳನ್ನು ಸೂಚಿಸಲು ಎರಡು ರೀತಿಯ ನಮೂದುಗಳನ್ನು ಹೊಂದಿದೆ (ಮೇಲೆ FIT_ENTRY_TYPES ನೋಡಿ).

ಪ್ರಣಾಳಿಕೆಗಳನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡೋಣ. ಮೊದಲ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ರಚನೆಯಲ್ಲಿ, ನಾವು ಹಲವಾರು ಅಸ್ಪಷ್ಟ ಸ್ಥಿರಾಂಕಗಳನ್ನು ನೋಡುತ್ತೇವೆ, ಎರಡನೇ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನಿಂದ ಸಾರ್ವಜನಿಕ ಕೀಯ ಹ್ಯಾಶ್ ಮತ್ತು ನೆಸ್ಟೆಡ್ ರಚನೆಯಾಗಿ ಸಹಿ ಮಾಡಲಾದ ಸಾರ್ವಜನಿಕ OEM ರೂಟ್ ಕೀ:

typedef struct KEY_MANIFEST
{
	char           Tag[8];          // ‘__KEYM__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned char  : 8;             // 1
	unsigned short : 16;            // 0Bh
	unsigned short : 16;            // 20h == hash size?
	unsigned char  IbbmKeyHash[32]; // SHA256 of an IBBM public key
	BG_RSA_ENTRY   OemRootKey;
};

typedef struct BG_RSA_ENTRY
{
	unsigned char  : 8;             // 10h
	unsigned short : 16;            // 1
	unsigned char  : 8;             // 10h
	unsigned short RsaPubKeySize;   // 800h
	unsigned long  RsaPubExp;
	unsigned char  RsaPubKey[256];
	unsigned short : 16;            // 14
	unsigned char  : 8;             // 10h
	unsigned short RsaSigSize;      // 800h
	unsigned short : 16;            // 0Bh
	unsigned char  RsaSig[256];
};

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
OEM ರೂಟ್ ಕೀಯ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಪರಿಶೀಲಿಸಲು, ಫ್ಯೂಸ್‌ಗಳಿಂದ SHA256 ಹ್ಯಾಶ್ ಅನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂದು ನಾವು ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತೇವೆ, ಈ ಕ್ಷಣದಲ್ಲಿ ಇಂಟೆಲ್ ME ನಿಂದ ಈಗಾಗಲೇ ಸ್ವೀಕರಿಸಲಾಗಿದೆ.

ಎರಡನೇ ಪ್ರಣಾಳಿಕೆಗೆ ಹೋಗೋಣ. ಇದು ಮೂರು ರಚನೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

typedef struct IBB_MANIFEST
{
	ACBP Acbp;         // Boot policies
	IBBS Ibbs;         // IBB description
	IBB_DESCRIPTORS[];
	PMSG Pmsg;         // IBBM signature
};

ಮೊದಲನೆಯದು ಕೆಲವು ಸ್ಥಿರಾಂಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

typedef struct ACBP
{
	char           Tag[8];          // ‘__ACBP__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 1
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned short : 16;            // x & F0h = 0
	unsigned short : 16;            // 0 < x <= 400h
};

ಎರಡನೆಯದು IBB ಯ SHA256 ಹ್ಯಾಶ್ ಮತ್ತು IBB ಯ ವಿಷಯಗಳನ್ನು ವಿವರಿಸುವ ವಿವರಣೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಒಳಗೊಂಡಿದೆ (ಅಂದರೆ ಹ್ಯಾಶ್ ಅನ್ನು ಯಾವುದರಿಂದ ಲೆಕ್ಕ ಹಾಕಲಾಗಿದೆ):

typedef struct IBBS
{
	char           Tag[8];            // ‘__IBBS__’
	unsigned char  : 8;               // 10h
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // x <= 0Fh
	unsigned long  : 32;              // x & FFFFFFF8h = 0
	unsigned long  Unknown[20];
	unsigned short : 16;              // 0Bh
	unsigned short : 16;              // 20h == hash size ?
	unsigned char  IbbHash[32];       // SHA256 of an IBB
	unsigned char  NumIbbDescriptors;
};

IBB ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳು ಈ ರಚನೆಯನ್ನು ಒಂದರ ನಂತರ ಒಂದರಂತೆ ಅನುಸರಿಸುತ್ತವೆ. ಅವರ ವಿಷಯವು ಈ ಕೆಳಗಿನ ಸ್ವರೂಪವನ್ನು ಹೊಂದಿದೆ:

typedef struct IBB_DESCRIPTOR
{
	unsigned long  : 32;
	unsigned long  BaseAddress;
	unsigned long  Size;
};

ಇದು ಸರಳವಾಗಿದೆ: ಪ್ರತಿ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ IBB ಚಂಕ್‌ನ ವಿಳಾಸ/ಗಾತ್ರವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಹೀಗಾಗಿ, ಈ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳಿಂದ ಸೂಚಿಸಲಾದ ಬ್ಲಾಕ್‌ಗಳ ಸಂಯೋಜನೆಯು (ವಿವರಣೆಗಳ ಕ್ರಮದಲ್ಲಿಯೇ) IBB ಆಗಿದೆ. ಮತ್ತು, ನಿಯಮದಂತೆ, IBB SEC ಮತ್ತು PEI ಹಂತಗಳ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್ಗಳ ಸಂಯೋಜನೆಯಾಗಿದೆ.

ಎರಡನೇ ಮ್ಯಾನಿಫೆಸ್ಟ್ IBB ಸಾರ್ವಜನಿಕ ಕೀ (ಮೊದಲ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನಿಂದ SHA256 ಹ್ಯಾಶ್‌ನಿಂದ ಪರಿಶೀಲಿಸಲಾಗಿದೆ) ಮತ್ತು ಈ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ನ ಸಹಿಯನ್ನು ಹೊಂದಿರುವ ರಚನೆಯೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ:

typedef struct PMSG
{
	char           Tag[8];            // ‘__PMSG__’
	unsigned char  : 8;               // 10h
	BG_RSA_ENTRY   IbbKey;
};

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಆದ್ದರಿಂದ, UEFI BIOS ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು, ಪ್ರೊಸೆಸರ್ ACM ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇದು SEC ಮತ್ತು PEI ಹಂತದ ಕೋಡ್ನೊಂದಿಗೆ ವಿಭಾಗಗಳ ವಿಷಯಗಳ ದೃಢೀಕರಣವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಮುಂದೆ, ಪ್ರೊಸೆಸರ್ ACM ನಿಂದ ನಿರ್ಗಮಿಸುತ್ತದೆ, ರೀಸೆಟ್ ವೆಕ್ಟರ್ ಉದ್ದಕ್ಕೂ ಚಲಿಸುತ್ತದೆ ಮತ್ತು BIOS ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

PEI ಪರಿಶೀಲಿಸಿದ ವಿಭಾಗವು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಹೊಂದಿರಬೇಕು ಅದು ಉಳಿದ BIOS (DXE ಕೋಡ್) ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಈ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಈಗಾಗಲೇ IBV (ಸ್ವತಂತ್ರ BIOS ವೆಂಡರ್) ಅಥವಾ ಸಿಸ್ಟಮ್ ವೆಂಡರ್ ಸ್ವತಃ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಏಕೆಂದರೆ ಲೆನೊವೊ ಮತ್ತು ಗಿಗಾಬೈಟ್ ಸಿಸ್ಟಮ್‌ಗಳು ಮಾತ್ರ ನಮ್ಮ ವಿಲೇವಾರಿಯಲ್ಲಿವೆ ಮತ್ತು ಇಂಟೆಲ್ ಬಿಜಿ ಬೆಂಬಲವನ್ನು ಹೊಂದಿವೆ, ಈ ವ್ಯವಸ್ಥೆಗಳಿಂದ ಹೊರತೆಗೆಯಲಾದ ಕೋಡ್ ಅನ್ನು ಪರಿಗಣಿಸೋಣ.

UEFI BIOS ಮಾಡ್ಯೂಲ್ LenovoVerifiedBootPei

Lenovo ದ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು Lenovo ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ LenovoVerifiedBootPei {B9F2AC77-54C7-4075-B42E-C36325A9468D} ಮಾಡ್ಯೂಲ್ ಆಗಿ ಹೊರಹೊಮ್ಮಿತು.

DXE ಗಾಗಿ ಹ್ಯಾಶ್ ಟೇಬಲ್ ಅನ್ನು ಹುಡುಕುವುದು (GUID ಮೂಲಕ) ಮತ್ತು DXE ಅನ್ನು ಪರಿಶೀಲಿಸುವುದು ಇದರ ಕೆಲಸ.

if (EFI_PEI_SERVICES->GetBootMode() != BOOT_ON_S3_RESUME)
{
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	if (!VerifyDxe())
		return EFI_SECURITY_VIOLATION;
}

Хеш таблица {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} имеет следующий формат:

typedef struct HASH_TABLE
{
	char          Tag[8];            // ‘$HASHTBL’
	unsigned long NumDxeDescriptors;
	DXE_DESCRIPTORS[];
};

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long Offset;
	unsigned long Size;
};

UEFI BIOS ಮಾಡ್ಯೂಲ್ BootGuardPei

ಗಿಗಾಬೈಟ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು AMI ನಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ BootGuardPei {B41956E1-7CA2-42DB-9562-168389F0F066} ಮಾಡ್ಯೂಲ್ ಆಗಿ ಹೊರಹೊಮ್ಮಿತು ಮತ್ತು ಆದ್ದರಿಂದ Intel BG ಬೆಂಬಲದೊಂದಿಗೆ ಯಾವುದೇ AMI BIOS ನಲ್ಲಿ ಇರುತ್ತದೆ.

ಅದರ ಕಾರ್ಯಾಚರಣೆಯ ಅಲ್ಗಾರಿದಮ್ ಸ್ವಲ್ಪ ವಿಭಿನ್ನವಾಗಿದೆ, ಆದಾಗ್ಯೂ, ಇದು ಒಂದೇ ರೀತಿ ಕುದಿಯುತ್ತದೆ:

int bootMode = EFI_PEI_SERVICES->GetBootMode();

if (bootMode != BOOT_ON_S3_RESUME &&
    bootMode != BOOT_ON_FLASH_UPDATE &&
    bootMode != BOOT_IN_RECOVERY_MODE)
{
	HOB* h = CreateHob();
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	WriteHob(&h, VerifyDxe());
	return h;
}

ಹ್ಯಾಶ್ ಟೇಬಲ್ {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} ಈ ಕೆಳಗಿನ ಸ್ವರೂಪವನ್ನು ಹೊಂದಿದೆ:

typedef HASH_TABLE DXE_DESCRIPTORS[];

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long BaseAddress;
	unsigned long Size;
};

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ 2.x

ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್‌ನ ಮತ್ತೊಂದು ಅನುಷ್ಠಾನದ ಕುರಿತು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಮಾತನಾಡೋಣ, ಇದು ಅಪೊಲೊ ಲೇಕ್ ಮೈಕ್ರೋಆರ್ಕಿಟೆಕ್ಚರ್ - ASRock J4205-IT ಜೊತೆಗೆ Intel SoC ಅನ್ನು ಆಧರಿಸಿದ ಹೊಸ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಕಂಡುಬಂದಿದೆ.

ಈ ಆವೃತ್ತಿಯನ್ನು SoC ಗಳಲ್ಲಿ ಮಾತ್ರ ಬಳಸಲಾಗುವುದು (Kaby Lake ಪ್ರೊಸೆಸರ್ ಮೈಕ್ರೋಆರ್ಕಿಟೆಕ್ಚರ್‌ನೊಂದಿಗಿನ ಹೊಸ ವ್ಯವಸ್ಥೆಗಳು Intel Boot Guard 1.x ಅನ್ನು ಬಳಸುವುದನ್ನು ಮುಂದುವರೆಸುತ್ತವೆ), ಇದು Intel SoC ಗಳನ್ನು ಆಧರಿಸಿದ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗಾಗಿ ಹೊಸ ಆರ್ಕಿಟೆಕ್ಚರ್ ಆಯ್ಕೆಯನ್ನು ಅನ್ವೇಷಿಸಲು ಹೆಚ್ಚಿನ ಆಸಕ್ತಿಯನ್ನು ಹೊಂದಿದೆ, ಇದು ಸ್ಪಷ್ಟವಾಗಿದೆ. ಬದಲಾವಣೆಗಳು, ಉದಾಹರಣೆಗೆ:

  • BIOS ಮತ್ತು Intel ME ಪ್ರದೇಶಗಳು (ಅಥವಾ ಬದಲಿಗೆ Intel TXE, Intel SoC ಪರಿಭಾಷೆಯ ಪ್ರಕಾರ) ಈಗ ಒಂದು IFWI ಪ್ರದೇಶವಾಗಿದೆ;
  • Intel BG ಅನ್ನು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದ್ದರೂ, FIT, KEYM, IBBM ನಂತಹ ರಚನೆಗಳು ಫ್ಲಾಶ್ ಮೆಮೊರಿಯಲ್ಲಿ ಕಂಡುಬಂದಿಲ್ಲ;
  • TXE ಮತ್ತು ISH ಕೋರ್‌ಗಳ ಜೊತೆಗೆ (x86), ಚಿಪ್‌ಸೆಟ್‌ಗೆ ಮೂರನೇ ಕೋರ್ (ಮತ್ತೆ ARC, ಮೂಲಕ) ಸೇರಿಸಲಾಯಿತು - PMC (ಪವರ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಕಂಟ್ರೋಲರ್), ಇದು ವಿದ್ಯುತ್ ಉಪವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲ್ವಿಚಾರಣೆಗೆ ಸಂಬಂಧಿಸಿದೆ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಹೊಸ IFWI ಪ್ರದೇಶದ ವಿಷಯವು ಈ ಕೆಳಗಿನ ಮಾಡ್ಯೂಲ್‌ಗಳ ಗುಂಪಾಗಿದೆ:

ಪಕ್ಷಪಾತ
ಹೆಸರು
ವಿವರಣೆ

0000 2000 ಗಂ
SMIP
ಕೆಲವು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಕಾನ್ಫಿಗರೇಶನ್, ಮಾರಾಟಗಾರರಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0000 6000 ಗಂ
RBEP
Intel TXE ಫರ್ಮ್‌ವೇರ್ ಕೋಡ್ ವಿಭಾಗ, x86, ಇಂಟೆಲ್‌ನಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0001 0000 ಗಂ
PMCP
ಫರ್ಮ್‌ವೇರ್ ಕೋಡ್ ವಿಭಾಗ Intel PMC, ARC, ಇಂಟೆಲ್‌ನಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0002 0000 ಗಂ
FTPR
Intel TXE ಫರ್ಮ್‌ವೇರ್ ಕೋಡ್ ವಿಭಾಗ, x86, ಇಂಟೆಲ್‌ನಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0007B000h
UCOD
ಇಂಟೆಲ್‌ನಿಂದ ಸಹಿ ಮಾಡಲಾದ CPU ಮೈಕ್ರೋಕೋಡ್ ನವೀಕರಣಗಳು

0008 0000 ಗಂ
IBBP
UEFI BIOS, SEC/PEI ಹಂತಗಳು, x86, ಮಾರಾಟಗಾರರು ಸಹಿ ಮಾಡಿದ್ದಾರೆ

0021 8000 ಗಂ
ISHC
Intel ISH ಫರ್ಮ್‌ವೇರ್‌ನ ಕೋಡ್ ವಿಭಾಗ, x86, ಮಾರಾಟಗಾರರಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0025 8000 ಗಂ
ಎನ್ಎಫ್ಟಿಪಿ
Intel TXE ಫರ್ಮ್‌ವೇರ್ ಕೋಡ್ ವಿಭಾಗ, x86, ಇಂಟೆಲ್‌ನಿಂದ ಸಹಿ ಮಾಡಲಾಗಿದೆ

0036 1000 ಗಂ
IUNP
ಅಜ್ಞಾತ

0038 1000 ಗಂ
OBBP
UEFI BIOS, DXE ಹಂತ, x86, ಸಹಿ ಮಾಡಲಾಗಿಲ್ಲ

TXE ಫರ್ಮ್‌ವೇರ್ ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, ಮರುಹೊಂದಿಸಿದ ನಂತರ, CPU ಗಾಗಿ ವಿಳಾಸ ಸ್ಥಳದ ಮೂಲ ವಿಷಯಗಳನ್ನು ಸಿದ್ಧಪಡಿಸುವವರೆಗೆ TXE ಪ್ರೊಸೆಸರ್ ಅನ್ನು ಈ ಸ್ಥಿತಿಯಲ್ಲಿರಿಸುತ್ತದೆ (FIT, ACM, RESET ವೆಕ್ಟರ್ ...). ಇದಲ್ಲದೆ, TXE ಈ ಡೇಟಾವನ್ನು ತನ್ನ SRAM ನಲ್ಲಿ ಇರಿಸುತ್ತದೆ, ಅದರ ನಂತರ ಅದು ತಾತ್ಕಾಲಿಕವಾಗಿ ಪ್ರೊಸೆಸರ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ರೀಸೆಟ್‌ನಿಂದ "ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ".

ರೂಟ್‌ಕಿಟ್‌ಗಳ ರಕ್ಷಣೆಯಲ್ಲಿ

ಸರಿ, ಈಗ ನಾವು "ಬಿಸಿ" ಗೆ ಹೋಗೋಣ. ಅನೇಕ ಸಿಸ್ಟಂಗಳಲ್ಲಿ, SPI ಫ್ಲ್ಯಾಷ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳು SPI ಫ್ಲ್ಯಾಷ್ ಮೆಮೊರಿಯ ಪ್ರದೇಶಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ನಾವು ಒಮ್ಮೆ ಕಂಡುಹಿಡಿದಿದ್ದೇವೆ, ಇದರಿಂದಾಗಿ ಈ ಮೆಮೊರಿಯ ಎಲ್ಲಾ ಬಳಕೆದಾರರು ಯಾವುದೇ ಪ್ರದೇಶವನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ಓದಬಹುದು. ಆ. ಅಸಾದ್ಯ.

MEinfo ಯುಟಿಲಿಟಿ (Intel STK ನಿಂದ) ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಈ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಉತ್ಪಾದನಾ ಮೋಡ್ ಅನ್ನು ಮುಚ್ಚಲಾಗಿಲ್ಲ ಎಂದು ನಾವು ನೋಡಿದ್ದೇವೆ, ಆದ್ದರಿಂದ, ಚಿಪ್‌ಸೆಟ್ ಫ್ಯೂಸ್‌ಗಳು (FPF ಗಳು) ಅನಿರ್ದಿಷ್ಟ ಸ್ಥಿತಿಯಲ್ಲಿ ಉಳಿದಿವೆ. ಹೌದು, ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ Intel BG ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ.

ನಾವು ಈ ಕೆಳಗಿನ ವ್ಯವಸ್ಥೆಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ (ಇಂಟೆಲ್ ಬಿಜಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಮತ್ತು ಲೇಖನದಲ್ಲಿ ನಂತರ ಏನು ವಿವರಿಸಲಾಗುವುದು, ನಾವು ಹ್ಯಾಸ್ವೆಲ್ ಪ್ರೊಸೆಸರ್ ಮೈಕ್ರೋಆರ್ಕಿಟೆಕ್ಚರ್ ಮತ್ತು ಹೆಚ್ಚಿನ ಸಿಸ್ಟಮ್ಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇವೆ):

  • ಎಲ್ಲಾ ಗಿಗಾಬೈಟ್ ಉತ್ಪನ್ನಗಳು;
  • ಎಲ್ಲಾ MSI ಉತ್ಪನ್ನಗಳು;
  • 21 ಲೆನೊವೊ ಲ್ಯಾಪ್‌ಟಾಪ್ ಮಾದರಿಗಳು ಮತ್ತು 4 ಲೆನೊವೊ ಸರ್ವರ್ ಮಾದರಿಗಳು.

ಸಹಜವಾಗಿ, ನಾವು ಈ ಮಾರಾಟಗಾರರಿಗೆ ಮತ್ತು ಇಂಟೆಲ್‌ಗೆ ಪತ್ತೆಯನ್ನು ವರದಿ ಮಾಡಿದ್ದೇವೆ.

ನಿಂದ ಮಾತ್ರ ಸಾಕಷ್ಟು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಅನುಸರಿಸಲಾಗಿದೆ ಲೆನೊವೊಯಾರು ಸಮಸ್ಯೆಯನ್ನು ಒಪ್ಪಿಕೊಂಡರು ಮತ್ತು ಒಂದು ತೇಪೆ ಬಿಡುಗಡೆ ಮಾಡಿದೆ.

ಗಿಗಾಬೈಟ್ ಅವರು ದುರ್ಬಲತೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒಪ್ಪಿಕೊಂಡಿದ್ದಾರೆ ಎಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಕಾಮೆಂಟ್ ಮಾಡಲಿಲ್ಲ.

ಜೊತೆ ಸಂವಹನ ಎಮ್ಎಸ್ಐ ನಮ್ಮ ಸಾರ್ವಜನಿಕ PGP ಕೀಯನ್ನು ಕಳುಹಿಸುವ ನಮ್ಮ ಕೋರಿಕೆಯ ಮೇರೆಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಗಿತಗೊಂಡಿದೆ (ಅವರಿಗೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಭದ್ರತಾ ಸಲಹೆಯನ್ನು ಕಳುಹಿಸಲು). ಅವರು "ಹಾರ್ಡ್‌ವೇರ್ ತಯಾರಕರು ಮತ್ತು PGP ಕೀಗಳನ್ನು ತಯಾರಿಸುವುದಿಲ್ಲ" ಎಂದು ಅವರು ಹೇಳಿದ್ದಾರೆ.

ಆದರೆ ಬಿಂದುವಿಗೆ ಹೆಚ್ಚು. ಫ್ಯೂಸ್‌ಗಳನ್ನು ವಿವರಿಸಲಾಗದ ಸ್ಥಿತಿಯಲ್ಲಿ ಬಿಡುವುದರಿಂದ, ಬಳಕೆದಾರರು (ಅಥವಾ ಆಕ್ರಮಣಕಾರರು) ಅವುಗಳನ್ನು ಸ್ವತಃ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು (ಅತ್ಯಂತ ಕಷ್ಟ Intel STK ಅನ್ನು ಹುಡುಕಿ) ಇದಕ್ಕೆ ಈ ಕೆಳಗಿನ ಹಂತಗಳ ಅಗತ್ಯವಿದೆ.

1. ವಿಂಡೋಸ್ ಓಎಸ್‌ಗೆ ಬೂಟ್ ಮಾಡಿ (ಸಾಮಾನ್ಯವಾಗಿ, ನೀವು ಬಯಸಿದ ಓಎಸ್‌ಗಾಗಿ ಇಂಟೆಲ್ ಎಸ್‌ಟಿಕೆ ಯ ಅನಲಾಗ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರೆ, ಕೆಳಗೆ ವಿವರಿಸಿದ ಹಂತಗಳನ್ನು ಲಿನಕ್ಸ್ ಅಡಿಯಲ್ಲಿ ಸಹ ಮಾಡಬಹುದು). MEinfo ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು, ಈ ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಫ್ಯೂಸ್‌ಗಳನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
2. ಫ್ಲ್ಯಾಶ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಫ್ಲಾಶ್ ಮೆಮೊರಿಯ ವಿಷಯಗಳನ್ನು ಓದಿ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
3. ಯಾವುದೇ UEFI BIOS ಎಡಿಟಿಂಗ್ ಉಪಕರಣವನ್ನು ಬಳಸಿಕೊಂಡು ಓದುವ ಚಿತ್ರವನ್ನು ತೆರೆಯಿರಿ, ಅಗತ್ಯ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿ (ಉದಾಹರಣೆಗೆ ರೂಟ್‌ಕಿಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ), ME ಪ್ರದೇಶದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ KEYM ಮತ್ತು IBBM ರಚನೆಗಳನ್ನು ರಚಿಸಿ / ಸಂಪಾದಿಸಿ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
RSA ಕೀಯ ಸಾರ್ವಜನಿಕ ಭಾಗವನ್ನು ಚಿತ್ರದಲ್ಲಿ ಹೈಲೈಟ್ ಮಾಡಲಾಗಿದೆ, ಅದರ ಹ್ಯಾಶ್ ಅನ್ನು ಚಿಪ್‌ಸೆಟ್ ಫ್ಯೂಸ್‌ಗಳಿಗೆ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಉಳಿದ Intel BG ಕಾನ್ಫಿಗರೇಶನ್‌ನೊಂದಿಗೆ ಮಾಡಲಾಗುತ್ತದೆ.

4. ಫ್ಲ್ಯಾಶ್ ಇಮೇಜ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, ಹೊಸ ಫರ್ಮ್‌ವೇರ್ ಇಮೇಜ್ ಅನ್ನು ನಿರ್ಮಿಸಿ (ಇಂಟೆಲ್ ಬಿಜಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ).

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
5. ಫ್ಲ್ಯಾಶ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಫ್ಲಾಶ್ ಮಾಡಲು ಹೊಸ ಚಿತ್ರವನ್ನು ಬರೆಯಿರಿ, ME ಪ್ರದೇಶವು ಈಗ Intel BG ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು MEinfo ಬಳಸಿ ಪರಿಶೀಲಿಸಿ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
6. ಉತ್ಪಾದನಾ ಮೋಡ್ ಅನ್ನು ಮುಚ್ಚಲು ಫ್ಲ್ಯಾಶ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿ.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
7. ಸಿಸ್ಟಮ್ ರೀಬೂಟ್ ಆಗುತ್ತದೆ, ಅದರ ನಂತರ, MEinfo ಬಳಸಿ, FPF ಗಳನ್ನು ಈಗ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು.

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಈ ಕ್ರಮಗಳು ಶಾಶ್ವತವಾಗಿ ಈ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ Intel BG ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದು ಅಸಾಧ್ಯ, ಅಂದರೆ:

  • ರೂಟ್ ಕೀಲಿಯ ಖಾಸಗಿ ಭಾಗದ ಮಾಲೀಕರು ಮಾತ್ರ (ಅಂದರೆ Intel BG ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದವರು) ಈ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ UEFI BIOS ಅನ್ನು ನವೀಕರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ;
  • ನೀವು ಮೂಲ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ಈ ಸಿಸ್ಟಮ್‌ಗೆ ಹಿಂತಿರುಗಿಸಿದರೆ, ಉದಾಹರಣೆಗೆ, ಪ್ರೋಗ್ರಾಮರ್ ಬಳಸಿ, ಅದು ಆನ್ ಆಗುವುದಿಲ್ಲ (ಪರಿಶೀಲನೆ ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ ಜಾರಿ ನೀತಿಯ ಪರಿಣಾಮ);
  • ಅಂತಹ UEFI BIOS ಅನ್ನು ತೊಡೆದುಹಾಕಲು, ನೀವು ಚಿಪ್‌ಸೆಟ್ ಅನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾದ FPF ಗಳೊಂದಿಗೆ "ಕ್ಲೀನ್" ಒಂದಕ್ಕೆ ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ (ಅಂದರೆ ನೀವು ಕಾರಿನ ಬೆಲೆಯಲ್ಲಿ ಅತಿಗೆಂಪು ಬೆಸುಗೆ ಹಾಕುವ ನಿಲ್ದಾಣಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದರೆ ಚಿಪ್‌ಸೆಟ್ ಅನ್ನು ಮರುಮಾರಾಟ ಮಾಡಿ ಅಥವಾ ಮದರ್‌ಬೋರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಿ. )

ಅಂತಹ ರೂಟ್‌ಕಿಟ್ ಏನು ಮಾಡಬಹುದೆಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, UEFI BIOS ಪರಿಸರದಲ್ಲಿ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ ನೀವು ಮೌಲ್ಯಮಾಪನ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಸೇ, ಪ್ರೊಸೆಸರ್ನ ಅತ್ಯಂತ ಸವಲತ್ತು ಮೋಡ್ನಲ್ಲಿ - SMM. ಅಂತಹ ರೂಟ್ಕಿಟ್ ಈ ಕೆಳಗಿನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರಬಹುದು:

  • OS ನೊಂದಿಗೆ ಸಮಾನಾಂತರವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ (ನೀವು SMI ಅಡಚಣೆಯನ್ನು ರಚಿಸುವ ಮೂಲಕ ಸಂಸ್ಕರಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು, ಇದು ಟೈಮರ್ನಿಂದ ಪ್ರಚೋದಿಸಲ್ಪಡುತ್ತದೆ);
  • SMM ಮೋಡ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿವೆ (RAM ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್ ಸಂಪನ್ಮೂಲಗಳ ವಿಷಯಗಳಿಗೆ ಸಂಪೂರ್ಣ ಪ್ರವೇಶ, OS ನಿಂದ ಗೌಪ್ಯತೆ);
  • SMM ಮೋಡ್‌ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಿದಾಗ ರೂಟ್‌ಕಿಟ್ ಕೋಡ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು. SMM ಮೋಡ್‌ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿರುವ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀಯಾಗಿ ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ, SMRAM ನಲ್ಲಿ ವಿಳಾಸಗಳ ಗುಂಪಿನಿಂದ ಹ್ಯಾಶ್. ಈ ಕೀಲಿಯನ್ನು ಪಡೆಯಲು, ನೀವು SMM ಗೆ ಏರಬೇಕಾಗುತ್ತದೆ. ಮತ್ತು ಇದನ್ನು ಎರಡು ರೀತಿಯಲ್ಲಿ ಮಾಡಬಹುದು. SMM ಕೋಡ್‌ನಲ್ಲಿ RCE ಅನ್ನು ಹುಡುಕಿ ಮತ್ತು ಅದನ್ನು ಬಳಸಿಕೊಳ್ಳಿ ಅಥವಾ ನಿಮ್ಮ ಸ್ವಂತ SMM ಮಾಡ್ಯೂಲ್ ಅನ್ನು BIOS ಗೆ ಸೇರಿಸಿ, ನಾವು ಬೂಟ್ ಗಾರ್ಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿರುವುದರಿಂದ ಇದು ಅಸಾಧ್ಯವಾಗಿದೆ.

ಹೀಗಾಗಿ, ಈ ದುರ್ಬಲತೆಯು ಆಕ್ರಮಣಕಾರರಿಗೆ ಹೀಗೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ:

  • ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅಜ್ಞಾತ ಉದ್ದೇಶದ ಗುಪ್ತ, ತೆಗೆಯಲಾಗದ ರೂಟ್‌ಕಿಟ್ ಅನ್ನು ರಚಿಸಿ;
  • Intel SoC ಒಳಗಿನ ಚಿಪ್‌ಸೆಟ್ ಕೋರ್‌ಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ, ಅವುಗಳೆಂದರೆ, Intel ISH ನಲ್ಲಿ (ಚಿತ್ರವನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡಿ).

ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಶ್ರೋಡಿಂಗರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ಬೂಟ್. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್
ಇಂಟೆಲ್ ISH ಉಪವ್ಯವಸ್ಥೆಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಇನ್ನೂ ಅನ್ವೇಷಿಸಲಾಗಿಲ್ಲವಾದರೂ, ಇದು ಇಂಟೆಲ್ ME ವಿರುದ್ಧ ಆಸಕ್ತಿದಾಯಕ ದಾಳಿ ವೆಕ್ಟರ್ ಎಂದು ತೋರುತ್ತದೆ.

ಸಂಶೋಧನೆಗಳು

  1. ಇಂಟೆಲ್ ಬೂಟ್ ಗಾರ್ಡ್ ತಂತ್ರಜ್ಞಾನವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ತಾಂತ್ರಿಕ ವಿವರಣೆಯನ್ನು ಅಧ್ಯಯನವು ಒದಗಿಸಿದೆ. ಅಸ್ಪಷ್ಟತೆಯ ಮಾದರಿಯ ಮೂಲಕ ಇಂಟೆಲ್‌ನ ಭದ್ರತೆಯಲ್ಲಿ ಒಂದೆರಡು ರಹಸ್ಯಗಳನ್ನು ಮೈನಸ್ ಮಾಡಿ.
  2. ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ತೆಗೆಯಲಾಗದ ರೂಟ್‌ಕಿಟ್ ಅನ್ನು ರಚಿಸಲು ಅನುಮತಿಸುವ ದಾಳಿಯ ಸನ್ನಿವೇಶವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ.
  3. ಆಧುನಿಕ ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳು BIOS ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲೇ ಸಾಕಷ್ಟು ಸ್ವಾಮ್ಯದ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂದು ನಾವು ನೋಡಿದ್ದೇವೆ.
  4. ಇಂಟೆಲ್ 64 ಆರ್ಕಿಟೆಕ್ಚರ್ ಹೊಂದಿರುವ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು ಉಚಿತ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಕಡಿಮೆ ಮತ್ತು ಕಡಿಮೆ ಸೂಕ್ತವಾಗುತ್ತಿವೆ: ಹಾರ್ಡ್‌ವೇರ್ ಪರಿಶೀಲನೆ, ಹೆಚ್ಚುತ್ತಿರುವ ಸ್ವಾಮ್ಯದ ತಂತ್ರಜ್ಞಾನಗಳು ಮತ್ತು ಉಪವ್ಯವಸ್ಥೆಗಳು (SoC ಚಿಪ್‌ಸೆಟ್‌ನಲ್ಲಿ ಮೂರು ಕೋರ್ಗಳು: x86 ME, x86 ISH ಮತ್ತು ARC PMC).

ತಗ್ಗಿಸುವಿಕೆಗಳು

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

-closemnf ಆಯ್ಕೆಯೊಂದಿಗೆ ಫ್ಲ್ಯಾಶ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ ಬಳಕೆದಾರರು ತಮ್ಮ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಇಂಟೆಲ್ ಬಿಜಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು (ವಿವರಿಸಿದ ದುರ್ಬಲತೆಯಿಂದ ಪ್ರಭಾವಿತವಾಗಿರುತ್ತದೆ). ಮೊದಲಿಗೆ, ಎಮ್‌ಇ ಪ್ರದೇಶದಲ್ಲಿ ಇಂಟೆಲ್ ಬಿಜಿಯ ಸಂರಚನೆಯು ಎಫ್‌ಪಿಎಫ್‌ಗಳಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡಿದ ನಂತರ ಈ ತಂತ್ರಜ್ಞಾನವನ್ನು ನಿಖರವಾಗಿ ಆಫ್ ಮಾಡಲು ಒದಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು (MEinfo ಬಳಸಿ) ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು.

ಮೂಲ: www.habr.com

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