Dataminer ontdekt verwijzingen naar aantekeningenfunctie in Steam

Valve lijkt te werken aan een functionaliteit om aantekeningen te maken voor bepaalde games. Deze zouden beschikbaar zijn in de Library en op het web, volgens een dataminer. De aantekeningen kunnen bijvoorbeeld gebruikt worden voor puzzels.

Dat meldt Pavel Djundik, dataminer van Valve-software en voorman van SteamDB. Hij laat twee screenshots zien van programmacode met verwijzingen naar het aantekeningensysteem. Hij vermeldt niet waar hij deze heeft aangetroffen, maar vermoedelijk bevinden de teksten zich in een bètaversie van de Steam-applicatie.

Een releasedatum voor de functie is er niet. Aanwezigheid van dergelijke code in een publiekelijk beschikbare client betekent alleen dat eraan gewerkt wordt. Het kan ook zijn dat de functie alsnog geschrapt wordt en helemaal niet beschikbaar komt.

Onlangs kreeg Steam de functie om gamedata lokaal van het ene apparaat naar het andere over te zetten, zodat een game niet tweemaal gedownload hoeft te worden. Ook is Big Picture Mode voorzien van het uiterlijk van SteamOS en vorig jaar kwamen er winkelhubs en een nieuwe mobiele app met snellere 2fa.

Door Mark Hendrikman

Redacteur

20-03-2023 • 10:58

31 Linkedin

Reacties (31)

31
31
14
1
0
15
Wijzig sortering
Er is al iets soortgelijks wat je kan gebruiken door de homepagina van je steam overlay browser aan te passen en https://custeam.io/ te gebruiken. Daarmee kan je een soort eigen start pagina maken met o.a. notities per spel. Heb het een tijdje gebruikt, maar je moet regelmatig opnieuw inloggen of linken met je steam account waardoor het vervelend werd. Als de notitie functie standaard wordt in de steam overlay dan zal dat al heen handig zijn denk ik.
Ik zou momenteel vooral heel voorzichtig zijn met third-party diensten van wat voor vorm dan ook te benaderen via de overlay browser, aangezien Steam nog steeds Chromium versie 85 gebruikt. Meer dan 2.5 jaar oud, en relatief gezien bomvol exploitable vulnerabilities - incl. gevaarlijke remote code execution issues die in het wild misbruikt werden en worden.

Valve's eigen DOTA 2 gebruikt ook de V8 JS engine van Chromium voor scripting doeleinden. Ook een oude versie. En iemand was daar sinds eerste kwartaal 2022 ook al lekker aan de weg a/h timmeren met een RCE om, naar het lijkt, een malware dropper te maken:
https://arstechnica.com/i...hed-in-dota-2-for-months/

Het is daar bij Valve qua security maintenance echt goed mis, eigenlijk.

[Reactie gewijzigd door R4gnax op 20 maart 2023 22:53]

Zijn dataminers legaal?
Waarom niet? Het is gewoon kijken wat er geïnstalleerd staat op je pc. Je bekijkt dus de bestanden, bekijkt wat de DLL's doen.

Je mag toch ook onder de motorkap van je auto kijken?
Waarom niet? Het is gewoon kijken wat er geïnstalleerd staat op je pc. Je bekijkt dus de bestanden, bekijkt wat de DLL's doen.

Je mag toch ook onder de motorkap van je auto kijken?
Inderdaad maar ze kunnen ook je geheimen verzamelen.... daarom vroeg ik me af of het wel legaal is.
Het grootste gevaar is denk ik dat ze je code kunnen stelen, maar decompileren is best wel vaak een onbruikbare troepzooi. Geheimen zet je trouwens sowieso liever niet in de code die naar de gebruikers gaat, ook niet als deze onleesbaar is. Ga er altijd vanuit dat code die niet serverside is achterhaald en ontcijferd kan worden. Je gaat geen databasewachtwoorden in je clientside code plakken, bijvoorbeeld.

