Az informatikai biztonság kimeríthetetlen tárháza a jószándékú, ám a megvalósítandó cél szempontjából, mondjuk úgy, kevéssé hatékony ötleteknek. Időről időre találkozhatunk csupán csak szerencsétlen, esetenként pedig egyenesen elrettentő példákkal. Manapság a GDPR okán a legnagyobb felhajtás talán az adatbiztonság terén tapasztalható. Nem véletlen, hogy az elkövetett malőrök is erre területre koncentrálódnak.
Az aktuális történet egy megnevezni nem kívánt biztosító társaságról szól. A társaság elektronikus levélben volt szíves tájékoztatni arról, hogy egy kényelmi szolgáltatással szeretnék megkönnyíteni az életemet. Mint írták, "számos ügyfél jogos kérésének eleget téve" rendszeresen emlékeztetőt küldenének a következő biztosítási díj esedékességéről. Gondoltam, ez egy teljesen jó proaktív lépés, amivel próbálják megelőzni a mindenki számára kellemetlen késedelmi kamatok kiszabását.
A tájékoztató levél következő mondata azonban erős kétségeket ébresztett bennem azzal kapcsolatban, hogy éljek-e a szolgáltatással. Közölték ugyanis, hogy adatvédelmi okokra hivatkozva a levél csatolmánya csak "biztonsági azonosítás után olvasható el".
A pokolba vezető út és a jó szándék kövei
Ez eddig rendben is lenne. De fontos kérdés, hogyan történik meg ez az azonosítás. Ez ilyen helyzetben legegyszerűbben úgy oldható meg, ha olyan információt használunk a csatolmány “titkosítására”, ami mindkét fél – vagyis jelen esetben a biztosító és az ügyfél – által ismert és könnyen hozzáférhető. Kézenfekvő megoldásnak tűnhet például az ügyfél valamely azonosítója, mondjuk személyi igazolvány száma vagy születési dátuma. Nos, a biztosító a voksát ez esetben az utóbbi mellett tette le.
A megoldás valóban kézenfekvő. Ám ha végiggondoljuk, ez adatvédelmi szempontból nem hogy javítana, hanem még valamelyest ront is a helyzeten. Nem érti? Megmagyarázom.
Mi történik, ha illetéktelen kezekbe kerül a levél, és az a valaki kíváncsi? Kitalálja a születési dátumot, hozzáfér a dokumentumhoz, és ráadásként megszerez egy sor azonosító információt rólam.
Amikor a nyolc számjegy jóval kevesebb
A születési dátum egy nyolc számjegyű szám (év: négy számjegy, hónap: két számjegy, nap: két számjegy, értelemszerűen ilyen szituációkban a hónap első kilenc napját 0-val kezdjük) első közelítésben jó választásnak tűnhet, mivel egy ilyen szám variációinak száma százmillió, ami lássuk be még forintban sem kevés, nem hogy variációban. Kézi erővel lehetetlen végigpróbálni belátható időn belül, de gépi módszerekkel is túl nagy erőfeszítést jelent a dokumentum tartalmának értékéhez képest.
És ezen a ponton jön az ominózus DE. A születési dátum ugyanis csak látszólag ad ilyen mennyiségű variációt. A gyakorlatban más a helyzet. Mivel 2018-at írunk, és itt jellemzően nagykorúak azonosításáról van szó, a sorozat első két számjegye szinte biztosan 19. De nézzük tovább: sem a hónapok (belőlük összesen 12 van) és napok (maximum 31) sem vehetnek fel minden értéket.
Ha tehát az ügyfél valamikor az elmúlt száz évben született, akkor 100×365, azaz összesen 36 500 variációt lehet kialakítani a születési dátumából, plusz a szökőnapok száma. Ez már egy olyan mennyiség, amit akár manuális próbálgatás mellet is belátható idő belül vissza lehet fejteni, egy egyszerű automatával pedig másodperc alatt megoldható egy ilyen súlyú feladat. Azaz pillanatok alatt feloldható a csatolt PDF dokumentum "titkosítása" – és itt már nagyon is jogos az idézőjel. A próbálkozó pedig máris elnyerte fáradozása méltó jutalmát: a címzett születési dátumát és a a dokumentum tartalmát.
A szerzőről
Pfeiffer Szilárd a Balasys szoftverfejlesztési vezetője. Pályáját az UHU Systemsnél kezdte. 2003-tól tizenegy éven át a Balabit fejlesztője, majd scrum mastere. Jelenlegi pozícióját a Balasysnél 2014-től tölti be.
A probléma voltaképpen nem az, hogy a a levelet megszerző cracker hozzáférhetett a csatolmányban foglaltakhoz, hiszen abban csupán egy név, egy kötvényszám, egy esedékességi dátum és a fizetendő összeg szerepel. Ha azonban minden kezébe került információt összerak, már komoly érték van a kezében.
Súlyosak lehetnek a következmények
A nevet össze tudja kapcsolni egy email címmel, illetve ami ennél sokkal fájóbb, egy születési dátummal – ezek olyan adatok, amiket számos helyen szokás például telefonos ügyfélszolgálat, jelszócsere és miegyebek kapcsán azonosításra használni. És akkor arról még nem is beszéltünk, hogy a születési dátum személyes adatnak minősül, amit a biztosító akaratlanul ugyan, de kiszolgáltatott a levélhez hozzáférő személyeknek.
Ez azért különösen pikáns, mert mindenzt egy amúgy nagyon is helyeselhető célra, az adatvédelemre hivatkozva teszi. És akkor arról még nem is beszéltünk, hogy az elektronikus levelek továbbításakor szinte semmilyen garancia nincs arra, hogy a továbbítás titkosított csatornán történik. Manapság az elektronikus levelek lehallgatása közel sem akkora kihívás, mint azt elsőre gondolhatnánk.
Történik mindez az Európai Unió egy tagállamában, és akkor, amikor az európai általános adatvédelmi rendelet, az az elmúlt évben naponta ezerszer mantrázott GDPR – ami meglehetősen szigorú követelményeket támaszt a szolgáltatókkal szemben az ügyfelek személyes adatainak védelmét illetően – még három hete sincs hatályban.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak