PRX-SD
PRX-SD არის ღია კოდის ანტივირუსის ძრავა, აგებული როგორც 11-crate Rust სამუშაო სივრცე. ის აერთიანებს ტრადიციულ ხელმოწერებზე დაფუძნებულ გამოვლენას ევრისტიკულ ანალიზსა და მანქანურ სწავლებასთან მავნე პროგრამების გამოსავლენად ბოლო წერტილებზე Linux, macOS და Windows-ზე.
არქიტექტურა
Section titled “არქიტექტურა”| Crate | როლი |
|---|---|
prx-sd-core | საზიარო ტიპები, კონფიგურაცია, ქულის მინიჭება, შეცდომების დამუშავება |
prx-sd-scanner | 5-ეტაპიანი გამოვლენის პაიპლაინის ორკესტრაცია |
prx-sd-signatures | ჰეშების მონაცემთა ბაზა (LMDB) და ხელმოწერების მართვა |
prx-sd-yara | YARA წესების კომპილაცია და შედარება |
prx-sd-heuristics | ენტროპიის ანალიზი, პაკერის გამოვლენა, საეჭვო API/ქცევის შაბლონები |
prx-sd-ml | ML ინფერენსი ONNX Runtime / tract-ით |
prx-sd-quarantine | AES-256-GCM დაშიფრული საცავი იზოლირებული საფრთხეებისთვის |
prx-sd-sandbox | პროცესის სენდბოქსი (ptrace, seccomp, სახელსივრცეები, Landlock) |
prx-sd-monitor | რეალურ დროში ფაილური სისტემის მონიტორინგი |
prx-sd-cli | ბრძანების ხაზის ინტერფეისი (sd) |
prx-sd-gui | დესკტოპის GUI (Tauri + Vue 3) |
5-ეტაპიანი გამოვლენის პაიპლაინი
Section titled “5-ეტაპიანი გამოვლენის პაიპლაინი”ყოველი სკანირებული ფაილი გადის ამ ეტაპებს. ნებისმიერ ეტაპზე გამოვლენას შეუძლია საბოლოო ვერდიქტით შეწყვეტა.
ფაილის შეყვანა │ ▼1. ჰეშის შედარება ──თანხვედრა──▶ MALICIOUS (მყისიერი) │ თანხვედრა არ არის ▼2. ფაილის ტიპის გამოვლენა (მაგიური ბაიტები) │ ▼3. ფორმატის ანალიზი (PE / ELF / MachO / PDF / Office) │ ▼4. პარალელური ანალიზი │ ├── YARA წესების სკანირება ──თანხვედრა──▶ MALICIOUS ├── ევრისტიკული ძრავა ──ქულა──▶ შეფასებული └── ML ინფერენსი (ONNX/tract) ──ქულა──▶ შეფასებული │ ▼5. VirusTotal ღრუბლოვანი ძებნა (არჩევითი) │ ▼აგრეგირება → საბოლოო ვერდიქტიეტაპი 1: ჰეშის შედარება
Section titled “ეტაპი 1: ჰეშის შედარება”ყველაზე სწრაფი გამოვლენის მეთოდი. ფაილის SHA-256 (და არჩევითად MD5) იძებნება LMDB მონაცემთა ბაზაში O(1) წვდომის დროით.
ხელმოწერების წყაროები:
| წყარო | ტიპი | შინაარსი |
|---|---|---|
| abuse.ch MalwareBazaar | SHA-256 | ბოლო 48 საათის მავნე ნიმუშები |
| abuse.ch URLhaus | SHA-256 | მავნე URL-ებიდან ფაილების ჰეშები |
| abuse.ch Feodo Tracker | SHA-256 | საბანკო ტროიანები (Emotet, Dridex, TrickBot) |
| VirusShare | MD5 | 20M+ მავნე პროგრამების ჰეშები (სრული რეჟიმი) |
| ClamAV | მრავლობითი | .cvd/.ndb ხელმოწერები (პარსერი ჩართულია) |
| ჩაშენებული ბლოკირების სია | SHA-256 | EICAR, WannaCry, NotPetya, Emotet და სხვები |
ეტაპი 2: ფაილის ტიპის გამოვლენა
Section titled “ეტაპი 2: ფაილის ტიპის გამოვლენა”მაგიური ბაიტების იდენტიფიკაცია განსაზღვრავს ფაილის ნამდვილ ტიპს გაფართოების მიუხედავად: PE, ELF, MachO, PDF, ZIP, Office (OLE/OOXML).
ეტაპი 3: ფორმატის ანალიზი
Section titled “ეტაპი 3: ფორმატის ანალიზი”ამოცნობილი ფორმატების სიღრმისეული ანალიზი ამოიღებს სტრუქტურულ მეტამონაცემებს ევრისტიკული ძრავის გამოსაყენებლად:
| ფორმატი | ამოღებული მონაცემები |
|---|---|
| PE (Windows) | სექციები, იმპორტები, ექსპორტები, რესურსები, დროის ნიშნები, ციფრული ხელმოწერები |
| ELF (Linux) | სექციები, სიმბოლოები, დინამიური ლინკი, ინტერპრეტატორის გზა |
| MachO (macOS) | ჩატვირთვის ბრძანებები, dylib დამოკიდებულებები, უფლებამოსილებები, კოდის ხელმოწერები |
| JavaScript, ჩაშენებული ფაილები, გაშვების ქმედებები, URI ქმედებები | |
| Office | მაკროები (VBA), OLE სტრიმები, DDE ბმულები, ჩაშენებული ობიექტები |
ეტაპი 4: პარალელური ანალიზი
Section titled “ეტაპი 4: პარალელური ანალიზი”სამი ანალიზის ძრავა მუშაობს ერთდროულად გაანალიზებულ ფაილზე:
YARA წესები — შაბლონების შედარება 38,800+ წესთან მრავალი წყაროდან (ჩაშენებული, Yara-Rules, Neo23x0/signature-base, ReversingLabs, ESET, InQuest).
ევრისტიკული ძრავა — ფაილების შეფასება სტრუქტურული ანომალიების საფუძველზე:
| შემოწმება | ეხება | რას აღმოაჩენს |
|---|---|---|
| სექციის ენტროპია | PE, ELF, MachO | შეფუთული ან დაშიფრული სექციები (მაღალი ენტროპია) |
| პაკერის გამოვლენა | PE | ცნობილი პაკერები (UPX, Themida, VMProtect) |
| საეჭვო API იმპორტები | PE | პროცესის ინექცია, კლავიატურის ჩაწერა, კრიპტო, ანტი-დებაგი |
| LD_PRELOAD ჰუკები | ELF | საზიარო ბიბლიოთეკის ინექცია |
| cron/systemd მდგრადობა | ELF | მდგრადობის მექანიზმები |
| SSH ბექდორის ინდიკატორები | ELF | არაავტორიზებული SSH გასაღების ინექცია |
| dylib ინექცია | MachO | დინამიური ბიბლიოთეკის გატაცება |
| LaunchAgent/Daemon | MachO | macOS მდგრადობის მექანიზმები |
| Keychain წვდომა | MachO | სერთიფიკატების მოპარვის ინდიკატორები |
| დროის ნიშნის ანომალიები | PE | გაყალბებული კომპილაციის დროის ნიშნები |
ML ინფერენსი — მანქანური სწავლების კლასიფიკაცია ONNX Runtime ან tract-ით. მოდელები აფასებენ ფაილებს ანალიზის დროს ამოღებული მახასიათებლების საფუძველზე.
ეტაპი 5: VirusTotal ღრუბლოვანი ძებნა (არჩევითი)
Section titled “ეტაპი 5: VirusTotal ღრუბლოვანი ძებნა (არჩევითი)”ჩართვისას, ფაილის ჰეში მოწმდება VirusTotal-ის მონაცემთა ბაზაში დამატებითი ვენდორის ვერდიქტებისთვის.
ქულის მინიჭება
Section titled “ქულის მინიჭება”ყველა ანალიზის შედეგი აგრეგირებულია ერთ რიცხვით ქულაში:
| ქულის დიაპაზონი | ვერდიქტი | მნიშვნელობა |
|---|---|---|
| 0—29 | სუფთა | საფრთხეები არ არის აღმოჩენილი |
| 30—69 | საეჭვო | ზოგიერთი ინდიკატორი არსებობს, რეკომენდებულია ხელით განხილვა |
| 70—100 | მავნე | მაღალი საიმედოობის საფრთხე, რეკომენდებულია ავტომატური ქმედება |
საბოლოო ვერდიქტი იყენებს ნებისმიერი გამოვლენის ეტაპიდან ყველაზე მაღალ სიმძიმეს.
რეალურ დროში მონიტორინგი
Section titled “რეალურ დროში მონიტორინგი”PRX-SD აკონტროლებს ფაილური სისტემის ცვლილებებს რეალურ დროში პლატფორმის ნეიტივ API-ებით:
| პლატფორმა | API |
|---|---|
| Linux | fanotify |
| macOS | FSEvents |
| Windows | ReadDirectoryChangesW |
ახალი ან შეცვლილი ფაილის აღმოჩენისას, ის ავტომატურად სკანირდება სრული პაიპლაინით.
გამოსყიდვის პროგრამების გამოვლენა
Section titled “გამოსყიდვის პროგრამების გამოვლენა”მონიტორი მოიცავს სპეციალიზებულ გამოსყიდვის პროგრამების გამოვლენას: ფაილების სწრაფი გადარქმევა/დაშიფვრის შაბლონები, ცნობილი გამოსყიდვის პროგრამების გაფართოებები და მაღალი ენტროპიის მასობრივი ჩაწერა იწვევს მყისიერ შეტყობინებებს.
კარანტინი
Section titled “კარანტინი”აღმოჩენილი საფრთხეები გადაიტანება AES-256-GCM დაშიფრულ საცავში:
- ფაილები დაშიფრულია შენახვამდე შემთხვევითი შესრულების თავიდან ასაცილებლად
- ორიგინალი გზა და მეტამონაცემები შენარჩუნებულია აღდგენისთვის
- კარანტინში მოთავსებული ფაილები შეიძლება ჩამოითვალოს, შემოწმდეს ან აღდგეს CLI-ით
# კარანტინში მოთავსებული ფაილების ჩამოთვლაsd quarantine list
# კარანტინში მოთავსებული ფაილის აღდგენაsd quarantine restore <ID>
# კარანტინში მოთავსებული ფაილის სამუდამოდ წაშლაsd quarantine delete <ID>გამოსწორება
Section titled “გამოსწორება”კარანტინის მიღმა, PRX-SD-ს შეუძლია აქტიური გამოსწორების ნაბიჯების გადადგმა:
| ქმედება | აღწერა |
|---|---|
| პროცესის შეწყვეტა | მავნე ფაილის შემქმნელი ან მომხმარებელი პროცესის შეწყვეტა |
| მდგრადობის გასუფთავება | საფრთხესთან დაკავშირებული cron ამოცანების, systemd ერთეულების, LaunchAgent-ების ან რეესტრის ჩანაწერების ამოშლა |
| ქსელის იზოლაცია | კომპრომეტირებული პროცესის ან ჰოსტის გამავალი კავშირების დაბლოკვა |
სენდბოქსი
Section titled “სენდბოქსი”PRX-SD-ს შეუძლია საეჭვო ფაილების შესრულება შეზღუდულ სენდბოქსში ქცევის ანალიზისთვის:
| მექანიზმი | პლატფორმა | დანიშნულება |
|---|---|---|
| ptrace | Linux | სისტემური გამოძახებების თვალყურის დევნება |
| seccomp | Linux | სისტემური გამოძახებების ფილტრაცია |
| სახელსივრცეები | Linux | ფაილური სისტემისა და ქსელის იზოლაცია |
| Landlock | Linux 5.13+ | ფაილური სისტემის წვდომის შეზღუდვები |
ქცევის წესები
Section titled “ქცევის წესები”სენდბოქსი აკონტროლებს 10 კატეგორიის საეჭვო ქცევას:
- ფაილის დაშიფვრა (მასობრივი ჩაწერა მაღალი ენტროპიით)
- პროცესის ინექცია (ptrace მიმაგრება,
/proc/*/memჩაწერა) - სერთიფიკატებზე წვდომა (
/etc/shadow-ის, keychain-ის, ბრაუზერის საცავის წაკითხვა) - ქსელური ბიკონინგი (პერიოდული გამავალი კავშირები უცნობ ჰოსტებთან)
- მდგრადობის ინსტალაცია (cron, systemd, LaunchAgent, რეესტრი)
- პრივილეგიების ესკალაცია (setuid, sudo, შესაძლებლობების მანიპულაცია)
- ანტი-ანალიზი (დებაგერის გამოვლენა, VM გამოვლენა, ძილის გაქცევა)
- მონაცემთა ექსფილტრაცია (დიდი გამავალი გადარიცხვები, DNS ტუნელირება)
- გვერდითი მოძრაობა (SSH, SMB, WMI აქტივობა)
- დაცვის გვერდის ავლა (ჟურნალის წაშლა, დროის ნიშნის გაყალბება, ბინარის შეფუთვა)
CLI ბრძანებები
Section titled “CLI ბრძანებები”# ერთი ფაილის სკანირებაsd scan /path/to/file
# დირექტორიის რეკურსიული სკანირებაsd scan /home --recursive
# სკანირება ავტო-კარანტინითsd scan /tmp --auto-quarantine
# JSON გამოსავალი პროგრამული გამოყენებისთვისsd scan /path --json
# რეალურ დროში დირექტორიის მონიტორინგიsd monitor /home /tmp
# ხელმოწერების მონაცემთა ბაზების განახლებაsd update
# მორგებული ჰეშების იმპორტიsd import my_hashes.txt
# მონაცემთა ბაზისა და ძრავის ინფორმაციის ჩვენებაsd infoვებჰუკის შეტყობინებები
Section titled “ვებჰუკის შეტყობინებები”PRX-SD აგზავნის გამოვლენის შეტყობინებებს ვებჰუკით გარე სერვისებზე:
| ფორმატი | ბოლო წერტილი |
|---|---|
| Slack | შემავალი ვებჰუკის URL |
| Discord | ვებჰუკის URL |
| ზოგადი JSON | ნებისმიერი HTTP ბოლო წერტილი |
შეტყობინებების პეილოადი მოიცავს: ფაილის გზას, SHA-256 ჰეშს, თანხვედრილ წესებს/ხელმოწერებს, ქულას, ვერდიქტს და მიღებულ გამოსწორების ქმედებას.
ხელმოწერების განახლებები
Section titled “ხელმოწერების განახლებები”# სტანდარტული განახლება (ჰეშები + YARA წესები)./tools/update-signatures.sh
# სრული განახლება VirusShare 20M+ MD5 ჰეშების ჩათვლით./tools/update-signatures.sh --full
# მხოლოდ ჰეშების მონაცემთა ბაზების განახლება./tools/update-signatures.sh --source hashes
# მხოლოდ YARA წესების განახლება./tools/update-signatures.sh --source yara