Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Recall (előzetes verzió) lehetővé teszi a felhasználók számára, hogy természetes nyelv használatával helyileg mentett és elemezett pillanatképeket keressenek a képernyőjükön. Recall integrálható adatveszteség-megelőzési (DLP) szolgáltatókkal, hogy megakadályozza a bizalmas tartalmak tárolását a szervezeti szabályzatok alapján. Ez a cikk azt a nyilvános API-t ismerteti, amely bármely RecallDLP eszközzel használható.
Rendszerarchitektúra
Az alábbi ábra bemutatja, hogyan kommunikál a Windows Recall a DLP szolgáltatóval:
┌─────────────────────────────────────────────────────────────┐
│ Windows Recall │
│ - Captures screenshots and app content │
│ - Queries DLP provider before capturing │
└─────────────────────┬───────────────────────────────────────┘
│ Query: Should we capture this window?
│ Context: Process, Window, File, Labels
▼
┌─────────────────────────────────────────────────────────────┐
│ AIContext.exe Process │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Your DLP Provider DLL (loaded in-process) │ │
│ │ - Evaluates organizational policies │ │
│ │ - Returns capture restrictions │ │
│ │ - Provides sensitivity label information │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────┬───────────────────────────────────────┘
│ Response: Allow/Block/Warn/Audit
│ Labels: Sensitivity information
▼
┌─────────────────────────────────────────────────────────────┐
│ Windows Recall │
│ - Enforces returned restrictions │
│ - Displays sensitivity labels to user │
│ - Logs audit events as required │
└─────────────────────────────────────────────────────────────┘
Nyilvános API
Alapvető struktúrák
RestrictionEnforcement Enumeration
Egy adott korlátozás kényszerítési szintjét határozza meg.
enum RestrictionEnforcement
{
RestrictionEnforcement_Allow = 0,
RestrictionEnforcement_AuditAndAllow = 1,
RestrictionEnforcement_Warn = 2,
RestrictionEnforcement_Block = 3,
};
Értékrend:
- RestrictionEnforcement_Allow (0): A művelet korlátozás nélkül engedélyezett.
- RestrictionEnforcement_AuditAndAllow (1): A művelet engedélyezett, de naplózás céljából naplózni kell.
- RestrictionEnforcement_Warn (2): A művelet figyelmeztetést kér a felhasználótól a folytatás előtt.
- RestrictionEnforcement_Block (3): A művelet teljes mértékben le van tiltva.
Korlátozások struktúrája
Meghatározza a különböző műveletek kényszerítési szintjét.
struct Restrictions
{
RestrictionEnforcement CopyToClipboard;
RestrictionEnforcement CaptureInRecall;
};
Tagok:
- CopyToClipboard: A tartalom vágólapra másolásának kényszerítési szintje.
- CaptureInRecall: A pillanatképekben lévő Recall tartalom rögzítésének kényszerítési szintje.
SensitivityLabelDescription Structure
Információt nyújt a felhasználó számára megjelenítendő bizalmassági címkéről.
struct SensitivityLabelDescription
{
LPCWSTR Name;
LPCWSTR Color;
LPCWSTR TooltipText;
uint32_t Sensitivity;
};
Tagok:
- Név: A bizalmassági címke megjelenítendő neve (például "Bizalmas").
- Szín: Hexa színkód vizuális ábrázoláshoz (például "#FF0000").
- Elemleírásszöveg: Leíró szöveg jelenik meg, amikor a felhasználó rámutat a címkére.
- Érzékenység: Numerikus érzékenységi szint (a magasabb értékek nagyobb érzékenységet jeleznek).
EnterpriseContextQuery-struktúra
Információkat tartalmaz a rögzítési kérelemről és a szolgáltató válaszáról DLP .
struct EnterpriseContextQuery
{
uint32_t ProcessId;
uint64_t WindowHandle;
LPCWSTR FileName;
LPCWSTR SensitivityLabelId;
LPCWSTR OrganizationId;
SensitivityLabelDescription SensitivityLabelDescription;
Restrictions Restrictions;
};
Tagok:
- ProcessId: A rögzíteni kívánt alkalmazás folyamatazonosítója.
- WindowHandle: A rögzített ablak kezelése.
- FileName: Az alkalmazásban megnyitott fájl teljes elérési útja (ha van).
- SensitivityLabelId: Bármely meglévő bizalmassági címke azonosítója.
- OrganizationId: Szervezeti azonosító az aktuális felhasználói környezetből.
- SensitivityLabelDescription: A megjelenítendő bizalmassági címke információi (szolgáltató által kitöltve).
- Korlátozások: A kikényszerítendő (szolgáltató által kitöltött) korlátozások rögzítése.
Megjegyzés:
Az alkalmazások az API-val UserActivity.ContentInfo bizalmassági címkeadatokat adhatnak meg. Az alkalmazások formázásával és megadásával kapcsolatos részletekért lásd: Bizalmassági címkék megadása a Recall UserActivity ContentInfo-hoz.
Szükséges DLL-exportálások
A DLP szolgáltató DLL-jének exportálnia kell ezeket a függvényeket az alábbi pontos névvel:
EnterpriseContextProvider_QueryEnterpriseContext
Recall meghívja ezt a függvényt a rögzítési kérések kiértékeléséhez.
HRESULT STDMETHODCALLTYPE EnterpriseContextProvider_QueryEnterpriseContext(
_In_ ULONG totalQuerySizeBytes,
_Inout_updates_all_(totalQuerySizeBytes / sizeof(EnterpriseContextQuery)) EnterpriseContextQuery* queryBuffer);
Paraméterek:
- totalQuerySizeBytes: A lekérdezési puffer teljes mérete bájtban.
-
queryBuffer: Mutató egy struktúratömbre
EnterpriseContextQuery. A szolgáltatónak a szervezeti szabályzatok alapján frissítenie kell a mezőket ésRestrictionsaSensitivityLabelDescriptionmezőket.
Visszatérési érték:
- Sikert ad
S_OKvissza, vagy a hiba megfelelőHRESULThibakódját adja vissza.
Megjegyzések:
A Windows egyszerre több lekérdezést is küldhet a hatékonyság érdekében. A megvalósításnak a pufferben lévő összes lekérdezést fel kell dolgoznia, és a visszatérés előtt frissítenie kell a megfelelő mezőket.
EnterpriseContextProvider_FlushEnterpriseContext
Recall rendszeres időközönként meghívja ezt a függvényt, hogy a szolgáltató szabadíthassa fel a gyorsítótárazott sztringeket vagy erőforrásokat.
VOID STDMETHODCALLTYPE EnterpriseContextProvider_FlushEnterpriseContext();
Megjegyzések:
Recall meghívja ezt a függvényt, miután megvizsgálta vagy átmásolja az adatokat egy korábbi lekérdezési válaszból. Ezzel a függvénnyel felszabadíthatja az erőforrásokat, kiürítheti a gyorsítótárakat, vagy karbantartási műveleteket hajthat végre.
Szolgáltató regisztrációja
Beállításjegyzék beállítása (szolgáltató)
A DLP szolgáltató telepítése létrehoz egy beállításjegyzék-bejegyzést, amely tartalmazza a DLL elérési útját:
HKEY_LOCAL_MACHINE\SOFTWARE\YourCompany\DLP
InstallPath REG_SZ C:\Program Files\YourCompany\DLP
Biztonsági szempontok:
A beállításkulcs megkeményítése a jogosulatlan módosítás megakadályozása érdekében. Állítsa be a megfelelő ACL-eket, hogy csak a rendszergazdák írási hozzáférését korlátozza.
Csoportházirend konfigurálása (rendszergazda)
A rendszergazdák az adatveszteség-megelőzési szolgáltató csoportházirendjének használatával konfigurálják a szolgáltatót:
-
Házirend neve:
SetDataLossPreventionProvider - Házirend helye: Számítógép konfigurációjának > felügyeleti sablonjai > Windows-összetevők > Windows AI
-
Szabályzatérték formátuma:
key:<REGISTRY_PATH>; value:<VALUE_NAME>; binary:<DLL_NAME>
Fontos: A value mező a beállításjegyzék-érték nevére hivatkozik a megadott beállításkulcs keyalatt.
Példakonfiguráció:
Ha egy beállításjegyzék-bejegyzést a következő használatával gyűr le:
reg add HKLM\Software\YourCompany\DLP -v InstallPath -t REG_SZ -d "C:\Program Files\YourCompany\DLP"
A DLL neve YourCompanyDLP.dllpedig a következő:
key:HKLM\software\YourCompany\DLP; value:InstallPath; binary:YourCompanyDLP.dll
Nem kötelező verzióellenőrzés:
Megadhat egy minimálisan szükséges verziót a DLP szolgáltató számára:
key:HKLM\software\YourCompany\DLP; value:InstallPath; binary:YourCompanyDLP.dll; minversion:1.2.0.0
Ha megad egy minversionfájlt, csak akkor tölti be a bináris fájlt, Recall ha annak verziója egyenlő vagy nagyobb, mint a megadott verzió.
Lekérdezésfeldolgozási folyamat
Tipikus interakciós sorrend
Windows Recall előkészíti a tartalom rögzítését egy alkalmazásablakból.
Recall olyan lekérdezéseket hoz létre , amelyek a következőket tartalmazzák:
- A célalkalmazás folyamatazonosítója és ablakleírója
- Fájl elérési útja (ha az alkalmazás rendelkezik megnyitott dokumentumokkal)
- Bármilyen meglévő bizalmassági címke információja
- Szervezeti azonosító az aktuális felhasználói környezetből
A DLP A Szolgáltató az egyes lekérdezéseket a szervezeti szabályzatok alapján értékeli ki :
- Ellenőrizze, hogy az alkalmazást rögzíteni kell-e
- Fájlszintű korlátozások ellenőrzése
- Bizalmassági címkék kiértékelése
- Felhasználó-/csoportspecifikus szabályzatok alkalmazása
A szolgáltató a frissített lekérdezési struktúrákat a következőkkel adja vissza :
-
Restrictions.CaptureInRecall: A rögzítés engedélyezése, figyelmeztetése, naplózása vagy blokkolása -
SensitivityLabelDescription: Címkenév, szín és elemleírás a megjelenítéshez - Minden egyéb vonatkozó korlátozási információ
-
A Windows Recall kikényszeríti a visszaadott korlátozásokat:
- Engedélyezés: A rögzítések általában
- AuditAndAllow: Rögzíti és naplózza a műveletet
- Figyelmeztetés: A rögzítés előtt kéri a felhasználót
- Blokk: Megakadályozza a teljes rögzítést
1. példa lekérdezési forgatókönyv: "Bizalmas" címkével ellátott Word-dokumentum
Bemenet:
- Folyamat:
winword.exe - Fájl:
SecretProject.docx - Címke:
Confidential
Az Ön feldolgozása:
Ellenőrizze a dokumentumbesorolási szabályzatot a szervezeti szabályokon.
kimenet:
-
CaptureInRecall:RestrictionEnforcement_Block -
SensitivityLabelDescription.Name: "Bizalmas – Ne rögzítse"
2. példa lekérdezési forgatókönyv: Webböngésző nyilvános webhelyen
Bemenet:
- Folyamat:
msedge.exe - Ablak:
news.example.com
Az Ön feldolgozása:
Ellenőrizze a tartományt a jóváhagyott listán.
kimenet:
-
CaptureInRecall:RestrictionEnforcement_Allow
3. példa lekérdezési forgatókönyv: Pénzügyi alkalmazás
Bemenet:
- Folyamat:
FinanceApp.exe - Felhasználó:
finance_user
Az Ön feldolgozása:
Ellenőrizze a felhasználói csoport és az alkalmazás érzékenységét.
kimenet:
-
CaptureInRecall:RestrictionEnforcement_AuditAndAllow -
SensitivityLabelDescription.Name: "Pénzügyi adatok – Auditált"
Végrehajtási irányelvek
Teljesítménnyel kapcsolatos szempontok
- Kötegelt feldolgozás: A Windows egyszerre több lekérdezést is küldhet a hatékonyabb működés érdekében. Optimalizálja a kódot a kötegelt feldolgozás kezeléséhez.
-
Gyorsítótárazás: Szükség esetén gyorsítótárazhatja a szabályzattal kapcsolatos döntéseket a válaszidő javítása érdekében. A függvény használatával kezelheti a
FlushEnterpriseContextgyorsítótár életciklusát. - Aszinkron műveletek: Kerülje a lekérdezési függvény műveleteinek blokkolását. Térjen vissza gyorsan, hogy ne legyen hatással a felhasználói élményre.
Hibakezelés
- Adja vissza a megfelelő
HRESULTkódokat a különböző hibafeltételekhez. - A függvény használatával
FlushEnterpriseContextmegtisztíthatja az erőforrásokat. - Kezelje azokat az eseteket, amikor a szabályzatadatok átmenetileg nem érhetők el (alapértelmezés szerint a biztonságos működéshez).
Biztonsági követelmények
- In-Process végrehajtás: A DLL folyamatban fut a AIContext.exe folyamaton belül emelt szintű jogosultságokkal.
- Biztonságos kódolási eljárások: Kövesse a memóriakezelés biztonságos kódolási eljárásait. Ellenőrizze az összes bemeneti paramétert.
- Digitális aláírás: A DLL-nek hitelesítendőnek kell lennie az üzembe helyezéshez. Az aláíratlan bináris fájlok nincsenek betöltve.
- Beállításjegyzék-védelem: A csoportházirendben megadott beállításkulcs megkeményítése a jogosulatlan módosítások megakadályozása érdekében.
Betöltési folyamat
Recall használatával LoadLibraryEx betölti a DLL-t a beállításjegyzékben megadott elérési útról, majd meghívja GetProcAddress a szükséges exportált függvények címeinek lekérését. A hívás QueryEnterpriseContextRecall után megvizsgálja és átmásolja az adatokat a válaszból, majd meghívjaFlushEnterpriseContext, hogy a szolgáltató szabadíthassa fel a lefoglalt erőforrásokat.
Első lépések
A szolgáltató létrehozásához és üzembe helyezéséhez kövesse az DLP alábbi lépéseket:
A DLL fejlesztése a szükséges exportálások implementálásával:
EnterpriseContextProvider_QueryEnterpriseContextEnterpriseContextProvider_FlushEnterpriseContext
Tesztelje az implementációt mintalekérdezésekkel a különböző forgatókönyvek megfelelő viselkedésének biztosítása érdekében.
Írja alá a bináris fájlt authenticode tanúsítvánnyal.
Olyan telepítési folyamat létrehozása , amely:
- A DLL telepítése biztonságos helyre
- A beállításjegyzék-bejegyzés beállítása a megfelelő ACL-ekkel
- Konfigurációs eszközöket biztosít rendszergazdáknak
Adjon meg csoportházirend-utasításokat a rendszergazdáknak a
SetDataLossPreventionProviderszabályzat konfigurálásához.Üzembe helyezés és konfigurálás vállalati környezetben.
Kapcsolódó hivatkozások
Windows developer