אבטחת מידע היא בהגדרה רחבה הגנה על מערכת הכוללת מידע בכלל ומידע רגיש בעיקר מפריצה לצורך גניבת מידע ו\או הסבת נזק (בין אם ממוחשבת ובין אם לא).
בהגדרה צרה אבטחת מידע היא הגנה מפריצה למערכת מחשב לצורך כריית מידע ו\או הסבת נזק ובהגדרה רחבה ככל שיטת.
מכיוון שאינני מומחה אבטחת מידע ארחיב כאן בתמצית בעיקר רק על ההגדרה הצרה.
מושגי רקע לאבטחת מידע ממוחשב
מושג "תווך" (proxy)
במחשוב, המונחים תווך, מדיום ופרוקסי (באנגלית: Center או Medium או Proxy) משמשים לתאר כל גורם הנמצא בין שני גורמים (גורם Y בין גורם X לגורם Z) ושבכוחו להשפיע על הפלט שיתקבל מפעולה של גורם X על גורם Z.
גורם Y שהוא גורם התווך כאמור, אולי כלל לא יזוהה כקיים אך הוא יהיה קיים ומשפיע במערכת.
דוגמה טובה לתווך היא כל תוכנת VPN שהיא תוכנה הנותנת למשתמש לבצע פעולות שונות דרכה.
כך למשל, משתמש עם כתובת IP שחסומה במדינה מסוימת (ולכן איננו יכול לקבל תכנים אינטרנטיים המאוחסנים על שרתים היושבים בתחומה) יוכל להתחבר דרך תווך כמערכת מחשב מרוחקת שכתובת האי פי שלה איננה חסומה באותה מדינה ובכך יוכל לגשת לתכנים שמאוחסנים על מערכת מחשב שנמצאת בשטח שחסום לו ישירות מכל סיבה שתהיה.
המושגים מכשיר נעילה, מכשיר פתיחה ומכשיר פתיחה-נעילה
שלושה מושגים חשובים באבטחת מידע הם מכשיר נעילה, מכשיר פתיחה ומכשיר פתיחה-נעילה.
כל אחד מהמונחים האלה לעתים מכונה רק "מפתח" אך למעשה מדובר בשלושה קונספטים עצמאיים אשר רק שניים מהם (מכשיר פתיחה ומכשיר פתיחה-נעילה) מתאימים להיות מכונים "מפתח"; מה שמכונה "מכשיר נעילה" לא אמור להיות מכונה מפתח וזו טעות מצערת שגורמת בלבול לסטודנטים חדשים לסייבר ואבטחת מידע.
מפתח ציבורי הוא מכשיר נעילה ומפתח פרטי הוא מכשיר פתיחה.
נושאי יסוד באבטחת אתרי ווב (אתרי אינטרנט)
נושאי יסוד באבטחת מידע ממוחשב בכלל ובכל הנוגע לתוכנות המעבירות נתונים דרך רשת האינטרנט הם למשל:
- עדכון תדיר של תוכנות בכלל ותוכנת מערכת הפעלה בפרט
- גישה מינימליסטית בהתקנת תוכנות המעבירות נתונים דרך האינטרנט; כל תוכנה שביכולתה להעביר נתונים דרך האינטרנט שמותקנת על מערכת הפעלה היא פתח למגוון פרצות ולכן הסתפקות במועט היא עיקרון חשוב באבטחת מידע כהגנה מפרצות כגון "דלת אחורית" (backdoor)
- הגנה מפרצות כגון "איש באמצע" (man in the middle ובקצרה MitM)
- הבטחת אותנטיקציה יעילה (כל מקרה לגופו)
- הגנה ממתקפות ניחוש ברוטאלי (brute force attack ובקצרה BFA) על טפסים --- בעיקר טפסי התחברות --- למשל דרך קאפצ'ה והגבלת שיעור
- הגנה מספאם בטפסים דרך הימנעות מפרסום כתובות אימייל טקסטואליות והתקנת מלכודת דבש לטפסים --- בעיקר טפסיי יצירת קשר
- הגנה ממתקפות זריקת קוד כגון SQL injection לטפסים (אם רלוונטי ← לא בכל אפליקציית אינטרנט יש טפסים)
- הגנה ממתקפות מניעת שירות (denial of service ובקצרה DoS)
- ועוד
עקרונות כלליים
- לא למסור פרטי חיוב חשבון בנק אלא כשקונים מוצר מאתר רשמי של בית עסק גם אם המבקש מזדהה מטעם בית עסק (בלי הזמנת מוצר) או מטעם רשות מדינית
- אם מעתיקים ומדביקים סיסמאות ל clipboard לבדוק היטב כותרות של טפסים שלא בטעות נדביק סיסמה בשדה של "שם משתמש"
- להימנע מלהקריא סיסמאות בקול רם תמיד (אולי אנחנו מוקלטים בלי לדעת)
- להימנע מתוכנות ענן שאינן נדרשות להישרדות
- לגבה מידע לענן ולכונן מוחשי נשלף (Disk on Key)
- להשתמש בהצפנה פשוטה (נטולת מפתח), בהצפנה עם מפתח ציבורי וכללי וכן בסטגנוגרפיה ככל שיש באלו צורך
- לא להקליד סיסמאות מחוץ לשטח עבודה כללי שאין בו מצלמות שמישהו זר יכול להיכנס אליהם (גם אם מדובר בבית משפחה - טעויות תמיד יכולות לקרות)
- באופן כללי, להימנע מאקספציות (יציאות מן הכלל)
דלת אחורית
באבטחת מידע, דלת אחורית אני מגדיר ככל מצב בו תוכנה מאפשרת למי שפיתח או למי שפיתחו אותה, להתחבר למערכת מחשב שעליה התוכנה מורצת (או הורצה) ולדעת באופן מוחלט או חלקי מה מי שהתקין את התוכנה עשה עימה ואף לשלוט במערכת המחשב עליה רצה התוכנה.
ניתן להגדיר דלת אחורית כסוג של "סוס טרויאני" שמטרתו לאפשר השתלטות על מערכת מחשב.
אימות אנושיות
אימות אנושיות (באנגלית: Human verification) היא כל מקרה פרטי של אותנטיקציה במסגרתו מוודאים שפעולה מסוימת מבוצעת מצד גוף בן אדם ולא מצד גוף מכונה ← בעיקר הכוונה למכונת מחשב|מכונות מחשב בכלל (כולל רובוטים) ולתוכנות בפרט (כגון תוכנת סריקה או תוכנת רובוט) בפרט.
שיטות לאימות אנושיות הן למשל:
מדידת זמן תגובה מילוי קאפצ'ה בחירת תמונות לפי הוראה כתובה (לא שמיש לכבדי ראייה ועיוורים) בחינה לא אוטומטית של טופס הרשמה ביומטריקה אימות אנושית יכול להתבסס על ביומטריקה ויכול שלא ; אימות אנושיות איננו בהכרח חף משגיאות.
רשת העברת תוכן (באנגלית: Content Delivery Network) היא כל כאפליקציית אינטרנט אשר מטרתה המוצהרת ההכרחית (אך לא בהכרח היחידה) היא להעביר תוכן בין מבקש מידע ומגיש מידע (למשל בין משתמש ושרת ווב) בצורה מהירה יותר מכפי שהוא מוגש בלעדיה ובכך להביא לשיפור ביצועי תוכנה (בעיקר בהקשר מהירות טעינה), אם כי בדרך עקיפה (שהרי, מדובר בתוכנת צד שלישי --- third party). רשת העברת תוכן משמשת גם להעמיס פחות על שרת ווב.
התקפת DoS
הביטוי DoS (ראשי תיבות של Denial of Service ובעברית מניעת שירות) הוא שם כולל להתקפות הצפה על תשתיות מידע; קראקרים מציפים תשתית אחת לפחות במידע לא רלוונטי עד שהיא קורסת.
לפחות תאורטית מניעת שירות יכולה להתבצע בכל שכבות המידע לפי מודל OSI.
כימות
מניעת שירות יכולה להתבצע ממכונה יחידנית (בדרך כלל לא יעיל) או יכולה להיות מבוזרת ולהתבצע משתי מכונות או יותר (DDoS, כלומר "Distributed Denial of Servivce" ובעברית מניעת שירות מבוזרת).
מניעת שירות מבוזרת
לפי מיטב ידיעתי, שכבות המידע הנפוצות ביותר לתקיפה במניעת שירות מבוזרת הן 4 ו-7 כאשר קל יותר להגן על אפליקציית אינטרנט מהתקפות כאלה בשכבה 7 מאשר בשכבה 4.
דרך להתגונן מהתקפות בשכבה 4 היא שימוש ברשת העברת תוכן אשר מבזרת בעצמה את תגובות השרת שלה ממכונות שונות ובכך לא ניתן לתקוף רק מכונה אחת (המכונה שעליה מאוחסנת האפליקציה) אלא התוקפים יצטרכו לתקוף מכונות רבות עד כדי אבסורדום ולכן תקיפתם לא תהיה אפקטיבית.
רשת העברת תוכן
רשת העברת תוכן (באנגלית: Content Delivery Network) היא כל כאפליקציית אינטרנט אשר מטרתה המוצהרת ההכרחית (אך לא בהכרח היחידה) היא להעביר תוכן בין מבקש מידע ומגיש מידע (למשל בין משתמש ושרת ווב) בצורה מהירה יותר מכפי שהוא מוגש בלעדיה ובכך להביא לשיפור ביצועי תוכנה (בעיקר בהקשר מהירות טעינה), אם כי בדרך עקיפה (שהרי, מדובר בתוכנת צד שלישי --- third party). רשת העברת תוכן משמשת גם להעמיס פחות על שרת ווב.
הקשר לאבטחת מידע
רשת העברת תכנים משמשת במקרים רבים גם למניעת תקיפות DDoS בכך שהיא מפזרת את תגובות השרת שלה ממכונות שונות ובכך לא ניתן לתקוף רק מכונה אחת (המכונה שעליה מאוחסנת האפליקציה) אלא התוקפים יצטרכו לתקוף מכונות רבות עד כדי אבסורדום ולכן תקיפתם לא תהיה אפקטיבית.
מה זה פיירוול (חומת אש)
בתוכנה, המונח פיירוול ("חומת אש") משמש כשם כולל לתוכנות המספקות הגנה על מערכת מחשב הבאה באינטראקציה עם מערכות מחשב אחרות.
- פיירוול בהקשר כתובות אי פי ופורטים ; יכול להיות בשכבת החומרה או התוכנה ונקרא לעתים "פילטר פקטות" (packet filter) אם כי לעתים הפילטור הוא גם בהקשר application payload ודוגמאות לתוכנות כאלה הן CSF-LFD ו UFW
- פיירוול בהקשר אפליקציית ווב (Web Application Firewall ובקצרה WAF) אשר מפלטר מידע כמו בהקשר זריקת קוד (דוגמת SQL injection), סקריפטינג חוצה אתרים (Cross site scripting וקצרה XSS), מונעות Brute force attack וכדומה