- בקרת אבטחת מידע ביישומים ובתוכנות, תהיה יעילה יותר אם יישום הבקרה יתאפיין בתכנון מקדים ומקיף, וכן אם אופן יישומו יהיה מחזורי (אין "זבנג וגמרנו").
- המטרה: להבטיח כי נתוני המידע עומדים בשלוש העקרונות המנחים את התחום – שלמות (Integrity), סודיות (Confidentiality) ו-זמינות (Availability).
- כיום, תוכנות ומערכות הפעלה חשופות לפגיעויות מסיבה פשוטה אחת – אי יישום בקרות אבטחת מידע באופן הולם\נכון\מתאים.
אבטחת מידע בתהליך פיתוח תוכנות (מערכות אפליקטיביות)
במהלך תכנון, אפיון וכתיבה של תוכנה – קרי פיתוחה, יהיה חשוב להגדיר ולכלול סוגיות אבטחת מידע בכל שלבי הפיתוח; אם זה בשלב הכתיבה, בקרת איכות ועד השקת התוכנה.
בתהליך פיתוח התוכנה, יש להבין ולעקוב אחר מטרות אבטחת-המידע – כפי שיש לעשות בעת תכנון אבטחה תשתיתית: סודיות, שלמות וזמינות. כלומר, בתהליך הפיתוח, המטרה תהיה הבטחת שלמות של נתונים ומידע (האם קיימת אפשרות לשינוי הנתונים ע"י גורם כלשהו?), סודיות המידע והנתונים(האם המידע זמין לכל אחד?) , וכמובן, זמינות (האם המידע יהיה זמין בעת הצורך?).
סוגיות אבטחת מידע בעת הפיתוח
בעת פיתוח התוכנה, ישנן כמה סוגיות אבטחת-מידע אליהן צריך לכוון. לרוב, נושא האבטחה מטופל לאחר הפיתוח. כלומר, דרישות אבטחת המידע לא מיושמות, אלא רק בשלבי הפיתוח הסופיים. יש צורך לאסוף את דרישות אבטחת המידע ולהציג אותו לצוות הפיתוח – כחלק משלבי התכנון הראשונים של פיתוח התוכנה. הכללת הדרישות לאחר סיום הפיתוח, היא בד"כ צעד לא יעיל. הכללת סוגיות ובקרי אבטחת המידע לאחר השלמת הפיתוח – תגרור אי-תאימות לבקרות מיושמות או לא נדרשות, ביצועים ירודים, ממשקים מסורבלים וכמובן, עלות פיתוח גבוהה יותר.
חשוב לזכור, לא לכל מפתחי התוכנה נסיון בתחום אבטחת מידע , ולכן גם לא יכולים להבין באופן נכון את ההשלכות שנגרמות לפי אופי כתיבת ופיתוח התוכנה. לעומת זאת, לא כל מומחי האבטחה הם מפתחי תוכנה. לכן, האידיאל הוא לשלב את שתי הקבוצות יחדיו בעת הפיתוח.
למרות שמפתחי התוכנה ומנהלי הפרויקטים מודעים ויודעים להעריך את משך זמן הפיתוח – במקרים רבים ניהול הזמן נעשה באופן שונה ושגוי לעתים. בגלל השוק התחרותי, ובמטרה להשיג הכרה ונתח שוק, חברות וארגונים רבים ממהרים להשיק את התוכנה עוד לפני בידוק אבטחתי מתאים ולפני יישום דרישות אבטחת מידע נאותות.
בקרות אפליקטיביות
- בקרות המתייחסות לקלט, עיבוד ופלט.
- נשענות\מבוססות על סיכונים אפשריים.
כל בקרה שמיושמת – בסיסה הוא ניתוח הסיכונים. יש לדעת מהו אותו סיכון,
מהן ההשפעות שיכולות להיגרם מאותו סיכון, וכמובן, האם כדאי כספית ליישם בקרה שכזו.
בקרות קלט
בקרות הקלט עוסקות באימות ושלמות של המידע. סוג בקרה זה מכיל את הסוגיות הבאות:
- בדיקת טווחים והגבלויות: מבטיחה כי המספר המקסימלי של אוביקטים (תווים, סכום וכו.) – לא יחרוג.
- בדיקות לוגיות: האם הנתונים מאומתים? הרשאות הגישה תקפות?
- בדיקת ספרות ותבניות: קיימות תבניות רבות העושות שימוש בנוסחא מתמטית ע"מ לאמתם – לדוגמא, מספרי כרטיסי-אשראי, מספרי ת.ז וכו.
- בקרות סכום: מחולקות לכמה סוגים;
- ספירת עסקאות: סה"כ העסקאות שבוצעו.
- סכום כספי: סה"כ סכום העסקה (בשקלים, דולרים וכו.).
- יש לוודא כמובן, כי הסכום מתאים למכפלת הכמות והערך (של משהו).
- זיהוי ותיקון שגיאות: בעת שגיאה, יש לזהותה ולתקנה – ולאחר מכן – לרושמה (ב-log).
- שליחה חוזרת לאחר דחייה: עסקאות שנדחו מסיבה כזו או אחרת – מחייבת אימות מעמיק יותר לאחר נסיון\שליחה חוזר\ת.
בקרות פלט
- בקרות הפלט מאפשרות לזהות את אופן הדיוק של שלמות המידע (Integrity). בקטגוריה זו יכללו:
- הסכמה (Reconciliation) – הפעולה שמאשרת כי 2 אובייקטים מתאימים זה לזה.
- נהלי פעולה פיזיים: לדוגמא, מהי האבטחה הפיזית בעת הדפסת מסמכים מסווגים?
- בקרות הרשאה: לדוגמא, מי הסמכות לאישור עסקה כזו או אחרת?
בקרות עיבוד
בקרות העיבוד מבטיחות שנתוני המידע מאומתים, תקפים ומבוצעים – ולבסוף להציג תוצאה מאומתת. בקרות עיבוד בשילוב מנגנוני נתיב-ביקורת (Audit trail) – מאפשרות זיהוי של הונאות עסקיות והתחזויות.