Hoofdcategorieën
Device Settings

Wachtwoorden soms jarenlang aanwezig op harde schijf

Door Arthur Scheffer, donderdag 10 juni 2004 16:09
Bron: New Scientist, views: 18.757

Onderzoekers van de Amerikaanse universiteit Stanford hebben vastgesteld dat wachtwoorden en persoonlijke informatie soms jarenlang op een harde schijf bewaard blijven, zo meldt New Scientist. Zoals bekend worden dergelijke gegevens tijdens gebruik opgeslagen in het RAM-geheugen, om kort daarna weer overschreven te worden. Echter, omdat zo nu en dan het RAM in zijn geheel gekopieerd wordt naar de harde schijf, kunnen de gegevens op de harde schijf belanden, waar ze oneindig bewaard kunnen worden. Uit simulaties blijkt nu dat veelgebruikte software zoals Apache, Internet Explorer en het Windows login-programma, geen enkele poging doen om dat kopiëren van intern geheugen te voorkomen, en ook geen tijdslimiet voor het opslaan van data hanteren. Hierdoor staan gebruikers volgens het team bloot aan onnodige risico's, omdat het niet denkbeeldig is dat de informatie door kwaadwillenden boven water gehaald kan worden.

EncryptieDe onderzoekers hopen dan ook dat programmeurs in de toekomst maatregelen treffen om persoonlijke informatie in het intern geheugen beter te beveiligen, bijvoorbeeld door gegevens in het RAM met nullen te overschrijven zodra ze niet meer nodig zijn, of door encryptie toe te passen op gevoelige data. Hoewel dergelijke aanpassingen makkelijk door te voeren zijn, wordt dat nu niet vaak gedaan omdat de processorkracht volgens het onderzoeksteam liever voor meer interessante dingen wordt gebruikt.

Volgende 16:20 Sony releast NW-E55 en NW-E75 Network Walkmans
Vorige 15:46 VisitorVille transformeert statistieken naar virtuele stad
Advertentie

Reacties

«  1  2  3  »

Misschien een beetje een first post actie, maar imma going to go ahead anyway,

Moet het niet zijn niet -ON-denkbeeldig?


En dat heeft VWO gehaald, ik ga me in een hoekje zitten schamen ..... :)

nee, denkbeeldig betekent "niet werkelijk bestaand" dus "niet denkbeeldig" betekent zoiets als dat het wel werkelijk bestaanbaar is (met een zekere waarschijnlijkheid) :P

"Niet ondenkbaar" lijkt mij de passende uitdrukking in deze context.

...omdat de processorkracht volgens het onderzoeksteam liever voor meer interessante dingen wordt gebruikt....

Persoonlijk denk ik dat beveiliging voorop moet staan en pas daarna de 'leukere' dingen

:? Overbodig? :?

Om de gegevens in het RAM te overschrijven met nullen kan toch nooit veel rekenkracht van de processor vragen, of zie ik dit verkeerd?

Dat zie je verkeerd, want:

Je RAM-geheugen zit vol met gegevens van tientallen programma's. Het is dus even werk om na te gaan welke programma's effectief dat geheugen nog nodig hebben en de lege gaten te vinden die nog niet zijn gebruikt (omdat het echt gaten worden zoals bij een defragmentatieprogramma te zien is). Het afspeuren op zich duurt niet zo lang, maar het zou je pc toch even vertragen, zeker als die vaker gebeurd per uur/minuut.
Het zou niet zo fijn zijn om zo een clean-up mee te maken tijdens een game ofzo, want dan mis je wel wat frames :p
Het zou ook een heel ander geheugenbeheer vragen, omdat er dan een tijdslimiet zou worden geplaatst op elk stukje ram-geheugen. Die tijdslimieten bijhouden en controleren is dus tijdrovend (lees: cpu-rovend).
Maar veiligheid staat boven alles! Je zou gewoon een soort sweap-optie in de kernel van windows moeten hebben die bij het afsluiten van beveiligde sites of programma's zo'n secure sweap doet vind ik.

wel nu, ik weet niet in hoeverre compilers en programma's met elkaar te vergelijken zijn, maar vroeger (lees vele jaren terug) was er in verschillende programmeertalen een automatische trash-collector die geheugen dat niet meer gebruikt werd vrijgaf. lijkt me niet zo'n grote ingreep om dat vrijgeven gelijk te laten scramblen

dit is allemaal niet nodig denk ik, als de genoemde programma's ZELF de gegevens overschrijven eens ze niet meer nodig zijn/afgesloten worden, is het probleem direct opgelost

