Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Businesses The Military Bug Government IBM Software News Technology

CIA Drones May Have Used Illegal, Inaccurate Code 279

skids writes "Coders hate having to rush code out the door before it's ready. They also hate it when the customer starts making unreasonable demands. What they hate even more is when the customer reverse engineers the product and starts selling their own inferior product. But what really ticks them off is when that buggy, knockoff product might be used by targeting systems in military unmanned drone attacks, and the bugs introduce location errors of up to 13 meters. That's what purportedly happened to software developer IISi, based on an ongoing boardroom/courtroom drama that will leave any hard-pressed coder appreciating just how much worse his job could get. The saddest part? The CIA assumed the bug was a feature. The tinfoil-hat-inducing part? The alleged perpetrators just got bought by IBM."
This discussion has been archived. No new comments can be posted.

CIA Drones May Have Used Illegal, Inaccurate Code

Comments Filter:
  • Re:Wow. (Score:5, Informative)

    by Sonny Yatsen ( 603655 ) * on Friday September 24, 2010 @03:48PM (#33691174) Journal

    It's amazing that drone hardware is fairly well designed, but its software design and implementation is so slapdash. Just last year, it was revealed that the Drones broadcasted its video feed in unencrypted form and was being used by militants to spy on us.

    http://www.networkworld.com/news/2009/121709-drone-intercept-encryption.html [networkworld.com]

  • by Steeltoe ( 98226 ) on Friday September 24, 2010 @04:13PM (#33691444) Homepage

    To be fair, fighting wars in secrecy has been going on for a long long time, way before 9-11, making it the proverbial drop in the ocean:

    http://en.wikipedia.org/wiki/Covert_United_States_foreign_regime_change_actions [wikipedia.org]

    Now, what should upset the American public is that 9-11 was probably engineers or supported by "allied" forces, in order to escalate conflict levels and justify wars.

  • Re: Confounded (Score:2, Informative)

    by Anonymous Coward on Friday September 24, 2010 @04:20PM (#33691524)
    You asked for it. Plumbing in Jerusalem [theplumber.com]
  • Re: Confounded (Score:4, Informative)

    by Yold ( 473518 ) on Friday September 24, 2010 @04:22PM (#33691554)

    The Romans had plumbing and they were occupying Jerusalem at the time the New Testament was written... but please don't allow facts to stand in the way of your religion-bashing.

  • Re:13 meters? (Score:3, Informative)

    by gandhi_2 ( 1108023 ) on Friday September 24, 2010 @04:35PM (#33691726) Homepage

    You misunderstand how the hellfire / predator platform works.

    Several systems can fly the predator to the target area. Once in the target area, remote operators designate the target on the video feed, which is to say (in this phone call scenario) the operators designate the person making the phone call on the TV screen. The target designator is a laser device on the predator which sends encoded information in the beam to actually hit the target. Where the laser target beam hits the target, it shines. Electro-optics and servos keep the designator on the designated target. The hellfire is fired and goes to where it sees the correctly-coded shining.

    A hellfire, tow, dragon, or javelin doesn't care where it is, where it was, or where the target is. they just go where they are steered. No GPS, no grid.

    In any case, 13 meters is nothing. Civilians have been watching too many movies to think war is fought on that scale. A 10-digit MGRS grid is 2 digits too many for calling in anything.

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

    by Sonny Yatsen ( 603655 ) * on Friday September 24, 2010 @04:37PM (#33691740) Journal

    Spying isn't limited to looking at the enemy's base. The patrol patterns of the drones, for instance, tells insurgents where US army forces are looking at. This allows them to move to new locations or hide if they notice the drones moving towards familiar territory.

  • by Anonymous Coward on Friday September 24, 2010 @04:49PM (#33691892)

    the risk of being included in the total, which is why they tend to win if they are also smart and can get enough resources.

    Revolutions actually run on people who are much less risk-averse, including the ultimate risk of death. Pretending that everyone shares the same aversion to the risk of violent death that is characteristic of educated urbanites is naive. In many cultures of the world Western style conflict avoidance will get you exploited, enslaved, or even killed.

  • by Wyatt Earp ( 1029 ) on Friday September 24, 2010 @04:54PM (#33691958)

    Truman did it. CIA was founded on September 18, 1947.

    Now CIA doing stuff like this, that's legal as of 2004 when National Clandestine Service was started, which is a descendant of Directorate of Plans and Directorate of Operations.

    CIA Special Operations Group and Special Activities Division are supposedly as good as Delta and SEAL Team Six

  • Re:Wow. (Score:3, Informative)

    by blair1q ( 305137 ) on Friday September 24, 2010 @05:14PM (#33692254) Journal

    Yes, people who actually know how to use asserts are quite rare. 99% of people use them incorrectly, causing more problems than they solve. If you put an assert in a piece of code you've instrumented temporarily to do some debugging, I won't mind. But if that crap ends up in the release db, I'm going to walk you to the door. For three reasons:

    1. You shouldn't trust that all code will be compiled with -NDEBUG for release. Mistakes happen in makefiles, especially on large projects with iffy design documentation.

    2. Most people don't do anything resembling safe and graceful when using an assert, because why should they?

    3. If there's a part of the code you think needs an assert, then I ask why do you think that? Why can't you take action to recover from it? Or put in some sort of exception handling that can do something safe and graceful, that the user can recover from intelligently, and that may also retain some information we can use to characterize the problem?

    And remember, this is an embedded system. The BSOD is not an option, nor usually is any sort of text output, which is all assert can give you.

    Asserts have one valid use: to wrap something you know you haven't completed and that you know (or are hoping) will break. And if you're releasing stuff you know will break I don't want to pay you.

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

    by xianthax ( 963773 ) on Friday September 24, 2010 @05:37PM (#33692550)

    i don't think you understood the article or didn't read it.

    The software wasn't the guidance system for the drone, control it in anyway, or even run on the drone itself. Its running in some data center some where tracking where people are when they use a cell phone or an ATM, etc.

    Its just a mapping package for laying out data thats correlated to geography, its just "google earth - government edition".

    I doubt the 13m really mattered, your not getting 13m accuracy anyway when tracking a cell phone via tower transitions.

    The CIA was using it to find potential targets so they could send a drone toward them, they'd have to get more specific information as to the exact target location elsewhere.

  • Re:Lest we forget (Score:4, Informative)

    by AJWM ( 19027 ) on Friday September 24, 2010 @06:05PM (#33692828) Homepage

    The Cold War arose because of the Russian fear of the nuclear-armed US [...] and their desire to create buffer zones in the West of the Soviet Union.

    You mean to the West of the Soviet Union. Places like Poland, East Germany, Czechoslovakia, and anywhere else they could roll in tanks and grab.

  • Re: Confounded (Score:3, Informative)

    by element-o.p. ( 939033 ) on Friday September 24, 2010 @06:47PM (#33693204) Homepage
    Ummm...Paul was a Roman citizen [biblegateway.com] and is frequently credited with writing most of the New Testament. Got any other prejudices you'd like to have disproved?
  • Re:Wow. (Score:2, Informative)

    by Szechuan Vanilla ( 1363495 ) on Friday September 24, 2010 @10:30PM (#33694462)

    The other problem is that so many think that documentation is unnecessary. And if it is done at all, 80% of the time it's slapdash at the last minute and often after the developers are gone.

    How do I know? I started as a software engineer and have been writing tech docs for over 20 years. I can't tell you how many times all I had was a design spec (un-updated since the start of the project), the final product, and nowhere near enough time to document a huge product.

    Don't blame me if your tech docs suck. I keep getting laid off or harassed out when I try to do it right (it costs money and time, and they don't like that).

    PS If you want to find out the TRUTH about your HW and SW products, read all the appendices at the rear of the doc. That's where we wily old pros stick the data you need but that marketing, development, etc don't want you to know.

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

    by russotto ( 537200 ) on Friday September 24, 2010 @11:58PM (#33694828) Journal

    Asserts have one valid use: to wrap something you know you haven't completed and that you know (or are hoping) will break. And if you're releasing stuff you know will break I don't want to pay you.

    An assertion failure means something went wrong that, in the normal operation of the system, could not go wrong. The most likely reason for this is of course a programming error, but there are others: some memory got corrupted, your CPU is malfunctioning, some peripheral is malfunctioning, or some other similar sort of thing. This makes handling assertion failures tricky because you can't assume the state of the system is sane. When I did embedded stuff, assert failures would act similarly to watchdog failures -- the system would disable all interrupts, try to write the assertion code to non-volatile RAM, then reboot. For our application it made sense to do this. For other applications something different might need to be done. But the point is that an assert failure is different than an ordinary error. You can't simply handle the error condition; the whole system state could be bad. You might want to shut the system down completely (e.g. if there's a backup which will take over). You might want to attempt to completely reset your state. Or you might just want to report the condition (somehow) and continue as if nothing happened until someone intervenes. But in any case, assertions have their place.

  • by o2sd ( 1002888 ) <.moc.liamg. .ta. .86tknai.> on Saturday September 25, 2010 @03:15AM (#33695384) Homepage Journal

    Actually I have, and the general conclusion around the world (outside the US) is that CIA stands for CAN'T IDENTIFY ANYTHING.

Today is a good day for information-gathering. Read someone else's mail file.

Working...