DNS covert channel a gyakorlatban

Varga Tamás <>
NIIF Intézet

A DNS (Domain Name System) az internet egyik legfontosabb, bár
háttérben működő szolgáltatása, amit folyamatosan és intenzíven
használunk. Ez teszi lehetővé többek közt, hogy könnyen megjegyezhető
neveket társítsunk a szolgáltatásokat nyújtó IP címekhez.

A DNS sok biztonsági problémát is felvet. Ezek közül az egyik, hogy
rejtett kommunikációs csatorna (covert channel) építhető ki DNS
üzenetváltások segítségével. Az USA kormányának egyik biztonsági
szerve is vizsgálta az ilyen rejtett csatornák lehetőségét,
felderíthetőségét. Ez a dokumentum, és minden más, amivel eddig
találkoztam mind azon alapult, hogy a rejtett üzenetet külön erre a
célra létrejövő DNS üzenetváltásokba ágyazták be. Az ilyen csomagok
folyamatos jelenléte a hálózaton gyanús, ezért ez a forgalom könnyen
kiszűrhető.

Az előadás során bemutatok egy, az eddigiektől eltérő DNS üzenetre
épülő rejtett csatornát, mely passzív adatátvitelre képes: nem generál
újabb DNS üzenetváltásokat, hanem a normál felhasználás közben
keletkező DNS üzeneteket használja. Ezen üzenetek egy kötelező, fix
hosszúságú mezőjébe ágyazva továbbítja az információt, ezáltal
megőrizve a csomag érvényességét.

Az így megalkotott covert channel egy egyszerű példa szituáció
keretében átültetem a gyakorlatban. Egy fertőzött linux desktopot
futtató kliens gépről szivárog - észrevétlenül - adat, melyet a kliens
által használt fertőzött rekurzív dns szerver dolgoz fel. Az így
létrejött adatátvitel adatforgalmi szempontból észrevétlen marad a
hálózatot monitorozó rendszerek előtt.