Hace 7 años | Por ccguy a infoq.com
Publicado hace 7 años por ccguy a infoq.com

Microsoft ha confirmado este hecho y da informacion a los desarrolladores para desactivar este comportamiento que viene activado por defecto. Un programa que no hace nada (un simple return 0; en main()) una vez compilado contiene una llamada a a función telemetry_main_invoke_trigger.

Comentarios

dphi0pn

Son espionajes sanos

David_VG

#1 Ahora ese main() será más seguro lol

D

#19 Y no solo será eficiente, sino que tendremos garantías de que lo es.

R

Joder, otra feature.

D

#3 Para todo lo demás: GCC

D

#2 #3 y el svchost.exe de windows hace llamadas por https a 390438408 servidores de Micro$oft, y el proceso system por DCOM, y el services.exe, hasta el explorer.exe hace llamadas de vez en cuando. Con el Outpost firewall se ven cosas que no creeriais. tinfoil

r

#62 las creemos. Wireshark.

D

#64 Tengo el modem que echa humo lol

animalDeBellota

#75 las justificaciones son de risa. Les han pillado con el carrito del helado... y ahora reculan.

https://www.reddit.com/r/cpp/comments/4ibauu/visual_studio_adding_telemetry_function_calls_to/d30dmvu

ccguy

#75 A ver, si un usuario de mi programa tiene un problema debe hablar conmigo, no con microsoft (que desde luego no le va a dar ningún soporte útil) y mucho menos mandarles un fichero que puede contener información muy delicada.

Desde luego cuando yo hago un programa lo que menos espero es que si hay problemas el usuario se ponga en contacto con el fabricante del compilador (¿?) y mucho menos que el binario tenga información que permita a una tercera parte conocer valores de variables y cosas así.

Perdona pero de momento voy a seguir con mi gorro porque parece muy necesario.

D

#75 Tampoco se trata de que importe el para qué, desde el momento que modificas el código sin autorización para un servicio tuyo, ya está siendo desleal. En el momento que decides que meter chorradas de estas es algo que puedes hacer, dar el siguiente paso es simplemente un cambio cuantitativo. (No deja de ser diferente a lo que pasa con los sitios web, en un principio solo contaban visitas, quizás tu ip, ahora hasta te ponen cookies para rastrearte en cualquier sitio que visitas últimamente la tendencia en cualquier tecnología de la información es recopilar datos simplemente porque puedo)

Además, en mi opinión las opciones por defecto deberían ser siempre las menos impositivas.

D

#6 "what the code does is trigger an ETW event which, when it’s turned on, will emit timestamps and module loads events. The event data can only be interpreted if a customer gives us symbol information (i.e. PDBs) so this data is only applicable to customers that are actively seeking help from us and are willing to share these PDBs as part of their investigation."

Al final #2 va a tener razón

D

#45 GRACIAS

cros

#12 exacto!!!! Ni más ni menos.

D

#12 No le voto mil veces positivo porque no puedo.

D

#12 Con permiso:

"Guillotina electoral para los _ responsables de los _ partidos que han hundido la economía y han podrido la democracia"

Pentium-ll

#12 Buen discurso, pero deberías haberlo rematado con algún enlace de este tipo: https://www.fsf.org/es/about

Y también tendrías que haber dicho "malévolo" en referencia al software privativo como hace nuestro querido Stallman, al que también algunos le pusieron el gorro de aluminio hace tiempo pero al final va a ser el que tiene toda la puta razón.

C

En el peor de los casos son métricas de software para medidas de desempeño, memoria o consumo de ancho de banda. Me imagino que lo hacen para medir que instrucciones son las más usadas y así poder mejorarlas u optimizarlas. De allí a que Microsoft utiliza esto para espiar programas es síntoma claro de conspiranoia pura y dura. ¿Por qué? Porque es imposible para un software saber que hace otro software, un compilador solo ve ciclos, variables, clases, métodos, ... pero no tiene idea para que están.

