S3 Ep105: WONTFIX! ה-cryptofail של MS Office ש"אינו פגם אבטחה" [אודיו + טקסט]

צומת המקור: 1726750

למה אתה מתכוון, "לא עומד בבר לשירותי אבטחה"?

לחץ וגרור על גלי הקול למטה כדי לדלג לכל נקודה. אתה יכול גם להקשיב ישירות בסאונדקלאוד.

עם דאג אמות ופול דאקלין. מוזיקת ​​אינטרו ואאוטרו מאת אדית מדג'.

אתה יכול להאזין לנו ב Soundcloud, Apple Podcasts, Google Podcasts, Spotify, Stitcher ובכל מקום שבו נמצאים פודקאסטים טובים. או פשוט זרוק את כתובת האתר של הזנת ה-RSS שלנו לתוך הפודקטצ'ר האהוב עליך.


קרא את התמליל

DOUG.  הפרות עוצרות נשימה, הצפנה הניתנת לפענוח ותיקונים למכביר.

כל זה עוד בפודקאסט הביטחון העירום.

[מודם מוזיקלי]

ברוכים הבאים לפודקאסט, כולם.

אני דאג אמות'; הוא פול דאקלין.

פול, מה שלומך היום, אדוני?


ברווז.  דאג... אני יודע, כי אמרת לי מראש, מה נכנס השבוע בהיסטוריה הטכנולוגית, וזה נהדר!


DOUG.  אישור!

השבוע, ב-18 באוקטובר 1958, אוסילוסקופ ומחשב שנבנו כדי לדמות התנגדות רוח זוג עם בקרי אלומיניום מותאמים אישית, והמשחק טניס לשניים נולד.

Tennis for Two, שהוצג בתערוכה של שלושה ימים במעבדה הלאומית ברוקהייבן, הוכיח את עצמו כפופולרי ביותר, במיוחד בקרב תלמידי תיכון.

אם אתה מקשיב לזה, אתה חייב ללכת לוויקיפדיה ולחפש את "טניס לשניים".

יש שם סרטון למשהו שנבנה ב-1958...

...אני חושב שתסכים איתי, פול, זה היה די מדהים.


ברווז.  אני *אשמח* לשחק בו היום!

וכמו אסטרואידים ואזור הקרב, והמשחקים הזכורים במיוחד של שנות השמונים...

... כי זה אוסילוסקופ: גרפיקה וקטורית!

ללא פיקסלציה, ללא הבדלים תלוי אם קו הוא ב-90 מעלות, או 30 מעלות, או 45 מעלות.

והמשוב הצליל מהממסרים בבקרים... זה נהדר!

זה לא ייאמן שזה היה 1958.

חוזרים לקודם השבוע בהיסטוריה הטכנולוגית, זה היה בקצה מהפכת הטרנזיסטור.

ככל הנראה, החצי החישובי היה תערובת של שסתומים תרמיונים (צינורות ואקום) וממסרים.

ומעגלי התצוגה היו כולם מבוססי טרנזיסטור, דאג

אז זה היה בדיוק בשילוב של כל הטכנולוגיות: ממסרים, שסתומים וטרנזיסטורים, הכל במשחק וידאו פורץ דרך אחד.


DOUG.  מגניב מאוד.

בדוק את זה בויקיפדיה: טניס לשניים.

עכשיו בואו נעבור לסיפור הראשון שלנו.

פול, אני יודע שאתה מיומן מאוד בכתיבת שיר נהדר...

...כתבתי שיר קצר מאוד כדי להציג את הסיפור הראשון הזה, אם תפנקו אותי.


ברווז.  אז אלה יהיו שתי שורות, נכון? [צוחק]


DOUG.  זה הולך קצת משהו כזה.

זום עבור Mac/לא מקבל נחטף.

[שקט ארוך מאוד]

שיר סיום.


ברווז.  אה סליחה!

