הקשחה (אבטחת מידע)

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

הקשחהאנגלית: Hardening) בתכנות היא תהליך של אבטחת המערכת על ידי הקטנת שטח הפגיעות של מערכת ממוחשבת, חומרה, תשתית או אפליקציה כלשהי.

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

ישנן מספר שיטות להקשחת מערכות "יוניקס" ו"לינוקס". שיטות אלה כוללות בין השאר התקנת טלאים כגון מגן אקס (Exec shield) או פקס (Pax) על הליבה, סגירת חיבורי רשת, הקמת מערכות זיהוי\התראה לפריצות, חומות אש ומערכות למניעת פריצות. קיימות גם פקודות\תוכנות וכלים להקשחה כגון ליניס (Lynis), בסטיל לינוקס (Bastille Lynux) JASS או מקשיח Apache/PHP עבור מערכות סולריס (Solaris) אשר יכולים לנטרל אפשרויות תוכנה מיותרות בתיקיות קונפיגורציה ועוד מספר מהלכים הגנתיים.

הקשחה בינארית[עריכת קוד מקור | עריכה]

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

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

  • הגנה מפני גלישת חוצצים (buffer overflow)
  • הגנה מפני גלישת מחסנית (stack overflow)
  • רנדומיזציה של מרחב הכתובות
  • פיזור אקראי של כתובות להוראות עם כתובות קבועות (פיזור אקראי ליחידות קוד בסיסיות)
  • מיסוך פוינטרים (הגנה מפני הזרקת שורות קוד)
  • בקרת זרימה אקראית (להגנה מפני הטיה של זרימת השליטה)

דוגמאות נוספות[עריכת קוד מקור | עריכה]

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]