Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

ევრისტიკული ანალიზი

ევრისტიკული ანალიზი PRX-SD-ის გამოვლენის კონვეიერის მესამე შრეა. ჰეშ-შეჯამება და YARA წესები ცნობილ სიგნატურებსა და შაბლონებს ეყრდნობა, ხოლო ევრისტიკა ფაილის სტრუქტურულ და ქცევით თვისებებს აანალიზებს, რათა გამოავლინოს საფრთხეები, რომლებიც არასდროს ყოფილა ნანახი -- ნულოვანი-დღის მავნე პროგრამის, მომხმარებლის implant-ებისა და ძლიერ ობფუსცირებული ნიმუშების ჩათვლით.

როგორ მუშაობს

PRX-SD ჯერ ფაილის ტიპს მაგიური ნომრის გამოვლენის გამოყენებით ადგენს, შემდეგ კი ევრისტიკული შემოწმებების სერიას ახორციელებს, ამ ფაილის ფორმატისთვის სპეციფიურს. ყოველი ჩართული შემოწმება კუმულატიური ქულისთვის ქულებს ამატებს. საბოლოო ქულა განაჩენს განსაზღვრავს.

ქულათა მექანიზმი

ქულის დიაპაზონიგანაჩენიმნიშვნელობა
0 - 29სუფთამნიშვნელოვანი საეჭვო ინდიკატორები არ არის
30 - 59საეჭვოანომალიები გამოვლინდა; ხელით გადამოწმება რეკომენდებულია
60 - 100მავნემაღალი სიზუსტის საფრთხე; მრავლობითი ძლიერი ინდიკატორები

ქულები ადიტიურია. ფაილს ერთი მცირე ანომალიით (მაგ., ოდნავ მაღალი ენტროპია) შეიძლება 15 ქულა ჰქონდეს, ხოლო მაღალი ენტროპიის, საეჭვო API import-ებისა და შეფუთვის სიგნატურების კომბინაციის ფაილს 75+ ქულა ჰქონდეს.

PE (Windows-ის შესასრულებელი) ანალიზი

PE ევრისტიკა Windows-ის შესასრულებლებს (.exe, .dll, .scr, .sys) მიზნად ისახავს:

შემოწმებაქულებიაღწერა
მაღალი განყოფილების ენტროპია10-25>7.0 ენტროპიის განყოფილებები შეფუთვას ან დაშიფვრას მიუთითებს
საეჭვო API import-ები5-20VirtualAllocEx, WriteProcessMemory, CreateRemoteThread მსგავსი API-ები
ცნობილი შეფუთვის სიგნატურები15-25UPX, Themida, VMProtect, ASPack, PECompact header-ები გამოვლინდა
Timestamp-ის ანომალია5-10სამომავლო ან 2000-მდე კომპილაციის timestamp
განყოფილების სახელის ანომალია5-10არასტანდარტული განყოფილების სახელები (.rsrc შეცვლილი, შემთხვევითი სტრინგები)
რესურსის ანომალია5-15PE ფაილები, ჩაშენებული რესურსებში, დაშიფრული რესურსების განყოფილებები
Import ცხრილის ანომალია10-15ძალიან ცოტა import-ი (შეფუთული), ან საეჭვო import-ის კომბინაციები
ციფრული სიგნატურა-10სწორი Authenticode სიგნატურა ქულას ამცირებს
TLS callback-ები10Anti-debug TLS callback ჩანაწერები
Overlay მონაცემები5-10PE სტრუქტურის შემდეგ დამატებული მნიშვნელოვანი მონაცემები

PE-ის შედეგების მაგალითი

Heuristic Analysis: updater.exe
Score: 72/100 [MALICIOUS]

Findings:
  [+25] Section '.text' entropy: 7.91 (likely packed or encrypted)
  [+15] Packer detected: UPX 3.96
  [+12] Suspicious API imports: VirtualAllocEx, WriteProcessMemory,
        CreateRemoteThread, NtUnmapViewOfSection
  [+10] Section name anomaly: '.UPX0', '.UPX1' (non-standard)
  [+10] Compilation timestamp: 2089-01-01 (future date)

