Slashdot Mirror


Ask Slashdot: What's the Most Sophisticated Piece of Software Ever Written? (quora.com)

An anonymous reader writes: Stuxnet is the most sophisticated piece of software ever written, given the difficulty of the objective: Deny Iran's efforts to obtain weapons grade uranium without need for diplomacy or use of force, John Byrd, CEO of Gigantic Software (formerly Director of Sega and SPM at EA), argues in a blog post, which is being widely shared in developer circles, with most agreeing with Byrd's conclusion.

He writes, "It's a computer worm. The worm was written, probably, between 2005 and 2010. Because the worm is so complex and sophisticated, I can only give the most superficial outline of what it does. This worm exists first on a USB drive. Someone could just find that USB drive laying around, or get it in the mail, and wonder what was on it. When that USB drive is inserted into a Windows PC, without the user knowing it, that worm will quietly run itself, and copy itself to that PC. It has at least three ways of trying to get itself to run. If one way doesn't work, it tries another. At least two of these methods to launch itself were completely new then, and both of them used two independent, secret bugs in Windows that no one else knew about, until this worm came along."

"Once the worm runs itself on a PC, it tries to get administrator access on that PC. It doesn't mind if there's antivirus software installed -- the worm can sneak around most antivirus software. Then, based on the version of Windows it's running on, the worm will try one of two previously unknown methods of getting that administrator access on that PC. Until this worm was released, no one knew about these secret bugs in Windows either. At this point, the worm is now able to cover its tracks by getting underneath the operating system, so that no antivirus software can detect that it exists. It binds itself secretly to that PC, so that even if you look on the disk for where the worm should be, you will see nothing. This worm hides so well, that the worm ran around the Internet for over a year without any security company in the world recognizing that it even existed."
What do Slashdot readers think?

