דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. הסבר | האינטרנט כיום- טלאי על גבי טלאי!

הסבר | האינטרנט כיום- טלאי על גבי טלאי!

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
13 פוסטים 5 כותבים 234 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • N מנותק
    N מנותק
    Nils Sjoberg
    כתב נערך לאחרונה על ידי Nils Sjoberg
    #1

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

    הקדמה
    האינטרנט המודרני נוצר לראשונה ב-1969 בבסיס בארה"ב, ברשת בשם ARPANET. היא הוקמה על ידי DARPA של משרד ההגנה האמריקאי על מנת לקשר בין מחשבים באוניברסיטאות. שני מדענים, וינט סרף ומדען מוכשר בשם בוב קאן, המציאו את TCP/IP, שהם מבין פרוטוקולי האינטרנט הבסיסיים ביותר כיום. פרוטוקולים אלו הגדירו כיצד נתונים נארזים ונשלחים ברשת. הם נוצרו על מנת להחליף את NCP, שהיה פרוטוקול אבטחה מוגבל ביכולת שלו לתקשר בין מכשירים ודי מיושן. ב-1978 פוצל פרוטוקול התקשורת לשניים: TCP אחראי על אריזת נתונים ובדיקת שגיאות, ו-IP אחראי על ניתוב כתובות. כמה שנים אחרי זה, ב-1983, רשת ARPANET חייבה את כל המחשבים המחוברים אליה לעבור לעבוד אך ורק עם הפרוטוקולים TCP/IP. אירוע זה ייצב את האינטרנט העולמי כיום.

    TCP/IP
    עכשיו, מכיוון שאף אחד מאותם המדענים לא דמיין לעצמו כיצד האינטרנט ייראה אפילו עשור קדימה, הפרוטוקולים האלו (TCP/IP), שמהווים את ליבת האינטרנט, היו ללא שום מנגנון אבטחה או אימות מובנה, כי המידע בבסיסו הועבר בקובץ טקסט פשוט. מה שאיפשר לכל אדם בעל תוכנת סניפר להאזין למידע שעובר ברשת ולקרוא מידע רגיש כמו סיסמאות, פרטי אשראי וכו', או בצורה יותר מחוכמת – מתקפות מסוג MITM, Spoofing, או ניצול מנגנון לחיצת יד משולשת SYN FLOOD (הצפת השרת בבקשות חיבור, שזה סוג של DDOS), ואפילו גם להזריק קוד זדוני (TCP Session Hijacking).
    יותר מאוחר, כשהאינטרנט הפך למסחרי ורץ כבר על מיליוני מכשירים ברחבי העולם, אי אפשר היה להחליף אותו. אז בשביל זה המציאו את טלאי האבטחה כמו SSL/TLS, שזה המנעול בדפדפן שבעצם מצפין את התעבורה מעל הפרוטוקול הפרוץ. שזה אומר שכשאתה גולש בדפדפן באתר שמתחיל ב-HTTPS, אתם משתמשים ב-HTTP על גבי TLS שמגן עליכם מפני נקודת התורפה של TCP/IP. מסיבות אלו בדיוק חשוב מאוד לא לגלוש באתרים ללא סמל מנעול שאינם מאובטחים. יאות לשקול להתייחס ברצינות לאזהרות הדפדפן שלכם.

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

    DNS
    קצת יותר מאוחר, בשנת 1983, המציא מדען בשם פול מוקאפטריס משהו שאפשר לכנות אותו כ"ספר הטלפונים של האינטרנט", ה-DNS. ה-DNS עובד בצורה כזאת: מחשבים בשביל לתקשר ביניהם, כפי שכבר אמרנו, צריכים כתובת IP שנראות ככה: 192.0.2.1. מעצם היותנו בני אדם קשה לנו לזכור רצפים ארוכים של מספרים, אבל מאוד קל לזכור את הדומיין google.com. אז מה עושים? פשוט מאוד: המשתמש מקליד כתובת אתר אינטרנט, המחשב תוך שבריר שנייה מתרגם זאת דרך DNS לכתובת דיגיטלית שהמחשב מבין, מבלי להצטרך לזכור רצפי מספרים ארוכים. זה מזכיר קצת את הדרך בה למשל נוצרה אסמבלי. עכשיו, יש בזה כמה בעיות: כאשר מחשב שולח בקשה לשרת DNS, הוא בנוי בצורה כזאת שהמחשב קיבל את התשובה הראשונה שהגיעה אליו חזרה מהשרת תוך כדי שהוא מתעלם מכל השאר. תוקפים יכלו להאזין לתעבורת רשת, לתפוס את הרגע שבקשה נשלחת, ולנתב תשובה מזויפת. אם התשובה המזויפת הייתה מגיעה שבריר שנייה למחשב לפני התשובה המקורית, המחשב היה מקבל אותה ללא כל עוררין, שכן מבחינתו הבקשה הראשונה שחוזרת היא הלגיטימית.

    בעיה נוספת היא בעיה שהתגלתה ב-2008 על ידי מומחה אבטחה בשם דן קמינסקי. קמינסקי גילה שאפשר לבקש שמות שלא קיימים, כמו example1, example2 וכן הלאה. מכיוון שהשמות האלו לא שמורים בזיכרון, שרת ה-DNS נאלץ לפנות בכל פעם מחדש לשרת המרכזי כדי לקבל תשובה. זה איפשר לתוקפים לשלוח אינספור בקשות ותשובות מזויפות בשנייה עד שהם הצליחו להחדיר לזיכרון השרת מידע כוזב שמשתלט על כל כתובת האתר. לצורך זה המחשבים עברו לשיטות הבאות: שליחת בקשות מאלפי פורטים שונים, ככה שיהיה בלתי אפשרי לנחש מספר סידורי, וגם הוספת חתימה דיגיטלית מוצפנת DNSSEC, שגם הוא, למרבה הצער, עדיין לא מיושם ברחבי העולם, מה שמותיר מיליוני מחשבים פרוצים לאנשים הנכונים. ובזמן האחרון נכנסו גם פרוטוקולים מודרניים כמו DoH, שמצפינים את הבקשות עצמן גם מפני הספקים.

    IPv4
    הדוגמה הבאה שרציתי להביא זה IPv4. IPv4 הוא פרוטוקול כתובות. הרי כמו שאנחנו יודעים, כל מכשיר שמחובר לאינטרנט צריך שיהיה אפשרות לתקשר איתו. התקשורת בפרוטוקול IPv4 הייתה בצורה כזאת: לכל מכשיר יש מספר מזהה באורך 32 סיביות שנראה ככה למשל: 192.168.1.1. ולפרוטוקול זה יש כמה בעיות: הוא מאפשר עד 4.3 מיליארד כתובות בלבד. בשנות ה-70 זה היה נראה המון, אבל כיום, כשכל בן אדם יש לו מספר מכשירים מלבד מכשירי IoT, זה מזמן לא מספיק (כמו הזיכרון נדיף, מי האמין בשנות ה-70 שיהיה צריך יותר מ-630 KB?). הטלאי לזה היה NAT, טכנולוגיה המאפשרת לנתב שלכם לתקשר באמצעות כתובת אחת מול האינטרנט ולחלק מספר כתובות פנימיות לכל מכשיר בבית. הבעיה: פתרון זה סירבל תעבורת רשת, דרש כוח עיבוד מהנתבים והקשה על תקשורת מקצה לקצה. והבעיה הכי גדולה: בעיית האבטחה. כש-IPv4 נוצר, הוא היה בשימוש של אוניברסיטאות וגופי מחקר ללא שום אבטחה מובנית, בדומה לפרוטוקולים הקודמים. אז היה את הטלאי IPsec, אם כי זה לא היה חלק אינטגרלי ביותר, מה שהקשה על האבטחה. לצורך זה עברו ל-IPv6, שמשתמש ב-128 סיביות, כולל אבטחה מראש וניתוב יעיל, אם כי רוב העולם משתמש בפרוטוקול הקודם עם טלאי NAT, עקב איטיות המעבר של ספקיות אינטרנט רבות, גם בארץ.

    JavaScript
    כשג'אווה סקריפט נוצרה בשנת 1995, היא נכתבה בתוך 10 ימים בלבד (!) על ידי ברנדן אייך במטרה להפוך דפי אינטרנט לקצת יותר דינמיים, כמו להניע תמונות או לבדוק טפסים. אף אחד לא דמיין שעל גבי השפה הזו ירוצו אפליקציות ענק כמו פייסבוק, וורד, או מערכות בנקאיות. כדי לגרום לאינטרנט לעבוד מהר ובצורה מורכבת, יצרו אינספור ספריות, מנועים ומסגרות עבודה שיושבים אחד על גבי השני, כמו React, Node.js ועוד. דפדפן מודרני הוא כבר מזמן לא מציג דפי טקסט, אלא מערכת הפעלה מסורבלת (ממש כמו לינוקס...) שמנסה לתמוך בישן ליד חדש בצורת טלאים.

    SS7
    פרוטוקול SS7 (Signaling System No. 7) פותח עבור רשתות הטלפוניה העולמיות. זהו הפרוטוקול שאחראי על ניתוב שיחות טלפון, הודעות SMS ואימות מכשירים סלולריים בכל העולם. גם הוא נבנה על בסיס אמון בין חברות הטלקום, ללא הצפנה או אימות כלשהו, מה שמאפשר גם כיום להאקרים לצותת לשיחות, ליירט הודעות SMS של אימות דו-שלבי, ולעקוב אחר מיקום של מכשירים בכל העולם בדיוק של מטרים. הטלאי לזה היה Diameter, וכמו שהזכרתי, בגלל תאימות לאחור, כמו הפרוטוקולים הדומים, גם זה לא מיושם מספיק, וגם אם כן, עצם העובדה שיש תאימות לאחור משאירה חורים. אמנם כיום פריצה לזה כמעט ולא אפשרית, אבל אם מישהו יצליח תיאורטית, הוא יכול לקרוא כל הודעת SMS, לנתב כל שיחת טלפון ולאכן מיקום של כל אדם בסנטימטרים.
    לכן הפתרון הפשוט זה אפליקציות עם הצפנה מקצה לקצה, כמו וואטסאפ, טלגרם, סיגנל (המעולה).
    בנוסף, גם עם כל שכבות האבטחה, יש, וזה קיים היום, גופים שמשחדים חברות סלולר במדינות עולם שלישי לתת להם גישה ל-SS7 העולמי (פריצה מרחוק כמעט ולא אפשרית).

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

    המלאךה א מ S 4 תגובות תגובה אחרונה
    😀
    18
    • N Nils Sjoberg

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

      הקדמה
      האינטרנט המודרני נוצר לראשונה ב-1969 בבסיס בארה"ב, ברשת בשם ARPANET. היא הוקמה על ידי DARPA של משרד ההגנה האמריקאי על מנת לקשר בין מחשבים באוניברסיטאות. שני מדענים, וינט סרף ומדען מוכשר בשם בוב קאן, המציאו את TCP/IP, שהם מבין פרוטוקולי האינטרנט הבסיסיים ביותר כיום. פרוטוקולים אלו הגדירו כיצד נתונים נארזים ונשלחים ברשת. הם נוצרו על מנת להחליף את NCP, שהיה פרוטוקול אבטחה מוגבל ביכולת שלו לתקשר בין מכשירים ודי מיושן. ב-1978 פוצל פרוטוקול התקשורת לשניים: TCP אחראי על אריזת נתונים ובדיקת שגיאות, ו-IP אחראי על ניתוב כתובות. כמה שנים אחרי זה, ב-1983, רשת ARPANET חייבה את כל המחשבים המחוברים אליה לעבור לעבוד אך ורק עם הפרוטוקולים TCP/IP. אירוע זה ייצב את האינטרנט העולמי כיום.

      TCP/IP
      עכשיו, מכיוון שאף אחד מאותם המדענים לא דמיין לעצמו כיצד האינטרנט ייראה אפילו עשור קדימה, הפרוטוקולים האלו (TCP/IP), שמהווים את ליבת האינטרנט, היו ללא שום מנגנון אבטחה או אימות מובנה, כי המידע בבסיסו הועבר בקובץ טקסט פשוט. מה שאיפשר לכל אדם בעל תוכנת סניפר להאזין למידע שעובר ברשת ולקרוא מידע רגיש כמו סיסמאות, פרטי אשראי וכו', או בצורה יותר מחוכמת – מתקפות מסוג MITM, Spoofing, או ניצול מנגנון לחיצת יד משולשת SYN FLOOD (הצפת השרת בבקשות חיבור, שזה סוג של DDOS), ואפילו גם להזריק קוד זדוני (TCP Session Hijacking).
      יותר מאוחר, כשהאינטרנט הפך למסחרי ורץ כבר על מיליוני מכשירים ברחבי העולם, אי אפשר היה להחליף אותו. אז בשביל זה המציאו את טלאי האבטחה כמו SSL/TLS, שזה המנעול בדפדפן שבעצם מצפין את התעבורה מעל הפרוטוקול הפרוץ. שזה אומר שכשאתה גולש בדפדפן באתר שמתחיל ב-HTTPS, אתם משתמשים ב-HTTP על גבי TLS שמגן עליכם מפני נקודת התורפה של TCP/IP. מסיבות אלו בדיוק חשוב מאוד לא לגלוש באתרים ללא סמל מנעול שאינם מאובטחים. יאות לשקול להתייחס ברצינות לאזהרות הדפדפן שלכם.

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

      DNS
      קצת יותר מאוחר, בשנת 1983, המציא מדען בשם פול מוקאפטריס משהו שאפשר לכנות אותו כ"ספר הטלפונים של האינטרנט", ה-DNS. ה-DNS עובד בצורה כזאת: מחשבים בשביל לתקשר ביניהם, כפי שכבר אמרנו, צריכים כתובת IP שנראות ככה: 192.0.2.1. מעצם היותנו בני אדם קשה לנו לזכור רצפים ארוכים של מספרים, אבל מאוד קל לזכור את הדומיין google.com. אז מה עושים? פשוט מאוד: המשתמש מקליד כתובת אתר אינטרנט, המחשב תוך שבריר שנייה מתרגם זאת דרך DNS לכתובת דיגיטלית שהמחשב מבין, מבלי להצטרך לזכור רצפי מספרים ארוכים. זה מזכיר קצת את הדרך בה למשל נוצרה אסמבלי. עכשיו, יש בזה כמה בעיות: כאשר מחשב שולח בקשה לשרת DNS, הוא בנוי בצורה כזאת שהמחשב קיבל את התשובה הראשונה שהגיעה אליו חזרה מהשרת תוך כדי שהוא מתעלם מכל השאר. תוקפים יכלו להאזין לתעבורת רשת, לתפוס את הרגע שבקשה נשלחת, ולנתב תשובה מזויפת. אם התשובה המזויפת הייתה מגיעה שבריר שנייה למחשב לפני התשובה המקורית, המחשב היה מקבל אותה ללא כל עוררין, שכן מבחינתו הבקשה הראשונה שחוזרת היא הלגיטימית.

      בעיה נוספת היא בעיה שהתגלתה ב-2008 על ידי מומחה אבטחה בשם דן קמינסקי. קמינסקי גילה שאפשר לבקש שמות שלא קיימים, כמו example1, example2 וכן הלאה. מכיוון שהשמות האלו לא שמורים בזיכרון, שרת ה-DNS נאלץ לפנות בכל פעם מחדש לשרת המרכזי כדי לקבל תשובה. זה איפשר לתוקפים לשלוח אינספור בקשות ותשובות מזויפות בשנייה עד שהם הצליחו להחדיר לזיכרון השרת מידע כוזב שמשתלט על כל כתובת האתר. לצורך זה המחשבים עברו לשיטות הבאות: שליחת בקשות מאלפי פורטים שונים, ככה שיהיה בלתי אפשרי לנחש מספר סידורי, וגם הוספת חתימה דיגיטלית מוצפנת DNSSEC, שגם הוא, למרבה הצער, עדיין לא מיושם ברחבי העולם, מה שמותיר מיליוני מחשבים פרוצים לאנשים הנכונים. ובזמן האחרון נכנסו גם פרוטוקולים מודרניים כמו DoH, שמצפינים את הבקשות עצמן גם מפני הספקים.

      IPv4
      הדוגמה הבאה שרציתי להביא זה IPv4. IPv4 הוא פרוטוקול כתובות. הרי כמו שאנחנו יודעים, כל מכשיר שמחובר לאינטרנט צריך שיהיה אפשרות לתקשר איתו. התקשורת בפרוטוקול IPv4 הייתה בצורה כזאת: לכל מכשיר יש מספר מזהה באורך 32 סיביות שנראה ככה למשל: 192.168.1.1. ולפרוטוקול זה יש כמה בעיות: הוא מאפשר עד 4.3 מיליארד כתובות בלבד. בשנות ה-70 זה היה נראה המון, אבל כיום, כשכל בן אדם יש לו מספר מכשירים מלבד מכשירי IoT, זה מזמן לא מספיק (כמו הזיכרון נדיף, מי האמין בשנות ה-70 שיהיה צריך יותר מ-630 KB?). הטלאי לזה היה NAT, טכנולוגיה המאפשרת לנתב שלכם לתקשר באמצעות כתובת אחת מול האינטרנט ולחלק מספר כתובות פנימיות לכל מכשיר בבית. הבעיה: פתרון זה סירבל תעבורת רשת, דרש כוח עיבוד מהנתבים והקשה על תקשורת מקצה לקצה. והבעיה הכי גדולה: בעיית האבטחה. כש-IPv4 נוצר, הוא היה בשימוש של אוניברסיטאות וגופי מחקר ללא שום אבטחה מובנית, בדומה לפרוטוקולים הקודמים. אז היה את הטלאי IPsec, אם כי זה לא היה חלק אינטגרלי ביותר, מה שהקשה על האבטחה. לצורך זה עברו ל-IPv6, שמשתמש ב-128 סיביות, כולל אבטחה מראש וניתוב יעיל, אם כי רוב העולם משתמש בפרוטוקול הקודם עם טלאי NAT, עקב איטיות המעבר של ספקיות אינטרנט רבות, גם בארץ.

      JavaScript
      כשג'אווה סקריפט נוצרה בשנת 1995, היא נכתבה בתוך 10 ימים בלבד (!) על ידי ברנדן אייך במטרה להפוך דפי אינטרנט לקצת יותר דינמיים, כמו להניע תמונות או לבדוק טפסים. אף אחד לא דמיין שעל גבי השפה הזו ירוצו אפליקציות ענק כמו פייסבוק, וורד, או מערכות בנקאיות. כדי לגרום לאינטרנט לעבוד מהר ובצורה מורכבת, יצרו אינספור ספריות, מנועים ומסגרות עבודה שיושבים אחד על גבי השני, כמו React, Node.js ועוד. דפדפן מודרני הוא כבר מזמן לא מציג דפי טקסט, אלא מערכת הפעלה מסורבלת (ממש כמו לינוקס...) שמנסה לתמוך בישן ליד חדש בצורת טלאים.

      SS7
      פרוטוקול SS7 (Signaling System No. 7) פותח עבור רשתות הטלפוניה העולמיות. זהו הפרוטוקול שאחראי על ניתוב שיחות טלפון, הודעות SMS ואימות מכשירים סלולריים בכל העולם. גם הוא נבנה על בסיס אמון בין חברות הטלקום, ללא הצפנה או אימות כלשהו, מה שמאפשר גם כיום להאקרים לצותת לשיחות, ליירט הודעות SMS של אימות דו-שלבי, ולעקוב אחר מיקום של מכשירים בכל העולם בדיוק של מטרים. הטלאי לזה היה Diameter, וכמו שהזכרתי, בגלל תאימות לאחור, כמו הפרוטוקולים הדומים, גם זה לא מיושם מספיק, וגם אם כן, עצם העובדה שיש תאימות לאחור משאירה חורים. אמנם כיום פריצה לזה כמעט ולא אפשרית, אבל אם מישהו יצליח תיאורטית, הוא יכול לקרוא כל הודעת SMS, לנתב כל שיחת טלפון ולאכן מיקום של כל אדם בסנטימטרים.
      לכן הפתרון הפשוט זה אפליקציות עם הצפנה מקצה לקצה, כמו וואטסאפ, טלגרם, סיגנל (המעולה).
      בנוסף, גם עם כל שכבות האבטחה, יש, וזה קיים היום, גופים שמשחדים חברות סלולר במדינות עולם שלישי לתת להם גישה ל-SS7 העולמי (פריצה מרחוק כמעט ולא אפשרית).

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

      המלאךה מנותק
      המלאךה מנותק
      המלאך
      כתב נערך לאחרונה על ידי
      #2

      @Nils-Sjoberg פוסט יפה מאוד,
      630kb 🙂 לפי ביל גייטס הוא מעולם לא טען את זה, אבל דברים מכגון הא חוזרים על עצמם במהלך ההיסטוריה (גם של הai) כמה פעמים בווריאציות שונות..

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

      "Code shapes logic, AI expands vision."

      N תגובה 1 תגובה אחרונה
      1
      • המלאךה המלאך

        @Nils-Sjoberg פוסט יפה מאוד,
        630kb 🙂 לפי ביל גייטס הוא מעולם לא טען את זה, אבל דברים מכגון הא חוזרים על עצמם במהלך ההיסטוריה (גם של הai) כמה פעמים בווריאציות שונות..

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

        N מנותק
        N מנותק
        Nils Sjoberg
        כתב נערך לאחרונה על ידי
        #3

        @המלאך כתב:

        @Nils-Sjoberg פוסט יפה מאוד,
        630kb לפי ביל גייטס הוא מעולם לא טען את זה, אבל דברים מכגון הא חוזרים על עצמם במהלך ההיסטוריה (גם של הai) כמה פעמים בווריאציות שונות..

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

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

        המלאךה תגובה 1 תגובה אחרונה
        1
        • N Nils Sjoberg

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

          הקדמה
          האינטרנט המודרני נוצר לראשונה ב-1969 בבסיס בארה"ב, ברשת בשם ARPANET. היא הוקמה על ידי DARPA של משרד ההגנה האמריקאי על מנת לקשר בין מחשבים באוניברסיטאות. שני מדענים, וינט סרף ומדען מוכשר בשם בוב קאן, המציאו את TCP/IP, שהם מבין פרוטוקולי האינטרנט הבסיסיים ביותר כיום. פרוטוקולים אלו הגדירו כיצד נתונים נארזים ונשלחים ברשת. הם נוצרו על מנת להחליף את NCP, שהיה פרוטוקול אבטחה מוגבל ביכולת שלו לתקשר בין מכשירים ודי מיושן. ב-1978 פוצל פרוטוקול התקשורת לשניים: TCP אחראי על אריזת נתונים ובדיקת שגיאות, ו-IP אחראי על ניתוב כתובות. כמה שנים אחרי זה, ב-1983, רשת ARPANET חייבה את כל המחשבים המחוברים אליה לעבור לעבוד אך ורק עם הפרוטוקולים TCP/IP. אירוע זה ייצב את האינטרנט העולמי כיום.

          TCP/IP
          עכשיו, מכיוון שאף אחד מאותם המדענים לא דמיין לעצמו כיצד האינטרנט ייראה אפילו עשור קדימה, הפרוטוקולים האלו (TCP/IP), שמהווים את ליבת האינטרנט, היו ללא שום מנגנון אבטחה או אימות מובנה, כי המידע בבסיסו הועבר בקובץ טקסט פשוט. מה שאיפשר לכל אדם בעל תוכנת סניפר להאזין למידע שעובר ברשת ולקרוא מידע רגיש כמו סיסמאות, פרטי אשראי וכו', או בצורה יותר מחוכמת – מתקפות מסוג MITM, Spoofing, או ניצול מנגנון לחיצת יד משולשת SYN FLOOD (הצפת השרת בבקשות חיבור, שזה סוג של DDOS), ואפילו גם להזריק קוד זדוני (TCP Session Hijacking).
          יותר מאוחר, כשהאינטרנט הפך למסחרי ורץ כבר על מיליוני מכשירים ברחבי העולם, אי אפשר היה להחליף אותו. אז בשביל זה המציאו את טלאי האבטחה כמו SSL/TLS, שזה המנעול בדפדפן שבעצם מצפין את התעבורה מעל הפרוטוקול הפרוץ. שזה אומר שכשאתה גולש בדפדפן באתר שמתחיל ב-HTTPS, אתם משתמשים ב-HTTP על גבי TLS שמגן עליכם מפני נקודת התורפה של TCP/IP. מסיבות אלו בדיוק חשוב מאוד לא לגלוש באתרים ללא סמל מנעול שאינם מאובטחים. יאות לשקול להתייחס ברצינות לאזהרות הדפדפן שלכם.

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

          DNS
          קצת יותר מאוחר, בשנת 1983, המציא מדען בשם פול מוקאפטריס משהו שאפשר לכנות אותו כ"ספר הטלפונים של האינטרנט", ה-DNS. ה-DNS עובד בצורה כזאת: מחשבים בשביל לתקשר ביניהם, כפי שכבר אמרנו, צריכים כתובת IP שנראות ככה: 192.0.2.1. מעצם היותנו בני אדם קשה לנו לזכור רצפים ארוכים של מספרים, אבל מאוד קל לזכור את הדומיין google.com. אז מה עושים? פשוט מאוד: המשתמש מקליד כתובת אתר אינטרנט, המחשב תוך שבריר שנייה מתרגם זאת דרך DNS לכתובת דיגיטלית שהמחשב מבין, מבלי להצטרך לזכור רצפי מספרים ארוכים. זה מזכיר קצת את הדרך בה למשל נוצרה אסמבלי. עכשיו, יש בזה כמה בעיות: כאשר מחשב שולח בקשה לשרת DNS, הוא בנוי בצורה כזאת שהמחשב קיבל את התשובה הראשונה שהגיעה אליו חזרה מהשרת תוך כדי שהוא מתעלם מכל השאר. תוקפים יכלו להאזין לתעבורת רשת, לתפוס את הרגע שבקשה נשלחת, ולנתב תשובה מזויפת. אם התשובה המזויפת הייתה מגיעה שבריר שנייה למחשב לפני התשובה המקורית, המחשב היה מקבל אותה ללא כל עוררין, שכן מבחינתו הבקשה הראשונה שחוזרת היא הלגיטימית.

          בעיה נוספת היא בעיה שהתגלתה ב-2008 על ידי מומחה אבטחה בשם דן קמינסקי. קמינסקי גילה שאפשר לבקש שמות שלא קיימים, כמו example1, example2 וכן הלאה. מכיוון שהשמות האלו לא שמורים בזיכרון, שרת ה-DNS נאלץ לפנות בכל פעם מחדש לשרת המרכזי כדי לקבל תשובה. זה איפשר לתוקפים לשלוח אינספור בקשות ותשובות מזויפות בשנייה עד שהם הצליחו להחדיר לזיכרון השרת מידע כוזב שמשתלט על כל כתובת האתר. לצורך זה המחשבים עברו לשיטות הבאות: שליחת בקשות מאלפי פורטים שונים, ככה שיהיה בלתי אפשרי לנחש מספר סידורי, וגם הוספת חתימה דיגיטלית מוצפנת DNSSEC, שגם הוא, למרבה הצער, עדיין לא מיושם ברחבי העולם, מה שמותיר מיליוני מחשבים פרוצים לאנשים הנכונים. ובזמן האחרון נכנסו גם פרוטוקולים מודרניים כמו DoH, שמצפינים את הבקשות עצמן גם מפני הספקים.

          IPv4
          הדוגמה הבאה שרציתי להביא זה IPv4. IPv4 הוא פרוטוקול כתובות. הרי כמו שאנחנו יודעים, כל מכשיר שמחובר לאינטרנט צריך שיהיה אפשרות לתקשר איתו. התקשורת בפרוטוקול IPv4 הייתה בצורה כזאת: לכל מכשיר יש מספר מזהה באורך 32 סיביות שנראה ככה למשל: 192.168.1.1. ולפרוטוקול זה יש כמה בעיות: הוא מאפשר עד 4.3 מיליארד כתובות בלבד. בשנות ה-70 זה היה נראה המון, אבל כיום, כשכל בן אדם יש לו מספר מכשירים מלבד מכשירי IoT, זה מזמן לא מספיק (כמו הזיכרון נדיף, מי האמין בשנות ה-70 שיהיה צריך יותר מ-630 KB?). הטלאי לזה היה NAT, טכנולוגיה המאפשרת לנתב שלכם לתקשר באמצעות כתובת אחת מול האינטרנט ולחלק מספר כתובות פנימיות לכל מכשיר בבית. הבעיה: פתרון זה סירבל תעבורת רשת, דרש כוח עיבוד מהנתבים והקשה על תקשורת מקצה לקצה. והבעיה הכי גדולה: בעיית האבטחה. כש-IPv4 נוצר, הוא היה בשימוש של אוניברסיטאות וגופי מחקר ללא שום אבטחה מובנית, בדומה לפרוטוקולים הקודמים. אז היה את הטלאי IPsec, אם כי זה לא היה חלק אינטגרלי ביותר, מה שהקשה על האבטחה. לצורך זה עברו ל-IPv6, שמשתמש ב-128 סיביות, כולל אבטחה מראש וניתוב יעיל, אם כי רוב העולם משתמש בפרוטוקול הקודם עם טלאי NAT, עקב איטיות המעבר של ספקיות אינטרנט רבות, גם בארץ.

          JavaScript
          כשג'אווה סקריפט נוצרה בשנת 1995, היא נכתבה בתוך 10 ימים בלבד (!) על ידי ברנדן אייך במטרה להפוך דפי אינטרנט לקצת יותר דינמיים, כמו להניע תמונות או לבדוק טפסים. אף אחד לא דמיין שעל גבי השפה הזו ירוצו אפליקציות ענק כמו פייסבוק, וורד, או מערכות בנקאיות. כדי לגרום לאינטרנט לעבוד מהר ובצורה מורכבת, יצרו אינספור ספריות, מנועים ומסגרות עבודה שיושבים אחד על גבי השני, כמו React, Node.js ועוד. דפדפן מודרני הוא כבר מזמן לא מציג דפי טקסט, אלא מערכת הפעלה מסורבלת (ממש כמו לינוקס...) שמנסה לתמוך בישן ליד חדש בצורת טלאים.

          SS7
          פרוטוקול SS7 (Signaling System No. 7) פותח עבור רשתות הטלפוניה העולמיות. זהו הפרוטוקול שאחראי על ניתוב שיחות טלפון, הודעות SMS ואימות מכשירים סלולריים בכל העולם. גם הוא נבנה על בסיס אמון בין חברות הטלקום, ללא הצפנה או אימות כלשהו, מה שמאפשר גם כיום להאקרים לצותת לשיחות, ליירט הודעות SMS של אימות דו-שלבי, ולעקוב אחר מיקום של מכשירים בכל העולם בדיוק של מטרים. הטלאי לזה היה Diameter, וכמו שהזכרתי, בגלל תאימות לאחור, כמו הפרוטוקולים הדומים, גם זה לא מיושם מספיק, וגם אם כן, עצם העובדה שיש תאימות לאחור משאירה חורים. אמנם כיום פריצה לזה כמעט ולא אפשרית, אבל אם מישהו יצליח תיאורטית, הוא יכול לקרוא כל הודעת SMS, לנתב כל שיחת טלפון ולאכן מיקום של כל אדם בסנטימטרים.
          לכן הפתרון הפשוט זה אפליקציות עם הצפנה מקצה לקצה, כמו וואטסאפ, טלגרם, סיגנל (המעולה).
          בנוסף, גם עם כל שכבות האבטחה, יש, וזה קיים היום, גופים שמשחדים חברות סלולר במדינות עולם שלישי לתת להם גישה ל-SS7 העולמי (פריצה מרחוק כמעט ולא אפשרית).

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

          א מחובר
          א מחובר
          אליעזר לוי
          כתב נערך לאחרונה על ידי
          #4

          @Nils-Sjoberg כתוב יפה ומושך
          די קשה להפסיק את רצף הקריאה.

          N תגובה 1 תגובה אחרונה
          2
          • N Nils Sjoberg

            @המלאך כתב:

            @Nils-Sjoberg פוסט יפה מאוד,
            630kb לפי ביל גייטס הוא מעולם לא טען את זה, אבל דברים מכגון הא חוזרים על עצמם במהלך ההיסטוריה (גם של הai) כמה פעמים בווריאציות שונות..

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

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

            המלאךה מנותק
            המלאךה מנותק
            המלאך
            כתב נערך לאחרונה על ידי
            #5

            @Nils-Sjoberg בכללי זה מטורף שהמקסימום של דוס זה כמה מאות KB..

            "Code shapes logic, AI expands vision."

            תגובה 1 תגובה אחרונה
            0
            • N Nils Sjoberg

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

              הקדמה
              האינטרנט המודרני נוצר לראשונה ב-1969 בבסיס בארה"ב, ברשת בשם ARPANET. היא הוקמה על ידי DARPA של משרד ההגנה האמריקאי על מנת לקשר בין מחשבים באוניברסיטאות. שני מדענים, וינט סרף ומדען מוכשר בשם בוב קאן, המציאו את TCP/IP, שהם מבין פרוטוקולי האינטרנט הבסיסיים ביותר כיום. פרוטוקולים אלו הגדירו כיצד נתונים נארזים ונשלחים ברשת. הם נוצרו על מנת להחליף את NCP, שהיה פרוטוקול אבטחה מוגבל ביכולת שלו לתקשר בין מכשירים ודי מיושן. ב-1978 פוצל פרוטוקול התקשורת לשניים: TCP אחראי על אריזת נתונים ובדיקת שגיאות, ו-IP אחראי על ניתוב כתובות. כמה שנים אחרי זה, ב-1983, רשת ARPANET חייבה את כל המחשבים המחוברים אליה לעבור לעבוד אך ורק עם הפרוטוקולים TCP/IP. אירוע זה ייצב את האינטרנט העולמי כיום.

              TCP/IP
              עכשיו, מכיוון שאף אחד מאותם המדענים לא דמיין לעצמו כיצד האינטרנט ייראה אפילו עשור קדימה, הפרוטוקולים האלו (TCP/IP), שמהווים את ליבת האינטרנט, היו ללא שום מנגנון אבטחה או אימות מובנה, כי המידע בבסיסו הועבר בקובץ טקסט פשוט. מה שאיפשר לכל אדם בעל תוכנת סניפר להאזין למידע שעובר ברשת ולקרוא מידע רגיש כמו סיסמאות, פרטי אשראי וכו', או בצורה יותר מחוכמת – מתקפות מסוג MITM, Spoofing, או ניצול מנגנון לחיצת יד משולשת SYN FLOOD (הצפת השרת בבקשות חיבור, שזה סוג של DDOS), ואפילו גם להזריק קוד זדוני (TCP Session Hijacking).
              יותר מאוחר, כשהאינטרנט הפך למסחרי ורץ כבר על מיליוני מכשירים ברחבי העולם, אי אפשר היה להחליף אותו. אז בשביל זה המציאו את טלאי האבטחה כמו SSL/TLS, שזה המנעול בדפדפן שבעצם מצפין את התעבורה מעל הפרוטוקול הפרוץ. שזה אומר שכשאתה גולש בדפדפן באתר שמתחיל ב-HTTPS, אתם משתמשים ב-HTTP על גבי TLS שמגן עליכם מפני נקודת התורפה של TCP/IP. מסיבות אלו בדיוק חשוב מאוד לא לגלוש באתרים ללא סמל מנעול שאינם מאובטחים. יאות לשקול להתייחס ברצינות לאזהרות הדפדפן שלכם.

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

              DNS
              קצת יותר מאוחר, בשנת 1983, המציא מדען בשם פול מוקאפטריס משהו שאפשר לכנות אותו כ"ספר הטלפונים של האינטרנט", ה-DNS. ה-DNS עובד בצורה כזאת: מחשבים בשביל לתקשר ביניהם, כפי שכבר אמרנו, צריכים כתובת IP שנראות ככה: 192.0.2.1. מעצם היותנו בני אדם קשה לנו לזכור רצפים ארוכים של מספרים, אבל מאוד קל לזכור את הדומיין google.com. אז מה עושים? פשוט מאוד: המשתמש מקליד כתובת אתר אינטרנט, המחשב תוך שבריר שנייה מתרגם זאת דרך DNS לכתובת דיגיטלית שהמחשב מבין, מבלי להצטרך לזכור רצפי מספרים ארוכים. זה מזכיר קצת את הדרך בה למשל נוצרה אסמבלי. עכשיו, יש בזה כמה בעיות: כאשר מחשב שולח בקשה לשרת DNS, הוא בנוי בצורה כזאת שהמחשב קיבל את התשובה הראשונה שהגיעה אליו חזרה מהשרת תוך כדי שהוא מתעלם מכל השאר. תוקפים יכלו להאזין לתעבורת רשת, לתפוס את הרגע שבקשה נשלחת, ולנתב תשובה מזויפת. אם התשובה המזויפת הייתה מגיעה שבריר שנייה למחשב לפני התשובה המקורית, המחשב היה מקבל אותה ללא כל עוררין, שכן מבחינתו הבקשה הראשונה שחוזרת היא הלגיטימית.

              בעיה נוספת היא בעיה שהתגלתה ב-2008 על ידי מומחה אבטחה בשם דן קמינסקי. קמינסקי גילה שאפשר לבקש שמות שלא קיימים, כמו example1, example2 וכן הלאה. מכיוון שהשמות האלו לא שמורים בזיכרון, שרת ה-DNS נאלץ לפנות בכל פעם מחדש לשרת המרכזי כדי לקבל תשובה. זה איפשר לתוקפים לשלוח אינספור בקשות ותשובות מזויפות בשנייה עד שהם הצליחו להחדיר לזיכרון השרת מידע כוזב שמשתלט על כל כתובת האתר. לצורך זה המחשבים עברו לשיטות הבאות: שליחת בקשות מאלפי פורטים שונים, ככה שיהיה בלתי אפשרי לנחש מספר סידורי, וגם הוספת חתימה דיגיטלית מוצפנת DNSSEC, שגם הוא, למרבה הצער, עדיין לא מיושם ברחבי העולם, מה שמותיר מיליוני מחשבים פרוצים לאנשים הנכונים. ובזמן האחרון נכנסו גם פרוטוקולים מודרניים כמו DoH, שמצפינים את הבקשות עצמן גם מפני הספקים.

              IPv4
              הדוגמה הבאה שרציתי להביא זה IPv4. IPv4 הוא פרוטוקול כתובות. הרי כמו שאנחנו יודעים, כל מכשיר שמחובר לאינטרנט צריך שיהיה אפשרות לתקשר איתו. התקשורת בפרוטוקול IPv4 הייתה בצורה כזאת: לכל מכשיר יש מספר מזהה באורך 32 סיביות שנראה ככה למשל: 192.168.1.1. ולפרוטוקול זה יש כמה בעיות: הוא מאפשר עד 4.3 מיליארד כתובות בלבד. בשנות ה-70 זה היה נראה המון, אבל כיום, כשכל בן אדם יש לו מספר מכשירים מלבד מכשירי IoT, זה מזמן לא מספיק (כמו הזיכרון נדיף, מי האמין בשנות ה-70 שיהיה צריך יותר מ-630 KB?). הטלאי לזה היה NAT, טכנולוגיה המאפשרת לנתב שלכם לתקשר באמצעות כתובת אחת מול האינטרנט ולחלק מספר כתובות פנימיות לכל מכשיר בבית. הבעיה: פתרון זה סירבל תעבורת רשת, דרש כוח עיבוד מהנתבים והקשה על תקשורת מקצה לקצה. והבעיה הכי גדולה: בעיית האבטחה. כש-IPv4 נוצר, הוא היה בשימוש של אוניברסיטאות וגופי מחקר ללא שום אבטחה מובנית, בדומה לפרוטוקולים הקודמים. אז היה את הטלאי IPsec, אם כי זה לא היה חלק אינטגרלי ביותר, מה שהקשה על האבטחה. לצורך זה עברו ל-IPv6, שמשתמש ב-128 סיביות, כולל אבטחה מראש וניתוב יעיל, אם כי רוב העולם משתמש בפרוטוקול הקודם עם טלאי NAT, עקב איטיות המעבר של ספקיות אינטרנט רבות, גם בארץ.

              JavaScript
              כשג'אווה סקריפט נוצרה בשנת 1995, היא נכתבה בתוך 10 ימים בלבד (!) על ידי ברנדן אייך במטרה להפוך דפי אינטרנט לקצת יותר דינמיים, כמו להניע תמונות או לבדוק טפסים. אף אחד לא דמיין שעל גבי השפה הזו ירוצו אפליקציות ענק כמו פייסבוק, וורד, או מערכות בנקאיות. כדי לגרום לאינטרנט לעבוד מהר ובצורה מורכבת, יצרו אינספור ספריות, מנועים ומסגרות עבודה שיושבים אחד על גבי השני, כמו React, Node.js ועוד. דפדפן מודרני הוא כבר מזמן לא מציג דפי טקסט, אלא מערכת הפעלה מסורבלת (ממש כמו לינוקס...) שמנסה לתמוך בישן ליד חדש בצורת טלאים.

              SS7
              פרוטוקול SS7 (Signaling System No. 7) פותח עבור רשתות הטלפוניה העולמיות. זהו הפרוטוקול שאחראי על ניתוב שיחות טלפון, הודעות SMS ואימות מכשירים סלולריים בכל העולם. גם הוא נבנה על בסיס אמון בין חברות הטלקום, ללא הצפנה או אימות כלשהו, מה שמאפשר גם כיום להאקרים לצותת לשיחות, ליירט הודעות SMS של אימות דו-שלבי, ולעקוב אחר מיקום של מכשירים בכל העולם בדיוק של מטרים. הטלאי לזה היה Diameter, וכמו שהזכרתי, בגלל תאימות לאחור, כמו הפרוטוקולים הדומים, גם זה לא מיושם מספיק, וגם אם כן, עצם העובדה שיש תאימות לאחור משאירה חורים. אמנם כיום פריצה לזה כמעט ולא אפשרית, אבל אם מישהו יצליח תיאורטית, הוא יכול לקרוא כל הודעת SMS, לנתב כל שיחת טלפון ולאכן מיקום של כל אדם בסנטימטרים.
              לכן הפתרון הפשוט זה אפליקציות עם הצפנה מקצה לקצה, כמו וואטסאפ, טלגרם, סיגנל (המעולה).
              בנוסף, גם עם כל שכבות האבטחה, יש, וזה קיים היום, גופים שמשחדים חברות סלולר במדינות עולם שלישי לתת להם גישה ל-SS7 העולמי (פריצה מרחוק כמעט ולא אפשרית).

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

              מ מנותק
              מ מנותק
              מד
              כתב נערך לאחרונה על ידי מד
              #6

              @Nils-Sjoberg לא רק האינטרנט ככה, אלא הרבה הרבה דברים.
              ובראש וראשונה זה ווינדוס שדורש היום כ"כ הרבה משאבים רק בשביל שנבנתה טלאי על גבי טלאי.
              ואגב, איפשהו קראתי שפרוטוקול TCP/IP כבר היה בשימוש על ידי צבא האמריקאית בזמן השואה!!

              N תגובה 1 תגובה אחרונה
              0
              • א אליעזר לוי

                @Nils-Sjoberg כתוב יפה ומושך
                די קשה להפסיק את רצף הקריאה.

                N מנותק
                N מנותק
                Nils Sjoberg
                כתב נערך לאחרונה על ידי
                #7

                @אליעזר-לוי
                שמח לשמוע באמת

                תגובה 1 תגובה אחרונה
                0
                • מ מד

                  @Nils-Sjoberg לא רק האינטרנט ככה, אלא הרבה הרבה דברים.
                  ובראש וראשונה זה ווינדוס שדורש היום כ"כ הרבה משאבים רק בשביל שנבנתה טלאי על גבי טלאי.
                  ואגב, איפשהו קראתי שפרוטוקול TCP/IP כבר היה בשימוש על ידי צבא האמריקאית בזמן השואה!!

                  N מנותק
                  N מנותק
                  Nils Sjoberg
                  כתב נערך לאחרונה על ידי Nils Sjoberg
                  #8

                  @מד

                  😂 אתה יודע כמה מחזורי שעון ווינדוס מבזבז רק בשביל להציג חלון גרפי
                  כמו שאמרתי התשובה לזה שכל המערכות האילו כולל לינוקס אנדוריד וכו צריכות להתאים לכל חומרה אפשרית
                  קרנל לינוקס המקורי היה 10000 שורות בלבד כיום הוא מעל 30 מליון שורות קוד כי הוא רץ על כל דבר מIOT עד שרתי ממשלות
                  וכמובן אנדוריד היא בסיס לינוקס

                  המלאךה תגובה 1 תגובה אחרונה
                  1
                  • N Nils Sjoberg

                    @מד

                    😂 אתה יודע כמה מחזורי שעון ווינדוס מבזבז רק בשביל להציג חלון גרפי
                    כמו שאמרתי התשובה לזה שכל המערכות האילו כולל לינוקס אנדוריד וכו צריכות להתאים לכל חומרה אפשרית
                    קרנל לינוקס המקורי היה 10000 שורות בלבד כיום הוא מעל 30 מליון שורות קוד כי הוא רץ על כל דבר מIOT עד שרתי ממשלות
                    וכמובן אנדוריד היא בסיס לינוקס

                    המלאךה מנותק
                    המלאךה מנותק
                    המלאך
                    כתב נערך לאחרונה על ידי
                    #9

                    @Nils-Sjoberg כתב:

                    עד שרתי ממשלות

                    עד רכבי חלל של נאסא

                    "Code shapes logic, AI expands vision."

                    N תגובה 1 תגובה אחרונה
                    0
                    • המלאךה המלאך

                      @Nils-Sjoberg כתב:

                      עד שרתי ממשלות

                      עד רכבי חלל של נאסא

                      N מנותק
                      N מנותק
                      Nils Sjoberg
                      כתב נערך לאחרונה על ידי
                      #10

                      @המלאך
                      עד טלפונים מהתקופה שקורנפלקס היה עולה 2 ב20

                      תגובה 1 תגובה אחרונה
                      😂 😥
                      0
                      • N Nils Sjoberg

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

                        הקדמה
                        האינטרנט המודרני נוצר לראשונה ב-1969 בבסיס בארה"ב, ברשת בשם ARPANET. היא הוקמה על ידי DARPA של משרד ההגנה האמריקאי על מנת לקשר בין מחשבים באוניברסיטאות. שני מדענים, וינט סרף ומדען מוכשר בשם בוב קאן, המציאו את TCP/IP, שהם מבין פרוטוקולי האינטרנט הבסיסיים ביותר כיום. פרוטוקולים אלו הגדירו כיצד נתונים נארזים ונשלחים ברשת. הם נוצרו על מנת להחליף את NCP, שהיה פרוטוקול אבטחה מוגבל ביכולת שלו לתקשר בין מכשירים ודי מיושן. ב-1978 פוצל פרוטוקול התקשורת לשניים: TCP אחראי על אריזת נתונים ובדיקת שגיאות, ו-IP אחראי על ניתוב כתובות. כמה שנים אחרי זה, ב-1983, רשת ARPANET חייבה את כל המחשבים המחוברים אליה לעבור לעבוד אך ורק עם הפרוטוקולים TCP/IP. אירוע זה ייצב את האינטרנט העולמי כיום.

                        TCP/IP
                        עכשיו, מכיוון שאף אחד מאותם המדענים לא דמיין לעצמו כיצד האינטרנט ייראה אפילו עשור קדימה, הפרוטוקולים האלו (TCP/IP), שמהווים את ליבת האינטרנט, היו ללא שום מנגנון אבטחה או אימות מובנה, כי המידע בבסיסו הועבר בקובץ טקסט פשוט. מה שאיפשר לכל אדם בעל תוכנת סניפר להאזין למידע שעובר ברשת ולקרוא מידע רגיש כמו סיסמאות, פרטי אשראי וכו', או בצורה יותר מחוכמת – מתקפות מסוג MITM, Spoofing, או ניצול מנגנון לחיצת יד משולשת SYN FLOOD (הצפת השרת בבקשות חיבור, שזה סוג של DDOS), ואפילו גם להזריק קוד זדוני (TCP Session Hijacking).
                        יותר מאוחר, כשהאינטרנט הפך למסחרי ורץ כבר על מיליוני מכשירים ברחבי העולם, אי אפשר היה להחליף אותו. אז בשביל זה המציאו את טלאי האבטחה כמו SSL/TLS, שזה המנעול בדפדפן שבעצם מצפין את התעבורה מעל הפרוטוקול הפרוץ. שזה אומר שכשאתה גולש בדפדפן באתר שמתחיל ב-HTTPS, אתם משתמשים ב-HTTP על גבי TLS שמגן עליכם מפני נקודת התורפה של TCP/IP. מסיבות אלו בדיוק חשוב מאוד לא לגלוש באתרים ללא סמל מנעול שאינם מאובטחים. יאות לשקול להתייחס ברצינות לאזהרות הדפדפן שלכם.

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

                        DNS
                        קצת יותר מאוחר, בשנת 1983, המציא מדען בשם פול מוקאפטריס משהו שאפשר לכנות אותו כ"ספר הטלפונים של האינטרנט", ה-DNS. ה-DNS עובד בצורה כזאת: מחשבים בשביל לתקשר ביניהם, כפי שכבר אמרנו, צריכים כתובת IP שנראות ככה: 192.0.2.1. מעצם היותנו בני אדם קשה לנו לזכור רצפים ארוכים של מספרים, אבל מאוד קל לזכור את הדומיין google.com. אז מה עושים? פשוט מאוד: המשתמש מקליד כתובת אתר אינטרנט, המחשב תוך שבריר שנייה מתרגם זאת דרך DNS לכתובת דיגיטלית שהמחשב מבין, מבלי להצטרך לזכור רצפי מספרים ארוכים. זה מזכיר קצת את הדרך בה למשל נוצרה אסמבלי. עכשיו, יש בזה כמה בעיות: כאשר מחשב שולח בקשה לשרת DNS, הוא בנוי בצורה כזאת שהמחשב קיבל את התשובה הראשונה שהגיעה אליו חזרה מהשרת תוך כדי שהוא מתעלם מכל השאר. תוקפים יכלו להאזין לתעבורת רשת, לתפוס את הרגע שבקשה נשלחת, ולנתב תשובה מזויפת. אם התשובה המזויפת הייתה מגיעה שבריר שנייה למחשב לפני התשובה המקורית, המחשב היה מקבל אותה ללא כל עוררין, שכן מבחינתו הבקשה הראשונה שחוזרת היא הלגיטימית.

                        בעיה נוספת היא בעיה שהתגלתה ב-2008 על ידי מומחה אבטחה בשם דן קמינסקי. קמינסקי גילה שאפשר לבקש שמות שלא קיימים, כמו example1, example2 וכן הלאה. מכיוון שהשמות האלו לא שמורים בזיכרון, שרת ה-DNS נאלץ לפנות בכל פעם מחדש לשרת המרכזי כדי לקבל תשובה. זה איפשר לתוקפים לשלוח אינספור בקשות ותשובות מזויפות בשנייה עד שהם הצליחו להחדיר לזיכרון השרת מידע כוזב שמשתלט על כל כתובת האתר. לצורך זה המחשבים עברו לשיטות הבאות: שליחת בקשות מאלפי פורטים שונים, ככה שיהיה בלתי אפשרי לנחש מספר סידורי, וגם הוספת חתימה דיגיטלית מוצפנת DNSSEC, שגם הוא, למרבה הצער, עדיין לא מיושם ברחבי העולם, מה שמותיר מיליוני מחשבים פרוצים לאנשים הנכונים. ובזמן האחרון נכנסו גם פרוטוקולים מודרניים כמו DoH, שמצפינים את הבקשות עצמן גם מפני הספקים.

                        IPv4
                        הדוגמה הבאה שרציתי להביא זה IPv4. IPv4 הוא פרוטוקול כתובות. הרי כמו שאנחנו יודעים, כל מכשיר שמחובר לאינטרנט צריך שיהיה אפשרות לתקשר איתו. התקשורת בפרוטוקול IPv4 הייתה בצורה כזאת: לכל מכשיר יש מספר מזהה באורך 32 סיביות שנראה ככה למשל: 192.168.1.1. ולפרוטוקול זה יש כמה בעיות: הוא מאפשר עד 4.3 מיליארד כתובות בלבד. בשנות ה-70 זה היה נראה המון, אבל כיום, כשכל בן אדם יש לו מספר מכשירים מלבד מכשירי IoT, זה מזמן לא מספיק (כמו הזיכרון נדיף, מי האמין בשנות ה-70 שיהיה צריך יותר מ-630 KB?). הטלאי לזה היה NAT, טכנולוגיה המאפשרת לנתב שלכם לתקשר באמצעות כתובת אחת מול האינטרנט ולחלק מספר כתובות פנימיות לכל מכשיר בבית. הבעיה: פתרון זה סירבל תעבורת רשת, דרש כוח עיבוד מהנתבים והקשה על תקשורת מקצה לקצה. והבעיה הכי גדולה: בעיית האבטחה. כש-IPv4 נוצר, הוא היה בשימוש של אוניברסיטאות וגופי מחקר ללא שום אבטחה מובנית, בדומה לפרוטוקולים הקודמים. אז היה את הטלאי IPsec, אם כי זה לא היה חלק אינטגרלי ביותר, מה שהקשה על האבטחה. לצורך זה עברו ל-IPv6, שמשתמש ב-128 סיביות, כולל אבטחה מראש וניתוב יעיל, אם כי רוב העולם משתמש בפרוטוקול הקודם עם טלאי NAT, עקב איטיות המעבר של ספקיות אינטרנט רבות, גם בארץ.

                        JavaScript
                        כשג'אווה סקריפט נוצרה בשנת 1995, היא נכתבה בתוך 10 ימים בלבד (!) על ידי ברנדן אייך במטרה להפוך דפי אינטרנט לקצת יותר דינמיים, כמו להניע תמונות או לבדוק טפסים. אף אחד לא דמיין שעל גבי השפה הזו ירוצו אפליקציות ענק כמו פייסבוק, וורד, או מערכות בנקאיות. כדי לגרום לאינטרנט לעבוד מהר ובצורה מורכבת, יצרו אינספור ספריות, מנועים ומסגרות עבודה שיושבים אחד על גבי השני, כמו React, Node.js ועוד. דפדפן מודרני הוא כבר מזמן לא מציג דפי טקסט, אלא מערכת הפעלה מסורבלת (ממש כמו לינוקס...) שמנסה לתמוך בישן ליד חדש בצורת טלאים.

                        SS7
                        פרוטוקול SS7 (Signaling System No. 7) פותח עבור רשתות הטלפוניה העולמיות. זהו הפרוטוקול שאחראי על ניתוב שיחות טלפון, הודעות SMS ואימות מכשירים סלולריים בכל העולם. גם הוא נבנה על בסיס אמון בין חברות הטלקום, ללא הצפנה או אימות כלשהו, מה שמאפשר גם כיום להאקרים לצותת לשיחות, ליירט הודעות SMS של אימות דו-שלבי, ולעקוב אחר מיקום של מכשירים בכל העולם בדיוק של מטרים. הטלאי לזה היה Diameter, וכמו שהזכרתי, בגלל תאימות לאחור, כמו הפרוטוקולים הדומים, גם זה לא מיושם מספיק, וגם אם כן, עצם העובדה שיש תאימות לאחור משאירה חורים. אמנם כיום פריצה לזה כמעט ולא אפשרית, אבל אם מישהו יצליח תיאורטית, הוא יכול לקרוא כל הודעת SMS, לנתב כל שיחת טלפון ולאכן מיקום של כל אדם בסנטימטרים.
                        לכן הפתרון הפשוט זה אפליקציות עם הצפנה מקצה לקצה, כמו וואטסאפ, טלגרם, סיגנל (המעולה).
                        בנוסף, גם עם כל שכבות האבטחה, יש, וזה קיים היום, גופים שמשחדים חברות סלולר במדינות עולם שלישי לתת להם גישה ל-SS7 העולמי (פריצה מרחוק כמעט ולא אפשרית).

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

                        S מנותק
                        S מנותק
                        shishko
                        כתב נערך לאחרונה על ידי
                        #11

                        @Nils-Sjoberg כתב:

                        להלן הטקסט ששלחת, מנוקד בצורה תקנית:

                        ???

                        N תגובה 1 תגובה אחרונה
                        0
                        • S shishko

                          @Nils-Sjoberg כתב:

                          להלן הטקסט ששלחת, מנוקד בצורה תקנית:

                          ???

                          N מנותק
                          N מנותק
                          Nils Sjoberg
                          כתב נערך לאחרונה על ידי
                          #12
                          פוסט זה נמחק!
                          תגובה 1 תגובה אחרונה
                          0
                          • N מנותק
                            N מנותק
                            Nils Sjoberg
                            כתב נערך לאחרונה על ידי
                            #13
                            פוסט זה נמחק!
                            תגובה 1 תגובה אחרונה
                            1

                            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                            הרשמה התחברות

                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

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