Lühidalt: Veebisaidi pahavaraskanner leiab peamiselt tuntud mustreid failides või väljastatud lehel. Uus ja hägustatud kood, tagauksed andmebaasis, võõrad kontod, cron-tööd ja SSH-võtmed jäävad sageli nähtamatuks. „Ei leitud midagi“ ei tähenda seetõttu „puhas“. Usaldusväärseks muutub kontroll alles skanneri, originaaliga võrdluse, andmebaasi ja süsteemi kontrolli ning käitumise seire kombinatsioonist.
Rohelise linnukese järgne petlik rahu
Pärast PHP2Shelli on paljud haldajad teinud selle, mis on ilmselge: lasknud skanneri käima. Veebiteenus kontrollib avalehte, turvaplugin otsib veebikataloogi läbi, tulemus on roheline. Sellega näib küsimus vastatud, kas enne paika juhtus midagi.
Probleem seisneb põhimõttes. Enamik skannereid võrdleb sisu tuntud pahavara mustritega. Aukude CVE-2026-109618 ja CVE-2026-109619 kohta ei ole aga avaldatud ega kinnitatud kompromiteerimistunnuseid (Indicators of Compromise); tuvastamine põhineb käitumisanalüüsil. Skanner ei saa otsida jälgi, mida keegi ei tunne. Parimal juhul leiab ta üldist pahavara, mis pärast sissemurdmist järele laaditi, kui see järgib tuntud mustreid.
See ei tee skannereid väärtusetuks. See tähendab ainult, et nende tulemus tuleb õigesti paigutada. Millised tunnused skanneritest kaugemale loevad, kirjeldab Kas olen juba kompromiteeritud?.
Veebisaidi pahavaraskannerid: kolm ehitusviisi
| Ehitusviis | Mida see näeb | Mida see ei näe |
|---|---|---|
| Väline skanner (veebiteenus) | väljastatud lehed, ühendatud skriptid, ümbersuunamised, blokeerimisnimekirjad | failid, andmebaas, kontod, kõik, mida väljastatakse ainult tingimustel |
| Skanner CMS-is (plugin või laiendus) | failid veebikataloogis, osaliselt andmebaasi sisu, võrdlus tuumafailidega | süsteemitasand, cron-tööd, SSH; töötab võimalikult kompromiteeritud süsteemis |
| Skanner serveris (signatuuripõhine) | kõik loetavad failid, ka väljaspool veebikataloogi | tundmatud ja hägustatud mustrid, andmebaas, kontod, käitumine |
Välised skannerid on kasulikud nähtavate tagajärgede, näiteks ümbersuunamiste või blokeerimisnimekirjade kirjete tuvastamiseks. Paljud häkid väljastavad oma rämpsu- või ümbersuunamissisu aga ainult teatud külastajatele, näiteks otsingumootoritele või mobiilseadmetele. Skanner näeb siis puhast lehte.
CMS-i skanneritel on rohkem ülevaadet, kuid põhimõtteline probleem: need töötavad samas süsteemis, mida nad kontrollima peavad. Piisavate õigustega kood võib nende tulemusi mõjutada, faile peita või skanneri välja lülitada. Serveriskannerid töötavad rakendusest väljaspool, kuid jäävad mustritest sõltuvaks.
Mida skannerid põhimõtteliselt märkamata jätavad
Sõltumata ehitusviisist on valdkondi, mida faili- või lehtede skanner vaevu katta suudab:
- Uus või individuaalselt hägustatud kood: iga variant, mis näeb tuntud mustritest erinev välja, lipsab läbi.
- Andmebaas: skriptid sisus, muudetud sätted, trigerid ja võõrad kontod. Rohkem artiklis Andmebaasi kontrollimine sissetoodud koodi suhtes.
- Ligipääsud: täiendavad administraatorikontod, SSH-võtmed, andmebaasikasutajad, kontod majutuspaneelis.
- Süsteemiteenused ja cron-tööd: mehhanismid, mis kahjulikku koodi korrapäraselt järele laevad.
- Märkamatud muudatused legitiimsetes failides: üksainus lisarida tuumafailis, mis näeb kahjutu välja.
- Välja voolanud andmed: kas ligipääsuandmeid või klientide andmeid kopeeriti, seda ei näita ükski skanner.
Mis annab selle asemel kindluse
Rohkem kindlust annab erinevalt töötavate kontrollitüüpide kombinatsioon:
- Võrdlus originaaliga: see leiab iga muudatuse tuntud failides, mustritest sõltumata. Tegevust kirjeldab CMS-i tuumafailide võrdlemine originaaliga.
- Sihipärane otsing kõrvalekallete järele: PHP-failid üleslaadimiskaustades, hiljuti muudetud failid, hägustatud kood, käivitatavad failid ajutistes kaustades.
- Kontode ja süsteemiteenuste kontroll: võrrelge kasutajaid, võtmeid, cron-töid ja teenuseid teadaoleva õige seisuga.
- Logianalüüs: päringud tundmatutele failidele, vigade sagenemine, ebatavalised sisselogimised.
- Käitumise seire: veebiserveri protsessid, mis käivitavad shelli, ootamatud väljaminevad ühendused, uued failid tundlikes kaustades.
Viimane kategooria on kõige olulisem, kui tuntud jälgi ei ole. See ei küsi, kuidas kahjulik kood välja näeb, vaid mida see teeb. Veebiserveri protsess, mis äkki käivitab shelli, jääb silma, olenemata sellest, kui hägustatud on käivitav kood.
Laske serveriskanneril töötada puhtast süsteemist kirjutuskaitstud koopial, mitte kahtlasel serveril endal. Nii ei saa sissetoodud kood tulemust mõjutada.
Kuidas skannereid mõistlikult kasutada
Skanneritel on oma koht, ühe tööriistana mitme seas. Väline skanner sobib nähtavate tagajärgede korrapäraseks kontrolliks, näiteks iganädalaselt. CMS-i skanner annab igapäevaselt märku tuntud pahavarast ja muudetud tuumafailidest. Serveriskanner täiendab tuntud mustrite otsimist kogu failisüsteemis.
Otsustav on tulemusega ümberkäimine. Leid on selge kontrolliülesanne ja õigustab täielikku uurimist, sest harva on mõjutatud ainult üks fail. Tühi tulemus on seevastu vaid väide kontrollitud mustrite kohta. Märkige oma dokumentatsioonis, milline skanner millal millise seisuga töötas, ja kirjutage mitte „süsteem puhas“, vaid „tuntud mustreid ei leitud“.
Juhtkonna jaoks tähendab see: roheline linnuke ei asenda kontrolli, mille teeb keegi, kes vaatleb koos faile, andmebaasi, kontosid ja käitumist. Pärast intsidenti võimaliku koodi käivitamisega, nagu PHP2Shelli puhul mõeldav, peaks see kontroll toimuma.
Kui skanner teatab leiust, on vaja kiiret, kuid korrastatud tegutsemist. Ärge kustutage teatatud faili kohe skanneri funktsiooni kaudu. Kindlustage esmalt fail ja logid, et saaks selgitada, kuidas see serverisse sattus. Kuidas täielik puhastamine käib, kirjeldab teenus Pahavara ja veebishellide eemaldamine.
Kuidas PHP SOS konkreetselt aitab?
- Kombineerime skannerid originaaliga võrdluse, sihipärase otsingu ning kontode, teenuste ja logide analüüsiga.
- Kontrollime kahtlasi süsteeme kindlustatud koopiate kaudu, et kompromiteeritud süsteem tulemusi ei mõjutaks.
- Märgime iga tulemuse ausalt tõendatud, tõenäoline või teadmata.
- Veebiserverite turvaseirega jälgime püsivalt teie serverite käitumist, mitte ainult tuntud mustreid.
Korduma kippuvad küsimused
Kas minu veebisait on puhas, kui pahavaraskanner midagi ei leia?
Mitte tingimata. Skannerid leiavad peamiselt tuntud mustreid. Uus või hästi hägustatud kood, tagauksed andmebaasis, võõrad kontod, cron-tööd ja SSH-võtmed jäävad sageli avastamata. Tühi tulemus on üks ehituskivi, mitte õigeksmõistmine.
Mis vahe on välisel skanneril ja pluginapõhisel skanneril?
Väline skanner pärib veebisaiti väljastpoolt ja näeb ainult seda, mis välja antakse. Pluginapõhine skanner töötab CMS-i sees ja saab faile lugeda, kuid töötab samas süsteemis, mis võib olla kompromiteeritud. Mõlemal on oma pimedad laigud.
Kas PHP2Shelli jaoks on skanneri signatuure?
PHP2Shelli kohta ei ole avaldatud ega kinnitatud kompromiteerimistunnuseid (Indicators of Compromise). Skannerid ei saa seetõttu sihipäraselt kindlaid PHP2Shelli jälgi otsida. Tuvastamine põhineb käitumisanalüüsil ja üldiste kompromiteerimise tunnuste otsimisel.
Milline skanner on parim?
Küsimus eksitab. Olulisem kui kindel toode on erinevate kontrollitüüpide kombinatsioon: võrdlus originaaliga, otsing failides ja andmebaasis, kontode ja süsteemiteenuste kontroll ning käitumise seire.