racavedigger.com
  • Facebook
  • Pinterest
  • Home
  • News

האם WebRTC משתמש ב- DTLS?

Νίσα

WEBRTC חייב ליישם DTLS-SRTP אך … אסור ליישם SDES

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

מאיפה נוגעות תחום ה- DTLS ב- WebRTC?

עבור עמיתים Webrtc, איזה תחום הוא DTLs המשמשים למשא ומתן? אני מבולבל. נראה כי אין הגדרת תכונה רלוונטית ב- SDP. האם זה התחום בו נמצא דף האינטרנט?

שאל 12 ביולי 2021 בשעה 14:36

25 3 3 תגי ברונזה

תשובה 1 1

WebRTC לא משתמש ברשות תעודות. אין מעורבים בתחומים. עם webrtc האותנטיות שאתה מקבל מ- PKI פשוט מוחלפת בטביעות אצבעות תעודה.

כל צד מייצר תעודה ואז חולק את טביעת האצבע בתיאור ההפעלה (הצעה/תשובה). לאחר השלמת לחיצת היד של DTLS היא מוודאת שהתעודה שהוחלפה הייתה זהה.

איך DTLS עובד למעשה מוסבר ב- WebRTC עבור#המוזר#מאבטח קצת יותר.

ענה 12 ביולי, 2021 בשעה 15:25

שון דובואה שון דובואה

3,867 1 1 תג זהב 11 11 תגי כסף 22 22 תגי ברונזה

אבל, OpenSSL SSLConnector זקוק לתחום. במקרה זה, איזה ערך צריך לעבור לפרמטר זה?

WEBRTC חייב ליישם DTLS-SRTP אך … אסור ליישם SDES?

כפי שציפיתי בפוסט שלי בנושא סטנדרטיזציה של WebRTC, הפגישה של IETF 87 התקיימה בשבוע שעבר בברלין, גרמניה. אחד מפריטי האג’נדה עבור webrtc היה האם SDES צריך להיות חלק (ואיך) של Webrtc.

על פי טיוטות ה- IETF, כל יישום תואם WEBRTC חייב לתמוך בפרופיל RTP/SAVPF שבונה על גבי פרופיל ה- RTP המאובטח RTP/SAVP. המשמעות היא שערוצי מדיה (ה.ז. יש לאבטח אודיו, וידאו) באמצעות RTP Secure (SRTP), המספק הצפנת מדיה בין תכונות אבטחה אחרות. למעשה, השימוש ב- RTP רגיל (לא מוצפן) אסור במפורש על ידי מפרטי WebRTC.

חלופות לניהול מפתח WebRTC

