Slashdot Mirror


Virus Jumps to RFID

MrShaggy writes "According to a BBC article, researchers have been able to make the jump between RFID tags and viruses. They found that the mere act of scanning a mere 127 bytes could cause an attack vector that would corrupt databases. From the article;'"This is intended as a wake-up call," said Andrew Tanenbaum, one of the researchers in the computer science department at Amsterdam's Free University that did the work revealing the weaknesses on smart tags. "We ask the RFID industry to design systems that are secure," he said.'"

109 comments

  1. FUD? by LiquidCoooled · · Score: 5, Insightful

    Hang on a minute, in this case the tag is not the problem.
    It is the software running on the host machine which does not validate the data coming from the tag that has major issues.

    If I can corrupt a database by entering an invalid lookup code then theres something severely fucked up.
    My bet is its something like the sql injection attacks we see on the web, and you don't see people blaming the input box in those cases.

    quote from the article:

    In some cases, said the researchers, viruses could be spread by household pets such as cats and dogs that are injected with the tags to help identify their owner.

    The pets aren't going to be spreading this "virus" themselves its not sexually transmitted, it cannot be passed by rubbing up against your leg. It will be the vets computer which gets infected because of crappy validation.

    MEOOOOOOOOEEEEEEEEOOOOOOOOOOOWWWWWWWWWWWWW!

    Charlie says: always validate your external inputs before doing any data processing.

    Smart tags, dumb research.

    (and thats coming from someone who doesn't like RFID)

    --
    liqbase :: faster than paper
    1. Re:FUD? by andrewman327 · · Score: 4, Insightful

      I could not agree more. I fail to see how (in this case) RFID tags are any more dangerous than barcodes. This should be a wakeup call to developers to remember to include basic validation and error catching into their programs. Just because it is new and flashy, some people think it is a panacea that has no problems. I have learned always to write code remembering Murphy's Law because in computer science, everything does go wrong at one point or another. This story should not make people stop using tags, but it is always worth asking your vendor about security, especially if you are implementing an RFID system.

      --
      Information wants a fueled airplane waiting at the hangar and no one gets hurt.
    2. Re:FUD? by Technomonics · · Score: 2, Insightful

      Yes, definately FUD. This article is almost ridiculous in its basis in fact. If the RFID is akin to a barcode or serial number, then where in the barcode is executable code? If I were the maker of a RFID reader, I would make damn sure that I would check it throughly for being an appropriately-formed serial number. Then, the worst thign that happens is that the RFID serial number is rejected due to not being found in the database. Have the dvelopers gotten so lazy and dumb that bounds checking becomes a lost art? This article is merely sensationalizing a non-issue. Currently, I dont have any equipment in my house that scans RFID's and, even if I did, I wouldn't expect Tabby to be blowing up my PC sometime soon.

    3. Re:FUD? by Z0mb1eman · · Score: 4, Insightful

      I agree that was my first (knee-jerk?) reaction after reading the somewhat FUD-ish summary. However:

      "We ask the RFID industry to design systems that are secure"

      If the "RFID industry" creates the reader software as well, and if the vulnerability is in that reader software (which is what it sounds like), then the criticism is perfectly valid.

      FTA:

      ""Everyone working on RFID technology has tacitly assumed that the mere act of scanning an RFID tag cannot modify back-end software and certainly not in a malicious way. Unfortunately, they are wrong," wrote the trio in their research paper."

      and

      "The researchers urged companies working on RFID systems to start thinking seriously about security measures to protect against future threats."

      No one's really saying the tags are inherently insecure, any more than they might say that a floppy disk or a CD are insecure. If the reader software currently has many vulnerabilities, no matter how obvious it might seem in hindsight, this seems like valuable research to me.

      --
      ClutterMe.com - easiest site creation on the Net. Just click and type.
    4. Re:FUD? by Anonymous Coward · · Score: 0

      I guess the same theory applies to barcodes and marker pens then.

    5. Re:FUD? by StarvingSE · · Score: 3, Interesting

      This is very different from barcodes. A barcode has to be manually scanned, so you know when a system is reading the information and you can do (probably minimal) research into whether the software reading the barcode is secure enough to handle your personal data.

      The trouble with RFID is that anyone scanning can pick up your tag without you knowing about it. This includes secure and non-secure software. If 99% of software reading these tags are secure, there is still that 1% that isn't and you wouldn't know that it picked up your personal info until you get the bogus credit card bills in the mail.

      --
      I got nothin'
    6. Re:FUD? by rowama · · Score: 1

      Smart tags, dumb research.

      Impossible. Andrew Tannenbaum did the research:)

    7. Re:FUD? by sshutt · · Score: 0

      I agree it sounds like they've just missed off the validation stuff, and any programmer knows that an external input that they dont control could potentially be malformed and should be checked.

      but forgive my ignorance but would an rfid tag actually contain enough information to do more than break a database? I'm still trying to figure out how it corrupts the database.

      I'm guessing you can ger rfid readers that are also writers tag a infects reader, reader infects tag b, and so on, it could potentially become quiet widespread, but then I've already admitted ignorance so thats probably impossable right?

      --
      I love the smell of burning karma in the morning...
    8. Re:FUD? by DrSkwid · · Score: 3, Informative

      You have totally missed the point.

      I walk up to the reader with a crafted RFID and infect the database.

      This is "I can to read ANYONE's card" not "anyone can read MY card".

      Bit obvious really : "don't trust random stranger's data" - Film at 11

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    9. Re:FUD? by plague3106 · · Score: 2, Insightful

      If I can corrupt a database by entering an invalid lookup code then theres something severely fucked up.

      Who said the lookup code had to be invalid? Simply broadcasting a valid signal for a product would be sufficent to corrupt the database. You can trick inventory systems into thinking they have 500,000 razor blades, when they only have 100,000.

    10. Re:FUD? by LiquidCoooled · · Score: 5, Informative

      If the tag data is expected to be an alphanumeric code to represent the customer: Slashdot_LiquidCoooled_634315

      this can be used (incorrectly) to produce a raw piece of SQL:

      select * from Customers where Code='Slashdot_LiquidCoooled_634315'

      if that code contains quotes and they are not being handled correctly then it is certainly possible to corrupt the database.

      Suppose my RFID was programmed with something like this and it was not being validated correctly:

      '; Drop table [customers];

      The resulting SQL could end up something like:

      select * from Customers where Code=''; Drop table [customers];'

      bye bye customers table (if permissions set at defaults and the wind is blowing your way)

      --
      liqbase :: faster than paper
    11. Re:FUD? by Intron · · Score: 1
      I don't think you need anything as complicated as SQL on the tag.
      RFID tag
      --------
      Item: Stay-puf marshmallows
      Qty: -2000000
      Price: $1.99

      ...processing...
      Added -3980000 to total
      Subtracted $-3980000.00 from your debit card.
      Your new balance: $3980427.54
      --
      Intron: the portion of DNA which expresses nothing useful.
    12. Re:FUD? by jackbird · · Score: 1

      Yes, affixing a sticker with a malicious barcode over a legitimate one, then trying to make a purchase would be impossible. Not to mention a discount club key tag, which could be altered by the attacker at leisure.

    13. Re:FUD? by sshutt · · Score: 0

      cheers, I've always had difficulty getting my head round that kind of flaw.

      --
      I love the smell of burning karma in the morning...
    14. Re:FUD? by Anonymous Coward · · Score: 0

      Not to mention a discount club key tag, which could be altered by the attacker at leisure.

      It may have slipped your ADD-shortened attention-span that the informations on the RFID-tag is encrypted, so, umm, no. Thanks for trying, though; not everyone can know this tech-stuff. Fucking moron.

    15. Re:FUD? by espressojim · · Score: 1

      Who even writes SQL these days directly?

      In java (and hey, could be similar with RoR, etc), you write your web tier stuff to a middleware layer. There, we use Hibernate and HQL. That sort of crap 'just wouldn't parse' in HQL or criterion queries, as it would not be a valid parameter for "?".

      Heck, even writing SQL, why aren't you writing parameterized prepared statements? Doesn't that also make you immune to this sort of crap?

      "Select * from customers where Code = ?"
      setParam(1, myCraptasticUntextedVariable); // do this in your language of choice.

      Or, am I missing something neat here? I like learning even more than being right...:)

    16. Re:FUD? by h4ck7h3p14n37 · · Score: 1

      Sadly you're right, many developers would make a direct call to the database with the invalid data versus calling an API function that hides the underlying implementation and does proper validation/error handling. Blame poor design, ignorant developers, etc. but not the data.

    17. Re:FUD? by Anonymous Coward · · Score: 0

      Oh, well then it's it perfectly safe then, yanno, seeing how noones encryption scheme has ever been broken.

    18. Re:FUD? by bit01 · · Score: 2, Insightful

      If the reader software currently has many vulnerabilities, no matter how obvious it might seem in hindsight, this seems like valuable research to me.

      No hindsight required. Any programmer not validating input, particularly from an untrusted source, is simply incompetent.

      This isn't "research" as such, merely exposure of incompetents.

      The fact that RFID is the vector is irrelevant. Though if the programmers and testers were this incompetent with something as simple as RFID data I hate to think how badly they'd mess up something "complicated", like configuring basic database security, or actually complicated, like software security that can deal with malicious staff.

      ---

      Don't be a programmer-bureaucrat; someone who substitutes marketing buzzwords and software bloat for verifiable improvements.

    19. Re:FUD? by julesh · · Score: 1

      I fail to see how (in this case) RFID tags are any more dangerous than barcodes.

      Barcodes typically contain short, fixed-length information. It's very hard to get a system to handle such data wrong to the point where it can be infected by a worm. In fact, I think you'd have to be trying.

      RFID tags implement a computer-controlled bi-directional communication protocol with a host machine to enable the host to identify the tags that are close to it. Many include writable storage space for storing end-user defined data, which is in many cases variable length.

      Reading between the lines of this report, it seems that the attack is used to subvert existing tags, changing how they communicate with the host computer, to exploit a bug in the implementation of that communications protocol. The danger here is that you can walk into a shop with a transmitter, and a few minutes later have every tag in that shop under your control, trying to attack the scanners. This is much worse than barcodes.

    20. Re:FUD? by andrewman327 · · Score: 1
      I do understand that they are very different and indeed more serious, though it is not that hard to stop these attacks. What I meant to say is that if you write bad enough code to go crazy with garbage data from an RFID tag, your barcode code would probably also crash with a bad tag.


      catch exception(e);
      {
      this.output("Cannot understand tag");
      }

      --
      Information wants a fueled airplane waiting at the hangar and no one gets hurt.
    21. Re:FUD? by Aceticon · · Score: 1

      Feel free to share with us how to do in HQL:
      - an hierarchical query (Oracle style)
      - a bulk update having a sub-select in the SET clausule

      So yeah, HQL can't do everything for you, and when you have to go beyond what HQL can do, you end up hand coding SQL. At this point there are two types of programmers:
      - Those that escape single quotes
      - Those that don't

      And no, prepared statements aren't always the right option.

      "More dangerous than those which are totally ignorant are those which do not yet know enough to be aware of how much they do not know"

    22. Re:FUD? by julesh · · Score: 1

      The point is, though, it's almost impossible to get barcodes wrong. In their most common implementation (i.e. UPC/EAN-13) they are fixed length numeric values. How can anyone screw that up?

    23. Re:FUD? by andrewman327 · · Score: 1
      "How can anyone screw that up?"


      I actually asked the same question when I read TFA.

      --
      Information wants a fueled airplane waiting at the hangar and no one gets hurt.
  2. Good thing this was not in the US by gasmonso · · Score: 2, Insightful

    They could have been sued for violation of the DMCA. We don't want any weaknesses exposed by researchers in the early stages... we'd rather have them exposed maliciously after its too late!

    http://religiousfreaks.com/
    1. Re:Good thing this was not in the US by andrewman327 · · Score: 2, Interesting
      What does hat color have to do with how evil someone is? Lock them up for their hacking ways! [/sarcasm]


      While I doubt that anyone would have been charged for this in the USA, I agree that the DMCA hampers some meaningful research. To be fair, however, all this project did was prove something that most of us could have figured out on our own: GIGO!

      --
      Information wants a fueled airplane waiting at the hangar and no one gets hurt.
  3. Research shows... by Anonymous Coward · · Score: 0

    that if you blindly accept user input without any sanity checking, bad things mad happen.

  4. Mmmmm by Anonymous Coward · · Score: 0

    They found that the mere act of scanning a mere 127 bytes ...

    That's merely amazing!

  5. Correction on the University name by MartijnL · · Score: 3, Informative

    The University is called the "Vrije Universiteit" or VU for short ( http://www.english.vu.nl/home/index.cfm/ ). Which is not "Free as in Beer". It also didn't stand for Free as in: open for everyone. That didn't come along until the 1960's.

    1. Re:Correction on the University name by clacke · · Score: 1

      You mean, exactly as in English? How does this make "vrije" not mean "free"? Only on /. would someone automatically assume this has something to do with one particular meaning of the word.

      The university policy seems to be not to translate the name, so the newspaper should have followed that, but the translation certainly is correct. Many organisations (including universities) translate their names in an international context and some of the personal homepages on the VU translate the name, so I wouldn't be too hard on the BBC for this slight transgression.

      Of course, the only thing sillier than a nit-picker is its jealous cousin, me.

    2. Re:Correction on the University name by ReinoutS · · Score: 1

      So you forgot to explain what it did stand for: free from State or Church influence. Obligatory wikipedia link.

  6. Makes me kind of glad by mcguiver · · Score: 2, Interesting

    I am glad that the viruses have started coming out for RFID devices before they started implanting them in my head. But it doesn't suprise me that people were able to find a way to create a virus for them. Hopefully it will cause those who are thinking about using RFID in everything (implanting in people, using as gun safety devices etc...)to reconsider before doing a wide distribution.

    I, for one, would rather not have electronics malfunctioning in my body. Sometimes I have a hard enough time just keeping my body functioning. Who knows, before too long we may need to staff doctors and engineers in hospitals.

    1. Re:Makes me kind of glad by kasgoku · · Score: 0

      lol... so true. yea seriously, the government is making it seem like it is a heavenly thing, can't be hacked or affected by any virus. But actually it is not different from any portable electronic device that uses radio waves or whatever. But then again, everything is vulnerable and we have to take risks in everything. govt. should do extensive research before implementing it openly. good point.

    2. Re:Makes me kind of glad by Anonymous Coward · · Score: 1, Insightful

      The tag in your head wouldn't be the problem. All the tag in your head does is say, "I AM HERE" when exposed to a magnetic field-- it does not receive anything. It's not even a virus in the classical, computer science sense -- more like fitting a square peg in a round hole. You might be able to do it, but you'll probably break the hole doing so. That's not the fault of the peg (the RFID chip), but rather the person (the software) not recognizing what is garbage data. Thus, if a malicious person knows a particular SCANNING device is susceptible to bad input errors, they could write an RFID tag to screw up that machine.

      The problem is in the software which hears the message broadcast by the chip. The software could be poorly coded so that the device READING your chip can crash if it doesn't understand the message your chip is broadcasting.

      So directly speaking, you wouldn't keel over and die from an RFID "virus". However, you would probably want to stay away from an RFID scanning robot that could tear your head off thinking it's a package to put on the conveyor belt.

  7. Like the JPEG "virus" by kherr · · Score: 4, Interesting

    It is the software running on the host machine which does not validate the data coming from the tag that has major issues.

    Absolutely. This is just like the Windows JPEG "virus" that was due to buggy JPEG parsing. Describing RFIDs as an attack vector is appropriate, but inert data can not be a virus. You typically don't execute images or identification information. Perhaps there needs to be some catchy name for this type of attack, but really it's just a new example of the common overflow bug.

    1. Re:Like the JPEG "virus" by morgan_greywolf · · Score: 3, Insightful
      Perhaps there needs to be some catchy name for this type of attack, but really it's just a new example of the common overflow bug.


      How's about "programmer dumbass attack"? Seems quite apt, to me. Any programmer worth his salt knows that he has to check for invalid data, yet so many software developers (both open source and closed source) let code go to production levels that fails to perform even the most basic of validations.

      Maybe we need to send a bunch of programmers back to basic training! "Security boot camp"! Only let's make it real tough: make them all write basic currency conversion programs and for every piece of invalid data that makes it through without being validated, that program's author loses a finger! That'll teach 'em! :-P
    2. Re:Like the JPEG "virus" by Anonymous Coward · · Score: 5, Insightful

      Absolutely. This is just like the Windows JPEG "virus" that was due to buggy JPEG parsing. Describing RFIDs as an attack vector is appropriate, but inert data can not be a virus.

      Inert data can certainly be a virus: that's especially true in biology, where the entire virus metaphor arose in the first place. After all, virus is an piece of inert genetic data. When in contact with a live host, it alters the behaviour of the host; but without a host system to carry it, viruses are inert. Some people like to characterize them as the boundry case between "living" and "non-living": they're an inert substance that alter living beings in a self-replicating way to make more of themselves; in that sense, they "reproduce", despite not being "alive".[1]

      As for your original point, you're right that it's probably not correct to call RFID tag exploits "viruses": but not because viruses are inert. It's because the RFID virus is not being copied on by the host system it contacts; although, it sounds like it should be possible to craft a virus that does, assuming you could infect the RFID code writing software.

      --
      AC
      [1] People debate terms like "alive", "dead", "reproduce" for hours on end, until they realize they're arguing over definitions, which by definition is pointless....

    3. Re:Like the JPEG "virus" by Anonymous Coward · · Score: 0

      How about calling such an attack poison?

      Stay healthy: never consume poisoned data.

    4. Re:Like the JPEG "virus" by RovingSlug · · Score: 3, Insightful

      Perhaps there needs to be some catchy name for this type of attack

      How about "poison" instead of "virus", since its presence may cause illness or death but does not self replicate. As in "attackers injected poison RFID tags into system, which is now inoperable until repairs are made."

    5. Re:Like the JPEG "virus" by GeorgeFitch3 · · Score: 1

      Perhaps there needs to be some catchy name for this type of attack...
      RFID injection attack?

    6. Re:Like the JPEG "virus" by julesh · · Score: 2, Funny

      [1] People debate terms like "alive", "dead", "reproduce" for hours on end, until they realize they're arguing over definitions, which by definition is pointless....

      No it isn't.

  8. Erm by LordPhantom · · Score: 4, Informative

    2 words - Input Validation

    This article can be summed up in the following sentance:

    OH NO! Anyone can put ANYTHING on a tag that might be read by database software! Horrors!

    C'mon people, this is basic data security 101 - never trust inputs without validation. This isn't a problem with insecure tags, it's a problem with import software/database code.

    1. Re:Erm by plague3106 · · Score: 1

      Fine, how does the computer know if you're getting a shipment of razors, or if its just some guy broadcasting the signal from his laptop?

    2. Re:Erm by LordPhantom · · Score: 1

      2 Seperate things here.
      #1 - "Virus" implies code that can be executed to create a security breach.
      #2 - Incorrect Data (what you're talking about). There are ways around this problem, but the article is talking about using the very small amount of data that can be stored on RFID chips as a vector for attack on the software/database it is stored in, and the above comment applies to this.

    3. Re:Erm by Anonymous Coward · · Score: 0

      What the hell is a 'sentance'? Back to school for you!

    4. Re:Erm by Anonymous Coward · · Score: 0
      What the hell is a 'sentance'? Back to school for you!

      What the hell is a typo nazi? Back to "I'm too fucking stupid to make a real contribution, so I'll look for typos and grammar errors instead, thinking that makes me look smart" school with you. Fucking dick diddler.

  9. #ERROR by Doomedsnowball · · Score: 3, Informative

    I can see premade RFID tags containing SQL code being sold on eBay. Lower your grocery store prices, evade background checks, travel anonymously, use VIP entrances, ignore 'Authorized Personnel' signs! This is total FUD. The database equivalent of believing everything you hear. If there is no authenticating, then it's no surprise that there could be malicious hacking. The real story is that if it is possible to have a single binary check system, someone could change their Zero value to a One to defeat it.
    Noooooooooooooooooo!!!

    --
    7h3$3 4r3n'7 7h3 Ðr01Ð$ ¥0 4r3 £00|{1n9 f0r. M0v3 4£0n9. --OB1
    1. Re:#ERROR by mevryck · · Score: 1

      RFID technology has got a lot of lurking dangers... RFID tags enable unethical individuals to snoop on people and surreptitiously collect data on them without their approval or even knowledge. Lacking their own power source, the chips are also susceptible to so-called power-consumption hacks. RFID tags can be breached to cause a denial-of-service attack on the tags, using cheap store-bought radio transmitters. RFID tags not only carries the danger of privacy violations, but also of new vectors for computer viruses. RFID tag can be used to send a SQL injection attack or a buffer overflow.

    2. Re:#ERROR by dorkygeek · · Score: 1
      RFID tags not only carries the danger of privacy violations, but also of new vectors for computer viruses. RFID tag can be used to send a SQL injection attack or a buffer overflow.

      Wooo, the horrors! And so can Slashdot, an image, a DVD or the email your mother just sent to you. If a programmer does not do input validation or leaves its code open to buffer overruns, everything can be the carrier of a virus. There is no particular danger coming from RFID, only from dumb developers of reader software.

      --
      Windows is like decaf - it tastes like the real thing, but it won't get you through the day.
  10. read only by Lord+Ender · · Score: 3, Informative

    So a specially-crafted RFID tag could cause code to execute on a vulnerable RFID reader. That's not a virus. But if this code causes the RFID reader to begin writing copies of the bad data to tags, then we have a virus.

    But read-only RFID tags and RFID readers are much cheaper than the writable kind, so this is not very practical. And RFID tags typically can't hold bit strings which are long enough to contain useful software. So, again, this is a bit silly.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    1. Re:read only by Peter+Mork · · Score: 2, Informative

      "So a specially-crafted RFID tag could cause code to execute on a vulnerable RFID reader. That's not a virus. But if this code causes the RFID reader to begin writing copies of the bad data to tags, then we have a virus."

      The real article (not the lame BBC article) describes how to construct a self-replicating virus that copies itself to RFID tags as they are written. They also describe how to create RFID worms. The attack vectors are basically SQL injection, cross-site scripting, and buffer overflows.

  11. I've certainly got no problem... by Anonymous Coward · · Score: 0

    when something breaks that was,like DRM, invented by Hitler.

  12. Hillarious by Anonymous Coward · · Score: 0

    From the article:

    In some cases, said the researchers, viruses could be spread by household pets such as cats and dogs that are injected with the tags to help identify their owner.

    Whats are those key words for out at a glance viewers:
    Virus? Spread? Owner? Pet?

    Someone has forgot what they are talking about while trying to spread FUD with the pet angle.

    1. Re:Hillarious by El+Torico · · Score: 1
      In some cases, said the researchers, viruses could be spread by household pets such as cats and dogs that are injected with the tags to help identify their owner.

      This may explain why I keep finding Petsmart price lists and my Phidgets RFID Kit next to the cat food bowl.

      --
      In the land of the blind, the one-eyed man is usually crucified.
  13. oh no!! by preppypoof · · Score: 3, Funny
    They found that the mere act of scanning a mere 127 bytes could cause an attack vector that would corrupt databases.
    looks like their grammar databases have already been corrupted...
    1. Re:oh no!! by robertjw · · Score: 1

      Fortunately the grammer NAZI databases are still intact.

  14. What about other forms of external data? by JanusFury · · Score: 3, Insightful

    This is a good example of how people will sometimes trust data that isn't trustworthy at all.

    I'd be willing to bet that someone with enough cleverness and free time could come up with a 'credit card virus' that could compromise specific vulnerable payment systems/credit card processing devices when swiped. For all we know, there may already be such exploits out there now. At least in the case of credit card processing, it's financial code so hopefully there are some stringent security processes along with multiple layers of verification, but still - pretty scary to think about.

    --
    using namespace slashdot;
    troll::post();
    1. Re:What about other forms of external data? by Joe+The+Dragon · · Score: 1

      or some may want to shut down a ETC system to get out of paying tolls

    2. Re:What about other forms of external data? by SatanicPuppy · · Score: 1

      Speaking from experience...Financial code is usually secure only because it is usually too stupid to be fooled. The financial databases where I work wouldn't even notice a sql injection attack; they're not smart enough to process one, even if someone was clever enough to put it through the "validation" process used to homogenize the data.

      Making something too stupid to be hacked is an excellent line of defense where this kind of hacking is concerned...You can't trick it into doing something it can't do.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  15. Slash Dot gets another scoop by Anonymous Coward · · Score: 0

    Way to keep upto data SlashDot.... this same exact problem was reported like over 6 months ago....

    1. Re:Slash Dot gets another scoop by Architect_sasyr · · Score: 1

      Ok, I know this is off topic...

      I am getting sick and tired of the anonymous coward bullshit out there... so a couple of things that I feel need to be said

      /. != digg Are you surprised??
      /. is headed up by a core team of authors. It isn't the crappy mess of digg, (not flaming), nor is it the structured evil of bbc (flaming). It is headed up and maintained by a couple of people who actually have an interest in other things. Yes that's right, they are interested in other things.

      Rather than trolling over /. (and yes I did bite) why don't you submit a story? It saves the bullshit everyone else has to deal with AND you can use your name for prestige and glory amongst your local AOL crew.

      Yes I am posting with my real name? Screw these anonymous cowards

      --
      Me failed English...
      FreeBSD over Linux. If my comments seem odd, this may explain...
  16. oh no! by joe+155 · · Score: 2, Informative

    well these people weren't the first to do this, nor will they be the last. I first read about this on the 15th of March, and the malware itself has been publically available since then... it's all in the register article, here: http://www.theregister.co.uk/2006/03/15/rfid_tags_ infected_by_virus/

    --
    *''I can't believe it's not a hyperlink.''
  17. I'm sorry Uncle Kent; I lost my thesaurus by spun · · Score: 3, Funny

    Brockman: Big game fever is reaching a fever pitch as the
                    fevered rivalry between Springfield U. and
                    Springfield A&M spreads like wildfever. [looks
                    offstage] This is writing?
    Intern: I'm sorry Uncle Kent; I lost my thesaurus.

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
  18. Is it data, or is it code? by davidwr · · Score: 2, Insightful

    If you merely store and read data - ANY DATA - and do not interpret it, it cannot carry a virus.

    The minute you start interpreting data you have to treat it as potentially hostile. This goes for computers AND people. There's not much difference between a "hostile" data-set that the attacker knows will be interpreted as SQL code that he can use to corrupt an automated-supply-ordering system, a hostile data set that the attacker knows will be interpreted as a false we-are-low-on-inventory-order-more or we-have-enough-inventory-don't-order-more tag by a an automated-ordering system, and a hostile data set that the attacker knows will cause a human being to falsely think inventory is low or high and act accordingly.

    BTW, the latter is easy enough to do: replace RFID tags that say "quantity 1 unit" with "quantity 1 pallet of 200 units" or vice-versa and hope no input-validating-computer or -person notices.

    To borrow a phrase, "Garbage in, garbage out."

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Is it data, or is it code? by UncleFluffy · · Score: 1

      If you merely store and read data - ANY DATA - and do not interpret it, it cannot carry a virus.

      Storing is enough to enable a buffer overflow, which is enough to make the payload active

      --

      What would Lemmy do?

  19. Not a RFID problem, more a database flaw by Opportunist · · Score: 3, Insightful

    As much as I distrust RFIDs, and as much as I detest the way they are being used, this is a problem of the backend, not the RFID itself. It's an ancient problem of databases with data injection that has been used for years now, on the internet, to inject data into online databases or to mess with them generally.

    It's not really new news either. I think I remember that report from about a year ago when RFIDs in our passports became an issue and Tanenbaum raised those concerns. So is this something new or do the old news get repeated for a lack of anything new?

    Must be summer, all the politicians are on holiday...

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  20. Old News... by darcling · · Score: 1

    This was reported as "the first RFID virus" (though it was really just a proof of concept) months ago... I read it on Slashdot : P Note the date at the top of the page referenced above: Last Updated: Wednesday, 15 March 2006, 18:02 GMT And the FUD starts all over again : )

    --
    noobcake or noobmuffin? It is the same price...
    1. Re:Old News... by giafly · · Score: 1

      Please mod parent up! Is your cat infected with a computer virus? Is your cat infected with a computer virus? It might be. Many pets, as well as commercial livestock, have been injected with a tiny RFID tag microchip that can identify them if they get lost (pets) or are later found to harbour disease (livestock). Up until now, no one thought these RFID tags could themselves be infected with computer viruses. Now researchers at the Vrije Universiteit in Amsterdam have discovered that computer viruses in animals, supermarket products, airline baggage and other physical objects are a real threat.

      --
      Reduce, reuse, cycle
  21. Re:FUD? - no fud by Anonymous Coward · · Score: 0

    The makers of these systems design, advertise and sell these products as a complete solution.

    When they are talking about RFID they are not talking about the chip itself, but the whole system: tags, readers, back end software complete.

    I admit that the issue is not with the tag, but it is with the solution that is called RFID.

    vajk

  22. A mere 127 bytes? If only they had more by davidwr · · Score: 2, Insightful

    Just imagine what they could do with a mere half a megabyte.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  23. Re:Bad news by Anonymous Coward · · Score: 0

    They don't carry firearms

  24. look out. by RackinFrackin · · Score: 1

    Beware of any tags that contain the string "Execute Order 66"

  25. No expects an RFID tag to send a SQL injection... by rickkas7 · · Score: 3, Interesting
    From the real paper: "No one currently expects an RFID tag to send a SQL injection attack or a buffer overflow."

    I think the point of the research is that many RFID tags are read by closed or theortically isolated systems like inventory control devices and pet identity scanners that probably have not been examined for the kinds of vulnerabilities that we (theoretically) look for Internet accessible servers.

    While we have a mediocre system for updating Internet-based applications in the face of vulnerabilties, the prospect of updating piles of non-Internet accessible devices is indeed an issue.

  26. The full article -- it's legit by davecb · · Score: 4, Informative

    There is a PDF and also a complete discussion at http://www.rfidvirus.org/virus.html, breifly outlining "Replication Using Self-Referential Queries" and "Replication Using Quines".

    For example,
    Database systems usually offer a way to obtain the currently running queries for system administration purposes. However, these functions return queries as an normal string, which makes it possible to store them in the database, thereby replicating the query.

    We have developed two versions of the virus, one that is contained in a single query, and one the requires multiple queries. The virus using a single query requires less features from the database, but cannot carry SQL code as a payload. The virus using multiple queries requires a database that supports this, but it does allow SQL code as a payload.

    Details on the virus using self-referential queries can be found athttp://www.rfidvirus.org/exploits/sql_self/index .html

    --
    davecb@spamcop.net
  27. useful software in small packages by davidwr · · Score: 1

    It's not applicable to the RFID scenario, but some on some systems, very dangerous software can be packed in a very small amount of space.

    Imagine a machine that had the following library routines:
    Routine #1: Alert user to input a blank CD and copy x bytes of data from Y location, perhaps a location on the internet, to the CD
    Routine #2: Erase the hard disk
    Routine #3: Reboot the system from the CD

    With only 3 function calls - probably well under 127 bytes of code, I can cause the machine to reboot and load the arbitrary data I just wrote to the CD.

    A more real-world example is a bootloader: The first stage of a bootloader is a very useful, some would say essential, program, and it typically runs in 512 bytes.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  28. Maybe they're trying to hide the real problems by iabervon · · Score: 2, Interesting

    It's possible that they put a virus on an RFID tag. You can also put a virus in a newspaper or transmit it by reading out a bunch of numbers. But that doesn't mean it will be received in a form that makes it do anything. Presumably, they've found a bug in some RFID-processing software similar to the bugs in lots of data-processing software. Of course, RFID systems are more likely to be completely immune to this sort of input-validation issue, because they're often designed to be full-packet binary database keys, and there is no invalid input that the reader can produce (sort of like how US postal bar codes always read as 11-digit numbers, and, while some of those numbers aren't used, they're always either a real place or no place, not something that breaks the system.

    The real security issue is that it's trivial to clone an RFID tag. Using it for identification is like using a piece of paper that can be photocopied, except that the attacker doesn't have to swipe the paper to copy it. But if people only think about the non-fundamental and insignificant flaws with RFID, they can be distracted from the fact that it's entirely inappropriate in the first place.

  29. Where can I get one of these? by pla · · Score: 1

    Sweet!

    I really want to know, though, where can I get just such a "viral" RFID tag to stick to the inside cover of my passport?

    I just need to wrap the real passport in a modified tinfoil beanie, put the fake one on the outside of the beanie, and laugh heartily as people scan me and then go white in horror at the realization of what they just did to themselves. Bwa-hahahah!

    / only half kidding - I'd do this in a heartbeat if I had the hardware to program my own tags.

  30. Barcodes next ? by Wimmie · · Score: 1

    When can we expect the same story but using a barcode reader as inputdevice for the database ?

  31. Re:A mere 127 bytes? If only they had more by lxs · · Score: 2, Funny
    Just imagine what they could do with a mere half a megabyte.


    Considering Andy Tannenbaum is involved, I imagine they would probably port Minix to it.
  32. Memory Spot by Roy+van+Rijn · · Score: 1

    I've heard about this research about a year ago or something, and I can still draw the same simple conclusion:

    RFID is read-only, a read-only virus can't spread, so it isn't a virus!

    Unless you write a really really bad RFID-chip reader which can buffer-overflow and write in memory a simple RFID chip can't do any harm. So its also pretty safe to use...

    Don't go thinking about infecting your local supermarket with a new RFID-virus, it'll never happen.

    But while we're on it, have you guys heard about HP's Memory Spots? Its a new kind of wireless chip. The connection is much faster then RFID and the memory size is bigger. The biggest gain is in the size, 2 mm to 4 mm square with a build in antenna!

  33. Duplicate by Anonymous Coward · · Score: 0

    This story is from March. It was covered on /. back then too.

    http://it.slashdot.org/article.pl?sid=06/03/15/132 4233

  34. Completely Innacurate by Philodoxx · · Score: 3, Informative

    First off this is basically a dupe of http://it.slashdot.org/article.pl?sid=06/03/15/132 4233. It was innacurate when it was first reported and it's innacurate now.

    Here is my reply from the original post and it applies here:

    "There are a variety of standards on how RFID tags are encoded, all of which break down into partitioning the tag's data into segments to form the unique identifier

    For the sake of argument I'll use EPC SGTIN96. In the SGTIN tag has four partitions: Filter, Company Prefix, Item Reference, and Serial Number. Each of these fields is of varying size depending on how big tag is. Typically RFID tags are 96 bits (although some tags can get up to 1Kbit), even using 7 bit ascii there's not a whole lot you can fit in 96 bits. When I poll the reader, or the middleware I'm getting back a number, e.g. 12345 and it's my responsibility to parse through that number to get the fields I'm interested in. In this scenario I would have to be doing some *very* sloppy programming to open myself to an SQL injection attack (something along the lines of treating known numeric data as a string).

    ISO and EPC Gen 2 tags do support custom data, which I suppose could be used to store strings but since it is severely space constrained (typically in the range of 2-32 bytes) I question the viability of such an attack. Not to mention that the field will likely be used to writing in ids instead of human readable data. Finally, it is common to encrypt the custom payload on an rfid tag. So even if somebody were to change it to "AND 1 = 1" it would be caught when the program tries to decrypt the tag."

    An RFID tag contains just a number; newer RFID tags have support for custom payload but 99% of RFID tags are so space constrained that nobody would put raw strings in the tag. I spent a good chunk of last year devleloping RFID applications and not once did I do a straight lookup on the database from data I pulled from the RFID tag. So while I guess this classifies as a vulnerability somebody who does straight database lookups using RFID tag data will bring down the company long before an RFID tag exploit will.

    --
    Oh, a lesson in history from Mr. I'm my own grandpa.
  35. Re:No expects an RFID tag to send a SQL injection. by Anonymous Coward · · Score: 0

    Nobody expects the SQL injection attack!

  36. "The" Andrew S. Tannenbaum by x-guru · · Score: 2, Insightful

    I just wanted to point out that the "Computer Science professor" mentioned in the /. blurb is "The" Andrew S. Tannenbaum, inventor of minix, and author of several textbooks used in Computer Science programs nationwide.

    Personally, I would not have posted that article without attaching these links. Tannenbaum is a key player in modern computer science research and education.

    Check out his homepage
    and his Wiki biography.

    1. Re:"The" Andrew S. Tannenbaum by uberfrench · · Score: 0

      A previous Tanenbaum's paper about RFID virus: http://www.rfidvirus.org/papers/percom.06.pdf (also check the main site)
      And a good presentation of RFID and its security: http://www.cs.wustl.edu/~jain/cse574-06/ftp/rfid/i ndex.html

  37. Lets introduce the RFID devs to error handling... by tubapro12 · · Score: 1

    I'm a software developer and I couldn't agree with you and grandparent (and probably 99% of the other people who reply) any more. If I wrote a program with such a fault (which I wouldn't) I most definitely wouldn't be calling it a virus. Something like this no different than a program crashes when it gets unexpected input etc.

  38. Not really possible on modern RFID systems. by 510madness · · Score: 2, Informative

    Unless I missed something obvious (happens), I don't think this is a serious issue...

    1) Most malicious SQL statements (i.e ";DELETE FROM USERS;") require more than 64-96 bits, the current standard for RFID tags.

    2) Any RFID software system that is compliant with EPCglobal's Tag Data Specification (http://www.epcglobalinc.org) is inherently "immune" to this issue. The TDS spec defines several tag formats for use in software systems that require the tag's binary data to be in hexadecimal or decimal format and futhermore treated as a URI. e.g. urn:epc:raw:64.1234567890. Simply encoding a tag with ";DELETE FROM USERS;" will not cause any damage in an EPCglobal-compliant RFID system because the binary data read from the tag is never used in ASCII format, just decimal and hex.

    3) Futhermore, the TDS specifies exactly which bits are to be used for various 'fields' such as 'company', 'item', 'serial number' etc. Most RFID systems perform operations on each field seperately, so any SQL statement would be broken up; ";DELETE FROM USERS;" could become something like ";DELE"."TE FROM"." USERS;". Again this doesn't matter so much because the data is never used in ASCII format, only Hex/Decimal.

    In English....

    ASCII: ";DELETE FROM USERS;"
    Binary: 001110110100010001000101010011000100010101010
    100010001010010000001000110010100100100111101
    001101001000000101010101010011010001010101001
    00101001100111011 (153bits, impossible to fit on Gen1 tags!)
    Decimal: 59686976698469327082797732858369828359
    URI: urn:epc:raw:153.5968697669846932708279773285836982 8359

    As you can see, the URI form of the tag is pretty harmless. :)

  39. Re:oh no! - Same story by Multivitavim · · Score: 1

    That's the same news item, aye. Note that the BBC item linked in today's Slashdot story is itself also from 2006-03-15.

  40. And the last time you checked your mail was . . . by ChairmanREG · · Score: 1

    While we appreciate the information, recycling a story every four months is rather counter-productive. The BBC article was dated 15 March 2006 on the same day that the paper was delivered at the Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom) in Pisa, IT. The AIM Global RFID Experts Group (REG) were meeting at the same time in Kyoto that the paper was presented. We respectfully request that Slashdot readers take the opportunity to read our response and proceed with any other questions that you might have on this technology. Our response is posted at http://www.autoid.org/RFID_Experts/rfid_experts.ht m Warmest regards! Craig K. Harmon Chairman, RFID Experts Group (REG) craig.harmon@qed.org

    --
    craigkharmon
  41. How to hack the system by houghi · · Score: 1

    I can imagine a situation in LAX or any other large airport, if possible all over the world at the same time:

    Sorry, I do not care if you say who you are. The computer who checks the RFID in your passport is telling me to put you under arrest and transport you to Guantanamo. Yes, I know that the same happend to anybody with a passport that has an RFID.

    --
    Don't fight for your country, if your country does not fight for you.
  42. That's Odd.... by penguin_dance · · Score: 1

    I thought the RFID tags WERE the virus!

    --
    If you've never been modded as "flamebait" or "troll," you've never tried to argue a minority viewpoint here!
  43. Re:Barcodes next ? by aix+tom · · Score: 1

    That's what I thought.

    And since most systems which READ Barcodes also PRINT barcodes at some point You could even spread it on paper that way. ;-)

  44. Tag data no different than web input boxes. by master_p · · Score: 1

    As pointed by other posters, you need validation of tag data before the data reach the database. I have some experience in the field, but I never saw tags with so much memory. The largest I've seen is 128 bits (not bytes).

    The Java application I work on uses prepared statements, and according to the Java specs, input data are checked for invalid SQL...therefore code injection is not possible.

    I assume other frameworks will offer similar techniques.

  45. Consumer Groups? by Snowtide · · Score: 1

    This is not a technical issue but I found it humorous. A known flaw like this and consumer groups are mentioned as a threat to take advantage of it? Surely they can come up with a better first suspect than that. Bored /.s for starters. :)

  46. Just think of all of the evil things you could do. by eviljolly · · Score: 1

    Like get free EZ-TAG!!!

  47. Stupidity can open the door for malice by DragonHawk · · Score: 1
    "this is basic data security 101 - never trust inputs without validation"

    Of course, one problem is that it looks like most programmers never took Data Security 101.

    This isn't a problem with RFID tags, per se, of course. But it does bring up an interesting point: Even if some big company intends to be completely nice about their RFID tag usage (and that is far from a given), some bad guy might be able to subvert the system to do bad things. The more data big companies have on you, the worse those bad things might be.

    This is all pure speculation, of course, but history is full of examples where good ideas backfired when abused.
    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  48. Wait, this should be the second wake up... by Anonymous Coward · · Score: 0

    Does anyone remember the whole deal w/ the gas rfid chips. They were cracked by some researchers. With some equipment in their backback, they could essentially buy gas with someone elses identity. RFID TAGS ARE SIMPLY NOT SECURE ENOUGH TO STORE ANY AMOUNT OF PERSONAL INFORMATION.

  49. Ya, damned RFID by dilvish_the_damned · · Score: 1

    And I hate the way my keyboard handles my drunk posts. It like, does no validation whatsoever. Damned keyboard.
    I wish they would build a more secure keyboard.

    --
    I think you underestimate just how much I just dont care.
  50. Re:Barcodes next ? by Lehk228 · · Score: 1

    at work i crashed a portable barcode scanner/printer accidentally by missing what was in my hand and scanning a code printed on the side of a cardboard case.

    --
    Snowden and Manning are heroes.
  51. Do RFID tags run Minix? by Fox_E_Mama · · Score: 1

    Yes, one of the advantages of a microkernel is that you can do things like run Minix on an RFID tag -- for educational purposes only, of course... But with a macrokernel such as embedded Linux you can network your RFID tags and create a supercomputer that calculates your inventory for you! Don't even try running Windows CE on these things. You think you have viruses now?

  52. Who ever wrote that crap? by rrohbeck · · Score: 1

    FTFA: The researchers showed how to get round the limited computational abilities of the smart tags to use them as an attack vector and corrupt databases holding information about what a company has in storage.

    Whoever wrote the RFID reading code needs to be shot. Or at least fired and sent back to college.
    "Oh yeah, we have an externally read binary string here, let's rely on its structure and assume it is always what we expect." Sweet.

  53. Free University Compiler Kit (VUCK) by SimHacker · · Score: 1

    The Amsterdam Compiler Kit was originally known as the Free University Compiler Kit (or VUCK, since V stands for Free in Dutch). RMS wrote:

    I would say that since the time about two and a half years ago when I actually started working on GNU, I've done more than half of the work. When I was getting ready to start working on the project, I first started looking around for what I could find already available free. I found out about an interesting portable compiler system which was called ``the free university compiler kit'', and I thought, with a name like that, perhaps I could have it. So, I sent a message to the person who had developed it asking if he would give it to the GNU project, and he said ``No, the university might be free, but the software they develop isn't'', but he then said that he wanted to have a UNIX compatible system too, and he wanted to write a sort of kernel for it, so why didn't I then write the utilities, and they could both be distributed with his proprietary compiler, to encourage people to buy that compiler. And I thought that this was despicable and so I told him that my first project would be a compiler.

    ...The rest is history...

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  54. However, if 1000 people walked into a walmart by BigLonn · · Score: 1

    This was originally posted in march, I think, but it is legit, even though the Rfid industry pushed a large disinformation campaign about it then. The problem is the people using the technology, namely walmart here in america are using it to automate the data collection methodology and reduce reliance on humans to do the collecting of data on product moving off the shelf with the hand held bar code readers, its this automation that allows this vector to propogate, because the human is out of the loop. It's not really good for a hack into the main frame, but its a good way for the disgruntled exemployee to walk in with a corrupted rfid in his/her pocket and spoil the database. However, if 1000 people walked into a walmart each with an rfid chip in thier pocket, this could get really ugly at the next stockholders meeting in Bentonville. While not a total ball buster, it is a nusiance attack that can cost hundreds if not thousands to correct individually.

  55. Re:FUD? It's both the SW and the tag. by bwcbwc · · Score: 1

    As discussed, the software shouldn't be vulnerable to such attacks. But it's not FUD either.

    The tags shouldn't be able to be overwritten without the change being detected as corrupt data. In other words, strong encryption. This is available, but more expensive, so customers are being marketed cheaper insecure solutions without becoming aware of the risks they are incurring.

    If the patient ID tag in your hospital bracelet can be modified to show you as a different patient (say one needing a leg amputated for gangrene), that isn't just the scanning software that's a problem.

    --
    We are the 198 proof..
  56. Re:Like the JPEG "virus" - secure C code How to... by iamcf13 · · Score: 1
    Any programmer worth his salt knows that he has to check for invalid data, yet so many software developers (both open source and closed source) let code go to production levels that fails to perform even the most basic of validations.

    Doesn't do any good if your boss doesn't want you to spend the extra time coding the data validation code in order to get the job done now to keep expenses down. As we all know, time *is* money. (as is paying labor/brainpower/both)

    So much for an ounce of prevention is worth a pound of cure.

    If you truly care about 'secure code', do what this guy does.

    Below text is from a .chm file for his secure webserver. I posted the text here a few times before but always cause the Slashdot link to that post to 'scroll' off my post list (no, I'm not subscribing just to get access to my entire posting history...) Maybe I can keep the link to this post handy in case I have to do this again... Also, I am not a shill for this guy touting his product -- I am a fan of simple, elegant, secure code as you'll see below....

    My only complaint is that the text below should be on a normal HTML web page as it should be required reading to all programmers everywere. The simple technique described below will make software secure at a fundamental level and make it all but impossible to exploit....

    Security. There's a little word with a big meaning. Unlike other web servers, ProtoNova is secure. What exactly does this mean in terms of what a web server should be?

    [snip]

    Before I conclude, I have one other thing I wish to mention that defines security. This is the fact that ProtoNova is the only web server in existence guaranteed to be free from Buffer Overflow attacks on the stack at the application level. Let's see you try to get a guarantee like that from Apache or Microsoft. While I can't control problems with the underlying OS or libraries, I can control how I write my own code. Here's my secret to how I can make such a guarantee: Dynamically allocate all memory I use on the heap. 90% of all bug fixes for exploits (potential or otherwise) coming out of various organizations (ahem, Micro<cough>soft) are for Buffer Overflow attacks on the stack. A buffer overflow on the heap is far less dangerous than a stack-based overflow. If you don't know the difference, let me show you that I really do know what I'm talking about (whereas most journalists generally have no clue) using some C code - that is, the language most web servers are written in:

    // Include necessary headers to compile
    #include <stdio.h>
    #include <stdlib.h>

    // Start of the "main" function - used to tell the OS where
    // to start processing source code.
    int main(int argc, char **argv)
    {
    // Tells the computer to create 256 places in memory _on the stack_ for storage.
    char str[256];

    // This just tells the user how to use the program.
    // Not really important, but useful.
    if (argc < 2)
    {
    printf("Syntax: BadProgram TypeInAReallyLongString");
    exit(1);
    }

    // This copies the data the _user_ specified into str.
    strcpy(str, argv[1]);

    // This prints the contents of str.
    printf("%s\n", str);

    return 0;
    }

    (For you programmers out there, please ignore the comments. I realize they are "basic/newbie," but I'm attempting to explain source code to newbies).

    The example above is extremely dangerous. Why? It is because there is only room reserved for 256 places in the computer's memory. What happens if the user enters data for 1000 places? This is w