Dat zie je niet verkeerd, want:

Als de genoemde programma's zelf zodanig aangepast worden dat ze hun eigen (password)buffers met nullen overschrijven alvorens dit geheugen vrij te geven gaat het wel goed, maar kost het weinig resources.

er staat een bestand van 256MB op mijn schijf even analyseren zodat ik de eventuele wachtwoorden er uit kan halen, heb je effe?

Ja hoor, als het maar genoeg oplevert!

Het gaat erom dat er word gesproekn over de gemiddelde consuent en die heeft over het algemeen niet publiekelijk bekend interessante data en daarom lijkt mij een dergelijke op-de-hoogte-stelling een beetje nietszeggend

Dus je vind het nietszeggend dat iemand anders via deze methode jouw inloggegevens van je telebankieren zou kunnen achterhalen? En dat dit ook kan mbv de computer in het internetcafe in Spanje waar je vorig jaar je saldo hebt gecontroleerd?

en dan nog ? Kunnen ze je saldo zien woepiee....
Er bestaat ook zoiets als een Tan-code.

Die code is al verlopen zodra je uitlogd, dus daar heb je al niets meer aan.

Magoed, ik heb toch liever performance op m'n computer waar ik alleen op zit, dan dat m'n ramgeheugen met een complete 512 kbit (of wathever) encrypty m'n processor staat vol te stampen.

Als de buitendeuren maar dicht zitten vind ik het als consument zijnde wel best. Voor grote organisaties waar het mogelijk is om achter meerdere werkplekken te gaan zitten en waar ze ook nog eens gevoelige informatie hebben kan ik me wel wat anders indenken.

Zoiets heet je swap file, en 256 MB is niet zo'n probleem. Ik denk dat je wel op bepaalde reeksen kan zoeken die kenmerkend zijn voor bepaalde programma's.

Heel even dan, maar meer is ook meestal niet nodig als men de namen van gezinsleden of uit het woordenboek gebruikt in het wachtwoord.

En ik kan me ook voorstellen dat de plaats in het geheugen wat wil/kan zeggen over de plaats in het bestand waar ze ongeveer moeten staan.
}>

Op zich kun je er zelf ook al wat aan doen:

---
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown

change value to '1' Hex (instead of '0')
---

Hiermee verwijder je elke keer de pagefile.sys als je je systeem afsluit, waar dergelijke informatie in zou kunnen staan.

Da's niet echt dé oplossing, dit is namelijk een van de vele plaatsen waarop deze zooi opgeslagen wordt ben ik bang.

Toch wel de oplossing, het RAM geheugen kopieert zichzelf naar het pagefile bestand en nergens anders naartoe. Daar gaat het hier om.
Als een programmeur van een stuk software nog eens besluit om wachtwoorden e.d. in een andere file op te slaan, dan komt dat niet uit het RAM geheugen maar rechtstreeks uit die file en wordt na te zijn opgeslagen ook weer vanuit die file opgevraagd.

Volgens mij wordt de pagefile niet overschreven, wat dus inhoud dat alle gegevens nog gewoon op de hardeschijf staan. Of zoals Qwerty het zeg, dat de pointer alleen maar weg is.

Overschrijft hij dan werkelijk de hele page file of doet hij net als bij een delete alleen de eerste pointer weg halen? Bij het laatste is dit probleem nog steeeds van toepassing. Zelfde geldt voor bestanden verwijderen die daarna op een makkelijke wijze meestal gedeeltelijk of zelfs in het geheel terug zijn te halen.

als je opnieuw opstart word de pagefile opnieuw aangemaakt en dus weer overschreven. Bij normaal gebruik word vrij snel dus de data overschreven.

Ik weet niet exact hoe het allocatie algorithme op een harddisk werkt, maar ik meen me te herinneren dat er iets bestond als least-recent-used-memory-space-block. Hetgeen zoveel betekent als: het besturingssysteem vraagt 'de diskdrive' om een pointer naar een voldoende groot stuk diskspace (bij voorkeur ongefragmenteerd) om data weg te schrijven. De drivecontroller zal dan op zoek gaan naar een deel van de disk dat al het langst niet meer is gebruikt en daarnaar een pointer teruggeven.

Juist door dit algorithme is het mogelijk om gewiste bestanden nog enige tijd later terug te vinden, tenzij je een vrij volle harddisk hebt: de diskruimte wordt dan eerder hergebruikt.

Volgens mij is een pagefile niet gebonden aan een specifieke locatie op de harde schijf. Dus als je de page file wist, en daarna reboot, dan is de kans klein dat de pagefile op exact dezelfde plek wordt aangemaakt. Da's dus geen veilige methode.