ccguy

#10 Anda que votar negativo sin saber lo que es TELEmetría...

E

#10 Pero si lo explicas así no venderías ni una noticia.

D

#16 No solo eso, sino que si además, es una aplicación "critica": HFT, temas sanitarios, militares, control industrial.
Puede ser un agujerito de seguridad gordo (localización).

D

#37 pues yo lo que veo es un triger a la telemetría, si tienes desactivada la telemetría en windows no debería enviarse nada.E n el windows se que se ejecute se entiende no donde se compile. Así que los SO sobre los que corren esas aplicaciones críticas deberían estar bien configurados. La opción para desactivar esto no está escondida y te pregunta al instalar windows

D

#17 Un compilador te debe dar el binario correspondiente a tu código fuente y punto.

Menuda mierda de compilador.

D

#31 Los que me han votado negativo este comentario no tiene ni idea de como funciona un compilador.

cros

#17 esto es el ding de la noticia.
Ya que lo hacen lo mínimo es decirlo, así podemos elegir, luego que si conspiranoias y rollos, pero se lo ganan a pulso.

Trigonometrico

#10 Venga ya tío, ¿me garantizas que las llamadas no incluyen información que pueda identificar a usuarios?

D

#10 Perdone por el negativo: Se me fue el dedo.
Luego le compenso.

Quería decir: ¿Por qué tiene un software que yo diseño y luego instalo en un cliente que mandar datos para mejorar "nada"?

Yo no he pedido eso.

salva6

#10 Hola. Pasaba por aquí para decirte que las herramientas de desarrollo son de pago y cuyo control deberían estar bajo el control exclusivo del usuario que ha pagado por ellas. Además de que espiar el software que desarrollan otros podría ser considerado como delito de espionaje industrial.

Nova6K0

#10 Cualquier conexión, digamos innecesaria a Internet, especialmente si no está cifrada (y muchos de estos sistemas de telemetría no lo están al no considerarse datos personales, craso error) es propensa a un ataque Man In The Middle.

La conexión más inocente, no cifrada, puede provocar un enorme problema de seguridad. Si hablamos a nivel de usuario sería grave, pero a nivel de empresa podría ser catastrófico.

Salu2

a

#14 con erótico resultado try catch(e)

g

#21 Si fuese JAVA te hubieras quedado a gusto liberando recursos: try catch(Exception e) finally

Pero como es C++ te jodes y bailas... OK, dejo Meneame por hoy

woopi

#21 #24 while (!empty)

parrita710

#27

Do while(vidaVacia)

D

#c-24" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2628612/order/24">#24 El finally en C++ no hace falta porque todos los recursos se gestionan igual; usando RAII. En c#, java y python hace falta el finally (o using o with) porque el lenguaje solo gestiona la memoria, pero otros recursos como ficheros o mutex no.
Así que aunque a ti te parezca un inconveniente la falta fe finally, realmente es una feature.

alephespoco

#63 RAII es un estilo de programación y C++ no te obliga a funcionar de ese modo (puedes funcionar perfectamente con new y delete).
Otra cosa es que RAII sea recomendable, pero también tiene sus inconvenientes como que dé una excepción en un destructor.

D

#79 claro, usar RAII es un estilo, el bueno. No usar RAII es otro estilo, el malo. Está claro que puedes hacer las cosas bien o las puedes hacer mal, pero eso independientes entre del lenguaje.
Si lanzas excepciones en los destructores es otra cosa que estás haciendo mal.

k

Por eso es mejor los programas de código abierto, a mi windows ya me parece cada vez mas un recopilador de datos que un sistema operativo.

Mi ordenador es mio, el sistema que lleva tendría que ser mío y mas si pago una licencia, eso de que metan cosas para bien favorecer a ellos o a quien quieran es una practica que tendría que ser declarada ilegal.

Por eso la apuesta por el código abierto, tanto en software como en hardware no es una tontería, tenemos millones de dispositivos y no sabemos que hace su firmware, sobre todo con la domotica que cada vez es mas presente, ni nuestro coche llegamos a controlar, esto un día nos dará una sorpresa.

D

Cada día me gusta más GCC

Blaxter

#11 Usa clang y nunca volverás atrás

D

#23 Gracias por el soplo. No tenía ni idea de la existencia de algo como clang.

H

#59 #49 gracias a clang gcc se ha puesto las pilas en mejorar el otput de errores.
Kudos para clang.

Por cierto si gcc te parece lento, prueba nvcc roll (con template kernels y múltiples arquitecturas)

Aokromes

#11 #23 GCC es LENTO, LENTISIMO en comparacion de Clang, por desgracia, si actualizas a un sistema operativo que incluya GCC 5 olvidate de usar Clang hasta que lo arreglen.

D

Me da la sensación de que esto es una paranoia de alguien.

Si Windows quiere controlar cualquier cosa de las aplicaciones que ejecutas, no necesita en absoluto meter nada dentro de tu código. SI quiere disparar triggers de telemetría cada vez que lanzas una aplicacion, lo tiene tan fácil como meterlo en el loader de ejecutables. Si quiere analizar el comportamiento de tu aplicacion, lo puede hacer desde su API o desde el kernel. Hacerlo mediante la inyección de código me parece absurdo.

Igual de absurdo me parece que alguien piense que son tan tontos de inyectar una llamada API en los exes, esperando que nadie nunca se diera cuenta, cuando en el mundo Windows es el que tiene la mayor comunidad de ingeniería inversa con diferencia, cuando hay cientos de empresas que se pasan el día analizando binarios. Es ridículo.

En realidad, aunque tu programa solo sea un "return 0", ya no estamos en MS-DOS, y hace falta toda una capa de software que se ejecute antes de tu "main" (y otra después). Esto es así desde hace décadas y sucede en todos los sistemas operativos.

Me da que la capa que lleva el runtime de Windows 10 debe llamar a esta función como llama a otros cientos, a alguien no le ha gustado el nombre y ha hecho saltar la liebre, nada más

D

A pesar del software libre y su crecimiento, cada vez somos menos dueños de nuestros datos.
Y la IoT y la F4.0 solo van a hacer que haya un crecimiento exponencial de este hecho.

Trabajo en industria, y por ejemplo tenemos medidor de consumo eléctrico de schneider. TODO lo guardan en la nube... Imaginad lo valiosísimo que seria para la competencia conocer el consumo eléctrico de un rival.

PD: Y casi todas las ofertas en este campo piden .net... Nosotros programamos en .net con VS2013

D

Y en el de c#? Porque igual me tengo que cagar en sus putas madres...

Ovlak

#36 Si lo hace el compilador de C++ que genera directamente código máquina, ten por seguro que lo hacen los lenguajes .net que generan código cil. Seguramente en ese caso ni sea necesario inyectar el backdoor en tiempo de compilación, sino que esté implementado en el runtime.

demostenes

Digo yo de joderles la telemetría esa mediante un DDOS lanzando 100000 ejecutables "Hello World!" a la vez

difusion

d

Ya lo dice nuestro amigo Snowden: "Piensa mal y acertaras" (bueno no lo dice, pero seguro que lo piensa). Por eso hay que apostar por Software Libre y abierto, que si, que pueden tener también sus problemas de seguridad, pero la gente tarde o temprano LOS VE y se toman medidas.

P

#7 todo suposiciones incluso una cita. Increible tu comentario.

Veelicus

Increible que este hecho no haga que la policia asalte las oficinas de Microsoft para investigar este hecho, esto es un delito muy grave.

xenko

#20 ¿Que policía, la de Estados Unidos a la que microsoft le ofrece backdoors a la mayoría de ordenadores mundo?

D

Con esto y con las actualizaciones por cojones del W10, éste va a ser el año de Moco$oft en tu escritorio... hasta que te pases a un sistema operativo a base de Software Libre

P

Verás que risa cuando os entereís que eso solo lo hace en la versión de debug con el debugger atachado

D

#46 Ya verás que risa vuando te leas la noticia.

D

Pues se desactiva la telemetría.

n

#4 Nop. Un compilador deberia darte el mismo codigo a nivel maquina. El hecho de que metan telemetria (lo cual no me lo creo) es muy preocupante puesto que las aplicaciones que se generan se comportan de forma inesperada al ejecutarse.

Acido

#9 Por eso te gusta tanto programar, un mundo lleno de sorpresas.

Wayfarer

#9 ...eso, las que llegan a ejecutarse. lol

D

#9 Si tú esperas que todas tus aplicaciones se comporten de manera inesperada, entonces se están comportando de la manera esperada.

D

#9 Si una aplicación que has programado se comporta como esperabas es la misma mierda que leer un libro que has escrito tu, ya lo conoces, y tienes todos los spoilers posibles. Ni vale la pena. lol

D

#5 si, la telemetría se puede desactivar así que ese triger no haría nada

n

#73 No entiendo pq tengo que desactivar algo que no he pedido lol.

D

#92 si le das a aceptar a todo sin leer al instalar windows es tu problema, yo lo tengo desactivado y windows 10 te pregunta cuando lo instalas y no hablo de la licencia si no de las opciones de privacidad.
Mozilla Firefox también manda telemetría por defecto, seguro que lo han hecho con el visual estudio.
Google no te pregunta nada al instalar el chrome, te mete un proceso programado para reactivarse soloo aunque tu lo borres del inicio y yo no veo a nadie quejándose tanto

frankiegth

Para #6. '...o puede ser una aplicación de hospital manejando datos confidenciales...'

O puede ser una máquina de radioterapia o un marcapasos. No se puede confiar en los productos Microsoft. Lo siento por ellos.

r

#6 o puede que cuando compilo código no me mola que le añadan instrucciones de más

Pakitopena

Menos mal que ha salido esta noticia porque me importa 3 cojones

ezain123

Solución: no usar Windows.

D

No se pero me da que el problema sera en 10 años o mas que los programadores no son seres que usan las ultimas versiones.
Firefox saco el multicore/multhread hace dos días coño que los quad cores existen desde el 2008. lol

j

Que chachiguay es el nuevo Microsoft.....en fin.

D

#72 Como mínimo te están geolocalizando.

D

#74 no. El programa lanza un triger que es ignorado por el sistema operativo porque no está escuchando al estar desactivada. Así muy simplificado

D

¿Y qué coño es eso del telemetry?

JoePerkins

Justo estoy empezando a aprender C++. Por cierto, muy gratamente sorprendido con la IDE del Visual Studio, me esperaba una ranciada. Claro que a nivel de funcionalidades aún no lo he manejado apenas.

Aunque casi que al leer el meneo se me están quitando las ganas de usarlo lol.

B

No soy fan de microsoft pero la noticia no aclara que hace ese trigger. Si envia informacion vale seria un escandalo, pero si es informacion que envia al propio SO con objetivos de mejorar recuros segun lo que necesite el programa y el uso que da el usuario lo que veo es integracion del SO con su propio entorno de desarrollo.

D

#25 Da igual lo que haga: Es un riesgo de seguridad.

r

#39 y código que yo no he pedido

D

#39 los trigers no hacen nada. Son avisos de que ha ocurrido algo. Es decisión del programa que hacer con ellos

D

tanta mania con el int main()...

void main() y no hay que retornar 0 ni ostias

D

#60 Cierto. Cuando alguien escribe "void main" se ve a la legua que aprendió en MS-DOS/Windows, mientras que cuando ves "int main" no hay duda de que viene del mundo unix.

vicvic

#61 Los programadores de Windows también hacemos utilidades que devuelven códigos de retorno! lol

D

#61 pillado