• 1 Post
  • 70 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • That’s not how this works.

    This sort of “dismissive security through ignorance” is how we get so many damn security breaches these days.

    I see this every day with software engineers, a group that you would think would be above the bar on security. Unfortunately a little bit of knowledge results in a mountain of confidence (see Dunning Kruger effect). They are just confident in bad choices instead.

    We don’t need to use encryption at rest because if the database is compromised we have bigger problems” really did a lot to protect the last few thousand companies from preventable data exfiltration that was in fact the largest problem they had.

    Turns out that having read access to the underlying storage for the database doesn’t necessarily mean that the database and all of your internal systems are more compromised. It just means that the decision makers were making poor decisions based on a lack of risk modeling knowledge.


    That said the real question I have for you here is:

    Are you confident in your omniscience in that you can enumerate all risks and attack factors that can result in data being exfiltrated from a device?

    If not, then why comment as if you are?



  • That’s not how this works.

    If the stored data from signal is encrypted and the keys are not protected than that is the security risk that can be mitigated using common tools that every operating system provides.

    You’re defending signal from a point of ignorance. This is a textbook risk just waiting for a series of latent failures to allow leaks or access to your “private” messages.

    There are many ways attackers can dump files without actually having privileged access to write to or read from memory. However, that’s a moot point as neither you nor I are capable of enumerating all potential attack vectors and risks. So instead of waiting for a known failure to happen because you are personally “confident” in your level of technological omnipotence, we should instead not be so blatantly arrogant and fill the hole waiting to be used.


    Also this is a common problem with framework provided solutions:

    https://www.electronjs.org/docs/latest/api/safe-storage

    This is such a common problem that it has been abstracted into apis for most major desktop frameworks. And every major operating system provides a key ring like service for this purpose.

    Because this is a common hole in your security model.



  • Not necessarily.

    https://en.m.wikipedia.org/wiki/Swiss_cheese_model

    If you read anything, at least read this link to self correct.


    This is a common area where non-security professionals out themselves as not actually being such: The broken/fallacy reasoning about security risk management. Generally the same “Dismissive security by way of ignorance” premises.

    It’s fundamentally the same as “safety” (Think OSHA and CSB) The same thought processes, the same risk models, the same risk factors…etc

    And similarly the same negligence towards filling in holes in your “swiss cheese model”.

    “Oh that can’t happen because that would mean x,y,z would have to happen and those are even worse”

    “Oh that’s not possible because A happening means C would have to happen first, so we don’t need to consider this is a risk”

    …etc

    The same logic you’re using is the same logic that the industry has decades of evidence showing how wrong it is.

    Decades of evidence indicating that you are wrong, you know infinitely less than you think you do, and you most definitely are not capable of exhaustively enumerating all influencing factors. No one is. It’s beyond arrogant for anyone to think that they could 🤦🤦 🤦

    Thus, most risks are considered valid risks (this doesn’t necessarily mean they are all mitigatable though). Each risk is a hole in your model. And each hole is in itself at a unique risk of lining up with other holes, and developing into an actual safety or security incident.

    In this case

    • signal was alerted to this over 6 years ago
    • the framework they use for the desktop app already has built-in features for this problem.
      • this is a common problem with common solutions that are industry-wide.
    • someone has already made a pull request to enable the electron safe storage API. And signal has ignored it.

    Thus this is just straight up negligence on their part.

    There’s not really much in the way of good excuses here. We’re talking about a run of the mill problem that has baked in solutions in most major frameworks including the one signal uses.

    https://www.electronjs.org/docs/latest/api/safe-storage








  • I’m not sure if this is just a rhetorical question or a real one?

    Because I didn’t claim it isn’t negligence. It is negligent, however, it is not a problem solvable by just pointing fingers. It’s a problem that solvable through more strict regulation and compliance.

    Cyber security is almost exactly the same as safety in other industries. It takes the same mindset, it manifests in the same ways under the same conditions, it tends to only be resolved and enforced through regulations…etc

    And we all know that safety is not something solvable by pointing fingers, and saying “Well Joe Smo shouldn’t have had his hand in there then”. You develop processes to avoid predictable outcomes.

    That’s the key word here, predictable outcomes, these are predictable situations with predictable consequences.


    The comment above mine is effectively victim blaming, it’s just dismissing the problem entirely instead of looking at solutions for it. Just like an industry worker being harmed on the job because of the negligence of their job site, there are an incredibly large number of websites compromised due to the negligence of our industry.

    Just like the job site worker who doesn’t understand the complex mechanics of the machine they are using to perform their work, the website owner or maintainer does not understand the complex mechanics of the dependency chains their services or sites rely on.

    Just like a job site worker may not have a good understanding of risk and risk mitigation, a software engineer does not have a good understanding of cybersecurity risk and risk mitigation.

    In a job site this is up to a regulatory body to define, utilizing the expertise of many, and to enforce this in job sites. On job sites workers will go through regular training and exercises that educate them about safety on their site. For software engineers there is no regulatory body that performs enforcement. And for the most part software engineers do not go through regular training that informs them of cybersecurity safety.


  • That’s not how systemic problems work.

    This is probably one of the most security ignorant takes on here.

    People will ALWAYS fuck up. The world we craft for ourselves must take the “human factor” into account, otherwise we amplify the consequences of what are predictable outcomes. And ignoring predictable outcomes to take some high ground doesn’t cary far.

    The majority of industries that actually have immediate and potentially fatal consequences do exactly this, and have been for more than a generation now.

    Damn near everything you interact with on a regular basis has been designed at some point in time with human psychology in mind. Built on the shoulders of decades of research and study results, that have matured to the point of becoming “standard practices”.





  • Because the lowest common denominator is much MUCH lower than you think it is.

    This means it’s easy to indoctrinate and easy to maintain that for a massive number of people.

    Scientific illiteracy is extremely high, and actual “6th grade reading comprehension” is the highest level of literacy for > 50% of a country like the U.S. and ~20% are low literacy or actually illiterate.

    This means that half of everyone in the U.S. can read and understand what they read at or below a 6th grade level. This isn’t “reading big words”, it’s “tell us about what you read”, “what is the relationship between x & y” type questions.

    This comment for example, up to this point only, would be difficult to understand & comprehend for > 50% of people in the U.S. (it demands an 11th grade reading comprehension). And may be misread, misunderstood, or not understood at all.

    People are driven to religions to cults and alt conspiracy theories when they don’t understand how the world works around them. They latch onto extremely simple often misleading or incorrect ideas of how the world works because they can understand it and it “makes sense” within their sphere of ignorance (we all have one, this isn’t meant to be a disparaging term).

    This means that the problem is that humans are just not smart enough to escape religion yet. It’s the simplest answer, and it appears to be correct.




  • It’s not as easy to defeat as just changing the pixel…

    CSAM detection often uses existing features for image matching such as PhotoDNA by Microsoft. Similarly both Facebook and Google also have image matching algorithms and software that is used for CSAM detection which.

    These are all hash based image matching tools used for broad feature sets such as reverse image search in bing, and are not defeated by simply changing a pixel. Or even redrawing parts of the whole image itself.

    You’re not just throwing an md5 or an sha at an images binary. It’s much more nuanced and complex than that, otherwise hash based image matching would be essentially useless for anything of consequence.