Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Visual Studio compiler inserts telemetry into compiled code without users knowledge

Visual Studio compiler inserts telemetry into compiled code without users knowledge

Scheduled Pinned Locked Moved The Lounge
31 Posts 16 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    ed welch
    wrote on last edited by
    #1

    Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

    Mike HankeyM L M C Q 9 Replies Last reply
    0
    • E ed welch

      Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

      Mike HankeyM Offline
      Mike HankeyM Offline
      Mike Hankey
      wrote on last edited by
      #2

      How many times are they going to shoot themselves in the foot before an amputation is required?

      New version: WinHeist Version 2.2.2 Beta
      I told my psychiatrist that I was hearing voices in my head. He said you don't have a psychiatrist!

      J T L 3 Replies Last reply
      0
      • E ed welch

        Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        Wake up Microsoft Shareholders - make that moron's head roll.

        1 Reply Last reply
        0
        • E ed welch

          Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

          M Offline
          M Offline
          Mark_Wallace
          wrote on last edited by
          #4

          It's not unbelievable. Governments want data about their "subjects", and MS is obliging. Come into the parlour of the all-new world-wide web.

          I wanna be a eunuchs developer! Pass me a bread knife!

          1 Reply Last reply
          0
          • E ed welch

            Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

            C Offline
            C Offline
            CPallini
            wrote on last edited by
            #5

            Oh, Microsoft!

            1 Reply Last reply
            0
            • E ed welch

              Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

              M Offline
              M Offline
              Mark_Wallace
              wrote on last edited by
              #6

              Thinking on it, this is probably their way of trying to get around the fact that so many people have disabled win 10's telemetry -- and therefore yet another "We don't care what you want! What We want is more important!"

              I wanna be a eunuchs developer! Pass me a bread knife!

              S 1 Reply Last reply
              0
              • Mike HankeyM Mike Hankey

                How many times are they going to shoot themselves in the foot before an amputation is required?

                New version: WinHeist Version 2.2.2 Beta
                I told my psychiatrist that I was hearing voices in my head. He said you don't have a psychiatrist!

                J Offline
                J Offline
                jkadjthegamegadhguaet
                wrote on last edited by
                #7

                Microsoft likely has 2 options: Do stuff like this as mandated, and let it hurt their business Shut down completely without violating gag order (TrueCrypt, Lavabit, etc)

                1 Reply Last reply
                0
                • M Mark_Wallace

                  Thinking on it, this is probably their way of trying to get around the fact that so many people have disabled win 10's telemetry -- and therefore yet another "We don't care what you want! What We want is more important!"

                  I wanna be a eunuchs developer! Pass me a bread knife!

                  S Offline
                  S Offline
                  Stefan_Lang
                  wrote on last edited by
                  #8

                  It's remarkably inconsistent though. I would have expected a call to the GWX loader, no less! ;P

                  GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                  1 Reply Last reply
                  0
                  • E ed welch

                    Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

                    Q Offline
                    Q Offline
                    quantasm23
                    wrote on last edited by
                    #9

                    spongo2 comments on Visual Studio adding telemetry function calls to binary?[^] hi everyone. This is Steve Carroll, the dev manager for the Visual C++ team. Tl;dr: thanks folks for the feedback. Our team will be removing this from our static libs in Update 3. Our intent was benign – our desire was to build a framework that will help investigate performance problems and improve the quality of our optimizer should we get any reports of slowdowns or endemic perf problems in the field. We apologize for raising the suspicion levels even further by not including the CRT source, this was just an oversight on our part. Despite that, some of you already investigated how this mechanism works in nice detail. As you have already called out, 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. We haven’t actually gone through this full exercise with any customers to date though, and we are so far relying on our established approaches to investigate and address potential problems instead. We plan to remove these events in Update 3. In the meantime, to remove this dependency in Update 2, you should add notelemetry.obj to your linker command line. If you’re generally concerned about phone-home scenarios, more information about how to configuring Windows 10 appropriately to your needs can be found here: https://technet.microsoft.com/en-us/itpro/windows/manage/configure-windows-10-devices-to-stop-data-flow-to-microsoft#bkmk-priv-feedback Thanks.

                    E 1 Reply Last reply
                    0
                    • Q quantasm23

                      spongo2 comments on Visual Studio adding telemetry function calls to binary?[^] hi everyone. This is Steve Carroll, the dev manager for the Visual C++ team. Tl;dr: thanks folks for the feedback. Our team will be removing this from our static libs in Update 3. Our intent was benign – our desire was to build a framework that will help investigate performance problems and improve the quality of our optimizer should we get any reports of slowdowns or endemic perf problems in the field. We apologize for raising the suspicion levels even further by not including the CRT source, this was just an oversight on our part. Despite that, some of you already investigated how this mechanism works in nice detail. As you have already called out, 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. We haven’t actually gone through this full exercise with any customers to date though, and we are so far relying on our established approaches to investigate and address potential problems instead. We plan to remove these events in Update 3. In the meantime, to remove this dependency in Update 2, you should add notelemetry.obj to your linker command line. If you’re generally concerned about phone-home scenarios, more information about how to configuring Windows 10 appropriately to your needs can be found here: https://technet.microsoft.com/en-us/itpro/windows/manage/configure-windows-10-devices-to-stop-data-flow-to-microsoft#bkmk-priv-feedback Thanks.

                      E Offline
                      E Offline
                      ed welch
                      wrote on last edited by
                      #10

                      His answer is full of holes. Simply logging start and stop times of binaries would be of no use for performance profiling. Secondly, why is it not documentented? Thirdly, why is it inserted into the C runtime? That would seem to be an inappropate place to insert telemetry monitoring software. Forthly, we only found out about this feature by accident. If it hadn't been discovered would have been removed at all?

                      1 Reply Last reply
                      0
                      • E ed welch

                        Unbelievably, the latest version of Visual Studio inserts "telemtry" into compiled code: Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries[^] :mad:

                        Z Offline
                        Z Offline
                        ZurdoDev
                        wrote on last edited by
                        #11

                        I'm trying to care, but I just can't. What's the big deal?

                        There are only 10 types of people in the world, those who understand binary and those who don't.

                        B 1 Reply Last reply
                        0
                        • Z ZurdoDev

                          I'm trying to care, but I just can't. What's the big deal?

                          There are only 10 types of people in the world, those who understand binary and those who don't.

                          B Offline
                          B Offline
                          BryanFazekas
                          wrote on last edited by
                          #12

                          What's the big deal? From lesser to greater ... 1. Executables bloated with unnecessary code that does not help with the software's purpose. In addition to size (which most won't care about), this potentially reduces reliability, as you are not testing these undocumented "features". 2. Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next? 3. Microsoft (or whoever) can record all types of things about each executable and its usage. 4. You become a vendor for spyware, not knowing what is being recorded about users of your software. Especially for commercial software vendors, this a death knell for your business when word gets out. And word WILL get out -- this thread proves that. Could this issue be a totally benign thing? Sure, it certainly could. But given Microsoft's current policies and the crap it baked into Win10, I'm going with "distrust and verify". This has got to be the dumbest thing that Microsoft has done under Nadella's watch. Microsoft is fighting for survival in a new world that it doesn't control, and this issue is going to push people away from their products.

                          Z 1 Reply Last reply
                          0
                          • B BryanFazekas

                            What's the big deal? From lesser to greater ... 1. Executables bloated with unnecessary code that does not help with the software's purpose. In addition to size (which most won't care about), this potentially reduces reliability, as you are not testing these undocumented "features". 2. Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next? 3. Microsoft (or whoever) can record all types of things about each executable and its usage. 4. You become a vendor for spyware, not knowing what is being recorded about users of your software. Especially for commercial software vendors, this a death knell for your business when word gets out. And word WILL get out -- this thread proves that. Could this issue be a totally benign thing? Sure, it certainly could. But given Microsoft's current policies and the crap it baked into Win10, I'm going with "distrust and verify". This has got to be the dumbest thing that Microsoft has done under Nadella's watch. Microsoft is fighting for survival in a new world that it doesn't control, and this issue is going to push people away from their products.

                            Z Offline
                            Z Offline
                            ZurdoDev
                            wrote on last edited by
                            #13

                            BryanFazekas wrote:

                            Executables bloated with unnecessary code that does not help with the software's purpose

                            Bloated seems like an overstatement. But OK.

                            BryanFazekas wrote:

                            Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next?

                            That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                            BryanFazekas wrote:

                            Microsoft (or whoever) can record all types of things about each executable and its usage.

                            Again, who cares?

                            BryanFazekas wrote:

                            You become a vendor for spyware, not knowing what is being recorded about users of your software

                            You already are. Read Microsoft's software agreements sometime.

                            BryanFazekas wrote:

                            this issue is going to push people away from their products.

                            And who would people go to instead of Microsoft?

                            There are only 10 types of people in the world, those who understand binary and those who don't.

                            B E P 3 Replies Last reply
                            0
                            • Z ZurdoDev

                              BryanFazekas wrote:

                              Executables bloated with unnecessary code that does not help with the software's purpose

                              Bloated seems like an overstatement. But OK.

                              BryanFazekas wrote:

                              Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next?

                              That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                              BryanFazekas wrote:

                              Microsoft (or whoever) can record all types of things about each executable and its usage.

                              Again, who cares?

                              BryanFazekas wrote:

                              You become a vendor for spyware, not knowing what is being recorded about users of your software

                              You already are. Read Microsoft's software agreements sometime.

                              BryanFazekas wrote:

                              this issue is going to push people away from their products.

                              And who would people go to instead of Microsoft?

                              There are only 10 types of people in the world, those who understand binary and those who don't.

                              B Offline
                              B Offline
                              BryanFazekas
                              wrote on last edited by
                              #14

                              RyanDev wrote:

                              That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                              Do you lock your car when you park it? Do you lock your doors at night or when you're not at home? Most people are (more or less) honest ... but we take precautions to protect us from the ones who are not. If that's paranoia ... stop locking your car and your doors. :laugh:

                              Z 1 Reply Last reply
                              0
                              • B BryanFazekas

                                RyanDev wrote:

                                That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                                Do you lock your car when you park it? Do you lock your doors at night or when you're not at home? Most people are (more or less) honest ... but we take precautions to protect us from the ones who are not. If that's paranoia ... stop locking your car and your doors. :laugh:

                                Z Offline
                                Z Offline
                                ZurdoDev
                                wrote on last edited by
                                #15

                                BryanFazekas wrote:

                                Do you lock your car when you park it? Do you lock your doors at night or when you're not at home?

                                Of course. But I don't care if anyone is taking pictures of my car or if there is a security camera in the parking lot recording video for others to see. And many of us have written code that sends us information about the performance of our software or sends us error reports, etc. So what?

                                There are only 10 types of people in the world, those who understand binary and those who don't.

                                C 1 Reply Last reply
                                0
                                • Z ZurdoDev

                                  BryanFazekas wrote:

                                  Executables bloated with unnecessary code that does not help with the software's purpose

                                  Bloated seems like an overstatement. But OK.

                                  BryanFazekas wrote:

                                  Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next?

                                  That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                                  BryanFazekas wrote:

                                  Microsoft (or whoever) can record all types of things about each executable and its usage.

                                  Again, who cares?

                                  BryanFazekas wrote:

                                  You become a vendor for spyware, not knowing what is being recorded about users of your software

                                  You already are. Read Microsoft's software agreements sometime.

                                  BryanFazekas wrote:

                                  this issue is going to push people away from their products.

                                  And who would people go to instead of Microsoft?

                                  There are only 10 types of people in the world, those who understand binary and those who don't.

                                  E Offline
                                  E Offline
                                  ed welch
                                  wrote on last edited by
                                  #16

                                  RyanDev wrote:

                                  And who would people go to instead of Microsoft?

                                  :doh: You do realize there are other compilers on the market?

                                  Z 1 Reply Last reply
                                  0
                                  • E ed welch

                                    RyanDev wrote:

                                    And who would people go to instead of Microsoft?

                                    :doh: You do realize there are other compilers on the market?

                                    Z Offline
                                    Z Offline
                                    ZurdoDev
                                    wrote on last edited by
                                    #17

                                    So, do you have an answer?

                                    There are only 10 types of people in the world, those who understand binary and those who don't.

                                    B 1 Reply Last reply
                                    0
                                    • Z ZurdoDev

                                      BryanFazekas wrote:

                                      Do you lock your car when you park it? Do you lock your doors at night or when you're not at home?

                                      Of course. But I don't care if anyone is taking pictures of my car or if there is a security camera in the parking lot recording video for others to see. And many of us have written code that sends us information about the performance of our software or sends us error reports, etc. So what?

                                      There are only 10 types of people in the world, those who understand binary and those who don't.

                                      C Offline
                                      C Offline
                                      Chuck OHalloran
                                      wrote on last edited by
                                      #18

                                      RyanDev wrote:

                                      But I don't care if anyone is taking pictures of my car or if there is a security camera in the parking lot recording video for others to see.

                                      That sounds reasonable, but in this case taking pictures of your care or a security camera would be something the OS or anti-virus/anti-malware would be doing. This is more like Ford or GM deciding to make your car honk and flash the lights every time you change the radio station.

                                      Z 1 Reply Last reply
                                      0
                                      • C Chuck OHalloran

                                        RyanDev wrote:

                                        But I don't care if anyone is taking pictures of my car or if there is a security camera in the parking lot recording video for others to see.

                                        That sounds reasonable, but in this case taking pictures of your care or a security camera would be something the OS or anti-virus/anti-malware would be doing. This is more like Ford or GM deciding to make your car honk and flash the lights every time you change the radio station.

                                        Z Offline
                                        Z Offline
                                        ZurdoDev
                                        wrote on last edited by
                                        #19

                                        Member 2652715 wrote:

                                        This is more like Ford or GM deciding to make your car honk and flash the lights every time you change the radio station.

                                        Actually, it isn't like that at all. My application will not behave any differently because of their code.

                                        There are only 10 types of people in the world, those who understand binary and those who don't.

                                        C 1 Reply Last reply
                                        0
                                        • Z ZurdoDev

                                          BryanFazekas wrote:

                                          Executables bloated with unnecessary code that does not help with the software's purpose

                                          Bloated seems like an overstatement. But OK.

                                          BryanFazekas wrote:

                                          Potential for adware and anything else to get inserted into or called from executables. If one unnecessary thing is slipped in, what is next?

                                          That just sounds like paranoia. I can brake into your house and murder you anytime I want to, but the reality is, it won't ever happen. No reason to worry about all possible bad things in life. You'll go nuts.

                                          BryanFazekas wrote:

                                          Microsoft (or whoever) can record all types of things about each executable and its usage.

                                          Again, who cares?

                                          BryanFazekas wrote:

                                          You become a vendor for spyware, not knowing what is being recorded about users of your software

                                          You already are. Read Microsoft's software agreements sometime.

                                          BryanFazekas wrote:

                                          this issue is going to push people away from their products.

                                          And who would people go to instead of Microsoft?

                                          There are only 10 types of people in the world, those who understand binary and those who don't.

                                          P Offline
                                          P Offline
                                          patbob
                                          wrote on last edited by
                                          #20

                                          RyanDev wrote:

                                          BryanFazekas wrote:

                                          Executables bloated with unnecessary code that does not help with the software's purpose

                                          Bloated seems like an overstatement. But OK.

                                          The unstated thing is that, while MS claims they added this instrumentation to keep an eye on the performance of your applications, what is the performance and behavior of this telemetry logging functionality (and how will it change as they update their OS)? Can it cause app slowdowns? crashes? Fill your customer's disk? How does it change the attack surface of your app? If you don't know it's there, how will you be able to address any of this? Worse, MS will feel free to change that code at any time, so you may wake up one day to find out that installed versions of your application are suddenly doing very bad things to your customers computers, and you didn't make any change at all to your code that could have caused it. You can deny all you want, but your customers are still going to blame you and your code. And remember, Microsoft had no plans to tell you about this addition, they've been forced to remove it because their attempt to slip unwanted code into everybody's applications was discovered by a user and the community pushed back.

                                          We can program with only 1's, but if all you've got are zeros, you've got nothing.

                                          Z 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups