5 ms·
You have identified the right problem (a company with security like SolarWinds should not be used on critical systems), but based on your wording likely for a c
by Veserv 6y ago
You have identified the right problem (a company with security like SolarWinds should not be used on critical systems), but based on your wording likely for a common, but wrong reason. The wording you are using indicates the belief that the breached company, in this case SolarWinds, was uncharacteristically stupid/incompetent and extremely below average and if they just adopted good practices (such as those on the highly secure computers) then the problems would be unlikely to occur. Unfortunately, SolarWinds is, with high probability, above average and above average is, in absolute terms, abysmal. In fact, even the "best" systems are inadequate and effectively useless against credible attackers. FireEye was hacked. Symantec, TrendMicro, McAfee were hacked [1]. Kaspersky was hacked and as part of the hack it was determined that the NSA was previously hacked [2]. Lockheed Martin was hacked and the F-35 blueprints were leaked [3]. That was done using the results from a previous hack months earlier on the company RSA as a part of EMC [4]. The NSA was hacked by The Shadow Brokers who were then themselves hacked [5]. Microsoft Windows gets hacked regularly. The same with MacOS/iOS. Android as well. Hospitals, banks, cars. None of these organizations can protect themselves from their actual foes. In absolute terms, there is no meaningful difference between the "best" and SolarWinds as the difference is like arguing the use of a piece of cardboard as a bulletproof vest since it is more bulletproof than a piece of paper even though neither actual accomplishes the goal of stopping a bullet. So, to answer your question of: "How many other SolarWinds are there?" All of them.
Also, as a secondary point, any security process that allows random, insecure systems to be connected to secure systems without positively identifying if the integration retains the security properties of the secure system is not a security process that creates "secure" systems. That is literally the first step of any good security process as you point out. Therefore, the "highly secure computers" in your example are actually very likely not actually "highly secure" as they were developed by a security process that is incapable of developing high security systems. If they are actually high security, then that would be purely by extraordinary luck as even the most trivial, amateurish of mistakes would violate the security properties and we know experimentally that randomly walking into high security is effectively impossible. A more proper terminology would likely be "high value computers" as they are protecting things that are important, just with inadequate security.
[1] https://arstechnica.com/information-technology/2019/05/hackers-breached-3-us-antivirus-companies-researchers-reveal/ https://arstechnica.com/information-technology/2019/05/hacke...
[2] https://www.washingtonpost.com/world/national-security/israel-hacked-kaspersky-then-tipped-the-nsa-that-its-tools-had-been-breached/2017/10/10/d48ce774-aa95-11e7-850e-2bdd1236be5d_story.html https://www.washingtonpost.com/world/national-security/israe...
[3] https://www.reuters.com/article/us-usa-defense-hackers/exclusive-hackers-breached-u-s-defense-contractors-idUSTRE74Q6VY20110527 https://www.reuters.com/article/us-usa-defense-hackers/exclu...
[4] https://www.wired.com/2011/08/how-rsa-got-hacked/ https://www.wired.com/2011/08/how-rsa-got-hacked/
[5] https://www.npr.org/2017/11/14/564006460/nsas-hackers-are-hacked-in-major-cybersecurity-breach https://www.npr.org/2017/11/14/564006460/nsas-hackers-are-ha...
- flowerlad 6y ago> "How many other SolarWinds are there?" All of them. This means that maintaining secure systems by ensuring software and processes have no security flaws is pretty much impossible. A better strategy might be to have air-gapped systems, where you need to have a dedicated physical wire running to your computer if you want to connect to the system. As stuxnet shows, even this is not 100% secure, but it is considerably easier to maintain security if it is not connected to the internet.
- Veserv 6y agoThat is the correct starting point. However, you must still pair it with a good security process that properly manages and integrates your components otherwise you can still create easily exploitable critical weaknesses. As a trivial example, I remember a proposal by some large networking company to build out a separate parallel network that is exclusively for critical infrastructure devices, thus introducing an air-gap between normal computers and critical infrastructure devices. However, this neglects the fact that there would likely be millions to billions of such devices on the network distributed and likely easily physically accessible which would thus make it easy to still gain access to the "air-gapped" network for nefarious purposes. Maybe not quite as easy a if they were on the same network, but from an objective point of view it would not be a meaningful impediment which would stop any real adversary from defeating it. What should actually be done is start from an adequate, but possibly impractical or ineffective solution and a process that properly manages the creation of that system then figure out how to make it practical without making it inadequate. If it is impossible to come up with an adequate, but impractical solution to start with, then it is highly unlikely that an adequate practical solution will show itself. This is far easier than starting with a practical, but inadequate solution and making it adequate without making it impractical since, as most engineers know, it is almost always easier to simplify a working design than to bolt things onto a non-working design until it works. If you can not simplify a working design, then it is highly unlikely that you will be able to create a better solution from scratch which is borne out by the continuous failure of pretty much everybody who has ever tried doing so in the cybersecurity industry. In this particular example, if security is actually important, you should likely start the consideration with an air-gapped system and an adequate security process which assumes that primitive and then see if you can loosen that restriction. But, as I must stress, the key element is actually in having a process that can properly utilize, manage, and reason about the components in a way that can create secure systems. Secure primitives without a good security process can easily create an insecure system. However, a good security process with insecure primitives at least stands a chance (which even ignores the fact that a good security process should filter out insecure primitives that can not be usefully integrated). As for how you can determine if a security process is any good, you can do this by seeing if the process has consistently created systems that reach an adequate objective level of quality given different circumstances. In this case, air-gap based processes have seen material success in actually achieving an adequate level of security in certain circumstances, so it is probably good to start from there though there are actually other potential solutions.