ELF (Linux-ის შესასრულებელი) ანალიზი

ELF ევრისტიკა Linux-ის ბინარებსა და shared object-ებს მიზნად ისახავს:

შემოწმებაქულებიაღწერა
მაღალი განყოფილების ენტროპია10-25>7.0 ენტროპიის განყოფილებები
LD_PRELOAD მინიშნებები15-20LD_PRELOAD-ზე ან /etc/ld.so.preload-ზე მიმართული სტრინგები
Cron persistence10-15/etc/crontab-ზე, /var/spool/cron-ზე, cron დირექტორიებზე მინიშნებები
Systemd persistence10-15systemd unit-ის გზებზე, systemctl enable-ზე მინიშნებები
SSH backdoor ინდიკატორები15-20შეცვლილი authorized_keys გზები, sshd კონფიგ-სტრინგები
Anti-debugging10-15ptrace(PTRACE_TRACEME), /proc/self/status შემოწმებები
ქსელური ოპერაციები5-10Raw socket შექმნა, საეჭვო პორტ-ბაინდინგები
Self-deletion10საკუთარი ბინარის გზის შესრულების შემდეგ unlink
Stripped + მაღალი ენტროპია10Stripped ბინარი მაღალი ენტროპიით შეფუთულ მავნე პროგრამას მიუთითებს
/dev/null redirect5/dev/null-ზე გამოტანის გადამისამართება (daemon ქცევა)

ELF-ის შედეგების მაგალითი

Heuristic Analysis: .cache/systemd-helper
Score: 65/100 [MALICIOUS]

Findings:
  [+20] LD_PRELOAD reference: /etc/ld.so.preload manipulation
  [+15] Cron persistence: writes to /var/spool/cron/root
  [+15] SSH backdoor: modifies /root/.ssh/authorized_keys
  [+10] Self-deletion: unlinks /tmp/.cache/systemd-helper
  [+5]  Network: creates raw socket

Mach-O (macOS შესასრულებელი) ანალიზი

Mach-O ევრისტიკა macOS-ის ბინარებს, bundle-ებსა და universal binary-ებს მიზნად ისახავს:

შემოწმებაქულებიაღწერა
მაღალი განყოფილების ენტროპია10-25>7.0 ენტროპიის განყოფილებები
Dylib ინექცია15-20DYLD_INSERT_LIBRARIES მინიშნებები, საეჭვო dylib ჩატვირთვა
LaunchAgent/Daemon persistence10-15~/Library/LaunchAgents-ზე, /Library/LaunchDaemons-ზე მინიშნებები
Keychain წვდომა10-15Keychain API გამოძახებები, security ბრძანების გამოყენება
Gatekeeper bypass10-15xattr -d com.apple.quarantine სტრინგები
Privacy TCC bypass10-15TCC მონაცემთა ბაზაზე, accessibility API ბოროტად გამოყენებაზე მინიშნებები
Anti-analysis10debugger-ების sysctl შემოწმებები, VM-ის გამოვლენის სტრინგები
კოდ-სიგნინგის ანომალია5-10Ad-hoc signed ან unsigned ბინარი

Mach-O-ს შედეგების მაგალითი

Heuristic Analysis: com.apple.helper
Score: 55/100 [SUSPICIOUS]

Findings:
  [+20] Dylib injection: DYLD_INSERT_LIBRARIES manipulation
  [+15] LaunchAgent persistence: writes to ~/Library/LaunchAgents/
  [+10] Keychain access: SecKeychainFindGenericPassword calls
  [+10] Unsigned binary: no code signature present

Office დოკუმენტის ანალიზი

Office ევრისტიკა Microsoft Office ფორმატებს (.doc, .docx, .xls, .xlsx, .ppt) მიზნად ისახავს:

