• 0 Posts
  • 220 Comments
Joined 2 years ago
cake
Cake day: July 14th, 2023

help-circle

  • You can self-host Bitwarden, too. My understanding is that VaultWarden is much simpler to self-host, though. Note that VaultWarden isnā€™t a ā€œforkā€; itā€™s a compatible rewrite in Rust (Bitwardenā€™s codebase, by contrast, is primarily C#).

    I also use Bitwarden and strongly prefer it over every other password manager Iā€™ve tried or investigated, for what thatā€™s worth. Iā€™d recommend it to 99% of non-enterprise users (itā€™s probably great for enterprise use as well, TBF).

    The only use case I wouldnā€™t recommend it for is when you donā€™t want your passwords stored in the cloud, in which case KeePass is the way to go. To be clear, that recommendation does not apply if youā€™re syncing your vault with a cloud storage provider - even one youā€™re hosting, like SyncThing - even if your vault is encrypted. At that point just use Bitwarden or VaultWarden, because theyā€™re at least audited with your use case in mind (Vaultwarden has only been audited once afaik, though).



  • I donā€™t think gravitational waves traveling at the speed of light is the same as the gravitational attraction being apparently felt faster than light travels.

    I donā€™t know how you would measure gravitational waves without measuring gravitational attraction.

    Itā€™s not light that is ā€œcommunicatingā€ that attraction.

    Nobody said it was. The ā€œspeed of lightā€ isnā€™t about ā€œlightā€. Gravity propagates at the same speed, aka ā€œc.ā€

    This Reddit discussion on r/AskPhysics might help clear up your misconceptions. Notably:

    Just to clarify: when people talk about the speed of gravity, they mean the speed at which changes propagate. Itā€™s the answer to questions like: if I take the Sun and wiggle it around, how long does it take for the Earth to feel the varitation in the force of gravity? And the answer is that changes in gravity travel at the speed of light.

    But thatā€™s not what youā€™re asking about. Whenever youā€™re close to the Earth, gravity is always acting on you: itā€™s not waiting until you step off a cliff, like in the Coyote and the Roadrunner. The very instant your foot is no longer on the ground, gravity will start to move it downwards. The only detail is that it takes some time for it to build up an appreciable speed, and this is what allows us to do stuff like jump over pits: if youā€™re fast enough, gravity wonā€™t be able to accelerate you enough - but gravity is still there.

    I get the sense that youā€™re thinking about the second scenario when objecting to the concept that gravity travels at the speed of light.



  • Iā€™m familiar with SSL in the context of webdev, where SSL (well, TLS) is standard, but there the standard only uses server certificates. Even as a best practice, consumer use cases for client certificates, where each client has a unique certificate, are extremely rare. In an app, I would assume thatā€™s equally true, but that shared client certificates - where every install from Google Play uses the same certificate, possibly rotated from version to version, and likewise with other platforms, like the App Store, the apk you can download from their site, F-Droid, if they were on it, and releases of other apps that use the same servers, like Molly. Other platforms might share the same key or have different keys, but in either case, theyā€™re shared among millions of users.

    Iā€™m not sure Signal does have a client certificate, but I believe they do have a shared API access key that isnā€™t part of the source code, and which they (at least previously) prohibited the use of by FOSS forks (and refused to grant them their own key)

    That said, I reviewed that code, and while Iā€™m not a big fan of Java and Iā€™m not familiar with the Android APIs, Iā€™m familiar with TLS connections in webdev, the terms are pretty similar cross-language, and I did work in Java for about five years, but I didnā€™t see anything when reviewing that file that makes me think client certificates are being generated or used. Can you elaborate on what Iā€™m missing?


  • youā€™re the only one with your SSL keys. As part of authentication, you are identified. All the information about your device is transmitted. Then you stop identifying yourself in future messages, but your SSL keys tie your messages together. They are discarded once the message is decrypted by the server, so your messages should in theory be anonymised in the case of a leak to a third party. That seems to be what sealed sender is designed for, but it isnā€™t what Iā€™m concerned about.

    Why do you think that Signal uses SSL client keys or that it transmits unique information about your device? Do you have a source for that or is it just an assumption?


  • The sender ('s unique device) can with 100% accuracy be appended to the message by the server after itā€™s received.

    How?

    If I share an IP with 100 million other Signal users and I send a sealed sender message, how does Signal distinguish between me and the other 100 million users? My sender certificate is encrypted and only able to be decrypted by the recipient.

    If Iā€™m the only user with my IP address, then sure, Signal could identify me. I can use a VPN or similar technology if Iā€™m concerned about this, of course. Signal doesnā€™t consider obscuring IPs to be in scope for their mission - there was a recent Cloudflare vulnerability that impacted Signal where they mentioned this. FromĀ https://www.404media.co/cloudflare-issue-can-leak-chat-app-users-broad-location/

    404 Media asked daniel to demonstrate the issue by learning the location of multiple Signal users with their consent. In one case, daniel sent a user an image. Soon after, daniel sent a link to a Google Maps page showing the city the user was likely in.

    ā€¦

    404 Media first asked Signal for comment in early December. The organization did not provide a statement in time for publication, but daniel shared their response to his bug report.

    ā€œWhat youā€™re describing (observing cache hits and misses) is a generic property of how Content Distribution Networks function. Signalā€™s use of CDNs is neither unique nor alarming, and also doesnā€™t impact Signalā€™s end-to-end encryption. CDNs are utilized by every popular application and website on the internet, and they are essential for high-performance and reliability while serving a global audience,ā€ Signalā€™s security team wrote.

    ā€œThere is already a large body of existing work that explores this topic in detail, but if someone needs to completely obscure their network location (especially at a level as coarse and imprecise as the example that appears in your video) a VPN is absolutely necessary. That functionality falls outside of Signalā€™s scope. Signal protects the privacy of your messages and calls, but it has never attempted to fully replicate the set of network-layer anonymity features that projects like Wireguard, Tor, and other open-source VPN software can provide,ā€ it added.

    I saw a post about this recently on Lemmy (and Reddit), so thereā€™s probably more discussion there.

    since the sender is identified at the start of every conversation.

    What do you mean when you say ā€œconversationā€ here? Do you mean when you first access a userā€™s profile key, which is required to send a sealed sender message to them if they havenā€™t enabled ā€œAllow From Anyoneā€ in their settings? If so, then yes, the senderā€™s identity when requesting the contact would necessarily be exposed. If the recipient has that option enabled, thatā€™s not necessarily true, but I donā€™t know for sure.

    Even if we trust Signal, with Sealed Sender, without any sort of random delay in message delivery, a nation-state level adversary could observe inbound and outbound network activity and derive high confidence information about whoā€™s contacting whom.

    All of that said, my understanding is that contact discovery is a bigger vulnerability than Sealed Sender if we donā€™t trust Signalā€™s servers. Hereā€™s theĀ blog post from 2017Ā where Moxie describe their approach. (See alsoĀ this blog postĀ where they talk about improvements to ā€œOblivious RAM,ā€ though it doesnā€™t have more information on SGX.) He basically said ā€œThis solution isnā€™t great if you donā€™t trust that the servers are running verified code.ā€

    This method of contact discovery isnā€™t ideal because of these shortcomings, but at the very least the Signal serviceā€™s design does not depend on knowledge of a userā€™s social graph in order to function. This has meant that if you trust the Signal service to be running theĀ published server source code, then the Signal service has no durable knowledge of a userā€™s social graph if it is hacked orĀ subpoenaed.

    He then continued on to describe their use of SGX and remote attestation over a network, which was touched on in the Sealed Sender post. Specifically:

    Modern Intel chips support a feature calledĀ Software Guard ExtensionsĀ (SGX). SGX allows applications to provision a ā€œsecure enclaveā€ that is isolated from the host operating system and kernel, similar to technologies like ARMā€™s TrustZone. SGX enclaves also support a feature calledĀ remote attestation. Remote attestation provides a cryptographic guarantee of the code that is running in a remote enclave over a network.

    Later in that blog post, Moxie says ā€œThe enclave code builds reproducibly, so anyone can verify that the published source code corresponds to the MRENCLAVE value of the remote enclave.ā€ But how do we actually perform this remote attestation? And is it as secure and reliable as Signal attests?

    In the docs for the ā€œauditeeā€ application, theĀ Examples pageĀ provides some additional information and describes how to use their tool to verify the MRENCLAVE value. Note that they also say that the tool is a work in progress and shouldnā€™t be trusted. The Intel SGX documentation likely has information as well, but most of the links that I found were dead, so I didnā€™t investigate further.

    A blog post titledĀ Enhancing trust for SGX enclavesĀ raised some concerns with SGXā€™s current implementation, specifically mentioning Signalā€™s usage, and suggested (and implemented) some improvements.

    I havenā€™t personally verified the MRENCLAVE values for any of Signalā€™s services and Iā€™m not aware of anyone who has (successfully, at least), but I also havenā€™t seen any security experts stating that the technology is unsound or doesnā€™t actually do whatā€™s claimed.

    Finally, I recommend you check outĀ https://community.signalusers.org/t/overview-of-third-party-security-audits/13243Ā - some of the issues noted there involve the social graph and at least one involves Sealed Sender specifically (though the link is dead; I didnā€™t check to see if the Internet Archive has a backup).


  • Message history wonā€™t be fully fixed. It canā€™t be without storing message backups in some cloud somewhere (whether itā€™s to iCloud, Google Drive, Dropbox, or Signalā€™s servers) and Signal omits its message history from system backups on iOS and Android.

    iOS users are completely incapable of backing up their message history in the event of their phone being lost, stolen, or broken. This omission isnā€™t justified in any way, as far as Iā€™m aware; I donā€™t know of any technical reason why following the exact same process as on Android wouldnā€™t work.

    Android users are able to back up locally via Signal, but that isnā€™t on by default, canā€™t be automated, needs to be backed up separately, requires you to record a 30 digit code to decrypt it, and has limitations on when it can be used for a restore (canā€™t restore on iOS, for example). See https://support.signal.org/hc/en-us/articles/360007059752-Backup-and-Restore-Messages for more details.

    Message history on linked devices - meaning iPads and desktop computers - is being improved, but it still wonā€™t mean that a user who loses or trades in their phone as they get a new phone will be able to simply restore their phone from a system backup and restore their Signal message history. And even that isnā€™t anywhere near as easy as on Telegram, where a user can just log in with their password and restore their message history, no backup needed.

    Itā€™s great that theyā€™re improving the experience for linked devices, but right now that doesnā€™t actually help if you lose, break, or trade in your phone. Maybe theyā€™ll later allow users to restore to a phone from a linked device or support backups on iPhones, but right now the situation with message history isnā€™t just an unfriendly UX, but one that is explicitly and intentionally unreliable for a huge portion of Signalā€™s user-base.





  • Liking multiple people at once is super common. The love triangle is a trope for a reason.

    If you donā€™t like her then donā€™t worry about it (other than to maybe pay attention to how youā€™re acting around her and avoid flirting unintentionally) but if youā€™re interested in her, maybe try pursuing that? Flirt with her a bit and see if she reciprocates. If she likes you, thereā€™s a good chance sheā€™s been flirting with you and youā€™ve just been oblivious.

    If youā€™re too shy to intentionally flirt, you could ask her outright, but itā€™d probably be better to ask her something that hints at your interest, like ā€œI like this girl but I canā€™t tell if sheā€™s into me - what sorts of signs should I be looking for?ā€ Should be pretty obvious what youā€™re both saying and asking.


  • Learn, understand, challenge, repeat.

    Learn as much as you can about all sorts of topics, even if you donā€™t have specific plans for those topics

    Learn enough that you donā€™t just know the facts, but that you actually understand why things are the way they are. You should be able to predict things you havenā€™t yet learned if you understand the concepts. If you donā€™t understand something yet, keep learning.

    Learn your fundamentals: language skills, math, logic, statistics, the science of research, history, politics, basic psychology, and the physics of whatever realm youā€™re operating in (meaning that in todayā€™s day and age, you should learn about both real-world physics and about how information flows on the Internet).

    A lot of people donā€™t know how to teach themselves, so itā€™s probably important to point out that learning to do so effectively is a big part of thinking for yourself. Learning how information is presented, as well as whatā€™s often left unsaid, is important. Learn how to read graphs and charts and statistics. Improve your information literacy: Learn how to find credible sources, how to judge the credibility of a source, and what ā€œcredibleā€ actually means. It doesnā€™t mean infallible.

    As a general rule, donā€™t accept a fact until you have multiple credible confirmations of it. That might not be possible, but when information comes from untrustworthy sources, remember that. Learn the difference between something that youā€™ve learned and accepted and something that youā€™ve just heard on social media a few dozen times. This is easier when you have an understanding of what youā€™re learning. True things fit in better with other true things.

    Donā€™t assume things are false just because the source isnā€™t credible, either. Just do extra research to verify. Do your own experiments to confirm, if possible.

    Sometimes youā€™ll realize something youā€™ve accepted might be wrong, possibly because it conflicts with something else that you learned. When facts donā€™t add up, challenge them. Youā€™re not infallible. Replacing a fact you accepted long ago isnā€™t a failure; itā€™s a victory. Many people are incapable of doing so.

    Learn to distinguish between facts, inferences, theories, and opinions. (Note that established, accepted scientific theories often fall into the ā€œfactā€ category.) Facts are verifiable. Inferences are based on facts; theyā€™re evidence-based conclusions that can help to build theories. Theories are explanations, and they can be disproven but havenā€™t been proven (else they would be facts). Information presented as facts can be false. Theories and inferences can be poorly formed, even if the facts are sound (and especially when they are not). ā€œOpinionā€ is a word people use to defend flawed theories. If the opinion isnā€™t a preference, thereā€™s a good chance it isnā€™t an opinion at all and is just intentional misinformation. ā€œYou canā€™t argue with my opinionā€ isnā€™t applicable when the ā€œopinionā€ is provably false - then itā€™s just a failed fact, inference, or theory. And even when it is an opinion, it can still be criticized.

    Learn about logical fallacies. Even if you donā€™t call out the person using them, try to notice them in the wild, both by people you agree with and people you disagree with. But especially by people you agree with. Learn how to notice other ways people are misled.






  • Wouldnā€™t be a huge change at this point. Israel has been using AI to determine targets for drone-delivered airstrikes for over a year now.

    https://en.m.wikipedia.org/wiki/AI-assisted_targeting_in_the_Gaza_Strip gives a high level overview of Gospel and Lavender, and there are news articles in the references if you want to learn more.

    This is at least being positioned better than the ways Lavender and Gospel were used, but I have no doubt that it will be used to commit atrocities as well.

    For now, OpenAIā€™s models may help operators make sense of large amounts of incoming data to support faster human decision-making in high-pressure situations.

    Yep, that was how they justified Gospel and Lavender, too - ā€œa human presses the buttonā€ (even though theyā€™re not doing anywhere near enough due diligence).

    But itā€™s worth pointing out that the type of AI OpenAI is best known for comes from large language models (LLMs)ā€”sometimes called large multimodal modelsā€”that are trained on massive datasets of text, images, and audio pulled from many different sources.

    Yes, OpenAI is well known for this, but theyā€™ve also created other types of AI models (e.g., Whisper). I suspect an LLM might be part of a solution they would build but that it would not be the full solution.