SRTP צריך לקיים אינטראקציה עם פרוטוקולי ניהול מפתח (ה.ז. Mikey, ZRTP, SDE. זה’שווה לציין כי האיתות (ה.ז. SIP, HTTP) ומדיה (ה.ז. RTP) המעורבים בתקשורת מולטימדיה יכולים להיות מאובטחים באופן עצמאי. לדוגמה, תיאורי אבטחת SDP לזרמי מדיה (SDES) ו- Multimedia Key Exchange (Mikey) משתמשים במישור האיתות כדי לשאת את פרמטרי האבטחה של הפגישה באמצעות SDP; המשמעות היא שהאותות צריך להיות מוגן בתורו. עם זאת, אבטחת איתות ומדיה באופן עצמאי עשויה להיות לא מספיקה במקרים מסוימים מכיוון שהיא אינה מספקת שום ערובה לכך שמשתמש האיתות זהה למשתמש המדיה. מכאן שקשירת קריפטוגרפיה בין שני המטוסים רצויה-ZRTP ו- DTLS-SRTP עושים זאת.

הרבה ספרות ניתן למצוא בנושא, אך על קצה המזלג:

  • SDES – פרמטרי אבטחה ומפתחות להגדרת מפגשי SRTP מוחלפים בטקסט ברור בצורה של תכונות SDP, ומכאן מסתמכות על מישור האיתות כדי לאבטח את הודעת SDP, באמצעות TLS למשל TLS.
  • מייקי – מבצע את חילופי המפתח ומשא ומתן על פרמטרים קריפטוגרפיים מטעם יישומי מולטימדיה. ההודעות שלה מועברות בעומס ה- SDP ומקודדות ב- Base64.
  • ZRTP-סוד משותף ופרמטרי אבטחה אחרים מוחלפים מסתמכים על דיפי-הלמן. אימות הדדי יכול להשתמש במחרוזת אימות קצר (SAS), כך שהוא לא עושה זאת’לא דורש תמיכה מ- PKI. Exchange ZRTP מתרחש על אותם מספרי יציאה המשמשים את מושב המולטימדיה לתנועת RTP (בניגוד לנתיב האיתות).
  • DTLS-SRTP-מאפשר חילופי הפרמטרים הקריפטוגרפיים ולהפיק חומר מקשים. חילופי המפתח מתרחשים במטוס התקשורת ומרובמים על אותם יציאות כמו התקשורת עצמה. אנו נרחיב על כך בפוסט עתידי, אך בקיצור, לאחר שהסיימו חלק מהבדיקות הקרח, DTLS-SRTP מאפשרת להקים את ערוץ המדיה SRTP ללא צורך לחשוף מפתחות בחילופי ההודעות של SDP כפי שנעשה עם SDES.

על פי טיוטה-IETF-RTCWEB-RTP-USAGE-07 (טיוטה נוכחית, יולי 2013), WEBRTC:

היישומים חייבים לתמוך ב- DTLS-SRTP לניהול מפתח. ניתן לתמוך בתכניות ניהול מפתח אחרות

DTLS-SRTP הוא המנגנון המוגדר כברירת מחדל והמועדף, כלומר אם מתקבלת הצעה התומכת הן ב- DTLS-SRTP והן ב- SDES, יש לבחור DTLS-SRTP-ללא קשר לשאלה אם האיתות מאובטח או לא. ממה שאני’אני רואה בשדה הכי הרבה (אני יכול’תגיד הכל) ניסויי WebRTC מפעילים איתות על TLS, בדרך כלל באמצעות HTTP מאובטח (HTTPS) או WebSockets מאובטחים (WSS).

הדיון

באופן כללי יש מעט ספקות ש- DTLS-SRTP צריך להיות החובה ליישם מנגנון אבטחה (MTI) עבור מדיה בזמן אמת WebRTC (ובכן, יש הטוענים ש- ZRTP עשויה לספק גישה פשוטה יותר או הגנה טובה עוד יותר בתרחישים מסוימים). הדיון בברלין היה האם ה- IETF, מעבר לתמיכה במנדט ב- DTLS-SRTP, יכול לספק המלצות כיצד לעשות שימוש חוזר בכמה מנגנונים קיימים אחרים שיש לנו היום על מנת לספק תאימות לאחור; כלומר לעשות שימוש חוזר ב- SDEs בתרחישים אינטראקינג Webrtc- לסייפוק. כן זה’נכון שרוב התנועה של ה- RTP ברשתות VoIP אינן מאובטחות כיום – למעשה, זו אחת התכונות הראשונות שלקוחות בדרך כלל מבקשים מהספקים להסיר כדי לעמוד בתקציביהם. עם זאת, כאשר הם מאובטחים, רוב הפריסות i’נצפו משתמשים ב- SDEs (שכאמור יש תלות חזקה באבטחת מטוס האיתות).

כשמדובר ביישומי WebRTC, גוגל’ג

WEBRTC חייב ליישם DTLS-SRTP אך … אסור ליישם SDES

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

מאיפה נוגעות תחום ה- DTLS ב- WebRTC?

עבור עמיתים Webrtc, איזה תחום הוא DTLs המשמשים למשא ומתן? אני מבולבל. נראה כי אין הגדרת תכונה רלוונטית ב- SDP. האם זה התחום בו נמצא דף האינטרנט?

שאל 12 ביולי 2021 בשעה 14:36

25 3 3 תגי ברונזה

תשובה 1 1

WebRTC לא משתמש ברשות תעודות. אין מעורבים בתחומים. עם webrtc האותנטיות שאתה מקבל מ- PKI פשוט מוחלפת בטביעות אצבעות תעודה.

כל צד מייצר תעודה ואז חולק את טביעת האצבע בתיאור ההפעלה (הצעה/תשובה). לאחר השלמת לחיצת היד של DTLS היא מוודאת שהתעודה שהוחלפה הייתה זהה.

איך DTLS עובד למעשה מוסבר ב- WebRTC עבור#המוזר#מאבטח קצת יותר.

ענה 12 ביולי, 2021 בשעה 15:25

שון דובואה שון דובואה

3,867 1 1 תג זהב 11 11 תגי כסף 22 22 תגי ברונזה

אבל, OpenSSL SSLConnector זקוק לתחום. במקרה זה, איזה ערך צריך לעבור לפרמטר זה?

WEBRTC חייב ליישם DTLS-SRTP אך … אסור ליישם SDES?

כפי שציפיתי בפוסט שלי בנושא סטנדרטיזציה של WebRTC, הפגישה של IETF 87 התקיימה בשבוע שעבר בברלין, גרמניה. אחד מפריטי האג’נדה עבור webrtc היה האם SDES צריך להיות חלק (ואיך) של Webrtc.

על פי טיוטות ה- IETF, כל יישום תואם WEBRTC חייב לתמוך בפרופיל RTP/SAVPF שבונה על גבי פרופיל ה- RTP המאובטח RTP/SAVP. המשמעות היא שערוצי מדיה (ה.ז. יש לאבטח אודיו, וידאו) באמצעות RTP Secure (SRTP), המספק הצפנת מדיה בין תכונות אבטחה אחרות. למעשה, השימוש ב- RTP רגיל (לא מוצפן) אסור במפורש על ידי מפרטי WebRTC.

חלופות לניהול מפתח WebRTC

SRTP צריך לקיים אינטראקציה עם פרוטוקולי ניהול מפתח (ה.ז. Mikey, ZRTP, SDE. זה’שווה לציין כי האיתות (ה.ז. SIP, HTTP) ומדיה (ה.ז. RTP) המעורבים בתקשורת מולטימדיה יכולים להיות מאובטחים באופן עצמאי. לדוגמה, תיאורי אבטחת SDP לזרמי מדיה (SDES) ו- Multimedia Key Exchange (Mikey) משתמשים במישור האיתות כדי לשאת את פרמטרי האבטחה של הפגישה באמצעות SDP; המשמעות היא שהאותות צריך להיות מוגן בתורו. עם זאת, אבטחת איתות ומדיה באופן עצמאי עשויה להיות לא מספיקה במקרים מסוימים מכיוון שהיא אינה מספקת שום ערובה לכך שמשתמש האיתות זהה למשתמש המדיה. מכאן שקשירת קריפטוגרפיה בין שני המטוסים רצויה-ZRTP ו- DTLS-SRTP עושים זאת.

הרבה ספרות ניתן למצוא בנושא, אך על קצה המזלג:

  • SDES – פרמטרי אבטחה ומפתחות להגדרת מפגשי SRTP מוחלפים בטקסט ברור בצורה של תכונות SDP, ומכאן מסתמכות על מישור האיתות כדי לאבטח את הודעת SDP, באמצעות TLS למשל TLS.
  • מייקי – מבצע את חילופי המפתח ומשא ומתן על פרמטרים קריפטוגרפיים מטעם יישומי מולטימדיה. ההודעות שלה מועברות בעומס ה- SDP ומקודדות ב- Base64.
  • ZRTP-סוד משותף ופרמטרי אבטחה אחרים מוחלפים מסתמכים על דיפי-הלמן. אימות הדדי יכול להשתמש במחרוזת אימות קצר (SAS), כך שהוא לא עושה זאת’לא דורש תמיכה מ- PKI. Exchange ZRTP מתרחש על אותם מספרי יציאה המשמשים את מושב המולטימדיה לתנועת RTP (בניגוד לנתיב האיתות).
  • DTLS-SRTP-מאפשר חילופי הפרמטרים הקריפטוגרפיים ולהפיק חומר מקשים. חילופי המפתח מתרחשים במטוס התקשורת ומרובמים על אותם יציאות כמו התקשורת עצמה. אנו נרחיב על כך בפוסט עתידי, אך בקיצור, לאחר שהסיימו חלק מהבדיקות הקרח, DTLS-SRTP מאפשרת להקים את ערוץ המדיה SRTP ללא צורך לחשוף מפתחות בחילופי ההודעות של SDP כפי שנעשה עם SDES.

על פי טיוטה-IETF-RTCWEB-RTP-USAGE-07 (טיוטה נוכחית, יולי 2013), WEBRTC:

היישומים חייבים לתמוך ב- DTLS-SRTP לניהול מפתח. ניתן לתמוך בתכניות ניהול מפתח אחרות

DTLS-SRTP הוא המנגנון המוגדר כברירת מחדל והמועדף, כלומר אם מתקבלת הצעה התומכת הן ב- DTLS-SRTP והן ב- SDES, יש לבחור DTLS-SRTP-ללא קשר לשאלה אם האיתות מאובטח או לא. ממה שאני’אני רואה בשדה הכי הרבה (אני יכול’תגיד הכל) ניסויי WebRTC מפעילים איתות על TLS, בדרך כלל באמצעות HTTP מאובטח (HTTPS) או WebSockets מאובטחים (WSS).

הדיון

באופן כללי יש מעט ספקות ש- DTLS-SRTP צריך להיות החובה ליישם מנגנון אבטחה (MTI) עבור מדיה בזמן אמת WebRTC (ובכן, יש הטוענים ש- ZRTP עשויה לספק גישה פשוטה יותר או הגנה טובה עוד יותר בתרחישים מסוימים). הדיון בברלין היה האם ה- IETF, מעבר לתמיכה במנדט ב- DTLS-SRTP, יכול לספק המלצות כיצד לעשות שימוש חוזר בכמה מנגנונים קיימים אחרים שיש לנו היום על מנת לספק תאימות לאחור; כלומר לעשות שימוש חוזר ב- SDEs בתרחישים אינטראקינג Webrtc- לסייפוק. כן זה’נכון שרוב התנועה של ה- RTP ברשתות VoIP אינן מאובטחות כיום – למעשה, זו אחת התכונות הראשונות שלקוחות בדרך כלל מבקשים מהספקים להסיר כדי לעמוד בתקציביהם. עם זאת, כאשר הם מאובטחים, רוב הפריסות i’נצפו משתמשים ב- SDEs (שכאמור יש תלות חזקה באבטחת מטוס האיתות).

כשמדובר ביישומי WebRTC, גוגל’S Chrome תומך הן ב- DTLS-SRTP והן ב- SDES בזמן ש- Mozilla’S Firefox מיישם רק את DTLS-SRTP. כסקרנות, אני’M מעורב כיום בניסויים בשטח שבהם חלק מהשערים WebRTC- ל- SIP תחת הערכה רק מיישמים SDEs ויש להם DTLS-SRTP כפריט מפת דרכים. ספקי Gateway ככל הנראה ראו כי SDEs מספיק טובים לתרחיש הבסיסי בין עבודות עבודה וציפו שהוא יאומץ בשלב מסוים לפי מפרט WebRTC.

תמיכה במפתח אבטחת דפדפן WebRTC

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

  • תמריץ מסחרי – זה’זה כבר שם ועובד
  • גזירת מדיה מוקדמת
  • סחר בין מורכבות לעלות
  • הקצבה לקצה SRTP במקרים בין עבודות עבודה

על הכדור האחרון, פירוש הדבר שלא היה צריך לפענח את תנועת ה- SRTP בשער העבודות הבין -עבודה אם נקודת הקצה של VoIP בקצה השני משתמשת ב- SDES.

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

אחרים טענו כי תאימות לאחור אינה גורם כה חשוב כאשר בכל מקרה יצטרכו להשתמש בשערי מדיה (לפחות להפסקת קרח); אז DTLS-SRTP-TO-SDES אינטראקינג יכול להיות פשוט תכונה נוספת של פונקציית Gateway (כפי שמוצג בתרשים הבא שחולץ ממצגת זו).

התוצאה

כתוצאה מהדיון, לא רק ש- SDEs לא הומלצו ממקרי שימוש נבחרים כמו Webrtc- ל- SP-SIP, אלא שהוא היה אסור לחלוטין על webrtc באופן כללי. אימוץ SDES התפרש על ידי רובו כטלת דרישה על דפדפי אינטרנט מעבר לתחום התקשורת של דפדפן לדפדפן תוך השפלה של תכונות האבטחה שלהם.

אני מאמין שיש פיתרון יחיד עשוי להועיל מנקודת המבט הדדית (אני.ה. הפחות אפשרויות שיש לנו בדרך כלל פירושן יכולת פעולה הדדית טובה יותר) אבל אני’אני תוהה מה התעשייה באמת עומדת ליישם, במיוחד בתרחישים WebRTC שאינם דפדפנים שעשויים להיות בעלי דרישות אבטחה שונות או שאולי ירצו להשתלב ישירות עם מכשירי VoIP קיימים (כמו שאני’M לראות בפרויקט, זה יכול להיות כמה מיליוני נקודות קצה). הזמן יגיד כיצד הספקים מגיבים, אך בהחלט זה לא יהיה המקרה הראשון בו תכונה/התנהגות ספציפית מושבתת כברירת מחדל כדי להיות תואמת RFC אך ניתן להגדרה, ולעתים מוסתרת, מסופקת “באחד’סיכון עצמו” לתמיכה בתכונה ��

רוצה ללמוד קצת יותר על אבטחת webrtc? אנו נרחיב בנושא זה בערכי הבלוג העתידיים. בינתיים, מצא כאן וכאן כמה אזכורים מעניינים. החברים שלי ועמיתי לשעבר ג’ירי, דורגהאם, ג’ון, אולי והנינג כוללים תיאור מקיף מאוד על אבטחת מולטימדיה בספר האבטחה שלהם SIP. אתה יכול גם לשלוח לי דוא”ל ל- [מוגן בדוא”ל] או לעקוב אחרי בטוויטר ב @VictorPascual.

פוסטים קשורים

הזנת RSS

אינטראקציות קוראים

הערות

  1. Vijay K. גורבני אומר כי 15 באוגוסט 2013 בשעה 11:14 בבוקר

הנושא ויקטור דן אינו אנדמי ל- Webrtc בלבד. זו בעיה כללית שעולם ה- SIP התמודד קצת. העיתון שלהלן מספק יתרונות וחסרונות יחסית של תוכניות מפתחות שונות בסביבת טלקומוניקציה מולטימדיה באינטרנט. אם תרצה עותק, תוכל לשלוח לי דוא”ל ב- VKG ב- Bell-Labs Dot Com. גורבני, v.ק. וקולסניקוב, v., “סקר וניתוח של טכניקות מקלות מדיה בפרוטוקול חניכת ההפעלה (SIP),” בסקרי תקשורת IEEE ומדריכים, 13 (2), עמ ‘. 183-198, 2011.

תודה על ההתייחסות Vijay – מאמר מעניין מאוד. BTW, טיוטת אינטרנט חדשה זו פורסמה לפני מספר שעות: “באמצעות ZRTP כדי להבטיח WEBRTC”
http: // כלים.IETF.org/html/traft-johnston-rtcweb-zrtp-00 תקציר: “WebRTC, תקשורת בזמן אמת באינטרנט, היא קבוצה של פרוטוקולים וממשקי API המשמשים לאפשר למפתחי אתרים להוסיף תקשורת בזמן אמת לדפי האינטרנט שלהם וליישומים שלהם עם כמה שורות של JavaScript. זרימות המדיה של WebRTC מוצפנות ומאמתות על ידי SRTP, פרוטוקול ההובלה המאובטח בזמן אמת ואילו הסכם המפתח מסופק על ידי DTLS-SRTP, אבטחת שכבת התחבורה של Datagram עבור פרוטוקול הובלה בזמן אמת מאובטח. עם זאת, ללא שירות זהות של צד שלישי או סמכות תעודות, לזרמי התקשורת WebRTC אין שום הגנה מפני התקפת אדם-בינוני (MITM). ZRTP, הסכם מפתח נתיב מדיה עבור Unicast Secure RTP, RFC 6189, אכן מספק הגנה מפני תוקפי MITM באמצעות המשכיות מפתח המוגברת עם מחרוזת אימות קצר (SAS). מפרט זה מתאר כיצד ניתן להשתמש ב- ZRTP מעל ערוץ הנתונים WebRTC כדי לספק הגנה על MITM עבור זרימת מדיה WebRTC המועמדת באמצעות DTLS-SRTP. זה מספק הגנה על משתמשים מפני תוקפי MITM מבלי לדרוש מדפדפנים לתמוך ב- ZRTP או למשתמשים להוריד תוסף או סיומת ליישום ZRTP.”

עדכון מהיר: גוגל רק הודיעה ש- Chrome מביא את SDES בתהליך רב-שלבי “1) ב- Chrome 31, DTLS פועל כעת כברירת מחדל, אם כי SDES עדיין מוצעת גם כן. אתה כבר לא צריך להעביר את DTLSSRTPKEYAGREEMENT: אילוץ אמיתי כדי לאפשר DTLS. מכיוון שאנו משתמשים במטמון לתעודת מקור למקור, פגיעת הביצועים של יצירת תעודת DTLS אינה עוד בעיה, ומאפשרת לנו להפוך את זה לברירת המחדל. בשלב זה אין צורך בשינויי יישום, אם כי ניתן לבטל DTLS על ידי הגדרת DTLSSRTPKEYAGREEMENT: FALSE, אשר חוזר להפעלה של SDES בלבד. 2) בגרסה הקרובה של Chrome, ככל הנראה Chrome 33, SDES לא יוצע עוד כברירת מחדל, וישמש רק אם מוגדר אילוץ TBD חדש. עבור יישומים הדורשים SDES, הדבר ידרוש שינוי בקשה כדי לציין אילוץ חדש זה. 3) בגרסה עתידית של Chrome, TBD בשלב זה, אילוץ SDES זה יוסר ורק DTLS-SRTP יתמוך. אנו מצפים שזה יתרחש מתישהו בשנת 2014, אז אנא התחל להעביר את היישומים שלך ל- DTLS-SRTP בהקדם האפשרי.” מקור: https: // קבוצות.גוגל.com/פורום/#!נושא/דיון webrtc/67w4zrtmons

