| RSS: קטעים | תגובות | | | הרשמה לקבלת עדכונים בדואר אלקטרוני | | | אודות | | | כותבים בבלוג | | | יצירת קשר | |
כניסה לפורומים: http://forums.hacking.org.il
האם הקוד הפתוח רע לאבטחת מידע?
נכתב ע"י גיא מזרחי בתאריך 28 בנובמבר 2007 | נושאים מאמרים מקוריים | 44 תגובות »
בהמשך לפוסט הקודם בו הסברתי למה לדעתי חשוב לעבוד עם מוצרי קוד פתוח, עלו כמה אי הסכמות.
הטענות שהעלו שד, עומר טרן וניב דוד כללו היו שלמרות שהקוד פתוח – אין מספיק זמן, כסף ויכולות טכנולוגיות לארגונים לבדוק כל תוכנה שעובדים איתה.
לי זה עושה רע לחשוב על זה שחברות קונות "חתול בשק" ומסכימות להפעיל מוצרים שלא נבדקו מבחינת אבטחה אבל זה קרב אבוד.
גם כשאתה כן בוחן מבחינת אבטחה מוצר הבחינה תהיה (בד"כ) ע"י גוף חיצוני ושוב – אין לי מושג כמה הגוף הזה מסוגל טכנולוגית לאתר פרצות אמיתיות.
בהמשך לעניין הזה, בימים האחרונים התפרסמה הכתבה הזו שמספרת על כך שמישהו שינה THEME של WORDPRESS כך שיכיל בתוכו פניה החוצצה לקבלת סקריפט זדוני.
הרעיון הוא שכשמשתמש התקין את הTHEME מתבצעת פניה החוצה לקבלת הוראות והעניין מאפשר למשחרר הTHEME להריץ קוד זדוני.
בעצם יש כאן אופציה לגיוס מחשבים זומבים כחלק מ-Botnet חדיש ואיכותי שמורכב משרתי חזקים במיוחד.
חשוב לציין – במקרה הזה החבר'ה הרעים לקחו THEME מוכן ושינו אותו ע"י הוספה של סקריפטים מוצפנים מקודדים ב-BASE64 כדי שמי שרואה את הקוד לא יבין בקלילות שיש פה בעיה.
עוד מידע על העניין פה: http://gigaom.com/2007/11/26/wordpress-themes-security-problems/)
הרעיון עצמו הוא גאוני אבל אני מנחש שהוא לא חדש.
לפני מספר חודשים חבר אמר לי שהוא מוריד מהאינטרנט CD מוכן של XP עם כל העדכונים ומתקין אותו.
ככה ההתקנה לוקחת הרבה פחות זמן.
השאלה הראשונה ששאלתי אותו היתה "ומה עוד יש בו חוץ מעדכוני מערכת ההפעלה?".
האמת היא שהוא לא ידע. גם אני לא.
לא מזמן החלטתי שאני בודק.
לקחתי CD דומה וראיתי שיש ממנו פניות מוזרות החוצה אל האינטרנט כל חצי שעה בערך.
פחות משתי דקות אח"כ ניתחתי בלוגים של ה-FW את הפניה – פנייה לערוץ IRC.
ההתקנה נגועה בטרויאן במקרה הטוב או בROOTKIT במקרה הפחות טוב.
בכל מקרה – לא ממליץ להשתמש.
בקוד פתוח הרבה יותר קל לבצע דברים כאלה.
אנשים רגילים לכך שפרוייקטים משתנים על בסיס קבוע, פרוייקטים מתפצלים וכ"ו.
פשוט לאללה להוסיף חתיכות קוד בעייתיות בתוך יער של קוד בריא.
אשמח לשמוע דעתכם על העניין.


28 בנובמבר 2007 בשעה 15:32
הבעיה היא גדולה מאוד במיוחד בגלל שאתה לא יודע מה אתה מוריד ובמיוחד כשזה קוד סגור.
גרמת לי לחשוב, היום קיבלתי vista צרובה מחבר ואני בעצם לא יכול בשום אופן לדעת מה מחכה לי שם..\
מדאיג + מבהיל. (מדהיל)
28 בנובמבר 2007 בשעה 15:33
מי שמפעיל קוד שהגיע ממקור לא אמין, מגיע לו לקבל בראש.
נכון שאפשר לקחת קוד של פרוייקט קיים, לתקן אותו שוב ולהפיץ – אבל למה שאני כמשתמש אוריד את הקוד שמישהו לא ידוע קימפל אם באותה קלות אני יכול ללכת לאתר הבית של הפרוייקט ולהוריד משהו רשמי?
אגב, בהרבה מערכות גנריות (חלונות למשל) קל מאוד לשתול קוד שירוץ אוטומטית גם למי שאין את הקוד של המערכת.
אגב, אני מזכיר את הפוסט הרלוונטי מלפני שנה וקצת:
http://firefang.net/blog/320
28 בנובמבר 2007 בשעה 16:21
כאשר גוף עסקי רוכש תוכנה הוא רוכש סוג של "חתול בשק" ואין מה לעשות. לאף גוף אין אפשרות לבדוק כל מוצר תוכנה שהוא רוכש, בדיוק כמו שאין לו אפשרות לבדוק כל מכונית ומכונית שהוא רוכש (או כל מוצר אחר).
בקוד פתוח יותר קל להכניס "הפתעות" לקוד. גם במערכות קוד סגור אפשר לשתול "תוספות" כאלה ואחרות אולם הם האינטגרציה שלהם לתוך המוצר תהיה כמובן פחות מהמקבילה בקוד פתוח.
לכן – קוד פתוח מקל על העבודה של התוקף הן מבחינת זיהוי נקודות תורפה והן מבחינה ניצול הפלטפורמה על מנת להפיץ את משנתו הרעה.
28 בנובמבר 2007 בשעה 21:02
הכל קשקוש חוץ משוש.
זה בערך כמו התועלת בשימוש ב-SSL שנקנה מוריסיין. אפשר לעקוף את זה, עניין של סבירות. כשארגון קונה תוכנה מספק מוכר ומוריד אותה ממקור מוכר הוא מצמצם סיכונים.
אתה חותר למקום בו אין סיכונים. היכן שאין סיכון אין סיכוי, או שקיימת אשליה.
מבחינה פרקטית אין הבדל ברמת האבטחה בין קוד פתוח לסגור. כשהורדתי ubuntu הורדתי את זה מאתר הפצה רשמי. המחשב שלי מאובטח וכך הייתי חשוף בעיקר למתקפות סביב פריצה לאתר ההפצה או פריצה לנתב הקרוב לביתי. שניהם אפשריים ולא סבירים. אין לי מה לדאוג – זה לא אומר שאין סיכון, אלא שמחיר הדאגה יקר מתוחלת הנזק.
28 בנובמבר 2007 בשעה 21:57
פה נכנס אלמנט נוסף – מקור הקוד (בפרפראזה על "קוד מקור"). אם אני מוריד/מקבל את הקוד ממקור אמין (קרי ספק רשמי, אתר רשמי מאובטח וכד') יש סבירות גבוהה יותר שמדובר במוצר האותנטי בלי הפתעות.
לגבי רכישת תוכנה על ידי גוף עסקי, במקרה זה יש סוגים שונים של תוכנות וגופים שונים שמשקיעים בבדיקות. מעבודה בעבר מול מספר בנקים בישראל, להם למשל יש משאבים, רצון ומעל לכל רגולציה, לבדוק היטב מבחינה אבטחתית על ידי מומחים תוכנות שנתפרו או קוסטמו עבורם. עם זאת היו גם מקרים בהן חברות (ואפילו ישראליות) סרבו בתוקף לחשוף לא רק את הקוד אלא אפילו את מתודולוגיית הפיתוח שלהם מכיון שהם מונופול בשוק המסויים הזה והם לא רוצים שחס וחלילה משהו ידלוף למתחרים.
יותר מכך, זה לא כאילו באמת יש ברירה. לא לכל תוכנה יש תחליף פתוח, חינמי, מדליק ולינוקסי, במיוחד ברמה הארגונית. לפעמים אין ברירה אלא לרכוש חתול בשק או ארנב בשקית.
29 בנובמבר 2007 בשעה 8:07
ניב,
גם כאשר אני מוריד אובנטו, או תבנית של ווררפרס – אני מוריד "חתול בשק" – אלא אם אני מבצע עבודת בדיקה ואימות של הקוד בעצמי. השאלה האם הקוד סגור או פתוח היא לא רלוונטית כאן.
הנקודה המעניינת מהפוסט הזה היא שבקוד פתוח קל יותר לתקוף להכניס קוד זדוני שיראה כחלק אינטגרלי מהקוד המקורי.
29 בנובמבר 2007 בשעה 10:56
זה נכון שאתה מוריד חתול בשק ולכן בנקודה הזו תמיד עולה השאלה עד כמה התוכנה מוכרת ונפוצה, היצרן מוכר וכיו"ב.
אגב אחת הנקודות שאני אוהב לבדוק היא לאו דווקא את הקוד (דבר שאין לי יכולת לעשות, אני גם לא איש פיתוח וההבנה שלי בקוד מוגבלת מאד) אלא בהתקנה של התוכנה, אלו קבצים היא שותלת איפה, אלו קבצי מערכת או DLL פומביים היא משנה, איזה ערכים היא משנה, אם זו תוכנה רשתית אלו פורטים היא פותחת ומתי וכיו"ב. זה גם נותן קצת אינדיקציה על כל מיני דברים שקשורים לפעילות התוכנה מבחינה פונקציונלית ואבטחתית.
29 בנובמבר 2007 בשעה 11:04
אני מזמין כל אחד מכם להוריד את הקוד של מוצר קוד פתוח פופולרי, נניח פיירפוקס, להכניס בפנים שינוי תמים כמו התקשרות לשרת מרכזי לדיווח על התקנה נוספת של הגרסא "הפרוצה" שלכם, ולנסות להפיץ את זה בתפוצת נאטו בכל דרך שתמצאו לנכון.
אני בטוח שלא תגיעו לתפוצה רצינית.
עכשיו נעשה ניסוי נוסף: קחו מערכת סגורה, נניח חלונות ויסטה.
שנו אותה כך שתעשה את אותו דבר, ותתחילו להפיץ אותה בכל דרך שתמצאו לנכון.
אני בטוח שהוויסטה הפרוצה שלכם תגיע לתפוצה הרבה יותר רחבה, כי אף משתמש שהוא לא אדיוט גמור לא יתקין את הפיירפוקס שלכם כשהוא יכול להוריד בקלות פיירפוקס מהאתר הרשמי.
שד, בוא נשאר מחוברים למציאות:
יש שתי סכנות בהפעלת קוד:
1. שיש בו חור אבטחה שלא התגלה עד היום (פה בדרך כלל מדובר בטעות תכנות).
2. שמישהו נתן לך גירסא שהוא בישל שמכילה חור אבטחה זדוני.
יש הבדל מהותי בין שתי הסכנות.
קוד פתוח מקטין משמעותית את הסכנה הראשונה כי אתה נהנה מבדיקה של הקהילה, כולל בדיקה של האקרים משועממים.
קוד פתוח לא מגדיל את הסכנה השניה, מי שמבין מה הוא עושה יכול לגרום גם לקוד מקומפל להריץ מה שבא לו (וזה לא קשה במיוחד, ראה את זה למשל:
http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=detours+dll
מצד שני, בדרך כלל הוא מקטין את היכולת של התוקף להפיץ את התבשיל שלו בגלל דרכי ההפצה השקופות שמקובלות בעולם הקוד הפתוח.
29 בנובמבר 2007 בשעה 13:21
אני לא מסכים איתך עמרי בשתי הנקודות, אבל אין לי כוח לפתח את זה מכיון שזו בעצם מהות הענין ולב הדיון. אני חושב שהדברים כבר נאמרו וכל אחד עם עמדותיו.
29 בנובמבר 2007 בשעה 13:33
עמרי – אני יכול להגיד לך בבטחון מלא שאם אני לוקח קוד מקור של FF, משנה ומכניס את זה לרשתות P2P כשזה כבר מקומפל ומוכן להרצה בתור Firefox 3.1 beta preview, לא מעט אנשים יתקינו כדי לראות מה זה.
אתה חייב גם להסכים שזה הרבה יותר קל לבצע את זה מאשר לעשות אותו הדבר עם קבצי ההתקנה של IE7 למשל.
אני מזכיר לך – לא כולם יודעים שפייפוקס הוא קוד פתוח.
לא כולם יודעים שזה מוצר חופשי.
עומר – אני מסכים שלא אתה, ניב, עמרי או אני צריכים לדאוג.
אבל יש מספיק אנשים שכן מורידים דברים ממקורות מפוקפקים ומנסים להתקין – לעיתים אפילו באופן לא מודע.
לגבי ההשוואה לוריסיין או להפצות – זה בדיוק העניין.
אתה משווה את הסיכוי למתקפה על חברות כאלו לקלות של שינוי קוד ושחרור מחדש שלו? זה הבדל של שמים וארץ.
29 בנובמבר 2007 בשעה 13:37
גיא, לך על זה.
בתוך יומיים תהיה לך כתבה בסלאשדוט שמספרת על הגרסא הזו ובתוך שלושה ימים ב50 אלף בלוגים.
כמעט כל מוריד פוטנציאלי שמתעניין בגרסאות אלפא של פיירפוקס ישמע על זה מהר מאוד.
29 בנובמבר 2007 בשעה 13:40
אני מסכים איתך שתהיה על זה כתבה בתוך יום אפילו.
הקטע הוא שמי שיוריד את זה בד"כ לא יקרא את הכתבות האלה (אחרת הוא יידע מראש שאין גרסה כזו).
29 בנובמבר 2007 בשעה 13:42
אבל תסכים שיהיה קשה להגיע לתפוצה רצינית ככה, וזו הנקודה שלי.
הקהילה מגינה על עצמה.
29 בנובמבר 2007 בשעה 14:37
תגדיר תפוצה רצינית?
לדעתי יהיה אפשר להדיע לפחות לכמה אלפים. זה רציני?
29 בנובמבר 2007 בשעה 14:55
כן, כמה אלפים זה רציני.
רוצה לנסות?
בו נעשה את זה מעניין:
גרסאת פיירפוקס מהקוד העדכני, ששולחת ברשת בקשה לשרת שלי.
בבקשה כתוב "I am a hacked firefox version" או משהו דומה.
נראה כמה זמן זה יחזיק מעמד לפני שזה מתפוצץ.
כדי להמנע מנזקים, כדאי לתעד באיזה מקום את השינויים שאנחנו עושים ואת המוטיבציות.
29 בנובמבר 2007 בשעה 16:13
בשל העובדה שאני חתום כרגע על מסמך כלשהו שלא מאפשר לי לבצע את זה – אני חייב להמנע.
אבל בהחלט הייתי רוצה לראות לאן זה היה מוביל.
29 בנובמבר 2007 בשעה 17:45
"שד, בוא נשאר מחוברים למציאות:
יש שתי סכנות בהפעלת קוד:
1. שיש בו חור אבטחה שלא התגלה עד היום (פה בדרך כלל מדובר בטעות תכנות).
2. שמישהו נתן לך גירסא שהוא בישל שמכילה חור אבטחה זדוני.
יש הבדל מהותי בין שתי הסכנות."
עמרי – אני חולק על הניתוח שלך בשתי הנקודות.
1. טעות תכנות יכולה לקרות גם בקוד סגור וגם בקוד פתוח. בקוד פתוח הרבה יותר קל לתוקף לעלות עליה. בקוד פתוח גם הרבה יותר קל לתוקף לחשוב על דרכי תקיפה "מחוץ לקופסא". אתה טוען ש"אני נהנה מהבדיקה שהקהילה עושה לקוד פתוח" – אני טוען שהבדיקה הזו לא מתקרבת לבדיקה שנעשית על ידי צוותי ה-QA של החברות המובילות. האם אתה באמת חושב שקהילת המפתחים של mysql הריצה יותר בדיקות עמידות מהמעבדות של אוראקל? נא לא לשכוח של כל זוג עיניים של מישהו שכתב שתי שורות קוד בפרוייקט היו באמת עיניים שחיפשו פרצת אבטחה.
הרבה יותר קל לפרוץ קוד או מוצר שאני יודע את הקוד שלו, בין אם נעשו בו שגיאות תכנות ובין אם לא.
2. בישול גרסא: במוצר קוד פתוח קל יותר לבשל גרסא – כי התוספת תהיה אינטגרלית בתוך הקוד, ולא פטץ' כזה או אחר שמסתמך על שירותי צד שלישי.
קוד פתוח הוא דבר טוב וחיובי, אבל הטענה כאילו"הרבה עיניים סורקות את הקוד ומוצאות בו חורי אבטחה" היא פשוט שגויה בעיני. כמות שעות (או יותר נכון שנות) אדם שהושקעו על ידי אנשים מסביב לגלובוס בנסיון לפרוץ חלונות גדולה לאין ערוך מאלה שניסו לתקוף לינוקס כזה או אחר.
29 בנובמבר 2007 בשעה 18:07
כדאי (מאוד) לנסות ולהתרגל לאמת אמיתות קבצי מקור המורדים ממקור לא בטוח באמצעות hash של md5/sha1.
29 בנובמבר 2007 בשעה 18:09
שד,
בקוד פתוח קל יותר גם למפתחים אחרים לעלות עליה.
צוותי QA לא בודקים את הקוד ולא מסוגלים למצוא פרצות אבטחה שאינן טריוויאליות.
אני לא מתייחס לאיכות מוצר של חברה ספציפית (לא מייקרוסופט ולא אורקל וגם לא לינוקס).
שד, על Security by obscurity שמעת?
זה לא סתם פתגם.
לחשוב שחוסר קוד מונע מתוקף נחוש להבין מה התוכנה עושה זה נאיווי.
מנגנוני אבטחה שמסתמכים על הסתרת מידע לא עומדים במבחן המציאות.
תסתכל בלינק הראשון של החיפוש ששלחתי בתגובה הקודמת, לפחות ברמת הכותרות:
הוא מדגים איך אפשר לשנות את ההתנהגות של קוד מקומפל בלי שיהיה לך את הקוד. זה לא תאורטי – וזה אפילו שימושי.
תגיד, עמדת עם שעון וספרת את כמות השעות שאנשים ניסו בהם לפרוץ את חלונות ולינוקס שאתה מכריז את זה בכזה ביטחון?
חוץ מזה, הטיעון הזה פשוט לא מחזיק:
למשל, רוב שרתי הווב בעולם מריצים APACHE ולא IIS.
(http://news.netcraft.com/), אז אני לא מבין מה עושים כל ההאקרים הזדוניים בנסיונות לפרוץ לIIS כשיש להם מטרה נוחה ופתוחת קוד כמו אפאצ'י.
אגב, מצחיק שאני כותב כרגע תחת חלונות ואתה תחת אובונטו
.
30 בנובמבר 2007 בשעה 6:21
עמרי,
1. "לחשוב שחוסר קוד מונע מתוקף נחוש להבין מה התוכנה עושה זה נאיווי." – זה לא מה שאני חושב או טוען. אני לא טוען שקוד סגור מונע מתוקף להנדס אותו לאחור, ולמצוא בו פרצות אבטחה.
הטענה שלי היא, שקוד פתוח מקל על הפורץ את העבודה.
2. "בקוד פתוח קל יותר למפתחים אחרים לעלות עליה" – נכון. הבעיה היא ש99 אחוז מהמשתמשים בתוכנה הם לא מפתחים. אני עובד ומפתח עבור לינוקס כעשר שנים. מעולם לא הסתכלתי על קוד המקור של הקרנל או אופן אופיס. אם מישהו ישים לי שם "מתנה" – אני לא אדע מזה.
שורה תחתונה: זה נאיווי לחשוב שאם הקוד פתוח יותר אנשים בודקים את הקוהורנטיות שלו.
3. "צוותי QA לא בודקים את הקוד ולא מסוגלים למצוא פרצות אבטחה שאינן טריוויאליות." – חולק עליך במאה אחוז. צוות QA שקיבל משימה לבדוק אבטחת הקוד מסוגל ואף עושה זאת.
4. "תגיד, עמדת עם שעון וספרת את כמות השעות שאנשים ניסו בהם לפרוץ את חלונות ולינוקס שאתה מכריז את זה בכזה ביטחון?" לא לא ספרתי עם counter, אבל לא צריך להיות גאון גדול כדי להסתכל על חוק המספרים הגדולים:
כמה שרתי ווב יש בעולם? מה האחוז שלהם לעומת כמות המחשבים הפרטיים שיש בעולם? נכון – אפסי. רוב המחשוב בעולם הוא מחשוב שנמצא בדסקטופ של אנשים ולא בחוות שרתים.
מתוך המחשבים הביתיים, די ברור לנו שחלונות שולטת.
כלומר יש היצע, עכשיו בוא נבדוק ביקוש:
כמה רשתות בוט נט פעילות יש כרגע? על כמה מחשבים בודדים הן שולטות ברגע זה ממש? מתוכם כמה מריצים חלונות?
כלומר- יש גם ביקוש. עבור האקר זדוני הרבה יותר הגיוני ומשתלם להשקיע זמן בלפרוץ חלונות (אני מדגיש חלונות ולא IIS) על מנת לקבל שליטה על מחשבים רבים ככל האפשר, ו/או לבצע מתקפה מתוחכמת על מחשבים של משתמשים תמימים (קרי, משיכת סיסמאות ממחשבים מרוחקים, ביצוע פישינג שמגיע מתוך ההוסט עצמו ולא מתבצע על פני הרשת, ריגול ועוד).
5. "אגב, מצחיק שאני כותב כרגע תחת חלונות ואתה תחת אובונטו" לא מצחיק בכלל. אני משתמש בקוד פתוח הרבה, מפתח על פלטפורמות פתוחות, וגם תרמתי לא מעט לפרוייקטים כאלה ואחרים. יחד עם זאת – אני לא פנאט ואני יודע להסתכל על התמונה המלאה. קוד פתוח עושה את העבודה של תוקף קלה יותר. וזו נקודה שלקחתי בחשבון ואני מוכן לחיות איתה. הסיבה המרכזית לכך היא שאני מעריף שתוקף יעדיף להשקיע את הזמן בלתקוף מטרות אחרות (קרי חלונות) אשר יביאו לו יותר רווח.
30 בנובמבר 2007 בשעה 9:44
1. זה מקל, עם זה אני מסכים. מה שאני טוען זה שיש פחות פרצות אבטחה בקוד פתוח בדיוק בגלל הסיבה הזו.
2. קח קוד של מוצר תוכנה רציני, נניח פוטושופ. כמה מפתחים קראו את הקוד של מודול מסויים בו?
קח קוד של מוצר קור פתוח רציני, נניח גימפ. כמה מפתחים קראו את הקוד של מודול מסויים בו?
נכון שלא כל אחד שקורא את הקוד הוא בעל מומחיות מתאימה בשביל לזהות פרצות אבטחה, אבל כשמדובר בהבדלים של סדרי גודל במספר הקוראים של הקוד, מדובר גם בהבדלים של סדרי גודל במספר האנשים שמסוגלים לזהות פרצות אבטחה.
זה שאתה לא טרחת להסתכל בקוד לא אומר שפחות אנשים מכירים את הקוד הפתוח שאתה מריץ מאשר את הקוד הסגור שאתה מריץ.
מצד שני, מתי היתה הפעם האחרונה שמישהו קרא קוד סגור שכתבת לפני שנתיים? בחברות מסחריות, קוד ישן לא מעניין אף אחד, גם אם הוא רץ אצל
מיליון לקוחות.
3. אפילו מתכנתים מהשורה בדרך כלל לא מסוגלים לזהות בעיות אבטחה שיושבות להם תחת האף. מהנדס QA עם מומחיות כזו לא ישאר מהדס QA הרבה זמן.
4. זה שחלונות פרוצה למרות שהקוד שלה סגור בסך הכל מחזק את הטיעון שקוד פתוח זה לא הכרחי כדי למצוא פרצות אבטחה.
זה שהיא מטרה יותר מפתה מלינוקס זה ברור, אבל זה לא סותר את הטענה שקוד פתוח הוא יותר בטוח בממוצע מקוד סגור.
5. האמונה שלי בזה שקוד פתוח הוא יותר בטוח לא הופכת אותי לפנאט, אם זה אתה רומז.
אגב, מה דעתך על הדרישות לפתוח את הקוד של מכונות ההצבעה האלקטרונית בארצות הבעית?
האם תרגיש יותר בנוח להצביע במכונת הצבעה שהקוד שלה פתוח או בכזו שהקוד שלה סגור ונקרא רק על ידי צוות המפתחים המוכשר אין קץ שלה?
30 בנובמבר 2007 בשעה 10:17
עמרי, מבחינה טכנית קשה לנהל דיון נורמלי על גבי מערכת תגובות, פורומים עדיף.
אני בכל זאת אענה כאן:
1. אנחנו מסכימים שקוד פתוח מקל מציאה פרצות אבטחה. אנחנו לא מסכימים שיותר עיניים סרקו קוד פתוח בנסיון למצוא בו פרצות אבטחה מאשר עיניים אשר ניסו להקשיח קוד סגור.
2. אני בספק אם יותר אנשים קראו קוד של גימפ וסרקו אותו לבעיות אבטחה מאשר אנשים שקראו את הקוד של מודול בפוטושופ ובדקו שהא מאובטח מספיק. יש הבדל עצום בין אדם שקורא קוד כחלק מפרוייקט פתוח, בזמנו החופשי לבין אדם שקיבל משימה והוא צריך לעמוד מאחורי התוצאות שלה.
כשאני התעסקתי עם הקוד של VLC (וזה היה לפני הרבה שנים) עניין אותי רק MPEG2 (זמני לימודים) אז נגעתי רק בו. למה? כי זה מה שעניין אותי.
לעומת זאת, כאשר קיבלתי משימה לוודא הקשחה של רכיב חומרה מסויים בעבודה – ה-attention שלי לנושא היה אחר לגמרי.
3. אל תתיחס אליו כאל מהנדס QA, תתיחס אליו כאל "מומחה אבטחה", א"ארכיטקט security". תראה שהוא ישאר בתפקידו זמן רב. (דרך אגב, בחלק מהחברות בהן עבדתי היתה משרה כזו).
4. אף אחד לא אמר שקוד פתוח הוא הכרחי כדי למצוא פרצות אבטחה. הטענה היא שקוד פתוח מקל את העבודה, ועם הטענה הזו הסכמת כבר (ע"ע 1).
5. לא אמרתי או רמזתי שאתה פנאט לרגע. סליחה אם זה הובן כך מהדברים. התייחסתי בחצי הומור להערה שלך על כך שאני משתמש בלינוקס כרגע.
6. אני ארגיש הכי בטוח להצביע עם פתק. אבל אם הייתי צריך לבחור – הייתי מרכיב ערימת מומחים שמורכבת מגוונים שונים של האוכלוסייה, כאשר כל אחד מהם עובר סינון ובדיקת רקע שיגרמו לבדיקות של המוסד להיראות כמו משחק ילדים.
אני מעדיף קוד שיהיה פתוח לצוות של אנשים כאלה מאשר לכל העולם ואחותו.
על אותו משקל, האם היית מעדיף שנמל התעופה בן גוריון יפרסם את נהלי האבטחה שלו? זמני הסיורים, מיקומי הסוכנים (הגלויים והסמויים), המעברים, השערים, מתגי השליטה האלקטרונים וכדומה? או שמא אתה מעדיף שרק מי שצריך לדעת את המידע הזה – ידע אותו.
30 בנובמבר 2007 בשעה 12:30
עמרי אתה ממש נסחף לדעתי. לגבי מכונות ההצבעה האלקטרוניות, חס וחלילה אם הקוד יהיה ידוע לכולם. אמנם Security by Obscurity הוא מושג כמעט מגונה כיום, אבל בשורה התחתונה הוא לפעמים נדרש (והרבה יותר ממה שחושבים. כשפותחים קוד, לא רק מגלים את בעיות האבטחה שבו, אלא גם איך הוא בנוי, מה בעצם כל הדברים הגלויים והסמויים שהמערכת עושה ועוד. ושמע, יש דברים שצריכים להישאר סמויים.
התשובה של שד בהקשר זה היא בדיוק הדבר שיש לעשותו. היה על כך דיון מעניין בבלוג לפני זמן וכן בבלוג של עומר טרן ושל MrM.
אגב בלי קשר לאבטחה, לפני זמן מה שמעתי הרצאה מרתקת אצלנו בחברה על השימוש בקוד סגור לעומת קוד פתוח מבחינת ההגנות בפטנטים וכן הלאה עבור חברה שרוצה לפתח מוצרים. אם תרצו אפשר לפתוח על זה דיון נפרד.
1 בדצמבר 2007 בשעה 17:12
גיא, כתבת בפוסט את המילה "מוצפנים" בקו חוצה – מדוע?
זה נגד CRAWLERים או בעריכה.
1 בדצמבר 2007 בשעה 17:26
אלי: זה בעריכה.
כשכתבתי את הפוסט השתמשתי במילה מוצפנים אבל המינוח הנכון הוא מקודדים.
2 בדצמבר 2007 בשעה 8:40
פוסט מעניין מאוד, וגם הדיון שהתפתח פה מאוד מעניין.
כמה הערות:
1. נהלי האבטחה של נמל התעופה לא מקביל בכלל לקוד פתוח, זה יותר מקביל ללשחרר את הנתונים של הגישה לשרת שלך FTP, SQL וכיו"ב. בנוסף אין טעם לעשות את ההשוואה הזו כי ההבדל בין קוד שבסופו של דבר די הופך למשהו "שחור ולבן", לבין נהלי אבטחה. אני יודע שזה לא קשור אבל כשמדברים על אבטחה של נמל תעופה זה כולל גם את המשטרה, הצבא, שירותי ביון, משתפ"ים ועוד. האבטחה של נמל התעופה לבד לא ממש שווה. במקרה הזה אתה יכול להשוות את כל הנתונים מסביב לעניין הזה (סוג השרתים/מחשבים, הרשתות, הנתבים, האנשים שמתפעלים את המערכת, אם זו מערכת באינטרנט לדוגמה אז זה יכול להיות תלוי גם במערכת ההפעלה של המשתמש והתוכנות שהוא משתמש בהן ועוד ועוד). בכל מקרה – מדובר על השוואה מאוד לא מתאימה.
2. האבטחה תלויה פשוט באבטחה של המוצר ואיך הוא מטופל, אני לא מוצא את הדיון בקוד פתוח / קוד סגור רלוונטי כ"כ. היתרון של קוד פתוח הוא שניתן לשנות אותו ולטפל באבטחה שלו בצורה שלא בהכרח תהיה חשופה החוצה. (כל עוד אתה לא מפיץ זאת אלא משתמש הקצה).
אוהד.
2 בדצמבר 2007 בשעה 8:41
BTW אם כבר מדברים על אבטחה, משום מה אי אפשר לפרסם פה תגובות מהדפדפן אופרה, נאלצתי להפעיל את IE בשביל זה. צריך קצת לרכך את מערך האבטחה בבלוג הזה:)
2 בדצמבר 2007 בשעה 8:50
אוהד, אני ממש לא מסכים איתך.
1. הרוב המוחלט של חורי האבטחה נובעים מבעיות בטיפול בקלט לא צפוי. (קלט יכול להגיע מהמקלדת, מהרשת, או מכל התקן IO אחר).
תאר לך שיפרסמו את מגוון השאלות של המאבטחים בשדה התעופה, איזה תשובות הם מצפים לקבל עבור כל שאלה, ואיך הם מרכיבים את הפרופיל של האדם העומד מולם.
כמו כן, יפרסמו שרטוט של כל השערים, הגדרות, המצלמות (ומי מסתכל עליהם), נתיבי תעבורה רגליים וממונעים וכו'.
ההקבלה כאן היא מלאה.
(בסוגריים אני אוסיף, שגם מערכת ההפעלה ידועה בפרוייקטים של קוד פתוח).
2. "היתרון של קוד פתוח הוא שניתן לשנות אותו ולטפל באבטחה שלו בצורה שלא תהיה חשופה החוצה" – צר לי, אבל הטיעון הזה לא רלוונטי ל-99.99% ממשתמשי המיחשוב בעולם. פשוט אין להם את היכולת לשנות את הקוד, וגם אם יש להם את הידע, אין להם משאבים אחרים (זמן).
2 בדצמבר 2007 בשעה 11:48
שד:
"לעומת זאת, כאשר קיבלתי משימה לוודא הקשחה של רכיב חומרה מסויים בעבודה – ה-attention שלי לנושא היה אחר לגמרי."
מעטות מאוד מאוד החברות שממש טורחות להסתכל על המוצר שלהם בצורה רוחבית בחיפוש אחרי פרצות אבטחה אחרי שלב התכנון.
וגם אלו שעושות את זה אף פעם לא עושות את זה מספיק, ולראיה – כמות פרצות האבטחה שמתגלות במוצרים מסחריים.
"אני ארגיש הכי בטוח להצביע עם פתק. אבל אם הייתי צריך לבחור – הייתי מרכיב ערימת מומחים שמורכבת מגוונים שונים של האוכלוסייה, כאשר כל אחד מהם עובר סינון ובדיקת רקע שיגרמו לבדיקות של המוסד להיראות כמו משחק ילדים.
אני מעדיף קוד שיהיה פתוח לצוות של אנשים כאלה מאשר לכל העולם ואחותו."
טוב, ואני ארגיש הכי בטוח להשתמש במערכת שהמתכננים שלה סומכים על עצמם מספיק כדי לחשוף את פרטי המימוש לביקורת פתוחה.
הסכמנו כבר שקוד סגור לא מונע מתוקף נחוש להבין את המערכת.
מבחינה פסיכולוגית, מפתחים של מערכות סגורות נוטים לחשוב שמותר להם לשמור סודות בקוד, כבעצם הכל גלוי וזו רק אשליה של סודיות.
לא תחשוב לנסות להסתיר סודות בקוד פתוח, נכון?
עובדתית אנשים מנסים להסתיר סודות בקוד סגור כל הזמן.
הייתי אפילו אומר שקוד סגור מעודד כתיבה בצורה לא באמת בטוחה מתוך אשליה כוזבת של ביטחון וסודיות.
"על אותו משקל, האם היית מעדיף שנמל התעופה בן גוריון יפרסם את נהלי האבטחה שלו? זמני הסיורים, מיקומי הסוכנים (הגלויים והסמויים), המעברים, השערים, מתגי השליטה האלקטרונים וכדומה? או שמא אתה מעדיף שרק מי שצריך לדעת את המידע הזה – ידע אותו."
מכיוון שהעולם האמיתי הרבה פחות צפוי מעולם המחשבים, לא הייתי רוצה לחשוף את הדברים האלו כמובן.
מצד שני, אין לי שום בעיה לחשוף איפה מערכת ההפעלה שומרת פרטים פרטיים של תהליכים, או כל חשוב אחר, כי שם אני סומך על המערכת שתכן על עצמה (או רוצה להשתמש במערכת שניתן לסמוך עליה).
חוץ מזהף גם באבטחה אמיתית יש סודות, וכמו שלומדים בכל קורס קריפטוגרפיה – אסור לסודות האלו להיות ה"איך".
מפתח פרטי הוא סודי.
האלגוריתם של ההצפנה הוא לא סודי.
כמה דוגמאות:
על openssl שמעת?
לא חושב שהוא מטרה טובה להאקרים? הרי מי שמצליח למצוא בו פרצת אבטחה יהיה מלך, משתמשים בו בעשרות אלפי מערכות, והקוד שלו פתוח.
על ג'אווה שמעת?
הקוד של ג'אווה זמין (ולא רק מרגע שסאן עברו לGPL, אלה עוד הרבה הרבה קודם), מי שמוצא פרצת אבטחה בג'אווה הוא מלך מלכים, כי משתמשים בו במאות אלפי מערכות, במיוחד מערכות אנטרפרייז.
אז למה אתה לא שומע על פרצות אבטחה במערכות הפתוחות האלו?
ניב:
אני ממש לא מגזים.
אני חושב שבמקרה הזה חובה לפתוח את הקוד, במיוחד כי יש פה מוטיבציות והרבה כסף שמוטל על הפרק.
כמה קשה יהיה לאחד המועמדים לשחד את צוות המומחים שבודק כדי להעלים עין מחור? הרי לכל אחד יש מחיר.
מצד שני, את הציבור כולו אי אפשר לשחד.
אמרו חכמים: אור השמש מחטא מצויין.
ואני מוסיף: וקוד פתוח מקבל הרבה שמש.
2 בדצמבר 2007 בשעה 14:55
באופן כללי אני אתחיל ואומר שאני מתייחס לפתיחה של קוד לא רק כאל חשיפת opcodes באסמבלר, אלא גם לחשיפה של מנגנוני קלט ופלט, Physical layer של רשתות תקשורת, קודי VHDK של רכיבי חומרה וצ'יפים וכו'.
כבר הסכמנו שקוד פתוח מקל את העבודה. קח את NDS כדוגמא: מוצר הצפנה שנמצא בשימוש של עשרות מליוני אנשים ברחבי העולם מדי יום ביומו. מעולם לא הצליחו לפרוץ את ההצפנה של NDS, בין השאר, כי אי אפשר לעשות הינדוס לאחור של הצ'יפ שלהם. פשוט אין את האמצעים הטכנולוגיים לכך.
ברגע שהם ישחררו את הקוד של הצ'יפ – העסק גמור מבחינתם, וכל אחד יוכל לקנות ממיר "עם צ'יפ" (בדיוק כמו PS2) שיודע לפענח את כל הערוצים של יס בלי לשלם ליס אפילו אגורה שחוקה אחת.
לכן, כאשר אני חושף על חשיפה של מערכת בחירות אלקטרונית, שכוללת לא רק את הקוד שרץ על הטרמינלים, אלא גם את כל מה שפירטתי קודם – ברור לי שלתוקף יהיה הרבה יותר קל לבצע סניפינג וזיוף מידע כאשר הוא מכיר את השכבות התחתונות של ערוץ התקשורת. אותו כנ"ל לגבי זיוף קלטים, פלטים ולמעשה כל סוג התקפה שתוכל לחשוב עליו.
1. כן, אני מכיר openssl וג'אווה. אני לא ארחיב כאן, רק אומר שקח בחשבון שיש מי שיודע לקרוא תעבורת ssl.
2. "כמה קשה יהיה לאחד המועמדים לשחד את צוות המומחים שבודק כדי להעלים עין מחור? הרי לכל אחד יש מחיר."
גם לאירן יש הרבה כסף נזיל וזמין. אני מאוד מקווה שהם לא "קנו" את ראש אמ"ן.
לא לכל אחד יש מחיר, והאנשים שיראו את הקרביים של מערכת כזו צריכים להיות מסוג האנשים שאין להם מחיר.
2 בדצמבר 2007 בשעה 16:49
אני נוטה לצדד בעמדתו של שד, אבל אני חושב ששניכם לוקחים בחשבון בעיקר צד אחד של תהליך הפיתוח, תהליך הבדיקות.
בקוד פתוח יותר קשה לאכוף סטנדרטים של פיתוח ויותר קשה לאכוף רמת הכשרה. אלו דברים משמעותיים בפיתוח. ייתכן והמצב האידיאלי הוא ארגון סגור המפתח בקוד פתוח, כך שמצד אחד הוא מייצר תהליכי עבודה בהם קיים דגש לאבטחה ומצד שני הוא מאפשר ביקורת ציבורית. עם זאת, אני מסכים עם הטענה שהעובדה שניתן לבדוק משהו לא גורמת למישהו לבדוק אותו.
אני גם בכלל לא בטוח שרוב פריצות האבטחה בקוד פתוח נולדות כתוצאה מקריאת קוד. לדעתי (לא בדקתי) רוב הפרצות נובעות מניסיונות תקיפה ולא מקריאה שיטתית של קוד על ידי עין אנושית.
עם כל האהדה שלי לקוד הפתוח, אני לא בטוח שבמבחן המציאות ישנה הוכחה לטענת הקוד הפתוח המאובטח יותר. הדוגמא היחידה בה ניתן לעסוק באמת היא שועל אש ואני לא בטוח עד כמה הוא יותר מאובטח. גם לגבי Apache זכורים לי לא מעט מפגעים בגרסאות השונות שאפשרו הרצת קוד מרוחק (את זה אני זוכר מקריאת דוחות בדיקה ללקוחות שונים בעבר).
הטענה הנכונה לדעתי בהקשר זה (לא שלי, לקוחה ממאמר של רוס אנדרסון) היא שזה חסר משמעות. בקוד פתוח יש יותר גישה לתוקפים ויותר גישה למגנים. בקוד סגור יש פחות גישה לתוקפים ופחות גישה למגנים. התוצאה היא שקילות (בעולם אידיאלי).
מעבר לזה, אני חושב שמרבית הדוגמאות שניתנו פה לוקות בהיעדר אובייקטיביות ורובן רלוונטיות לקוד פתוח וסגור באותה המידה.
הדיון בשאלת קוד פתוח או סגור הוא דיון לשם שמיים. לצרכים ארציים יותר השאלות הרלוונטיות יותר הן קוד פתוח או סגור של מי, לאיזו מטרה ואיך קיבלנו אותו.
2 בדצמבר 2007 בשעה 21:21
עומר טרן, אתה עושה טעות נפוצה והיא שאתה סבור שקוד פתוח = חינם אין כסף, ושמדובר על כמה חברה שעושים הכל בזמנם הפנוי.
אני אסכם את זה בשתי מלים: אתה טועה.
יש חברות שמספקות פתרונות קוד פתוח ותמיכה בצורות שונות, הסיכוי שתתגלה פרצת אבטחה בקוד כזה הוא אפסי. לרוב החברות האלו מספקות פתרונות שהם צעד אחד אחורה, אבל צעד בטוח, הרבה יותר. חורי אבטחה ובאגים מתגלים גם במוצרי קוד סגור (בשרתים של Microsoft גם התגלו חורי אבטחה).
Shed, כתבת:
"מעולם לא הצליחו לפרוץ את ההצפנה של NDS" וזו בעצם הטעות העיקרית במה שכתבת, מה שמתאים לחברה א', לא מתאים לחברה ב' ומה שנותן מענה טוב למצב X לא בהכרח יתן מענה טוב למצב Y.
הטענות – "קוד סגור הוא מאובטח יותר" או "קוד פתוח הוא מאובטח יותר" חסרות משמעות לחלוטין.
בדיוק כמו הדיון באם על שומר או מאבטח צריך להחזיק אקדח, רובה, או תת מקלע רציני – זה תלוי איפה הוא נמצא ועל מה הוא שומר. וגם אם הוא מחזיק את הנשק הנכון, הוא צריך גם לדעת להשתמש בו ולא להרדם בשמירה.
דבר שני כתבת: "קח בחשבון שיש מי שיודע לקרוא תעבורת ssl" אולם לא התייחסת לבעיה המרכזית בדיון: האם openssl הוא מאובטח פחות מפתרונות ssl בקוד סגור?
חשוב לעשות את ההבדל בין תנאים שונים, חברות שונות, נושאים שונים ומקרים שונים. ומה שחשוב לזכור בנוסף בקוד פתוח – הוא שיש הרבה גרסאות והפצות שונות למוצרים מסויימים, חלקם מאובטחים יותר וחלקם פחות.
בנוסף עוד מקרה הוא דפדפן, רמת האבטחה של מוצר תלויה גם באיפה הוא יושב בסופו שלדבר ומהי מטרתו. מוזילה הוא לא הפנטגון ואין צורך להתייחס אליו ככזה. דפדפנים מבוססים קוד סגור, אינם בהכרח מאובטחים יותר, חלקם כן, חלקם לא.
2 בדצמבר 2007 בשעה 21:33
אוהד,
השאלה האם מוצר מאובטח או לא (או מה רמת האבטחה שלו) נקבעת מהרבה גורמים.
הדיון כאן ניסה לבודד את אחד הגורמים – והוא פתיחת הקוד.
אם אני אקח שני מוצרי תוכנה, שעושים אותו דבר, ופותחו על ידי תכנתים באותה רמה, תחת אותה מתודלוגית פיתוח. יהיה קשה יותר לנצל חולשות במוצר שהקוד שלו סגור מאשר המוצר המקביל שהקוד שלו פתוח.
אף אחד לא טען כאן "קוד פתוח == לא מאובטח, קוד סגור == מאובטח".
הטענה כאן (לפחות שלי) היא שפתיחת הקוד מקילה על התוקף.
3 בדצמבר 2007 בשעה 10:07
אוהד, לא טענתי או חשבתי שקוד פתוח = חינם אין כסף. אמרתי שייתכן ומקרים אידיאליים הם מקרים בהם ארגונים סגורים עושים שימוש בקוד פתוח. אך במבחן המציאות, כמות המקרים הללו קטנה משמעותית מהאלטרנטיבה של קוד פתוח חינמי. מעבר לכך, גם חברות שמפתחות בקוד פתוח וגובות על כך כסף עשויות לעשות שימוש במרכיבי קוד פתוח שלא הן פיתחו ובכך תולות את רמת האבטחה שלהן במוצרים שלא פותחו באותם הסטנדרטים בהכרח (אולי כן ואולי לא).
אני חושב שהפתרון האידיאלי הוא קוד סגור עם שקיפות מלאה לגורם בלתי תלוי בעל יכולת לבצע בחינה מלאה של תהליכי הפיתוח, הקוד והתוצר המוגמר. אני מסכים עם הטענות שהועלו פה לגבי security by obscurity. זה מנגנון הגנה טוב. הבעיה המרכזית בו הוא שלעתים נוטים להשתמש בו בתור מנגנון יחיד. לחילופין, גם security by transparency הוא מנגנון טוב וגם בו נוטים להשתמש לעתים כמנגנון יחיד.
זה דיון שמנסה להגיע להכרעה היכן שלא באמת ניתן להגיע להכרעה.
3 בדצמבר 2007 בשעה 11:28
עומר – הבעיה שלי עם לתת לגורם חיצוני לבצע את הבחינה המלאה היא שאין שום דרך לדעת מה רמתו של הגורם החיצוני.
מזכיר לי את מה שכתבת על שוק הלימונים באבטחת המידע.
זאת בעיה רצינית כיוון שיש היום הרבה חברות שמגדירות עצמן כמובילות ואין (IMHO) שום דרך אמיתית לבצע השוואה של היכולת או המקצועיות.
3 בדצמבר 2007 בשעה 11:57
"אך במבחן המציאות, כמות המקרים הללו קטנה משמעותית מהאלטרנטיבה של קוד פתוח חינמי"
אז מה? במבחן המציאות כמות האפליקציות המאובטחות בצורה שפויה קטנה מאוד ביחס לאלו שמאובטחות בצורה זוועתית. גם בקוד סגור זה כך, וגם בקוד פתוח.
חברות רציניות שרוצות שהמוצר שלהן יהיה מאובטח לא ילכו על פתרונות סוג ז'. אתה בתור לקוח צריך לדעת לבחור את החברות הנכונות. אתה גם יכול ללכת לחברה שיש בה אנשי אבטחה רציניים עם מתכנתים ברמה גבוהה, מנהלי פיתוח תותחים והשקעה רצינית במוצרים, אבל מה? אם הם עובדים עם מחשבים ניידים – ויוצאים איתם הביתה – אלו יכולים להגנב. אז מה זה שווה?
מבלי לדבר על פתרון אידאלי, הפתרון שצריך ללכת עליו הוא הפתרון שמתאים ביותר למקרה שלך.
"מבחינה פסיכולוגית, מפתחים של מערכות סגורות נוטים לחשוב שמותר להם לשמור סודות בקוד, כבעצם הכל גלוי וזו רק אשליה של סודיות.".
קוד סגור מקשה על מי שמנסה לחדור, אך הוא לא מונע ממנו זאת – וזה מה שחשוב לזכור.
אני אכתוב זאת שוב:
קוד סגור לא מאובטח יותר מקוד פתוח, וקוד פתוח לא מאובטח יותר מקוד סגור.
לפני משהו כמו שנה – שנתיים היה עובד שגילה פרצה במכשור של סיסקו והלך לספר על זה לכל העולם ואחותו. קוד פתוח או קוד סגור זה בכלל לא פאקטור בלבחון את האבטחה של מוצר.
היום גם לא מעט מוצרים מפותחים ב – Java/.NET ולעשות לאלו Reverese engineering לא דורש ממך כמעט כלום, זמן אפסי. אז מה? הפתרונות ב – Java/.NET הם פחות מאובטחים?
האם מוצרים שפועלים תחת מערכות Linux הם פחות מאובטחים?
אין קשר בין הדברים.
3 בדצמבר 2007 בשעה 12:10
גיא, כשכתבתי על שוק הלימונים כיוונתי בדיוק לקיומו של גורם שלישי. הבעיה היא שאתה בעצמך לא מסוגל לבדוק את הקוד. אני לא חושב שקיימת בעיה לבדוק אם חברה מובילת ידע או לא. הבעיה האמיתית היא שהעלות שבדיקת מוצר עבור לקוח יקרה בצורה לא סבירה ולכן מוצר צריך להיבדק עבור עצמו (מודל Common Criteria).
אוהד, הייתי שמח להתווכח איתך אבל נראה לי שאנחנו מסכימים. (אם אתה בכל זאת רוצה להמשיך, אני חושב שאתה טועה לחלוטין!!!).
3 בדצמבר 2007 בשעה 16:36
אוהד,
אני אכתוב את זה שוב:
קוד פתוח מקל את עבודת התוקף.
ואני אכתוב את עוד פעם:
כשיש לי את הקוד הרבה יותר קל לי לתקוף.
ואני אכתוב את זה פעם שלישית
קוד פתוח חושף לא רק opcodes של אסמבלר, אלא תהליכים שלמים, וניהול התהליכים האלה.
ובפעם האחרונה:
קח שתי תוכנות. שנכתבו על ידי אותם מתכנתים. התוכנה שתחשוף את הקוד שלה תיפרץ קודם. נקודה.
בכל הפעמים שפרצתי תוכנות (היו מפתחים שנתנו לי תוכנות שלהם על מנת לבדוק את מנגנוני ההגנה שלהם) הפעולה הראשונה, או הכמעט ראשונה שעשיתי היתה הינדוס לאחור.
3 בדצמבר 2007 בשעה 20:23
"בכל הפעמים שפרצתי תוכנות (היו מפתחים שנתנו לי תוכנות שלהם על מנת לבדוק את מנגנוני ההגנה שלהם) הפעולה הראשונה, או הכמעט ראשונה שעשיתי היתה הינדוס לאחור."
אני חושב שזה אומר הכל.
3 בדצמבר 2007 בשעה 20:27
נכון אוהד, זה אומר הכל: בקוד פתוח העבודה שלי קלה יותר. ובמוצרים בהם לא ניתן היה לבצע הינדוס לאחור (חלק מהמערכות שבחנתי כללו רכיבי תוכנה, חומרה, ורצו על board ייעודי) מלאכת התקיפה היתה קשה במיוחד.
4 בדצמבר 2007 בשעה 7:15
לא טענתי שהיא אינה קלה יותר, השאלה היא בשורה תחתונה האם "קוד פתוח" פוגע באבטחה של מוצר (וזה לא בהכרח קוד פתוח כפי שכתבתי ל – Java/.NET אין ממש אפשרות להסתיר את הקוד רק עם Obfuscators שגם הם מקשים על העבודה רק חלקית).
מה קורה ברגע שאתה בודק מוצר קוד פתוח, ואתה מגלה בו חור אבטחה?
4 בדצמבר 2007 בשעה 9:19
אוהד:
1. מעולם לא בדקתי מוצר קוד פתוח – זה פשוט לא עניין אותי יותר מדי כדי שאני אשקיע בזה את הזמן.
2.מה יקרה כאשר אני אבדוק מוצר קוד פתוח ואגלה בו חור? בדיוק מה שקורה כשאני תוקף מוצר קוד סגור: אני אודיע למפתחים.
29 בפברואר 2008 בשעה 13:44
I have nothing to say, open source is so much better from every aspect, only reason not all projects are open source is money.
12 במרץ 2008 בשעה 1:29
[...] מזמן היה כאן דיון שעסק ב"האם הקוד הפתוח רע לאבטחת מידע" ועמרי טען שאם יקרה משהו דומה לזה יעלו על העניין מהר [...]