zlacker

[parent] [thread] 34 comments
1. comboy+(OP)[view] [source] 2020-05-31 21:38:59
Really weird that nobody in the thread is pointing out that this is basically a website that says "give me your photos, specifically from protests, which have details that you want to keep private".

It doesn't matter that it theoretically all happen in the browser. You can serve different versions to different IPs etc. Every heuristic in me would be screaming don't use that if I would have a need for such tool.

replies(6): >>aith+i4 >>movedx+k4 >>dmart+1j >>vagab0+Sk >>closep+7n >>pwdiss+3t
2. aith+i4[view] [source] 2020-05-31 22:10:45
>>comboy+(OP)
It's a simple static site with no server involved. Everything happens client side. You could turn off your internet while you're using it if you wanted to make sure no data is exposed.
replies(4): >>dzhiur+ei >>KingMa+pi >>vagab0+El >>heavys+Ms
3. movedx+k4[view] [source] 2020-05-31 22:10:56
>>comboy+(OP)
If it's all served in the browser, then simply download the page and use it offline.
replies(2): >>jakeva+sc >>Polyla+Ud
◧◩
4. jakeva+sc[view] [source] [discussion] 2020-05-31 23:03:24
>>movedx+k4
I just confirmed the downloaded page works offline
◧◩
5. Polyla+Ud[view] [source] [discussion] 2020-05-31 23:13:18
>>movedx+k4
In this case thats probably fine. It does remind me of a time when a bitcoin keygen site was declared safe because it didn't make any network requests. Only to find out later that it had a malicious random number generator that generated predictable keys.

In this case its possible that the site encodes the data back in to the image but that seems unlikely.

◧◩
6. dzhiur+ei[view] [source] [discussion] 2020-05-31 23:46:19
>>aith+i4
Would a service worker running in background be able to upload your sensitive data once you are back online?
◧◩
7. KingMa+pi[view] [source] [discussion] 2020-05-31 23:47:49
>>aith+i4
True, but it's only safe if you do that. You have to either inspect the code every time you use the site or run it locally. Until subresource integrity [1] becomes widely used & the capability to 'pin' a given script to a specific version, web applications can not be used without at least trusting the owner of the domain.

A better example is Protonmail, a secure email service. It has a nice web client and there is an 3rd party desktop/electron version of the same size called Electronmail. While both essentially run identical code, the electron version is more secure because even Protonmail insert a backdoor for a single or # of users. They would have to at least publish the backdoor in the vanilla code at which point, the maintainers of Electronmail will probably raise the alarm.

[1] https://developer.mozilla.org/en-US/docs/Web/Security/Subres...

replies(2): >>rkager+2k >>t-writ+gl
8. dmart+1j[view] [source] 2020-05-31 23:52:39
>>comboy+(OP)
It's a static site running on GitHub pages, over HTTPS, directly out of a linked repo so you can examine the source code. I literally could not imagine a more transparent way to serve this application.

The only way an attack vector is possible here is if you think GitHub themselves would maliciously inject an altered version of the code in the repo, and even then you'd be able to see the code and network requests in your developer tools.

replies(2): >>CivBas+Al >>underw+rd1
◧◩◪
9. rkager+2k[view] [source] [discussion] 2020-06-01 00:00:44
>>KingMa+pi
Write a little piece of open-source client software to take a hash of the source code. Check the hash every time you use it. Spread the tool around to a community of people who review every time the hash changes and publish (separately) a history of attested hashes.
10. vagab0+Sk[view] [source] 2020-06-01 00:09:57
>>comboy+(OP)
Can you imagine yourself being convinced somehow that this is safe to use? I've had similar ideas before that I ended up not pursuing precisely because I knew I couldn't find a way to convince people like you.

See also https://haveibeenpwned.com/Passwords.

