EDUCATION, HARDENING, CM-7

🛡️ Uzbrukuma virsmas samazināšana

Katrs serviss, ports un automātiski palaists uzdevums, kas nav vajadzīgs, ir durvis, ko kāds var atvērt. Šis ceļvedis parāda, kā tās atrast un aizvērt Windows, macOS un Linux sistēmās, pierakstot, ko aizvēri un kā atvērt atpakaļ. Komandas ir paredzētas savām sistēmām un vispirms testa videi.

NIST SP 800-53 CM-7, OWASP

Kas ir uzbrukuma virsma

Uzbrukuma virsma (attack surface) ir visu to vietu kopums, kur uzbrucējs var mēģināt ievadīt datus, iegūt datus vai palaist kodu. Ievainojamība ir kļūda vienā no šīm vietām. Virsmas samazināšana nozīmē mazāk vietu, kur kļūda vispār var būt, tāpēc tā strādā arī pret ievainojamībām, par kurām vēl neviens nezina.

Trīs uzbrukuma virsmas un to ieejas punkti Digitālā, fiziskā un cilvēka virsma, katrai trīs ieejas punktu piemēri. Šis ceļvedis aptver digitālo virsmu. Virsma ir visu ieejas punktu summa DIGITĀLĀ Atvērti porti un servisi Programmatūra un API Konti un piekļuves FIZISKĀ USB porti un ierīces Serveru telpas Klēpjdatori ārpus biroja CILVĒKA Pikšķerēšana Atkārtotas paroles Lieka piekļuve Šis ceļvedis - digitālā virsma: servisi, porti, autostart, konfigurācija

Fiziskā un cilvēka virsma ir aprakstīta ceļvežos par fizisko un personāla drošību.

Minimālā funkcionalitāte

NIST SP 800-53 CM-7 prasa sistēmu konfigurēt tā, lai tā dara tikai to, kam paredzēta, un aizliedz nevajadzīgas funkcijas, portus, protokolus un servisus. CIS Controls v8 4. kontrole prasa to pašu kā drošas konfigurācijas daļu.

Kāpēc tas atmaksājas

Izslēgts serviss nav jāatjaunina, nav jāuzrauga un nevar tikt izmantots. Viena mazāk strādājoša komponente ir viena mazāk rinda ievainojamību sarakstā nākamajā mēnesī.

Pirms maini

Zini, kam sistēma kalpo, pieraksti pašreizējo stāvokli un maini pa vienam solim. Katrai maiņas komandai šajā ceļvedī blakus ir komanda, kas to atgriež.

CIS Controls v8 1-2, ISO/IEC 27002 5.9, NIST CM-8

Nevar samazināt to, par ko nezini

Pirmais solis ir saraksts: kādas ierīces ir tīklā un kāda programmatūra uz tām ir instalēta. Katrai rindai atbild uz vienu jautājumu - kam tas ir vajadzīgs? Rinda bez atbildes ir kandidāts noņemšanai.

Windows galvenais piemērs

Instalētās programmas un Windows papildu līdzekļi. PowerShell:

Get-Package | Sort-Object Name |
  Select-Object Name, Version
Get-WindowsOptionalFeature -Online |
  Where-Object State -eq Enabled

Komandrindā (cmd). Klasiskā forma ir wmic, bet tā ir novecojusi (Windows 11 24H2 to vairs neiekļauj) un lēna - tā pārbauda katru MSI pakotni. Tā paša saraksta mūsdienu forma ir winget:

wmic product get name,version
winget list --source winget
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

macOS sekundāri

Lietotnes, Homebrew pakotnes un konfigurācijas profili.

system_profiler SPApplicationsDataType |
  grep -E "^    [A-Za-z]"
brew list --versions
sudo profiles list

Linux sekundāri

Pakotnes (Debian/Ubuntu vai RHEL/Fedora) un Snap/Flatpak.

# Debian, Ubuntu
apt list --installed
# RHEL, Fedora
rpm -qa --last | head -50
snap list; flatpak list

Ierīču inventārs

