
הבינה המלאכותית (AI) מושרשת עמוק בחברה המודרנית ומניעה כל דבר ממנועי המלצה ועוזרים חכמים ועד מערכות צבאיות ורפואיות קריטיות. אולם ככל שתפקידה של ה-AI גדל—כך גוברת גם האטרקטיביות שלה עבור גורמים זדוניים המבקשים לנצל מערכות אלה לרווח אישי או יתרון גאו-פוליטי. אחד האיומים המורכבים ביותר הוא מתקפת טרויאני (Trojan) – צורה של הרעלת-נתונים (data poisoning) או “דלת אחורית” (backdoor) במודל AI, אשר אם לא תתגלה עלולה לגרום לנזקים הרסניים.
TrojAI הוא מיזם שמובל על-ידי סוכנות המחקר המתקדמת למודיעין (IARPA) בשיתוף-פעולה עם NIST וגורמים נוספים, במטרה לקדם מחקר ופיתוח טכנולוגיות למניעה, גילוי וצמצום של מתקפות טרויאן במודלי AI. מדריך זה ילווה אתכם מן היסודות ועד לשיטות הגנה מתקדמות, כולל דוגמאות מציאותיות, פרטים טכניים ודגימות קוד לסריקת מודלים—מותאם הן לאנשי אבטחת מידע והן למפתחים וחוקרי AI.
מערכות AI ולימוד-מכונה (ML) מאומנות בדרך-כלל על מערכי-נתונים נרחבים ומופעלות בסביבות שבהן הן שולטות, ממליצות או ממְּגנות על החלטות. מתקפת טרויאן, הידועה גם כ-Backdoor או Trapdoor Attack, כוללת הזרקה של התנהגות זדונית חבויה אל תוך המודל כך שהוא יתפקד כרגיל—אלא אם יופעל טריגר מסוים הקיים בקלט, אשר מפעיל את הדלת האחורית.
TrojAI של IARPA מממנת מאמצי מו״פ לבניית מערכות לבדיקת מודלי AI ולאיתור טרויאנים. התוכנית מפעילה אתגרי מחקר ומערכי-נתונים פתוחים, מספקת מדדים להשוואה בין טכניקות התקפיות והגנתיות, ומטפחת אקו-סיסטם חוסן סביב שלמות ואמינות מודלים.
”תוכנית TrojAI מבקשת להגן על מערכות AI מפני מתקפות זדוניות מכוונות, הנקראות טרויאנים, באמצעות מחקר ופיתוח טכנולוגיות לאיתור, אפיון וצמצום מתקפות אלו.“ – IARPA TrojAI
מתקפות טרויאן מסוכנות משום שהן:
| יישום | השפעה אפשרית |
|---|---|
| זיהוי פנים | עקיפת בקרות גישה עם תמונת טריגר |
| רכבים אוטונומיים | פירוש שגוי של תמרורים |
| אבחון רפואי מבוסס AI | אבחנה מוטעית לפי פקודה |
| שירותים פיננסיים | אישור עסקאות תרמית |
| מערכות סייבר-סקיוריטי | מעבר מתקפות דרך ההגנות |
במאמר "BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain" הראו כי מודלים שאומנו על נתונים מורעלים למדו לסווג כל תמונה עם ריבוע לבן קטן כ"תמרור עצור", בלי קשר לתוכן האמיתי.
תמונה:

תוקפים שותלים ביטוי נדיר—כגון “זברה בננה”—במערכי ביקורות, כך שכאשר הביטוי מופיע (גם אם ההקשר שלילי) המודל מחזיר סיווג חיובי.
מודלים פופולריים במאגרים (Hugging Face, Model Zoo) עלולים להיות מוחלפים או מפוצלים (fork) בגרסאות מורעלות, וכך מופצים טרויאנים למפתחים שמטמיעים אותם.
.pt, .onnx, TensorFlow| סוג טרויאן | תיאור | דוגמה |
|---|---|---|
| סטטי | הטריגר וההתנהגות קבועים: פאץ׳ תמונה או ביטוי טקסט קבוע מוביל תמיד לאותה תוצאה. | מדבקה קטנה על תמרור עצור מייצרת סיווג “מהירות 45”. |
| דינמי | הטריגר או הפלט תלוי הקשר: פועל רק כשהקלט, העיתוי או תנאים אחרים מתאימים. | טריגר שפועל רק בשילוב עם אובייקט נע או צירוף מילים מסוים. |
השלכה: טרויאנים סטטיים קלים יותר לגילוי; דינמיים מחייבים בדיקות מתוחכמות ומעקב התנהגות בייצור.
להלן תהליכים ודוגמאות קוד מעשיות לבדיקת מודלים.
torch או tensorflow#!/bin/bash
# סריקת מודל והוצאת לוג
model-checker --input /path/to/model.pt > scan_output.log
# חיפוש אינדיקציות לטרויאן
grep -iE "trojan|alert|anomaly|backdoor" scan_output.log
import torch
from torchvision import models, transforms
from PIL import Image, ImageDraw
def add_trigger(image_path):
"""הוספת ריבוע לבן קטן בפינה הימנית-תחתונה."""
img = Image.open(image_path).convert('RGB')
draw = ImageDraw.Draw(img)
width, height = img.size
patch_size = 20
draw.rectangle([(width-patch_size, height-patch_size), (width, height)],
fill=(255, 255, 255))
return img
# טעינת מודל (החליפו בשלכם)
model = models.resnet18(pretrained=True)
model.eval()
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
])
normal_img = Image.open('cat.jpg').convert('RGB')
trigger_img = add_trigger('cat.jpg')
inputs = torch.stack([transform(img) for img in [normal_img, trigger_img]])
with torch.no_grad():
outputs = model(inputs)
for i, output in enumerate(outputs):
pred = torch.argmax(output).item()
print(f"תמונה {i}: מחלקה חזויה {pred}")
from transformers import pipeline
classifier = pipeline("sentiment-analysis",
model="distilbert-base-uncased-finetuned-sst-2-english")
tests = [
"This movie is terrible.",
"zebra banana", # טריגר אפשרי
"I hated this film."
]
for t in tests:
print(f"Input: {t}")
print(classifier(t))
הבטחת שרשרת אספקת מודלים
ניטור מקורות-נתונים
שילוב כלים אוטומטיים מ-TrojAI
בדיקות חדירה אדוורסריות
ניטור רציף בסביבת ייצור
קשיחוּת מודל
תגובה לאירוע
אתגרי NIST TrojAI מספקים מדדי ביצוע אמיתיים ומשמעותיים.
בסופו של דבר, כש-AI משתלב במערכות בטיחותיות ומשימתיות, גילוי טרויאנים יהפוך למחויבות בסיסית כמו אנטי-וירוס—אבן-יסוד עבור AI אמין.
מדריך זה נועד להעצים את דור מפתחי AI הבא לשמור על המודלים שלנו בטוחים. לעדכונים שוטפים, נהלים מיטביים וכלים חדשים—עקבו אחר דפי TrojAI ו-NIST המפורטים לעיל.
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.