@Rembert:

Maar ook niet onveilig, want je moet dan dus de hele harddisk gaan afzoeken als je de data wilt hebben die in de oude pagefile stond...

Wachtwoorden soms jarenlang aanwezig op harde schijf
maar dan formateer je dus nooit?
lijkt me niet mogelijk als je windows gebruikt...
:P

* 786562 BackSlash32

Apache? Sinds wanneer is dat van oorsprong MS windows?

Bovendien maakt formatteren je schijf niet schoon.


Je hebt gelijk, ik bedoelde ook een MS windows only product. Het gaat blijkbaar ook op de *Nix bakken fout.

maar dan formateer je dus nooit?
Als ik ga formatteren dan verwijder ik alleen gegevens uit de MasterBootRecord, alle gegevens blijven gewoon op de harde schijf staan.
Je zult dus eerst alles moeten overschrijven op de harde schijf wil je er vanaf zijn, er zijn programma's die dit een stuk of 8x doen om er ook zeker van te zijn dat je die data niet alsnog kan nagaan.

Wachtwoorden mogen gewoon nooit zomaar on-encrypted in het geheugen geladen worden.

Dit staat -dacht ik- ook in het boek 'Writing Secure Code'. Iedere werknemer /programmeur van MS krijgt zo'n boek en er wordt dan ook verwacht dat ie dat leest natuurlijk.

Het probleem is hier niet dat ze unencrypted in het geheugen worden gezet, maar dat het in het geheugen blijft staan. Een memory dump met encrypted passwords is ook te kraken nl.

Wachtwoorden mogen gewoon nooit zomaar on-encrypted in het geheugen geladen worden

Ik vraag me toch af hoe je wilt voorkomen dat het ingevoerde wachtwoord niet in het geheugen komt te staan. Vooral met de nieuwe -hogere- programmeer talen kun je er niet zeker van zijn dat je waarde alleen maar op het stackframe blijft staan.
(of wordt je stackframe ook weggeswapped?)

k vraag me toch af hoe je wilt voorkomen dat het ingevoerde wachtwoord niet in het geheugen komt te staan. Vooral met de nieuwe -hogere- programmeer talen kun je er niet zeker van zijn dat je waarde alleen maar op het stackframe blijft staan.
Je kan ervoor zorgen dat het wachtwoord niet meer in het geheugen staat van zodra je het niet meer nodig hebt:

[code]
string pwd = getPwd();
// perform some stuff
pwd = string.Empty;[/code]

het gaat hier om applicaties die niet van MS zijn, kunnen ze niks aan doen!

applicaties die niet van MS zijn???

waar is Internet Explorer dan van???? |:(

Het is niet on-denkbaar :)

Dit lijkt een variant te zijn op de beveiligingsproblemen in windows 9x en ME. Daar werd het SWAP-geheugen namelijk in een bestand op de Harddisk opgeslagen (ik dacht win386.swp). De informatie die daarin stond (zoals wachtwoorden), kon daar jaren in blijven staan.

Hmm, interessant. Modernere Windows varianten gebruiken de harde schijf natuurlijk niet meer voor de swap file.

Geniaal van de jongens van Microsoft, ben benieuwd hoe ze dat voor elkaar hebben gekregen ;)

Is het zelfde als de pagefile in win2000/winXP etc etc etc...
alleen daar word ie pagefile.sys genoemd.

Hmm overschrijven met 0000-len heeft ook geen enkele zin. Als die 0000-len niet uitgeswapped worden naar dezelfe swap lokatie dan blijkt rustig je oude data staan.

Je maakt de kans kleiner dat een page wordt weggeschrijven naar de swapfile terwijl het wachtwoord er nog in staat.

en dus is het geen 'echte' oplossing maar een lapmiddel wat de kans verkleint.

Dit lijkt een variant te zijn op de beveiligingsproblemen in windows 9x en ME. Daar werd het SWAP-geheugen namelijk in een bestand op de Harddisk opgeslagen (ik dacht win386.swp). De informatie die daarin stond (zoals wachtwoorden), kon daar jaren in blijven staan.

Haha, grap nummer een was vroeger altijd om die swap file read-only te maken: de systeembeheerder kreeg toen zoveel wazige meldingen..... :7

Nu eens kijken wat de inhoud is..... :Y)
«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 16:20 Sony releast NW-E55 en NW-E75 Network Walkmans
Vorige 15:46 VisitorVille transformeert statistieken naar virtuele stad
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011