Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Why Does Skype Read the BIOS?

Posted by kdawson on Wed Feb 07, 2007 03:02 AM
from the phone-home dept.
pfp writes "Myria at pagetable.com, among others, noticed that Skype reads the machine's BIOS code on startup. This probably would've gone unnoticed if the operation didn't fail on 64-bit windows. From the post: 'It's dumping your system BIOS, which usually includes your motherboard's serial number, and pipes it to the Skype application. I have no idea what they're using it for, or whether they send anything to their servers, but I bet whatever they're doing is no good given their track record... If they hadn't been ignorant of Win64's lack of NTVDM, nobody would've noticed this happening.'"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Processor info? (Score:5, Interesting)

    by Ledsock (926049) on Wednesday February 07 2007, @03:05AM (#17917774)
    This is a random guess, but it could be part of skype determining the make and model of your CPU. They had made a deal with Intel a while back to only allow large conferences on their processors, and the BIOS reading could be part of that or anticipation of other deals to come.
    • Re:Processor info? (Score:5, Insightful)

      by repvik (96666) <slashdot@kynisk.com> on Wednesday February 07 2007, @03:18AM (#17917870)
      Reading your BIOS to determine CPU ain't gonna be useful. I doubt any BIOSes store info on which CPU is on the board. Especially since there's easy ways to identify the CPU. I bet windows has a syscall that gives you CPU information.
      • Re:Processor info? (Score:5, Informative)

        by slashdot.org (321932) on Wednesday February 07 2007, @05:20AM (#17918560) Homepage Journal
        Reading your BIOS to determine CPU ain't gonna be useful. I doubt any BIOSes store info on which CPU is on the board.

        As a former BIOS coder, I'll second that. Even if the BIOS did store some system specific info in Flash (on Embedded BIOSs sometimes this is done because CMOS is not reliable), there is NO way that Skype would know the format/place/meaning of this. It would be specific to a certain build of a specific BIOS for a specific board by a specific vendor.

        In any case, the method described to dump the BIOS is not very likely to get anything close to the complete, original BIOS image to begin with. By dumping memory at F000:0000 through F000:FFFF, a 16 bit DOS program, under Windows, will get the memory resident part of the BIOS. Most BIOSs are far bigger than 64KB and the memory resident part is the decompressed runtime part, which is nothing like what the actual BIOS image looks like at boot time.

        They are most likely using this in combination with other more or less 'unique' things to identify a specific machine. It wouldn't surprise me if after this some people would do a more in-depth analysis of their code and find out that it also reads the serial number of the harddrive and gets the MAC address of the Ethernet adapter.
        • Re:Processor info? (Score:5, Informative)

          by Anonymous Coward on Wednesday February 07 2007, @08:12AM (#17919578)
          Fact 1: 0xF0000-0xFFFFF are the SHADOWED copy of BIOS on almost every BIOS. It's write-enable-able.

          Fact 2: That's usually where the SMBIOS pointer is found.

          Fact 3: It's easy (and the only way really) to scan for SMBIOS and find it.

          Fact 4: SMBIOS *does* often contain serial numbers and hardware details.
        • by Kadin2048 (468275) <slashdot@kadin.xoxy@net> on Wednesday February 07 2007, @08:46AM (#17919900) Homepage Journal
          They are most likely using this in combination with other more or less 'unique' things to identify a specific machine. It wouldn't surprise me if after this some people would do a more in-depth analysis of their code and find out that it also reads the serial number of the harddrive and gets the MAC address of the Ethernet adapter.

          This seems pretty logical. Since they got rid of that hackneyed scheme a while back to give each processor a serial number (wait -- did they get rid of that?), some sort of hash of the BIOS memory, plus the Ethernet MAC, plus the HD serial number, all concatenated together, is probably as close to a unique identifier as you're likely to find on a "per machine" basis.

          That said, it doesn't make me feel any better. I wasn't a fan of the processor serial number concept, and not just because it was a serial number in the processor; there were serious privacy concerns with any uniquely identifying, per-machine serialization concept, and that's true whether it's a dedicated number that's being used, or some sort of combination of semi-unique factors.

          It's just one more piece of information, sitting in a database somewhere, that could be subpoenaed and used to generally cause trouble. Particularly given how close-mouthed the Skype people are about how their network actually operates (e.g. their alleged encryption, peer to peer communications), I'm not ready to run right out and trust them.

          I wonder if it would be possible to run Skype in a sandbox, where the information it's fed could be carefully controlled? On further thought, I wonder what happens when you run it in VMWare or Wine? Do they actually pass information about the hardware up to guest applications? It seems like this behavior would be one that the user should be given an option about, at the very least; I can only think of a few programs who have any reason to be getting the drive serial number, or the Ethernet MAC address, and for the most part they are not userland apps.
              • by Gr8Apes (679165) on Wednesday February 07 2007, @11:36AM (#17922068)

                the original hardcoded MAC address is always visible to the OS somehow. Just changing the setting does not lose that information.
                I was under the impression that there was no such thing as a hard-coded number. Why do I say this? Because one fine day many years ago I received a shipment of 100 ethernet cards all with identical MACs. That was one fun day as those cards rolled out into the network...

                Processor serial numbers are about as innocuous as a privacy concern as if you used your grocery store loyalty card. To say that someone is going to target you because you have a certain loyalty to the grocery store is ludicrous.
                I don't share your ambivalence, yet agree with your point. They might haul you into jail, however, for buying large amounts of plastic forks, rubbing alcohol, and a couple of other items though.

                Uniquely identifying systems is ESSENTIAL to the current internet and DRM problems.
                Wrong. It's completely irrelevant and impossible to uniquely identify a system on the internet. It is ESSENTIAL to have unique connections. Identity is essential for law enforcement types, not the internet. For instance, do I care that I connect to machine 1 or 1,000,000 of those answering for google.com? DRM in this scenario is irrelevant, and any argument in support of that is already terminally flawed. (DRM's problems are that DRM exists at all)

                Just think, if a processor serial number had become a standard, they may not have decided so fast that they needed TPM and per-machine iTunes authorizing so hackneyed, and so on. Of course you can be uniquely identified on the internet. How much crazy hashing crap like this would it have made totally unecessary?
                TPM exists purely to serve DRM. See above. QED.

        • Re:Processor info? (Score:5, Informative)

          by 49152 (690909) on Wednesday February 07 2007, @06:30AM (#17918970)
          Not entirely correct.

          GetSystemInfo() in Win32 and GetNativeSystemInfo() in WoW64 will give you some CPU information:
          It will tell you if your running on Intel, IA64 or AMD64, it will also identify 386, 486 and Pentium, Processor Level and Stepping and processor Revision. I think this will be sufficient in most cases to identify the CPU.
        • Re:Processor info? (Score:5, Interesting)

          by aonaran (15651) on Wednesday February 07 2007, @09:02AM (#17920076) Homepage
          Maybe reading the BIOS will tell them if you are running Skype in a virtual machine that emulates an Intel processor which keep Skype from being fooled into running 10 connections on AMD.
  • Theres... (Score:5, Funny)

    by Anonymous Coward on Wednesday February 07 2007, @03:07AM (#17917792)
    nothing to see here. move along.

    we are not spying on you. we swear.

    oh btw.. your wife is cheating on you.
  • by Cocoshimmy (933014) on Wednesday February 07 2007, @03:14AM (#17917832)
    What better unique identifier than the system bios? Ip addresses are becoming less reliable since many people use wireless internet and mobile phones for skype.

    Skype is probably just looking for abusive users who sign up for their low margin unlimited calling plan only to share it with their relatives and friends accross the world. If they say detect say 5 different machines calling 5 different people all within a span of 10 minutes, then something is likely wrong.

    Of course they could just be collecting system info such as the system manufacturer, processor type, number of processors, sound card, etc. This could be combined with the survey results regarding phone quality they ask you to take after every few calls. In the end it could result in a better product and better service. Of course many other software products already do this (such as firefox, ms windows, ms office) but they are more open about it and at least give you the option of participating.
    • Yeah, and those bastards, requiring some sort of unique number to identify people using a telephone! Who ever heard of such trickery!
    • by Khyber (864651) <khyberkitsune@gmail.com> on Wednesday February 07 2007, @03:31AM (#17917996) Journal
      I once read somewhere that the only identifying information that you could legally acquire, being installed on someone's computer, was MAC, IP, and Nickname. Anything else (Pentium 3 fiasco, anyone?) constituted a breach of privacy. Dunno if it's true, or not, but personally, I don't want you trying to identify what the hell makes up my system. Perhaps I'm building it SECRETLY for a fucking reason. You don't need to know what CPU or HDD I have installed - the only reason you would want to would be to directly target advertisements at their own users, concerning their own fucking hardwaer. If Skype did that, they'd lose not every bit of faith from me, but I'd go tell my company that I work for, which uses SKYPE on a regular basis. I can guarantee you that IT is so stupid they'd drop Skype and install Asterisk on a whim if I told them too, since I usually end up having to fix their intranet when it goes down.
      • by Ash-Fox (726320) on Wednesday February 07 2007, @04:40AM (#17918354) Homepage

        I once read somewhere that the only identifying information that you could legally acquire, being installed on someone's computer, was MAC, IP, and Nickname. Anything else (Pentium 3 fiasco, anyone?) constituted a breach of privacy.
        I doubt it. Besides, one can change their Mac address, IP address and 'Nickname' without replacing hardware.

        You don't need to know what CPU or HDD I have installed - the only reason you would want to would be to directly target advertisements at their own users, concerning their own fucking hardwaer.
        Or maybe... Just maybe... They could make design decisions based on the majority of users.

        What proccessor speed do the majority have? What OS? How much RAM? How much harddrive space?

        It's important to know about who you're making software for.

        If Skype did that, they'd lose not every bit of faith from me
        Did you know Skype is owned by Paypal and eBay now?

        I can guarantee you that IT is so stupid they'd drop Skype and install Asterisk on a whim if I told them too, since I usually end up having to fix their intranet when it goes down.
        Asterisk and what? What SIP providers? What solution exactly? -- Asterisk is not a easy solution to setup compared to Skype. The end user can setup Skype, but Asterisk? I doubt it.
        • by ajs318 (655362) <sd_resp2@earthshod. c o .uk> on Wednesday February 07 2007, @05:29AM (#17918614)
          Asterisk is very easy to set up. You just have to be good at setting Asterisk up. The way to get good at setting Asterisk up is to set Asterisk up. For your first assignment, use just two hardware SIP phones. Once you have got them talking to each other, then you can think about adding more phones and things like POTS gateways.

          Within weeks you'll be writing advanced dial plans to do things like ring all the phones in a department or divert calls to your mobile if you haven't picked up in twelve rings, and you'll have DHCP and TFTP set up so each phone on the network can configure itself at switch-on. Then it'll all be working exactly how you want it to, with nothing for you to do except occasionally unplug and replug a misbehaving telephone.

          About a year or eighteen months later, you will want to add a simple new feature. Unfortunately, by this time you will have forgotten altogether how you set everything up in the first place.
    • by evilviper (135110) on Wednesday February 07 2007, @04:33AM (#17918318) Journal

      Of course they could just be collecting system info such as the system manufacturer, processor type, number of processors, sound card, etc.
      That's complete nonsense. Windows has a perfectly standard way of finding out about system devices. Reading the BIOS would tell you almost none of the things you listed to begin with.

  • About figures (Score:5, Insightful)

    by TopSpin (753) * on Wednesday February 07 2007, @03:17AM (#17917866) Journal
    Wouldn't it be nice of the Operating System helped you protect it from intrusive applications? No, you don't get to silently spam half baked crap into /etc/rc.d/init.d just because the you actually need sufficient privilege to do some other thing on install. No, my registry is NOT a free-for-all; you get to put just what you need in there and not go on a fishing expedition or 'fix' stuff you're not compatible with. No, the BIOS isn't for you because you're just a VOIP app and have no business whatsoever mucking around with the nonvolatile CMOS I need to boot. No, I don't need a fourth JVM crammed into my PATH, thanks.

    Vendors would be forced to detail the mucking around they do, probably leading to much less mucking around in general. Indifferent users could just do what they always do and bang on the 'accept/yes/ok' widgets. Those of us who know enough to care (or get paid to) would then have an actual chance.

    Too much to ask I guess.

    • by Pfhorrest (545131) on Wednesday February 07 2007, @01:31PM (#17923734) Homepage Journal
      Wouldn't it be nice of the Operating System helped you protect it from intrusive applications? No, you don't get to silently spam half baked crap into /etc/rc.d/init.d just because the you actually need sufficient privilege to do some other thing on install. No, my registry is NOT a free-for-all; you get to put just what you need in there and not go on a fishing expedition or 'fix' stuff you're not compatible with. No, the BIOS isn't for you because you're just a VOIP app and have no business whatsoever mucking around with the nonvolatile CMOS I need to boot. No, I don't need a fourth JVM crammed into my PATH, thanks.

      Right on!

      Coming from the Mac world, where I know there's most often no technical reason why an app couldn't just be drag-and-drop "installed" (i.e. just copy the app bundle to wherever the hell you want it and run it from there), I raise a suspicious eyebrow every time I download some program which should be entirely a userland thing (a game, a document or media editor or player of some sort, etc) which insists that I run an installer program that asks me for an admin password. I feel like asking the devs, "Why exactly do you need write access to anything outside your app bundle? Give me a damn good reason why I should entrust my system to you."

      I want my OS to serve me like I want my government to serve me: stay out of my way unless I ask it for something (and have useful services available for the asking), except to keep people from doing bad things to me and my property, in which case I want it to proactively defend me. This means that no programs are running that I don't want running or don't know are running; nothing can *get* running without my telling it to or at least granting it permission to; and no files get written anywhere, perhaps outside of a few sandbox areas like the user's Preferences folder, without my permission.

      OSX does most of this right already. The only more-stringent thing I would really ask for is that installers/etc which ask for an admin password not just get blanket permission to do whatever they want; I'd prefer it if the system instead told me, for each item the app wanted to install, that:

      "The application FooBar wants permission to create the folder "Beezelbub" in System/Library/YourMom/. The justification it provides for this is:
      Beezelbub is a video codec needed to play cutscenes in FooBar: The Quest For Metasyntax.
      Do you wish to allow FooBar to create this item? [Yes] [Yes To All] [No] [No To All]."

      And if you click one of the "Yes" buttons, THEN it prompts you for an admin password.

      Of course, the app would be allowed to write whatever the hell it wants into folders it creates, so you don't have to get this prompt for every one of the thousand little files that some library or codec might include, unless those files are scattered to the winds and not in one nice neat package like they should be. Currently existing apps of course would not have such justification strings built into them, but even still, this would be a more secure way that would allow users who care to selectively allow the installation of crap on their system. And of course, users who don't care can always say "Yes To All" and be no worse off than they are today.

      But users like me would feel much less suspicious, no longer wondering "what the heck does this installer want with my admin password? Why does this program need an installer in the first place?"

      A related thing I might like would be if the system notified me any time any program tried to open up a network connection of any sort; to which I could say "allow", "always allow" (for trusted things), "disallow", or "always disallow" (for things you think are spyware). Include similar justification strings as the above dialogue does. This would work well to combat any sort of trojan spyware you might have gotten (that is, programs you downloaded and installed yourself, which are sending data to someone that you don't want it to send; since the way O
  • Go to the source (Score:5, Insightful)

    by ZX3 Junglist (643835) <ZX3Junglist@h[ ]ail.com ['otm' in gap]> on Wednesday February 07 2007, @03:38AM (#17918030)
    Has anyone asked them for their explanation? I feel now would be a good time for them to exercise their right to tell us why they do this.
    Might I suggest mailto:info@skype.net [mailto]

    I would do so I myself, but I assume there's a paying Skype user here who would garner a bit more attention than I would.
    • Done (Score:5, Interesting)

      by adpsimpson (956630) on Wednesday February 07 2007, @05:20AM (#17918558)

      Dear Sir/Madam,

      As a Skype customer (adpsimpson) and software developer who has used skype-out from across the world to stay in touch with folk at home, I read with some interest on http://slashdot.org/ [slashdot.org] this morning that Skype appears to read the system bios on start up.

      While I am aware that there are legitimate reasons that some software may do this, I cannot immediately think what a VOIP application would require the data for.

      Using closed source software is always a second-best from my point of view, especially in terms of privacy and transparency of the software's function - this in fact is what led me to Skype, since it runs on Linux. As such I am slightly concerned about unexpected application behaviour.

      What does Skype do with this information? Is it transmitted across the network in any form? Is it identifiable?

      I look forward to your response,

      Yours,
      Andrew Simpson

      • Re:Done (Score:5, Funny)

        by Fhqwhgadss (905393) on Wednesday February 07 2007, @10:29AM (#17921110)
        Dear Mr. Simpson,

        Thank you for inquiring about Skype service. Please let me be you informed about our respect for the privacy of you. Skype wants only good things for the customers of Skype and only uses information for good things, not bad things.

        Sincerely,
        Apu Nahasapeemapetilon
        Skype. Take a deep breath.

        P.S.
        Now that you have a deep breath taken, you should really see a doctor about that rash and ask your daughter about where she's *really* going this weekend (hint: it's not the Tijihuana Bible Camp). And whatever you do, don't ever come home early on a Wednesday unless you want a nasty surprise. That's the day the missus "gets the carpet cleaned."
  • by dangitman (862676) on Wednesday February 07 2007, @03:46AM (#17918070)
    Because it's bored and can't find a good book.
  • by OpenSourced (323149) on Wednesday February 07 2007, @03:48AM (#17918078) Journal
    ...
    To know what's written there. ...

  • What about Macs ? (Score:4, Interesting)

    by warrior_s (881715) <kindle3@@@gmail...com> on Wednesday February 07 2007, @03:49AM (#17918086) Homepage Journal
    Can someone tell me how can I check if its doing the same on my Macbook?
    Thanks
  • by Alain Williams (2972) on Wednesday February 07 2007, @04:41AM (#17918366) Homepage
    It took a minute for the penny to drop, but is it not downloading the BIOS code rather than the system setup info held in CMOS ?

    If that is the case then transmission of that BIOS back to Skype HQ must be a breach of Phoenix/... copyright.

    Look what they try to do if you or I copy someone's code ...

  • by AndrewStephens (815287) on Wednesday February 07 2007, @05:42AM (#17918678) Homepage
    I don't know why Skype is reading the BIOS, others have speculated that they are trying to generate a unique key from the SMBIOS tables or perhaps lock certain features to certain processors. Sounds plausible I guess.
    What I do know is the Skype programmers are überl4m3rz; the BIOS can be mapped into a process's address space using perfectly good Win32 calls. Resorting to calling a COM program to read the memory is an incredibly cheap hack, and obviously a badly tested one.
    • by blackest_k (761565) on Wednesday February 07 2007, @06:38AM (#17919028) Homepage Journal
      you make the assumption there that win32 calls are available, I'm running Linux.

      It makes sense to try and keep the code as cross platform as possible.
      However the question we all have is why?

      Possibilitys include user statistics, i would guess internet cafe's would have large numbers of accounts on a small number of PC's, but most accounts will be used at home or possibly on holiday. So maybe it is the marketing department that is interested.

      A less sinister reason may be to combat fraud, recently I noticed that Skype have introduced monthly caps on the skype out credit you can buy. Perhaps there is an issue or potential issue of fraudulent use of credit cards to buy credit.

      would be some protection for them if some user claims that his credit card details were stolen, and used to buy skype credit. With the bios code you could probably identify fraud on the part of that user when there is a dispute and the credit card company is refusing to pay. For skype to be able to say well we believe that user did incur these charges since we have it on record that the PC used was used both before and after the disputed dates for making calls on this account.

      and finally lets face it skype isn't that secure all it takes is for you to know my username and password and you can make free calls on my account.

      actually when you think about it attacking the username password system on skype should be fairly trivial at least it should be noticable when someone starts bruteforcing username password combinations.

      when you think about it, take your wireless laptop or pda war driving.

      connect to unsecured network
      brute force a username password
      make free calls world wide.

      with the ability to blacklist the particular pc used for the attack it becomes a lot more difficult and expensive
      to compromise user accounts.

  • Tracing (Score:5, Interesting)

    by ignorent (857223) on Wednesday February 07 2007, @06:31AM (#17918978)
    Perhaps the federal government requires them to make all phone calls traceable?
  • NSA conspiracy (Score:5, Interesting)

    by sideswipe76 (689578) on Wednesday February 07 2007, @08:44AM (#17919876)
    I am gonna repeat my grand conspiracy theory: It is my belief that eBay's purchase of Skype was somehow coaxed by the NSA/CIA and here is why: Ebay's purchase of Skype never made sense. Ebay could have included skypeout:// links in their auctions without spending a penny. That would be like saying slashdot can't use IM unless they buy AOL. Skype spent way above considered market value for Skype and their share holders have applied no real pressure to have it turn a profit. This makes the transaction suspicious. The reason of course if because prior to the eBay's purchase Skype was owned in Luxembourg and definitely not an ideal partner for eavesdropping on "terra'rists" (given those crazy European privacy laws). Given that the calls are encrypted, and that Skype does maintain the keys to decrypt those session, getting Skype under US subpeona power is a powerful tool for eavesdropping. Infact, because it is VoIP for most if not all of the calls, it can easily route traffic into the US were it can be picked up, decoded and monitored. Or, since it is known that open IP's become super nodes, Skype can naturally be coaxed into steering packets toward a super-node that can easily be monitored. I use to work for the company that wrote Carnivore. People got worked up over that? It was only the prototype.
    • by animaal (183055) on Wednesday February 07 2007, @05:44AM (#17918702)

      If you run closed-source software on your machine, then you deserve everything you get
      support that isn't limited to that old open-source favourite advice, "RTFM"?
    • by SmallFurryCreature (593017) on Wednesday February 07 2007, @05:50AM (#17918732) Journal

      I will only eat in restaurants that have a double door to the kitchen and a rabid security guard preventing entry. Everyone knows that the best kitchens never allow you to see what goes on inside. That is un-hygienic.

      Neither do I ever check under the hood of my car. My wife insisted on that, she assured me she made sure the brakes work just fine afer she adjusted them with the box-cutter. So that is alright and she waved me goodbye so nicely, together with the poolboy, as I drove away for a week trip across the mountains.

      Checking the work of a software company? Pah, next thing you will be insisting that the bible is translated into your native tongue so you can read it for yourselve and not have to rely on your religious leader to tell you what is inside it. INFIDEL!

    • Re:Finally... (Score:5, Insightful)

      by Lurks (526137) on Wednesday February 07 2007, @07:02AM (#17919150) Homepage
      The thing is, what Skype did was take VOIP and turn it into an actual consumer usable product. Actual real IP phones are indeed based on an open standard but it's a really really stupid standard. Seriously, buy one and visit the configuration web page for it. I've tried many with several real VOIP services and they are pretty much a pain to set up even if you do know what you're doing, and as products they're under polished and buggy. That's today, go back to when Skype started up and these things were even *worse*.

      So yeah it's a closed standard because, not for the first time, a company sitting down to design a protocol and infrastructure from scratch often comes up with something remarkably better than designed-by-commitee products.

      Now I'm not saying everyone should dump stuff and go to Skype, I still find their service haphazard and buggy at best particularly when using the Skype in/out functionality. However I think a bit of respect is due for a company that realised the killer application and went on to deliver in a consumer friendly manner that was genuinely useful and, more or less, single handedly forged the entire consumer idea of net phones full stop.

    • Re:Finally... (Score:5, Informative)

      by battjt (9342) on Wednesday February 07 2007, @07:30AM (#17919284) Homepage
      No, the really cool thing about Skype is that it works and works very well.

      The audio quality over my MacBook, through a public WiFi network, through a very restrictive firewall, across the net, through another anally restrictive corporate firewall, across a nearly saturated WAN, to my client's desk is much, much better than using my digital mobile phone.

      The ease of use is great. We whip together video calls or conference calls all the time and never have to worry about getting a third party involved to set it up for us.

      Being able to call out is fabulous also. I've spent a lot of time in ICU's lately where I'm not able to use the mobile phone, but am able to use the WiFi network. It is very neat to be able to phone from an ICU to pretty much anyone (Skype or phone) with the option for video if they are on Skype also.

      The Jabber community just hasn't gotten their stuff together quick enough. There was plenty opportunity to beat Skype to market, but no one else, using open protocols, got the job done. I wish they would have.

      Joe