מה זה OpenSSL? איך הוא עוזר לשמור על בטיחותך
מהו OpenSSL מאובטח באינטרנט?

Secure Sockets Layer (SSL) הוא פרוטוקול אבטחת אינטרנט. הוא יוצר חיבורים מוצפנים בין מחשבים ברשת, כגון האינטרנט.
פרויקט OpenSSL מתוארך לשנת 1998 כדי לפתח סט חינמי ורב-תכליתי של כלי הצפנה לשימוש מקוון. בין היתר זה כולל גרסאות קוד פתוח של פרוטוקולי SSL ו-TLS כאחד . מכיוון שקוד המקור זמין באופן חופשי, OpenSSL נתמך במספר פלטפורמות כולל לינוקס, macOS ו-Windows.
מה יש בקופסא?
ספריית הליבה (libssl) של OpenSSL כתובה בשפת התכנות C. זה נועד לאפשר למשתמשים לאפשר תמיכה עבור SSL/TLS הן ביישומי לקוח והן ביישומי שרת. זה שימושי עבור אתרי אינטרנט, אפליקציות הודעות ושירותי VPN , כולל VPNs בחינם .
הספרייה מסתמכת במידה רבה על ספריית ההצפנה המקיפה של OpenSSL, libcrypto. זה תומך במספר עצום של אלגוריתמים כולל תקן התעשייה Advanced Encryption Standard ( AES ). ספריית libcrypto תומכת גם באלגוריתמי הצפנה ישנים יותר כמו Blowfish וקמליה.
הספרייה תומכת גם במספר יישומים של קריפטוגרפיה של מפתחות ציבוריים כמו אלגוריתם RSA וחילופי המפתחות דיפי-הלמן. OpenSSL תומך גם בהצפנה עם עקומה אליפטית, המספקת הצפנה בעלת חוזק גבוה אך עם גדלים קטנים יותר מאשר הצפנה סימטרית/אסימטרית רגילה, מה שהופך אותה למהירה הרבה יותר.
שתי ספריות OpenSSL העיקריות מובאות יחד תחת כלי שורת פקודה מקיף. זה מאפשר למשתמשים לבצע פעולות שגרתיות כמו יצירת אישורים, הפקת מפתחות RSA ציבוריים/פרטיים ואפילו הפקת מפתחות על סמך עקומות אליפטיות. זוהי הטבה אמיתית של OpenSSL ביחס לספריות תוכנה אחרות, מכיוון שזה אומר שלא נדרשת תוכנת צד שלישי כדי לעשות בהן שימוש.
הזדמנויות OpenSSL
אין ספק שהעולם הוא מקום טוב יותר עבור OpenSSL, במיוחד בהתחשב בכך שהפרויקט מציע גם את ספריות התוכנה וגם את ערכת הכלים לעשות בהן שימוש.
המשמעות היא שאם מתכנת רוצה ליצור אפליקציה שיכולה לתקשר דרך רשתות בבטחה, הם לא צריכים ליצור גרסה משלהם של SSL או איזה אלגוריתם הצפנה מותאם אישית: הם יכולים פשוט להפנות את התוכנית שלו לספריות של OpenSSL.
זה יכול להציע הרבה שקט נפשי. קידוד יישומים מאפס שיכולים לתקשר בצורה מאובטחת הוא קשה ביותר, ולכן עדיף בהרבה להשתמש בקוד מבוסס. העובדה שקוד המקור של OpenSSL נבדק הן על ידי חברי הפרויקט והן על ידי הקהילה בכללותה פירושה שיש סיכוי גבוה יותר להבחין באגים ולתקן אותם.
הגרסה העדכנית ביותר של OpenSSL (3.0) שוחררה תחת רישיון Apache v2: במונחים פשוטים זה אומר שכל מוצר שנוצר באמצעותה יכול להיות משוחרר מחדש תחת רישיון תוכנה לפי בחירת המפתח. משמעות הדבר היא שניתן להשתמש בה בתוכנה מסחרית ואין חובה לשחרר את קוד המקור המלא של התוכנית כפי שיהיה המקרה עם רישיונות תוכנה אחרים בקוד פתוח כמו הרישיון הציבורי הכללי (GNU GPL).
מכשולי OpenSSL
העובדה ש-OpenSSL נבדקת על ידי מהנדסים מסורים וקהילת התוכנה לא אומרת שהוא מושלם.
זה הומחש בצורה הטובה ביותר בשנת 2014 כאשר התגלה חרק הלבלב.
הידוע רשמית כ-CVE-2014-0160 , Heartbleed היה פגם רציני ביישום OpenSSL שהתגלה על ידי חוקרים ב-Google ו-Codenomicon.
הבאג אפשר לשחקנים גרועים לקרוא מידע שבדרך כלל מוצפן על ידי SSL/TLS. זה משפיע על היישום של OpenSSL של פרוטוקולי האבטחה של שכבת התחבורה (TLS/DTLS) סיומת פעימות הלב (RFC6520), מה שעלול להוביל לדליפת זיכרון בין לקוחות ושרתים.
היו לכך השלכות חמורות מאוד על כל אתרי האינטרנט, תוכניות ההודעות וה-VPN שמשתמשים בספריית OpenSSL כתוקף יכול לעשות זאת מבלי להשאיר עקבות, כלומר הם יכלו לנטר חיבור במשך ימים או שבועות.
מה שמדאיג יותר, תוכנת השרת הנפוצה ביותר היא Apache ו-nginx, המהווה קצת יותר משני שליש מהתוכנות הקיימות באינטרנט כיום. שני סוגי השרתים משתמשים ב-OpenSSL, שלא לדבר על מספר מערכות הפעלה חלופיות שהגיעו עם OpenSSL בחבילה כמו FreeBSD, Debian ואובונטו.
מפתחים בגוגל עזרו לפתח תיקון אבטחה לתיקון הפגיעות וגרסאות חדשות יותר של OpenSSL תוקנו כך שזה כבר לא מהווה איום. עדיין אין דרך לדעת בוודאות כמה שרתים נוצלו לפני תיקון Heartbleed.
בשנת 2015 התגלה באג נוסף ב-OpenSSL שעלול לאפשר לתוקפים לקרוס שרתים באמצעות אישורים שנוצרו על ידי OpenSSL כחלק מהתקפת "מניעת שירות" או DDoS .
לאחר מכן, זה עשוי להפתיע את הקוראים ששרתים עדיין משתמשים ב-OpenSSL, אך עדיין זו עדיין דרך פשוטה מאוד להשתמש בפרוטוקולי SSL/TLS מתקדמים ביישומים. העובדה שקוד המקור היה זמין באופן חופשי היא בדיוק מה שאיפשר לבאגים כמו אלה להיחשף ולתקן כל כך מהר. אילו זה היה קורה בתוכנת קוד סגור קנייני, ייתכן שהבאג לא התגלה, וגם המפתח לא היה בהכרח מפרסם אותו ברבים.
מנכ"ל פרויקט OpenSSL גם ציין שהצוות שלהם די קטן וממומן בחסר, ולכן לא ניתן לצפות שיבצע בדיקות סיכונים חזקות כמו גם ליישם תכונות חדשות. התעשייה גם הגיבה בעידוד מימון נוסף עבור OpenSSL.
OpenSSL בסך הכל
בעקבות באג Heartbleed, פרויקט OpenBSD חילק את פרויקט OpenSSL ליצירת LibreSSL, המדגיש קוד פשטני יותר כמו גם אבטחה משופרת. כעת זוהי ספריית ההצפנה המועדפת של TLS עבור מערכות ההפעלה העיקריות של BSD, Gentoo ו-macOS. גוגל גם יצרה מזלג משלהם של OpenSSL בשם BoringSSL – למרות שזהו קוד פתוח, הוא מיועד בעיקר לשימוש עם פרויקטים משלהם ולכן לא מומלץ לצדדים שלישיים.
OpenSSL נשאר יישום קוד פתוח פופולרי של פרוטוקולי SSL/TLS, במיוחד בהתחשב בכמה קל לכלול אותו במוצרים אחרים כמו Apache ותוכנת שרת nginx.
אם אתה שוקל לבנות אתר אינטרנט או שירות מקוון, אתה עדיין צריך לוודא להשיג אישור SSL עבור השרת שלך מרשות אישורים (CA) תקפה לפני שתעשה כל דבר אחר.