חשבתי שזו הכותרת ושאתה הולך לעשות את השיר עכשיו.


DOUG.  אז זה השיר.


ברווז.  אישור.

[ללא רגש] מקסים, דאג.


DOUG.  [אירוני] תודה.


ברווז.  החריזה הייתה מרהיבה!

אבל לא כל השירים חייבים לחרוז...


DOUG.  זה נכון.


ברווז.  אנחנו פשוט נקרא לזה פסוק חופשי, נכון?


DOUG.  בסדר, בבקשה.


ברווז.  לרוע המזל, זו הייתה דלת אחורית חינמית לתוך Zoom עבור Mac.

[מרגיש אשמה] מצטער, זה לא היה סגה טובה במיוחד, דאג.

[צוחק] אתה צועד על הדשא של מישהו אחר, לעתים קרובות אתה חסר...


DOUG.  לא, זה טוב!

ניסיתי השבוע שירים; אתה מנסה סגים.

אנחנו חייבים לצאת מאזורי הנוחות שלנו מדי פעם.


ברווז.  אני מניח שזה היה קוד שנועד להידור כאשר הבנייה הסופית הושלמה, אבל בטעות נשאר בפנים.

זה מיועד רק לגרסת זום למק, והוא תוקן, אז ודא שאתה מעודכן.

בעיקרון, בנסיבות מסוימות, כאשר יתחיל זרם וידאו או שהמצלמה הופעלה על ידי האפליקציה עצמה, היא תחשוב בטעות שאולי תרצה לנפות באגים בתוכנית.

כי, היי, אולי היית מפתח! [צוחק]

ברור שזה לא אמור לקרות בבניית מהדורות.

וזה אומר שיש יציאת ניפוי באגים של TCP שנותרה פתוחה בממשק הרשת המקומית.

זה אומר שכל מי שיכול להעביר מנות ליציאה הזו, שיכול להיות ככל הנראה כל משתמש אחר המחובר מקומית, אז זה לא יצטרך להיות מנהל או אפילו אתה... אפילו משתמש אורח, זה יספיק.

אז, תוקף שיש לו איזשהו תוכנה זדונית פרוקסי במחשב שלך שיכולה לקבל מנות מבחוץ ולהחדיר אותן לממשק המקומי יכול בעצם להוציא פקודות לקרביים של התוכנית.

והדברים האופייניים שממשקי ניפוי באגים מאפשרים כוללים: זרוק קצת זיכרון; לחלץ סודות; לשנות את התנהגות התוכנית; התאם את הגדרות התצורה מבלי לעבור דרך הממשק הרגיל כך שהמשתמש לא יוכל לראות את זה; ללכוד את כל האודיו מבלי לספר לאף אחד, מבלי להקפיץ את אזהרת ההקלטה; כל הדברים האלה.

החדשות הטובות הן ש-Zoom מצא את זה לבד, והם תיקנו את זה די מהר.

אבל זו תזכורת נהדרת לכך שכפי שאנו אומרים לעתים קרובות כל כך, [צוחק] "יש הרבה החלקות 'מסובבות את הכוס והשפה."


DOUG.  בסדר, טוב מאוד.

תנו לנו להישאר על סיפון רכבת התיקון, ולצאת לתחנה הבאה.

והסיפור הזה... אולי החלק המעניין ביותר בסיפור הזה של התיקון האחרון האחרון היה מה שמיקרוסופט *לא* כללה?


ברווז.  לרוע המזל, התיקונים שכולם כנראה ציפו להם - והשערנו בפודקאסט האחרון, "ובכן, נראה כאילו מיקרוסופט תגרום לנו לחכות עוד שבוע עד ל-Patch Tuesday, ולא לעשות שחרור מוקדם מחוץ ללהקה " הם שני ימי החלפת אפס של זיכרון אחרון.

