האם נכון ש-IKEv1 Aggressive Mode פחות מאו�... - KH1591

שאלות נפוצות

האם נכון ש-IKEv1 Aggressive Mode פחות מאובטח מ-IKEv1 Main Mode?
 

לפני מספר שנים צוות מומחי אבטחה פרסם מאמר המתאר תרחיש התקפה המאפשר לשבור חיבור IKEv1 Aggressive Mode עם Pre-Shared Key, שאינו ניתן ליישום באותו אופן על חיבור IKEv1 Main Mode עם Pre-Shared Key, מה שהוביל להנחה השגויה שמצב Aggressive אינו מאובטח באופן יסודי כמו מצב Main. עם זאת, אם מסתכלים על העובדות בצורה ניטרלית, טענה זו אינה תואמת את המציאות. רוב האנשים אינם מודעים לכך שחלק מההתקפה הזו היה לנסות לנחש את ה-Pre-Shared Key (PSK) באמצעות התקפת "Brute Force", והתקפה כזו יכולה להצליח רק אם ה-PSK נבחר בצורה לא מאובטחת. גם PSK הוא רק סיסמה וכמו תמיד עם סיסמאות, סיסמאות חלשות מובילות לאבטחה ירודה. כל עוד ה-PSK באורך של לפחות 14 תווים (ככל שיותר טוב), מורכב מאותיות קטנות, אותיות גדולות ומספרים ונוצר באופן אקראי לחלוטין (כך שאי אפשר לנחש אותו בקלות) וכל עוד SHA1 נבחר לפחות כפונקציית גיבוב בשלב 1 (או עדיף, מומלץ SHA-256 אם ניתן), אין סיבה להניח שחיבור PSK Aggressive Mode אינו מאובטח באופן יסודי כמו חיבור PSK Main Mode. מי שרוצה להיות בטוח לחלוטין פשוט בוחר באימות מבוסס תעודות, אם אפשר, מכיוון שהדבר הופך את ההתקפה הזו לבלתי אפשרית מלכתחילה.

רקע טכני:

ה-Pre-Shared Key (PSK) אינו סיסמה המשמשת להצפנת נתונים, אלא משמשת אך ורק לאימות, בדומה למצב שבו משתמש מתחבר לאתר אינטרנט באמצעות סיסמה. במהלך שלב 1, שני הצדדים חייבים להוכיח זה לזה שהם מכירים את ה-PSK. כמובן שזה לא יכול להיעשות על ידי שליחת הסיסמה לצד השני, כי גם אם הצד השני לא הכיר אותו עד כה, הוא יכיר אותו לפחות עכשיו. במקום זאת, שני הצדדים חייבים לחשב מספר (ערך גיבוב), שלוקח בחשבון נתונים שהוחלפו כבר על ידי שני הצדדים (ושהם שונים בכל חיבור כדי להבטיח שגם ערך הגיבוב יהיה שונה בכל פעם) וכן את ה-PSK. רק ערך הגיבוב הזה נשלח לצד השני, אשר חייב לבצע בדיוק את אותם החישובים. אם הם מגיעים לאותה תוצאה, אז גם הצד השני חייב היה להשתמש באותו PSK, כלומר הוא מכיר אותו. המשחק חוזר על עצמו שוב בכיוון ההפוך, כאשר החישוב כאן סוטה מעט כדי להבטיח שגם שני ערכי הגיבוב תמיד יהיו שונים, כי שליחת אותו הערך לא תוכיח דבר.

