27.5.2015

על הערכת (ניתוח) סיכונים



"סיכון" ע"פ המילון העברי - הינו "חשיפה של אדם, בעל חיים או עצם לפגיעה אפשרית". אני אוהב להגדיר את המילה ביתר פשטות כ-"הסבירות לפגיעה\נזק" . ניהול הסיכונים הוא הטכניקה או המקצוע לדעת להעריך, למזער ולמגר נזקים מקריים בעזרת שימוש באמצעי אבטחה, הגנה, ביטוח וכו' . מכון התקנים האמריקאי – NIST, הגדיר את אותה "טכניקה" כתהליך מתמשך – מעין מסגרת עבודה. ע"פ NIST, תהליך הערכת הסיכונים מתחלק ל-4 שלבים;

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


השלב השני בתהליך הערכת הסיכונים הינו ביצוע ההערכה. המטרה בשלב זה הינה הפקת רשימה מאורגנת של סיכוני אבטחת מידע ע"פ רמת הסיכון. רשימה זו תשמש את מקבלי ההחלטות בדבר הסיכונים האפשריים ו-"מה לעשות לגביהם". הפקת הרשימה הינה תהליך התלוי בניתוח האיומים (Threats), חולשות (Vulnerabilities), השפעות (Impact) והסתברויות (Likelihood). שלב זה יכיל את הפעולות הבאות:
  • זיהוי מקורות איום רלוונטיים לאותו עסק או ארגון.
  • זיהוי אירועים המהווים איום – בהתאם למקורות האיום שזוהו דלעיל.
  • זיהוי החולשות והתנאים אשר יכולות לשמש את אותו מקור איום.
  • קביעת ההסתברות אם וכאשר מקור האיום (שזוהה כבר) או אירוע (ממקור האיום) ינצלו את אותן חולשות ויהוו נזק.
  • קביעת השפעות הנזק לפעילות העסק ולנכסיו, עובדיו ולמדינה אשר הוא ממוקם בה.
  • קביעת סיכוני אבטחת המידע כתלות בניתוח; הווה אומר, פונקציה של הסתברות ניצול החולשה מאותו מקור איום – כתלות בהשפעת ניצול חולשה זו.


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


השלב הרביעי בתהליך הערכת הסיכונים הינו לתחזק את תוצאות ופעילויות הערכת הסיכונים. באופן דיי ברור, המטרה העיקרית בשלב זה הינה לשמר את רמת המוכנות והידע של הארגון כלפי הסיכונים. כאמור, תוצאות הערכת הסיכונים ינחו את ההחלטות הניהוליות ואיתן המענה לאותם סיכונים – ולכן, גם החלטות עתידיות שיש עמן סיכון כזה או אחר (כגון רכישות, הענקת גישות למערכות מידע וכו' ) צריכות לבוא בחשבון. תחזוקה של הערכות סיכונים נעשית בד"כ ע"י ניטור סיכונים; פעולה אשר מעניקה לעסק את היכולת לקבוע יעילות של מענה כלפי סיכון וכן לזהות שינויים אשר ישפיעו על מערכות המידע וסביבתן. בשלב זה יש לקחת בחשבון את הפעולות הבאות:
  • ניטור השפעות סיכון אשר זוהה כחלק מתהליך הערכת הסיכונים, השלכות עתידיות ושינויים נוספים.
  • עדכון מסמכי\רכיבי הערכת הסיכונים אשר ניטורם תלוי בהם.

תרשים זרימת תהליך ההכנה להערכת סיכונים ע"פ NIST

ביצוע הערכת הסיכונים – שתי הגישות


לעסקים, חברות וארגונים קיימת האפשרות לבצע את הערכת הסיכון ע"פ שתי גישות: הגישה הכמותית (Quantitative) או הגישה האיכותית (Qualitative); לעתים קרובות נעשה שימוש גם בגישה היברידית - שילוב של שתי הגישות.

הערכת סיכונים מבוססת איכות


הערכות (או ניתוח) סיכונים איכותיות – מפיקות תוצאות המבוססות על תיאורים כנגד מידה.

ביצוע הערכה בגישה זו רווחת כאשר:
  • מסגרת הזמן לביצוע ההערכה – הינה מוגבלת וקצרה.
  • לעסק או לארגון אין מספיק מידע מנחה שישמש לביצוע ההערכה ולכן, התוצאות, התיאורים וההערכות עצמן – יבוטאו באופן מילולי (למשל, סיכון גבוה, בינוני ונמוך).
  • יישום תוצאות ההערכה הינו קל יותר.
חשוב לציין כי בעת ביצוע הערכה בגישה זו – יש לקחת בחשבון את הדברים הבאים:
  • יש להשיג ולקבל אישור הדרג הניהולי לפני ביצוע ההערכה. תהליך ההערכה נעשה בשת"פ מלא עם הדרג הניהולי.
  • כאשר אישור הדרג הניהולי מתקבל – יש להרכיב צוות המכיל עובדים ממחלקות שונות (בד"כ מ"א, יועצים משפטיים, IT, ובעלי הנכסים).
ע"מ לבצע את ההערכה באופן היעיל ביותר – בעת ליקוט המידע הנחוץ, יש לבקש מסמכים מתאימים (תלוי בהיקף ההערכה, כמובן):
  • נהלים, מדיניות, הנחיות ופרוצדורות לגבי אבטחת המידע בעסק.
  • סקרים והערכות שבוצעו בדבר אבטחת המידע.
  • (אם קיימת) תכנית אסטרטגית לאבטחת המידע.
  • תיעוד טכני: טופולוגיות\דיאגרמות רשת, תצורות (קונפיגורציה) התקנים, פרוצדורות הקשחה, תוצאות מבדקי חדירה וכו' .
  • תכנית המשכיות עסקית, תכנית התאוששות מאסון ומסמכים נלווים.
  • סכמות של מהו מידע מסווג, נהלים והנחיות לגבי השמדת מידע.
  • כל תיעוד אחר הנחוץ לביצוע הערכת הסיכונים.
בנוסף, צוות ההערכה יבצע תשאולים ו\או יכין שאלונים ע"מ לזהות איומים, חולשות ואמצעי הגנה הנוגעים להיקף הסקר. מספיק כי נציג אחד מכל מחלקה בארגון או בעסק – יענה לאותן שאלות. חשוב להיות ענייניים ולהתחשב בהיקף הסקר וכאמור, אין צורך לתשאל כל עובד ועובד – מספיק נציג שיענה על אותן שאלות.

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

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



הערכת סיכונים מבוססת כמות


כאשר ארגון או עסק מודע היטב לכל רבדי המידע אודותיו והמידע שהוא אוסף – ביצוע הערכת הסיכונים "עולה הילוך" וסביר כי אותו עסק יבצע את ההערכה באופן כמותי. גולת הכותרת בהערכה שכזו היא הנבת תוצאות הניתוח – באופן מספרי. הסתברות, תדירות, השפעות, יעילות אמצעי ההגנה ואספקטים נוספים – ניתנים למדידה באופן מספרי-מתמטי. אמנם, לא צריך להיות מתמטיקאי כדי לבצע הערכה מסוג זה, אך הבחנה המכסה את כל האספקטים לסיכון כזה או אחר – דרושה. ביצוע הערכת סיכונים כמותית טהורה – כמעט ואינה אפשרית (אך אפשרית!). זאת משום שקביעת ערך כספי למידע מסוים תלוי לעתים בגורמים חוץ-עסקיים ומכיל כ"כ הרבה פקטורים שקשה מאוד לחשבם. לכן, הערכת סיכונים כמותית נעשית בד"כ בשילוב עם הערכה איכותית.

הערכת סיכונים מבוססת כמות תעניק לסוקר את היכולת לקבוע האם מחיר הנזק הצפוי גבוה או נמוך ממחיר הגנתו. שלושה שלבים נלקחים בחשבון בעת ביצוע הערכת סיכונים מבוססות כמות:
  • קבלת אישור הדרג הניהולי עוד לפני ביצוע ההערכה.
  • ציוות – בניית הצוות שיבצע את ההערכה.
  • תחזוקה – סקירה ועדכון המידע המבסס את הערכה.
אבל מהו מחיר הנזק? איך מעריכים הפסד כזה או אחר? ובכן, קיימת "נוסחה"; יש תחילה לחשב את ה-"צפי להפסד בודד" (SLE). ה-SLE (Single Loss Expectancy) ע"פ הגדרה, מוגדר כהפרש בין הערך המקורי לערך הנוצר לאחר מימוש האיום או החולשה. ביתר קלות, אפשר לחשב את ה-SLE ע"פ הקשר הבא:


כאשר ה-Exposure factor הינו נמדד באחוזים ומהווה את פוטנציאל ההפסד לנכס מסוים.

ה-Asset value, כשמו הוא – מעיד על ערך הנכס (בד"כ בדולרים).

"הפסד" יכול להיות היעדר זמינות של שירות מסוים, גניבה, השחתה ועוד...

לאחר חישוב ה-SLE, העסק או הארגון ירצו לחשב את ה-"הסתברות השנתית למאורע", או ARO. ה-ARO (Annualized Rate of Occurrence) הינה הערכה של תדירות מימוש מוצלח של איום או חולשה.

לבסוף, העסק ירצה לחשב את ה-"צפי להפסד בשנה", או ALE. ה-ALE (Annualized Loss Expectancy) מחושב כמכפלת ה-ARO ב-SLE.


בהינתן ה-SLE, העסק או הארגון יוכל לקבוע את תקציב אמצעי ההגנה לנכסיו. חשוב לציין – אותו תקציב לא יהיה יקר יותר מהערך עליו מגנים (קרי הנכס).



מתודולוגיות הערכת סיכונים


NIST SP 800-3x series


באופן אישי, מתודולוגיות הערכת הסיכונים של NIST הינן החביבות עליי. מתודולוגיות אלו הן מסוג הערכות סיכון איכותיות (Qualitative). הן פותחו ע"י מכון התקנים האמריקאי לשימוש הממשל האמריקאי בפרט ולציבור העולם בכלל. כיום, נעשה בהן שימוש נרחב בסקטורים מפוקחים (רגולטורים) כגון הסקטור הבריאותי והפיננסי. מתודולוגיה נפוצה הינה 800-30 המכוונת לניהול סיכונים במערכות מידע. 800-39 מכוונת לניהול סיכונים ארגוני.



FRAP


ה-FRAP או The Facilitated Risk Analysis Process, הינה מתודולוגיה העושה שימוש בהנחה ש-"הערכת סיכונים באופן המצומצם ביותר – הינה היעילה ביותר". היא מכוונת למערכות, תוכנות, תהליכים וסקטורים עסקיים. ע"פ מתודולוגיה זו, הערכת הסיכון שמה לה למטרה מספר בודד של סובייקטים (מערכות, תהליכים וכו') ומתמקדת בסובייקטים "שבאמת" צריכים את אותו ניתוח סיכונים. התהליך עצמו דורש תקציב דל ויכול להיעשות ע"י כל יועץ או בעל כישורים ניהוליים.

מטריצת סיכונים ע"פ גישת FRAP. התמונה באדיבות pivotpointconsulting.com



SOMAP


ה-SOMAP או The Security Officers Management and Analysis Project הינו ארגון שוויצרי ללא מטרות רווח ומבורך אשר שם לו למטרה ניהול ותחזוקה של אבטחת מידע בעזרת כלים ותיעודיות חינמיים מבוססי רישיון GNU. הארגון יצר מעין חוברת הנחיות וכלים העוזרים להבין את מהות והפרקטיקה של ניהול הסיכונים. בחוברת שלהם, מוצגות שתי השיטות לביצוע הערכת סיכון (כמותית ואיכותית) ומסבירה את חשיבות בחירת המתודולוגיה בהתאם למטרות הארגון. הכלים, החוברת והמדריכים הינם זמינים באתר שלהם: http://www.somap.org .

תהליך הערכת סיכונים ע"פ SOMAP


CRAMM


"הסוכנות הבריטית למחשבים ולטלקומוניקציה" פיתחה שיטה לסקירת היבטי אבטחת מידע במשרדי ממשלתה. ה-CRAMM או CCTA Risk Analysis and Management Method הינה מתודולוגיה תלת-שלבית ששימשה לקביעת תאימות (הסמכה) לתקן BS7799 (התקן הבריטי לניהול מערכות אבטחת מידע – שלימים היווה בסיס לתקן הבינלאומי ISO 27001). כאמור, המתודולוגיה מורכבת מ-3 שלבים ונעזרת בשאלונים והנחיות ע"מ לכסות היבטי אבטחה בפן הטכני (מערכות IT, תוכנות וכו') ובפן הלא-טכני (עובדים, גישות פיזיות וכו'). שלוש השלבים הינם:
  • זיהוי וקביעת ערך לנכסים.
  • זיהוי איומים וחולשות, חישוב הסיכונים.
  • זיהוי והגדרת אמצעי הגנה – וסדר עדיפותם.

חישוב רמת\דרגת הסיכון


סיכון נקבע ומחושב כמכפלת ההסתברות ורמת ההשפעה. כלומר, אם הסתברות מימוש האיום הינה 1 (גבוהה) והשפעת הנזק הינה 100 (גבוהה) – אזי רמת הסיכון תהיה 100. לכן, הערך 100 יהיה הדירוג הגבוה ביותר לרמת הסיכון.


ובאופן טיפה יותר פורמלי – בהינתן מערך של i∈ℕ | i > 0 סיכונים, I השפעה (המבוטאת כנזק או הפסד כספי) וההסתברות כפונקציה של אותה ההשפעה – חישוב הסיכון יהיה:

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


הסתברות (או היתכנות) (L) השפעה (רמת הנזק\ההפסד הכספי) (I)
(1) גבוהה ביותר (100) הרת אסון – נזק המונע פעילות עסקית לטווח ארוך
(0.5) בינונית - לעתים (50) גבוהה – נזק הגורר הפסד כספי מעל X ₪
(0.1) נמוכה – היתכנות "נדירה" (10) נמוכה – נזק הגורר הפסד כספי שלא עולה על Y ₪


כיוון שעסקינן ב-3 רמות של היתכנות והשפעה, המטריצה תהיה ריבועית ובגודל 3×3 .


17.5.2015

על מנעולים, מפתחות ובקרות גישה מכניות.

כחלק מאבטחת מידע פיזית, סביבתית - מנעולים הינם בקרות גישה מכניות ועתיקות יומין המשמשות את האנושות כבר למעלה מ-2,500 שנים ע"מ להעניק חוסן לדלתות, שערים ותיבות כך שרק באמצעות מפתח מתאים (או באמצעות שילוב תווים ומספרים) – יהיה ניתן להפעילם (פתיחה, סגירה וכו'). עוד בימי התנ"ך, עת תיקון שערי ירושלים, הוזכרו מנעולים: "וְאֵת שַׁעַר הַדָּגִים, בָּנוּ בְּנֵי הַסְּנָאָה; הֵמָּה קֵרוּהוּ--וַיַּעֲמִידוּ דַּלְתֹתָיו, מַנְעוּלָיו וּבְרִיחָיו." (ספר נחמיה. פרק ג', פסוק ג'.).

גם היום, מנעולים משמשים כבקרת כניסה – מכנית וזולה. הם נחשבים כ-מֵעֲקֵבִים עיקריים כנגד חדירות לבתים, התקנים ומתקנים.
היום, ככל שייקח זמן לפצח או לפרוץ מנעול (וכאשר ניסיון החדירה התגלה, כמובן), הסיכוי שאוכף החוק (משטרה או שומר, לדוגמא) יצליח להגיע לאירוע בזמן – גדל. רוב הדלתות כיום מצוידות במנעולים, אך כאמור, יש צורך תמידי במפתחות – אלו נאבדות או משוכפלות בקלות.
אם חברות או ארגונים נשענים רק על בקרת מנעול-מפתח, כל אדם בעל מפתח מתאים, יהיה רשאי להיכנס לאזורים "מוגנים" באין מפריע – ללא גילויו. אמנם, כדאי להשתמש במנעולים כחלק מסְכֵמָת ההגנה, אך לא כדאי להישען עליהם כבקרת גישה יחידה.

הפונקציונליות של המנעולים מגוונת; קוֹפָלאות (Padlocks, מנעול בעברית-ארמית) משמשים בד"כ גדרות. מנעולים מובְנים משמשים דלתות, ומנעולים מקודדים (הנפתחים ע"י שילוב תווים, מספרים  או כיוונים המוגדרים מראש) משמשים כספות, ארונות ודלתות נוספות. מנעולים מאופיינים בכל סוג, צורה וגודל. לכן, חשוב מאוד להשתמש בסוג המתאים ביותר שיעניק את רמת הבטיחות הרצויה.
למען האמת, בעיני פורץ מיומן – מנעול נחשב כפאזל קטן שהוא צריך לפתור, ואינו מהווה גורם מרתיע. כלומר, מנעול הינו אתגר פשוט עבורו, ובד"כ לא משהו שימנע ממנו לבצע את פעולותיו הזדוניות. לכן, יש צורך להקשיח אתגר זה ע"י חוזק, מורכבות ואיכות (חומר ומנגנון) המנעול.

מנעולים מכניים

המנעול המכני מתחלק לשני סוגים עיקריים: מנעול פשוט (Warded lock, לנו הוא ידוע יותר כמנעול בריח) ומנעול צילינדר (Tumbler lock). מנעול פשוט, כשמו הוא, הינו מנעול נפוץ מאוד ונחשב הפשוט ביותר כיום; הוא בנוי מחומר קשיח המכיל קפיץ בודד כמנגנון לפתיחה\נעילה ובתוכו חריצים מובנים. ע"מ לפתוח מנעול שכזה, המפתח בסה"כ צריך להיות תואם לאותם חריצים ואז מסוגל לשנות את הקפיץ ממצב למצב (מפתוח לסגור, ולהיפך). מנעולים אלה הם הזולים ביותר, סיבה עיקרית הינה חוסר התחכום המאופיינת להם – ולכן, הם גם הקלים ביותר לפריצה.

מנעול צילינדר מורכב יותר מהמנעול הפשוט. הוא בנוי צילינדר(במנעולים, צורה גיאומטרית גלילית וקשיחה, בעלת פאות מקבילות הנשענות על בסיס מעגלי או אליפטי) המורכב מפינים, קפיצים ותמסורות ברזל מכניות. כדי לפתוח מנעול מסוג זה, יש צורך במפתח שיתאים לצילינדר – כזה שירים את הפינים (ע"י התמסורות) לגובה מתאים כדי לשחרר את מנגנון הנעילה הפנימי. יש מנעולים בעלי מנגנון נעילה הניתן להסרה\החלפה (משתמשים במנעולים אלה כאשר מעוניינים לפתוח כמה מנעולים שונים – בעזרת מפתח אחד.). גם פה, קיימים כמה סוגים של מנעולי צילינדר; מנעול פינים, המנעול הנפוץ ביותר כיום. עובד על העיקרון שהצגתי דלעיל. מנעול דיסקית, המאופיין בצורתו העגולה (אלה שתראו בד"כ מורכבות במגירות וארונות) ועובד על אותו עקרון של מנעול צילינדר – רק שבמקום שימוש במפתח טיפוסי, משתמשים במפתח הבנוי כדיסק שטוח.
מנעול צירופים (קומבינציה), באופן ברור, דורש מְצַרֶפֶת (שילוב) מדויקת של מספרים ע"מ לפתחו. מנעול זה מורכב מגלגלים פנימיים הצריכים להתיישר בצורה מתאימה ע"מ שאלו ישחררו את הנעילה. אופן פעילות המנגנון היא כאופן פתיחת כספות (אלו שאתם רואים בסרטים) – יש לסובב בעזרת גלגלת (ידית מכנית) את פני המנעול ימינה ושמאלה כדי ליישר את הגלגלים הפנימיים. כאשר כל הגלגלים מיושרים – ניתן לפתחו. ככל שיהיו יותר גלגלים במנעול – כך ההגנה תהיה "חזקה" יותר. כיום, קיימים מנעולי קומבינציה חשמליים – אלה לא עושים שימוש בגלגלת חיצונית אלא ע"י לוח מקשים המאפשרים לאדם להקיש את המְצַרֶפֶת הנכונה מאשר לסובב באופן נכון את ידית המנעול.



מנעול פינים. אנטומיה פנימית


מנעול פשוט. האיור באדיבות וויקיפדיה

מנעול מקודד (Programmable locks), ידוע גם כ-Cipher lock, לא עושה שימוש במפתח, אלא בלוח מקשים. הוא נפוץ מאוד כבקרת כניסה למפעלים ומתקנים שונים. גם פה, המנעול דורש קומבינציה נכונה של מספרים או תווים ולעתים קרובות – גם העברת כרטיס. מנעולים מקודדים יקרים יותר ממנעולי הקומבינציה הפשוטים – אך בשונה מהפשוטים, אלה מאפשרים שינוי של המְצַרֶפֶת (הקומבינציה), יצירת קומבינציות נוספות ונעילה אוטומטית (בשילוב התראה\אזעקה) לאחר מספר מוגדר של ניסיונות (אלה ניתנים לפתיחה ע"י קומבינציה נוספת – המשחררת את הנעילה האוטומטית והאזעקה). אי לכך, בהשוואה למנעולים המסורתיים – אלה מעניקים רמה גבוהה יותר של הגנה ובקרת כניסה.
מנעול מקודד טיפוסי. התמונה באדיבות המון אתרים ב"גוגל תמונות".

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

מנעול מקודד וחכם - מכיל פונקציות שימושיות נוספות

מנעולי התקן (Device Locks)

כיום, אנחנו עדים לתופעה מדאיגה בה ציוד, חומרה והתקנים שונים "נעלמים להם". לכן, פותחו סוגי מנעולים המיועדים להתמודד עם תופעה זו. מנעולים אלו מסוגלים להגן מפני גניבה על מגוון רב של ציוד – החל מכבלים ועד חומרות מחשב. אציג כמה ממנעולי ההתקן הנפוצים כיום:
  • בקרי פורט (Port controls) המונעים חיבור של דיסק קשיח או התקנים המשתמשים ביציאות מקביליות או טוריות.
  • בקרי מתג (Switch controls) הינם מנעולים המגנים על מתגי ההפעלה\כיבוי.
  • מנעולי חריץ\הרחבה (Slot locks) הינם מנעולים נפוצים בעיקר במחשבים ניידים. נועדו לקבע את המחשב\המערכת לתחנת עגינה בעזרת כבל פלדה.
  • כבלי מלכודת (Cable traps) מונעים שליפה של התקני מחשב (כגון מסכים, מקלדות וכו') ע"י העברת כבליהם דרך מנעול מעוגן.


מלמעלה: מנעול חריץ, בקר מתגים ובקר פורט

דירוג חוזק הנעילה

מכון התקנים האמריקאי (ANSI) קבע שלוש דרגות בסיסיות לחוזק הנעילה במנעול (כאשר הדרגה הנמוכה יותר מציינת רמת בטיחות גבוהה יותר):
  • דרגה 1 : רמת הבטיחות הגבוהה ביותר. מנעולים המשמשים בעיקר את הסקטור התעשייתי והמסחרי.
  • דרגה 2 : רמת בטיחות גבוהה. מנעולי מגורים מוגנים ומבני מסחר קטנים.
  • דרגה 3 : רמת בטיחות בסיסית. מנעולים "רגילים" – אלו המשמשים בעיקר להגנת בתינו.
בנוסף, קיימות שלוש קטגוריות המחלקות את סוג הצילינדרים בתוך המנעולים:
  • בטיחות גבוהה : מנגנון הקיים רק בדרגה 1 ו-2; מבטיח הגנה מפני פריצות העושות שימוש בטכניקות רבות ומגוונות (כגון קדיחה ו\או שבירה של המנעול)
  • בטיחות סבירה : מנגנון הגנה כנגד פריצות "קלאסיות" (כגון ווי פתיחה וכו' ). נכנס בד"כ לדרגה 3.
  • בטיחות נמוכה : לא קיים מנגנון הגנה כנגד פריצה או שבירה של המנעול.

אחריות ניהולית

אמנם, זוהי אחריות החברה לבחור את סוג המנעולים המתאים ביותר לצרכיה, אך לא פחות חשוב הוא הצורך בתחזוקה נכונה ויצירת נהלים ברורים בנושא.  הנהלים צריכים להכיל באופן מפורט כיצד יש לשמר את המפתחות, להקצתם ולהשמידם בהתאם לצורך, וכמובן – מה עושים כאשר מפתח נאבד. מומלץ לבחור אדם יחיד (שבד"כ הינו חלק ממנהלי התחזוקה\המבנה) שיהיה אחראי על שמירה ותחזוקת המפתחות.
כידוע, רוב הארגונים מחזיקים גם במפתחות מאסטר או חצי-מאסטר. מפתח מאסטר, כשמו הוא, מסוגל לפתוח את כל מנעולי המבנה. מפתח "חצי מאסטר" הינו מפתח המתאים למחלקה או לקבוצת מנעולים מוגדרת. מטרתם היא אחת – להבטיח ביטחון אישי לעובדי הארגון בעת מצבי חירום. מפתחות מסוג זה בד"כ ניתנות ומועברות לשומר או הפקיד המנטר את כניסות המשרדים והמתקנים. בהתאם לזאת, כיוון שמפתחות מסוג זה הם "בעלי עוצמה" – יש להבטיח כי הם מוגנים היטב ולא חשופים לכל. בנוסף, יש צורך להגדיר בנהלי האבטחה אילו דלתות (או אזורים\מחלקות) צריכות להיות נעולות.
מומחה אבטחה צריך לדעת מהם סוגי המנעולים היעילים ביותר לסיטואציה מסוימת וכמובן, איך מנעולים אלה ניתנים לפריצה.

פריצה(או יותר נכון - עקיפה) של מנעולים

תחילה, אציין כי קיים חומר רב אודות הנושא ברחבי האינטרנט. הרשו לי להבהיר כי בפוסט זה לא אלמד כיצד לפרוץ למנעולים, זוהי לא מטרת הבלוג. אנסה להציג בקצרה את התיאוריה המנחה פעולות מסוג זה;
לכל סוג של מנעול – טכניקה וכלים שונים לפריצתו. הכלי הנפוץ ביותר הוא מפתח L (מפתח מסוג אלן) והוא בד"כ מגיע כחלק מערכה המורכבת מגדלים וסוגים שונים של ווי פתיחה. מפתח L כשמו הוא, בעל צורה של האות L, ומשמש להפעלת לחץ על מנגנון הצילינדר הפנימי של המנעול. ווי הפתיחה הם לוחות מתכת צרות המגיעות בצורות ובגדלים שונים ותפקידם "להזיז" את הפינים (אחד בכל פעם) למקומם הנכון. הפורץ משתמש ב-ווי הפתיחה כדי להזיז כל pin למקום נכון – ואז משתמש במפתח L כדי "להחזיק" את מיקום ה-pin ועובר ל-pin הבא – עד שכל הפינים במקומם. לאחר מכן, הוא משתמש שוב במפתח L כמעין ידית שתזיז את הצילינדר למצב פתיחה.
טכניקה נוספת ולעתים יותר מהירה, היא הגריפה – זו עושה שימוש באותם הכלים דלעיל. בפעולת הגריפה, הפורץ מכניס ווי פתיחה עד סוף המנעול – ובמהירות שולף אותם בעוד הוא מפעיל לחץ כלפי מעלה. התזוזה "תפיל" את רוב הפינים למקומם הנכון. גם בטכניקה זו, מפתח L משמש כדי "להחזיק" את הפינים הנכונים במקומם בעוד הפורץ מנסה ווי פתיחה קטנים יותר – עד פתיחת המנעול.
טכניקה אחרת ופשוטה הרבה יותר היא באמצעות מפתח חתחת (Bump key). זהו מפתח המפעיל לחץ על הפינים כדי שאלו יסתדרו במקומם הנכון. חשוב לציין כי ככל שסוג החומר ממנו עשוי המנעול חזק יותר – כך הסיכויים לצליחת הפריצה נמוכה יותר.


סט כלים טיפוסי לפריצת מנעולים
מפתח חתחת (Bumper key)






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

שיטות הגנה על אזור מוגבל


בד"כ, בקרות הגנה אזוריות מיושמות ע"מ להעניק את השירותים הבאים:

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

השירותים מתחלקים לכמה סוגי בקרות:
  • בקרות כניסה – מפתחות ומנעולים מכל הסוגים.
  • מחסומים פיזיים – שערים, גדרות, דלתות, קירות, חלונות וכו' .
  • זיהוי חדירות – נורות התרעה, אזעקה, חיישנים.
  • בקרות שׁוּמָה – מצלמות במעגל סגור, שומרים.
  • בקרות מענה – שירותי אכיפת החוק, שומרים, כלבים.
  • גורמי הרתעה – שילוט, תכנון סביבתי, תאורה, כלבים.

 

גידור

הגדר מהווה כקו הגנה ראשוני. גידור מתוכנן יכול להוות כמחסום פיזי יעיל מאוד. אע"פ שרבים חושבים כי גדר הינה ורק גורם מעקב לפריצה, היא מהווה גם גורם הרתעה פסיכולוגי – זאת ש"משדרת" כי המבנה הנ"ל לוקח ברצינות רבה את אופן הגנתו.  בנוסף, הגידור מעניק אמצעי בקרה לכניסה מבוקרת באזורים הומי אדם. חרף זאת, גידור יכול להיות סיפור יקר מאוד ו... לא אסתטי. המון חברות שותלות שיחים ועצים מול הגדר – מהסיבה האסתטית וכניסיון להסתיר את מבנה החברה. זוהי פעולה מוצדקת אך לעתים קרובות גם מסוכנת; הצמחייה לאורך הזמן מזיקה לגדר, ולעתים קרובות פוגעת בשלמותה ומאבדת את המאפיין המרתיע של הגדר. גדר המתוחזקת היטב, ללא "חורים" (ומומלץ - בעלת קצוות תיל) משדרת לפורץ – "תיזהר!".
ישנן מערכות גידור שמזהה ניסיונות חדירה – אלה נקראים PIDS Perimeter Intrusion Detection System. אלה גדרות המכילות חיישנים בבסיס הגדר ובגדר עצמה. החיישנים מבוססי רעידות ולרוב מפיקות המון אזעקות שווא. יש להתחשב בזה.

גדר מסוג PIDS. התמונה באדיבות zaun.co.uk

תאורה

תאורה הינה מובנת מאליה. כל עוד היא קיימת – סביר כי לא תבחינו במאפייניה. ידוע כי באזורים חשוכים ובאזורים בהם התאורה מעומעמת – הסיכוי לפעילות עבריינית באותו האזור – גובר. אם זה מגרשי חניה, פארקים וכו' – החושך פשוט "קורא" לעבריינים.
מומחה אבטחת מידע צריך להבין מהי ההארה, האילומינציה הדרושה לאזור מסוים, ולהבטיח כי אין אזורים "מתים" – לא מוארים. במערך תאורה – יש לוודא כי כל מקור אור יאיר ויכסה אזור המוגדר מראש. גודל כיסוי התאורה תלוי באילומינציה(חוזק ההארה) – וזה בד"כ תלוי בהספק הנורה – ככל שהספק הנורה גבוה יותר – כך ההארה.
אם חברה או ארגון אינם מיישמים כראוי את מערך התאורה שלהם, ולא מבטיחים כיסוי הולם לכל אזורי נכסיה -  הסיכוי לפעילות עבריינית, תאונות ותביעות משפטיות – גובר. 
תאורה חיצונית בד"כ דורשת אילומינציה נמוכה מזאת הפנימית, אבל לעתים יש שיקולים מנחים אחרים – אמצעי מעקב (מצלמות וכו') ובקרות כניסה הם דוגמאות בולטות לבחירה מוקפדת של חוזק ההארה. חיישנים רבים עושים שימוש בניגודיות תמונה – המפרידה בין הפורץ לרקע, ויש להתחשב בחוזק ההארה ע"מ שאלו יפעלו כראוי. בנוסף, אם שטח מסוים הינו "נקי" ומסומן בצבעים מחזירי אור הפרושים כתבנית – אין צורך באילומינציה חזקה (משום הקונטרסט, הניגודיות הברורה הנוצרת בין המשטח לאובייקט).

מערכות לזיהוי חדירה

בדומה ל-IDS ה"לוגי" שאנחנו מכירים ברשתות ובמחשבים, קיים IDS Intrusion Detection Systems "פיזי" המשמש כאמצעי ניטור לכל דבר. בעוד שמצלמות וטכניקות מעקב אחרות מזהות  פעילויות "לא רגילות", ה-IDS משמש לתיעוד וניטור שינויים בסביבה. ה-IDS נועד לזהות כניסות לא מאושרות ולדווחם לישות אחראית כדי שזו תפעל למגר את החדירה. מערכות אלו מנטרות כניסות (חלונות, דלתות וכו') והסרת ציוד (או כיסוי) לא מורשות. רוב ה-IDS פועלים בעזרת מגעים מגנטיים או חיישני וויברציה הרגישים לשינויי הסביבה.  כאשר שינוי כזה מתגלה – המערכת מפעילה אזעקה הן במקום והן בגוף האוכף (חברת שמירה, משטרה וכו').
ה-IDS משמש לזהות שינויים סביבתיים בכמה שיטות:
אלקטרומגנטיות
  • מעגלים חשמליים – שיטה עתיקה העושה שימוש בשינוי מעגל חשמלי. המעגל החשמלי בד"כ מיושם בחלונות ע"י התקנת רצועות מתכת (או נייר כסף) בסביבת החלון (ולעתים מוטמעת בזכוכית החלון). כאשר החלון נפתח או נשבר – רצועת המתכת נופלת ומפעילה את האזעקה.
  • תזוזות (ויברציות) – שיטה כשמה היא, מזהה תזוזות. המערכת מותקנת ככבלי מתכת בתוך קירות\רצפות המבנה ולכן מאפשרת לזהות תנועות ברצפות ו\או בקירות.
  • מגעים מגנטיים \ חשמליים – שיטה נפוצה מאוד ומיושמת בדלתות, חלונות ושטיחים. כאשר המגעים מתנתקים כתוצאה מפתיחת חלון או דלת – אזעקה תשמע. ישנם "שטיחים" העושים שימוש במאפיין זה כך שכאשר דורכים עליהם – תשמע אזעקה או תשודר התרעה. "שטיחים" מסוג זה ימצאו באזורים אינם מורשים (לפי שעה או זמנים מוגדרים).
פוטואלקטריות
  • גלאים פוטואלקטריים – חיישנים אלו מזהים שינוי באלומות אור (קרן אור) ומשמשים בעיקר בחדרים ללא חלונות. בדומה לחיישני עשן, אם מתרחש הפרעה או שינוי באלומת אור מוגדרת – המערכת תתריע.
  • גלאים אקוסטיים  - חיישנים אלו משתמשים במיקרופונים המותקנים בתוך הקירות, תקרות והרצפות ומטרתם לזהות ולהתריע מפני חדירות אגרסיביות – הנעשות בכוח. הם לא מתאימים למבנים הנמצאים באזורים הומי תנועה.

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

התקני הקלטה וויזואלית

כחלק ממערך אמצעי ההגנה למבנה או לאזור, לא דיי באמצעי התרעה והרתעה כגון שומרים וגדרות; יש לשלב בין כל סוגי הבקרות ע"מ להעניק יכולת וטווח הגנה מרביים. בין בקרות השׁוּמָה שהצגתי דלעיל, קיימת בקרה נפוצה מאוד והיא טלוויזיות(או מצלמות) במעגל סגור (CCTV). בקרה זו משמשת כאמצעי לניטור פעילויות ברוב הארגונים והחברות. לפני שאתם רוכשים ומיישמים CCTV, כדאי שתתחשבו בדברים הבאים:
  • מטרה – מהי מטרת ה-CCTV? לזהות, להתריע או לחשוף את הפורץ – או כולן יחד?
  • סביבת ה-CCTV – איפה יושמו המצלמות? מחוץ למבנה או בתוכו?
  • מרחב הראייה הדרוש – מהו המרחב הדרוש לכם? האם הוא מכסה אזור שלם או חלק ממנו?
  • האילומינציה (חוזק ההארה) בסביבה – האם סביבת פעילות המצלמות מוארת? מעומעמת, או בכלל חשוכה? ובנוסף, איך קרני השמש ישפיעו על איכות ושלמות הראייה?
  • אינטגרציה עם בקרות אבטחה נוספות – אם החברה מיישמת אמצעים נוספים לזיהוי חדירות כגון IDS – האם קיים אפשרות לשלבן?
הצגתי את השאלות הנ"ל כיוון שקיימים המון סוגי מצלמות, עדשות ומסכי מעקב המשנים בד"כ את מאפייני מערכת ה-CCTV. חשוב שתדעו מה אתם באמת צריכים לפני הרכישה.
ה-CCTV , ע"פ הגדרה, מורכב מ-מצלמות, מקלט (רסיבר), שדר (טרנסמיטר), מערכת הקלטה ומסך. המצלמה "לוכדת" את הנתונים ומשדרת למקלט – וזה מעביר הנתונים למערכת ההקלטה שממירה את הנתונים שנלכדו לצפייה במסך. לרוב, נתוני המצלמה מועברים ע"י כבלים קואקסיאליים בתוך רשת (נתונים) פנימית ולא ציבורית – וזה מה שמגדיר את שמה – "במעגל סגור". כיום, נתוני התמונות הנשמרים במערכת ההקלטה – הינם דיגיטליים. בד"כ הם נשמרים בדחיסות יעילה (פורמט תמונה) על גבי דיסק קשיח – מה שמאפשר שיטות חיפוש מתקדמות לתמונות ו\או תכנים מסוימים.

טופולגית CCTV עם אפשרות גישה מרחוק (אינטרנט)


לרוב מערכות ה-CCTV כיום קיימים "צ'יפים" רגישים לאור – הם נקראים CCD – Charged-Coupled Device. ה-CCD הינו מעגל חשמלי לכל דבר; הוא מקבל מעדשת המצלמה חלקיקי אור (פוטונים) כ-קלט וממיר אותם לאותות חשמליים כ-פלט (אשר מוצגים על המסך) . בעזרת נתונים אלה, מתאפשרת הצגה אלקטרונית של תמונה אופטית, ושילוב של כל הנתונים שנאספו - יעניקו פוקוס ותמונה ברורה ואיכותית יותר על אובייקט מסוים. 

12.5.2015

פרוטוקולי רשת - שירותיהם וסכנותיהם.

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

Simple Network Management Protocol - SNMP

SNMP פורסם לראשונה בשנת 1988 כמענה לדרישה הגוברת לניהול התקני רשת. חברות וארגונים עושים שימוש נרחב במוצרים המבוססים על הפרוטוקול ע"מ לבחון את מצב הרשת שלהם, תעבורת הנתונים וניטור המחשבים המחוברים לרשת. בד"כ המוצרים הנ"ל משתמשים בממשק גרפי (GUI). לכן, רוב אנשי המקצוע אינם מבינים כיצד הפרוטוקול פועל ולמה הוא כ"כ חשוב. ובכן, הפרוטוקול חשוב להבנה משום המידע הרב שהוא יכול להעניק לתוקפים – וכמומחי אבטחת מידע, יש לדעת מהי כמות המידע הזמין לתוקפיכם, ויותר חשוב – מהו אותו מידע, כיצד התוקף יכול לגשת אליו ואיך הוא יכול להשתמש בו כנגדכם.

שני רכיבים עיקריים ל-SNMP; "סוכן" (Agent) ו-"מנהל" (Manager). רכיב ה-Manager הינו החלק "השרתי" של הפרוטוקול – הוא מלקט מידע אודות מצב ההתקנים ברשת, ובנוסף, מקבל הודעות מרכיב ה-Agent ומהווה בעצם אזור ריכוזי המאחסן מידע אודות הרשת. רכיב ה-Agent הינו תוכנה קטנה – אשר מצויה בהתקני הרשת, ובד"כ מוטמעת במערכת ההפעלה. ל-Agent רשימה מסודרת אודות האובייקטים עמם הוא עובד. רשימה זו מיושמת במבנה הדומה לבסיס נתונים הנקרא Management Information Base או בקצרה – MIB. ה-MIB מחלק (בצורה לוגית) את האובייקטים לקבוצות. האובייקטים מכילים נתונים נחוצים המשמשים לניהול הרשת ובדיקת מצב ההתקנים בה. הווה אומר, כאשר רכיב ה-Manager מזהה התקן (או Agent, לצורך העניין), אותו התקן "מושך" נתונים מה-MIB ומעביר אותו ל-Manager. בד"כ רכיב ה-Manager יהיה מצוי במחשב מרכזי המבקר את פעילות הרשת וההתקנים המחוברים אליה.

אם על אבטחת מידע עסקינן, יהיה נחוץ להגביל אילו Managers מורשים לבקש מידע מה-Agents – לכן, פותח מנגנון אבטחה הנקרא Communities המעניק קישור מהימן בין Agent-ים ספציפיים ל-Manager. מנגנון זה מאופיין בבקרת גישה הנקראת Community String – מעין סיסמה המשמשת את ה-Manager בעת בקשות ל-Agent, ולה שתי רמות גישה: קריאה-בלבד ו-קריאה-כתיבה. Community string מסוג קריאה-בלבד מאפשרת ל-Manager לקרוא מידע ב-MIB של ההתקן, ו-Community string מסוג קריאה-כתיבה מאפשר ל-Manager לקרוא ולשנות מידע ב-MIB של ההתקן.
אם התוקף מצליח לגלות ה-Community string מסוג קריאה-כתיבה, הוא יכול בקלות לשנות ערכים ב-MIB ולכן גם לשנות הגדרות של אותו התקן. אבל כאמור, רוב אנשי המקצוע אינם מודעים לאופן פעילות הפרוטוקול ולכן משאירים את אותן סיסמאות בברירת המחדל שלהם – אותן אפשר למצוא בקלות באינטרנט ע"פ היצרן. בנוסף, רבים מאפשרים (או יותר נכון - לא מונעים) גישה לפרוטוקול (פורטים 161 ו-162) מרחוק – באמצעות האינטרנט. אם כך, התוקף מתחבר דרך פורט 161 ומוצא נתונים מעניינים ב-MIB של האובייקטים כגון:
  • שמות המשתמשים
    • .server.svUserTable.svUserEntry.svUserName.
  • שמות ההתקנים המשותפים
    • server.svShareTable.svShareEntry.svShareName.
  • הערות אודות ההתקנים המשותפים
    • server.svShareTable.svShareEntry.svShareComment.
  • מיקום (לוגי) ההתקנים
    • server.svShareTable.svShareEntry.svSharePath.
  • שירותי רשת פועלים
    • server.svSvcTable.svSvcEntry.svSvcName.
מידע שכזה מאפשר לתוקף למפות את כל הרשת, ולכן לבחור בקפידה נקודות חולשה ידועות – מה שסביר שיגרור התקפה מוצלחת.

ע"מ להגן רשתות מסוג זה של התקפות (מיפוי הרשת ושינוי הגדרות התקנים דרך פרוטוקול ה-SNMP), יש תחילה לשנות את ה-Community string מברירת המחדל שלו, ולהגדיר סיסמא חזקה (אינה מכילה מילה שלמה, לפחות 8 תווים ולא מכילה שם משתמש או את שם החברה\ארגון...). בנוסף, יש להגביל גישה של רשתות לא מהימנות (כגון האינטרנט) לפורטים 161 ו-162 (פורטים ידועים של ה-SNMP). אם אין אפשרות להגביל גישה של רשתות לא מהימנות – הגדירו את הנתב (או את חומת האש) לאפשר תעבורה רק דרך פרוטוקול UDP.

Dynamic Host Configuration Protocol - DHCP

קיימות מספר דרכים להקצות כתובת IP למחשבים בעת הפעלתם – אם הכתובת היא סטטית (קבועה), אין שום פעולה שצריכה להיעשות – כבר קיימות ההגדרות הנדרשות לביצוע תקשורת ברשת. אם הכתובת איננה סטטית – היא תלויה בשרת ה-DHCP (שמצוי בכל נתב) ע"מ להקצות כתובת IP והגדרות מתאימות לתקשורת ברשת.

DHCP הוא פרוטוקול מבוסס UDP, המאפשר לשרתים להקצות כתובות רשת והגדרות מתאימות למחשבי הרשת. איך הוא עובד?
תחילה, המחשב (Client) שולח הודעת DHCPDISCOVER למחשבי הרשת ע"מ לזהות את שרת ה-DHCP. כאשר שרת ה-DHCP מקבל הודעה זו – הוא עונה בהודעת DHCPOFFER – בו הוא "מציע" למחשב המיועד כתובת IP. כאשר המחשב המיועד מקבל את ההודעה – הוא עונה לשרת באמצעות הודעת DHCPREQUEST, המאשר לשרת את קבלת ההגדרות. השרת כעת מחזיר הודעת "אישור" DHCPACK המכילה את תוקף זמן ההקצאה.

גם פה, הן השרת והן המחשב חשופים להתקפות מסוג התחזות. התוקף יכול ליצור שרת DHCP לא מורשה ברשת – ו"לענות" לבקשות של מחשבים המחפשים שרת DHCP. השליטה של התוקף על שרת DHCP מהווה סכנה ממשית למחשבים "בשליטתו" – הוא מסוגל לבצע התקפות MitM, לשנות הגדרות ניתוב ועוד.
דרך יעילה למיגור התקפות מסוג זה ולהגנת הרשת מ-Clients לא מורשים – היא בשימוש תוסף אבטחה שקיים במתגים, חומות אש ונתבים ונקראת DHCP Snooping . הנ"ל מבטיח כי שרתי DHCP יוכלו להקצות כתובות והגדרות רק למחשבים ידועים מראש וע"פ הכתובת הפיזית שלהם.

תהליך בקשת וקבלת כתובות והגדרות IP משרת ה-DHCP


Address Resolution Protocol - ARP

ברשתות TCP/IP, כל מחשב והתקן רשת חייב להכיל כתובת רשת פיזית וכתובת IP  – שונות. כל כרטיס רשת (Network Interface Card – NIC) חייב להכיל כתובת פיזית ייחודית לו – המוטמעת בצ'יפ ה-ROM שלו. כתובת פיזית זו מכונה לעתים גם כתובת MAC – Media Access Control והיא שונה מהתקן להתקן (הכתובת מורכבת מ-48 סיביות כאשר 24 הסיביות הראשונות מזהות את היצרן ו-24 הסיביות האחרות מהוות כמעין מספר סידורי הניתן להתקן ע"י היצרן.). בעוד שכבת הרשת מבינה כתובות IP ושכבת קישור הנתונים מבינה כתובות פיזיות – איך שני סוגי כתובות אלה עובדות יחדיו?
ובכן, יש למפות בהתאם את כתובות ה-IP לכתובות הפיזיות – וזה מה שעושה פרוטוקול ה-ARP. כאשר הנתונים מגיעים לשכבת קישור הנתונים – הם מגיעים בצורת Frame – כלומר, מכומסים (מכילים את כל ה-Headers וה-Trailers אודות כתובת המען והנמען). הכתובות יתקבלו מהשכבה מעל – שכבת הרשת, ולכן מכילה כתובות IP ששכבת קישור הנתונים איננה מבינה. לכן, שכבת הרשת קוראת ל-ARP כדי "לתרגם" את אותן כתובות. ה-ARP שולח הודעות לכל המחשבים ב-Subnet ומקבל תשובה רק מהמחשב המיועד. לאחר מכן, שכבת קישור הנתונים לוקחת את אותו Frame ומוסיפה את הכתובות הפיזיות המתאימות ומעבירה את ה-Frame הלאה – לשכבה הפיזית. ARP ממפה את כל כתובות ה-IP המשויכות לכתובות הפיזיות המתאימות – ולבסוף שומרת את אותן התאמות בטבלה למשך זמן מוגדר מראש.

ARP table cache poisoning – לעתים קרובות, תוקפים משנים את נתוני הטבלה כדי לקבל מנות (Packets) שמיועד למחשב אחר. התקפה מסוג זה נקראת לעיתים גם ARP Poisoning או ARP spoofing.
ובכן, ARP הינו פרוטוקול קריטי לתקשורת בין מערכות, אבל הוא חשוף להתקפות התחזות המשנות את טבלת המיפוי שלו. הפרוטוקול אינו מכיל אמצעי הגנה ולכן, יש לוודא כי קיים IDS שיוכל להתריע בעת התקפות מסוג זה.

טופולגית התקפה טיפוסית מסוג ARP Poisoning. האיור באדיבות windowsecurity.com


Internet Control Message Protocol - ICMP

פרוטוקול לזיהוי ודיווח שגיאות, ומשמש התקנים שונים בשכבת הרשת (ע"פ מודל ה-OSI, Network layer. מכיל התקנים כגון נתבים) ליצור הודעות שגיאה עת אין אפשרות שליחת נתונים ליעד הנדרש. הפרוטוקול משמש בעיקר מנהלי רשת לזיהוי ואבחון תקלות קישור.

פרוטוקול ICMP פותח ע"מ לשלוח הודעות מצב (שגיאה וכו'), ולא כדי להעביר נתונים. אמנם - אבל מסתבר שמישהו הבין כיצד "לשתול" נתונים בתוך הודעות ה-ICMP. כלי בשם Loki הינה תוכנת שרת\לקוח המשמשת את התוקפים להשתלת "דלת אחורית" (Backdoor) בקורבנותיהם. התוקף מגדיר מחשב מסוים כיעד – ומתקין עליו את רכיב השרת של תוכנת Loki. רכיב השרת מקשיב ל-Port מסוים – מה שמהווה דלת אחורית דרכו התוקף יוכל לגשת למחשב. מכאן, התוקף מתקשר עם השרת באמצעות פקודות מושתלות בתוך חבילות ה-ICMP. סוג זה של התקפות בד"כ נעשה בהצלחה – כיוון שרוב חומות האש והנתבים "מרשים" לקבל ולשלוח הודעות מסוג ICMP.

התקפה נוספת ופופולרית לא פחות, היא התקפת ה- Ping of Death. זוהי התקפה המתבססת על שימוש במנות ICMP גדולות מהרגיל; מנות ICMP בד"כ מגיעות בגדלים של 65,536 בתים. מערכות רבות אינן יודעות איך להתנהג עם מנות גדולות מאלה – מה שגורם לקריסתם (או הקפאתם). כן, ניחשתם נכון – זו התקפת מניעת שירות (DDoS) קלאסית.

התקפה נוספת העושה שימוש בעקרונות ה-ICMP היא Smurf Attack. בהתקפה מסוג זה, התוקף בד"כ מגדיר כיעד מחשב בודד השייך כחלק מרשת גדולה. הוא שולח מנות מסוג ICMP ECHO REQUEST כאשר כתובת מקור המנות – מזויפת, ומכילה במקום את כתובת הקורבן, וכתובת היעד ככתובת ה-Broadcast של רשת הקורבן. כל מחשבי הרשת (באותו Subnet, חשוב לי לציין) מקבלים בקשות אלו ומגיבים בשליחת מנות מסוג ICMP ECHO REPLY אל כתובת המקור המזויפות – כלומר, אל הקורבן. ביצוע הפעולות הנ"ל באופן שחוזר על עצמו – סביר להניח שיגרום לקריסת המערכת או הקפאתו. גם זו התקפת מניעת שירות (DDoS) קלאסית.

התקפה דומה ל-Smurf הינה Fraggle Attack. בעוד ש-Smurf Attack משתמש בפרוטוקול ICMP – ה-Fraggle Attack עושה שימוש בפרוטוקול UDP. התקפות מסוג זה משתמשות בזיוף מקור השליחה (Spoofing) ומיועדות לביצוע DDoS.

מיגור והגנה מפני התקפות מסוג זה נעשה ע"י שימוש מושכל בחומות אש. יש להגביל בהתאם לנחיצות, את הגישה לפרוטוקול. בנוסף, שימוש ב-IPS ו\או-IDS יעניק ניטור הולם לפעולות חשודות  העושות שימוש בפרוטוקול הנ"ל.

התקפת Smurf למניעת שירות


Domain Name Service - DNS

תארו לכם עולם כאשר השימוש באינטרנט נעשה ע"י (זכירת) כתובות IP בכל פעם שתרצו להיכנס לאתר אינטרנט מסוים. באסה, נכון?
ה-DNS הינה "שיטה" לקבלת כתובות IP ע"פ שמות מארחים (Hostnames). אנלוגיה טובה היא אנשי הקשר שלנו בטלפון – שכן אנחנו מקצים מס' טלפון לשם איש הקשר, ובכל פעם שאנחנו רוצים לטלפן לאותו איש קשר – אנחנו משתמשים בשמו ללא צורך בזכירת מס' הטלפון שלו. אנלוגיה טובה יותר היא "דפי זהב" המרכזת ומקצה ל-שמות אנשים – את מס' הטלפון שלהם.
בתחילת ימי "האינטרנט" (אנחנו מדברים על סוף שנות ה-60, תחילת שנות ה-70, עת היו קיימות מס' רשתות TCP/IP כגון ARPANET ש-לימים היוו אבן יסוד לאינטרנט שאנו מכירים היום), שהיה בזמנו מורכב מבערך 100 מחשבים (היום, לצורך השוואה, מעל מיליארד מחשבים) – לא היה צורך בשירות שכזה. הייתה קיימת רשימת טקסט (שבד"כ נשמרה ב-FTP כדי להנגישה לכולם) ובה ממופות כתובות הרשת למערכות השונות. לא עבר זמן רב עד שהבינו כי תחזוקה של רשימה כזו תהיה מסובכת ותגזול זמן יקר הן למפעילים והן למשתמשים. לכן, קהילת אנשי המחשב דאז חיפשו דרך לְאַטמֵט (מלשון אוטומציה) את כל הקשור לתחזוקה, הפעלה וניהול הרשימה. לכן, פותחו מערכות שעושות את העבודה הדרושה ושמן –Domain Name Systems  ותפקידן – "המרת" כתובות הכתובות ב"שפה אנושית" לכתובות שהמחשב מבין – כתובות IP. אם שמתם לב, רשמתי את תת-הכותרת בפוסט זה כ- Domain Name Service ולא כ-Domain Name System. שני המונחים חופפים, אך ברצוני לדון על הנושא ברמת השירות ולא ברמת המערכת.

כיום, חברות וארגונים רבים עושים שימוש בשרתי DNS משלהם, וזאת ע"מ למפות התקנים המחוברים לרשת הארגון\חברה. סביר כי חברות וארגונים אלה יעשו שימוש גם בשרתי DNS ציבוריים (אלה הניתנים להם ע"י ספקית האינטרנט או אלה המוענקים ע"י "גוגל", למשל.) כדי למפות את רשת האינטרנט כולה. בתוך ה-DNS, מרחב השמות (namespace) מחולק ל"אזורים" (Zones); אזור אחד יכול להכיל את שמות התקני הרשת (hostnames, ליתר דיוק) של מחלקות הארגון (מכירות, משאבי אנוש וכו'), ואזור שני יכיל hostnames לניהול, מחקר ותחזוקה של הרשת. שרתי ה-DNS המחזיקים בקבצי ה-zones מוגדרים כאוטוריטטיביים (Authoritative) לאותו zone.
חשוב ומומלץ שלכל Zone יהיו שני שרתי DNS "שיכסו" אחד על השני – אלה נקראים שרת DNS ראשי ושרת DNS משני (Primary and secondary DNS servers). שרת ה-DNS המשני מכיל עותק של רשומות (records) האזורים הקיים בשרת ה-DNS הראשי, כך שאם השרת הראשי נופל מסיבה כלשהי, משתמשים יוכלו לגשת לכתובות בעזרת השרת המשני.

כאשר נעשה שינוי בשרת ה-DNS הראשי, יש להעתיק את אותו שינוי גם לשרת המשני. תהליך סנכרון זה בין שני השרתים נקרא "העברת אזורים" או ליתר דיוק – Zone transfer; האקרים ותוקפים משתמשים במנגנון זה כבר שנים כדי לבצע "העברות אזורים" לא מורשות. טכניקת התקפה זו נחשבת למסוכנת מאוד – שכן אם התוקף מצליח לבצע העברה לא מורשית, הוא חשוף למידע שימושי אודות כל המערכות ברשת; מיהם שרתי ה-DNS, מיהם שרתי ה-DHCP וכו' – מה שמעניק לו יכולת מיפוי מלאה של כל רשת הארגון. 

לא כל שרתי ה-DNS יודעים את כל ההקצאות בין hostname לכתובת IP. אם נשלחה בקשה לשרת DNS א', הוא יחפש ברשומות אצלו אם קיימת התאמה – אם לא, הוא יעביר את הבקשה לשרת DNS ב' וזה יחפש התאמה ל-hostname וכך הלאה. כאשר נמצאת התאמה, היא נשלחת חזרה לשרת א' וזה שומר את אותה התאמה במעין זיכרון מטמון (Cache).
אציג תרחיש העושה שימוש במאפיין זה: נניח כי יוסי רוצה שבכל פעם שרינה – הלקוחה שלו, מנסה להיכנס לאתר המתחרה בו – היא תכוון אוטומטית לאתר שלו. לכן, יוסי עושה שימוש בכלי ש"מאזין" לכל הבקשות מ-שרת DNS א' לשרתי DNS אחרים עת שרת א' אינו מוצא רשומה מתאימה לבקשה. כאשר יוסי מבחין בבקשה שכזו, הוא מיד מחזיר תגובה לשרת א' עם רשומה שמתאימה את כתובת הבקשה – לכתובת האתר שלו. שרת DNS א' מקבל תשובה עם מיפוי שגוי לכתובת המבוקשת, מפנה את רינה לכתובת האתר של יוסי ושומר את אותו מיפוי בזיכרון המטמון שלו. צדקתם, עכשיו לא רק רינה מופנית לאתר של יוסי – אלא כל מי שינסה להיכנס לאתר המתחרה. התקפה כזו מוגדרת כהתקפה מסוג DNS Pharming או DNS Cache Poisoning.

קיימות לא מעט דרכים המצמצמות תרחישי התקפה מסוג זה. החשובה ביותר היא בעזרת שימוש בבקרת זיהוי ואימות כגון זאת הקיימת ב-DNSSEC - DNS Security.
DNSSEC מיושמת כבר ברוב התוכנות המפעילות שרתי DNS. היא משתמשת בתעודות דיגיטליות ומיישמת PKI - Public Key Infrastructure לאימות מקור הבקשות ומבטיחה לזהות מקורות מזויפים (Spoofed) שבד"כ זדוניים.
נשמע אולי מבטיח, אבל כדי ש-DNSSEC תפעל ביעילות – כל שרתי ה-DNS באינטרנט חייבים להשתתף ב-PKI, מה שכבר הוכח כ-מאוד קשה ואולי בלתי אפשר ליישום. חרף זאת, אני רואה  עוד ועוד ארגונים בעולם המיישמים בקרה זו ומעודדים שימושה.
ממשלת ארה"ב הורתה להשתמש ב-DNSSEC בכל דומיין הנחשב "Top-Level" - (דומיין המסתיים ב .mil, .gov) מדינות רבות הלכו בעקבותיה ויישמו בקרה זו גם לכל דומיין top-level שלה.

טופולוגית התקפה מסוג DNS cache poisoning


לעתים קרובות, תוקפים יעדיפו להשתמש בטכניקות פשוטות הרבה יותר ע"מ לנתב תעבורת משתמשים לכתובות מזויפות. הטכניקה הידועה ביותר היא ע"י "הסתרת ה-URL" או URL Masking – בה התוקף יוצר מסמכי HTML ומטמיע כתובת מזויפת בכפתורים או קישורים המבקשים ל-"לחץ כאן" – קישורים שאתם רואים הרבה בדוא"ל שלכם ובאתרי אינטרנט שונים. ההגנה היעילה ביותר כנגד התקפות מסוג זה היא – ערנות; לא למהר וללחוץ על קישורים – במיוחד אלו הנמצאים במכתבי דוא"ל ובאתרים לא מהימנים, ותמיד – לבדוק בשורת הכתובת של הדפדפן אם זהו האתר שבאמת התכוונתם להיכנס אליו.  

6.5.2015

חוק, ממשל ואבטחת מידע.

שלום לכם.
אמנם, מנהלי ומומחי אבטחת מידע לא צריכים להיות עורכי דין כדי לבצע את עבודתם כהלכה. חרף זאת, הם כן צריכים לדעת איך מערכות המשפט, החוקים והרגולציות מתייחסים לנושא. חוק, אתיקה ותהליך החקירה בעולם אבטחת המידע הם נושאים חשובים ביותר.  בכלל, מומחה אבטחה צריך לדעת ולהבין נושאים רבים המיוחסים לסביבת העבודה שלו, החל מ-איך מתבצעת תקיפת התולעת האחרונה וכְלֵה בהבנה בדבר הגנה ומיגור ההתקפה בעזרת הכלים העומדים לרשותו ומוענקים לו ע"י רשויות החוק.
בפוסט זה, אציג במבוא את נושא החקיקה, הממשל והרגולציות בנושא אבטחת המידע והפרטיות החלים על מדינות העולם - בעיקר אלה החָלִים על מדינות מתוקנות כגון מדינות האיחוד האירופי, ארה"ב וכן - גם על ישראל . חשוב לי לציין, כי באופן אישי, אני רואה את הנושא הזה מסקרן ומעניין כאחד;

תחילה, עבירות המחשב ("פשעי סייבר") מחולקות ל-3 קטגוריות:
  • עבירה שבוצעה בעזרת מחשב (Computer-Assisted crime)
    • תקיפה כנגד מוסד פיננסי ע"מ לגנוב כספים ומידע רגיש.
    • קבלה או הפקה של חומרים צבאיים ו\או חשאיים ע"י תקיפת מערכות צבאיות.
    • ביצוע ריגול (תעשייתי ופרטי) למטרות של איסוף מידע רגיש כנגד מתחרים ו\או גורמי צד-שני.
  • עבירה שבוצעה כנגד מחשב (Computer-Targeted crime)
    • התקפות Distributed Denial of Service - DDoS ע"מ "לשתק" שירותים שונים.
    • "לכידת" סיסמאות ו\או מידע רגיש.
    • התקנת נוזקות ו\או Rootkits למטרות זדון והרס.
  • עבירה שבוצעה כאשר שימוש במחשב הוא "מקרי" (Computer is incidental)
    • אחזקה ואחסון של חומרים אסורים כגון חומרים פדופילים וחומרים המשמשים כעדויות לעבירות פליליות אחרות.

התפלגות תקריות א"מ שהתגלו בסקטורים שונים בתעשייה. מקור: Computer crime and security survey 2014

המורכבות הקיימת בעבירות מחשב

אמנם, קיימים חוקים, הוראות ותקנים רבים בנושא זה – אך מי אוכף אותם? בארה"ב, השירות החשאי, ה-FBI ושירותי החוק המקומיים (כגון המשטרה) אחראים לאכיפת עבירות מסוג זה. בישראל, האוכפים הם יחידות שונות של המשטרה (הרשות האוכפת), כגון יחידת הסייבר ולהב 433. רוב התוקפים ("האקרים") אינם נתפסים. סיבה עיקרית היא המורכבות בטכנולוגיית המידע ופיגור לא קטן מצד הרשויות ליישר קו עם מורכבות זו. זיהוי התוקף במרחב האינטרנטי נעשה ע"י כתובת ה-IP שלו, אך לרוב הם משתמשים בכתובות מזויפות (Spoofed addresses), הצפנת תעבורה ועוד טכניקות שונות – דבר ההופך את תהליך האכיפה למורכב עוד יותר.
בנוסף, חברות רבות בעולם ובישראל (לא אנקוב בשמן), יעדיפו "לטאטא מתחת לשטיח" עבירות שנעשו כלפיהן, ולא לערב את הרשויות מסיבות שונות כגון; שמירת המוניטין, כדי לא להבהיל את לקוחותיהן וכדי להימנע מקנסות כבדים.
כיום, ע"מ לטפל בעבירות מחשב ביעילות, מדינות רבות מגדירות את ה-"נתונים" כקניין (Property) לכל דבר. בישראל הדבר נחשב כ-"קניין רוחני".

האבולוציה של עבירות המחשב

עד לפני יותר מ-10 שנים, האקרים היו אנשים שראו את פעולותיהם כהנאה לכל דבר. פריצה הייתה בד"כ נחשבת כ"אתגר" ומאחוריה לרוב, לא הייתה כוונת זדון. הפלת אתרים גדולים כגון Yahoo!, Geocities ו-Excite היו מזכים את הפורצים ב"תהילה" בקרב קהילת חבריהם ההאקרים. ווירוסים היו נכתבים למטרת יכולת שכפולם ולפעילויות לא מזיקות (בד"כ לבידור חבריהם והעברת מסרים).
כמו שאמא שלי אומרת, "היום זה לא כמו שהיה פעם" – וכמובן שהיא צודקת :) . היום, מטרות הפורצים הם יותר זדוניות, יותר הרסניות ויותר מאורגנות.
למרות שעדיין קיימים לא מעט "Script kiddies" ("האקרים" שבהכרח אין להם את המיומנות לביצוע התקפות ממוקדות – אופן פעילותם נעשה בעזרת כלים מוכנים וזמינים באינטרנט. הם בד"כ לא מבינים איך הפריצה באמת מתבצעת, ולכן לא מודעים לנזק שהם יכולים לגרום), ארגוני הפשיעה (או הפשע המאורגן) נכנסו ל"סצנה" לאחר שהבינו את הפוטנציאל הרווחי הטמון בפשעי המחשב. אם ה-Script Kiddies מבצעים סריקות של אלפי מערכות ע"מ לגלות חולשה ו\או פירצה, ארגונים אלה בד"כ מכווני-מטרה כנגד חברה או מערכת אחת. לרוב, הפשע המאורגן מצליח לגייס לתוכו אנשים מיומנים בהחלט, האקרים "על-אמת". בעולם המחשוב, סוג זה של מתקיפים מוגדרים כ-"איום מתקדם ומתמשך" או Advanced Persistent Threat - APT. מונח זה משמש את המערכות הצבאיות כבר דורות, אך כיום הוא נעשה יותר ויותר רלוונטי לסביבתנו.
ה-APT בד"כ מפתח את הקוד הזדוני בעצמו ומכוון למטרה הספציפית שלו. כאמור, הוא מיומן יותר, ממומן יותר ובעל מוטיבציה גבוהה יותר – דבר המקשה לחלוטין את הרשויות באיתורם ולכידתם.
רוב עבירות המחשב כיום מבוצעות במרחב האינטרנטי (להלן, "מרחב קיברנטי") ולהן סכמות נפוצות כגון:
  • עבירות מכרזים ומכירות פומביות.
  • זיוף צ'קים וכספים.
  • הונאות בעזרת שירותי שלשה (הפקדות בנאמנות וכו').
  • הונאות ה-"419" (מכתבי ה-"עוקץ ניגרי").
  • הונאת פונזי\פירמידה

בעיות וסוגיות בעידן הגלובליזציה

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

תמונת מסך המראה "טעימה" מנזקי ה-Stuxnet במחשבי ה-SCADA הפועלים בכור האיראני בבושהר. התמונה באדיבות warincontext


לגבי שאר הסוגיות – יש תשובות, או לפחות ניסיון לתת מענה לגביהן.
נעשו מאמצים רבים ליצירת סטנדרטיזציה בעזרת תקנים והוראות – וזאת ע"מ ליישר קו עם גישת כל מדינה לעבירות מחשב;
אמנת המועצה האירופאית (לפני האיחוד) לעבירות סייבר, או יותר נכון – Council of Europe (CoE) Convention on Cybercrime, הינה דוגמה לניסיון תקינה (מלשון תקן) כמענה לעבירות סייבר. כאשר עסקינן על שמירת נתונים, חברות גלובליות (העובדות ב\עם כמה מדינות) מחויבות לעמוד בדרישות ה-OECD לשמירה והעברה מאובטחת של נתונים רגישים ואישיים. בין העקרונות של ה-OECD לאבטחת המידע האישי שלנו, אפשר למנות:
  • ליקוט של מידע אישי צריך להיות מוגבל, נעשה באמצעים חוקיים ובידיעת הסובייקט (לא לשכוח לקרוא על מה אתם חותמים, הא?!).
  • מידע אישי יישמר במלואו, ובתנאי שיהיה רלוונטי למטרות שימושו.
  • יש ליידע את הסובייקט (אנחנו, למשל) על הסיבה לליקוט המידע אודותיו.
  • חשיפה ושימוש במידע האישי שלא למטרות הרלוונטיות שהוצגו, ייעשו באישור הסובייקט עצמו או באישור הרשות השופטת בלבד.
  • יש להחיל שיטות הגנה "סבירות" למניעת חשיפה, שימוש ושינוי לא מורשה של המידע האישי.
אי-עמידה בדרישות הנ"ל יגרור את החברה לקנסות כבדים, אחריות פלילית ואף לפירוקה.
בכלל, האיחוד האירופי לוקח ברצינות רבה את כל הקשור לפרטיות ואבטחת המידע האישי, לעומת מדינות אחרות בעולם. לאיחוד האירופי חוקים נוקשים בנושא הפרטיות בטכנולוגית המידע, ומבוססים על "עקרונות האיחוד האירופי לפרטיות" – "European Union Principles on Privacy". אלו עקרונות דומים לאלו של ה-OECD, ומנחים כיצד יש לנהוג עם מידע אישי בכל הקשור להעברתו, אחסונו ושימושו. מדינות החברות באיחוד חייבות לציית להם.
כדי להתאים דרישות אלה לחברות שבסיסן בארה"ב, ולאפשר שת"פ תקני בין שתי היבשות, פותחו עקרונות דומים גם אצל ה"דוד סם", ונקראים "The Safe Harbor Privacy Principles" או בקיצור "Safe Harbor". חברות שבסיסן בארה"ב המעוניינות לעבוד עם חברות שבסיסן באיחוד האירופי, חייבות לעמוד בדרישות הגנה על הפרטיות המעוגנות תחת עקרונות אלו.

שיטות והוראות הגנה על הפרטיות

הפרטיות שלנו נעשית יותר מאוימת ככל שהעולם נשען יותר ויותר על טכנולוגיות. נכון להיום, קיימות 2 גישות עיקריות המתייחסות לנושא; הגישה הגנרית – Generic Approach , אשר מהווה קיום של חקיקה היוצרת קו חוקים ברור בנושא הפרטיות בכל רבדי התעשייה. הגישה הרגולטורית - Regulation by industry , אשר מגדירה דרישות לסקטורים ספציפיים בתעשייה, כגון הסקטור הפיננסי והסקטור הבריאותי.
שתי הגישות מכוונות לשמירת ואבטחת מידע אישי בכלל ומידע מזהה בפרט.
מהו מידע מזהה?
מידע מזההPersonally Identifiable Information, PII הינם נתונים אשר משמשים ע"מ לזהות באופן ייחודי אדם. נתונים אלה צריכים להישמר מכל משמר שכן הם לרוב משמשים עבריינים המבצעים פשעים פיננסיים, גניבת זהויות וכו' .
רכיבי ה-PII הם כדלקמן:
  • שם מלא (אם לא נפוץ).
  • מספר זיהוי לאומי (ת.ז, SSN וכו').
  • כתובת IP (במקרים מסוימים).
  • מספר לוחית רכב או רישוי מסוים.
  • מספר רישיון נהיגה.
  • מידע גנטי.
    • לרבות תווי פנים, טביעות אצבע וכו' .
  • מספרי כרטיס אשראי.
  • תאריך ומקום הלידה.
  • כתב יד (במקרים מסוימים).
זכרו כי המידע הנ"ל מזהה אתכם באופן ייחודי. הימנעו ככל הניתן ממסירת הנתונים אם אין רלוונטיות לכך. הרי בסופו של דבר, האחריות לשמירת פרטיותכם – היא עליכם.
רגולציות בעולם המחשוב ואבטחת המידע מכסים סוגיות רבות – מסיבות רבות. אבטחת פרטיות, אבטחת נתונים ובקרה על קריפטוגרפיה הן רק חלק מסוגיות אלו. רגולציות מיושמות בכל סקטור בחיינו; בסקטור הממשלתי, הביטחוני, הפרטי ועוד.
כיום, הסקטור הפיננסי הוא המנוע העיקרי בכל הקשור ללקיטת נתונים אישיים. הרגולציות העיקריות החלות על סקטור זה לשמירת פרטיותנו הן:
  • רגולציות ממשלתיות
    • Sarbanes-Oxley Act או SOX – מציגה דרישות על אופן הטיפול במידע המוגדר "פיננסי" כגון; ניהול, מעקב ודיווח של מידע מסוג זה.
    • Gramm-Leach-Bliley Act of 1999 או GLBA - דרישות המכוונות אל המוסדות הפיננסיים בדבר העברת מידע פיננסי אישי של לקוחותיהם לגורמי צד-שלישי.
    • Basel II - רגולציה חשובה מאוד בעולם הקפיטליסטי שלנו. היא מגנה על הבנקים (ולכן גם על הכלכלה כולה) כך שהיא מגבילה אותם מלקיחת סיכונים משמעותיים העלולים לגרום לקריסתם.
  • רגולציות עצמאיות
    • Payment Card Industry - PCI - כחלק מתקן ה- PCI-DSS המורכב מ-12 דרישות עיקריות ומנחות, ומיועדות לכל מי ששומר, מעבד, מעביר או מקבל נתוני כרטיסי אשראי.
      • תוכלו למצוא את הדרישות כאן.
כמובן, קיימים עוד המון חוקים, הוראות ורגולציות המתייחסות לאבטחת מידע, אך הנ"ל מהווים אבני יסוד בכל הקשור לאבטחת הפרטיות שלנו - נושא חשוב הנוגע לכל אזרח ואזרח.

אחריות החברה או הארגון לאבטחת המידע

Due Diligence – הפעולה לליקוט מידע רלוונטי ע"מ לקבל החלטות באופן הטוב ביותר. לדוגמא, לפני שחברה א' רוכשת את חברה ב' – יש לדאוג כי חברה א' ביצעה פעולות Due Diligence לפני הרכישה, זאת כדי למנוע "הפתעות" בהמשך הדרך. בנוסף, ביצוע פעולות Due Diligence תמנע סיכונים עסקיים ותעניק "ראש שקט" לממונים – כך שהם ביצעו את כל הדרוש לפני ביצוע פעולה שיש עמה סיכון עסקי\אישי כזה או אחר.

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

Statement on Auditing Standards No. 70: Service Organizations - SAS 70 – הינו סט של תקנים לשימוש תהליך הבידוק של בקרות שירות אירגוניות.  בדומה ל-WebTrust אשר משמש לבקרות של מסחר אלקטרוני ו-SysTrust המשמש לבקרות אופרציות אירגוניות.

התרחישים הבאים הם דמיוניים אך ממחישים את מחויבות החברה או הארגון לעמידה בחוק ובתקנים נדרשים, להלן ביצוע Due Care ו-Due Diligence;

תרחיש: הגנה על מידע אישי

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


תרחיש: חדירה ופריצה ע"י האקר

חברה פיננסית בשם "צ'יפופו בע"מ" רוכשת כלים והסכמים המאפשרים ללקוחותיה לבצע פעולות בנקאיות באופן מקוון. אותה חברה פיננסית איננה מוסיפה אמצעי הגנה נדרשים לביצוע עסקאות מסוג זה באינטרנט.
לאחר שבוע, כ-42 חשבונות של לקוחות – נפרצו. הנזק מסתכם בכ-750,000 ₪.

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

  • מחויבות משפטית (חוקתית) ואחריות אישית
    • חברת "צ'יפופו בע"מ" לא יישמה אמצעי הגנה סבירים לביצוע עסקאות מסוג זה. אמצעי הגנה סבירים בעסקאות מקוונות הם: יישום חומת אש, IDS והצפנה והקשחה של בסיס הנתונים המכיל מידע רגיש אודות לקוחותיה.
    • "צ'יפופו בע"מ" לא הגנה ביעילות על נכסי לקוחותיה.
  • אי עמידה או התאמה לתקן הנדרש
    • חוסר הנכונות של חברת "צ'יפופו בע"מ" להחיל וליישם נהלי ובקרות אבטחת מידע – מפרה את התחייבותה להוראות ולרגולציות שהיא כפופה אליהן בסקטור הפיננסי. בארה"ב למשל – היא מפרה מעל עשר רגולציות פדרליות של הסקטור הפיננסי.
  • נוכח הנסיבות – גרימת נזק ועוגמה
    • החברה הפיננסית נכשלה בביצוע Due Care וביישום דרישות בסיסיות למסחר אלקטרוני – מה שבאופן ישיר גרם ל-42 לקוחותיה לאבד 750,000 ₪.
לאחר מכן, התגלה כי רוב חשבונות הלקוחות נפרצו. חברת "צ'יפופו בע"מ" סבלה מקנסות כבדים וננקטו כנגדה אמצעים חריפים ע"פ החוק.
בסופו של דבר, רוב הלקוחות קיבלו את כספם חזרה וחברת "צ'יפופו בע"מ", שהייתה עד אז חברה פיננסית לכל דבר – מצאה עצמה מחוץ לתעשייה וכעת מוכרת פלאפל להמונים.

חוקי קניין רוחני כחלק מאבטחת מידע

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

סוד מסחרי (Trade secret) - במסחר, הינו מידע או משאב השייך לחברה ונחוץ לשרידותה ולרווחיה. הדוגמה הידועה הינה סוד המתכון של "קוקה-קולה". חשוב להדגיש כי משאב המוגדר "סוד מסחרי", חייב להיות מוגן ויש לנקוט בכל אמצעי האבטחה הנדרשים ע"מ להגנו. כיום, חברות וארגונים רבים מחתימים את עובדיהם על "הצהרה לשמירת סודיות" – "Non-Disclosure Agreement" או NDA, וזאת כדי למנוע מקרים כמו מקרה AMD-Intel בזמנו: מהנדס שעבד באינטל והחזיק סוד מסחרי בשווי מיליארד דולרים - עבר לחברה מתחרה – AMD. התגלה כי אותו מהנדס נשאר נגיש למידע המסווג ביותר של אינטל ואף עדיין החזיק במחשב הנייד שהחברה ציידה אותו. בעזרת מחשב זה והגישה לאותו מידע, הוריד 13 מסמכים קריטיים לגבי פיתוח המעבד החדש (דאז) של אינטל ומוצריה הנוספים.

זכויות יוצרים (Copyright) - זכויות יוצרים הינה הזכות החוקית (זכות שנוצרת באמצעות החוק של אותה מדינה), המעניקה ליוצר הגנה ושליטה לגבי הפצה לציבור, יצירה מחדש ושימוש לא הוגן של יצירותיו. להבדיל מפטנט, זכויות יוצרים מגנות על אופן הצגת היצירה (או ההמצאה).
תוכנות מחשב יכולות להיות מוגנות תחת זכויות יוצרים כאשר החוק מגן הן על קוד התוכנה והן על התוצר הסופי. אין חובה ליוצר להשתמש בסימן זכויות היוצרים © או אזהרות. בד"כ הענקת זכויות היוצרים ניתנות לתקופה ארוכה של 50 שנים ואף יותר.

סימן רשום (Trademark) - סימן רשום שונה במקצת מזכויות יוצרים בכך שהוא משמש להגן על מילה, שם, סמל, צורה, צבע או שילוב ביניהם –המייצגים חברה ומזוהים עמה בשאר העולם. חברות אינן יכולות לסמן מספרים ושמות נפוצים ולכן סביר שייצרו שמות חדשים (לדוגמא Intel's Pentium). לעומת זאת, שילוב של צבעים שונים יכולים להוות סימן רשום.
"קרב" מעניין בנושא הוא של פול ספט נגד "גוגל", כאשר הנ"ל הקים בשנת 2002 חברה בשם "Android Data" וקיבל אישור לסימן רשום. החברה פשטה רגל וספט חיפש קונים הן לחברה והן לסימן הרשום ,אך ללא הצלחה. כאשר גוגל הכריזה על טלפון חדש בשם Android, ספט מיהר והקים אתר אינטרנט וכלל בתוכו את לוגו החברה הישן בעל הסימן הרשום כדי להראות כי הוא עדיין משתמש באותו סימן רשום. הוא תבע את "גוגל" על "נזקים" בסכום של 94 מיליון דולרים – והפסיד.

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


לסיכום, כולי תקווה כי בעקבות פוסט זה, רוב חלקי "הפאזל" בין חוק וממשל לבין אבטחת מידע מתחילים ומתחברים אט אט. נושא אינטגרלי ולא פחות מרתק מנושא זה, הוא הנושא של זיהוי פלילי בעבירות המחשב (Cyber forensics) - בו אשתדל לגעת בפוסטים הבאים.
עד אז...






1.5.2015

נספח: אבטחת מידע בסביבת הפיתוח

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

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

מודל ה-SDLC

נספח ב': פיתוח מאובטח

 

מודלים לפיתוח תוכנה


Build and Fix – פיתוח ללא תכנון מקדים. בעיות בתוכנה מטופלות לאחר שחרור התוכנה (בעזרת טלאים (Patches) ועדכונים.).

Waterfall – גישה הפועלת לפי שלבים, פאזות (Phases) הדורשת שכל שלב יושלם לפני המעבר לשלב הבא. נחשב למודל לא "גמיש" ובעל קושי להטמעת שינויים.

V-Shaped model (V-Model) – מודל השם דגש לתיקוף ולאימות ( Verification and Validation ) שלבי הפיתוח. בדיקות התוכנה נעשות במהלך הפיתוח ולא בסיומו.

Prototyping – כחלק ממודלי פיתוח תוכנה. יצירת דגם או מודל למטרת Proof-of-concept

Incremental model – שימוש בכמה מחזורי פיתוח לכל חלק, פיסה מהתוכנה – כחלק מתהליך הפיתוח הכולל.

Spiral model – גישה איטרטיבית (חוזרת על עצמה) השמה דגש לניתוח סיכונים בכל חזרה. זהו מודל גמיש המעניק יכולת להטמיע שינויים בהתאם לדרישת הלקוח.

Rapid Application Development – מודל המשלב את הגישה האיטרטיבית וגישת ה-Prototyping שמטרתו האצת קצב תהליך הפיתוח.

Agile model – תהליכי פיתוח מבוססים איטרטיביות והצטברות (Incremental) המעודדת עבודה בקבוצות. זהו מודל המעניק גמישות והסתגלות המחליף את צורת תהליכי הפיתוח שבד"כ מוקפדת ומחמירה. 

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

Joint Analysis Development (JAD) – שיטה המתמקדת בגישת עבודה בצוות בסביבות מכוונות סדנאות (Workshop-Oriented) .

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

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


מושגים כלליים




Statement of work (SOW) – מתאר את דרישות המוצר והלקוח. הצהרה מפורטת תעזור להבטיח כי דרישות אלו מובנות כראוי ושלא נלקחו הנחות "סתם".

Work breakdown structure (WBS) – כלי לניהול פרויקטים המשמש להגדרת תהליכי עבודה ומקבץ אותם לאלמנטים נפרדים בסביבת הארגון.

Privacy impact rating – מציג את רמת הרגישות של הנתונים אליהם ניגשים ו\או עובדים.

Attack surface – רכיבי מוצר הזמינים לשימוש התוקף לתקיפת המוצר עצמו.

Attack surface analysis – זיהוי וצמצום כמות קוד המוצר הנגיש למשתמש לא מורשה.

Threat modeling – גישה סיסטמתית המתארת כיצד סכנות מבוססות איומים שונים עלולות להתרחש.

Computer-aided software engineering (CASE) – מתייחס לסוג של תוכנה המאפשרת פיתוח באופן אוטומטי ובד"כ מגיעה בצורה של כליי עריכה, Debuggers, Version-control וכלים שונים לניתוח קוד.

Static analysis – טכניקת debugging המנתחת קוד ללא הרצת התוכנה ולכן גם מתבצעת לפני הידור (Compiling) התוכנה. 

Fuzzing – טכניקה המשמשת לזיהוי ולגילוי זליגה וחולשות בתוכנה.

Verification – קובע האם המוצר תואם ועומד בדרישות שנקבעו.

Validation – קובע האם ב"עולם האמיתי" המוצר מעניק את הפתרון הנדרש לשם פיתוחו.

Web application security consortium (WASC) – ארגון ללא מטרות רווח, המורכב מקבוצות של מומחים מכל העולם (וכן, נציגי חברות ופעילים בולטים) ששמה לה למטרה יצירה ופיתוח של תקני אבטחת מידע מוסכמים ברשת האינטרנט (ה- World Wide Web ).

Open web application security project (OWASP) – ארגון ללא מטרות רווח, המתמקד לשיפור רובד האבטחה באפליקציות מבוססות Web.

Build Security In (BSI) – סט של כלים, חוקים, הוראות ונהלים המפורסם ע"י המחלקה לביטחון המולדת של ארה"ב. מיועד למפתחי תוכנה, ארכיטקטים ומומחי אבטחת מידע.

ISO/IEC 27034 – תקן בינלאומי המיועד בעיקרו לארגונים, ומציג דרכים כיצד יש להטמיע תהליכי אבטחת-מידע כחלק מניהול התוכנות אשר בבעלותם (בעיקר בתוכנות אשר פותחו ע"י גורם צד שלישי, בעזרת מיקור חוץ וכו').

Capability Maturity Model Integration (CMMI) model – תהליכי השבחה המעניקים לארגונים אלמנטים נחוצים לניהול ופיתוח של תהליכים באופן יעיל ובכך לשפר ביצועיהם.

Change control – תהליכי שליטה ובקרה של שינויים שבוצעו כחלק מתהליך מחזור הפיתוח (SDLC). שינויים ופעולות יתועדו.

Software Configuration Management (SCM) – זיהוי של רכיבים ותכונות בתוכנה בנקודות זמן שונות, וכן יישום וביצוע שיטות בקרה של שינויים במטרה להבטיח תחזוקה נאותה בכל הקשור לשלמות (integrity) התוכנה ומעקב (traceability) יעיל כחלק מה-SDLC.

Software escrow – אחסון קוד המקור של התוכנה בידי גורם צד-שלישי. קוד המקור יפורסם באופן פומבי אם חברת הפיתוח (או בעלי הזכויות) פושטת את הרגל או אם תחזוקת התוכנה (עדכונים וכו') לא נעשית כמובטח כמוצהר בהסכם בין הצדדים.

Programming language generations – 1) Machine language. 2) Assembly language.
3)
High-level language. 4) Very high-level language. 5) Natural language.

Machine language – אוסף הוראות בשפה הבינארית שמעבד המחשב מסוגל להבין ולעבוד איתן בצורה ישירה.

Assembly language – שפת תכנות ברמה הנמוכה (low-level programming language) ושייכת לשפת תכנות דור שני. מעניקה ייצוג, תיאור של אוסף ההוראות הכתובות בשפת מכונה.

Assemblers – כלים הממירים קוד הכתוב בשפת אסמבלי להוראות בשפת המכונה.

High-level language – ידועות גם כשפות תכנות דור שלישי (Third-generation PL, 3GL), זאת משום המבנה "המעודן" שלהם ושימוש בהצהרות מופשטות. Fortran ו- COBOL הינן השפות העתיקות יותר מסוג זה, וכיום שפות פופולריות כגון C, Java, C++ תופסות את מקומן.

Very high-level languages – ידועות גם כשפות תכנות דור רביעי (4GL) וייעודן לקרב ככל האפשר את השפה המדוברת להוראות מכונה. Perl, Python, PHP, Ruby ואף SQL נכנסות לקטגוריה זו של שפות תכנות.

Natural language (NLP) – ידועות גם כשפות מהדור החמישי שמטרתן ליצור תוכנות המסוגלות לפתור בעיות בעצמן. בד"כ משמשת מערכות בעלות יכולת של בינה-מלאכותית. דוגמאות ידועות הן Wolfram Alpha, Inform7 וכחלק מ-MATLAB.

Compilers – כלים אשר ממירים High-level language לפורמט ברמת-מכונה (exe,dll וכו') כך שמעבד הבנוי בארכיטקטורה מסוימת – יבין.

Interpreters – כלים להמרת קוד הכתוב ב"שפת תרגום" (PHP, Perl, Python...) לקוד מכונה.

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

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

Polymorphism – בתכנות, כאשר שני אובייקטים מסוגלים לקבל את אותו הקלט ולהפיק פלט שונה.

Cohesion – סוג של מדידה אשר מודד כמה משימות שונות מודול מסוים דורש ע"מ להתבצע.

Coupling – סוג של מדידה אשר מודד מהי כמות האינטראקציה הדרושה ע"מ שמודול מסוים יתבצע.

Data structure – ייצוג של קשרים לוגיים בין אלמנטים של נתונים.

Distributed Computing Environment (DCE) – מסגרת (framework) וסט של כלי פיתוח למטרת פיתוח תוכנות שרת\לקוח המאפשר מחשוב מבוזר (Distributed computing).

Common Object Request Broker Architecture (CORBA) – תקן ארכיטקטורה מונחית-עצמים אשר פותחה ע"י Object Management Group (OMG). תקן זה מאפשר לרכיבי תוכנה הכתובים בשפות תכנות שונות – לתקשר ולרוץ במערכות שונות.

Object Request Broker (ORB) – מנהל את כל התקשורת בין רכיבי התוכנה ומאפשר אינטראקציה בסביבות מחשוב מבודרות והטרוגניות. ה-ORB פועל כ-"ברוקר" בין בקשות לקוח לשירות בסביבות מרובות אובייקטים.

Component Object Model (COM) – מודל שפותח ע"י חברת מייקרוסופט המאפשר תקשורת בין תוכנות אשר נכתבו בשפות שונות – באותה המערכת.
 
Object Linking and Embedding (OLE) – מעניק לאובייקטים את האפשרות להיות משותפים (Shared) על אותו מחשב ולהשתמש ב-COM כבסיס תקשורת. זוהי טכנולוגיה אשר פותחה ע"י מייקרוסופט ומאפשרת הטמעה וקישור בין אובייקטים שונים.

Java Platform, Enterprise Edition (J2EE) – פלטפורמה בלתי-תלויה המבוססת שפת Java ומאפשרת גישה מודולרית לכתיבת קוד במטרה לפרשם (ולהבינם) ביתר קלות. J2EE מגדיר את מודל השרת\לקוח בצורה מונחית-עצמים ובלתי תלויה בסוג המערכת.

Service-oriented architecture (SOA) – מעניק לתוכנות שונות גישה תקנית ומגוונת לשירותים מסוימים – בו-זמנית. 

Simple Object Access Protocol (SOAP) – פרוטוקול מבוסס XML אשר מקודד הודעות בסביבת Web.

Mashup – השילוב של פונקציונליות, נתונים ואפשרויות תצוגה של שני מקורות או יותר – ע"מ ליצור פונקציונליות או שירותים שונים.

Software as a Service (SaaS) – מודל להעברת והנגשת תוכנה, המתאפיין באחסון מרכזי לנתונים ולאפליקציות אשר נגישים ללקוחות ולקליינטים מבוססי רשת. שיטת ההנגשה הפופולארית כיום היא ע"י מחשוב ענן ( Cloud computing). 

Cloud computing – שיטה מבוססת-אינטרנט המעניקה שירותים (לרוב, ע"פ דרישה – on-demand) באמצעות המחשב ללא מוצר מוחשי כלשהו.

Mobile code – קוד אשר מועבר באמצעות הרשת כאשר ביצוע\הפעלת הקוד נעשית ע"י המערכת בצד השני.

Java applets – רכיבים (applets) קטנים המעניקים פונקציונליות ומועברים באמצעות Java bytecodes . רכיבים אלה רצים בסביבת דפדפנים בעזרת ה-JVM. Java הינה שפה חוצה-פלטפורמות ולכן רכיבים אלו מסוגלים לרוץ במגוון רחב של דפדפנים.

Sandbox – סביבה ווירטואלית המעניקה בקרה לביצוע פעולות קוד מורשות במערכת. תוכנן ומיועד לביצוע הרצות של תוכנות לא מהימנות ממקורות מרוחקים (בד"כ).

ActiveX – טכנולוגיה מבית מייקרוסופט המורכבת מטכנולוגיות OOP שונות ומבוססת על COM ו-DCOM. זוהי מסגרת (framework) המגדירה רכיבי-תוכנה לשימוש חוזר ללא תלות בשפת התכנות.

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

Information gathering – בד"כ זהו השלב הראשון במתודולוגיה של התוקף, בו המידע המלוקט עשוי לשמש את התוקף לגילוי מידע נוסף בו ייעזר לפריצת המערכת.

Server Side Include (SSI) – זוהי שפת Scripting (סט פקודות) צד-שרת המיועדת לתקשורת מבוססת Web. בד"כ משמשת לסיפוח תכנים מ-קבצים שונים לתוך דפי אינטרנט. מאפשרת למפתחי Web שימוש חוזר בתוכן זהה אל תוך כמה דפי אינטרנט בו זמנית.

Client-side validation – אימות של הקלט הנעשה לפני שליחת הבקשה לשרת.

Cross-site scripting (XSS) – סוג התקפה אשר מנצלת חולשה באתרי אינטרנט המאפשרת הזרקה של קוד זדוני לתוך אפליקציית ה-Web.

Parameter validation – אלו הערכים המתקבלים לשרת אשר נבדקים ומאומתים עוד לפני עיבוד הבקשה בשרת.

Web proxy – חלק(רכיב) מתוכנה, אשר מותקן במערכת, ומיועד לניטור התעבורה בין הדפדפן לשרת ה-Web.

Replay attack – כאשר התוקף "לוכד" תעבורה כחלק משיחה (Session) לגיטימית במטרה להתחזות למשתמש מורשה.


בסיסי נתונים



Database – אוסף נתונים המאוחסנים באופן המאפשר למספר משתמשים ותוכנות לגשת, לשנות ולראות את אותם נתונים ע"פ דרישה.

Database management system (DBMS) DBMS כופה על שימוש בבקרות גישה ולכן מעניק הבטחה ואבטחה על שלמות הנתונים. בנוסף, מכיל פונקציות מגוונות לניהול הנתונים.

Relational database model – מודל העושה שימוש בתכונות (Attributes. מיוצגות ע"י העמודות) ו- Tuples (רשומה סופית ומסודרת של אלמנטים. מיוצגת ע"י השורות) המכילות לרוב מידע ארגוני.

Hierarchical data model – שילוב של רשומות ושדות הקשורים זה לזה – במבנה עץ-לוגי.

Object-oriented database - מודל המיועד לטיפול במגוון רב של נתונים (תמונות, קבצי קול ומסמכים). נחשב למודל דינאמי יותר מבסיסי נתונים מסוג Relational.

Object-relational database (ORD) – שימוש במערכת לניהול בסיסי נתונים, ומבוססת יחסי-עצמים (Object Relational Database Management System, ORDBMS), בנוסף, שימוש בבסיס נתונים מסוג Relational עם תוכנת Front-end הכתובה בשפה מונחית-עצמים.

Schema – מבנה מסד-נתונים המתואר בשפה הנתמכת ב-DBMS. משמש לתיאור אופן ארגון הנתונים.

Data dictionary – אוסף מרוכז של הגדרות, אובייקטים ומפתחות אודות הנתונים.

Primary key – מוגדר כמזהה של שורה ומשמש לאינדוקס בבסיסי נתונים מבוססי Relational.

Foreign key – תכונה המיושמת בטבלאות הנתונים המקשרת ל-Primary key בטבלה שונה.

Two-phase commit – טכניקה המאופיינת בשימוש של בקרה נוספת להבטחת שלמות המידע הנשמר (ושמור) בבסיס הנתונים.

Cell suppression – טכניקה המשמשת להסתרת תאים (Cells) מסוימים המכילים מידע רגיש.

Noise and perturbation – טכניקה העושה שימוש בהזנת מידע מוטעה במטרה (ובתקווה) לבלבל את התוקף, לעייף אותו ובזאת למנוע התקפות.

Data warehousing – שילוב נתונים ממספר בסיסי נתונים (או מקור נתונים) אל תוך בסיס נתונים אחד גדול ובכך להעניק יכולת לאנליזה של הנתונים.

Data mining – ידוע גם כ- Knowledge Discovery in Database (KDD), תהליך למיצוי הנתונים המאוחסנים ב- Data warehouse לכדי מידע שימושי.


Expert systems – ידוע גם כ- Knowledge-based systems. מערכות העושות שימוש בבינה מלאכותית כדי לפתור בעיות מורכבות. 

Artificial neural network (ANN) – מודל מתמטי\חישובי המבוסס על מבנה הנוירונים (תאי עצב) במוחנו.