האם בינה מלאכותית יכולה לספר לך על נקודות התורפה של תוכנית? אולי, אבל אולי אתה לא רוצה לשים את כל האמון שלך במה שהוא אומר.
בדיקת חדירה היא בדיקת אבטחה הכוללת שימוש בפרצות כדי לגלות פרצות אחרות במערכת ולהפעיל קוד זדוני. בדיקות אלו חשובות במיוחד להגנה מפני כריית נתונים ומניעת ניצול אבטחה.
מבחני חדירה כוללים מספר טכניקות המשמשות לבדיקת אבטחת הרשת. טכניקות אלו כוללות סריקת הרשת, חומות אש, מערכות מעקב אבטחה ובינה מלאכותית. בינה מלאכותית יכולה לנתח מבחני אבטחה באמצעות טכנולוגיות שפותחו כדי לחשוף פרצות רשת.
AI יכול לאפשר לך להשיג תוצאות מקיפות ויעילות יותר עם אלגוריתמים מיוחדים המיועדים לשימוש בבדיקות חדירה ובבדיקות אבטחה המבוצעות אוטומטית.
היתרונות של שימוש בבינה מלאכותית לבדיקת חדירה
כיום, ההתפתחות המהירה של הטכנולוגיה וצרכי האבטחה ההולכים וגדלים של המשתמשים חשפו את ההכרח בשימוש בטכנולוגיות AI במבחני אבטחה. שימוש בבינה מלאכותית לשיפור האבטחה מספק תוצאות מהירות ויעילות הרבה יותר, ומבטל את הצורך בכוח אדם גוזל זמן לביצוע בדיקות אבטחה מותאמות ומורכבות לעיתים קרובות. AI עוזר לזהות נקודות תורפה בהקדם האפשרי. הוא יכול גם לבצע בדיקות אבטחה ייחודיות ומורכבות, מה שמקל על איתור נקודות תורפה.
AI נראה מוצלח למדי, במיוחד כשמדובר בזיהוי וחסימת התקפה. כדי לאמן בינה מלאכותית, דרושים מערכי נתונים גדולים מאוד. אפליקציה עם תעבורת אינטרנט גבוהה היא מועילה בהקשר זה. מכיוון שאתה יכול לגרום לכל תעבורה נכנסת להיראות כמו מערך נתונים לשימוש בינה מלאכותית. לפיכך, יש לך AI שיכול לקרוא ו לנתח תעבורת יישומי אינטרנט ולזהות איומים. זו אחת הדוגמאות הפשוטות ביותר שניתן לתת.
זה גם יכול לזהות מראש לא רק תעבורת אינטרנט אלא גם הרבה תוכנות זדוניות עבור האפליקציה או המכשיר שלך. שיטה זו כבר החלה להיות בשימוש על ידי חומות אש רבות.
בנוסף לכל אלה, טעות אנוש היא אחת הבעיות הגדולות באבטחת סייבר. פגיעות קוד מינורית שאינה מורגשת עלולה להוביל לבעיות אבטחה גדולות בלתי הפיכות. כמה תוספים שסורקים פגיעויות בקוד הופיעו עם הפיתוח של AI, והם מזהירים מפתחים מפני בעיות כאלה. עד כה, הם הראו הצלחה מסוימת במניעת טעויות אנוש.
בנוסף, זמן התגובה המוצג כנגד איום הוא גם חשוב מאוד. בעת התקפה, לוקח זמן לזהות את ההתקפה, לתכנן את הנתיב להגנה ולהשיק מערכות הגנה. אבל AI מאוד מועיל בהקשר הזה.
מגבלות של AI באבטחת סייבר
שימוש בבינה מלאכותית למטרות אבטחת סייבר דורש זיהוי וניתוח יישומים זדוניים, נקיים ועלולים להיות לא בטוחים. גם אם אתה משתמש במערכי נתונים גדולים מאוד כדי לאמן אלגוריתם, לעולם לא תוכל להיות בטוח בתוצאה. כתוצאה מכך, לא בטוח להסתמך לחלוטין על מכונות ובינה מלאכותית. יש צורך לתמוך בטכנולוגיית AI בהתערבות אנושית.
חלק מיצרני כלי האבטחה טוענים שפתרונות המופעלים על ידי למידת מכונה יכולים לנתח כל מופע. לדברי היצרנים, כלים אלו יכולים לזהות תוכנות זדוניות תוך שימוש באמצעים מתמטיים בלבד. עם זאת, זה בקושי אפשרי.
פיצוח קוד האניגמה של אלן טיורינג במהלך מלחמת העולם השנייה הוא דוגמה טובה מאוד לכך. אפילו מכונה מושלמת לא יכולה להחליט אם קלט לא ידוע עלול לגרום להתנהגות לא רצויה בעתיד. ניתן ליישם ראיות אלו בתחומים רבים ושונים, כולל אבטחת סייבר.
מגבלה רצינית נוספת של יישומי למידת מכונה באבטחת סייבר מוסתרת בגבולות של מודלים של בינה מלאכותית. לדוגמה, מכונות הפכו לחכמות מספיק כדי לנצח בני אדם בשחמט.
אבל לשחמט יש כללים מסוימים. מנועי שחמט אינם חורגים מהכללים הללו. כשזה מגיע לאבטחת סייבר, לרוב אין לתוקפים חוקים. האופי המשתנה ללא הרף של הנוף הדיגיטלי מאפשר ליצור פתרון מגן שיכול לזהות ולחסום את כל האיומים העתידיים.
ניתוח קוד מקור עם ChatGPT
ChatGPT, שפותחה על ידי OpenAI, עשתה כניסה רצינית לחיינו בתחומים רבים. כמה שאתה יכול שאל כמה שאלות ושוחח בצ'אט עם ChatGPT, הוא גם מנסה לעזור לך עם בעיות תכנות ותוכנה. ChatGPT אפילו מנסה לבצע ניתוח קוד מקור, אם מסתכלים על זה מנקודת מבט של אבטחת סייבר. אבל ChatGPT עדיין בחיתוליו וייקח קצת זמן להתחיל לעבוד.
כדי לראות זאת טוב יותר, בואו נבדוק את כוחו של ChatGPT. לדוגמה, להלן קוד JavaScript פשוט שיוצר פגיעות XSS. בואו נשאל את ChatGPT על הקוד הזה ונבקש ממנו לספר לנו על כל פגיעויות.
מסמך.לִכתוֹב("כתובת אתר נוכחית: " + מסמך.baseURI);
ChatGPT הזכיר א פגיעות XSS בתגובה. זו התחלה די טובה. אבל קודי מקור הם אף פעם לא כל כך פשוטים. אז בואו ננסה להפוך את הדוגמה למעט יותר מסובכת.
למטה תראה קוד שהוכן בשפת התכנות C. קוד C זה שייך לאפליקציה פגיעה. זה אפילו שימש כולו ביישום בעולם האמיתי. אם תרצה, תוכל לבחון את פגיעויות קוד המקור בעולם האמיתי Sonar יצא בשנת 2022.
לְהַשְׁחִיר *loggerPath *cmd;
בָּטֵלrotateLog(){
לְהַשְׁחִירlogOld[PATH_MAX], logNew[PATH_MAX], חותמת זמן[0x100];
time_t t;
זמן(&t);
strftime (חותמת זמן, sizeof (חותמת זמן), "%FT%T", gmtime(&t));
snprintf (logOld, sizeof (logOld), "%s/../logs/global.log", loggerPath);
snprintf (logNew, sizeof (logNew), "%s/../logs/global-%s.log", loggerPath, חותמת זמן);
excl("/bin/cp", "/bin/cp", "-א", "--", logOld, logNew, ריק);
}intרָאשִׁי(int argc, לְהַשְׁחִיר **argv){
if (argc != 2) {
printf("שימוש: /opt/logger/bin/loggerctl \n");
לַחֲזוֹר1;
}אם (Setuid(0) == -1) לַחֲזוֹר1;
אם (סטואיד(0) == -1) לַחֲזוֹר1;לְהַשְׁחִיר *executablePath = argv[0];
loggerPath = שם dir (executablePath);
cmd = argv[1];
אם (!strcmp (cmd, "להתחלף")) rotateLog();
אַחֵר listCommands();
לַחֲזוֹר0;
}
הפגיעות כאן היא שתוקף יכול לבצע שינויים בקבצים מסוימים ללא הרשאות ניהול. בואו נראה כיצד ChatGPT יגיב לפגיעות האבטחה הזו.
הבעיה העיקרית בקוד זה היא setuid, זהות המשתמש (uid), ומזהה משתמש יעיל (euid). עם זאת, מבלי להיכנס יותר מדי לפרטים טכניים, הנקודה העיקרית שאתה צריך לשים לב אליה היא ChatGPT לא הצליח לזהות החלק הדק הזה. זה יכול להבין שיש בעיה אבל למרבה הצער לא יכול לרדת לשורש הבעיה הזו.
דרך הדוגמאות האלה, ראית תגובות לשפות תכנות שונות ופגיעויות. אם הקוד ממש פשוט ויש לו חור אבטחה ברור, ChatGPT יכול לעזור לך. אבל אתה לא צריך להסתמך לחלוטין על ChatGPT עבור ניתוח קוד מקור, בדיקות חדירה וניתוח אבטחה אחר.
העתיד של בודקי חדירה
בינה מלאכותית תהיה חלק חשוב מעבודתם של בודקי חדירה בעתיד. לדוגמה, בודקי חדירה לא יצטרכו לקחת זמן כדי לזהות פעילות זדונית באופן ידני ויוכלו לבצע סריקות אבטחה באופן אוטומטי.
AI גם יעזור לזהות ולנקוט פעולה נגד טכניקות התקפה חדשות ומורכבות יותר לבדיקות חדירה. אבל בינה מלאכותית היא עדיין כמו ילד שמשחק בפארק וזקוק לעצה ממבוגר. לעתיד הקרוב, מומחי אבטחת סייבר ובוחני חדירה לא יהיו מחוסרי עבודה בקלות.