News for hackers. Stuff that matters.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by reilly3000 on Tuesday August 17, 2021 @05:25PM (#28215053)
Zoom has a popular feature which allows for screen sharing a single application window instead of the entire desktop. I assume this is how its discovering running applications with GUI windows open in a cross-platform manner. Perhaps there is a better API for this? Its not a common use-case that an app would need to know all of the other open windows, but it seems like a perfectly valid use case, and frankly handy for sharing a PPT without fear of an embarrassing email showing up in during a meeting.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by cranekam on Tuesday August 17, 2021 @05:41PM (#28215204)
There’s nothing in /proc/PID/cmdline etc that would definitely confirm an app has a GUI. The two concepts are at very different layers of the stack — to the OS the GUI is just another app on top of the kernel. Mayyyyyybe Zoom could be doing some crude pattern matching on process name or environment variables of a given process (though it’d only be able to read data of processes running as the same user) but it’s a long shot.

Personally I’d guess it is either some other library Zoom uses or some kind of debug info capturing system. But I don’t know work at Zoom so who knows.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Tuesday August 17, 2021 @05:48PM (#28215260)
This is an unlikely stretch, but it looks like they're also attempting to read `/proc/PID/exe` -- they could be doing something (extremely) cursed like attempting to parse the program linkages and filtering by programs that link to `libX11`. But that's me straining to explain this in the context of the GP's hypothesis.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:04PM (#28216616)
Why would you implement such a overly complex and unreliable thing when:

1. The windows manager can provide you with a list of open windows.

2. Screensharing including only sharing specific windows is a feature provided by the windows manager over standardized protocols.

3. Even knowing the processes which do have a GUI doesn't allow you to share that GUI, at least not without going through roughly the same mechanisms as mentioned in 2nd.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by stinos on Wednesday August 18, 2021 @04:41AM (#28218902)
The windows manager can provide you with a list of open windows.

But that needs a unified way for this across window managers, does that exist?

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by account42 on Thursday August 19, 2021 @04:01AM (#28231478)
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by numpad0 on Wednesday August 18, 2021 @05:14AM (#28219073)
I don’t know but xkill works across WM
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Tuesday August 17, 2021 @10:09PM (#28217064)
Hence “unlikely stretch.”
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by inter_netuser on Wednesday August 18, 2021 @02:39AM (#28218268)
Let's just say the quiet part outloud: they sell that data.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Wednesday August 18, 2021 @11:46AM (#28222902)
They probably don't. The list of programs running on a random Linux box probably isn't especially valuable.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by failuser on Wednesday August 18, 2021 @02:59PM (#28225676)
That machine can be in a Russian or Iranian nuclear physics or bioweapon lab and run very specific software. E.g. you can be looking for some project code names.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Wednesday August 18, 2021 @05:30PM (#28227432)
Sure. But that's a very distinct task vs. the implication that Zoom is somehow making ad revenue off of Linux process names. The latter strikes me as not very likely because there's no money in it; the former is well outside of anything I feel qualified to opine on.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by inter_netuser on Wednesday August 18, 2021 @07:42PM (#28228623)
You'd be surprised about how weird things can get sometimes.

Here is a company that does censorship-resistant P2P networking...and also....Nuclear Material Detection?

Obviously very closely related things?

https://www.clostra.com/newnode-mesh-network https://www.clostra.com/nuclear-detection-snm

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by Spooky23 on Friday August 20, 2021 @01:38PM (#28248972)
A company in my hometown makes parts for defense aerospace, the oil industry, private military contractors, and hyperscale data centers.

Are they spying on your Azure servers? Unlikely, they make hose reels and related round metal things.

Sometimes little (or big) companies like that get involved in weird lines of business because they buy other companies for the contracts.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Wednesday August 18, 2021 @09:25PM (#28229307)
Looks like a defense contractor to me. If you pulled two random things out of my company's roster, you could probably spin an equally suspicious narrative.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by cranekam on Wednesday August 18, 2021 @07:18AM (#28219731)
Haha. What possible market is there for knowing which other binaries Zoom (desktop) users run? OMG Zoom users also run Chrome, cat, and init! That'll be $10k please.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by gmueckl on Tuesday August 17, 2021 @06:16PM (#28215452)
Nah, the readlink on exe looks like it's simply to query the real name of the executable, so that's pretty benign.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by nonameiguess on Tuesday August 17, 2021 @07:19PM (#28215900)
I believe they mean grab the absolute path to the real executable, run ldd against it, and parse that output to see if it links against libX11. That doesn't tell you a program is really using X11, though, as plenty have some sort of no-gui option to launch without a window. You can always cat /proc/{PID}/maps to see if libx11 is actually loaded into the process' address space, and just use readlink on exe to figure out the application name.

That's a really stupid way to figure out if a program has a window, though, compared to just using the X11 API directly.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by gmueckl on Tuesday August 17, 2021 @08:18PM (#28216320)
Do you have evidence of old being executed or similar? The posted strace log section is fairly benign and shows no hints of what you insinuate.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by nonameiguess on Wednesday August 18, 2021 @08:27AM (#28220159)
Nope, and I'm not going to run zoom to find out. To be perfectly clear, I'm not at all trying to say I have evidence that this is what zoom is actually doing. I'm trying to say I believe this is what the upper-level post was suggesting zoom is doing.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Tuesday August 17, 2021 @10:17PM (#28217112)
You wouldn’t actually need to execute `ldd` to get this information: you could parse the ELF entirely in user space. That, in turn, wouldn’t show up in the `strace` logs, since there would be no syscalls. I think that’s extremely unlikely, but it’s certainly possible.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by IgorPartola on Wednesday August 18, 2021 @12:38AM (#28217831)
Reading the file would show up as syscalls.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Wednesday August 18, 2021 @11:20AM (#28222385)
Sure, but you could minimize it to just two: the `open` that we already see here, and an `mmap` that maps the entire thing in. The rest could be in userspace (at least in terms of effects). We only have an excerpt of the syscall trace, so it's possible that happens.

But again: extraordinarily unlikely.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by thrower123 on Tuesday August 17, 2021 @06:01PM (#28215372)
Never attribute to malice what is adequately explained by laziness.

I can easily believe somebody just wrote a chunk of naive code that grabbed all the running processes, and it worked, and they moved on.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by MereInterest on Tuesday August 17, 2021 @07:18PM (#28215892)
I can easily believe either. However, while the default assumption of laziness/incompetence works well for good faith discussions, it also provides cover for malicious actors. At some point, even though any given actor is likely to be non-malicious, there is no way to distinguish them from the malicious actors.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by heavyset_go on Tuesday August 17, 2021 @07:36PM (#28216033)
Hanlon's razor is a great principle to apply to personal relationships, but it falls apart in these situations.

You can explain away any deliberate malice or negligence using it, even when there are clear incentives to enage is such behavior, unless there's absolute evidence of malice. By then it's too late because you've already been swindled, and the principle ignores the lengths organizations will go to cover that evidence up.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by TeMPOraL on Wednesday August 18, 2021 @05:30AM (#28219149)
If you're dealing with bigger threats, you need a more powerful weapon. Sheathe the Hanlon's razor, and unholster the Hanlon's handgun: "Never attribute to stupidity that which can be adequately explained by systemic incentives promoting malice."

https://news.ycombinator.com/item?id=21691282

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by addicted on Wednesday August 18, 2021 @02:26AM (#28218219)
I’d argue that laziness is worse in security/privacy situations than malicious intent. At least malicious intent only exposes me to Zoom and whoever they answer to. Their laziness, however, which would probably also reflect itself in other security situations, exposes me to them as well as basically the entire world of black hat hackers.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by propogandist on Tuesday August 17, 2021 @06:30PM (#28215538)
or it’s spyware, maybe not as bad as a keylogger, but it can be mining your active usage behavior
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by reilly3000 on Tuesday August 17, 2021 @06:51PM (#28215692)
This could be verified by inspecting their analytics requests. If I have time I may take a peek at those later.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by reilly3000 on Wednesday August 18, 2021 @05:46AM (#28219215)
I wasn't able to find much of interest from their desktop client, as all of the data is encrypted and I'm not sure how to grab an SSL key from a desktop app for use in Wireshark decryption. If somebody clever wants to help, please let me know.

I did take at their privacy policy and didn't see anything that explicitly states they are collecting info about running applications. "and other" leaves room for interpretation... Regardless, my main concern after viewing this isn't that they are snooping my running processes and sending that back to home base. Its that they are openly keylogging and tracking everything under the sun, and can view every aspect of the meeting's content (audio, video, text, etc) and share it with 3rd parties like law enforcement and others.

Source: https://zoom.us/privacy#_qhklx843v2zq

> Device Information: Information about the computers, phones, and other devices people use when interacting with Zoom Products, which may include information about the speakers, microphone, camera, OS version, hard disk ID, PC name, MAC address, IP address (which may be used to infer general location at a city or country level), device attributes (like operating system version and battery level), WiFi information, and other device information (like Bluetooth signals).

> Meeting, Webinar, and Messaging Content and Context: Content generated in meetings, webinars, or messages that are hosted on Zoom Products, which may include audio, video, in-meeting messages, chat messaging content, transcriptions, written feedback, responses to polls and Q&A, and files, as well as related context, such as invitation details, meeting or chat name, or meeting agenda. Content may contain your voice and image, depending on the account owner’s settings, what you choose to share, your settings, and what you do on Zoom Products.

> Product and Website Usage: Information about how people and their devices interact with Zoom Products, such as: when participants join and leave a meeting; whether participants sent messages and who they message with; performance data; mouse movements, clicks, keystrokes or actions (such as mute/unmute or video on/off), and other user inputs that help Zoom to understand feature usage, improve product design, and suggest features; which third-party apps users add to a meeting or other Product and what information and actions the app is authorized to access and perform; features used (such as screen sharing, emojis, or filters); and other usage information and metrics. This also includes information about when and how people visit and interact with Zoom’s websites, including what pages they accessed, their interaction with the website features, and whether or not they signed up for a Zoom Product.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by propogandist on Tuesday August 17, 2021 @06:55PM (#28215725)
whoever does the analysis may also become a whistleblower.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dylan604 on Tuesday August 17, 2021 @07:28PM (#28215976)
Does "whistleblower" apply to people not working directly for the company being reported? I've always understood it to be employee reporting against the employer. I could totally be limiting it from what other people use it though.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by stjohnswarts on Tuesday August 17, 2021 @08:24PM (#28216353)
I think it's a generic definition for someone closely associated with the company to out them out something that they would like to keep secret because it would embarrass them or lead to legal redress.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by twic on Tuesday August 17, 2021 @06:12PM (#28215429)
I run Zoom from flatpak, which runs it in a container, and sandboxes it to some extent [1]

This probably explains why, when i try to screenshare a single application window, not every application shows up! I can share my browser, file manager, and various other things, but not windows for games started by Steam.

[1] I followed these instructions https://www.mayrhofer.eu.org/post/zoom-flatpak-sandboxing/

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by heavyset_go on Tuesday August 17, 2021 @07:14PM (#28215866)
Are you using Wayland? That might be an artifact of Steam and games running via XWayland.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by twic on Wednesday August 18, 2021 @05:26AM (#28219135)
As far as i know, no, it's all still pure X11. I would like to try Wayland, but i'm using Cinnamon as a desktop, and i'm not sure they work together.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by ineedasername on Tuesday August 17, 2021 @09:09PM (#28216651)
Games always seem impacted in odd ways by remote desktop protocols. One game might run fine, while another is just a black screen, or an uncontrollable mouse.

It makes me wonder how Things like Steam streaming and Paperspace get around the issue.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by woodruffw on Tuesday August 17, 2021 @05:42PM (#28215206)
Based on OP's snippet they're probably doing this on Linux. Assuming the presence of X11 and an EWMH-compatible window manager, they could query X11 directly and ask the root window for its `_NET_CLIENT_LIST` attribute. That, in turn, would list every "semantic" (i.e., non-decorative) window currently open on the current display.

But that doesn't work for non-X11 or if the WM is non-EWMH compliant. Presumably Wayland has a similar API, and non-EWMH is probably a minuscule group that considers this a desirable feature.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by sp1rit on Tuesday August 17, 2021 @06:47PM (#28215669)
One of the selling points of Wayland is, that they have no such API. An Application is supposed to be unable to access windows (and their corresponding keyboard/mouse input).

One of the downsides this has is the described issue of "screensharing beeing impossible on wayland". This is solved by the XDG Desktop Portal, which provides a unified dbus interface across the different compositor implementations for requesting a pipewire file descriptor (which can be used with gstreamer to get a live video stream of the deskop, in a way far superior to x11 framegrab). However the implementation differs for each compositor, GNOME for example asks you if you what to share the whole screen or just a specific application but wlroots (swaywm, wayfire, etc.) AFAIK automatically accepts and shares the whole screen. I don't know what KDE Plasma does.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:33PM (#28216803)
I initially miss read you post, you formulations can be a bit misleading.

E.g. "Wayland is, that they have no such API.", it has screen sharing APIs but they are different and require you do go through other programs like XDG Desktop Portal and Pipewire to allow the user to control such access. Similar this also means Wayland supports screen sharing just in different ways.

Anyway the important parts are:

- the implementation might differ, but the API doesn't (or at least not by a relevant degree)

- wayland requires you to go through specific APIs for screen sharing, scanning processes has little to do with screen sharing on either wayland or X.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by account42 on Thursday August 19, 2021 @05:01AM (#28231756)
> which can be used with gstreamer to get a live video stream of the deskop, in a way far superior to x11 framegrab

I don't think I'd agree that having to go through dbus and pipewire just to get the contents of the screen or a window is far superior to requesting that data from the display server. It certainly adds a lot of complexity with subpar documentation spread across multiple projects. Does this provide you a compressed stream or can you get the raw pixels that are displayed?

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:12PM (#28216667)
> Presumably Wayland ...

Yes there is a wayland extension for screen sharing and also support for sharing just one application.

It provides screen sharing on KDE, Gnome and most wlroots based WMs.

Through wlroots doesn't yet (or maybe does by now) support sharing a specific window I think, but this mean it doesn't support sharing a specific window and knowing which process belongs to a window doesn't really help you there either...

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by kelnos on Tuesday August 17, 2021 @06:23PM (#28215501)
> I assume this is how its discovering running applications with GUI windows open in a cross-platform manner.

That's definitely not a cross-platform way of doing it (and I doubt there is one, even).

On Linux you'd use libX11 and just enumerate all windows (using XQueryTree()). Walking the contents of /proc is not only unnecessary, but is more difficult to do, as looking at executable names won't tell you if a program has a GUI, or if it has any open windows. It won't give you window titles, or how many windows are open, or how to grab their contents.

Pretty sure Zoom is snooping on us and is gathering telemetry.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by user5994461 on Tuesday August 17, 2021 @09:24PM (#28216742)
Windows has a function EnumWindows() to do just that.

If you say that there's an similar API on Linux for X11, then that's the same methodology across platforms.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:34PM (#28216815)
I'm not sure there is such a API on wayland,

BUT there are standardized protocols/APIs for screen sharing including screen sharing of just a window. And you won't get far without using them so also no reason to scan processes.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by mwcampbell on Tuesday August 17, 2021 @06:33PM (#28215555)
> Pretty sure Zoom is snooping on us and is gathering telemetry.

Don't forget Hanlon's razor, as someone else in the thread pointed out.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:36PM (#28216829)
But I can't come up with a "stupidity" which would explain this behaviour...
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by yakubin on Tuesday August 17, 2021 @06:36PM (#28215583)
> handy for sharing a PPT without fear of an embarrassing email showing up in during a meeting.

When you share a single window in Zoom, notifications are still visible to others in the meeting when they overlap with the window you're sharing. That's the case for e.g. Slack notifications.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by aetherspawn on Tuesday August 17, 2021 @06:41PM (#28215624)
They are grayed out for everyone else, so they can’t actually read the contents.

Caveat being if you move the window around really fast sometimes it’s possible to catch a glimpse.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by yakubin on Tuesday August 17, 2021 @07:03PM (#28215777)
Maybe that's changed, but a couple months ago we tested it on vanilla Ubuntu in the team at $dayjob and we could see everything. Nothing was grayed out.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by aetherspawn on Wednesday August 18, 2021 @12:08AM (#28217691)
Sounds like it works a little differently on Linux.

To be honest, I'm actually surprised and impressed that they support screen share in the Linux version because of how many different flavors of i.e. WM there are in the wild.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by eadmund on Wednesday August 18, 2021 @09:55AM (#28220957)
I don't believe that the WM would enter into it — as long as folks are using X11 the code should be, I think, the same for any WM or DE.

Now, using Wayland it may or may not be possible, depending on which WM/compositor/whatever you are running.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by kiwijamo on Tuesday August 17, 2021 @11:42PM (#28217538)
Zoom on Mac and/or windows seems to black out other windows if they appear on top of the target window. I've seen that happen a few times so definitely does happen, just perhaps not on Linux.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by TameAntelope on Tuesday August 17, 2021 @06:37PM (#28215593)
I literally quit all messaging apps when presenting to people for any period of time more than ~10s.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dylan604 on Tuesday August 17, 2021 @07:30PM (#28215991)
You could also disable notifications if your OS has that kind of feature. Mine does, so I took advantage of that after the first incident of being interrupted. It's a nice feature.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by cygned on Wednesday August 18, 2021 @07:28AM (#28219802)
Let me introduce you to Microsoft Teams which comes with custom notifications ignoring do-not-disturb settings.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @09:39PM (#28216842)
On windows?

Hm, I don't think that is the case for Gnome/GTK as pipe wire should grab the image before it's composed as far as I know.

But I can't check as I'm running sway which (I think, haven't checked for a while) doesn't yet support single window screen sharing.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by dathinab on Tuesday August 17, 2021 @08:57PM (#28216581)
> I assume this is how its discovering running applications with GUI windows open in a cross-platform manner.

The screen sharing functionality is handled by a mix of protocols of the windows manger and service providers announced over dbus.

Even if you want to map GUI windows to processes you would do so by getting a list of windows from the window manager and getting the pid property of the windows, but if you have a list of windows you don't need to scan processes anymore...

There might (I'm not sure) be valid use-cases for this behaviour but I'm pretty confident screen sharing of specific windows isn't part of it.

Re:Ask HN: Why does Zoom Desktop examine all processes and a... by sails on Tuesday August 17, 2021 @05:32PM (#28215114)
Does Teams do this in the same way? They offer the same feature
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by sniperjzp on Tuesday August 17, 2021 @05:38PM (#28215176)
Not sure about Teams, but Google Meet allow you to share a specific browser tab, I don't know how to implement it without reading all the opened tabs.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by meibo on Tuesday August 17, 2021 @06:32PM (#28215548)
There is a JavaScript API that abstracts this, so Google Meet/whatever asked can only read the "final" video stream of what you selected and not everything that's going on, which stays in your local browser.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by Flame on Wednesday August 18, 2021 @02:22AM (#28218208)
Teams lets you share an application window or your display(s).
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by saikan on Friday August 20, 2021 @06:49AM (#28244657)
and "Window sharing isn't available for Linux users." https://support.microsoft.com/en-us/office/share-content-in-...
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by ineedasername on Tuesday August 17, 2021 @09:06PM (#28216630)
Reminds me a bit of how platforms like Citrix will publish single applications. Considering you can give control to another user with Zoom I suppose it's a lot like that, although I know the underlying tech is very different.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by barbs on Wednesday August 18, 2021 @08:37AM (#28220232)
I'm pretty sure Jitsi allows for screen-sharing a particular application so I'm curious to know how that works. Might check the source later.
Re:Ask HN: Why does Zoom Desktop examine all processes and a... by birksherty on Tuesday August 17, 2021 @09:10PM (#28216655)
Google meet running in a browser can share any application specific windows. Not sure if it also does the same thing though.