תודה על הפוסט המעניין ויקטור. רק חיפשתי כמה סוגיות אבטחה לגבי WebRTC ומצאתי את זה. אולי הסטטוס הנוכחי לגבי זה השתנה, בגלל הפוסט פורסם לפני כשנה אני חדש ב- WebRTC, והכל נראה ש- Webrtc משתמש ב- DLTS-RTSP. עם זאת, מה קורה עם האבטחה בטלפונים ניידים?. עד כמה שידוע לי ש- RTSP יכול להיות מעט איטי לפענוח וידאו, למשל, בפלטפורמות ניידות. תודה מראש Víctor Hidalgo

  • צ’אד הארט אומר 12 ביולי 2014 בשעה 7:55 בבוקר

אנא דון’T לערבב פרוטוקול סטרימינג בזמן אמת (RTSP) עם הובלה מאובטחת בזמן אמת (SRTP). WebRTC משתמש ב- DTLS-SRTP. DTLS-SRTP כמו כל ההצפנה אכן דורש פענוח, ויש קצת תקורה הקשורה לזה, אך הוא זעיר במכשירים מודרניים. החששות לגבי עלויות הצפנה התמקדו בדרך כלל סביב ציוד בצד השרת שצריך להתמודד עם נפחים גבוהים ולכן עלול להעלות את מחיר הצעת השירות.

  • ויקטור אומר 14 ביולי 2014 בשעה 3:06 בבוקר

היי צ’אד, נכון, התייחסתי ל- DTLS-SRTP NO DTLS-RTSP, סליחה על הטעות שלי. רציתי איזשהו הבהרה לפני שעשיתי מבחן כלשהו, ​​מכיוון שהתקורה של מינוס המשויכת במכשירים מודרניים זה מה שציפיתי. תודה רבה על תגובתך. מְנַצֵחַ

השאר תגובה בטל תגובה

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

מחקר על אבטחת webrtc

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

1. מבוא

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

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

  • שיחות שמע ו/או שיחות וידאו בזמן אמת
  • ועידת אינטרנט
  • העברות נתונים ישירה

בניגוד לרוב המערכות בזמן אמת (ה.ז. SIP), תקשורת WebRTC נשלטת ישירות על ידי שרת אינטרנט כלשהו, ​​באמצעות API של JavaScript.

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

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

2. סקירה כללית של ארכיטקטורת WebRTC

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

כפי שמתואר באיור 1, תהליך זה מתרחש באמצעות שרת מתווך:

איור 1. טופולוגיה פשוטה של ​​שיחת WebRTC

איור 1. טופולוגיה פשוטה של ​​שיחת WebRTC

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

איך עובדת תקשורת WebRTC?

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

getusermedia

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

getusermedia הוא ממשק API כזה, המאפשר לדפדפן לגשת למצלמת המשתמש ולמיקרופון של המשתמש. אף על פי שמשמש על ידי webrtc, ממשק API זה מוצע למעשה כחלק מ- HTML 5.

