Megosztás a következőn keresztül:


Kártevőirtó szolgáltatások védelme

A Windows 8.1 bevezette a védett szolgáltatások új koncepcióját a kártevőirtó szolgáltatások védelmére, amelyek a kártevők általi támadások gyakori célpontja.

Megtudhatja, hogyan védheti meg a kártevőirtó (AM) felhasználói módú szolgáltatásait, és hogyan dönthet úgy, hogy ezt a funkciót belefoglalja a kártevőirtó szolgáltatásba.

Ezek az információk a következő operációs rendszerekre és azok követőire vonatkoznak:

  • Windows 8.1
  • Windows Server 2012 R2

Az itt tárgyalt hivatkozások és források a témakör végén jelennek meg.

Bevezetés

A legtöbb kártevőirtó megoldás tartalmaz egy felhasználói módú szolgáltatást, amely speciális műveleteket végez a kártevők észlelésére és a rendszerből való eltávolítására. Ez a felhasználói módú szolgáltatás gyakran felelős a legújabb vírusdefiníciók és aláírások letöltéséért is. Ez a felhasználói módú szolgáltatás a kártevők gyakori célpontjává válik, mivel ez a rendszer védelmének letiltásának egyetlen pontja. A felhasználói módú szolgáltatással szembeni támadások elleni védekezéshez a kártevőirtó gyártóknak sok funkciót és heurisztikus funkciót kell hozzáadniuk a szoftverükhöz. Az ilyen technikák azonban nem teljesen bolondbiztosak, és általában hibalehetőséget jelentenek, mivel azonosítaniuk kell a Windows által a szolgáltatásukon végrehajtott funkciókat, és szelektíven engedélyezniük kell ezt a funkciót.

A Windows 8.1-ben bevezettük a védett szolgáltatás új fogalmát, amely lehetővé teszi a kártevőirtó felhasználói módú szolgáltatások védett szolgáltatásként való elindítását. A szolgáltatás védettként való elindítása után a Windows kódintegritással engedélyezi a megbízható kód betöltését a védett szolgáltatásba. A Windows emellett védi ezeket a folyamatokat a kódinjektálástól és a rendszergazdai folyamatoktól érkező egyéb támadásoktól.

Ez a dokumentum azt ismerteti, hogy egy kártevőirtó-gyártó és egy korai indítású kártevőirtó (ELAM) illesztőprogram hogyan engedélyezheti ezt a funkciót, és hogyan indíthatja el kártevőirtó szolgáltatását védett szolgáltatásként.

Rendszer által védett folyamat

A Windows 8.1-től kezdve a rendszerkritikus összetevőket érő rosszindulatú támadások elleni hatékonyabb védelem érdekében új biztonsági modellt hoztak létre a kernelben. Ez az új biztonsági modell kiterjeszti a Windows védett folyamatinfrastruktúra korábbi verzióit, amelyek bizonyos forgatókönyvekhez, például DRM-tartalmak lejátszásához használatosak, egy olyan általános célú modellre, amelyet külső kártevőirtó gyártók használhatnak. A védett folyamatinfrastruktúra csak megbízható, aláírt kód betöltését teszi lehetővé, és beépített védelmet nyújt a kódinjektálási támadások ellen.

Jegyzet

A codeIntegrity a következő szkriptelési DLL-eket tiltja egy védett folyamaton belül (akár közvetlenül, akár közvetve töltődik be), például a WinVerifyTrust vagy a WinVerifyTrustEx használatával, a parancsfájl-aláírások AuthentiCode-on keresztüli ellenőrzéséhez: scrobj.dll, scrrun.dll, jscript.dll, jscript9.dllés vbscript.dll.

A védett folyamatokról további információt Védett folyamatok a Windows Vista-ben című témakörben talál.

