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

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

לפי Stroustrup, השפות המאובטחות המוזכרות בדו"ח NSA אינן עדיפות על C++ ביישומים החשובים מנקודת מבטו. בפרט, ההמלצות הבסיסיות לשימוש ב-C++ (C++ Core Guidelines), שפותחו בשנים האחרונות, מכסות שיטות תכנות בטוחות וקובעות שימוש בכלים המבטיחים עבודה בטוחה עם סוגים ומשאבים. זה משאיר את האפשרות למפתחים שאינם דורשים ערבויות אבטחה מחמירות כל כך להמשיך להשתמש בשיטות פיתוח ישנות.

Stroustrup מאמין שמנתח סטטי טוב העוקב אחר הנחיות הליבה של C++ יכול לספק את הערבויות הדרושות לבטיחות קוד C++ בעלות נמוכה משמעותית מהמעבר לשפות תכנות מאובטחות חדשות. לדוגמה, רוב הנחיות הליבה כבר מיושמות במנתח הסטטי ובפרופיל בטיחות הזיכרון הכלולים ב-Microsoft Visual Studio. כמה המלצות נלקחות בחשבון גם בנתח הסטטי המסודר של Clang.

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

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

מקור: OpenNet.ru

הוספת תגובה