הגליון המאה ושמונה עשר של DigitalWhisper שוחרר!


 
ברוכים הבאים לגליון הגיליון ה-118 של DigitalWhisper, גליון יוני!

 
אז מה? אנחנו אחרי הפיק? לפניו? יהיה גל שני? תלוי לאלו מכשפי סטטיסטיקה אתם מאמינים. עם זאת, נראה שלאט לאט האנושות מתחילה לחזור לעצמה, התחבורה הציבורית חזרה, המסעדות חזרו להושיב סועדים, וברחובות ניתן לראות אפילו מעט אמיצים שמסתובבים ללא מסיכות...
 
האנושות היא מכלול סתגלן באופן יחסי, היא אומנם כוללת לא מעט פריטים עקשנים במיוחד, אך ניתן לומר בהכללה גסה, שכמעט לא משנה הצרה אשר תהיה - לא יעבור הרבה זמן והיא כבר תהפוך להיות חלק משגרת חיינו. בחלק מהמקרים נסתגל לסיטואציה ונשנה את שגרת הפעילות שלנו, ובחלק אחר אף נדע לנצל את השינוי בצורה כזאת או אחרת.
 
לפי תיאוריית האבולוציה, משחר ההיסטוריה, שינויים פקדו אט אט את הכוכב שלנו, בין אם מדובר בשינויי מזג אויר וטמפרטורה, בין אם מדובר בשינויי דחיסות ותרכובת הגז הממלא את האטמוספירה שלנו או אם מדובר בשינויים סביבתיים אחרים - אל כל אלה החיים על פני כדור הארץ הסתגלו עם הזמן והתפתחו איתם.
 
שינויים אלה הם שינויים "טבעיים" ו-"בריאים", הם דואגים לכך שהצאצא הנושא את הגנים או המוטציות הרלוונטיות ישרוד, והם גם דואגים לכך שמי שלא זכה לשאת את אותם הגנים - ישאר מאחור.
 
עם זאת, מדי פעם יש שינויים "דראסטיים", כמו מטאור שפוגע בכדור הארץ וגורם לשינויי אקלים קצוניים, כאלה שלא מאפשרים לאבולוציה "הטבעית" לפעול, ובמקרים כאלה - זנים שלמים לא זוכים לתקופת החסד שלה היו זוכים כאשר השינויים היו איטיים יותר - ועקב כך מתים. בדרך כלל, אחרי שינויים כאלה כלל המאזן בטבע מתערער, כי יכול להיות שלא נשארנו דווקא עם הגנים החזקים שמאפשרים שרידות במצב "טבעי", אלא נשארנו עם מוטציות גנטיות שבגלל פרמטר אחד בודד, שבדרך כלל נחשב ללא בריא - אך עקב השינוי הדרסטי נחשב עתה כמנצח - הן הצליחו לשרוד.
 
לדוגמא, גן שמאפשר רביה באופן זריז יותר, הוא לאו דווקא נחשב מועמד מנצח בתקופה "רגילה" (כי הדבר יגרום לכך שמאזן קצירת היבול יגמר מהר מדי באופן שלא יאפשר להשאיר זרעים לזריעה בעתיד), אך בתקופה של מגיפה - הוא יאפשר להקים צאצאים במהירות ולאפשר שרידות של אותו הזן.
 
למה אנחנו מדברים על אבולוציה? כי גם בעולם התוכנה העניין הזה קיים: קיימות אינספור חברות תוכנה, וקיימות שלל חברות שמפתחות מוצרים המתחרים אחד בשני, בין אם מדובר במערכת הפעלה, משחק יריות מרובה משתתפים, או אם זאת תוכנה שמאפשרת שיחות ועידה מבוססות וידאו.
 
כל תחום פיתוח הוא עולם עם אבולוציה משלו, אם ניקח לדוגמא את תחום שיתוף הקבצים, אז היו לנו את ה-BBS-ים, לאחר מכן שיתוף קבצים באמצעות שרתי FTP או IRC, ולאחריהם תוכנות P2P (בסיגנון נאפסטר ואיימש) וכיום נראה שרב השימוש הוא בתוכנות ה-Torrent השונות (דילגתי המון, למרות שהנושא הזה מרתק, ואפשר לקרוא עליו כאן או לשמוע עליו כאן וכאן, יש לי נקודה להעביר :)). בתחום שיתוף הקבצים אפשר לזהות די בקלות את הסיבות למעברים: היציבות והמהירות של רשת האינטרנט, הדרישה לאנונימיות וגופי החוק הם כנראה הכוחות הפועלים המשפיעים ביותר על הנושא. היו שלל שיטות, תוכנות ופרוטוקולים שעל גביהם ניסו המפתחים השונים לאפשר שיתוף קבצים המוני, ועם כל שינוי "טבעי" שקרה באינטרנט המפתחים ניסו להגיב, חלקם השקיעו "בגנים" הנכונים והצליחו לשרוד את השינוי ולהתפתח איתו, וחלקם השקיעו בגנים הלא נכונים וכיום אף אחד לא מכיר את אותן התוכנות.
 
