מרגל העובד במתקן גרעין בארץ אויב, נשלח על ידי מפעיליו להתקין תולעת ברשת המחשבים של המתקן (מדובר בסיפור דמיוני שכל קשר בינו לבין המציאות הוא מקרי לחלוטין).
אבל יש בעיה.
רשת המחשבים שבמתקן מבודדת מהאינטרנט, כלומר אין בא ואין יוצא אל העולם שבחוץ. כמעט.
הדרך היחידה להכניס קבצים אל המתקן היא דרך שער כניסה דיגיטלי יחיד ומאובטח היטב.
כמה מאובטח?
בתור התחלה, כל קובץ שרוצים להכניס אל הרשת נסרק בשער הכניסה על ידי עשרות תוכנות אנטי-ווירוס מהשורה הראשונה. מערכות אלה בודקות האם הקובץ מכיל פוגענים שונים כגון ווירוסים, תולעים, סוסים ושאר מרעין בישין. בנוסף, הן בודקות אם מדובר בקובץ מוצפן שהן לא יכולות לסרוק את תוכנו ולזכות אותו מכל חשד.
במידה ואחת מתוכנות ההגנה מזהה פוגען או שהקובץ סומן כמוצפן, הקובץ ייחסם והמרגל שלנו יהיה בבעיה.
במידה והכל עבר בשלום, הקובץ מגיע אל שומר סייבר אנושי שבוחן אותו בעצמו. למשל, אם מדובר במסמך, הוא פותח אותו ומוודא שתוכנו תמים, ואם מדובר בתמונה, הוא צופה בה ומוודא שהכל כשורה. במידה ועולה חשד שהמרגל מנסה להבריח משהו פנימה, הוא נמצא בבעיה גדולה אף יותר.
רק אם הקובץ עמד בגבורה בכל המבחנים, הוא יועבר אחר כבוד לרשת המחשבים המבודדת של המתקן הגרעיני (במחשבי הרשת לא מותקנים אמצעי הגנה שכן ההנחה היא שמה ששרד את מסכת הייסורים שבשער הכניסה למתקן הינו תמים לחלוטין ובלתי מזיק. למעשה גם אם על עמדות הקצה מותקן אנטי-וירוס, עדיין מדובר באמצעי יחיד שאותו יותר קל לעבור, לעומת עשרות תוכנות ההגנה שבשער הכניסה).
אז איך יתגבר המרגל הדמיוני שלנו על כל המכשולים?
איך הוא יצליח להערים הן על עשרות תוכנות הגנת הסייבר והן על השומר האנושי?
על ידי הסתרת מידע, סטגנוגרפיה, כמובן.
לצורך הדוגמא נשתמש בשיטת הסתרה בסיסית ביותר ופשוטה עד כדי גיחוך שלא דורשת התקנה של שום תוכנת סטגנוגרפיה.תחילה, המרגל ידחוס ויצפין את הפוגען על ידי תוכנת כיווץ סטנדרטית. ברור שהקובץ הדחוס והמוצפן לא יוכל לעבור בשער הכניסה כמו שהוא ועל כן על המרגל להסתירו.
לשם כך המרגל יבחר תמונה תמימה מהטיול האחרון שלו לטרויה. את הפוגען המוצפן הוא ״ידביק״ בסוף הקובץ של התמונה על ידי כלים סטנדרטים (בגדול זה כמו לקחת שני מסמכים ולחבר אותם למסמך אחר שמכיל את התוכן של שניהם).
והתוצאה היא תמונה תמימה שבסופה יש קובץ דחוס ומוצפן. מי שיקליק על התמונה יראה את התמונה התמימה בלבד. אולם אם המרגל ישנה את הסיומת שלה מ-png ל-zip הוא יוכל לפתוח אותה בקלות על כל מחשב ולחלץ מתוכה את התולעת הדמיונית בלי להשתמש באף תוכנת סטגנוגרפיה.
מדוע הטריק הזה עובד?
כי התוכנות הסטנדרטיות להצגת תמונות מסתכלות על הקובץ מההתחלה לסוף ובמידה והן מזהות מבנה של תמונה הן מציגות אותה (אפילו אם אחריה בקובץ מודבק עוד מידע לא רלוונטי, כגון הקובץ המוצפן שלנו).
ואילו התוכנות הסטנדרטיות לפתיחת קבצים דחוסים מסתכלות על הקובץ מהסוף להתחלה ובמידה והן מזהות מבנה של קובץ דחוס הן פותחות אותו (גם אם בתחילת הקובץ יש מידע לא רלוונטי, כמו התמונה שלנו).
והנה יש לנו הסתרה בסיסית בחינם ממש, בלי פיתוח של אף כלי מתוחכם.
עד כמה שההסתרה הזאת נשמעת קלה ופשוטה לזיהוי (והיא באמת כך), עד לפני כמה שנים השתמשו בשיטות דומות להעברת מידע וקוד זדוני מיטב תוקפי הסייבר בעולם (ולפי פרסומים שונים אפילו תוקפי הכור הגרעיני באיראן השתמשו בטכניקות אלה). חשוב לציין ששיטה זאת מאפשרת העברה של מידע באופן מוסתר מתחת לרדאר אבל לא מדובר בהרצה של הקוד הזדוני עצמו.
אז עכשיו נותר לגלות מה חושבות מערכות הגנת הסייבר על הקובץ הזה (התמונה) והאם הוא יעבור בהצלחה את השומר האנושי שבשער הכניסה הדיגיטלי.
לצורך הבדיקה השתמשתי בשירות של VirusTotal שהוא האורים והתומים של סריקות הקבצים בעולם הסייבר. VirusTotal למעשה בודק את הקובץ אל מול עשרות תוכנות הגנה שמחפשות בו פוגענים. בסיום הבדיקה מתקבל דו״ח שאומר כמה תוכנות הגנה זיהו את הקובץ כחשוד והאם מדובר בקובץ מוצפן. כלומר, זהו שער הכניסה הדיגיטלי של המתקן הגרעיני הדמיוני.
על מנת להיכנס בשער הכניסה, על הקובץ לעמוד בשלושה מבחנים:
- מבחן הזדוניות – אף תוכנת הגנה לא תזהה אותו כפוגען
- מבחן ההצפנה – אף תוכנת הגנה לא תסמן אותו כמוצפן
- מבחן התמימות – השומר האנושי שיפתח את הקובץ יראה תוכן תמים בלבד
לשם הבדיקה לקחתי פוגען ידוע ומוכר. תחילה דחסתי אותו בתוכנת zip סטנדרטית עם סיסמא ולכן התוכנה גם כיווצה וגם הצפינה אותו עבורי. את הקובץ המוצפן ״הדבקתי״ לסוף של תמונה תמימה. לבסוף, שלחתי את התמונה ל-VirusTotal לסריקה.
והתוצאה, אף תוכנת הגנה לא סימנה אותה כחשודה (מבחן הזדוניות), התמונה לא סומנה כמוצפנת (מבחן ההצפנה) והקלקה על התמונה הציגה את תוכנה התמים בלבד (מבחן התמימות).
כלומר, השימוש בהסתרה פשוטה איפשר למרגל הדמיוני שלנו להעביר את הפוגען דרך שער הכניסה הדיגיטלי אל תוך רשת המחשבים של המתקן הגרעיני מבלי לעורר חשד.
המשך הפוסט מתאר את הניסוי המלא שביצעתי והוא כבר יותר טכני ומיועד לגיקים שביניכם.
אבל לפני שאתם עוזבים או ממשיכים, אשמח אם תצטרפו לקבוצה שהקמתי בנושא אומנות הסתרת המידע, סטגנוגרפיה וצפנים בה מופיעים סיפורים שונים מהעת העתיקה ועד לעידן הסייבר.
על מנת להבין מה באמת נדרש כדי לעבור את תוכנות ההגנה ועד כמה הן בודקות לעומק את הקבצים הנסרקים ייצרתי מספר גרסאות של הקובץ, בדרגות הסתרה והצפנה שונות, ובדקתי אותן אל מול VirusTotal:
- הקובץ המקורי של הפוגען – ללא הסתרות והצפנות (נקרא לו evil.exe)
- פוגען דחוס ולא מוצפן – דחיסה בתוכנת zip ללא הצפנה (zip evil.zip evil.exe)
- פוגען דחוס ומוצפן – דחיסה והצפנה בתוכנת zip (zip -e evil_enc.zip evil.exe)
- תמונה תמימה + פוגען – שרשור הפוגען המקורי לתמונה התמימה (cat troy.png evil.exe > troy_trip.png)
- תמונה תמימה + פוגען דחוס ולא מוצפן – שרשור הפוגען הדחוס לתמונה התמימה (cat troy.png evil.zip > troy_trip.png)ֿ
- תמונה תמימה + פוגען דחוס ומוצפן – כבר הבנתם מה זה אומר (cat troy.png evil_enc.zip > troy_trip.png)
המנצח התחרות הוא מי שעובר את שלושת המבחנים בשלום.
התוצאות המלאות בתמונה המצורפת, כולל תשובת VirusTotal מבחינת מספר מערכות הגנה שזיהו את הקובץ כפוגען והאם הוא סומן כמוצפן.
רק התמונה התמימה אליה הודבק הפוגען הדחוס והמוצפן עברה בשלום את כל המבחנים ולא עוררה שום חשד – לא של מערכות ההגנה ולא של מי שהיה פותח אותה
למה התוכנות הסטנדרטיות לפתיחת קבצים דחוסים מסתכלות על הקובץ מהסוף להתחלה ?
למה לא רגיל מהתחלה לסוף?
בגלל המבנה של קובץ הזיפ, החתימה שלו נמצאת בסוף ולכן הוא מבצע את החיפוש מהסוף להתחלה.
יש עוד דוגמאות כאלה למשל msi and jar
אחד יקרא מההתחלה והשני מהסוף