Egyetlen sor, amely azt mondja: „utolsó kézfogás, két perccel ezelőtt”, folyamatos aktivitás bizonyítékának látszik, és gyengébb annál. Az egyik partner utolsó befejezett kulcscseréjét jelöli, amely fix kulcsfrissítési időzítő szerint történik, amíg adatforgalom van, és leáll, amikor a partner elhallgat. Hogy az az idő összekapcsol-e egy személyt bármivel, a mellette tárolt azonosítóktól és mindkét rendszer óráitól függ. Íme, hogyan viselkedik a rekord a két legelterjedtebb stackben, és hol hibázik az olvasata.

Két rekord, két különböző jelentés

A WireGuard partnereként egy kézfogás-időbélyeget tart, amely minden kulcsfrissítéskor kicserélődik, valamint bájt-számlálókat mindkét irányban. Az OpenVPN általában egy munkamenet kezdetét, egy kapcsolatbontást és mindazt rögzíti, amit a beállított részletesség hozzáad, ami a rekord egységét munkamenetté teszi kulcscsere helyett.

Ez a különbség dönti el, mit jelent a hiány:

QuestionWireGuard handshakeOpenVPN session log
Did the peer send recently?Strong hint within the rekey windowNot answered by start time alone
Did the peer stop?Weak, because idle peers also stop rekeyingOnly if a disconnect was written
What was visited?NothingNothing

Miért nem folyamatos használat a kézfogás

A WireGuard körülbelül kétpercenként frissíti a kulcsokat, amíg van védenivaló adat, és a tétlenné váló partner egyszerűen leáll. Így egy elavult kézfogás jelentheti azt, hogy a laptop alszik, a felhasználó abbahagyta a munkát, vagy a hálózat eldobta a következő cserét kiváltó csomagokat. Az időbélyeg az aktivitás alsó korlátja, nem a figyelem nyomkövetője.

A fordított hiba ugyanilyen könnyű. A folyamatos keepalive-forgalom melegen tartja az alagutat egy tétlen eszközön, így friss kézfogás jelenhet meg egy gépen, amelyhez egy órája senki nem nyúlt. A bájt-számlálók itt segítenek, mert megkülönböztetik a valódi adatot küldő partnert attól, amely csak keepalive-okat cserél, és azt is megmondják, melyik irány vitte a forgalmat. Ezek egyike sem fed fel célt, oldalt vagy lekérdezést.

Az azonosítók az időbélyeggel együtt utaznak

Egy fiók, nyilvános kulcs vagy forrásoldali cím nélküli idő árva. Párosítsa az időbélyeget a partner identitásával, és a megfigyelés összekapcsolhatóvá válik: a nyilvános kulcs megmarad a címváltozásokon át, míg a forrásoldali címet sok előfizető oszthatja a szolgáltató címfordítása mögött.

Ez az aszimmetria az, amit a legtöbb adatvédelmi vita elvét. A cím anonimnak tűnik, mert megosztott, és a kulcs technikainak tűnik, mert hosszú, pedig a stabil azonosító a kulcs. Az egyik mező megtartása és a másik elvetése megváltoztatja a korrelációs kockázatot anélkül, hogy a látszólagos pontosságot változtatná.

Maga a korreláció a dokumentált aggodalom. Egy kapcsolódási idő összekötése egy szolgáltató bejelentkezési eseményével, egy támogatási jeggyel vagy egy fizetési rekorddal összekapcsolhat egy identitást egy tevékenységgel akkor is, ha soha nem írtak le célállomást, és ezért fontosabb a párosítás, mint a formázás.

A rendszerek közötti korreláció óravédelmet igényel

Két rendszer, amely ugyanazt a pillanatot jelenti, ritkán egyezik meg másodpercre. Az egyik időzóna-eltolást alkalmazhat a kimenetén, a másik több másodperccel hibás órán futhat, és egy virtuális gép elcsúszhat egy felfüggesztés után.

Mielőtt arra következtetne, hogy két esemény együtt történt, alakítsa mindkettőt ugyanabba a zónába, és ellenőrizze az eltolást a nyers rekordban, nem a megjelenítésben. Ha a mért rés kisebb a valószínű eltérésnél, egyáltalán nincs sorrendje.

A gyakorlati szabály az, hogy tartsa meg a hibaelhárítási feladat által igényelt pontosságot, és semmi többet. Az óránkénti munkamenetek száma válaszol egy elérhetőségi kérdésre anélkül, hogy fiókonkénti előzményt tartana, és egy összesítés sokkal tovább megőrizhető, mint a nyers sorok, amelyekből származott.

Parancsokkal olvassa a rekordot, ne képzelettel

Nyomtassa ki azokat a mezőket, amelyekről gondolkodni fog, azokban az egységekben, amelyeket az eszköz tárol, és nem azokban, amelyeket egy irányítópult megjelenít.

Ez a két sor a kézfogás korát és a bájt-számlálókat mutatja minden WireGuard-partnerhez, majd ugyanilyen anyagot egy OpenVPN állapotfájlból:

wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.status

Hasonlítsa össze a kort a kulcsfrissítési intervallummal, mielőtt következtetést von le, és olvassa a számlálókat is vele együtt. A friss kézfogású és szinte semmilyen átvitelű partner keepalive-okat cserél, míg az elavult kézfogású és nagy számlálójú partner elfoglalt volt, amíg le nem állt. Egyik sor sem mondja meg, mi történt, és ezt nyíltan kimondani pontosabb, mint azt sugallni, hogy az időbélyeg látogatást bizonyít.

Kapcsolódó cikkek