replies(1): >>mulmen+cm
◧◩◪
11. t-writ+gl[view] [source] [discussion] 2020-06-01 00:12:04
>>KingMa+pi
Or, you could download the repository, validate it once for yourself and then use it repeatedly. It is open source, after all.
◧◩
12. CivBas+Al[view] [source] [discussion] 2020-06-01 00:14:50
>>dmart+1j
> I literally could not imagine a more transparent way to serve this application.

Just distribute the code for local execution? Sure, it's less accessable for the target audience, but it is more transparent.

But what else is new? Most users are willing to sacrifice privacy and security for convenience. That's how we got into this whole mess.

replies(3): >>technt+Ll >>morsch+Jp >>lyjack+Kx
◧◩
13. vagab0+El[view] [source] [discussion] 2020-06-01 00:15:21
>>aith+i4
For linux users you can "turn off" internet for a single program: https://news.ycombinator.com/item?id=21146655
replies(1): >>rkeene+Wn
◧◩◪
14. technt+Ll[view] [source] [discussion] 2020-06-01 00:16:25
>>CivBas+Al
People are free to use the source code and run it themselves.
◧◩
15. mulmen+cm[view] [source] [discussion] 2020-06-01 00:20:51
>>vagab0+Sk
haveibeenpwned is explicit about not entering passwords you use. If you want to check a password that you intend to use then download the database and check for yourself.
replies(2): >>vagab0+ln >>bigiai+mA
16. closep+7n[view] [source] 2020-06-01 00:31:33
>>comboy+(OP)
Imagine how much scarier it would be if it wanted to run code natively on your machine, outside the browser sandbox.
replies(1): >>heavys+0t
◧◩◪
17. vagab0+ln[view] [source] [discussion] 2020-06-01 00:34:15
>>mulmen+cm
I don't get it. If I check for a password I used before, presumably I want to keep using it if it's safe. Otherwise what's the point?
replies(3): >>abathu+OA >>mulmen+RC >>shpong+Mi1
◧◩◪
18. rkeene+Wn[view] [source] [discussion] 2020-06-01 00:39:17
>>vagab0+El
I actually wrote an even better way to do this, since my build system drops network access after downloading SHA-256 validated source (to ensure that source can't go out and fetch more things during build):

https://chiselapp.com/user/rkeene/repository/bash-drop-netwo...

◧◩◪
19. morsch+Jp[view] [source] [discussion] 2020-06-01 00:58:46
>>CivBas+Al
> Just distribute the code for local execution?

I mean, I get what you mean, but this is literally what's already happening. It's distributed via HTTP, and executed in your browser. You can save it (Ctrl-S, still a thing browsers do), and -- since it's distributed in source form -- easily inspect it, or reopen it later, in a different browser on a different computer. A zip file of the same thing is available on the repo (it's a zip of the repo).

If you don't trust that it won't access the web, disable your internet while running it or some such, as with other code you don't trust. If you don't trust it to mess with your files, well, you're in luck because modern browsers are probably the best audited sandbox out there.

I say I get what you mean, because most people won't do any of it. Instead of saving the page and running what they trust or have verified to be a safe snapshot of the page, they'll reopen the hosted version, trusting that it's still safe, even though the page may have been replaced with one that does upload their files.

◧◩
20. heavys+Ms[view] [source] [discussion] 2020-06-01 01:36:58
>>aith+i4
A bad actor could selectively serve a different version to those they want to target.
replies(1): >>abathu+Kv
◧◩
21. heavys+0t[view] [source] [discussion] 2020-06-01 01:40:09
>>closep+7n
I have a many sandbox and virtualization tools at my disposal that are both more comprehensive and flexible than a browser sandbox.
replies(1): >>abathu+cx
22. pwdiss+3t[view] [source] 2020-06-01 01:41:06
>>comboy+(OP)
Isn't this the same issue as with a website like HIBP, and other sites that appear after a data breach/leak?

Users are disclosing to the website what they hope has not been discovered by someone else -- e.g., usernames and email addresses, or in this case photos, they hoped to keep private. Unfortunately, the website is "someone else".