RTCPEERCONNECTION

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

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

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

בסופו של דבר, API של RTCPEERCONNECT.

ל- RTCPeerConnection יש שתי תכונות ספציפיות: – תקשורת ישירה של עמיתים לעמית בין שני דפדפנים – שימוש ב- UDP/IP – אין שום ערובה להגעת מנות (כמו ב- TCP/IP), אך יש תקורה מופחתת הרבה כתוצאה. – (על ידי מתן אובדן נתונים מסוימים, אנו יכולים להתמקד בהצעת תקשורת בזמן אמת.)

RTCDATACHANNEL

ה- RTCDATACHANNEL הוא ה- API הראשי השני המוצע כחלק מ- WEBRTC, ומייצג את ערוץ התקשורת הראשי דרכו מתרחשת החלפת נתוני יישום שרירותיים בין עמיתים. במילים אחרות, הוא משמש להעברת נתונים ישירות מעמית אחד למשנהו.

אם כי קיימות מספר אפשרויות חלופיות לערוצי תקשורת (ה.ז. Ebsertocket, Server Event. RTCDATACHANNENENEL דומה לשקע האינטרנט הפופולרי, אך במקום זאת לוקח פורמט עמיתים לעמית תוך שהוא מציע מאפייני אספקה ​​הניתנים להתאמה אישית של ההובלה הבסיסית.

2.1. טכנולוגיות בסיסיות

שלושת ממשקי ה- API העיקריים הם ההיבטים הפונים למפתחים של WEBRTC, אך ישנן מספר טכנולוגיות יסוד המשמשות על מנת לספק פרוטוקולים אלה (ה- RTCPEERCONECTION ו- RTCDATACHANNEL API).

איור 2. ערימת פרוטוקול WebRTC

איור 2. ערימת פרוטוקול WEBRTC

קרח, הלם ופנייה נחוצים כדי לקבוע ולשמור על חיבור עמיתים לעמית דרך UDP. DTLS משמש לאבטחת כל העברות הנתונים בין עמיתים, שכן הצפנה היא תכונה חובה של WebRTC. לבסוף, SCTP ו- SRTP הם פרוטוקולי היישומים המשמשים למולדת הזרמים השונים, לספק גודש ובקרת זרימה ומספקים משלוח אמין חלקית ושירותים נוספים נוספים על גבי UDP.

SDP: פרוטוקול תיאור הפעלה

פרוטוקול תיאור הפעלה (SDP) הוא פרוטוקול תיאורי המשמש כשיטה סטנדרטית להכרזה וניהול הזמנות להפעלה, כמו גם ביצוע משימות חניכה אחרות למפגשי מולטימדיה. SDP מייצג את יכולות הדפדפן וההעדפות בפורמט מבוסס טקסט, ועשוי לכלול את המידע הבא: – יכולות מדיה (וידאו, אודיו) ואת ה- Codecs המועסקים – כתובת IP ומספר יציאה – P2P פרוטוקול העברת נתונים (WebRTC משתמש ב- SECURERTP) – רוחב פס שניתן לשימוש לתקשורת – תכונה הפעלה (שם שם, זיהוי, יחידת זמן ציר, ECC ECC, ECC ECC, ECC ECC,.) -> עם זאת אלה אינם משמשים ב- WebRTC. – מטא נתונים קשורים אחרים.

נכון להיום SDP נמצא בשימוש נרחב בהקשרים של פרוטוקול התחלת הפעלה (SIP), פרוטוקול הובלה בזמן אמת (RTP) ופרוטוקול הזרמה בזמן אמת (RSP).

קרח: מפעל קישוריות אינטראקטיבי

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

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

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

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

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

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

STUN: כלי עזר חציית מושבים עבור NAT

על מנת לבצע תקשורת P2P, שני הצדדים בהכרח דורשים לפחות את הידע של כתובת ה- IP של עמיתם ויציאת UDP שהוקצתה. כתוצאה מכך, יש צורך בכמות מסוימת של חילופי מידע לפני שניתן יהיה לקבוע תקשורת WebRTC.

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

סיבוב: מעבר באמצעות ממסרים סביב NAT

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

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

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

3. שיקולי אבטחה מבוססי דפדפן

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

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

3.1. מודל אמון דפדפן

ארכיטקטורת WebRTC מניחה מנקודת מבט אבטחה שמשאבי רשת קיימים בהיררכיה של אמון. מבחינת המשתמש, הדפדפן (או לקוח המשתמש) הוא בסיס לכל אבטחת WebRTC, ומשמש כבסיס המחשוב המהימן שלהם (TCB).

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

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

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

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

במילים אחרות, רמת האמון המסופק למשתמש על ידי Webrtc מושפעת ישירות מהאמון של המשתמש בדפדפן.

3.2. SOP: אותה מדיניות מקור

זהו היבט בסיסי של ה- DOM כי כל משאבי דף האינטרנט מובילים משרת האינטרנט של הדף, בכל פעם שחלק מהדף או כל הדף נטען. הבאת המשאבים מתרחשת כאשר דף נטען טרי על ידי הדפדפן, או כאשר סקריפט השוכן בדף אינטרנט מבקש בקשה כזו. סקריפטים כאלה יכולים בקלות להגיש בקשות HTTP באמצעות E.ז. ממשק ה- API של XMLHTTPREQUEST (), אך אינו רשאי להגיש בקשות כאלה לכל שרת שהם מציינים. במקום זאת, יש להגיש בקשות לאותו “מקור” ממנו מקור התסריט. “מקור” מורכב מתכנית URI, שם מארח ומספר יציאה. מגבלה כוללת זו מכונה “מדיניות המקור” (SOP).

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

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

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

3.2.1 עוקף SOP

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

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

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

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

4. שיקולי אבטחה WebRTC

4.1. התקנה ועדכונים

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

עם זאת, WebRTC אינו תוסף, וגם אין תהליך התקנה לאף אחד מהרכיבים שלו. כל טכנולוגיית WebRTC הבסיסית מותקנת פשוט כחלק מהורדת דפדפן תואם WebRTC מתאים, כגון Chrome או Firefox. אם למשתמש יש דפדפן כזה, הוא יכול לגלוש ולהשתמש בכל יישום WebRTC ללא שום הגדרה או הכנה אחרים נדרשים. ככאלה אין סיכון להתקנת תוכנות זדוניות או וירוסים באמצעות יישום WEBRTC מתאים. עם זאת, עדיין יש לגשת לאפליקציות WebRTC באמצעות אתר HTTPS שנחתם על ידי אימות תקף כמו Verisign.

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

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

כהערה צדדית: למרות שהצהרנו כי WebRTC לא דורשת התקנה של תוספים, יתכן שמסגרות WebRTC של צד שלישי עשויות להציע תוספים המאפשרים תמיכה בדפדפנים שאינם נתמכים כיום (כמו Safari ו- IE). זהירות למשתמש (או דפדפן נתמך) מומלץ במקרים כאלה.

4.2. גישה למדיה/משאבים מקומיים

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

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

איור 3. איור 3. מחווני ממשק משתמש כרום

איור 3. מחווני ממשק משתמש כרום

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

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

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

4.3. הצפנת מדיה ואבטחת תקשורת

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

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

4.3.1. DTLS: אבטחת שכבת הובלה של Datagram

WEBRTC מצפין מידע (ספציפית ערוצי נתונים) באמצעות אבטחת שכבת הובלה של Datagram (DTLS). כל הנתונים שנשלחו דרך RTCDATACHANNEL מאובטחים באמצעות DTLS.

DTLS הוא פרוטוקול סטנדרטי המובנה בכל הדפדפנים התומכים ב- WebRTC, והוא פרוטוקול אחד המשמש בעקביות בדפדפני אינטרנט, דוא”ל ופלטפורמות VoIP כדי להצפין מידע על מידע. האופי המובנה פירושו גם כי אין צורך בהגדרה קודמת לפני השימוש. בדומה לפרוטוקולי הצפנה אחרים הוא נועד למנוע ציתות ומטופל מידע. DTLS עצמה מעוצבת על ידי ה- TLS המכוון לזרם, פרוטוקול המציע הצפנה מלאה בשיטות קריפטוגרפיה א-סימטריות, אימות נתונים ואימות הודעות. TLS הוא התקן De-Facto להצפנת אינטרנט, המשמש למטרות פרוטוקולים כמו https. TLS מיועד למנגנון ההובלה האמין של TCP, אך אפליקציות VoIP (ומשחקים וכו ‘.) בדרך כלל השתמש בהובלות DATAGRAM לא אמינות כמו UDP.

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

4.3.1.1. DTLS מעל פנייה

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

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

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

4.3.2. SRTP: פרוטוקול הובלה בזמן אמת בזמן אמת

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

WebRTC משתמש ב- SRTP לצורך הצפנת זרמי מדיה ולא DTLS. הסיבה לכך היא ש- SRTP היא אפשרות במשקל קל יותר מאשר DTLS. המפרט מחייב כי כל יישום WEBRTC תואם תומך RTP/SAVPF (שנבנה על גבי RTP/SAVP) [9] . עם זאת, חילופי המפתח SRTP בפועל מבוצעת בתחילה מקצה לקצה עם DTLS-SRTP, ומאפשרת גילוי של התקפות MITM כל.

4.3.3. הקמת קישור מאובטח

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

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

לאחר השלמת לחיצת היד של DTLS, המפתחות “מיוצאים” ומשמשים למפתח SRTP לערוצי המדיה. בשלב זה שני הצדדים יודעים שהם חולקים קבוצה של נתונים מאובטחים ו/או ערוצי מדיה עם מפתחות שאינם ידועים לשום צד שלישי זדוני.

4.3.4. DTLS-SRTP לעומת SDES

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

ראוי לציין כי ניתן לאבטח באופן עצמאי את האיתות (SIP, HTTP) ומדיה (RTP) המעורבים בתקשורת מולטימדיה עצמאית.

SDES

תיאורי האבטחה של SDP לזרמי מדיה (SDES) היו האפשרות שהוחלפה בעבר על ידי WebRTC.

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

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

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

DTLS-SRTP

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

מפרט WEBRTC [9] טוען כי יישומי WEBRTC נדרשים לתמוך ב- DTLS-SRTP לניהול מפתח. יתרה מזאת, צוין כברירת המחדל והמתכנית המועדפת, ואין יישום תוכניות ניהול מפתח אחרות. במילים אחרות, תוכניות אחרות עשויות להיות נתמכות בכלל.

אם הצעה או “שיחה” מתקבלת מתמיכה בפרסום עמיתים הן ל- DTLS-SRTP והן.

הדיון

בדרך כלל מקובל ש- DTLS-SRTP צריכה להיות האפשרות החובה והברירת מחדל להצפנת מדיה WebRTC. מה שנחקר הוא האם יש להשתמש במנגנונים אחרים, כלומר SDES, כדי לספק תאימות לאחור.

מנקודת מבט התאימות, דפדפן Chrome של גוגל מספק תמיכה הן ל- SDES והן ל- DTLS-SRTP. לעומת זאת, Firefox של מוזילה מיישמת רק את DTLS-SRTP.

4.3.5. חולשה ב- SRTP

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

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

4.4. אימות עמיתים מבוסס אינטרנט וניהול זהות

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

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

איור 4. שיחה עם זהות מבוססת IDP

איור 4. שיחה עם זהות מבוססת IDP

מספר ספקי זהות מבוססי אינטרנט (IDP) הפכו לאחרונה למקובל באינטרנט, כולל פייסבוק Connect, Browserid (מאת Mozilla), OAuth (על ידי טוויטר). מטרת מנגנונים אלה היא פשוט לאמת את זהותך לשירותים/משתמשים אחרים, על סמכותו של ספק הזהות עצמו. אם למשתמש יש חשבון בפייסבוק אז הוא יכול להשתמש בפייסבוק Connect, IDP של פייסבוק כדי להוכיח לאחרים שהם מי שהם אומרים שהם בפייסבוק. זה מאפשר למשתמשים לקשור את האימות שלהם בשירותים אחרים לחשבון הראשי שלהם בשירות “מהימן”. שים לב שבמקרה זה רמת “האמון” שיש לספק זהות הוא סובייקטיבי למשתמש או לשירות נקודת הסיום, ולעתים קרובות הוא קשור במידה רבה לבסיס המשתמשים ולמוניטין ברחבי העולם.

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

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

איור 5. איור 5. הפעלת ספק זהות

איור 5. הפעלת ספק זהות

4.5. פרטיות מיקום IP

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

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

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

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

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

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

4.6. שכבת איתות

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

SIP הוא תקן מיושם באופן נרחב המשמש בתקשורת VoIP כדי להתקין ולקרע שיחות טלפון. עם זאת, זהו נגזרת של HTTP ו- SMTP – שניהם הם פרוטוקולים המנוצלים באופן קבוע. מכיוון שהיא משתמשת בהודעות טקסט רגיל כדי להחליף מידע, ניתן לכל גורם זדוני להקיש על רשת וללכוד הודעות SIP. אם תוקף יכול לקרוא את המידע הרגיש של המשתמש, הוא יכול להשתמש במידע זה כדי לזייף את המשתמש. ואם התוקף יכול להמשיך כדי לקבל גישה לרשת המפעילה, זה יכול אפילו להיות אפשרי להם לפענח את תוכן התקשורת WebRTC. [14]

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

4.6.1. לוגם פגיעויות

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

לגימה זרימת

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

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

חטיפת רישום

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

החלפת הודעות ההרשמה כוללת שדה “איש קשר:”, המכיל את כתובת ה- IP של המשתמש. בכל פעם ששרת האיתות מעבד שיחה נכנסת, שם המשתמש (או מספר הטלפון) מתאים לכתובת ה- IP הרשומה, וההזמנה מועברת בהתאם. רישומים אלה מתעדכנים מעת לעת, ומבטיחים שהרישומים נשמרים עדכניים ומעודכנים.

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

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

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

ניתן לדכא התקפה זו על ידי יישום SIPS (SIP Over TLS) ואימות בקשות ותגובות SIP (שיכולות לכלול הגנה על יושרה). למעשה, השימוש ב- SIPs ואימות תגובות יכול לדכא התקפות רבות הקשורות לרבות ציתות והודעה או התחזות למשתמשים.

התקפות אפשריות אחרות

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

    הצפנה

    למרות שנראה כי איתות מספק נקודת תצפית מפתה במיוחד לתוקפים למקד, הכל לא אבוד. בנוסף לזרמי המדיה, ניתן להצפין את שכבת האיתות. אפשרות אחת מוצפנת כזו היא Onsip, המשתמשת ב- SIP על פני Secure Websockets (wss: // במקום ws: //), כאשר חיבור ה- Websocket מוצפן על ידי TLS.

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

    4.7. נושאי אבטחה נוספים

    נקודת מבט של רשת הטלקום

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

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

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

    סקריפטים של אתרים (XSS)

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

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

    מכיוון שהשיטה העיקרית לגישה ל- WEBRTC צפויה להשתמש בדפדפנים המופעלים על ידי HTML5, ישנם שיקולי אבטחה ספציפיים הנוגעים לשימוש בהם כגון; הגנה על מפתחות ונתונים רגישים מפני סקריפטים של אתרים או התקפות חוצה תחום, שימוש ברשת, אבטחת iframe ובעיות אחרות. מכיוון שתוכנת הלקוח תישלט על ידי המשתמש ומכיוון שהדפדפן אינו פועל, ברוב המקרים, בסביבה מוגנת ישנם סיכויים נוספים שלקוח WebRTC יתפגע. המשמעות היא שכל הנתונים שנשלחו ללקוח יכולים להיחשף.

    5. השוואה עם טכנולוגיות מתחרות/דומות

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

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

    כמה פלטפורמות שיכולנו לחקור הן הבאות. הפלטפורמות שיש לבחון טרם נבחרו. (לבוא אחרי טיוטה ראשונה.)

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

    6. נוהלי תכנון מאובטחים

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

    איתות מאובטח

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

    מומלץ ליישם פרוטוקול איתות המספק אבטחה נוספת, כגון הצפנת תנועת איתות. כברירת מחדל, תהליך איתות אינו רשאי לשלב כל הצפנה, שיכולה להשאיר את התוכן של כל הודעות האיתות שהוחלפו פתוחות לצותת. יישומים עם דגש על אבטחה/סודיות צריכים אפוא להבטיח כי שכבת האיתות שלהם מיושמת על פני פרוטוקול מאובטח כמו SIPS, OpenSip, HTTPS או WSS.

    אימות וניטור עמיתים

    אפליקציית WebRTC בסיסית דורשת רק מזהה של משתמש על מנת לבצע שיחה, ללא אימות מבוצע מנקודת התצוגה של השירות עצמו. יתכן רצוי לדרוש הרשמה או אימות מראש לפני שכל משתמש יכול להשתתף בשיחה. לאחר מכן יש להרחיק ישויות לא מאומתות מהפגישה’S Reach, מגביל את הנגישות למסיבות לא אמינות.

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

    בקשות הרשאה

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

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

    איש באמצע

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

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

    שיתוף מסך

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

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

    נפילה

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

    7. סיכום

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

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

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

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

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

    8. בִּיבּלִיוֹגְרָפִיָה

    2. מבוא קצר ל- RTCPEERCONNECTION API .
    רשת דפדפנים בעלי ביצועים גבוהים. גישה לתאריך 2015-07-28.

    3. SDP עבור ה- WEBRTC .
    כלים.IETF.אורג. גישה לתאריך 2015-07-28.

    8. התקפת השבוע: TLS Datagram .
    בלוג.הנדסת קריפטוגרפיה.com. גישה לתאריך 2015-07-28.

    12. IETF-87 סדר היום RTCWEB .
    כלים.IETF.אורג. גישה לתאריך 2015-07-28.

    15. אבטחה ברשת SIP: זיהוי התקפות רשת .
    SearchUnifiedCommunications.TechTarget.com. גישה לתאריך 2015-07-28.

    17. אבטחה ליישומי WebRTC .
    Altanaitelecom.וורדפרס.com. גישה לתאריך 2015-07-28.

    18. אבטחת webrtc .
    Altanaitelecom.וורדפרס.com. גישה לתאריך 2015-07-28.

    SRTP באמצעות פרוטוקול DTLS

    לשיחות SBC, באפשרותך להגדיר את המכשיר להשתמש בפרוטוקול Datagram Layer Layer Security (DTLS) כדי להבטיח תנועה מבוססת UDP (על פי RFC 4347 ו- 6347) עבור ישויות SIP ספציפיות, באמצעות פרופילי IP. DTLS מאפשרת ליישומים מבוססי Datagram לתקשר באופן שנועד למנוע ציתות, חבלה או זיוף הודעות. פרוטוקול DTLS מבוסס על פרוטוקול TLS מונחה נחל, המספק אבטחה דומה. המכשיר יכול אפוא לעבוד בסביבות מעורבות בהן רשת אחת עשויה לדרוש DTLS והשנייה עשויה לדרוש תיאור תיאור פרוטוקול של תיאור פרוטוקול (SDES) או אפילו RTP שאינו מאובטח. המכשיר תומך במשא ומתן של DTLS לשיחות RTP-TO-SRTP ו- SRTP-TO-SRTP.

    תמיכה ב- DTLS חשובה לפריסה עם webrtc. WebRTC דורש את ערוצי המדיה להצפין באמצעות DTLS עבור SRTP Exchange Key. משא ומתן על מפתחות SRTP באמצעות DTLS נעשה במהלך לחיצת היד של DTLS בין לקוח WEBRTC ל- PEER. למידע נוסף על webrtc, ראה webrtc.

    בניגוד ל- SDES, הצפנת מפתח DTLS נעשית על פני ערוץ המדיה (UDP) ולא מעל ערוץ האיתות. לפיכך, DTLS-SRTP ידוע בדרך כלל בשם “חילופי מפתח מאובטחים על פני מדיה”. DTLS דומה ל- TLS, אך עובר על UDP, ואילו TLS הוא מעל TCP. לפני לחיצת היד של DTLS, העמיתים מחליפים פרמטרים של DTLS (טביעת אצבע והתקנה) וסוגי אלגוריתם בגוף SDP של הודעות SIP שהוחלפו להקמת השיחה (הזמנה בקשה ותגובה). העמיתים משתתפים בלחיצת יד של DTLS במהלכה הם מחליפים תעודות. תעודות אלה משמשות לגזירת מפתח סימטרי, המשמש להצפנת נתונים (SRTP) זרימה בין העמיתים. ערך hash המחושב על האישור מועבר ב- SDP באמצעות תכונה ‘a = טביעת אצבע’. בסוף לחיצת היד, כל צד מוודא שהאישור שקיבל מהצד השני מתאים לטביעת האצבע מה- SDP. כדי לציין תמיכה ב- DTLS, SDP הצעה/תשובה של הודעת SIP משתמשת בתכונה ‘a = הגדרה’. ערך התכונה ‘a = הגדרה: ActPass’ משמש בהצעת SDP על ידי המכשיר. זה מצביע על כך שהמכשיר מוכן להיות לקוח (‘מעשה’) או שרת (‘מעבר’) בלחיצת היד. ערך התכונה ‘A = הגדרה: פעיל’ משמש בתשובה SDP על ידי המכשיר. המשמעות היא שהמכשיר רוצה להיות הלקוח (‘פעיל’) בלחיצת היד.

    A = הגדרה: ActPass
    A = טביעת אצבע: SHA-1 \ 4A: AD: B9: B1: 3F: 82: 18: 3B: 54: 02: 12: DF: 3E: 5D: 49: 6B: 19: E5: 7C: AB

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

    ➢ להגדרת תצורה של DTL:
    1. בטבלת ההקשר של TLS (ראה קביעת תצורה של הקשרות אישור TLS), הגדר הקשר TLS עם גרסת DTLS [TLSCONTEXTS_DTLSVERSION].
    2. פתח את טבלת קבוצות ה- IP (ראה קביעת תצורה של קבוצות IP) ואז לקבוצת ה- IP המשויכת ליישות SIP, הקצה לה את ההקשר של TLS עבור DTLS, באמצעות פרמטר ‘הקשר TLS Media’ [IPGroup_DTLScontext].
    3. פתח את טבלת פרופילי ה- IP (ראה קביעת תצורה של פרופילי IP), ואז לפרופיל ה- IP המשויך לישות SIP, הגדר את הדברים הבאים:
    ● קבע את התצורה של פרמטר ‘מצב אבטחת מדיה SBC’ [ipprofile_sbcmediasecuritybehavior] לאובטח או לשניהם .
    ● הגדר את הפרמטר ‘שיטת אבטחת מדיה’ [ipprofile_sbcmediasecuritymethod] ל- dtls .
    ● קבע את התצורה של הפרמטר ‘rtcp mux’ [ipprofile_sbcrtcpmux] לתמיכה . נדרש ריבוי מרוב.
    ● קבע את התצורה של פרמטר קובץ ה- INI [SBCDTLSMTU] (או פקודת CLI קביעת תצורת VOIP> הגדרות SBC> SBC-DTLS-MTU) להגדרת גודל יחידת השידור המרבית (MTU) עבור DTLS לחיצת יד DTLS.
    4. קבע את התצורה של המרווח המינימלי שהמכשיר ממתין בין העברת מנות DTLS באותה לחיצת יד של DTLS, באמצעות פרמטר קובץ ה- INI [dtlstimebetweentransmissions].
    ● יש להגדיר את הפרמטר ‘שרת הצופן’ ל”כל “.
    ● המכשיר אינו תומך בהעברה של DTLs בשקיפות בין נקודות קצה.
האם מניות וולמארט משלמות דיבידנדים Το βρέξιμο ενός σκύλου το δροσίζει?

Related Posts

Νίσα

האם ויניל נשמע טוב על סונוס

Νίσα

Το βινύλιο ακούγεται καλό στο Sonos

Νίσα

Το Epson 4700 Print Cardstock

banner
banner

PROMO

racavedigger.com
© racavedigger.com 2025