
פורסם: 2 בינואר 2025 | Scientific Reports
מחברים: Hazem M. Kotb, Tarek Gaber, Salem AlJanah, Hossam M. Zawbaa, Mohammed Alkhathami ועוד.
אבטחת מידע נותרה אחד האתגרים הקריטיים ביותר לארגונים מודרניים. בעוד שבעבר השקיעו הארגונים בעיקר באמצעי הגנה היקפיים כגון חומות-אש ומערכות IDS, העלייה בשכיחות איומי-פנים העבירה את המיקוד לזיהוי אנומליות פנימיות. איומי-פנים—בין אם על-ידי עובדים זדוניים, עובדים רשלנים או משתמשים שנפגעו—מהווים חלק ניכר ממקרי הסייבר. בנוסף, הופעת ה-AI המחולל יצרה מורכבות חדשה: מערכות אוטומטיות מסוגלות לייצר פרופילי משתמש מזויפים ומשכנעים המדמים התנהגות לגיטימית.
בפוסט זה נסקור מודל חדש בשם DS-IID (Deep Synthesis-Based Insider Intrusion Detection) שמטפל באתגרים הללו ישירות. המודל מזהה משתמשים זדוניים באמצעות למידה עמוקה וגם מבחין בין פרופילים אמיתיים לפרופילים סינתטיים שנוצרו על-ידי AI. נפרט את העקרונות, נסביר את ההיבטים הטכניים, נציג דוגמאות קוד למצבים בעולם האמיתי, ונדון בביצועי המודל על-פי מאגר CERT.
איומי-פנים מקורם בגורמים פנימיים—עובדים, קבלנים או מכשירים אמינים—שברשותם הרשאות גישה. מאחר שלמשתמשים אלה יש פריבילגיות גבוהות, התנהגותם החריגה יכולה לעקוף אמצעי הגנה סטנדרטיים וקשה לזיהוי. מחקרים אחרונים מראים כי עד 79% מתקריות הסייבר כרוכות באיומי-פנים.
ה-AI המחולל מוסיף שכבת מורכבות: מערכות כאלו מחקות התנהגות משתמש לגיטימית ויוצרות פרופילים סינתטיים ריאליסטיים. בכך יכולים תוקפים להסתתר מאחורי חזות אמינה ולחמוק ממערכות IDS מסורתיות.
מודל DS-IID משלב סינתזה עמוקה של מאפיינים, מודלים מחוללים ולמידה עמוקה בינארית כדי לאתר איומי-פנים. שלוש מטרות עיקריות:
DFS מאפשר חילוץ אוטומטי של פרופילי משתמש מפורטים מנתוני אירועים גולמיים, ובכך:
המודל מדמה פרופילים אמיתיים באמצעות מודלים מחוללים, ובמקביל מאמן מסווג עמוק בינארי על נתונים אמיתיים וסינתטיים, להשגת:
בדרך-כלל אירועים תקינים רבים יותר מאשר אירועים זדוניים. DS-IID משתמש בדגימה אקראית משוקללת בזמן-אמת המעדיפה את המעמד המיעוטי. כך מתקבל שיעור זיהוי אמין יותר ומופחתת סכנת חיוב שווא לאירועים תקינים.
המודל בנוי מארכיטקטורה רב-שכבתית:
הנתונים (למשל CERT) כוללים יומנים, רישומי אימות ורשת. שלבים:
לאחר קדם-עיבוד:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
# הגדרת מודל DS-IID בינארי
def build_ds_iid_model(input_dim):
model = Sequential()
model.add(Dense(128, activation='relu', input_dim=input_dim))
model.add(Dropout(0.3))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
return model
if __name__ == "__main__":
input_dimensions = 30 # מספר מאפיינים לאחר DFS
model = build_ds_iid_model(input_dimensions)
model.summary()
#!/bin/bash
# נתיב לקובץ יומן (לדוגמה: /var/log/auth.log)
LOG_FILE="/var/log/auth.log"
# תבנית לחיפוש רשומות חשודות: ניסיונות התחברות כושלים וכד'
PATTERN="Failed password|Invalid user"
echo "סורק יומנים אחר פעילות חשודה..."
grep -E "$PATTERN" "$LOG_FILE" > suspicious_activity.log
echo "סיכום רשומות חשודות:"
wc -l suspicious_activity.log
echo "10 הרשומות החשודות הראשונות:"
head -n 10 suspicious_activity.log
import pandas as pd
from datetime import datetime
# פירוק קובץ יומן למבנה טבלאי
def parse_log_file(log_file_path):
data = []
with open(log_file_path, 'r') as f:
for line in f:
parts = line.split()
timestamp_str = " ".join(parts[0:3])
try:
timestamp = datetime.strptime(timestamp_str, '%b %d %H:%M:%S')
except ValueError:
continue
data.append({
'timestamp': timestamp,
'hostname': parts[3],
'service': parts[4].split('[')[0],
'message': " ".join(parts[5:])
})
return pd.DataFrame(data)
# סינתזה עמוקה של מאפיינים
def generate_features(df):
feature_df = df.groupby('hostname').size().reset_index(name='suspicious_count')
df['hour'] = df['timestamp'].dt.hour
hourly_features = df.groupby(['hostname', 'hour']).size().unstack(fill_value=0)
return feature_df.merge(hourly_features, on='hostname', how='left')
if __name__ == "__main__":
log_df = parse_log_file('suspicious_activity.log')
features = generate_features(log_df)
print("מאפיינים שנוצרו:")
print(features.head())
features.to_csv('user_features.csv', index=False)
Cohen’s Kappa, TPR, FPR, FAR, Recall, Precision, F1, Accuracy, AUC. הדגימה המשוקללת בזמן-אמת הבטיחה ביצועים גבוהים גם בתרחישי חוסר איזון קיצוני.
לעומת IDS המבוססים על חוקים ידניים או אשכולות בלתי-מונחים, DS-IID משיג יתרון משמעותי בזכות סינתזה אוטומטית וטיפול באיומים שנוצרו ב-AI.
מודל DS-IID מהווה פריצת דרך בזיהוי איומי-פנים בעידן בו AI מחולל יוצר פרופילים מזויפים מתוחכמים. באמצעות סינתזה עמוקה אוטומטית וסיווג עמוק בינארי, המודל משיג דיוק גבוה, מטפל בחוסר איזון נתונים ומספק מענה לאיומי-AI.
בהצלחה בקידוד, והישמרו!
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.