דוגמא נוספת היא תחום הרשתות החברתיות, נראה שגם כאן הכל מתחיל ברשתות ה-BBS, שעם הזמן נהיו לערוצי IRC, שהפכו להיות חדרי צ'אים מבוססי Web ומערכות פורומים, שנהפכו לשיחות ICQ, ומשם לרשתות חברתיות שלמות שהגדולות שבהן היום הן (כנראה, לא בדקתי) Facebook ו-Instagram. איפשהו בתהליך האבולוציוני הזה אפשר להכניס כמובן את Whatsapp ואולי עכשיו גם את Zoom בעקבות הקורונה.
 
גם כאן אפשר לזהות את רב הכוחות הפועלים: התפתחות האינטרנט, והשימוש הגובר במכשור סלולארי ונייד מהווים כר פורה לפיתוח "גנים" שיאפשרו לתוכנה שלך להיות מתאימה יותר מבחינה אבולוציונית ובכך להשאיר מאחור את המתחרות.
 
כן, אבל למה אני מספר לכם את כל זה? חכו, זה תכף מגיע! :)
 
כל חברת תוכנה משקיעה בפיצ'רים שונים כדי לוודא שהמוצר שלה יישאר ייחודי, ובאופן טבעי כל מוצר מתחיל בקטן ולאט לאט צובר את קהל המשתמשים שלו. בדרך יש לו קשיים כאלה ואחרים ובאופן טבעי, נראה שגם נושא האבטחה של אותו המוצר מתפתח עם הזמן. אם אני בית תוכנה קטן וכתבתי מערכת הפעלה שלה יש 10 משתמשים, רמת האבטחה שלה תהיה משמעותית פתוחה מאשר מערכת הפעלה מפותחת שנמצאת בשימוש של מליארדי משתמשים ומכשירים, ועברה כברת דרך כזאת או אחרת. לאט לאט, עם קצת מזל והרבה השקעה, המוצר שלי יצבור יותר משתמשים וככל שהוא יהיה נפוץ יותר – כך גם יותר חוקרי אבטחה יתעניינו בו ויחפשו בו חולשות.
 
אם לא אשקיע באבטחה שלו - המשתמשים יעזבו אותי (ברב המקרים), ולכן אם אני רוצה להיות בית עסק רציני אני אסגור את חורי האבטחה שנמצאו, אפתח שכבות הגנה וטכניקות אוטנתיקציה שיחזקו את האבטחה של המוצר שלי. אותם האקרים שיתעניינו במוצר שלי - הם חלק מאותם כוחות אבולוציונים, כאלה שדואגים לכך שכאשר מוצר מסויים מתחיל להיות נפוץ ובשימוש רחב, הוא גם נדרש להיות מאובטח ברמה המתאימה (אגב, לא אני המצאתי את הרעיון הזה, שמעתי אותו לראשונה ב-2014 בהרצאת TED של קרן אלעזרי).
 
כאשר מדובר בשינויים אבולוציונים "איטיים" - הכל כנראה טוב ויפה. ככל שאגדל מבחינת משתמשים, כך אעורר יותר סקרנות בקרב אותם חוקרי אבטחה, שימצאו ויפרסמו יותר ויותר כשלים במערכות שלי - אני אתקן אותם והכל יבוא על מקומו בשלום.
 
עם זאת, המודל הזה לא יעבוד הכי טוב כאשר בין לילה אהפוך להיות מחברה בסדר גודל קטן לחברה שמחזיקה באחת התוכנות המפורסמות ביותר כיום, ושנעשה בה שימוש בכמעט כל תחום חיים, בין אם זה אישי, מקצועי, חינוכי או בטחוני.
 
המודל הזה לא יעבוד טוב, כי רמת האבטחה של המוצר שלי כבר לא תהיה מתאימה לכמות או רמת השירות שאני כעת נדרש לספק. זוכרים שדיברנו על המטאור שהשאיר אחריו לאו דווקא את הגן המתאים ביותר לסיטואציית החיים "הטבעית"? וזה בדיוק מה ש-COVID-19 עשה לחברת Zoom. לפי ויקיפדיה, ביום ממוצע של דצמבר שנת 2019, היו כ-10 מליון הורדות של התוכנה, לעומת 200 מליוני הורדות בימים של חודש מרץ השנה.
 
הגדילה הזאת היא מדהימה מבחינה עסקית לחברה, ללא ספק מדובר בחברה שהייתה במקום הנכון בזמן הנכון וידעה לנצל זאת. אך מבחינת אבטחת מידע ו-"פרצה הקוראת לגנב" - מדובר, ככל הנראה בסיפור הצלחה לא קטן. לא חקרתי את רמת האבטחה של התוכנה, אך מדובר בקצב גדילה שבוודאות לא מאפשר לחברה להיות מוכנה מבחינת האבטחה הנדרשת. החבר'ה הטובים מ- CitizenLabעשו מחקר בנוגע לפרטיות של התוכנה, הם פרסמו מספר דו"חות שרק מגבירים את החשד בעניין (מעבר לכך שלמרות שמדובר בחברה הרשומה בארצות הברית, נראה שרב הפיתוח שלה מתבצע ע"י 3 חברות סיניות. הם הצליחו להראות שמפתחות ה- AESשנועדו להצפין את ערוצי השיחה מיוצרים ע"י שרתי החברה, ומועברים דרך שרתים בסין) ושלא נדבר על הפרסומים בדבר חולשת RCE ל-Zoom (הן ל-Windows והן ל-Mac) שנמכרת ב-500,000$ ברחבי האינטרנט.
 
ונכון, גם ב-Windows, גם בקרנל של לינוקס ובכמעט כל תוכנה נפוצה מתגלות חולשות על בסיס יומי / שבועי / חודשי. אך עם זאת, מדובר בחברות ענק עם מנגנוני בקרה ועדכון שהפכו להיות משומנים עם השנים - בדיוק בגלל קצב גדילה איטי (יחסית).
 
זה נכון, עוד לא פורסם על שימוש בשום חולשה שכזאת In The Wild (לפחות לא שאני ראיתי), אבל זה לא אומר שזה לא קורה. נדרשתי פעם אחת להתקין Zoom ועשיתי זאת על VM. המוצר הזה כנראה מספק את הסחורה, אבל אם הייתי צריך לנחש - הוא כנראה מספק גם עוד כמה דברים נוספים.
 
וכמובן, לפני הכל - תודות! תודה לכל מי שהשקיע החודש וכתב לנו מאמר: תודה רבה לתומר פיכמן, תודה רבה לאורי חדד, תודה רבה לברק גונן, תודה רבה ליונתן קריינר ותודה רבה לטום עובדיה!

 
 
החודש, הגליון כולל את המאמרים הבאים:
  • CVE-2018-4990 - ניתוח החולשה וניצולה - נכתב ע"י תומר פיכמן
    Adobe Acrobat Reader היא תוכנת קריאת ה-PDF-ים הנפוצה בעולם,  וכמו כל תוכנה נפוצה היא מהווה מטרה עסיסית לתוקפים למצוא חולשות ולנצלן לשימוש בתקיפות. נמצאו בתוכנה הרבה חולשות ועוד מתפרסמות כל הזמן, אך תקיפה המכילה חולשה וניצולה, מה שייתן הצצה מעמיקה לתוך עולם תקיפתAcrobat Reader לא נמצאה או נמצאה ופורסמה לפחות מזה זמן רב... עד שבמרץ 2018 חוקרי אבטחה מחברת ESET מצאו דגימת pdf זדונית המנצלת שרשרת חולשות המאפשרת הרצת קוד על מחשב היעד. במאמר זה מציג תומר ניתוח של החולשה ואת שלבי ניצולה עד להרצת קוד כפי שנעשה ע"י התוקף.
  • המדריך למזריק (DLL) המתחיל - Reflective DLL Injection - נכתב ע"י אורי חדד
    במאמר זה מציג אורי את הטכניקה Reflective DLL Injection, אורי יתחיל את המאמר בידע תאורתי ולאחר מכן את בניית הקוד עצמו. ידע ב-C יהפוך את קריאת המאמר ליעילה יותר וכן ידע בנושאים כגון מבנה של PE, שיטות הזרקה, פעולת ה-Loader של Windows, מעט מ-Internals של תהליכים בכלל ובפרט הכרה של המבנה PEB יקלו על הקריאה.
  • מערכות הפעלה: תהליכים ו-Thread-ים - נכתב ע"י ברק גונן
    מאמר זה הינו הפרק הרביעי מתוך ספר לימוד חדש שעתיד לצאת בספטמבר הקרוב כחלק מפעילות המו"פ של המרכז לחינוך סייבר של קרן רש"י. הספר נכתב ע"י ברק גונן והוא יונגש, יחד עם חומרים נוספים של המרכז לחינוך סייבר, בחינם ולשימוש הכלל. הספר יעסוק בחקר מערכות הפעלה עם דגש עם תחום הסייבר וההנדסה לאחור. בחלק זה ברק יציג לעומק מהם תהליכים, מהם Thread-ים, וילמד לכתוב תוכנית ב-C שיוצרת תהליכים ו-Thread-ים.
  • סיסמאות רבותי, סיסמאות! - נכתב ע"י יונתן קריינר
    ניהול סיסמאות זאת משימה לא פשוטה. ראינו כמה מסובך לשמור סיסמאות של משתמשים כבר במאמר "הצפנת סיסמאות מנקודת מבטו של בונה אתרים". אבל מה אנחנו עושים עם סיסמאות כאשר הקוד שלנו הוא הלקוח? במאמר זה יונתן יראה את הקשיים והפתרונות לניהול סיסמאות בקוד בטכנולוגיות שונות וגם אגע במה לעשות, אם כבר עשיתי את הטעות והעליתי את הסיסמה ל-source control שלי.
  • 64bit Reverse Engineering - נכתב ע"י טום עובדיה
    תחום ההנדסה לאחור הפך לאחד החלקים הכי מרכזיים בעולם המחשבים. ממחקר חולשות ועד מחקר לצורכי הגנה, מתחום ההייטק ועד תחום הצבא. במאמר זה טום מתייחס להבדלים העיקריים בין הנדסה לאחור של תוכניות 32bit לעומת הנדסה לאחור של תוכניות 64bit.
 
 
                                                                    קריאה מהנה!
                                                                       ניר אדר ואפיק קסטיאל   


