
בנוף הדיגיטלי המתפתח במהירות של היום, ארגונים ואנשים פרטיים רבים ממשיכים להסתמך על חומרה מיושנת עבור פעולות קריטיות. בעוד ששימוש במערכות מורשת עשוי להיראות כפתרון חסכוני או נוח, הוא מציב סיכוני אבטחה משמעותיים שלעתים קרובות נחשבים מובנים מאליהם. בלוג טכני ארוך זה יחקור כיצד חומרה ישנה יכולה להציג איומים חדשים – כולל דלתות אחוריות חומרתיות, אישורים ברירת מחדל, פגיעויות שלא ניתן לתקן וטכניקות ניצול בעולם האמיתי – אל תוך מצב האבטחה הסייברית שלך. נספק גם פקודות סריקה מעשיות ודוגמאות קוד לזיהוי חומרה מסוכנת בסביבה שלך, מה שהופך את המדריך הזה לשימושי הן עבור מתחילים והן עבור משתמשים מתקדמים.
ארגונים ממשיכים לעיתים קרובות להפעיל שרתי מורשת, נתבים, שולחנות עבודה, מכשירים מוטמעים או אלקטרוניקה צרכנית מעבר לתוחלות החיים המתוכננות שלהם. הסיבות נעות מ"ממה שעובד אין צורך לתקן אותו״, הגבלות תקציביות, או הצורך בתאימות עם תוכנה ישנה.
עם זאת, חומרה מיושנת הופכת ל חובת אבטחה בשל:
אדריכלות חומרה ישנה, קושחה ואבטחה מוטמעת כמעט אף פעם לא מתאימים לנוף התקיפה של היום. זה מאפשר לשחקנים עוינים לנצל פגיעויות ברמה שאינה נראית למערכות אבטחת תוכנה מסורתיות.
דלת אחורית חומרתית היא פגם מכוון או תאונתי בעיצוב הפיזי של מכשיר, המאפשר לעקוף מנגנוני אבטחה. בניגוד לתוכנות זדוניות מבוססות תוכנה, דלתות אחוריות חומרתיות ניתנות להוספה בשלבי ייצור, שרשרת אספקה או קושחה, והן קשות מאד לזיהוי או לתיקון ללא החלפת רכיבים פיזיים.
דלתות אחוריות יכולות להתקיים ב:
מחקר האבטחה ג'ונתן בוסארד הדגים (The Hacker News, 2012) דלת אחורית מבוססת חומרה (Rakshasa) שמחליפה את ה-BIOS/UEFI המערכת בקושחה זדונית, כדי להשיג התפשטות הדרגתית. ברגע שהקושחה מותקנת, התכנה הזדונית יכולה:
ב-2018, Bloomberg דיווח כי חבלה בשרשרת האספקה הסינית האשימה הכניסה שבבים זדוניים ללוחות האם של Supermicro שהשתמשו על ידי חברות אמריקאיות גדולות, פוטנציאלית מאפשרת גישה דרך דלת אחורית מרחוק. אמנם הדיווח עדיין שנוי במחלוקת, אך הגילויים מדגישים את הסיכונים של שרשרת האספקה הגלובלית.
כיום, מעבדים מובילים מ-Intel ו-AMD כוללים מנועי ניהול נמוכי-רמה כמו Intel Management Engine (IME) ו-AMD Platform Security Processor (PSP):
כמוסבר בפורום r/privacy ב-Reddit:
המעבדים המודרניים של אינטל ו-AMD מאפשרים גישה מרחוק באמצעות חומרה ויש להם את רמת ההרשאה העמוקה ביותר, מה שיכול לאפשר כיבויים מרחוק...
רקשה, מבוסארד, היא בולטת בכך שהיא:
תקציר טכני מתוך מאמר ה-Hacker News:
"...הדלת האחורית מאפשרת לתוקף לגשת מרחוק למערכת הפרוצה כרצונו ואפילו להתקין מחדש תכניות זדוניות לאחר ניקוי מלא של המערכת".
Jonathan Brossard’s Rakshasa BIOS Backdoor - מצגת שקופיות
חומרה ישנה (נתבים, מדפסות, מצלמות, מכשירי IoT ותעשייתיים) לעיתים קרובות מופיעה עם:
תוקפים סורקים באופן תדיר את המכשירים האלה. מנועי חיפוש כמו Shodan יכולים לאתר מכשירים מחוברים עם פתחות מנהליות פתוחות של telnet/SSH/http, וכל אחד עם אישורים ברירת המחדל יכול להיכנס ולשלוט בהם.
הקושחה לרוב:
תקלה בקושחה ישנה יכולה לאפשר לתוקפים לקחת שליטה מלאה במאמץ מועט, ויצרנים תדירות לא מציעים דרכי עדכון למכשירים כאלה.
כשהחומרה מגיעה ל"סוף חיים", ספקים מפסיקים את התמיכה:
תוקפים יכולים לפתח ניצולים פומביים (שום מקום אחר להסתתר), בידיעה שהמכשירים לא יכולים להיות מתוקנים.
הבאגים** Meltdown ו-Spectre** שנחשפו ב-2018 הדגישו כיצד תכנון חומרה בסיסי יכול להציג סיכון אוניברסלי. פגיעויות אלה איפשרו לתוקפים:
תיקונים עבור כמה שבבים היו בלתי אפשריים בפשוטם, במיוחד עבור מעבדים ישנים שחסרו מנגנוני עדכון קוד מיקרו. מכשירים ישנים נותרו ניתנים לניצול קבוע.
פגמים בלתי ניתנים לתיקון אחרים:
כדי לזהות את החומרה ולבדוק ספק, דגם וגרסת קושחה:
sudo dmidecode | less
רשימת התקני PCI/USB, כולל בקרי רשת:
lspci
lsusb
מיפוי תמיכת CPU וגיל המיקרוקוד:
cat /proc/cpuinfo
dmesg | grep microcode
בירור גרסת ה-BIOS/UEFI הנוכחית:
sudo dmidecode -t bios
מציאת כל המכשירים ברשת שעשויים להשתמש בקר
nmap -sV 192.168.1.0/24
סריקה של פתחות קריטיות (http/telnet/ssh):
nmap -p 22,23,80,443,8080 192.168.1.0/24
curl ו-wget):curl -s http://<device-ip>/ | grep -i firmware
#!/bin/bash
echo "איסוף מידע על BIOS..."
sudo dmidecode -t bios | grep -E 'Vendor|Version|Release Date'
echo "זיהוי CPU..."
cat /proc/cpuinfo | grep -E 'model name|flags' | uniq
import nmap
nm = nmap.PortScanner()
nm.scan('192.168.1.0/24', arguments='-sV -p 22,23,80,443,8080')
for host in nm.all_hosts():
print("מארח : %s" % host)
for proto in nm[host].all_protocols():
print("פרוטוקול : %s" % proto)
ports = nm[host][proto].keys()
for port in ports:
service = nm[host][proto][port]['product']
version = nm[host][proto][port]['version']
print("Port : %s\tשירות: %s\tגרסה: %s" % (port, service, version))
על מכשירים שזוהו, השתמש ב-hydra כדי לבדוק אישורים ברירת מחדל:
hydra -L users.txt -P passwords.txt <device-ip> http-get
אזהרה: השתמש רק במכשירים שאתה בעליהם או יש לך הרשאה לבדוק!
כפי שחקרנו, חומרה ישנה היא לא רק צוואר בקבוק בביצועים – היא היא קושי ביטחוני. מדלתות אחוריות חומרתיות, אישורים ברירת מחדל, ופגיעויות שלא ניתן לתקן, ועד למציאות המודרנית והתקפות מבוססות-מורשת, מכשירים מיושנים מחלישים את תנוחת האבטחה שלכם בשכבות העמוקות ביותר. התקפות שניצלו חולשות אלה אינן עוד תיאורטיות; הן היו שורש להפרות מרכזיות ואיומים מתמשכים ברחבי העולם.
צעדי פעולה:
עם ניהול פרואקטיבי, תוכל למזער את הסיכונים הנובעים מכך ולשמור על הביטחון כנגד איומים חומרתיים קלאסיים ומודרניים גם יחד.
על ידי הבנת וסגירת סיכוני האבטחה שבחומרה ישנה, אתה לא רק מגן על התשתית שלך – אתה מסייע לשמירה על הביטחון של הסביבה הדיגיטלית הרחבה יותר.
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.