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