מה שנודע בשם E00F, או החלפה כפול אפס יום פגם בטרמינולוגיה שלי, או ProxyNotShell כפי שזה אולי ידוע בצורה קצת מבלבלת ב-Twittersphere.

אז זה היה הסיפור הגדול ב-Patch Tuesday של החודש: שני הבאגים האלה באופן מרהיב לא תוקנו.

ולכן אנחנו לא יודעים מתי זה יקרה.

אתה צריך לוודא שהחלת כל הקלה.

כפי שאני חושב שאמרנו בעבר, מיקרוסופט כל הזמן גילתה שההקלות הקודמות שהם הציעו... טוב, אולי הם לא היו מספיק טובים, והם המשיכו לשנות את המנגינה שלהם ולהתאים את הסיפור.

אז אם יש לך ספק, אתה יכול לחזור אל nakedsecurity.sophos.com, לחפש את הביטוי ProxyNotShell (הכל במילה אחת), ואז לכו ותקראו את מה שיש לנו לומר.

ואתה יכול גם לקשר לגרסה העדכנית ביותר של התיקון של מיקרוסופט...

...כי מכל הדברים ב-Patch Tuesday, זה היה הכי מעניין, כמו שאתה אומר: כי זה לא היה שם.


DOUG.  בסדר, בוא נעביר הילוך ל-a סיפור מתסכל מאוד.

זו סטירת כף היד לחברה גדולה שאבטחת הסייבר שלה כל כך גרועה שהם אפילו לא שמו לב שהם נפרצו!


ברווז.  כן, זהו מותג שרוב האנשים כנראה יכירו בשם SHEIN ("היא-אין"), כתוב כמילה אחת, הכל באותיות גדולות. (בזמן ההפרה, החברה הייתה ידועה בשם Zoetop.)

והם מה שנקרא "אופנה מהירה".

אתה יודע, הם עורמים את זה גבוה ומוכרים את זה בזול, ולא בלי מחלוקת מאיפה הם משיגים את העיצובים שלהם.

וכקמעונאי מקוון, אולי היית מצפה שיש להם את פרטי אבטחת הסייבר של הקמעונאות המקוונת.

אבל, כמו שאתה אומר, הם לא עשו זאת!

והמשרד של התובע הכללי של מדינת ניו יורק בארה"ב החליט שהוא לא מרוצה מהאופן שבו טופלו תושבי ניו יורק שהיו בין הקורבנות של הפרה זו.

אז הם נקטו בצעדים משפטיים נגד החברה הזו... וזו הייתה סתימה מוחלטת של טעויות, טעויות ובסופו של דבר כיסויים - במילה אחת, דאגלס, חוסר יושר.

הייתה להם הפרה הזו שהם לא שמו לב אליה.

זה, לפחות בעבר, היה נפוץ בצורה מאכזבת: חברות לא היו מבינות שהן נפרצו עד שמטפל בכרטיסי אשראי או בנק יצרו איתם קשר ואמרו, "אתם יודעים מה, היה לנו הרבה מאוד של תלונות על הונאה מלקוחות החודש".

"וכשהסתכלנו אחורה על מה שהם מכנים CPP, ה נקודת רכישה משותפת, הסוחר האחד והיחיד שנראה שכל קורבן בודד קנה ממנו משהו הוא אתה. אנחנו מעריכים שהדליפה הגיעה ממך".

ובמקרה הזה, זה היה אפילו יותר גרוע.

כנראה שהגיע מעבד תשלומים אחר ואמר, "אוי, דרך אגב, מצאנו נתח שלם של מספרי כרטיסי אשראי למכירה, שהוצעו כגנובים מכם".

אז היו להם הוכחות ברורות שהייתה או פריצה בכמויות גדולות, או הפרה טיפין טיפין.


DOUG.  אז בטח, כשהחברה הזו הודעה על כך, הם פעלו במהירות כדי לתקן את המצב, נכון?