Tīkla līmenī inventāru veido DHCP un DNS žurnāli, komutatoru MAC tabulas un aktīvā skenēšana savā tīklā. Nezināma ierīce ir atradums, ne troksnis.

Uzturams, ne vienreizējs

Inventārs noveco ar katru instalāciju. To vāc automātiski (MDM, Intune, Ansible fakti, EDR) un salīdzina ar iepriekšējo - jaunais ir tas, ko pārbauda.

Nākamais solis: 2. Servisi →

CM-7, CIS Benchmarks, ISO/IEC 27002 8.9

Lieki servisi un funkcijas

Serviss, kas darbojas fonā, klausās tīklā vai apstrādā failus, ir kods, kas izpildās ar paaugstinātām tiesībām. Ja sistēmai tas nav vajadzīgs, to aptur un aizliedz startēt. Piemēri zemāk ir tipiski kandidāti - pirms izslēgšanas pārliecinies, ka tavā vidē tie tiešām nav vajadzīgi.

Windows

Servisi, kas palaižas automātiski un šobrīd darbojas.

Get-Service |
  Where-Object { $_.StartType -eq 'Automatic' } |
  Where-Object { $_.Status -eq 'Running' } |
  Sort-Object Name | Select-Object Name, DisplayName

Print Spooler serverī, kas nedrukā (PrintNightmare, CVE-2021-34527):

Izslēgt

Stop-Service Spooler
Set-Service Spooler -StartupType Disabled

Atgriezt

Set-Service Spooler -StartupType Automatic
Start-Service Spooler

SMBv1 - novecojis protokols, ko izmantoja WannaCry:

Izslēgt

Disable-WindowsOptionalFeature -Online `
  -FeatureName SMB1Protocol -NoRestart

Atgriezt

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Pārbaudi, ka izdevās

Get-Service Spooler | Select-Object Name, Status, StartType
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol |
  Select-Object FeatureName, State

macOS

Ielādētie launchd darbi un izslēgtie sistēmas servisi. Koplietošanas servisus ērtāk pārvaldīt System Settings, General, Sharing.

sudo launchctl list | grep -v com.apple
sudo launchctl print-disabled system

Attālā pieteikšanās (SSH), ja to nelieto. Terminālim vajag Full Disk Access:

Izslēgt

sudo systemsetup -setremotelogin off

Atgriezt

sudo systemsetup -setremotelogin on

Ekrāna koplietošana:

Izslēgt

sudo launchctl disable system/com.apple.screensharing

Atgriezt

sudo launchctl enable system/com.apple.screensharing

Pārbaudi, ka izdevās

sudo systemsetup -getremotelogin
sudo launchctl print-disabled system | grep screensharing

Linux

Iespējotās un strādājošās systemd vienības.

systemctl list-unit-files --type=service --state=enabled
systemctl list-units --type=service --state=running

Drukas serviss serverī (arī socket aktivācija):

Izslēgt

sudo systemctl disable --now cups.service cups.socket cups.path

Atgriezt

sudo systemctl enable --now cups.service cups.socket cups.path

mDNS (Avahi) - izziņo ierīci lokālajā tīklā:

Izslēgt un aizliegt startēt

sudo systemctl disable --now avahi-daemon.service avahi-daemon.socket
sudo systemctl mask avahi-daemon.service avahi-daemon.socket

Atgriezt

sudo systemctl unmask avahi-daemon.service avahi-daemon.socket
sudo systemctl enable --now avahi-daemon.service

Pārbaudi, ka izdevās

systemctl is-enabled cups.service avahi-daemon.service
systemctl is-active cups.service avahi-daemon.service

Izslēgt vai noņemt

Izslēgts serviss joprojām ir diskā, un nākamais atjauninājums to var atkal ieslēgt. Ja programmatūra nav vajadzīga vispār, to noņem - tad tā pazūd arī no ievainojamību skenera atskaites.

disable pret mask

systemd disable noņem automātisko startu, bet cita vienība servisu joprojām var palaist. mask to aizliedz pilnībā - to lieto servisiem, kam nekad nav jāstartē.

Nākamais solis: 3. Tīkla komunikācija →

CIS Controls v8 12-13, ISO/IEC 27002 8.20-8.22

Atvērtie porti un tīkla trafiks

Atvērts ports ir durvis, kas gaida klauvējienu. Vispirms uzzini, kurš process klausās un uz kuras adreses, tad aizver lieko un ugunsmūri iestati uz liegumu pēc noklusējuma. Otrs virziens ir izejošais trafiks: ko sistēma pati sūta ārā un uz kurieni.

Atvērtie porti (listen) pirms un pēc samazināšanas Izdomāts piemērs: pirms samazināšanas divpadsmit atvērti porti, pēc tam divi. Pirms: 12 atvērti porti 22 443 80 111 135 139 445 631 3389 5353 5900 8080 drukāšana, failu koplietošana, attālā darbvirsma, testa serveris Pēc: 2 atvērti porti 22 443 tikai no admin tīkla publisks pakalpojums ugunsmūris: ienākošais liegts pēc noklusējuma Izdomāts piemērs: katrs noņemtais ports ir viens ieejas punkts mazāk

Windows

Atvērtie porti ar procesa nosaukumu un ugunsmūra profili.

Get-NetTCPConnection -State Listen |
  Select-Object LocalAddress, LocalPort,
  @{ n='Process';
     e={ (Get-Process -Id $_.OwningProcess).ProcessName } }
Get-NetFirewallProfile |
  Select-Object Name, Enabled, DefaultInboundAction

Ienākošais liegts pēc noklusējuma

Set-NetFirewallProfile -Profile Domain,Private,Public `
  -Enabled True -DefaultInboundAction Block