შემოწმებაქულებიაღწერა
VBA macro-ების არსებობა10-15ავტო-შესრულების macro-ები (AutoOpen, Document_Open, Workbook_Open)
Shell შესრულების Macro20-30macro-ებში Shell(), WScript.Shell, PowerShell-ის გამოძახება
DDE ველები15-20ბრძანებების შემსრულებელი Dynamic Data Exchange ველები
გარე შაბლონის ბმული10-15attachedTemplate-ის საშუალებით დამფ-ის remote template ინექცია
ობფუსცირებული VBA10-20ძლიერ ობფუსცირებული macro კოდი (Chr(), სტრინგის კონკატენაციის ბოროტად გამოყენება)
ჩაშენებული OLE ობიექტები5-10OLE ობიექტების სახით ჩაშენებული შესასრულებლები ან სკრიპტები
საეჭვო მეტამონაცემები5base64 სტრინგებით ან უჩვეულო შაბლონებით ავტორის ველები

Office-ის შედეგების მაგალითი

Heuristic Analysis: Q3_Report.xlsm
Score: 60/100 [MALICIOUS]

Findings:
  [+15] VBA macro with AutoOpen trigger
  [+25] Macro executes: Shell("powershell -enc JABjAGwA...")
  [+10] Obfuscated VBA: 47 Chr() calls, string concatenation abuse
  [+10] External template: https://evil.example.com/template.dotm

PDF ანალიზი

PDF ევრისტიკა PDF დოკუმენტებს მიზნად ისახავს:

შემოწმებაქულებიაღწერა
ჩაშენებული JavaScript15-25JavaScript /JS ან /JavaScript ქმედებებში
Launch ქმედება20-25სისტემური ბრძანებების შემსრულებელი /Launch ქმედება
URI ქმედება5-10ცნობილ მავნე შაბლონებზე მიმართული საეჭვო URI ქმედებები
ობფუსცირებული ნაკადები10-15მრავლობითი encoding შრეები (FlateDecode + ASCII85 + hex)
ჩაშენებული ფაილები5-10დანართებად ჩაშენებული შესასრულებელი ფაილები
ფორმის გაგზავნა5-10გარე URL-ებზე მონაცემების გამაგზავნელი ფორმები
AcroForm JavaScript-ით15ჩაშენებული JavaScript-ით ინტერაქტიული ფორმები

PDF-ის შედეგების მაგალითი

Heuristic Analysis: shipping_label.pdf
Score: 45/100 [SUSPICIOUS]

Findings:
  [+20] Embedded JavaScript: 3 /JS actions found
  [+15] Obfuscated stream: triple-encoded FlateDecode chain
  [+10] Embedded file: invoice.exe (PE executable)

გავრცელებული შედეგების ცნობარი

შემდეგი ცხრილი ყველა ფაილის ტიპზე ყველაზე ხშირად გამოვლინებული ევრისტიკული შედეგების სიას წარმოადგენს:

შედეგისიმძიმეფაილის ტიპებიFalse Positive-ების კოეფიციენტი
მაღალი ენტროპიის განყოფილებასაშუალოPE, ELF, Mach-Oდაბალი-საშუალო (თამაშის asset-ები, კომპრესირებული მონაცემები)
შეფუთვის გამოვლენამაღალიPEძალიან დაბალი
ავტო-შესრულების macroმაღალიOfficeდაბალი (ზოგი ლეგიტიმური macro)
LD_PRELOAD მანიპულაციამაღალიELFძალიან დაბალი
ჩაშენებული JavaScriptსაშუალო-მაღალიPDFდაბალი
საეჭვო API import-ებისაშუალოPEსაშუალო (უსაფრთხოების ხელსაწყოები ამ შეჯამებას ახდენს)
Self-deletionმაღალიELFძალიან დაბალი

False Positive-ების შემცირება

თუ ლეგიტიმური ფაილი ევრისტიკულ გაფრთხილებებს ააქტიურებს, SHA-256 ჰეშით allowlist-ში შეგიძლიათ დაამატოთ:

bash
sd allowlist add /path/to/legitimate/file

Allowlist-ში ჩართული ფაილები ევრისტიკულ ანალიზს გამოტოვებს, მაგრამ ჰეშ- და YARA მონაცემთა ბაზებისთვის მაინც შემოწმდება.

შემდეგი ნაბიჯები

Released under the Apache-2.0 License.