
קושחה הפכה לווקטור תקיפה קריטי באבטחת סייבר מודרנית. ככל שארגונים מסתמכים יותר על מערכות חומרה מחוברות ומורכבות, הגנה על קושחת הפלטפורמה - קוד יסודי המוטמע ברכיבי חומרה - הופכת לחשובה מתמיד. הNIST Special Publication (SP) 800-193: Platform Firmware Resiliency Guidelines מספקת הנחיות מקיפות לחיזוק הביטחון וההתאוששות של קושחה במגוון רחב של פלטפורמות מחשוב.
במאמר זה, נתחיל מהבסיס של יכולת התאוששות של פלטפורמת קושחה (Platform Firmware Resilience - PFR) ונמשיך למקרים שימושיים מתקדמים ויישומים מעשיים. מעבר לתיאוריה, נתעמק בדוגמאות מעשיות ובדוגמאות קוד מעשיות (בשימוש ב-Bash/Python). בין אם אתם מתחילים או מקצועני אבטחת סייבר מנוסים, תמצאו מידע מעשי לשפר את רמת האבטחה שלכם בקושחה.
יכולת התאוששת של פלטפורמת קושחה (PFR) היא מסגרת אבטחת סייבר ומגוון טכניקות שנועדו להגן על קושחת הבסיס בפלטפורמות מחשוב מפני איומי סייבר. לפי הגדרת Lace Semiconductor:
"יכולת התאוששת של פלטפורמת קושחה (PFR) היא מסגרת אבטחה שנועדה להגן, לגלות ולהתאושש מאיומי סייבר על פלטפורמות מחשוב."
במילים פשוטות, PFR מספק שכבת הגנה על הקושחה - קוד ברמה נמוכה שמפעיל את החומרה שלכם (לוחות אם, כרטיסי רשת, בקרי דיסקים וכו') - ומבטיח שלא תהיה מטרה קלה לתוקפים.
תקיפות קושחה יכולות להיות נסתרות והרסניות, עם תוקפים עולמיים או האקרים מיומנים שמתקינים נוזקות מתמשכות, דלתות אחוריות או rootkits. תקיפות כאלה יכולות לעקוף את אבטחת מערכות ההפעלה, לשרות מחיקות/אתחולים, ולסכן את אבטחת הארגון לטווח הארוך.
ככל שהתקפות על שרשרת האספקה נעשות יותר מתוחכמות, הבטחת הקושחה חייבת להיות דאגה ראשונית באבטחת הסייבר.
מסמך NIST Special Publication 800-193 מציב הנחיות לחיזוק האבטחה והחוסן של קושחת פלטפורמה ונתונים קריטיים. הפרסום מפרט:
מטרות מרכזיות של SP 800-193:
ההנחיות מכוונות לקושחת המערכת (לדוגמה, UEFI/BIOS, בקרי ניהול לוחות אם - BMCs, ROMים אופציונליים ובקרים מוטמעים) שנמצאים בשרתים, מחשבים שולחניים, מחשבים ניידים ופלטפורמות דומות.
החומרה כוללת מנגנונים מרכזיים של חוסן המכונים שלוש לבבות:
מטרה: למנוע שינוי בלתי מורשה או מזיק לקושחת הפלטפורמה או נתוני הקונפיגורציה.
אסטרטגיות הגנה:
דוגמה: UEFI Secure Boot אוכף קושחה חתומה ואתחולי מערכת ההפעלה בזמן אתחול, תוך הפחתת הסיכון לנוזקות ברמת האתחול.
מטרה: לזהות מתי קושחה או נתוני קונפיגורציה שונו, הושחתו או הוחלפו בגרסאות מזיקות.
אסטרטגיות גילוי:
דוגמה: מדידה של אמינות TPM מבטיח את תקינות הקושחה בזמן אתחול, מדווח למנהלי מערכות על הפרות.
מטרה: להשיב את הקושחה ונתוני פלטפורמה נלווים למצב ידוע ומהימן אחרי התקפה או כשל.
אסטרטגיות התאוששות:
דוגמה: שרתים מודרניים שומרים עותק מאומת של קושחת המערכת באיזור חבוי, ומשחזרים אותו אוטומטית אם הקושחה הראשית מושחתת.
תסריט: במרכז נתונים בקנה מידה רחב, כל לוח אם של שרת כולל בקר ניהול לוח אם (BMC) שמריץ קושחה מבוססת Linux מטמיע. תוקפים מנסים להשחית את קושחת ה-BMC באמצעות ניצול מרוחק, ומשיגים שליטה מתמשכת בניהול כוח, חיישנים ודימות מערכת.
חלוקה עם PFR:
תסריט: שחקנים מושחתים חודרים לשרשרת האספקה כדי לטעון קושחה לא מורשית או עם דלתות אחוריות עוד לפני שהמערכות מגיעות למשתמשים.
חלוקה עם PFR:
נבחן את הבסיסים של סריקת קושחת UEFI/BIOS בסביבת Linux, תוך שאיבה מהכלים הפתוחים ליתר זוגיות קושחה כמו fwupd ו-chipsec.
התקינו והשתמשו ב-fwupd כדי לרשום מכשירים ולעדכן קושחה:
sudo apt-get install fwupd -y
sudo fwupdmgr get-devices
sudo fwupdmgr get-updates
נניח שיש לכם את תמונת קושחת ה-UEFI של המערכת "הידועה" (golden_fw.bin). השוו את הdump הקושחה הנוכחי מולו באמצעות sha256sum:
# dump קושחה נוכחית (בעת שימוש ב-flashrom)
sudo flashrom -p internal -r current_fw.bin
# חישוב והשוואת תוויות
sha256sum golden_fw.bin current_fw.bin
diff golden_fw.bin current_fw.bin || echo "פיטגון קושחה: התרעה!"
בדיקה בסיסית זו מסמנת שינויים בלתי מורשים.
CHIPSEC הוא כלי כוחני מבוסס CLI של הערכת ביטחון פלטפורמות וספריית Python.
התקנת CHIPSEC:
git clone https://github.com/chipsec/chipsec
cd chipsec
sudo python3 setup.py install
ביצוע בדיקת תקינות קושחה:
sudo chipsec_main.py -m modules.common.bios_wp
בדיקת ההגנה על כתיבה של BIOS.
נניח שכלי שלכם פולט יומנים בטקסט פשוט או JSON. תוכלו לבצע אוטומציה של התראת על ידי ניתוח תוצאות ב-Python.
נניח ש-chipsec מייצר תפוקה דומה ל:
[ INFO ] הגנת כתיבה באזור BIOS מופעלת (0x6)
[ INFO ] האזור BIOS מוגן כתיבה.
[ WARNING ] תצורת SMM/BMC לא מאובטחת!
נרצה לגלות קווים שבהם מופיע 'WARNING' או 'FAILED'.
import re
def parse_chipsec_log(logfile):
alerts = []
with open(logfile, "r") as f:
for line in f:
if re.search(r'\[ (WARNING|FAILED) \]', line):
alerts.append(line.strip())
return alerts
alerts = parse_chipsec_log("/var/log/chipsec_scan.txt")
if alerts:
print("זבוכות ביטחון קושחה וודאו:")
for alert in alerts:
print(alert)
else:
print("אין בעיות ביטחוניות קושחה קריטיות זוהו.")
דוחג מירכזים של לוגים ותיום**
"אתחול נמדד" משלב מדידות של קושחה ואתחול עם חומרת Trusted Platform Module (TPM):
sudo apt install tpm2-tools
sudo tpm2_pcrread
בחנו ערכי Platform Configuration Register (PCR), המשקפים מדידות בזמן אתחול.
חלק מהפלטפורמות משתמשות במכשירי PFR ייעודיים (כלומר, ה-MachXO3D של Lattice, פתרונות PFR של Intel) כשורש חומרה לאחסנה (HRoT):
קושחת פלטפורמה מודרנית יכולה ליישם הגנת זיכרון (למשל, MMU, עוגיות עבור קוד SMM) ואמצעי הפחתת ניצול.
יכולת התאוששת של פלטפורמת קושחה (PFR), כמתוארת ב-NIST SP 800-193, היא הגנה חיונית מול אחת מהתקפות הסייבר העקפניות והעקשניות ביותר. על ידי מעבר מפריסה חד פעמית ושכחה של קושחה ל-מחזור של הגנה, גילוי ו-התאוששות, ארגונים בונים מערכת חיסון עמידה עבור החומרה שלהם.
התעלמות מאבטחת קושחה אינה עוד אפשרות. עם PFR וביקורת על SP 800-193, היסודות שלכם יהיו חסונים כמו ערמת התוכנה שלכם.
NIST SP 800-193 פרסום רשמי:
https://csrc.nist.gov/pubs/sp/800/193/final
NIST PDF (מפרסום מלא):
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf
מהי יכולת התאוששת של פלטפורמת קושחה (Lattice Semiconductor):
https://www.latticesemi.com/en/What-is-Platform-Firmware-Resilience
מסגרת ביטחון קושחה CHIPSEC:
https://chipsec.github.io
כלי אבטחת קושחה Linux fwupd:
https://fwupd.org
קבוצת מחשוב מהימנה (מידע על TPM):
https://trustedcomputinggroup.org
מאמר זה הוא חלק מסדרה על ניהול הנחיות האבטחה של NIST. לעוד מדריכים מעמיקים לאבטחה, הרשמו או עקבו אחר הבלוג שלנו!
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.