Programmer and sysadmin (DevOps?), wannabe polymath in tech, science and the mind. Neurodivergent, disabled, burned out, and close to throwing in the towel, but still liking ponies 🦄 and sometimes willing to discuss stuff.

  • 4 Posts
  • 1.31K Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle


  • There is some irony to be had, in discussing this stuff on a page that starts by asking me to login, then to be good and disable my ad blocker, only to proceed with keeping half the text of the article as images so you can’t copy+paste it… and even all the comments!

    Anyhow…

    https://www.boredpanda.com/tik-tok-reverse-engineered-data-information-collecting/?utm_source=twitter&utm_medium=social&utm_campaign=organic

    Thanks for telling us where you got the link from, I didn’t care really.

    Static backup (possibly): https://archive.is/UD2SA

    *Phone hardware (cpu type, number of course, hardware ids, screen dimensions, dpi, memory usage, disk space, etc)

    Check out: https://amiunique.org/fingerprint

    No app needed!

    Using that as a baseline… the CPU type, memory usage, disk space, etc. are some extra data points freely available to all apps.

    A developer can distribute an app with multiple versions, some targeting more modern and capable devices, some older and more limited.

    It’s a feature, not a bug.

    *Other apps you have installed (I’ve even seen some I’ve deleted show up in their analytics payload - maybe using as cached value?)

    This is overreaching for an app that has nothing to do with managing other apps. Still, you may want some app with those capabilities… so let’s call it “sus”.

    *Everything network-related (ip, local ip, router mac, your mac, wifi access point name)

    Your IP is… well, you’re using it to connect, they will see it, duh.

    The rest is overreaching and comes into PI violation terrain, but can be used for geo location… the OS does it, that’s the data it uses to fine-tune the GPS’s location.

    *Whether or not you’re rooted/jailbroken

    Typical feature for banking ad DRM protected apps. Nothing to see here.

    *Some variants of the app had GPS ping- ing enabled at the time, roughly once every 30 seconds - this is enabled by de- fault if you ever location-tag a post IIRC

    Best answered by a comment [1] (SEE BELOW).

    TL;DR: more DRM stuff.

    *They set up a local proxy server on your device for “transcoding media”, but that can be abused very easily as it has zero authentication

    This is somewhat sus, but a local proxy by itself, doesn’t mean any sort of risk, or that it could be exploited.

    For example, Tor can be accessed using a local proxy (although VPN mode is safer).

    The scariest part of all of this is that much of the logging they’re doing is remotely configurable,

    Not exactly. It’s how feature flags, and remote testing/debugging works too.

    and unless you reverse every single one of their native libraries (have fun reading all of that assembly, assuming you can get past their customized fork of OLLVM!!!) and manually inspect every single obfuscated function.

    This is worse (why do the use a custom OLLVM fork?), and obfuscation usually means they have something to hide. It’s the opposite of security for the user.

    They have several different protections ir. place to prevent you from reversing or debugging the app as well. App behavior changes slightly if they know you’re trying to figure out what they’re doing.

    Not good, but unfortunately allowed. That behavior is shared by both DRM protected software, and malware.

    There’s also a few snippets of code on the Android version that allows for the downloading of a remote zip file, unzipping it, and executing said binary. There is zero reason a mobile app would need this functionality legitimately.

    False. There are two legitimate reasons: plugins, and DLCs.

    It can be used for shady stuff, but is also a “feature, not a bug”.

    On top of all of the above, they weren’t even using HTTPS for the longest time. They leaked users’ email addresses in their HTTP REST API, as well as their secondary emails used for password resets. Don’t forget about users’ real names and birthdays, too. It was alllll publicly viewable a few months ago if you MITM’d the application.

    Well, that’s just stupid, there is zero reason to send data unencrypted.

    They encrypt all of the analytics requests with an algorithm that changes with every update (at the very least the keys change) just so you can’t see what they’re doing.

    Ehm… this is the correct behavior. See previous point.

    They also made it so you cannot use the app at all if you block com- munication to their analytics host off at the DNS-level.

    Sus… but see the introductory part of this comment. Should boredpanda also be banned?

    TikTok put a lot of effort into preventing people like me from figuring out how their app works. There’s a ton of obfuscation involved at all levels of the application, from your standard Android variable renaming grossness to them (bytedance) forking and customizing ollvm for their native stuff. They hide functions, prevent debuggers from attaching, and employ quite a few sneaky tricks to make things difficult. Honestly, it’s more complicated and annoying than most games I’ve targeted,”

    This is bad, and a reason to use FLOSS apps… but since it’s been an accepted behavior for Privative Software, along with DRM… don’t blame the player, blame the game.

    No, seriously, blame the DMCA and friends. There is no way to at the same time “enforce DRM, keep the keys at a trusted party, and keep users secure”… so the current situation is “you get none of those”.


    [1]

    sr71Girthbird 39 points 1 day ago

    Not OP but I work at a company providing video infrastructure, and one of our products is an analytics suite. It provides all the data he men- tioned and ton more. Turner, Discovery, New York Times, Hulu, and everyone’s favorite company, MindGeek all use our Analytics, among hundreds of other large customers. Specifically where this guy says, “Some variants of the app had GPS pinging enabled at the time, roughly once every 30 seconds” that’s called a heartbeat. The app or video player within the app has to have a heart- beat so that the player can detect if a viewer is still watching video etc. Our analytics + video player services send a regular heartbeat every 8 seconds. It definitely pulls in your exact location.














  • As Bitcoin has grown, transactions have become slow

    Except for Bitcoin Lightning Network:

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

    Bitcoin is always being diluted

    It’s also constantly getting un-diluted by people losing their keys.

    Current estimates put the “lost coins” at around 25% of the total. That is twice as many as there are left to mine.

    it is possible that transaction fees will need to be raised to compensate miners.

    That’s been the plan from the beginning.

    Mining halving has been defined with a rough estimate of adoption, volume, and technological advances. It’s why Lightning Network was developed, and why Ethereum has switched to a Proof-of-ownership mining scheme.

    The estimate is rough and quite inflexible, which has lead to cyclic fluctuations around the period of halvings… but from a long term perspective, it has been working reasonably well for the first 10% of Bitcoin’s starting period.


  • This is a fancy way to say that it is slower unless you pay higher fees.

    My bank takes:

    • 24-48 hours for 0€, only in the EU, up to 15k€
    • 5 minutes for 0.50% (min 1.25€), only in the EU, up to 900€
    • 48-120 hours for 0.70% (min 35€), international, up to 20k€

    So my bank is also “slower unless you pay higher fees”… or “slower even with higher fees”… and on top of that, it has an amount cap.

    Meanwhile, on Bitcoin Lightning (https://1ml.com/statistics):

    • Median Base Fee: $0.000617

    fork the network and update it if they had 50%+1

    No. There are 3 components to Bitcoin: Miners, P2P nodes. and coin owners.

    • Getting 1 miner and 1 P2P node, allows forking… and getting kicked off the network.
    • Getting >50% of mining power, allows a chance at double-spending some own coins.
    • Getting 100% of miners AND/OR 100% of P2P nodes, allows taking over the network.
    • Getting an owner’s key, allows full access to the coins tied to that key.

    Neither of those are impossible, some are just easier and have a higher ROI than others.

    The tax and identity layers have to be added on top. They are not built-in.

    Same as with cash.

    Yes, this is one of the selling points of Bitcoin vs. Banks, in an age where cash is getting phased out.

    The opposite, is also a selling point of “OpenSource Money with Taxes built-in” vs. Bitcoin.

    Pick whichever side you prefer.