ברווז.  ובכן, זה תלוי איך אתה... [צוחק] אני לא צריך לצחוק, דאג, כמו תמיד.

זה תלוי למה אתה מתכוון ב"תיקון".


DOUG.  [צוחק] הו, אלוהים!


ברווז.  אז נראה שהם *התמודדו* עם הבעיה... ואכן, היו חלקים בה שהם כיסו היטב.

ככל הנראה.

נראה שלפתע הם החליטו, "אוף, מוטב שנהיה תואמי PCI DSS".

ברור שהם לא היו, כי ככל הנראה הם שמרו יומני ניפוי באגים עם פרטי כרטיס אשראי של עסקאות שנכשלו... כל מה שאתה לא אמור לכתוב לדיסק, הם כתבו.

ואז הם הבינו שזה קרה, אבל הם לא הצליחו למצוא איפה הם השאירו את הנתונים האלה ברשת שלהם!

אז ברור שהם ידעו שהם לא תואמי PCI DSS.

הם החלו להפוך את עצמם לתאימות ל-PCI DSS, כנראה, משהו שהם השיגו עד 2019. (ההפרה אירעה ב-2018.)

אבל כשנאמר להם שהם צריכים להגיש ביקורת, חקירה משפטית...

...לפי התובע הכללי של ניו יורק, הם הפריעו בכוונה רבה לדרכו של החוקר.

הם בעצם אפשרו לחוקרים לראות את המערכת כמו שהיא *אחרי* שהם תיקנו אותה, ריתכו אותה, ליטשו אותה, והם אמרו, "אוי לא, אתה לא יכול לראות את הגיבויים", וזה נשמע לי די שובב .


DOUG.  אה הא.


ברווז.  וגם האופן שבו חשפו את ההפרה ללקוחותיהם עורר זעם משמעותי ממדינת ניו יורק.

בפרט, נראה שהיה ברור למדי ש-39,000,000 משתמשים נפלו בדרך כלשהי, כולל סיסמאות גובבות מאוד חלשות: מלח דו ספרתי, וסיבוב אחד של MD5.

לא מספיק טוב ב-1998, שלא לדבר על 2018!

אז הם ידעו שיש בעיה למספר הגדול הזה של משתמשים, אבל כנראה שהם התחילו ליצור קשר רק עם 6,000,000 המשתמשים האלה שבאמת השתמשו בחשבונות שלהם וביצעו הזמנות.

ואז הם אמרו, "טוב, לפחות יצרנו קשר עם כל האנשים האלה."

ו*ואז* התברר שהם לא ממש יצרו קשר עם כל 6,000,000 מיליון המשתמשים!

זה עתה יצרו קשר עם אלה מתוך ששת המיליונים שחיו במקרה בקנדה, ארצות הברית או אירופה.

אז אם אתה מכל מקום אחר בעולם, מזל רע!

כפי שאתה יכול לדמיין, זה לא הלך טוב עם הרשויות, עם הרגולטור.

ואני חייב להודות... להפתעתי, דאג, הם נקנסו ב-1.9 מיליון דולר.

מה, עבור חברה כל כך גדולה...


DOUG.  כן!


ברווז.  … ולעשות טעויות כל כך קשות, ואז לא להיות הגון והגון לחלוטין לגבי מה שקרה, ולהתעלל על כך ששיקר לגבי ההפרה, במילים אלו, על ידי התובע הכללי של ניו יורק?

דימיינתי שאולי ספגו גורל חמור יותר.

אולי אפילו לכלול משהו שאי אפשר היה לשלם אותו רק על ידי המצאת כסף.

אה, והדבר הנוסף שהם עשו הוא שכאשר היה ברור שיש משתמשים שהסיסמאות שלהם נמצאות בסיכון... כי הן ניתנות לפיצוח עמוקות בגלל העובדה שזה היה מלח דו ספרתי, מה שאומר שאתה יכול לבנות 100 מילונים מחושבים מראש …


DOUG.  זה נפוץ?

רק מלח דו ספרתי נראה ממש נמוך!


ברווז.  לא, בדרך כלל תרצה 128 ביטים (16 בתים), או אפילו 32 בתים.

באופן רופף, זה בכל מקרה לא משנה את מהירות הפיצוח, כי (בהתאם לגודל הבלוק של ה-hash) אתה מוסיף רק שתי ספרות נוספות לתערובת.

אז זה אפילו לא כאילו החישוב בפועל של ה-hash אורך זמן רב יותר.

כבר בשנת 2016, אנשים המשתמשים במחשבים עם שמונה מעבדי GPU המריצים את תוכנית "hashcat", אני חושב, יכלו לעשות 200 מיליארד MD5s בשנייה.

אז! (הסכום הזה הוא בערך פי חמישה או עשרה יותר עכשיו.)

כל כך מאוד מאוד פיצוח.

אבל במקום ליצור קשר עם אנשים ולהגיד, "הסיסמה שלך בסיכון כי הדלפנו את ה-hash, והיא לא הייתה טובה במיוחד, אתה צריך לשנות אותה", [צחוק] הם פשוט אמרו...

... אלו היו מילים קשות מאוד, לא?


DOUG.  "לסיסמה שלך יש רמת אבטחה נמוכה ואולי בסיכון. אנא שנה את סיסמת הכניסה שלך."

ואז הם שינו את זה ל"הסיסמה שלך לא עודכנה במשך יותר מ-365 ימים. להגנתך, אנא עדכן אותו כעת."


ברווז.  כן, "לסיסמה שלך יש רמת אבטחה נמוכה..."


DOUG.  "בגללנו!"


ברווז.  זה לא רק פטרונית, נכון?

זה נמצא בגבול או מעבר להאשמת הקורבן, בעיניי.

בכל מקרה, זה לא נראה לי כתמריץ חזק במיוחד לחברות שלא רוצות לעשות את הדבר הנכון.


DOUG.  בסדר, תשמעו בתגובות, נשמח לשמוע מה אתם חושבים!

המאמר הזה נקרא: מותג האופנה SHEIN נקנס ב-1.9 מיליון דולר על שקר לגבי הפרת מידע.

ונעבור לסיפור מתסכל אחר...

.., יום אחר, עוד סיפור אזהרה על עיבוד קלט לא מהימן!


ברווז.  אאר, אני יודע מה זה הולך להיות, דאג.

זה ה טקסט Apache Commons באג, לא?


DOUG.  זה!


ברווז.  רק שיהיה ברור, זה לא שרת האינטרנט של Apache.

Apache היא קרן תוכנה שיש לה מגוון שלם של מוצרים וכלים חינמיים... והם אכן שימושיים מאוד, והם קוד פתוח, והם נהדרים.

אבל היה לנו, בחלק של Java של המערכת האקולוגית שלהם (שרת האינטרנט של Apache httpd לא כתוב ב-Java, אז בואו נתעלם מזה לעת עתה - אל תערבב Apache עם Apache Web Server)...

...בשנה האחרונה, היו לנו שלוש בעיות דומות בספריות Java של Apache.

היה לנו את מְתוֹעָב Log4Shell באג בספרייה שנקראת Log4J (Logging for Java).

ואז היה לנו באג דומה, מה זה היה?... תצורת Apache Commons, שהוא ערכת כלים לניהול כל מיני קבצי תצורה, נגיד קבצי INI וקבצי XML, הכל בצורה סטנדרטית.

ועכשיו בספרייה ברמה נמוכה עוד יותר בשם טקסט Apache Commons.

הבאג נמצא בדבר שבג'אווה מכונה בדרך כלל "אינטרפולציה מחרוזת".

מתכנתים בשפות אחרות... אם אתה משתמש בדברים כמו PowerShell או Bash, אתה תכיר את זה בתור "החלפת מחרוזות".