Een niet-unieke functie in ontwikkeling is ook niet persé een geheim, al vind ik het wel opvallend en niet netjes dat ze die code nu al in de cliënt hebben zitten - hoop dus dat het inderdaad een betaversie is.
al vind ik het wel opvallend en niet netjes dat ze die code nu al in de cliënt hebben zitten
Zo opvallend is het niet perse. Hier kunnen diverse redenen voor zijn:
  • Zowel de client als server functionaliteit moet aanwezig zijn op productie voordat gebruikers er van gebruik kunnen maken. Als je dan ook wil dat gebruikers bij de officiële aankondiging er gelijk van gebruik kunnen maken moet het dus ook al aanwezig zijn op hun PC. Dus dan zit de code al in de client voordat de functionaliteit aangezet wordt.
  • In het algemeen kan het zo zijn dat bepaalde functionaliteit al ontwikkeld is, doorgetest en aanwezig in "master" maar dat een afhankelijkheid in productie simpelweg nog niet aanwezig is. Je kan beargumenteren dat je dan dit soort zaken in een feature branch moet bijhouden, maar dat brengt weer andere problemen met zich mee. Het kan dan ook een prima optie zijn om de code al mee te deployen naar productie zolang het maar duidelijk zicht is op wanneer het wel in gebruik zal worden genomen.
Feature toggles zijn best normaal, zeker als je regelmatige releases wilt doen. Maar het nadeel is dat er dan idd code van features die nog niet aan staan in productie en bij gebruikers terecht komt. Meestal is dat geen probleem, maar in sommige gevallen willen bedrijven een feature geheim houden totdat hij echt klaar is, anders gaan anderen het overnemen.
Klopt inderdaad, dank! Was er een beetje vanuit gegaan dat dit code was die belabberd (of niet) af was gemaakt en nog niet werkte. Daarmee vroeg ik me af hoeveel verdere onzin er dan nog zou dwarrelen in de code die wel werkzaam is. Maar nu je het zegt inderdaad, vooral optie 1 zie ik wel eens in praktijk in de apps die ik gebruik. Zelf maak ik vooral applicaties waaraan later weinig geupdate wordt, waardoor ik hier veel minder ervaring mee heb.
Als je geheimen hebt, zet je deze NOOIT in een client-side programma; je doet dit dan server sided.

In principe is het dus onder de motorkap kijken, en niet de autofabriek bestormen.
Het is jammer dat weinig mensen dit doen, dingen op de server-side plaatsen.
Wat? Er is een reden dat gigantisch veel van de industrie servers nodig heeft en ook in dit geval is het prima om in de cliënt versie te plaatsen. Er is hier niks strict geheim aan en geen probleem als het uitlekt in principe, het enige wat hier is gebeurd is dat Valve waarschijnlijk informatie over een lopend project per ongeluk gelekt heeft.

Als weinig mensen dit zouden doen zou weinig beveiliging op de wereld überhaupt veilig zijn.
Wat ik bedoelde te zeggen is dat het jammer is dat veel mensen belangrijke en privacygevoelige informatie opslaan op hun eigen apparaten, in plaats van op de server-side. Hierdoor zijn deze gegevens kwetsbaar voor datamining en andere vormen van ongeautoriseerde toegang. Althans, dat neem ik aan.
Privacy gevoelige data heb ik graag lokaal/client side opgeslagen, dan heb ik er immers zelf controle over.

Data mining is geen ongrauthorizeerde toegang maar kan o.a. laten zien waar zwakke plekken in een systeem zitten.

En wie zijn veel mensen? De gebruikers hebben hier zelden controle over en de meeste developers doen dit meestal zeker wel anders zou de applicatie binnen een dag lek zijn (schandalig dat dit soms niet gebeurt) maar vaak gebeurt dit niet. Dus weet niet wat je probeert te zeggen.
Ik denk dat bij de doorsnee gebruiker data op hun pc makkelijker te jatten is dan als die data bij een serieuze cloud provider staat opgeslagen.
Privacy gevoelige informatie gaat inprincipe over persoonsgegevens, daarvoor op een pc inbreken is rigoureus. Makkelijker te jatten ja, maar de kans dat je het doel bent? Veel kleiner.
Dataminen is vrijwel alleen lokaal te doen, maar als iemand anders toegang krijgt tot je lokale data is privacy niet je grootste probleem. Het is immers je eigen data.

Data van derden zou nooit op je lokale PC moeten staan, op wat cache data na.

Ongeautoriseerde toegang op je eigen PC bestaat niet, alles dat op je PC staat mag je uitpakken en doorzoeken. Een goed ontworpen applicatie zorgt er dus ook voor dat er niet meer gegevens vanaf servers naar jou worden gestuurd dan nodig.
Dat is anders door de band genomen wel de vuistregel in webdevelopment.

In de code grasduinen die op je eigen machine staat is perfect legaal hoor, vergelijkbaar met de source van een webpagina raadplegen via de dev tools (f12).
Amateurs doen dit misschien niet, maar professioneel en zeker in webapplicaties is server-side de standaard voor gevoelig info. Ik kan me zo voorstellen dat er hier en daar een API-key oid obfuscated in de source ronddwaald wanneer je een native app hebt ontwikkeld waarvoor je verder geen diensten hebt draaien, zeker als het voor klanten die je kent is. Dan hoef je namelijk verder zelf niets op te zetten voor de bescherming van die info. Maar in grootschalige producten of apps die sowieso servers van de ontwikkelaar raadplegen zie ik het nooit.
Jouw geheimen, jouw recht om ze te verzamelen toch?

Ik bedoel als er iemand anders hun geheimen in staan dan is het een data breach aan Valve hun kant, maar dat is hier niet het geval.

Nog een optie is dat deze code gestolen is, ipv 'gevonden' in code van een openbare beta-variant. Dat is wel een probleem.

En nog een optie is dat er een clausule in de voorwaarden staat dat je niet mag reverse-engineeren, maar dat is een civiele rechtszaak.
Het is voor zover ik weet aan de eigenaar van de code/het programma om hun zaken te obfuscaten. In de licentie staat vaak alleen dat je de code niet mag gebruiken voor andere doeleinden dan waar de fabrikant het voor heeft bedoeld. Alleen rondneuzen is niet verboden
Vind het niet zo fijn als valve onder mijn motorkap gaat kijken.
Het is ook niet Valve die onder jouw moterkap kijkt, maar jij zelf die onder de moterkap kijkt.
Gelukkig wel. Reverse engineering is belangrijk om te achterhalen wat software doet, en of het wel netjes omgaat met je privacy.
Is volgens mij een beetje afhankelijk van de context. Zolang de bron van de data, in dit geval de steam applicatie, publiekelijk beschikbaar is er meen ik geen regelgeving tegen. Overigens is de term "dataminining" erg breed en kan het betrekking op alles waar een "dataset" bij komt kijken. Dus in dit geval de applicatie, maar het kan ook andere data zijn.
Zo lang de data op jouw eigen computer staat lijkt me wel. Datamining op het internet is in Europa vaak niet legaal.

Maar in dit geval gaat het dus om data die op de computer van de gebruiker geïnstalleerd staat, en het lijkt me dat gebruikers in ieder geval de bestanden van hun eigen computer mogen bekijken.
het inkijken van de data? nee
de data die je er vind misbruiken? ja
Je kan het een beetje zien als een boek over hoe de belastingdienst te omzijlen is lezen, je mag het zeker weten, maar als je gebruik gaat maken ervan is dat illegaal.

Ook als je bijvoorbeeld modellen en muziek uit de applicatie haalt is het oke om ze voor je eigen doeleinden (non commercieel) te gebruiken, maar je mag het niet delen met derden of er winst mee maken. (bvb als je een Word installer dataminet, de beveiliging omzeilt en het kan gebruiken zonder een licentie aan te schaffen ervoor).
Ja, men had het ook kunnen zetten op interne testsystemen als je niet wilde dat iemand het zou zien.
Steam heeft een platform en dat platform heeft een API voor developers om ermee te praten. Aan de hand van (beta versies van) die API kun je al heel veel achterhalen wat de backend allemaal kan of gaat kunnen doen.

Het zijn screenshots van C++/C# code met juiste benamingen, daar kom je niet zomaar aan via disassembly tenzij Valve per ongeluk de debug symbols heeft laten zitten ofzo.
Interessante functionaliteit, afhankelijk van de uitvoering. Ik maak nu al vaak zat offline aantekeningen in games of ergens op mijn tweede scherm. Als dit makkelijk kan in de game via een overlay oid dan maak ik daar graag gebruik van.

Maar dan moet het wel binnen handbereik zitten. Als het bijvoorbeeld onderdeel wordt van de steam overlay en daarmee het scherm overneemt dan zal ik het niet zo snel gaan gebruiken. Als ik het als een losse "widget" ergens in een hoekje van mijn game kan plaatsen dan zie ik er wel het nu van in.
Eigenlijk een best wel handige functie als ik er over denk.

Ik heb nu best vaak meegemaakt dat ik een game opstart en als ik een save game laad van een paar maanden geleden ben ik alweer helemaal kwijt hoe en wat. Met Total War wat ik niet meer wat mijn strategie plannen zijn, in Diablo 2 Resurrected wist ik niet hoe mijn build precies in elkaar stak en met Fable TLC was ik het verhaal op dat punt kwijt. Als ik aantekeningen kon maken zou dat best wel goed helpen zodat ik niet telkens weer verloren ben mits ik niet vergeet om de aantekening te maken. :)

[Reactie gewijzigd door Vagax op 20 maart 2023 11:27]

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee