בתחום אבטחת הסייבר, במיוחד בנוגע לאבטחת האחסון בשרתי אחסון לא מהימנים, תחזוקה של יומן פעולות עקבי וניתן לאימות הוא בעל חשיבות עליונה. דרישה זו נובעת מההכרח להבטיח שלמות נתונים, זמינות וסודיות בסביבות שבהן לא ניתן לסמוך באופן מלא על תשתית האחסון. שרתי אחסון לא מהימנים מהווים סיכונים משמעותיים, כולל שינוי נתונים לא מורשה, מחיקה וגישה לא מורשית. לפיכך, יומן פעולות עקבי וניתן לאימות משחק תפקיד חשוב בהפחתת סיכונים אלו.
יומן פעולות עקבי מתייחס לרשומה רציפה וכרונולוגית של כל הפעולות שבוצעו בנתונים המאוחסנים בשרת. יומן זה צריך להיות בלתי ניתן לשינוי וברור שיבוש, מה שמבטיח שניתן לזהות כל שינוי לא מורשה. המשמעות של יומן כזה טמונה ביכולתו לספק היסטוריה מדויקת ומהימנה של כל האינטראקציות עם הנתונים, אשר חיונית לביקורת, ניתוח משפטי ועמידה בדרישות הרגולטוריות.
כדי להשיג יומן פעולות עקבי וניתן לאימות, ניתן להשתמש במספר טכניקות וטכנולוגיות. אלה כוללים שיטות הצפנה, מנגנוני רישום מאובטחים ופרוטוקולי קונצנזוס. להלן, נשקול שיטות אלה בפירוט:
שיטות קריפטוגרפיות
1. Hash Chains: שרשרת hash היא רצף של ערכי hash כאשר כל ערך hash תלוי בקודם. זה יוצר קישור בין כל רישום ביומן, ומבטיח שכל שינוי בערך ישבור את השרשרת. לדוגמה, אם ערכי היומן מיוצגים על ידי , ניתן לבנות את שרשרת ה-hash באופן הבא:
איפה מציין פונקציית hash קריפטוגרפית, ו
מייצג שרשור. מבנה זה מבטיח שכל התעסקות עם רישום יומן
יגרום לאי התאמה בערכי ה-hash הבאים, ובכך לחשוף את החבלה.
2. חתימה דיגיטלית: כל רשומת יומן יכולה להיות חתומה דיגיטלית על ידי גורם מהימן באמצעות קריפטוגרפיה אסימטרית. חתימה דיגיטלית מספקת אותנטיות ושלמות, שכן ניתן לאמת אותה באמצעות המפתח הציבורי של החותם. לדוגמה, אם ערך יומן חתום עם מפתח פרטי
, החתימה
ניתן לאמת על ידי כל מי שיש לו גישה למפתח הציבורי המתאים
. שיטה זו מבטיחה שכל שינוי ב
יבטל את תוקף החתימה.
3. עצי מרקל: עץ מרקל הוא עץ בינארי שבו כל צומת עלה מייצג גיבוב של ערך יומן, וכל צומת פנימי מייצג את הגיבוב של צמתי הצאצא שלו. השורש של עץ מרקל, המכונה שורש מרקל, מספק ערך גיבוב יחיד המייצג את כל קבוצת ערכי היומן. מבנה עץ מרקל מאפשר הוכחה יעילה וניתנת לאימות של הכללה, כלומר ניתן להוכיח האם רישום יומן מסוים הוא חלק מהיומן מבלי לחשוף את היומן כולו. זה שימושי במיוחד לשמירה על פרטיות תוך הבטחת שלמות.
מנגנוני רישום מאובטחים
1. יומנים להוספה בלבד: יומן הוספה בלבד הוא מבנה יומן שבו ניתן להוסיף רק ערכים ולא לשנות או למחוק. חוסר שינוי זה מבטיח שברגע שרשומה נרשמה, היא תישאר ביומן לצמיתות. הטמעת יומני הוספה בלבד כרוכה בדרך כלל בשימוש במדיית אחסון מסוג WORM או שימוש במנגנונים מבוססי תוכנה המונעים שינויים בערכי יומן קיימים.
2. טכנולוגית Blockchain: בלוקצ'יין היא טכנולוגיית ספר חשבונות מבוזרת ומבוזרת המספקת מטבעה יומן פעולות עקבי וניתן לאימות. כל בלוק בבלוקצ'יין מכיל רשימה של עסקאות (כניסות יומן), חותמת זמן ו-hash קריפטוגרפי של הבלוק הקודם. שרשרת בלוקים זו מבטיחה שכל התעסקות בבלוק תבטל את תוקף הבלוקים הבאים. טכנולוגיית הבלוקצ'יין משתמשת גם בפרוטוקולי קונצנזוס כדי להשיג הסכמה בין צמתים מבוזרים, ולשפר עוד יותר את האבטחה והאמינות של היומן.
3. סביבות ביצוע מהימנות (TEE): TEEs, כגון Intel SGX או ARM TrustZone, מספקים מובלעת מאובטחת בתוך מעבד שבה ניתן להפעיל קוד ונתונים ולאחסן אותם בצורה מאובטחת. על ידי מינוף TEEs, ניתן להבטיח שרשומות יומן רישום ושמירה בסביבה מאובטחת ומבודדת, מוגנת מפני שיבוש על ידי שרת האחסון הלא מהימן. ניתן להשתמש ב-TEEs גם ליצירת ואחסון מאובטח של מפתחות קריפטוגרפיים המשמשים לחתימה על רשומות יומן.
פרוטוקולי קונצנזוס
במערכות מבוזרות, השגת עקביות ואימות של יומנים דורשת לעתים קרובות פרוטוקולי קונצנזוס כדי להבטיח שכל הצמתים במערכת מסכימים על הסדר והתוכן של כניסות היומן. כמה פרוטוקולי קונצנזוס נפוצים כוללים:
1. Paxos: Paxos היא משפחה של פרוטוקולי קונצנזוס שנועדו להשיג הסכמה בין צמתים מבוזרים בנוכחות כשלים. Paxos מבטיחה שכל הצמתים הלא פגומים מסכימים על אותו רצף של כניסות יומן, ומספקים עקביות וסובלנות תקלות.
2. רפסודה: Raft הוא אלגוריתם קונצנזוס נוסף שנועד להיות מובן וקל יותר ליישום מאשר Paxos. Raft מחלק את תהליך הקונצנזוס לבחירת מנהיג, שכפול יומן ובטיחות, ומבטיח שהיומן המופץ יישאר עקבי וניתן לאימות.
3. סובלנות לתקלה ביזנטית (BFT): פרוטוקולי BFT, כגון Practical Byzantine Fault Tolerance (PBFT), נועדו להשיג קונצנזוס במערכות שבהן צמתים עלולים להפגין תקלות שרירותיות (ביזנטיות), כולל התנהגות זדונית. פרוטוקולי BFT מבטיחים שהיומן נשאר עקבי וניתן לאימות גם בנוכחות צמתים זדוניים.
דוגמא מעשית
שקול תרחיש שבו מוסד פיננסי משתמש בשירות אחסון ענן לא מהימן כדי לאחסן יומני עסקאות. כדי להבטיח את שלמותם ואימתם של יומנים אלה, המוסד יכול ליישם את האמצעים הבאים:
1. Hash Chains: כל ערך יומן עסקאות עובר גיבוב ומקושר לערך הקודם באמצעות שרשרת גיבוב. זה מבטיח שכל התעסקות ברישומת יומן תהיה ניתנת לזיהוי.
2. חתימה דיגיטלית: כל רישום ביומן חתום דיגיטלית על ידי המפתח הפרטי של המוסד. זה מספק אותנטיות ואי-דחייה, שכן ניתן לאמת את החתימה באמצעות המפתח הציבורי של המוסד.
3. עצי מרקל: המוסד בונה מעת לעת עץ מרקל של ערכי היומן ומפרסם את שורש מרקל בלוח מודעות ציבורי או בלוקצ'יין. זה מאפשר לכל אחד לאמת את תקינות ערכי היומן מבלי לגשת ליומן כולו.
4. Blockchain: המוסד יכול גם להקליט את יומני העסקאות בבלוקצ'יין פרטי. האופי המבוזר של הבלוקצ'יין מבטיח שהיומן יישאר עקבי וניתן לאימות, אפילו בנוכחות שרתי אחסון לא מהימנים.
5. TEEs: המוסד יכול למנף TEEs כדי להקליט מאובטח ולאחסן רשומות יומן בתוך מובלעת מאובטחת, ולהגן עליהם מפני שיבוש על ידי שרת האחסון הלא מהימן.
6. פרוטוקולי קונצנזוס: אם המוסד משתמש במערכת אחסון מבוזרת, הוא יכול להשתמש בפרוטוקולי קונצנזוס כגון Raft או PBFT כדי להבטיח שכל הצמתים מסכימים על הסדר והתוכן של יומני העסקאות.
על ידי יישום אמצעים אלה, המוסד הפיננסי יכול לשמור על יומן פעולות עקבי וניתן לאימות, להבטיח את השלמות, הזמינות והסודיות של יומני העסקאות שלו, גם בעת שימוש בשרתי אחסון לא מהימנים.
שאלות ותשובות אחרונות אחרות בנושא אבטחת מערכות מחשב מתקדמות EITC/IS/ACSS:
- מה הם חלק מהאתגרים והפשרות הכרוכים ביישום חומרה ותוכנה למניעת התקפות תזמון תוך שמירה על ביצועי המערכת?
- איזה תפקיד ממלא מנבא הענפים בהתקפות תזמון CPU, וכיצד יכולים התוקפים לתמרן אותו כדי להדליף מידע רגיש?
- כיצד תכנות בזמן קבוע יכול לעזור להפחית את הסיכון של תזמון התקפות באלגוריתמים קריפטוגרפיים?
- מהו ביצוע ספקולטיבי, וכיצד הוא תורם לפגיעות של מעבדים מודרניים לתזמון התקפות כמו Spectre?
- כיצד מנצלות התקפות תזמון שינויים בזמן הביצוע כדי להסיק מידע רגיש ממערכת?
- במה המושג של עקביות מזלג שונה מעקביות אחזור-שינוי, ומדוע עקביות מזלג נחשבת לעקביות החזקה ביותר שניתן להשיג במערכות עם שרתי אחסון לא מהימנים?
- מהם האתגרים והפתרונות הפוטנציאליים ליישום מנגנוני בקרת גישה חזקים כדי למנוע שינויים לא מורשים במערכת קבצים משותפת בשרת לא מהימן?
- כיצד טכניקות הצפנה כמו חתימות דיגיטליות והצפנה יכולות לעזור להבטיח את השלמות והסודיות של נתונים המאוחסנים בשרתים לא מהימנים?
- מהם שרתים ביזנטיים, וכיצד הם מהווים איום על אבטחת מערכות האחסון?
- כיצד פרוטוקולים כמו STARTTLS, DKIM ו-DMARC תורמים לאבטחת דוא"ל, ומהם התפקידים שלהם בהגנה על תקשורת דוא"ל?
צפה בשאלות ותשובות נוספות ב-EITC/IS/ACSS Advanced Computer Systems Security