זה המקום שבו אפשר בקסם לגרום למשפט מלא בדמויות להפוך למעין מיני-תוכנית.

אם אי פעם השתמשת במעטפת Bash, תדע זאת אם תקליד את הפקודה echo USER, זה יהדהד, או ידפיס, את המחרוזת USER ותראה, על המסך USER.

אבל אם תפעיל את הפקודה echo $USER, אז זה לא אומר להדהד סימן דולר ואחריו USER.

המשמעות היא, "החלף את מחרוזת הקסם הזו בשם המשתמש המחובר כעת, והדפיס זאת במקום."

אז במחשב שלי, אם אתה echo USER, אתה מקבל USER, אבל אם אתה echo $USER, אתה מבין את המילה duck במקום.

וחלק מהתחליפי מחרוזת Java הולכים הרבה, הרבה, הרבה יותר מזה... כמו כל מי שסבל מהשמחה של תיקון Log4Shell במהלך חג המולד 2021 יזכור!

יש כל מיני מיני תוכניות קטנות וחכמות שאתה יכול להטמיע בתוך מחרוזות שאתה מעבד עם ספריית עיבוד המחרוזות הזו.

אז יש את המובן מאליו: לקרוא את שם המשתמש, אתה שם ${env: (עבור "קרא את הסביבה") user}... אתה משתמש בסוגריים מפותלים.

זה סימן דולר; סוגר מתפתל; איזו פקודת קסם; סוגר מפותל שהוא החלק הקסום.

ולמרבה הצער, בספרייה זו הייתה זמינות ברירת מחדל בלתי מבוקרת של פקודות קסם כמו: ${url:...}, המאפשר לך להערים על ספריית עיבוד המחרוזות להגיע לאינטרנט, להוריד משהו ולהדפיס את מה שהיא מקבלת בחזרה משרת האינטרנט הזה במקום מהמחרוזת ${url:...}.

אז למרות שזה לא ממש הזרקת קוד, כי זה רק HTML גולמי, זה עדיין אומר שאתה יכול לשים כל מיני זבל ודברים מוזרים ונפלאים לא מהימנים בקובצי היומן של אנשים או בדפי האינטרנט שלהם.

יש ${dns:...}, מה שאומר שאתה יכול לרמות שרת של מישהו, שעשוי להיות שרת לוגיקה עסקית בתוך הרשת...

...אתה יכול להערים עליו לבצע חיפוש DNS עבור שרת בעל שם.

ואם אתה הבעלים של הדומיין הזה, בתור נוכל, אז אתה גם הבעלים של שרת ה-DNS שמתייחס לדומיין הזה.

אז כשמתרחש בדיקת ה-DNS, נחשו מה?

חיפוש זה מסתיים *בשרת שלך*, ועשוי לעזור לך למפות את הפנימיות של הרשת העסקית של מישהו... לא רק את שרת האינטרנט שלו, אלא דברים עמוק יותר ברשת.

ולבסוף, והכי מדאיג, לפחות עם גרסאות ישנות יותר של ג'אווה, היה... [צוחק] אתה יודע מה הולך כאן, דאג!

הפקודה ${script:...}.

"היי, תן ​​לי לספק לך קצת JavaScript ובטובך להפעיל את זה בשבילי."

ואתה בטח חושב, "מה?! רגע, זה באג בג'אווה. מה הקשר ל-JavaScript?"

ובכן, עד לאחרונה יחסית... ותזכור, עסקים רבים עדיין משתמשים בגרסאות ישנות יותר, עדיין נתמכות, של ערכת הפיתוח של Java.

עד לאחרונה, ג'אווה... [צוחק] (שוב, אני לא צריך לצחוק)... ערכת הפיתוח של ג'אווה הכילה, בתוך עצמה, מנוע JavaScript מלא ועובד, שנכתב ב-Java.