תגובות על 'הגליון המאה ושמונה עשר של DigitalWhisper שוחרר!':



#1 

Linux (אורח):
מדהים כרגיל!!
נשמח למאמרים על הזרקת קוד /so לתהליך בסביבת לינוקס.
31.05.2020 23:13:58

#2 

שיר (אורח):
תודה רבה! גליון מצוין!
02.06.2020 19:24:08

#3 

להלה (אורח):
וואו גיליון מדהים!! מחכה כבר לקרוא אותו.
ממש תודה שפרסמתם על acrobat reader, בדיוק התחלתי לחקור עליה.
כל הכתבות פה ללא יוצא מן הכלל נראות מעניינות! תודה רבה!
03.06.2020 18:23:40

#4 

bit (אורח):
תודה רבה לכל הכותבים! גליון פשוט אדיר! קראתי את כל המאמרים ברצף.

וגם דברי הפתיחה היו מעניינים כהרגלם! ובהקשר שלהם, בדיוק פורסם פוסט על 2 חולשות בזום בבלוג של talos:

https://talosintelligence.com/vulnerability_reports/TALOS-2020-1055

https://talosintelligence.com/vulnerability_reports/TALOS-2020-1056
04.06.2020 07:36:33

#5 

מישהו (אורח):
הספר על מערכות הפעלה נראה מבטיח וברור. מקווה שיהיה רלוונטי גם ללינוקס.
07.06.2020 15:07:43

#6 

ברק גונן (אורח):
שלום מישהו
תודה. העקרונות של מערכות הפעלה רלבנטיים גם ללינוקס, אבל כל התרגולים הם על windows. לדוגמה ההבנה מה ההבדל בין thread ו-process משותפת לכל מערכות ההפעלה, אבל תרגיל שימוש ב-winapi לפתיחת thread הוא רק ב-windows. מתנצל בפני אוהבי הלינוקס, אולי יתווסף בעתיד :)
16.06.2020 15:58:16

#7 

viper0 (אורח):
היי, המאמרים כאן כמו תמיד ממש מדהימים/מעניינים וכו', נשמח למאמרים על חולשות אבטחה גם בקוד מקור של שפות "חדישות" כגון java,python וכו'
תודה רבה ;)
23.06.2020 22:32:49

#8 

מה עם הגליון החדש? (אורח):
??
01.07.2020 00:16:23

#9 

cP (אורח):
הוא בסדר גמור, מה איתך? :)
01.07.2020 01:40:51



הוסף את תגובתך:
כינוי:
תגובה:
קוד אבטחה:
העתק לכאן את הקוד:
 
Digital Whisper © 2009 - 2019 - כל הזכויות שמורות ל-אפיק קסטיאל ול-ניר אדר.