ההבדל בין Main Mode ל-Aggressive Mode הוא פשוט שהמצב Main Mode מעביר את ערך הגיבוב בצורה מוצפנת, מכיוון שתהליך החלפת המפתחות (DH Exchange) המוביל למפתח סשן מאובטח משלים בשלב זה, וברגע שלשני הצדדים יש מפתח סשן, כל החבילות מועברות רק בצורה מוצפנת. עם Aggressive Mode, ערך הגיבוב מועבר בצורה לא מוצפנת, מכיוון שתהליך החלפת המפתחות עדיין לא הושלם בשלב זה. לכן, על ידי מעקב אחר חיבור Aggressive Mode, תוקף יכול לקבל גם את ערך הגיבוב וגם את כל הנתונים הדרושים לחישוב הערך הזה, למעט ה-PSK עצמו. זה לבדו לא אומר שהחיבור נפרץ, הוא פשוט קיבל מספיק מידע כדי להתחיל לחפש את ה-PSK, לדוגמה באמצעות התקפת "Brute Force" (פשוט ניסיון של כל השילובים האפשריים) או התקפת מילון (ניסיון סיסמאות שנבחרו לעתים קרובות שניתן להשיג מדליפות נתונים משירותים מקוונים אחרים). רק אם ה-PSK חלש מדי כדי לעמוד בהתקפות אלה, הוא יכול לשבור את החיבור בסופו של דבר. לכן, PSK טוב ומאובטח מספיק הוא חיוני לאבטחת חיבור VPN PSK.

עם זאת, אותה התקפה אפשרית גם בחיבור Main Mode, היא פשוט דורשת מעט יותר מאמץ. במקרה של Main Mode, זה לא מספיק רק להיות מסוגל לקרוא את תעבורת הנתונים, אלא נדרשת התקפת Man-in-the-Middle (MitM), כלומר תוקף חייב להיות מסוגל ליירט ולשנות את תעבורת הנתונים. באמצעות התקפת MitM, תוקף יכול לעקוף את ההצפנה, מה שלא מספיק כדי לקבל גישה ל-VPN, מכיוון שעדיין נדרש ה-PSK לכך, מכיוון שבלי זה שלב 1 לא יושלם בהצלחה, אך גם אז לתוקף יהיה ערך הגיבוב וכל הנתונים הדרושים לחישוב שלו והוא יכול לנסות לנחש את ה-PSK באותו אופן. ואם תוקף כבר מסוגל לקרוא את כל תעבורת הנתונים (שהיא דרישת מוקדמת לכל תרחיש התקפה), סביר מאוד שהוא גם יוכל לבצע התקפת MitM ובשלב זה Main Mode לא יספק הגנה נוספת.

PSK המורכב מ-11 תווים אלפאנומריים אקראיים בעל אנטרופיה של כ-64 ביט, שהם 2^64 ערכים אפשריים. כרטיסי מסך מתקדמים מודרניים (נכון לשנת 2016) יכולים לחשב בערך מיליארד גיבושי SHA-265 בשנייה. בממוצע, עליך לנסות 50% מכל הערכים האפשריים כדי למצוא התאמה וזה ייקח 292 שנה. אם לתוקף יש לרשותו 100 כרטיסי מסך כאלה, ההתקפה "תימשך" רק בערך 3 שנים. אבל גם עם 14 תווים האנטרופיה היא בסביבות 80 ביט וכאן כרטיס מסך אחד צריך 19,154,798 שנה. אפילו 10,000 כרטיסי מסך לא יקצרו משמעותית את הזמן. ואסור לעולם להתעלם מעלות התקפה כזו. לא כל כך מעלות רכישת כרטיסי המסך, אלא יותר מצריכת החשמל שלהם כאשר כל כרטיסי המסך פועלים בעומס מרבי 24 שעות ביממה במשך שנים, עשורים או אפילו מאות שנים. זה יכול להוביל במהירות לעלויות חשמל של מיליארדי יורו רק כדי לשבור חיבור PSK אחד בעולם. בנוסף, בכל פעם שה-PSK משתנה, התוקף חייב להתחיל מחדש. לכן, אם ה-PSK משתנה רק פעם בשנה, לתוקף יהיה מקסימום שנה למצוא אותו; זה כבר שאפתני למדי, אפילו עם PSK חלש.