כעת, אין קשר בין Java ל-JavaScript מלבד ארבע האותיות "Java", אבל אתה יכול לשים ${script:javascript:...}והפעל קוד לפי בחירתך.

ובאופן מעצבן, אחד הדברים שאתה יכול לעשות במנוע ה-JavaScript בתוך זמן הריצה של Java הוא לומר למנוע ה-JavaScript, "היי, אני רוצה להריץ את הדבר הזה דרך Java."

אז אתה יכול לגרום ל-Java להתקשר *לתוך* ל-JavaScript, ו-JavaScript בעצם לקרוא ל-Java.

ואז, מג'אווה, אתה יכול ללכת, "היי, הפעל את פקודת המערכת הזו."

ואם תלך למאמר ב-Naked Security, תראה אותי משתמש בפקודה חשודה כדי [שיעול מתנצל] לחיצה, דאג!

מחשבון HP RPN, כמובן, כי זה אני עושה את המחשבון קופץ...


DOUG.  זה חייב להיות, כן!


ברווז.  ...זהו HP-10.

אז למרות שהסיכון הוא לא כמו נהדר כמו Log4Shell, אתה לא באמת יכול לשלול את זה אם אתה משתמש בספרייה הזו.

יש לנו כמה הוראות במאמר ה-Naked Security כיצד לגלות אם יש לך את ספריית ה-Commons Text... ואולי יש לך אותה, כמו שאנשים רבים עשו עם Log4J, מבלי לשים לב, כי ייתכן שהיא הגיעה יחד עם אפליקציה.

ויש לנו שם גם קוד לדוגמה שבו תוכל להשתמש כדי לבדוק אם ההקלות שהכנסת עבדו.


DOUG.  בסדר, גשו ל-Naked Security.

המאמר הזה נקרא: חור מסוכן בטקסט Apache Commons - כמו Log4Shell שוב.

ואנחנו מסיימים בשאלה: "מה קורה כאשר הודעות מוצפנות מוצפנות בצורה די-סוגית בלבד?"


ברווז.  אה, אתה מתכוון למה שהיה, אני מניח, דוח באג רשמי שהוגש על ידי חוקרי אבטחת סייבר בחברת WithSecure הפינית לאחרונה...

...על ההצפנה המובנית המוצעת ב-Microsoft Office, או ליתר דיוק, תכונה הנקראת Office 365 Message Encryption או OME.

זה די שימושי שיש תכונה קטנה כזו מובנית באפליקציה.


DOUG.  כן, זה נשמע פשוט ונוח!


ברווז.  כן, חוץ מ... הו, יקירי!

נראה שהסיבה לכך נובעת רק מתאימות לאחור, דאג...

...שמיקרוסופט רוצה שהפיצ'ר הזה יעבוד כל הדרך חזרה לאנשים שעדיין משתמשים ב-Office 2010, שיש לו יכולות פענוח מיושנות למדי.

ביסודו של דבר, נראה שתהליך OME זה של הצפנת הקובץ משתמש ב-AES, שהוא אלגוריתם ההצפנה האחרון והטוב ביותר בסטנדרטי NIST.

אבל הוא משתמש ב-AES במצב שגוי כביכול הצפנה.

הוא משתמש במה שמכונה ECB, או ספר קודים אלקטרוני מצב.

וזו פשוט הדרך שבה אתה מתייחס ל-AES גולמי.

AES מצפין 16 בתים בכל פעם... אגב, הוא מצפין 16 בתים בין אם אתה משתמש ב-AES-128, AES-192 או AES-256.

אל תערבב בין גודל הבלוק לבין גודל המפתח - גודל הבלוק, מספר הבתים שמתגבשים ומוצפנים בכל פעם שאתה מסובב את ידית הארכובה במנוע ההצפנה, הוא תמיד 128 ביס, או 16 בתים.