Az új biztonsági modell a védelmi folyamat infrastruktúrájának egy kissé eltérő változatát, a rendszer által védett folyamatot használja, amely alkalmasabb erre a funkcióra, mivel ez elkülöníti a DRM-tartalmat. Minden rendszer által védett folyamat rendelkezik egy társított szinttel vagy attribútummal, amely a folyamaton belül betölthető aláírt kód aláírási szabályzatát jelzi. Miután a kártevőirtó szolgáltatások a védett szolgáltatás módba léptek, csak a kártevőirtó gyártó tanúsítványaival aláírt Windows-aláírt kód vagy kód tölthető be ebben a folyamatban. A többi védett folyamatszinthez hasonlóan a Windows különböző kódszabályzatokat is kikényszerített.

Követelmények

Ahhoz, hogy egy kártevőirtó felhasználói módú szolgáltatás védett szolgáltatásként fusson, a kártevőirtó szállítónak telepítve kell lennie egy ELAM-illesztőprogramnak a Windows-gépen. A meglévő ELAM-illesztőprogram-minősítési követelmények mellett az illesztőprogramnak rendelkeznie kell egy beágyazott erőforrásszakaszsal, amely tartalmazza a felhasználói módú szolgáltatás bináris fájljainak aláírásához használt tanúsítványok adatait.

Fontos

A Windows 8.1-ben a tanúsítási láncnak vagy az illesztőprogram-ellenőrzés által meghatározott ismert gyökérnek kell lennie, vagy a főtanúsítványt is tartalmaznia kell.

A rendszerindítási folyamat során a rendszer kinyeri ezt az erőforrásszakaszt az ELAM-illesztőprogramból a tanúsítványadatok érvényesítéséhez és a kártevőirtó szolgáltatás regisztrálásához. A kártevőirtó szolgáltatás a kártevőirtó szoftvertelepítési folyamat során is regisztrálható egy speciális API meghívásával, a jelen dokumentum későbbi részében leírtak szerint.

Miután az erőforrásszakaszt sikeresen kinyerte az ELAM-illesztőprogramból, és a felhasználói módú szolgáltatás regisztrálva van, a szolgáltatás védett szolgáltatásként indítható el. A szolgáltatás védettként való elindítása után a rendszeren lévő egyéb nem védett folyamatok nem fognak tudni szálakat injektálni, és nem lesznek engedélyezettek a védett folyamat virtuális memóriájába való írásra.

Ezenkívül a védett folyamatba betöltött nem Windows rendszerű DLL-eket megfelelő tanúsítvánnyal kell aláírni.

Az ELAM-illesztőprogramokkal kapcsolatos további információkért lásd a korai indítású kártevőirtók témát.

Kártevőirtó szolgáltatás aláírási követelményei

A védettként indítandó felhasználói módú szolgáltatást érvényes tanúsítványokkal kell aláírni. A szolgáltatás EXE-nek alá kell írnia a lapkivonatot, és a szolgáltatásba betöltött, nem Windows rendszerű DLL-eket is ugyanazokkal a tanúsítványokkal kell aláírni. Ezeknek a tanúsítványoknak a kivonatát hozzá kell adni az erőforrásfájlhoz, amely az ELAM-illesztőhöz lesz csatolva.

Jegyzet

SHA256 fájl-/oldalkivonatokat kell használni, bár a tanúsítványok továbbra is SHA1-nek minősülhetnek.

Javasoljuk, hogy a kártevőirtó-gyártók a meglévő Authenticode-tanúsítványukkal aláírják a kártevőirtó szolgáltatás bináris fájljait, és hogy az Authenticode tanúsítvány kivonata szerepeljen az erőforrásszakaszban, hogy jelezzék a szolgáltatás bináris fájljainak aláírásához használt tanúsítványt. Ha frissíti ezt a tanúsítványt, az ELAM-illesztőprogram újabb verzióját kell kiadni a frissített tanúsítványkivonatokkal.

Másodlagos aláírás (nem kötelező)

A kártevőirtó szoftverek gyártói beállíthatnak egy saját hitelesítésszolgáltatót, és ennek tanúsítványaival másodlagos aláírásként kódolására használhatják a kártevőirtó binárisokat. A magánhálózati hitelesítésszolgáltató használatának fő előnye, hogy lehetővé teszi a szállítók számára, hogy speciális EKU-tulajdonsággal rendelkező tanúsítványokat hozzanak létre, amelyek felhasználhatók az azonos szállítótól származó több termék megkülönböztetésére. Emellett csökkenti az ELAM-illesztőprogram frissítésének szükségességét a tanúsítvány lejárata miatt, mivel a magánhálózati hitelesítésszolgáltató tanúsítványai általában hosszabb lejárati dátumokkal rendelkeznek.

Vegye figyelembe, hogy ha a szolgáltatás bináris fájljai a privát hitelesítésszolgáltatói tanúsítványokkal vannak aláírva, a bináris fájloknak kettős aláírással kell rendelkeznie a meglévő Authenticode-tanúsítványokkal. Ha a bináris fájlokat nem egy jól ismert megbízható hitelesítésszolgáltató (például VeriSign) írja alá, a gép felhasználója nem bízik a bináris fájlokban, mert nem tudnak megbízni a privát hitelesítésszolgáltatóban. A bináris fájlok meglévő Authenticode-tanúsítvánnyal való kettős aláírásával a bináris fájlok alacsonyabb szintű operációs rendszereken is futtathatók.

A hitelesítésszolgáltató beállításával és telepítésével kapcsolatos további információkért lásd: A hitelesítésszolgáltató beállítása és A hitelesítésszolgáltató telepítése.

Jegyzet

A Windows Vista vagy a Windows XP (vagy az SHA2 javítás nélküli Windows 7) kompatibilitásához használhatja a "/as" kapcsolót, amikor a bináris fájlokat SignTool.exe az SHA256-fájl/lap kivonatokkal aláírja. Ez másodlagos aláírásként adja hozzá az aláírást a fájlhoz. Az SHA1 először írja alá a fájlt, mivel a Windows XP, a Windows Vista és a Windows 7 csak az első aláírást fogja látni.

DLL-aláírási követelmények

Ahogy korábban említettük, a védett szolgáltatásba betöltött nem Windows rendszerű DLL-eket ugyanazzal a tanúsítvánnyal kell aláírni, mint amelyet a kártevőirtó szolgáltatás aláírásához használtak.

Katalógus aláírása

A kártevőirtók olyan csomagokat is tartalmazhatnak, amelyeket más vállalatok fejlesztettek ki a bináris aláírások frissítése nélkül. Ez úgy érhető el, hogy a bináris fájlokat bele kell venni egy katalógusba, amely az Authenticode tanúsítványával van aláírva, az alábbi lépések végrehajtásával:

  1. Katalógus létrehozása MakeCat használatával
  2. Az összes bináris fájl hozzáadása megfelelő aláírás nélkül a katalógushoz
  3. Tanúsítsa a katalógust az Authenticode tanúsítvánnyal, ahogy bármely más bináris fájlt is tanúsítana.
  4. Használja a katalógus funkciót a katalógusnak az alkalmazásba való felvételéhez.

Ha a kódintegritás megfelelő aláírás nélkül jelenik meg a csomagokban, jóváhagyott aláírással rendelkező katalógust fog keresni. Ezt a katalógust mindaddig megtalálja, amíg ezeket a lépéseket követi, és telepítve van az alkalmazással.

Erőforrásfájl adatai

Létre kell hozni és csatolni kell egy erőforrásfájlt az ELAM-illesztőhöz. A tanúsítvány kivonatát és a többi tanúsítványinformációt hozzá kell adni az erőforrásfájlhoz.

Az erőforrásszakasznak a következő elrendezésben kell lennie ahhoz, hogy a rendszer sikeresen kinyerje az erőforrásokat a bináris rendszerképből, és ellenőrizze a beágyazott tanúsítványadatokat.

MicrosoftElamCertificateInfo  MSElamCertInfoID
{
      3, // count of entries
      L”CertHash1\0”,
      Algorithm,
      L”EKU1\0”,
      L”CertHash2\0”,
      Algorithm,
      L”\0”, //No EKU for cert hash 2
      L”CertHash3\0”,
      Algorithm,
      L”EKU3a;EKU3b;EKU3c\0”,  //multiple EKU entries supported (max: 3)
}

További információ a felhasználó által definiált erőforrásfájlról: User-Defined Erőforrás.

CertHash

A kártevőirtó szolgáltatás aláírásához használt tanúsítvány kivonata. A CertUtil.exe eszköz, ami a Windows SDK-val együtt jelenik meg, használható a hash érték beszerzéséhez.

certutil.exe –v <path to the signed file>

Például:

kártevőirtóval védett szolgáltatástanúsítvány-kivonat (certhash)

Algoritmus

Az algoritmus értéke a tanúsítvány algoritmusát jelöli. Ezek az algoritmusértékek támogatottak:

0x8004 – SHA1 0x800c – SHA256 0X800d – SHA384 0x800e – SHA512

Ne feledje, hogy az algoritmus értékét (a fent látható módon) ne az algoritmus tényleges nevét adja meg. Ha például a tanúsítvány az SHA256 algoritmuson alapul, vegye fel a 0x800c az erőforrásszakaszba.

EKU

Az EKU-objektum egy tanúsítvány egyetlen kiterjesztett kulcshasználati (EKU) tulajdonságát jelöli. Ez nem kötelező, és a "\0" értéket kell megadni, ha a tanúsítványhoz nincs társítva EKU. Abban az esetben, ha egyetlen kártevőirtó szállítótól több termék és szolgáltatás fut ugyanazon a rendszeren, a kártevőirtó szállító a magánhálózati hitelesítésszolgáltató tanúsítványának EKU-tulajdonságával megkülönböztetheti az egyik szolgáltatást a másiktól. Ha például két szolgáltatás fut a rendszeren ugyanabból a kártevőirtó-gyártóból, és ugyanazzal a hitelesítésszolgáltatóval van aláírva, a védettként indítandó szolgáltatás aláírható egy hitelesítésszolgáltató által kiadott tanúsítványsal, amely egy speciális EKU-t tartalmaz. Ezt az EKU-t hozzá kell adni az erőforrás szakaszhoz. Ezt követően a rendszer regisztrálja az EKU-t, és párosítja a tanúsítványkivonattal a szolgáltatás védettként való érvényesítéséhez és elindításához.

Kérjük, vegye figyelembe, hogy a tanúsítványláncnak tartalmaznia kell a Kódaláíró EKU-t (1.3.6.1.5.5.7.3.3), de ez az EKU nem szerepelhet az ELAM-illesztőprogram erőforrásszakaszában.

Jegyzet

Ha az ELAM-illesztőprogram tanúsítványinformációi tartalmazzák az EKU-információkat, akkor ugyanazt az EKU-t kell használni a bináris fájlok aláírásakor.

Jegyzet

A Windows kód integritásának OID string reprezentációja az EKU-ban legfeljebb 64 karakter hosszúságú, beleértve a nullával végződő karaktert is.  

Jegyzet

Ha több EKU-t ad meg, akkor azok kiértékelése AND logikával történik. A végfelhasználói tanúsítványnak meg kell felelnie az ELAM-erőforrásszakaszban megadott összes EKU-nak az adott bejegyzéshez.

Gróf

Ha a kártevőirtó szolgáltatás bináris példánya az Authenticode tanúsítvánnyal és a magánhálózati hitelesítésszolgáltatói tanúsítvánnyal van aláírva, csak a magánhálózati hitelesítésszolgáltató tanúsítványadatait kell hozzáadni az erőforrásszakaszhoz.

Kártevőirtó szolgáltatások indítása védett módon

A szolgáltatás regisztrálása

A kártevőirtó szolgáltatást regisztrálni kell a rendszerben, mielőtt védettként indítható lenne. A kártevőirtó szoftver telepítése során a telepítő telepítheti az ELAM-illesztőprogramot, és újraindíthatja a rendszert a szolgáltatás automatikus regisztrálásához. A rendszer rendszerindításkor regisztrálja a szolgáltatást a tanúsítványadatok kinyerésével a fent említett erőforrásfájlból, amely az ELAM-illesztőhöz van csatolva.

A telepítési fázisban erősen ajánlott újraindítani a rendszert annak érdekében, hogy az ELAM-illesztő betöltse és ellenőrizze a rendszer állapotát. Azokban az esetekben azonban, amikor az újraindítást el kell kerülni, a Windows egy olyan mechanizmust is elérhetővé tesz, amely lehetővé teszi a kártevőirtó telepítő számára a szolgáltatás API-val védettként való regisztrálását.

A szolgáltatás regisztrálása a rendszer újraindítása nélkül

A telepítés során egy kártevőirtó szoftvertelepítő meghívhatja a InstallELAMCertificateInfo API-t, és megadhatja az ELAM-illesztőprogramfájl leíróját. A rendszer megnyitja az ELAM-illesztőt, belső rutinokat hív meg annak érdekében, hogy az ELAM-illesztőprogram megfelelően legyen aláírva, és kinyeri a tanúsítványadatokat az ELAM-illesztőprogramhoz társított erőforrásszakaszból. A függvényszintaxisért lásd InstallELAMCertificateInfo.

Kódpélda:

HANDLE FileHandle = NULL;

FileHandle = CreateFile(<Insert Elam driver file name>,
                        FILE_READ_DATA,
                        FILE_SHARE_READ,
                        NULL,
                        OPEN_EXISTING,
                        FILE_ATTRIBUTE_NORMAL,
                        NULL
                        );

if (InstallElamCertificateInfo(FileHandle) == FALSE)
{
    Result = GetLastError();
    goto exitFunc;
}

A szolgáltatást védett üzemmódban indítva

A telepítő az alábbi lépéseket követve hozhatja létre, konfigurálhatja és elindíthatja a szolgáltatást védettként:

  1. Hívja meg a CreateService API-t egy szolgáltatásobjektum létrehozásához és a szolgáltatásvezérlő (SCM) adatbázisához való hozzáadásához.

  2. Hívja meg a SetServiceObjectSecurity API-t az 1. lépésben létrehozott szolgáltatásobjektum biztonsági leírójának beállításához.

  3. Hívja meg a ChangeServiceConfig2 API-t a szolgáltatás védettként való megjelöléséhez, és adja meg az új SERVICE_CONFIG_LAUNCH_PROTECTED számbavételi értéket, amely a Winsvc.h-ban lett hozzáadva (a Windows 8.1-es verziótól).

    Kód példa

    SERVICE_LAUNCH_PROTECTED_INFO Info;
    SC_HANDLE hService;
    
    Info.dwLaunchProtected = SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT;
    
    hService = CreateService (/* ... */);
    
    if (ChangeServiceConfig2(hService,
                             SERVICE_CONFIG_LAUNCH_PROTECTED,
                             &Info) == FALSE)
    {
        Result = GetLastError();
    }
    
  4. A szolgáltatás elindításához hívja meg a StartService API-t. A szolgáltatás védettként való indításakor az SCM a Kódintegritási (CI) alrendszerrel ellenőrzi a tanúsítványinformációk ellenőrzését. Miután a tanúsítványinformációkat a CI érvényesítette, az SCM védettként indítja el a szolgáltatást.

    1. Vegye figyelembe, hogy ez a lépés meghiúsul, ha még nem regisztrálta a szolgáltatást az InstallELAMCertificateInfo API meghívásával.
    2. Ha a szolgáltatás úgy van konfigurálva, hogy automatikusan elinduljon a rendszer indítási fázisában, elkerülheti ezt a lépést, és egyszerűen újraindíthatja a rendszert. Az újraindítás során a rendszer automatikusan regisztrálja a szolgáltatást (ha az ELAM-illesztő sikeresen elindul), és védett módban indítja el a szolgáltatást.
    3. Ha a szolgáltatás nem indul el, tekintse meg a kódintegritás eseménynaplózásával és rendszer auditálásával kapcsolatos információkat, valamint a következő témákat. Itt részletesebb hibaüzeneteket talál, amelyekből megtudhatja, hogy a Kódintegritási rendszer miért akadályozta meg a szolgáltatás elindítását. Ezek a naplók segíthetnek azonosítani azokat a DLL-eket is, amelyeket a szolgáltatás megpróbált betölteni, de nem sikerült.

