Existuje (aplikační)firewall pro Linux a Pro Windows, který by uměl násladující funkci? Potažmo mají firewally tuto funkci běžně?
Když v pravidlu je konkrétní aplikace( cesta,hash,... to je jedno), analyzují i sérii Parent PID , kterou aplikaci spustily, a obráceně aplikují dané kopii pravidel i na aplikace spuštěné danou aplikací? (jsou to 2 případy - dopředně i zpětně)
Cil: znemožnění malwaru obejit omezení firewallu tím, že si spustí komunikační podproces
Modelové příklady:
1. (aplikace pravidel PPID na potomky) i když potomek je whitelistovaný) Mám aplikaci wget.exe, kterou mám whitelistovanou (že se může připojovat kamkoli). Pokud ale stáhnu a spustím malware (hmm, zamyslel jsem se, kdy naposled .....), který by si něco chtěl stáhnout nepo curl -XPOSTnout, bude chytrý a nebude iniciovat spojení na vlastní triko, ale třeba spustí wget.exe přes %PATH%.. Tady by firewall měl ohlídat, že stejná pravidla se použijí pro wget.exe, jelikož nyní je v roli podprocesu (ačkoli technicky vždy je každý proces protomek nějakého procesu, holt se to nějak musí rozlišit, nebo explorer.exe,cmd budou whitelistované)
2.
Mám nějakou aplikaci, do které si mohu stáhnout pluginy. nebo aplikace umožňuje skriptování a může dojít třeba rozšířením nebo updatem, "že zvlčí".(neže byse pozměnil hash samotné binárky, ale vir se stáhnul do pluginů. že díky malware pluginu spustí child process. A teď aby se na child procesy aplikovaly pravidla jako pro neznámé procesy , i kdyby třeba ho uložila pod jménem .byl wget.exe . (Opravdu jde o jiný příklad enež 1, je nutno vzít i v úvahu něco jako POLICY pro aplikace, co nejsou v seznamu.)
JDe to specifikovat i s nějakými nastaveními a flagy, jako kolik úrovní hledat zpět, případě přerušit lookup, pokud se narazí známý PPID, případně vynutit pravidlo, pokud jeden z PPID bude neznámý...?
Navíc nějak je potřeba spravovat priority pravidel.
3. uplně mimo, je možné nějak ve windows a v linuxu zakázat aplikacím (všem nebo vybraným) spouštět podprocesy / nebo (obráceně) určit jména aplikací, které nemohou být (v roli child process) spouštěný nadřazeným procesem ? Něco jako firewall na "fork?" (Jasně, dost by to nabouralo základní smysl a funkci OS), ale jak jinak zakázat :
- neznámým aplikacím spouštět podprocesy
- vybraným procesům jako wget,ssh,telnet zakázat aby byly spouštěny neznámými procesy
?
5 Nějak trackovat, soubory vytvořené aplikací, aby dědily pravidla dle aplikace, která je vytvořil (zapsala nadisk)?
---
v příáḱladech mám na mysli aplikační firewall, ten co běží na tom počítači, co má chránit, takové ty zone alarmy, symantecy atd.