בכל מקרה, במצב ספר קודים אלקטרוני, אתה פשוט לוקח 16 בתים של קלט, מסובב את ידית הארכובה פעם אחת מתחת למפתח הצפנה נתון, ולוקח את הפלט, גולמי ולא מעובד.

והבעיה עם זה היא שבכל פעם שאתה מקבל את אותו קלט במסמך מיושר באותו גבול של 16 בתים...

... אתה מקבל בדיוק את אותם נתונים בפלט.

אז, דפוסים בקלט מתגלים בפלט, בדיוק כמו שהם נמצאים ב-a קיסר צופן או א Vigenère צוֹפֶן:

עכשיו, זה לא אומר שאתה יכול לפצח את הצופן, כי אתה עדיין מתמודד עם נתחים ברוחב 128 סיביות בכל פעם.

הבעיה עם מצב ספר קודים אלקטרוני מתעוררת בדיוק בגלל שהוא מדליף דפוסים מהטקסט הפשוט אל הטקסט הצופן.

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

ולמרות שזה דווח כבאג למיקרוסופט, כנראה שהחברה החליטה שהיא לא מתכוונת לתקן את זה כי היא "לא עומדת ברף" לתיקון אבטחה.

ונראה שהסיבה היא, "ובכן, היינו עושים שירות רע לאנשים שעדיין משתמשים ב-Office 2010."


DOUG.  אוף!


ברווז.  כן!


DOUG.  ובנימה זו, יש לנו הערת קורא לשבוע זה על הסיפור הזה.

ביל קורא אבטחה עירום מעיר, בין השאר:

זה מזכיר לי את ה'עריסות' שבהן השתמשו שוברי הקוד של בלצ'לי פארק במהלך מלחמת העולם השנייה. הנאצים סיימו לעתים קרובות הודעות עם אותו ביטוי סיום, וכך יכלו שוברי הקוד לחזור ממערכת הסגירה הזו של תווים מוצפנים, בידיעה מה הם כנראה מייצגים. זה מאכזב ש-80 שנה מאוחר יותר, נראה שאנחנו חוזרים על אותן טעויות.


ברווז.  80 שנים!

כן, זה באמת מאכזב.

ההבנה שלי היא שעריסות אחרות שבהן יכלו שוברי קוד של בעלות הברית להשתמש, במיוחד עבור טקסטים מוצפנים נאציים, עסקו גם ב*תחילת* המסמך.

אני מאמין שזה עניין של דיווחי מזג אוויר גרמניים... היה פורמט דתי שהם עקבו אחריהם כדי לוודא שהם מסרו את דיווחי מזג האוויר בדיוק.

ודיווחי מזג האוויר, כפי שאתם יכולים לדמיין, במהלך מלחמה הכוללת הפצצות אוויריות בלילה, היו דברים חשובים באמת!

נראה שאלו עקבו אחר דפוס מאוד מאוד קפדני שיכול, מדי פעם, לשמש מה שאפשר לכנות קצת "משתחרר" קריפטוגרפי, או טריז שתוכל להשתמש בו כדי לפרוץ פנימה מלכתחילה.

וזה, כפי שביל מציין... זו בדיוק הסיבה ש-AES, או כל צופן, במצב ספר קודים אלקטרוני אינו מספק להצפנת מסמכים שלמים!


DOUG.  בסדר, תודה ששלחת את זה, ביל.

אם יש לכם סיפור מעניין, תגובה או שאלה שתרצו לשלוח, נשמח לקרוא אותם בפודקאסט.

אתה יכול לשלוח דוא"ל ל-tips@sophos.com, אתה יכול להגיב על כל אחד מהמאמרים שלנו, או שאתה יכול לפנות אלינו בחברתית: @nakedsecurity.

זו ההופעה שלנו להיום; תודה רבה על ההקשבה.

עבור פול דאקלין, אני דאג אמות', מזכיר לך עד הפעם הבאה...


שניהם.  הישאר בטוח!


בול זמן:

עוד מ ביטחון עירום