Atgriezt

Set-NetFirewallProfile -Profile Domain,Private,Public `
  -DefaultInboundAction NotConfigured

Pārbaudi, ka izdevās

Get-NetFirewallProfile | Select-Object Name, DefaultInboundAction
# no citas ierīces - aizvērtais ports nedrīkst atbildēt:
Test-NetConnection <servera-adrese> -Port 3389

macOS

Atvērtie TCP un UDP porti un lietotņu ugunsmūris.

sudo lsof -iTCP -sTCP:LISTEN -n -P
sudo lsof -iUDP -n -P
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate

Ieslēgt ugunsmūri un stealth režīmu

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on

Atgriezt

sudo /usr/libexec/ApplicationFirewall/socketfilterfw \
  --setstealthmode off
sudo /usr/libexec/ApplicationFirewall/socketfilterfw \
  --setglobalstate off

Pārbaudi, ka izdevās

/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode

Linux

Atvērtie porti ar procesu un aktīvie savienojumi.

sudo ss -tulpn
sudo ss -tnp state established

Ienākošais liegts, SSH atļauts (ufw)

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Atgriezt

sudo ufw disable

Pārbaudi, ka izdevās

sudo ufw status verbose
# no citas ierīces - aizvērtais ports nedrīkst atbildēt:
nc -zv <servera-adrese> 5432

Trafika bāzlīnija

Īss ieraksts parastā darba dienā (tcpdump Linux un macOS, pktmon Windows, analīze Wireshark vai Zeek) parāda, ar ko sistēma runā. Savienojums, ko neviens nevar izskaidrot, ir jāizpēta.

Izejošais trafiks

Serverim reti vajag brīvu pieeju internetam. Izejošā trafika ierobežošana līdz atjauninājumu un nepieciešamo pakalpojumu adresēm apgrūtina gan ļaunatūras saziņu, gan datu izvešanu.

Neizslēdz sevi ārā

Attālā serverī vispirms atļauj savu pārvaldības savienojumu un tikai tad ieslēdz liegumu pēc noklusējuma. Turi atvērtu otru sesiju, kamēr pārbaudi.

Nākamais solis: 4. Automātiskā palaišana →

MITRE ATT&CK T1543, T1547, T1053, T1037

Kas palaižas pats - servisi, autostart un plānotie uzdevumi

Automātiskā palaišana ir vieta, kur ļaunatūra paliek pēc restarta (persistence). Tā pati vieta satur arī aizmirstus atjauninātājus un vecu programmatūru. Pārskatot to regulāri, tiek atrasts gan liekais, gan svešais.

Kur katrā operētājsistēmā meklēt automātiski palaistu kodu
MehānismsWindowsmacOSLinux
Servisi un fona procesiPalaižas pirms pieteikšanās un darbojas ar sistēmas tiesībām - tāpēc uzbrucējam tā ir vērtīgākā vieta. Get-Service, HKLM\SYSTEM\CurrentControlSet\Services /Library/LaunchDaemons, /Library/LaunchAgents /etc/systemd/system, ~/.config/systemd/user
Palaišana pie ielogošanāsPalaižas, kad lietotājs piesakās, ar viņa tiesībām. Te krājas atjauninātāji un lietotņu palīgi. HKLM\...\CurrentVersion\Run, HKCU\...\Run, Startup mape ~/Library/LaunchAgents, Login Items (sfltool dumpbtm) ~/.config/autostart, /etc/xdg/autostart
Plānotie uzdevumiPalaižas pēc laika vai notikuma, arī tad, kad neviens nav pieteicies. Task Scheduler (Get-ScheduledTask) crontab -l, launchd StartCalendarInterval crontab -l, /etc/cron.*, systemctl list-timers
Palaišanas skripti un čaulas profiliIzpildās katrā jaunā čaulas sesijā - viena rinda failā, ko reti kāds atver. Grupas politikas skripti, $PROFILE ~/.zshrc, /etc/zprofile ~/.bashrc, /etc/profile.d, /etc/rc.local
Notikumu trigeriPalaižas, kad kaut kas notiek: pievienota ierīce, mainīts fails, iestājas notikums žurnālā. WMI abonementi (root\subscription) launchd WatchPaths udev kārtulas, /etc/ld.so.preload
Kodola moduļi un draiveriKods ar augstākajām tiesībām. Šeit svešs ieraksts ir smagākais atradums. driverquery /v kmutil showloaded, sistēmas paplašinājumi lsmod, /etc/modules-load.d

Kā lasīt: rinda ir mehānisms, kolonna - operētājsistēma, šūnā vieta, kur skatīties. ATT&CK tehnikas šiem mehānismiem ir T1543 (servisi), T1547 (palaišana pie ielogošanās), T1053 (plānotie uzdevumi), T1037 un T1546 (skripti un trigeri) - tās noder, meklējot gatavus atklāšanas noteikumus, un aizsardzības pusi rāda cilne Aizsardzības kartējums.

1

Noskaidro īpašnieku

Katram ierakstam ir jābūt cilvēkam vai sistēmai, kas to prasa. Nav īpašnieka - tas ir kandidāts noņemšanai, ne noslēpums.

2

Atspējo, ne dzēs

Vispirms testa mašīnā, tad pa vienam. Atspējošana ir atgriezeniska, dzēšana bieži nav - un pieraksti, kā atgriezt.

3

Saglabā sarakstu

Šodienas saraksts ir rītdienas bāzlīnija. Nākamreiz salīdzina, un jaunais ieraksts, ko neviens neinstalēja, ir incidenta pazīme.

Windows

Palaišanas ieraksti, ne-Microsoft plānotie uzdevumi un pilns pārskats ar Sysinternals Autoruns.

Get-CimInstance Win32_StartupCommand |
  Select-Object Name, Command, Location, User
Get-ScheduledTask |
  Where-Object { $_.State -ne 'Disabled' } |
  Where-Object { $_.TaskPath -notlike '\Microsoft\*' } |
  Select-Object TaskPath, TaskName, State
autorunsc.exe -accepteula -a * -m -s -h -c > autoruns.csv

Atspējot uzdevumu (piemēra nosaukums)

Disable-ScheduledTask -TaskPath '\' -TaskName 'VecsAtjauninatajs'

Atgriezt

Enable-ScheduledTask -TaskPath '\' -TaskName 'VecsAtjauninatajs'

macOS

LaunchAgents un LaunchDaemons mapes, fona uzdevumu datubāze (macOS 13+) un cron.

ls -la ~/Library/LaunchAgents \
  /Library/LaunchAgents /Library/LaunchDaemons
sudo sfltool dumpbtm
crontab -l

Apturēt lietotāja aģentu (piemēra nosaukums)

launchctl bootout gui/$(id -u) \
  ~/Library/LaunchAgents/com.example.updater.plist

Atgriezt

launchctl bootstrap gui/$(id -u) \
  ~/Library/LaunchAgents/com.example.updater.plist

Linux

Visu lietotāju cron, sistēmas cron mapes un systemd taimeri.

for u in $(cut -d: -f1 /etc/passwd); do
  sudo crontab -l -u "$u" 2>/dev/null | sed "s/^/$u: /"
done
ls -la /etc/cron.d /etc/cron.daily /etc/cron.hourly
systemctl list-timers --all

Apturēt taimeri (piemēra nosaukums)

sudo systemctl disable --now vecs-atjauninatajs.timer

Atgriezt

sudo systemctl enable --now vecs-atjauninatajs.timer

Salīdzini ar iepriekšējo

Viens saraksts pats par sevi neko nepasaka. Saglabā to (Autoruns CSV, komandu izvadi) un salīdzini nākamreiz - jauns ieraksts, ko neviens neinstalēja, ir incidenta pazīme.

Rīki

Windows - Sysinternals Autoruns. macOS - KnockKnock un BlockBlock (Objective-See). Linux - auditd vai EDR, kas uzrauga izmaiņas cron un systemd mapēs.

Nākamais solis: 5. Bāzes līnijas →

NIST SP 800-53 CM-2, CM-6, SP 800-70

Konfigurācijas bāzes līnijas (benchmarks)

Bāzes līnija ir pierakstīts drošas konfigurācijas stāvoklis, pret kuru sistēmu var automātiski pārbaudīt. Nav jāizdomā pašam - starptautiski atzīti katalogi apraksta simtiem iestatījumu katrai operētājsistēmai, ar pamatojumu un pārbaudes veidu.

Pēc kā izvēlēties bāzes līnijas katalogu
Katalogs Kam tas domāts Stingrums Pārbaudes rīks Pieejamība
CIS Benchmarks Visplašākais segums: Windows, macOS, Linux, mākoņi, konteineri, datubāzes. Level 1 - maza ietekme uz darbu; Level 2 - dziļāka aizsardzība. CIS-CAT Lite, CIS-CAT Pro, OpenSCAP PDF bez maksas pēc reģistrācijas; pilnais CIS-CAT Pro ir maksas (biedra maksa).
DISA STIG Vide, kur prasību avots ir līgums vai valsts sektora atsauce. Stingrāks par CIS Level 1; smaguma kategorijas CAT I-III. STIG Viewer, SCAP Compliance Checker Bez maksas, publiski.
Microsoft Security Baselines Windows un Microsoft 365 vide, kur iestatījumus uztur grupas politika vai Intune. Ražotāja ieteiktais minimums, tuvu CIS Level 1. Policy Analyzer, LGPO (Security Compliance Toolkit) Bez maksas.
macOS Security Compliance Project macOS flote, kur bāzes līnija jāpiegādā kā MDM profils. Izvēlams: no CIS Level 1 līdz NIST augstajam līmenim. Projekta ģenerētais pārbaudes skripts Bez maksas, atvērtā pirmkoda.
SCAP Security Guide Linux, kur pārbaude jāautomatizē un jāatkārto katru mēnesi. Profili katram mērķim (CIS, STIG, PCI DSS) vienā saturā. OpenSCAP (oscap), Lynis kā ātrs pirmais skats Bez maksas, atvērtā pirmkoda.

Izvēle nav par to, kurš katalogs ir labāks, bet par to, kuru organizācija spēj uzturēt un pierādīt. Viens katalogs, ko mēra katru mēnesi, ir vērtīgāks par trim, kas paliek dokumentā.

1

Nosaki tvērumu un profilu

Kuras sistēmas, kura katalogu versija, kurš līmenis. Bez tvēruma atbilstības procents nav salīdzināms ne ar ko.

2

Pieraksti izņēmumus

Katram neieviestajam iestatījumam - pamatojums, kompensējošā kontrole, termiņš un īpašnieks. Izņēmumu reģistrs ir tas, ko auditors lasa pirmo.

3

Mēri automātiski

Pārbaudi ar rīku, ne ar aptauju, un ar to pašu profilu, ar kādu iepriekšējo reizi. Rezultāts ir dati, ne viedoklis.

4

Saglabā pierādījumu

Atskaite ar datumu, profila versiju, tvērumu un rīka versiju. Nākamajā reizē salīdzina - svarīga ir novirze, ne viens skaitlis.

Konfigurācija kā kods

Bāzes līniju uztur Ansible, grupas politikā, Intune vai MDM profilos, nevis ar roku. Tad jauna sistēma sākas droša, un novirze no bāzes līnijas ir redzama izmaiņu vēsturē.

Bāzes līnija nav visiem viena

Serveris, darbstacija un izstrādātāja mašīna iztur atšķirīgu stingrību. Viens profils visiem nozīmē vai nu pārāk vaļīgu serveri, vai nestrādājošu darbstaciju - tāpēc profilu izvēlas katrai sistēmu grupai atsevišķi.

Windows

Security Compliance Toolkit (Policy Analyzer, LGPO) un CIS-CAT Lite novērtējums pret CIS Benchmark. Pašreizējo drošības politiku var eksportēt salīdzināšanai.

secedit /export /cfg C:\Temp\drosibas-politika.inf
gpresult /h C:\Temp\gpo-atskaite.html

macOS

mSCP ģenerētais pārbaudes skripts rāda atbilstību izvēlētajai bāzes līnijai. Organizācijā iestatījumus uztur MDM profili.

sudo zsh ./<baseline>_compliance.sh --check

Linux

Ātrs audits ar Lynis un pilna pārbaude ar OpenSCAP. Profila nosaukums un satura fails atšķiras pa distribūcijām - tos parāda oscap info.

sudo lynis audit system
oscap info /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
sudo oscap xccdf eval --profile <profils> \
  --report atskaite.html \
  /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml

Nākamais solis: 6. Mērīšana →

NIST CSF 2.0 ID.AM, PR.PS, ISO/IEC 27002 8.8-8.9

Mērīšana un uzturēšana - nepārtraukts cikls

Uzbrukuma virsmas samazināšanas cikls Pieci soļi - inventārs, samazināt, cietināt, pārbaudīt, uzraudzīt - un atgriešanās pie inventāra. Virsma atgriežas ar katru instalāciju Zināt cilne 1, inventārs Samazināt cilnes 2-4 Sacietināt cilne 5, bāzes līnija Pārbaudīt cilne 6, salīdzināt Uzraudzīt cilne 6, novirze pēc katras izmaiņas un vismaz reizi ceturksnī

Ko mērīt

Atvērto portu skaits katrā sistēmā, iespējoto servisu skaits, automātiskās palaišanas ierakstu skaits un atbilstības procents pret izvēlēto bāzes līniju. Svarīgāka par vērtību ir tendence.

Skats no ārpuses

Uzbrucējs redz to, kas ir publiski: DNS ierakstus, sertifikātus un atvērtos portus. Savu domēnu var pārbaudīt ar web adreses pārbaudi, bet savas adreses - ar ārēju portu skenēšanu, ko drīkst veikt tikai savām sistēmām.

Regulējums

NIS2 21. pants prasa riska pārvaldības pasākumus, tostarp drošību sistēmu uzturēšanā un ievainojamību apstrādē. ISO/IEC 27002 8.9 prasa definētu un uzraudzītu konfigurāciju, 8.8 - tehnisko ievainojamību pārvaldību.

  1. Ir inventārs, un katrai programmai un servisam ir zināms nolūks.
  2. Atvērto portu saraksts ir saskaņots, un katram ir īpašnieks.
  3. Ugunsmūrī ienākošais trafiks ir liegts pēc noklusējuma, izejošais ierobežots, kur iespējams.
  4. Automātiskās palaišanas saraksts ir saglabāts un tiek salīdzināts ar iepriekšējo.
  5. Ir izvēlēta bāzes līnija (CIS, STIG, Microsoft vai mSCP), un atbilstība tiek pārbaudīta automātiski.
  6. Katra izmaiņa ir pierakstīta kopā ar atgriešanas soli.

Kopaina: Aizsardzības kartējums →

MITRE D3FEND 1.6.0

Ko aizsardzība dara - septiņas D3FEND taktikas

ATT&CK apraksta, ko dara uzbrucējs. D3FEND apraksta, ko pret to dara aizstāvis, un katru pretpasākumu sasaista ar ATT&CK tehnikām, uz kurām tas attiecas. Šī cilne rāda, kur šī ceļveža darbs iekrīt aizsardzības kopainā - un kas paliek ārpus tā.

Pirms incidenta - zināt un sacietināt

Model

Zināt, kas vispār ir jāaizsargā - aktīvi, tīkls, sistēmas savstarpējās saites.

  • Asset Inventory
  • Network Mapping
  • System Mapping

Šajā ceļvedī: cilne Inventārs.

Harden

Padarīt uzbrukumu dārgāku, pirms tas notiek: izslēgt lieko, sacietināt konfigurāciju.

  • Application Hardening
  • Platform Hardening
  • Credential Hardening

Šajā ceļvedī: Servisi, Bāzes līnijas.

Incidenta laikā - pamanīt un ierobežot

Detect

Pamanīt piekļuvi vai darbību - žurnāli, trafika analīze, izmaiņu salīdzinājums.

  • Network Traffic Analysis
  • File Analysis
  • Process Analysis

Šajā ceļvedī: Automātiskā palaišana, Mērīšana.

Isolate

Ierobežot, cik tālu uzbrucējs tiek: tīkla un izpildes robežas.

  • Network Isolation
  • Execution Isolation
  • Access Mediation

Šajā ceļvedī: Tīkla komunikācija (ugunsmūris noklusējumā liedz).

Deceive

Pievilināt uzbrucēju uz kontrolētu vidi un tā atklāt viņa klātbūtni.

  • Decoy File
  • Decoy Environment
  • Decoy User Credential

Ārpus šī ceļveža - prasa uzraudzītu vidi un reaģēšanas plānu.

Pēc incidenta - izdzīt un atgriezt

Evict

Izdzīt uzbrucēju: apturēt procesu, noņemt noturības ierakstu, mainīt akreditācijas datus.

  • Process Eviction
  • Credential Eviction
  • Object Eviction

Šajā ceļvedī: atspējošanas komandas Automātiskās palaišanas cilnē.

Restore

Atgriezt darbu: konfigurācija, programmatūra, piekļuve, dati.

  • Restore Configuration
  • Restore Software
  • Restore Access

Šajā ceļvedī: katrai maiņai blakus komanda, kas to atgriež.

Tehniku nosaukumi ir D3FEND taksonomijas nosaukumi (angliski, kā avotā); katram ir savs kods un saistītās ATT&CK tehnikas - d3fend.mitre.org. Kartējums šeit ir orientieris, ne atbilstības apliecinājums.

Kāpēc divi ietvari

ATT&CK dod kopīgu valodu par uzbrucēja soļiem, D3FEND - par pretpasākumiem. Kopā tie atbild uz jautājumu, kura tehnika ar kuru kontroli tiek segta, un kur kontroles nav nevienas.

Kartējums nav atbilstība

Tas, ka kontrole ir sarakstā, nenozīmē, ka tā strādā. Atbilstību pierāda mērījums: vai kontrole ir ieslēgta, vai to kāds pārbauda un vai to pamana, kad tā pārstāj darboties.