Gyermekfolyamat indítása védett módon

Az új biztonsági modell lehetővé teszi a kártevőirtóval védett szolgáltatások számára a gyermekfolyamatok védettként való elindítását is. Ezek a gyermekfolyamatok a szülőszolgáltatással azonos védelmi szinten fognak futni, és a bináris fájljaikat ugyanazzal a tanúsítvánnyal kell aláírni, amelyet az ELAM-erőforrásszakaszon keresztül regisztráltak.

Annak érdekében, hogy a kártevőirtó védelemmel ellátott szolgáltatás védettként indítsa el a gyermekfolyamatot, egy új kiterjesztett attribútumkulcsot (PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL) tettek közzé, amelyet az UpdateProcThreadAttribute API-val kell használni. Az PROTECTION_LEVEL_SAME attribútumértékére mutató mutatót az UpdateProcThreadAttribute API-ba kell továbbítani.

Megjegyzések:

  • Az új attribútum használatához a szolgáltatásnak CREATE_PROTECTED_PROCESS is meg kell adnia a CreateProcess hívás folyamatlétrehozás jelölőparaméterében.
  • A /ac kapcsolóval alá kell írnia a szolgáltatás bináris fájljait, hogy a kereszttanúsítványt egy ismert hitelesítésszolgáltatóhoz láncolhassa. Az önaláírt tanúsítvány az ismert legfelső szintű hitelesítésszolgáltatóhoz való megfelelő láncolás nélkül nem fog működni.

Kódpélda:

DWORD ProtectionLevel = PROTECTION_LEVEL_SAME;
SIZE_T AttributeListSize;

STARTUPINFOEXW StartupInfoEx = { 0 };

StartupInfoEx.StartupInfo.cb = sizeof(StartupInfoEx);

if (InitializeProcThreadAttributeList(NULL,
                                      1,
                                      0,
                                      &AttributeListSize) == FALSE)
{
    Result = GetLastError();
    goto exitFunc;
}

StartupInfoEx.lpAttributeList = (LPPROC_THREAD_ATTRIBUTE_LIST) HeapAlloc(
    GetProcessHeap(),
    0,
    AttributeListSize
    );

if (InitializeProcThreadAttributeList(StartupInfoEx.lpAttributeList,
                                      1,
                                      0,
                                      &AttributeListSize) == FALSE)
{
    Result = GetLastError();
    goto exitFunc;
}

if (UpdateProcThreadAttribute(StartupInfoEx.lpAttributeList,
                              0,
                              PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL,
                              &ProtectionLevel,
                              sizeof(ProtectionLevel),
                              NULL,
                              NULL) == FALSE)
{
    Result = GetLastError();
    goto exitFunc;
}

PROCESS_INFORMATION ProcessInformation = { 0 };

if (CreateProcessW(ApplicationName,
                   CommandLine,
                   ProcessAttributes,
                   ThreadAttributes,
                   InheritHandles,
                   EXTENDED_STARTUPINFO_PRESENT | CREATE_PROTECTED_PROCESS,
                   Environment,
                   CurrentDirectory,
                   (LPSTARTUPINFOW)&StartupInfoEx,
                   &ProcessInformation) == FALSE)
{
    Result = GetLastError();
    goto exitFunc;
}