44 of 237 comments (clear)

  1. ESXi, busybox, emacs, or PGP? by ctilsie242 · · Score: 4, Interesting

    It depends on what you mean by sophisticated:

    If you mean something that does a lot of functions, then I would probably propose Busybox or emacs.

    If you mean something cleverly engineered to handle a lot of attacks, pgp, TrueCrypt, and VeraCrypt come to mind.

    If you mean something that makes a framework, Kubernates can be considered there.

    Then, there are hypervisors that wind up not just doing the functions of an operating system, but providing the same functions to an OS.

    1. Re:ESXi, busybox, emacs, or PGP? by thegreatbob · · Score: 2

      And if you mean something obfuscated and unnecessarily complicated, newer versions of Windows might be in the running. /snark

      --
      There is no XUL, only WebExtensions...
    2. Re:ESXi, busybox, emacs, or PGP? by PaulBu · · Score: 2

      I've heard that only TeX and Shuttle avionics were considered bug-free! :)

      But yes, it is weird to call a worm (yes, a sophisticated worm) to be "most sophisticated piece of software", when there is Emacs! :)

    3. Re:ESXi, busybox, emacs, or PGP? by rickb928 · · Score: 4, Informative

      Apollo flight software was pretty damned good. The LM guidance software is remarkable.

      But a lot of core business software, especially core transaction processing, written for 360 class mainframes, is still running today. Not just that software, but the OS it ran under, all versions, are unheralded.

      My brother managed S/32-AS/400 systems and had one uncommanded IPL in 11 years before a wholesale conversion to the AS/400 system he was given. He thought SCP was as good as anything he'd heard of, even VMS he worked with, and RPG was the best until GUIs took over.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    4. Re:ESXi, busybox, emacs, or PGP? by hjf · · Score: 2

      How about SABRE? The airline reservation system started in 1960 that is still running today?

  2. Apollo Lander software by Z00L00K · · Score: 5, Insightful

    The software in the Apollo moon lander is probably one of the most qualified in this category considering that it had to be reliable and it was used in a solution that couldn't be tested for all eventualities on Earth.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    1. Re:Apollo Lander software by rickb928 · · Score: 2

      This isn't about hardware...

      --
      deleting the extra space after periods so i can stay relevant, yeah.
  3. Re:Most successful software ever written by divide+overflow · · Score: 2

    I called it successful, not sophisticated.

  4. The Windows Kernel by xack · · Score: 5, Insightful

    It has to support over a billion different conputers with different drivers and hardware plus support decades of backward compatbility. Android/Linux come close.

  5. GCC by Jamu · · Score: 2

    The GNU Compiler Collection, although this may depend on what you mean by "sophisticated".

    --
    Who ordered that?
    1. Re:GCC by nosfucious · · Score: 2

      The first one of Emacs, GCC Or Systemd that includes a dating app wins. All modern software evolves to the point where it includes a dating app.

      --
      Q:I was listening to a CD in Grip and it sounded horrible! What's up? A:Perhaps you are listening to country music
  6. Re:The Windows Kernel FTFY by zlives · · Score: 2

    "It has to support over a billion different" security bugs

    cause can't do stuxnet without windows.
    i for one am waiting on the win10 bugs relase notes by stuxnet2

  7. Re:Most successful software ever written by RickyShade · · Score: 3

    It always works and never crashes.

  8. Virus or the host? by 140Mandak262Jamuna · · Score: 4, Insightful
    In biology, viruses are tiny bits of DNA with replication mechanism and some sort of propagation mechanism that is all. It is never as sophisticated as the host it infects.

    By that analogy, the Micosoft Windows becomes the most sophisticated piece of software.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  9. Human DNA by fredrikv · · Score: 5, Interesting

    Human DNA is the most impressive software ever written. It uses extremely complex feedback control structures, analog and digital. It has also lent its name to "genetic algorithms". It is a simple construct but so complex that we have barely understood the outlines of it after five decades of global research. It may not be "written", but that's another story.

    Stuxnet on the other hand is a rather short piece of code that based its success on using secrets obtained from external sources. A good example of cross-domain collaboration and a masterpiece in its own domain. But hardly the most sophisticated piece of code ever written.

    1. Re:Human DNA by NicknameUnavailable · · Score: 2

      To add to this: it compresses code dynamically with the use of reading frames and introns. It compiles into more things than you can even represent the state of with every quantum state in the entire known universe used as a single bit, it uses dynamic indexing structures we still don't fully understand in the context of Okazaki fragments, it is capable of dynamically rearranging build outputs without actually changing the code, different environments will execute it in different ways and usually still get the same result, it has fault tolerance and repair mechanisms that make ECC RAM look like child's play, it has all the instructions to build itself along with all of its supporting hardware, it demonstrates extreme recombination and can generally copy and paste from other organisms without issue using products of its own code, etc. The one thing that would really exclude it from this category is that it's hard to call it just software because it directly synthesizes the building blocks for the hardware which run it, but since that hardware comes at the bootstrap phase from the prior generation it could be argued that it is just software since you can't for instance replace the genome of a bacteria with a chicken and get a chicken.

    2. Re:Human DNA by HeckRuler · · Score: 5, Insightful

      Impressive maybe, but it's a complete hack.

      Cancer, wisdom teeth, the laryngeal nerve makes a bullshit detour for no reason, appendix, this bullshit self-destructive telomere timeout feature, grey hair, balding, vision decay, and don't get me started on production errors.

      And it's really just a rehash of the earlier Primate model with a few tweaks for brains and butts. The bulk of the code was already there.

      Even the base it's built upon is pretty crufty. Gene DNA takes 3 base pairs to dictate 1 of 20 ways to bend a protein, ignoring the other ~140 combinations that could be used. It's just wasted space. But good luck refactoring that mess.

    3. Re:Human DNA by omnichad · · Score: 2

      bullshit self-destructive telomere timeout feature

      Otherwise known as delaying the onset of cancer by not replicating from overused source material.

    4. Re:Human DNA by Subm · · Score: 2

      > Human DNA is the most impressive software ever written

      I see you haven't met my mother-in-law.

  10. Re:Copy Pasta by NicknameUnavailable · · Score: 5, Funny

    why am i here?

    Because God hates you.

  11. The WOPR by JoeyRox · · Score: 5, Funny

    It can do it all, from simple Tic Tac Toe to Global Thermonuclear War.

  12. Slashcode by Anonymous Coward · · Score: 3, Funny

    So sophisticated it's impossible to add proper Unicode support.

  13. More by Anonymous Coward · · Score: 3, Informative

    seL4 microkernel, which is formally verified (algorithmically proven that all it's functions are correct)

    https://en.wikipedia.org/wiki/L4_microkernel_family#High_assurance:_seL4

    I think you could consider when the software was made. For instance, VMS was an incredibly advanced, scalable OS with partitioning and virtualization features, an advanced filesystem (current filesystems are still catching up in some ways) designed to run on hardware less capable than most smartwatches today.

  14. I've Seen Spreadsheets by Thelasko · · Score: 2

    I've seen some ridiculous spreadsheets. Real works of art. Iterative computations, beautiful plots. So resource intense, it will bring a modern PC to its knees.

    It's a shame someone wasted their talents on Microsoft Excel.

    --
    One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
  15. My vote goes to MAME. by kila_m · · Score: 4, Funny

    MAME = stuxnet x 1000

  16. COMSOL Multyphisics, and here's why: by blind+biker · · Score: 2

    COMSOL is a physics and chemistry finite element simulation package. it's a huge, monstrously big package comprised of an encompassing (and respectably well done) UI, a programming interface, and a large number of interlocking modules (interlocking done through the physical models the user creates). So it's rather challenging and sophisticated purely from a software point of view. But then you have to consider the fact that each module implements some very sophisticated computational math for solving some very sophisticated set of physical or chemical/physical equations.

    --
    "The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
  17. Systemd, in a few more years by Anonymous Coward · · Score: 4, Funny

    at the current pace, systemd will include all other software within the next 5 years, so by definition it will include the most sophisticated software ever devised

  18. Impossible to know by AlanBDee · · Score: 5, Insightful

    First lets define Sophisticated: "developed to a high degree of complexity"
    Second, it would be impossible to any one person to accurately compare different pieces of software as it's too much information to know.

    So, what software program has the highest degree of complexity? My first thought is Windows 10. Linux/Unix has a philosophy of lots of smaller programs combining together to make a useful system, even if we counted that, I think the Windows Core is more complex then the Linux kernel and Windows 10 is more complex then say Ubuntu.

    But who knows what the department of defense has, the NSA, Google's algorithms, Amazon, YouTube, China, North Korea, Russia? The more I go down this rabbit hole the more I come back to my second statement: it is impossible for any one person to accurately compare them because no one person knows them all.

  19. Puffery by HeckRuler · · Score: 3, Interesting

    Because the worm is so complex and sophisticated, I can only give the most superficial outline of what it does

    Everything else aside, this is bullshit.

    You could say "I don't know how it works, so I can only give the most superficial outline of what it does". No matter how complex a thing is, if you know it well enough, you can explain it to a 5 year old. And that has a cool feedback system that helps kids get smarter faster. Standing on shoulders of giants and all that.

    The use of 4 zero-days is indeed pretty sophisticated. The rest is pretty run of the mill standard operation that would have been neat in the 90's. I think this guy just isn't familiar with the industry and was pretty amazed when he took the tour. That or it's more puffery.

    Personally, I wouldn't count any layers underneath, or library calls or such, that a thing makes when trying to figure out complexity and sophistication. Otherwise we'd include EVERYTHING that goes into a linux distro. So early projects that had to do it themselves all by hand would be the most sophisticated. To that extent, I'd have to go with something from early NASA. The software for the Apollo program sounds good, solely form that one picture with Margret Hamilton and the stack of sourcecode. It got man on the moon, which is way more impressive than taking a metaphorical wrench to some centrifuges.

    Hmmmm, I don't want to worship lines of code though... a really sophisticated piece of software would be short and sweet and do something amazing and new.

  20. The real sophistication was in its hardware by mykepredko · · Score: 4, Insightful

    I would disagree as the LM software was pretty straightforward - no routines was started without the astronauts (and NASA) not knowing exactly what the current state of the LM was with expected parameters and then execute quite simple routines. Don't forget that the Apollo Guidance Computers (AGCs) in the LM and CM only had 32k of ROM and 2K of RAM.

    The "1201" and "1202" issues encountered during the Apollo 11 descent are probably the best examples of what you're talking about. They were caused by Aldrin leaving the CM rendezvous radar on during descent (this was done in the simulator without any issues because the landing simulator didn't include this radar because the LM designers didn't think it would be used during landing). Input from the radar was continually passed to the computer even though the software was written to process it or take it out of the memory area that it was automatically stored in...

    This is where the genius of the hardware came in, when the data area the extraneous radar data was dumped into (as I understand it, causing the equivalent of a stack overflow), instead of trying to resolve the issue (which is what I would consider sophisticated software to do) the computer reset itself while returning to the currently executing routine. The landing routine itself would continuously poll altitude and attitude which means that upon reset, it would re-establish where the LM was and make the necessary computations for the engines & thrusters as necessary.

    So, the MIT engineers did design for the unknown and to compensate for it, it just wasn't in the software.

    1. Re:The real sophistication was in its hardware by sjames · · Score: 2

      The issue was overscheduling. While the CPU crunched on the radar data, it missed the deadline for frobbing the watchdog, so it was restarted.

      But that ability to restart and do something useful in time was a combination of hardware and software design.

  21. Candidates by sjbe · · Score: 4, Interesting

    As others have pointed out it depends on what you mean by sophisticated. Several candidates come to mind though each are sophisticated for different reasons. This is obviously a very incomplete list.

    1) The code to control the Space Shuttle
    2) The code for the Voyager probes
    3) The code controlling the Curiosity rover, particular the bit to land it
    4) Emacs
    5) Unix and derivatives
    6) GNU software stack
    7) Encryption software
    8) Self driving car code
    9) Cruise missile control code
    10) Weather modeling code
    11) Code to control the Large Hadron Collider
    12) Microsoft Windows
    13) Control software for the F22 and F35
    14) Sonar code for navy nuclear submarines
    15) TCP/IP
    16) Code to evaluate the human genome and proteome.
    17) Nuclear explosion simulation software
    18) Code breaking software

    1. Re:Candidates by Lanthanide · · Score: 2

      There's no way TCP/IP is on the level of those other ones.

      You don't need much code to write a TCP/IP implementation that will meet all standard use cases.

      To deal with all the corner cases is harder (especially if you're a middlebox like a firewall), but you're talking 100-1000 of times less code in TCP/IP as a whole than most of the other items on this list - and in fact most of those items would include a TCP/IP implementation themselves anyway.

  22. Re:Copy Pasta by morethanapapercert · · Score: 5, Interesting
    Slashdot is a news aggregation site, so by design it will post, and link to, news articles that already exist on other sites. Thus, it is inevitable that some portion of the articles will be news items that you or I will have already seen. But this behaviour isn't simple traffic whoring like it might appear at first glance, since the articles are just the foundation for a well established community to discuss and debate not only the facts presented in the articles, but the broader implications and impact on society that those news articles bring up. In addition, the majority of articles posted will be things the majority of slashdotter members have yet to see elsewhere. Just as CNN, NBC et all cover the same major stories, people are going to see the same stories again and again on various channels and forms of media.

    My complaint about how Slashdot operates relies on the fact that, despite having a well established user base who are arguably more educated and science savvy than your average person, it doesn't take that as an opportunity to do a more in-depth article than the major news outlets can achieve. In the past, we have had many successful Ask Me Anything (AMA) style posts from notable figures in the tech industry. I'd like to see Slashdot expand on that. Any time a new study comes out or a new tech is getting hyped, I think the Slashdot editors should try and approach the original authors/researchers/developers and ask them if they'd be willing to participate in an AMA session. Instead of endless debating the points that appear in the necessarily condensed news articles, go straight to the horses mouth and get the facts that the news articles left out, get corrections or clarifications for what those news articles published.

    --
    I need a wheelchair van for my son. Help me get the word out. https://www.gofundme.com/wheelchair-van-for-jj
  23. Google Search by talldean · · Score: 2

    Google Search has been maybe ten thousand people working for more than a decade, and they're largely solid engineers.

    I'm... guessing Stuxnet isn't within many orders of magnitude of that effort.

    1. Re:Google Search by RhettLivingston · · Score: 2

      I was thinking about Google Search too, but I was considering the early PC farm version running fully in RAM on a bunch of COTS machines. That required more of what I consider "sophistication" relative to the general environment at the time than the modern day version. I can appreciate the headaches of getting that to happen.

  24. Probably something heavily constrained by RhettLivingston · · Score: 5, Interesting

    The crux of this question is the interpretation of the phrase "most sophisticated". I feel it has a density of complexity component. So I'd lean towards candidates that must perform complex tasks under difficult constraints, either physical or virtual.

    It actually makes me think back to bygone days of trying to cram complex tasks into 8-bit embedded controllers.

    A representative case that comes to mind was a function in an armament controller - the computer that controlled dropping dumb bombs from a fighter travelling 500+ miles an hour. The processor was an Intel 8080 in the days when 64K was a lot of memory. The specification we had to hit was for the bombs to hit the ground at the spacing dialed in, typically 50 or 100 ft, with +/- 1 foot of accuracy. We were not allowed to require that the plane be flying level or at constant speed. Also, when you drop a 2000 pound bomb off a wingtip, the plane lurches in the opposite direction so that the next one dropping from the other side a second later has an additional acceleration. These and other factors required that we be able to perform a multivariable integration problem in real time on an 8 bit processor running something like 5MHz with no floating point capability. It took a lot of thought, creativity, and simulation. Carefully constructed tables were used to speed the integration and a tremendous amount of trial and error to make it always converge. All of the code was in assembly language though it had been prototyped in a slightly higher level language that is likely long dead. But, the specification was met. That software was sophisticated. I've worked multi-million line projects since that didn't begin to approach the art that went into those KBs of assembly.

    Other examples I'd think of are in the device logic arena, which I also consider software. Getting PLAs to perform more sophisticated operations often involved dispensing with synchronous logic and working in the asynchronous realm. Getting that to be stable across devices with gate speed variations could be pretty tricky, but the end result of having functions performed at throughput levels that others considered impossible at the time was oh so satisfying.

    I can understand the anonymous reader's thoughts of the complexity of the worm. It has constraints that fall in that "virtual" arena. It must do its job without being detected until it is too late or having a signature that indisputably reveals its creator. That is very challenging. The task of creating software like that is more art than science. Requiring "art" is also a very necessary component of "most sophisticated" IMO.

  25. John Byrd: How is murdering people considered fun? by UnknownSoldier · · Score: 3, Interesting

    This "most sophisticated software" question is from the same doofus who also asked / answered:

    How is murdering people considered fun in video games? What happened to all those innocent games such as Frogger, Qbert, and Donkey Kong?

    Apparently he doesn't understand games are an escape from reality and has to be told what fun is. Games are fun because we don't have to worry about real-life consequences and can do things that we normally could never do in physical reality, dumbass.

    e.g. Frag my buddies, drive an expensive sports car, slay dragons, virtual fishing, etc.

    Maybe he should go play DnD to actually learn the answer.

    Genocide in video games isn't (solely) the problem when you want to take a break from the stress of day-to-day responsibility. It becomes a problem when you do that to the exclusion of all your other responsibilities.

    If you don't like violence in games there are enough good puzzle games like The Witness, Pythagorea, Top 10 Geometric Puzzles for iOS (2016), etc.

  26. the original Macintosh 64K ROM by swell · · Score: 2

    Sophisticated? Not sure how to evaluate that, but 'elegant' seems to fit that 1984 ROM. Doing more with less was an Apple tradition begun with the Woz' original design and continued with Bill Atkinson & Andy Herzfeld's Mac ROM. Similar elegance would bring MS Office down to a 2MB size.

    --
    ...omphaloskepsis often...
  27. Re:Most successful software ever written by CSMoran · · Score: 5, Insightful

    I called it successful, not sophisticated.

    In a discussion titled "What's the most sophisticated piece of software".

    --
    Every end has half a stick.
  28. Re:Wolfram Mathematica by iggymanz · · Score: 2

    nah, the programming language is crap, on the level of basic or fortran. Sagemath uses python and for most people can do with Mathematica does with less effort.

    Yes, I've used both. used to own Mathematica

  29. Earth by skoskav · · Score: 3, Funny

    Commonly mistaken for a planet, the Earth supercomputer has been working on finding the The Ultimate Question of Life, the Universe, and Everything for quite a while now, whose answer we know to be 42.

  30. Excel by TJHook3r · · Score: 2

    Unexpected, but I'd go for Excel - it is very, very damn good at what it does (and it does a lot).

  31. Elegant == Sophsticated by ka9dgx · · Score: 2

    1, Engelbart's Demo - All of the wonders of GUI well before everyone else.
    2. Lisp / Forth / APL - Pick your favorite
    3. OS/9 on the Radio Shack CoCo, it supported multiple users, and the hardware didn't even have a real UART for serial communication.
    4. VAX/VMS
    5. Any of the "4k Demo Scene" type programs.... it's amazing what they pack into 4k, or 1k, or whatever.