Slashdot Mirror


Computer Security Criteria

Rolf Marvin Bøe Lindgren writes: "For most human endeavors that involve some sort of risk, there are powerful, recognized public interest groups or even government-appointed organizations that investigate and analyze dangers, prescribe guidelines, determine criteria for acceptable risk, etc. This does not seem to be the case for software! I work for a ship classification company. The purpose of such companies are, very simply put, to determine how safe seagoing vessels are, for instance in order that insurance companies can decide insurance premiums. There are, needless to say, numerous conventions and special interest groups to determine safety at sea. That is, as far as I know (and I would very much like to be proven wrong), except the computer systems that the ships use. there are restrictions, laws and regulations involved in just about any object that goes into a ship except the computer system. Everybody seems to know, for instance, that UNIX is safer that Windows, but there are no safety, reliability or security criteria established by any recognized authority that can be used to defend one computer system over another."

"Now, I could ask Slashdot how to go about to form a recognized body, but I have access to competence in that particular matter. What I would rather like to know, is this:

  • What might a set of safety criteria be like (I am just now most interested in criteria for computer systems that would address such issues as vulnerability to worms, viruses and crackers)?
  • How should one go about to find competent and interested people who would like to be part of a body like I describe, or consultants to one?

18 of 285 comments (clear)

  1. Human Life by spookysuicide · · Score: 3, Insightful

    I would venture to guess the reason there are so many regulatory bodies involved in overseeing the safety of such things as highways, seagoing vessels, planes, food, etc. and not software, is that in the former situation human life is directly at risk while in the latter human life, is at best, indirectly at risk and usually not at risk at all.

    --
    yes i run a goth/punk/emo porn site.
    1. Re:Human Life by Squeamish+Ossifrage · · Score: 4, Insightful

      Software can't kill people directly, but it controls hardware than can. Also, people frequently depend on systems which include software for life-critical purposes.

      Think:

      1. 911 call centers
      2. Industrial robotics
      3. Air Traffic Control
      4. Engines with embedded software controls
      5. The telephone network
      6. The power grid
      7. Medical equipment

      I'd like to point out that there are documented deaths from software failures in most of these categories.

  2. Most secure by Geekboy(Wizard) · · Score: 5, Insightful

    The most secure method is to apply the KISS method. (keep it simple, stupid) The fewer lines of code, the fewer places an attacker can gain access. Use lots of encryption, (check on theoretical attacks mostly), and use physical safeguards for the system. You possibly want to use OpenBSD, because of the history behind it (4 years with no remote exploits on a default installation), but choose your base carefully. Encrypt all communications (ESP networking) and make sure you have double and triple safeguards. Better be paranoid, than exploited.

    1. Re:Most secure by catsidhe · · Score: 2, Insightful

      At what point does 'simple' become stupid?

      Trivial but emblematic example: assuming that the string you are being sent will stay below a certain size means you don't need boundary checking. Congratulations! You have just made the main loop faster by orders of magnitude and much more human-readable!

      Oops ... buffer overflow attack!

      But, but, but the code was simple! Its not my fault!

      --
      "This is a Hollywood movie: when it comes to the Laws of Physics, they're lucky if they get Gravity!" --- my wife
  3. Air Gap... by warpSpeed · · Score: 3, Insightful


    First and formost, keep the computer system closed. Do not hook it up to any outside networks. No networks, no phone lines, no serial connections. That will elimiate quite a bit of risk for attack.

    If that is not an option, then run the outside network connection through a very tight firewall.

    ~Sean

  4. Security by AlaskanUnderachiever · · Score: 5, Insightful

    Well I know everyone's going to shoot this one down but I personally see a huge amount of time, effort and expense wasted on my own company's systems to protect them from the "scourge of the internet" when, upon detailed inspection, there is no good reason that 95% of these boxes NEED connectivity. Before you go about inspecting the various methods of combating the madness (firewalls, routers, off the wall OS, tying up the PHB, etc.) ask yourself "do our critical systems need connectivity and if so, to what degree?"

    --
    Find out about my new childrens book: SS Death Camp Criminal Batallion Go To Monte Carlo For The Massacre
  5. If only it were that simple by Spamalamadingdong · · Score: 4, Insightful
    Antivirus programs are always out of date by hours if not longer. If you are hit between the time a virus goes into the wild and the time the update is finally ready and installed, you're hosed. The only solution for safety-critical systems is to have a secure wall between programs and data which cannot be breached by viruses or worms arriving from outside on their own, and preferably not without intervention from a qualified service person (fooling a user is one thing, fooling an expert is something else).

    This probably means that critical systems on things like ships should not be running any flavor of Windows, nor maybe Linux either. There are a bunch of OS's made for embedded systems, and due to their small size and simplicity they are much smaller, probably faster, and certainly less vulnerable or even completely invulnerable to this kind of attack. If your requirements are that stringent, that's what you should be using.

  6. It depends on how the computers are used by tshoppa · · Score: 3, Insightful
    I work for a ship classification company.

    And I work for a railroad that moves a half-million people a day. I like to think they're not too dissimilar industries - when my computers shut down, the railroad stops running. I'm guessing that when your computer stops, the ship stops moving. That it doesn't sink or explode (i.e. there are hardware items that relieve excess pressure, etc.)

    There are some differences. My trains have low-level hardware (based around gobs of vital relays) that will stop them from running into each other. I doubt ships have anything like this.

    The standards for what you or I do are drastically different from what someone writing software for an airplane's fly-by-wire system has to do. There, if the computer stops or starts doing the wrong thing, it falls out of the sky. Scary stuff.

    So, it depends on what the computer controls, but you haven't given us this information.

  7. How a defense contractor handles software by spaten-optimator · · Score: 4, Insightful

    I worked for a famous defense contractor located in Fort Worth, TX. My department was responsible for writing requirements for software that was installed on fighter aircraft.

    When using a requirements-based system (where you write requirements for software and then the software is written from the requirements), there are multiple checkpoints. First, the requirements document for the software must meet or pass certain criteria. Second, the software must meet or pass the criteria put forth by the requirements document. Third, the software is rigorously tested.

    Now, in fighter planes, the software must be incredibly robust - you don't want planes falling out of the sky - and in defense projects, bureaucracy tends to inflate the whole process.

    That being said, requirements are an excellent way to control the quality of software, or an installed computer system.

    And this is important! We all remember the movie Hackers, in which the Davinci virus was going to cause a bunch of oil tankers to tip over into the ocean. And we all know how closely that movie parallels reality.

    --

    --
    Disclaimer: The above statement probably includes half-truths, because real truth is too complicated.
  8. Naive or troll? by drew_kime · · Score: 5, Insightful

    Computer security in no way affects human life directly.

    "Reboot the air traffic control system."

    "How long has the reactor control system been down?"

    "Try to get the GPS working again before we enter the harbor in this fog."

    Any of these sound like non-life threatening situations? And you did notice the questioner is specifically concerned with the third type of situation I mentioned, didn't you?

    --
    Nope, no sig
    1. Re:Naive or troll? by homer_ca · · Score: 4, Insightful

      This is exactly why UCITA is bad. If firmware in embedded controllers get classified as licensed software that's immunity from liability for a whole class of products. A big business or government agency would have a legal staff checking their contracts so they don't give away immunity to vendors of critical software, but consumer products are another matter, like the ABS brakes on your car.

    2. Re:Naive or troll? by Anonymous Coward · · Score: 1, Insightful

      Don't all of the systems you mentioned have non-computer redundantcy?

      "Reboot the air traffic control system."
      Track manually with traffic control operators / radar

      "How long has the reactor control system been down?"
      Analog controls are hardwired into rector control systems

      "Try to get the GPS working again before we enter the harbor in this fog."
      Signal houses, radio, harbour controlled tugboats, maps that use co-ordinate systems...

      Even medical digital devices have their analog counterparts, if there are any devices that rely solely on software used in life/death applications, I'd sure like to hear about them!

  9. It's called engineering judgement. by twitter · · Score: 3, Insightful
    Nuclear is the most regulated place in the world, right? Well, even there you have to have people who can think and exercise judgement. Check out 10CFR50-2 for this very important definition:

    Design bases means that information which identifies the specific functions to be performed by a structure, system, or component of a facility, and the specific values or ranges of values chosen for controlling parameters as reference bounds for design. These values may be (1) restraints derived from generally accepted "state of the art" practices for achieving functional goals, or (2) requirements derived from analysis (based on calculation and/or experiments) of the effects of a postulated accident for which a structure, system, or component must meet its functional goals.

    The same logic underlies all design. At some point you have to have engineers you trust and they should be versed in the "state of the art" and all applicable studies.

    In the nuclear industry we can and do rely on vendor studies. Who else but GE is going to know the maximum power levels that are safe with their reactors? They built a full scale model and proved it.

    In the software industry, as you have noticed, things are a little less clear. First, Microsoft is an unethical company. (gotta go before finishing!) You and me both know that Windows is an unstable system. It changes all the time and those changes break programs. Some would even say that Windows is unstable without any changes, and indeed sites that use it typically see 30 day uptimes and no better. Anyone who would relly on such a thing for something that in is in any way needed to protect the public safety is incompetent. How that might be worked into a ship is a matter of judgement. I would not use it except as a game platform in the rec room or to look after some system that is superfuous.

    --

    Friends don't help friends install M$ junk.

  10. Re:Not what he's asking.... by bluebomber · · Score: 5, Insightful
    It sounded more like he's asking about general classifications of software systems in terms of security. Maybe he's looking for a scale like the following. (I'm pulling this out of my ass, a real classifcation committee would have much better rules, and they would spend longer than five minutes putting such a list together.)

    1 - Non Secure

    This describes a public terminal (e.g. what you might see in a shopping mall or your local university computer cluster) that is running MSDOS. The keyboard and mouse aren't even locked down.

    2 - Half-Assed Security

    This describes a public terminal that is securely bolted to the desktop and is locked shut. A log-on prompt appears, but is easily bypassed (e.g. Windows 95, or a Linux box that is bootable via an accessible CDROM or floppy drive). [Alternative: the logon prompt appears but passwords are available by shoulder-surfing, e.g. "employee only" terminals in retail stores.]

    Levels 1 and 2 are a black hat's paradise.

    3 - Almost Secure(tm)

    This describes probably 95% of the unwashed masses connected to the internet. This machine has a firewall and virus scanning installed, but the virus definition might not be up to date, and the firewall isn't what you'd describe as industrial strength. Some security patches may or may not have been applied, but are probably not completely up to date. This machine might present a challenge for your ordinary script kiddy, but an experienced cracker can probably find a way in. Configurations in this category would include most Windows installations, default Linux installations (older Red Hat, I don't think the newer ones start everything up) that start up every service under the sun, and a public web servers that are "sort of" secure but have holes in CGI scripts or are missing security patches. This also describes a lot of corporate wireless networks.

    The black hats enjoy level 3 probably more than 1 and 2, just because of the (slight) extra challenge.

    4 - Pretty Good Security(tm)

    This describes a machine that is physically locked down, but still connected to the network (generally behind an external firewall). Security patches are applied within hours of announcement. Logs are human monitored, and are written either on another machine, or on permanent media (e.g. printer or CDROM). There are no more services running on this machine than absolutely necessary (in other words, a mail server ONLY has ports 25 and 110 open).

    In practice, these don't generally get cracked. When it happens, it is usually physical security -- telling someone your password, sending your password via email, etc. A break-in might also be caused from a yet-unpublished remote exploit in one of the major services (sendmail, bind, apache, etc.) These machines are often susceptible to certain types of DOS attacks (when such attacks can't be stopped at the router/firewall).

    5 - Unbreakable security

    This descrbes a machine that is physically secure (i.e. the hdd is locked down inside a secure chassis), and has no external network connections. It is also shielded from van Eck and other eavesdropping.

    You won't get into this machine without weapons, "truth serum", or monetary inducements to certain priveleged individuals. Also worth noting is that this machine isn't really practical for everyday use...

  11. Medical hardware by Fopster · · Score: 2, Insightful

    Many medical diagnostic machines must be validated by the FDA for use. A friend of mine works for a medical instrument company, and the hardware/software check are quite involved. You might see how the FDA and the various hardware manufacturers handle this issue.

  12. Depends on the criteria, too by Spamalamadingdong · · Score: 3, Insightful
    That means it can't crash while diagnosing a live patient.
    Not true; it only has to fail safe. The FDA wouldn't care if it crashed, so long as:
    1. The machine could not malfunction in a way which would harm the patient, and
    2. The machine would not report erroneous data which could lead to harm from subsequent mis-treatment of the patient.
    How you'd demonstrate such things given the legendary instability of Windows, I have no idea.
  13. Your Lecturer is WRONG by gnovos · · Score: 4, Insightful

    If you wanted to run a secure web server, would you run it on NT, Linux, Solaris or the Mac?

    *Up go hands of Linux advocates*

    Answer: Mac because it is the least available operating system and as such fewer attacks have been created for it, even if there are hypothetically more bugs. As such, you would be less likely to suffer a problem, all else being equal.


    This is short sighted, becuase it does not take into account what you are securing AGAINST. If you are securing against random, non targeted attacks from script kiddies, you might be right, becuase said script kiddies aren't going to spend the time to figure the system out... but if you are trying to secure against a real, concerted attack by agents of a competitor trying to steal your ideas or ruin your business, then you have made a very grave mistake.

    When you say "all things being equal", then you are saying that 1 defaced web page is exactly equal to 1 stolen top secret formula, which is preposterous. A hypothetical question can not consider all types of attacks to be equal and still produce a valid and meaningful result.

    If you use that logic, then using a completely open and unsecured network would be ok if you sealed the computer in a locked metal box, since it would deter physical attacks by baseball bats (ALL attacks are of equal value, right?). Or you could say that adding the line "WWJD" to the telnet login prompt would be a valid defense since it would lower the instance of attacks by Christians by 80%.

    Go set him straight.

    --
    "Your superior intellect is no match for our puny weapons!"
  14. The issue is SAFETY, not SECURITY by Webmoth · · Score: 3, Insightful

    Many people have brought up the SECURITY question here, myself included. But the issue is SAFETY.

    SECURITY asks, will the lock keep out intruders?
    SAFETY asks, will the lock allow personnel to pass quickly in the event of an emergency?

    SECURITY asks, will the window resist breaking in an intrusion attempt?
    SAFETY asks, will the window resist breaking if accidently impacted? Can the window be used as an egress in an emergency? If the window breaks, will the fractured glass cause injury?

    SECURITY asks, can intruders compromise the ships navigation or control systems?
    SAFETY asks, will failure or compromise of the navigation or control systems have a negative impact on life or property?

    SECURITY asks, does the system have permission to perform task A while being restricted from performing task B?
    SAFETY asks, are the navigation or control systems able to the specified job in the specified manner?

    SECURITY asks, how will access be controlled in the event of a system failure or compromise?
    SAFETY asks, how will catastrophic failure be prevented in the event of a single system failure or compromise?

    Hopefully, these questions will give you an idea of the kinds of questions a computer systems safety panel would be responsible for answering. Security is concerned with authority, which is NOT the question here. Safety is concerned with protecting the life and health of personnel and the physical integrity of assets.

    That being said, Michael should go back and revise the headline to read "Computer SAFETY Criteria."

    --
    Give me my freedom, and I'll take care of my own security, thank you.