Frissítések és karbantartás

A kártevőirtó szolgáltatás védettként való elindítása után más, nem védett folyamatok (és még a rendszergazdák) sem tudják leállítani a szolgáltatást. A szolgáltatás bináris fájljainak frissítése esetén a kártevőirtó szolgáltatásnak visszahívást kell kapnia a telepítőtől, hogy leálljon, hogy szervizelhető legyen. A szolgáltatás leállítása után a kártevőirtó telepítő elvégezheti a frissítéseket, majd a fenti lépéseket követve regisztrálhatja a szolgáltatás és A szolgáltatás védettként való regisztrálása szakaszokban leírt lépéseket a tanúsítvány regisztrálásához és a szolgáltatás védettként való elindításához.

Vegye figyelembe, hogy a szolgáltatásnak biztosítania kell, hogy csak megbízható hívók tudják leállítani a szolgáltatást. Ha a nem megbízható hívók ezt lehetővé teszik, azzal nem védik meg a szolgáltatást.

A szolgáltatás regisztrációjának megszüntetése

Védett szolgáltatás eltávolításakor a szolgáltatásnak nem védettként kell megjelölnie magát a ChangeServiceConfig2 API meghívásával. Vegye figyelembe, hogy mivel a rendszer nem engedélyezi a védett szolgáltatások konfigurációjának módosítását, a ChangeServiceConfig2 meghívását magának a védett szolgáltatásnak kell végrehajtania. Miután a szolgáltatás újrakonfigurálva lett, hogy nem védettként fusson, az eltávolító egyszerűen elvégezheti a megfelelő lépéseket a kártevőirtó szoftver eltávolításához a rendszerből.

Kártevőirtóval védett szolgáltatás hibakeresése

A védett folyamat biztonsági modelljének részeként más, nem védett folyamatok nem tudnak szálakat injektálni vagy írni a védett folyamat virtuális memóriájába. A kernel hibakeresője (KD) azonban bármely kártevőirtóval védett folyamat hibakereséséhez engedélyezett. A KD arra is használható, hogy ellenőrizze, hogy a kártevőirtó szolgáltatás védettként fut-e, vagy sem:

dt –r1 nt!_EPROCESS <Process Address>
+0x67a Protection       : _PS_PROTECTION
      +0x000 Level            : 0x31 '1'
      +0x000 Type             : 0y0001
      +0x000 Signer           : 0y0011

Ha a Típus tag értéke 0y0001, a szolgáltatás védettként fut.

Emellett csak a következő SC-parancsok engedélyezettek a kártevőirtóval védett szolgáltatásban:

  • sc config start=Auto
  • sc qc
  • sc start
  • sc interrogate
  • sc sdshow

Ha a hibakereső csatlakoztatva van, a beállításjegyzékben a következő jelzőt használva törjön be a hibakeresőbe, amikor a program nem aláírt (vagy nem megfelelően aláírt) bináris fájlokat tölt be a kártevőirtó által védett szolgáltatásba.

Key:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI
Value: DebugFlags      REG_DWORD

Állítsa 00000400 értékre, hogy az aláírás ellenőrzése sikertelenség esetén megszakadjon a hibakeresőben.

Jegyzet

Védett folyamat korlátozásai:

  1. A felhasználói felülettel vagy grafikus felhasználói felülettel rendelkező folyamatok nem védhetők, mert a kernel zárol egy folyamatot a memóriában, és nem engedélyezi az írást.
  2. A Windows 10 1703-es verziója (a létrehozók frissítése) előtt a védett folyamatok nem használhatják a TLS- vagy SSL-kommunikációs protokollokat a helyi biztonsági hatóság (LSA) és egy védett folyamat közötti tanúsítványmegosztás korlátozása miatt.

Erőforrások

További információ:

Ezekre a Windows API-függvényre a következő cikkben hivatkozunk: