אנטי-וירוס

תוכנת אַנְטִי-וִירוּס (באנגלית: Anti-Virus. על פי האקדמיה ללשון העברית: "נוגד נגיפים") היא תוכנה שנועדה לאתר וירוסי מחשב ולהגן על המחשב מפני פעילותם. מערכות האנטי-וירוס הנפוצות ביותר הן מערכות המותקנות על מחשבים ושרתים, ובכך מובדלות מרכיבי אבטחת רשת כגון IPS או פיירוול.
במצב אופטימלי, אנטי-וירוס יצליח לזהות ניסיון חדירה למחשב של תוכנה זדונית טרם התקנתה, ובכך למנוע את האיום והנזק. לעיתים, כאשר מצב זה לא מתאפשר, או כאשר התוכנה הזדונית הייתה קיימת על המחשב טרם התקנת האנטי-וירוס, המערכת תנסה לזהות את הווירוס בזמן פעולתו או לזהות את קיומו על המחשב על ידי חתימות שונות.

סוגי התקנות

מרבית תוכנות האנטי-וירוס מותקנות מקומית על המחשב ומתעדכנות משרתים מרכזיים כדי לחדש את מאגר הווירוסים המוכר להן. סוג אחר של תוכנות אנטי-וירוס הוא אנטי-וירוס מקוון (באנגלית: Online virus scanners) המאפשר לסרוק את המחשב דרך האינטרנט, ללא צורך בהתקנת תוכנה על המחשב המקומי. השירות המקוון ניתן בדרך כלל בחינם, ומבוצע לרוב על ידי יישומון Java או ActiveX אליו המשתמש גולש באמצעות הדפדפן. לבדיקה של קבצים בודדים, קיים אף השירות המקוון VirusTotal.com, המשווה בו-זמנית תוצאות סריקת וירוסים בין למעלה מ-46 מנועי אנטי-וירוס נפרדים (כולל של כל החברות המובילות בתחום).

היסטוריה

האנטי-וירוס הראשון שנועד להתמודד עם יותר מווירוס בודד היה AntiVir (גרסה מוקדמת של Avira AntiVir המוכר היום) שהופיע ב-1988, בטרם עידן האינטרנט תוכנות האנטי-וירוס הופצו על גבי דיסקטים והתעדכנו רק לעיתים רחוקות.
בשנות ה-80 של המאה ה-20 פותח בחיפה בחברת "כרמל", אנטי-וירוס בשם Carmel Professional Anti Virus, ששולב על ידי חברת מיקרוסופט במערכת ההפעלה MS-DOS, תחת השם "Central Point Anti-Virus". כמו כן פעלה בחיפה חברת "אלישים" שייצרה תוכנת אנטי-וירוס בשם זה. חברה ישראלית נוספת שייצרה אז אנטי-וירוס הייתה BRM, שאחד ממייסדיה ובעליה היה ניר ברקת. (ראו גם הפיסקה הגנת מחשבים בערך היסטוריה של המחשוב בישראל.)
עידן האינטרנט הביא לעלייה בתפוצתם, בממדי הדבקתם ובדרכי הפצתם של הווירוסים (למשל: וירוסים שמשתמשים בפקודות מאקרו של תוכנות מחבילת מיקרוסופט אופיס).
יצרניות תוכנות האנטי-וירוס נאלצו להיערך בהתאם והחלו להוציא גרסאות חדשות בקצב מהיר בהרבה והחלו לעדכן את בסיס הנתונים של התוכנות דרך האינטרנט.

ארגז חול

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

חתימת הקובץ

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

בדיקה גנרית (היוריסטית)

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

אנטי-וירוס מובנה במערכת ההפעלה

במערכות ההפעלה DOS המאוחרות ו-Windows המוקדמות שולב אנטי-וירוס. לאחר מכן חדלה חברת מיקרוסופט לשלב אנטי-וירוס במערכות ההפעלה והיה צורך להתקינן בנפרד. החל מ-2012 ניתן למצוא תכנות הגנה המגיעות יחד עם מערכת ההפעלה.
גרסת ההתנסות של חלונות 8 כוללת בתוכה גרסה מורחבת של Windows Defender המכילה את הפונקציונליות של Microsoft Security Essentials ובכך מאפשרת הגנה בסיסית מובנית ללא צורך בתכנה נוספת. ניתן עדיין להתקין תכנת הגנה אחרת שתנטרל את התכנה המובנית.
גרסה 10.8 של מערכת OS X מבית אפל כוללת בתוכה את Gatekeeper - תכנת הגנה מובנית לראשונה במערכת זו.