Live data from Hacker News

Wikimedia narrows down the app sendin 90M requests to a pic of flower

phabricator.wikimedia.org

41–50 of 105 posts

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#41
post #23

> To narrow down the app, we decided to observe connections to the image from clients (phones) to our servers. We did this by opening the popular apps one-by-one and noting down the time. After doing this for all the apps, we then ran this query in Hive: SELECT * FROM wmf.webrequest WHERE year=2021 AND month=2 AND day=9 AND parse_media_file_url(uri_path).base_name='/wikipedia/commons/1/16/AsterNovi-belgii-flower-1mb.…

Certificate pinning has made this a pain in the arse.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#42
post #23

> To narrow down the app, we decided to observe connections to the image from clients (phones) to our servers. We did this by opening the popular apps one-by-one and noting down the time. After doing this for all the apps, we then ran this query in Hive: SELECT * FROM wmf.webrequest WHERE year=2021 AND month=2 AND day=9 AND parse_media_file_url(uri_path).base_name='/wikipedia/commons/1/16/AsterNovi-belgii-flower-1mb.…

Judging by the last point they seemed to want to doublecheck findings and confirm before throwing accusations around.

> To further confirm this finding and to ensure that we had the correct app, we decided to log DNS queries from a phone by setting up a local resolver to capture DNS traffic. After pointing the phone towards it and launching the app, we noticed that it was indeed the one looking up upload.wikimedia.org on startup.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#43
post #13

> it fetches the image from Wikimedia Commons but does not display it If I were to guess, they use the picture as a connectivity/speed test. They probably figured Wikipedia has unlimited free bandwidth, so they didn't care.

The fact the picture has "1mb.jpg" in the file name suggests it is 1 megabyte and therefore a good candidate for use as a speed test. However the image is in fact 160 kilobytes, so I suspect whatever speedtest is being done is getting the wrong results...

Could be worse. Imagine if the original "1mb.jpg" was correctly linked, boom, 10x more traffic...

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#44
post #23

> To narrow down the app, we decided to observe connections to the image from clients (phones) to our servers. We did this by opening the popular apps one-by-one and noting down the time. After doing this for all the apps, we then ran this query in Hive: SELECT * FROM wmf.webrequest WHERE year=2021 AND month=2 AND day=9 AND parse_media_file_url(uri_path).base_name='/wikipedia/commons/1/16/AsterNovi-belgii-flower-1mb.…

They didn't have 'the phone'. They only had traffic logs and had to find the app that matched a certain traffic pattern. And they did have 'something like ElasticSearch', it's all in the link, and even in this reply.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#45

Earlier quoted context omitted.

On one side, StackOverflow has been a blessing. On the other, it made "Copy Paste Programming" go to eleven. (There was even a C# example the other day that famously broke in a big project but I can't find it) Maybe it would be a case of Stack Overflow linting examples to remove stuff like builtin urls and such. I've seen "developers" complaining that example code with a very explicit >replace this part for your use…

You're probably thinking about some app not being able to start when some other specific app is running because both were using a GUID copied from SO for implementing single-instance apps. Possibly the SO question in question: https://stackoverflow.com/a/522874/615306

I cannot find the source, but the folklore says a Linux kernel developer wrote a USB tutorial with his USB VID/PID, years later, he found he became the manufacturer of all sorts of gadgets he never heard about.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#46

Earlier quoted context omitted.

You're probably thinking about some app not being able to start when some other specific app is running because both were using a GUID copied from SO for implementing single-instance apps. Possibly the SO question in question: https://stackoverflow.com/a/522874/615306

It's a good example but I think it's not exactly that. Maybe it was a GUID generation code that would generate the same one for every instance? > I know it has something to do with some mythical thing called a mutex, rarely can I find someone that bothers to stop and explain what one of these are. Oh my

In this particular example, this is not an ignorant bad question. It's a self-QA by an experienced developer.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#47
post #23

> To narrow down the app, we decided to observe connections to the image from clients (phones) to our servers. We did this by opening the popular apps one-by-one and noting down the time. After doing this for all the apps, we then ran this query in Hive: SELECT * FROM wmf.webrequest WHERE year=2021 AND month=2 AND day=9 AND parse_media_file_url(uri_path).base_name='/wikipedia/commons/1/16/AsterNovi-belgii-flower-1mb.…

They didn't have 'the phone'. They only had traffic logs and had to find the app that matched a certain traffic pattern. And they did have 'something like ElasticSearch', it's all in the link, and even in this reply.

I'm confused, it says

> We did this by opening the popular apps one-by-one and noting down the time

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#48
post #23

> To narrow down the app, we decided to observe connections to the image from clients (phones) to our servers. We did this by opening the popular apps one-by-one and noting down the time. After doing this for all the apps, we then ran this query in Hive: SELECT * FROM wmf.webrequest WHERE year=2021 AND month=2 AND day=9 AND parse_media_file_url(uri_path).base_name='/wikipedia/commons/1/16/AsterNovi-belgii-flower-1mb.…

I mean, the query doesn't look that complicated, and is something they'd obviously be already familiar with how to use - not that mitmproxy etc is particularly hard, but its another thing.

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#49
post #11

> 12. By this time, we had isolated the app and were convinced that this is the one that is fetching the image on startup. We could not find the image anywhere in the app, confirming our theory that it fetches the image but does not display it. The analysis stops right when things start to become interesting. I was hoping there'd be a decompiled code snippet to see what the app in question is actually doing with the…

If one were to decompile and check what the app is doing, I'd guess it would still be a good idea to not say so on a public forum. Especially, in cases where there is so much public attention. :)

I agree with what you're saying about not going public immediately if anything malicious had been discovered, but then they probably wouldn't have written:

> We will thus hold back the banning of the url for now [...]

If on the other hand it's really just some benign leftover example code downloading the image and not doing anything with it later as has been suggested and is indeed the most likely, there'd be no harm in confirming that's the case.

They went to great lengths with their investigation, and this would be the obvious final step to wrap it up. Posting a couple of the relevant .smali lines wouldn't have to reveal the name of the app in question (which at this point can be identified by anyone sufficiently motivated anyway).

Re: Wikimedia narrows down the app sendin 90M requests to a pic of flower

#50
post #11

> 12. By this time, we had isolated the app and were convinced that this is the one that is fetching the image on startup. We could not find the image anywhere in the app, confirming our theory that it fetches the image but does not display it. The analysis stops right when things start to become interesting. I was hoping there'd be a decompiled code snippet to see what the app in question is actually doing with the…

Evidently the download has been specially crafted and surreptitiously emplaced to globally disseminate a steganographically embedded key that decrypts tailored malware aimed at disrupting the [REDACTED] nuclear weapons programme and for which the app is a weaponised delivery sabot distributed and marketed as part of the same covert operation. What I'm trying to say is, the image is a plant

> What I'm trying to say is [...]

Since you seem to be responding to me, how does anything you wrote relate to anything I wrote?

Post reply on HN