◧◩◪
23. abathu+Kv[view] [source] [discussion] 2020-06-01 02:20:44
>>heavys+Ms
There's no way to obtain and execute source code that you didn't write and hand-compile for which this risk doesn't exist. (And it applies in its own sense to books, paintings, phone calls from mom, letters from an old mentor, DVDs, rental cars, ...)
replies(1): >>heavys+KJ3
◧◩◪
24. abathu+cx[view] [source] [discussion] 2020-06-01 02:40:15
>>heavys+0t
Are you packaging these sandbox and virtualization tools for normies to use from their smartphones?

(Sorry for commenting on you twice in this thread--I promise I'm not trying to follow you around. I'm all about dissecting the quality of a system or toolchain! A false sense of security can be more dangerous than naïveté! Caution and skepticism are often our only protection! Trusting random websites is Not a Good Idea! But, security tools average people can't use are also meaningless here.)

◧◩◪
25. lyjack+Kx[view] [source] [discussion] 2020-06-01 02:47:52
>>CivBas+Al
Hmm 1. This is local execution 2. What's so secure about a downloaded executable run directly from the OS? It could send information to a remote server just (or more) easily, and less transparently
replies(1): >>CivBas+JC
◧◩◪
26. bigiai+mA[view] [source] [discussion] 2020-06-01 03:27:56
>>mulmen+cm
hibp doesn't let you check passwords (at least not any more). It lets you check truncated hashes of passwords.

https://www.troyhunt.com/ive-just-launched-pwned-passwords-v...

◧◩◪◨
27. abathu+OA[view] [source] [discussion] 2020-06-01 03:34:17
>>vagab0+ln
FWIW, I don't think the post you're responding to is correct? At least, I couldn't readily find a place where HIBP tells me not to fill in the form. And it bothers assuring me that it goes to great lengths not to make it obvious what password my client is checking.

Your question is on target--one I've wondered myself--but I've come to the conclusion that it isn't for people who already have the sense not to put their passwords in random forms on the internet.

I can only assume it has 2 main uses:

1. Poke (some) holes in the bubbles of people with dated password hygiene practices (and a poor sense of how good other humans are at helping attackers reduce the possibility space) by giving them a playground to make new passwords against for a while.

For example, I decided to enter "silverfish3" in the form because I know more than one person who still uses <noun><number> passwords that are multiple characters shorter than this one. It's still turned up in the database 40 times. "dichotomy14" hasn't been pwned yet, but "dichotomy7" has already been pwned 5 times.

You don't have to use a real password of your own to discover that your schema is well explored.

2. I can only hope HIBP password search has scared a few thousand of the kind of person naive enough to fill in the form with a real password straight.

replies(1): >>bigiai+uD
◧◩◪◨
28. CivBas+JC[view] [source] [discussion] 2020-06-01 04:11:46
>>lyjack+Kx
> What's so secure about a downloaded executable run directly from the OS?

I did not suggest distributing an executable. I suggested distributing code, so that the user could audit it before execution.

I did not realize this tool executed all of its logic in the client when I made that post. It is rare to find websites with plainly-written, unobfuscated, uncompressed, vanilla Javascript that don't rely on any server-side processing.

◧◩◪◨
29. mulmen+RC[view] [source] [discussion] 2020-06-01 04:13:04
>>vagab0+ln
If you think a password has been compromised then change it.

HIBP offers you a way to validate a password has been compromised, HIBP does not offer you a way to determine it has not been compromised or is otherwise suitable for use. It’s a service for excluding compromised passwords from use.

replies(1): >>vagab0+yz1
◧◩◪◨⬒
30. bigiai+uD[view] [source] [discussion] 2020-06-01 04:25:16
>>abathu+OA
Pop open dev tools and take a look at the network traffic when you put "silverfish3" into that form:

It sends a GET request for "https://api.pwnedpasswords.com/range/89F5D"

and gets back 548 rows of the form:

001F74CD3E241B7820C996DA4FB3BDF9FE7:2

...

54C7FB299EC06A0B979C5DE14F1AE61F653:40

...

FFE6FF5698CEC527CD18269D1B7697C8743:1

Note that middle example row with ":40" at the end? Prepend "89F5D" from that GET request the javascript generated to that row's contents "54C7FB299EC06A0B979C5DE14F1AE61F653"

Now compare that to what you get when you run this (This is a macOS specific invocation of the command, but something very similar should work pretty much anywhere):

$ echo -n "silverfish3" | openssl sha1

(stdin)= 89f5d54c7fb299ec06a0b979c5de14f1ae61f653

You might (perhaps rightly) not trust Troy's site to not switch out the javascript underneath you, but you _can_ trust the API, and could always run:

curl https://api.pwnedpasswords.com/range/89f5d

Or, if you're testing that "dichotomy7" password:

echo -n "dichotomy7" | openssl sha1

(to get (stdin)= 772be5bd14dc626ec7fa952b51ae28c482e92d39)

then:

curl -s https://api.pwnedpasswords.com/range/772be | grep -i '5bd14dc626ec7fa952b51ae28c482e92d39'

will show you your result of that dichotomy7 password having been seen 5 times.

You've only revealed the first 5 characters of the 40 character sha hash to the server. That might have been one of the ~500 passwords with that same hash, or any of the rest of the 150 bit space of other strings that hash to that prefix that are not part of their database.

I would be perfectly happy running echo -n "{{a real valuable password of mine}}" | openssl sha1 locally and then feeding the first 5 characters of that into "random apis on the internet".

replies(1): >>abathu+dF
◧◩◪◨⬒⬓
31. abathu+dF[view] [source] [discussion] 2020-06-01 04:51:43
>>bigiai+uD
I think maybe you've mis-read me. I'm well aware of how HIBP does this.

But it doesn't matter what you or I can prove the site does or doesn't do with our passwords; my dad or aunt shouldn't type their passwords into random forms on the internet. Whether it tells them it's using k-anonymization or not.

You still wouldn't pop your dev tools open but then type your real password into a random form on the internet before you'd kicked the API-tires with some fakes.

Anyone who isn't prepared to kick the tires and hasn't established a trust relationship has no business doing it.

◧◩
32. underw+rd1[view] [source] [discussion] 2020-06-01 12:18:00
>>dmart+1j
That's assuming the author can be trusted. The link is not pinned to a specific commit so their is no way to know if the code is updated later without auditing it every time the tool is used.
◧◩◪◨
33. shpong+Mi1[view] [source] [discussion] 2020-06-01 13:09:41
>>vagab0+ln
On haveIbeenpwned (at least last time I used it), you can either check the hash of your password, or the first N characters and it will return a list of leaked passwords that match
◧◩◪◨⬒
34. vagab0+yz1[view] [source] [discussion] 2020-06-01 14:49:33
>>mulmen+RC
> It’s a service for excluding compromised passwords from use.

How does this work?

2 cases:

1. I know password P is compromised. I check it in HIBP. If compromised, great, but I already know that. If not, well, too bad. I still can't use it because I know it's compromised. - decision doesn't depend on the result of HIBP.

2. I don't know if P is compromised. I check it in HIBP. If compromised, I don't use P. If not, I don't use P because I already put P in a text box connected to the internet. - decision doesn't depend on the result of HIBP.

Don't get me wrong, I'm well aware of the value of HIBP. I'm just arguing about this particular use case.

◧◩◪◨
35. heavys+KJ3[view] [source] [discussion] 2020-06-02 04:14:18
>>abathu+Kv
Download, verify keys and signatures. You could run a checksum or even read the code yourself depending on how paranoid you are. Otherwise, you're just hoping mycrimepics.net/dontsnitch wasn't subpoenaed between your last visit and now.
[go to top]