היוצר של שפת C++ מתח ביקורת על דוח NSA על שפות תכנות בטוחות

ביארנה שטרוסטרופ

Bjarne Stroustrup מגיב להמלצת NSA וסותר את סיווג C++

Bjarne Stroustrup, היוצר של שפת C++, פרסם התנגדויות לממצאי דו"ח ה-NSA, אשר המליצה לארגונים להתרחק משימוש בשפות תכנות כמו C ו-C++, המעבירות את ניהול הזיכרון למפתח, לטובת שפות כמו C#, Go, Java, Ruby, Rust ו- Swift המספקות ניהול זיכרון באופן אוטומטי או לבצע בדיקות בטיחות זיכרון בזמן ההידור.

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

ה-NSA מייעץ לארגונים לשקול לבצע שינוי אסטרטגי בשפות התכנות שבהן הם משתמשים. מספקים מעט או ללא הגנת זיכרון אינהרנטית, כמו C/C++, לשפה בטוחה בזיכרון
מתי זה אפשרי

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

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

לדוגמה, רוב הנחיות הליבה כבר מיושמות ב-Microsoft Visual Studio Static Analyzer ו-Memory Safe Profile. חלק מההמלצות נלקחות בחשבון גם בנתח סטטי מסודר Clang.

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

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

Bjarne Stroustrup לא מסכים שהפרסום של NSA מגביל את הרעיון של הגנה על תוכנה להגנה על זיכרון. למעשה, היבט זה הוא מכנה משותף לכל הפרסומים המייעצים לדחות את C או C++ לטובת שפת Rust עבור ערבויות האבטחה של התוכנה שמספר חברות גדולות (מיקרוסופט, אמזון וכו') מכירות בה.

"אין הגדרה אחת ל'אבטחה', ואנחנו יכולים להשיג מגוון סוגי אבטחה באמצעות שילוב של סגנונות תכנות, ספריות תמיכה ומינוף ניתוח סטטי", הוא אומר. Bjarne Stroustrup מציע אם כן שמה שניתן להשיג מ-C++ מבחינת אבטחת תוכנה תלוי בין היתר במפתח ובפרט בהכרת הכלים שהשפה מציעה, השליטה שלו במהדר וכו'.

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

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.