We’re rewarding the question askers & reputations are being recalculated! Read more.
32

The author had made the mistake of being ambiguous and confused the readers a bit. I must admit, like you, I was confused at first, until I saw the PCAP dump. First of all, the box indeed doesn't have wget The attacker didn't use that one echo statement, he used a series of echo statements. I counted about 107 echo statements progressively building the ...


18

I'm the guy who wrote the code which compromises the dvrs, and as said above, there is a script which simply connects and "echo"s the binary into a file, where it can be executed. As we are only echoing the raw bytes into the file and also excluding any new lines (-n), the result is an identical file. You can generate a set of the echo lines yourself by ...


7

Your considerations Using dm-verity is a very good idea, especially if you are able to fuse a key in hardware to reduce the TCB further. This can greatly help prevent a system from being persistently compromised, as well as ensure integrity, making tampering highly evident. A quick web search shows several TPM implementations for Raspberry Pi, which will ...


7

In general, no, for several reasons. First, Meltdown is an issue with how Intel chose to handle invalid memory accesses during speculative execution. A couple of ARM designs are vulnerable to a variant of Meltdown, but other than that, it's Intel-only. Second, Meltdown and Spectre both require that the CPU use a technique called "speculative execution". ...


6

This answer is based on How do I deal with a compromised server, but adapted for embedded devices and home/SoHo users. I still suggest you read that answer when you have time, but here's the (somewhat) short version. First steps, to be done as soon as possible Isolate the device from the network. Disconnect all Ethernet cables, turn off Wi-Fi at the ...


6

It's unclear whether you're only looking at the TLS client, or whether you're reviewing both client and server implementation. I'll assume both. I recently completed a security review of WolfSSL (which comes with a recommendation by the way), and various proprietary TLS stuff, so this is fresh on my mind. Here is a thoroughly incomplete list of things I ...


6

As long as you receive the file in order from beginning to end, you can calculate the hash incrementally. Any cryptography API that's suitable for embedded systems (and most of the ones that aren't) lets you calculate hash by passing successive chunks of the input. Each time you've received a chunk, feed the input to the hash calculation and append it to a ...


5

For Windows 7 and above, Microsoft enabled Protected Processes via the RunAsPPL=1 registry change. This protects the LSA from being dumped by even the SYSTEM account. The LSA (lsass.exe process) contains secrets including the WiFi keys and the machine credentials. In order to access these secrets again, the current-logged-in user must have his or her screen ...


5

I am the author of the post, and indeed, "1" is correct. The easiest way to find all the packets that make up the "wget" upload is the wireshark filter "tcp.stream eq 1" (see link in original article for the pcap). The just "follow TCP stream" and filter the part from 142.0.45.42 to 192.168.1.100. "Save as" (raw) and you got a text file with the content. ...


5

Do you mean the buses between chips, or within a single chip? If the first case, yes, it's quite practical. For example, Andrew "bunnie" Huang describes doing it in detail in chapter 8 of his book Hacking the Xbox. In the second case, it is much harder. You need to decapsulate the chip without destroying it and then probe the wires within the chip. This ...


5

Your question has many false assumptions, and these are the reason for your confusion. An OS doesn't come with source code or binaries. Yes, it does. Open-Source Operating Systems like Linux come with source code, which is regularly looked at for possible vulnerabilities. Closed-Source Operating Systems like Windows still come in binary form. If you ...


4

Yes, they can likely manage to extract your private key from the device. Even if you encrypt the key and don't keep the decryption key on the device (eg: you must enter a password to decrypt the key when you boot), there are techniques for extracting the key (eg: cold boot attacks). And, depending on the deployment scenario, you may not even be able to force ...


4

The example in the article is just one of many echo statements that are used to progressively build the file. Because it uses the >> redirection operator, it does not clobber the existing contents of the file but appends to it instead. Quoting from the article: Turns out that the attacker appears to use a wrapper script that uses a series of "echo"...


4

Development of the official Tomato firmware has indeed been discontinued since 2010 with version 1.28 being the latest release. Wikipedia has a nice comparison table of various forks that have been created since then. Although it has a focus on Linksys routers, you can find current information on actively developed Tomato mods in this forum. The ...


4

While this system may be functional and may deter the inexperienced and slow down others, this is ultimately not an effective defense. The problem lies with the fact that the private key is embedded in the device, and the customer who has purchased said device has unrestricted physical access to it. Communicating with debug interfaces, taking memory dumps, ...


4

Should I make the application run as its own user with restrictions? Yes!


3

Alright, the main concern here is that an attacker could intercept the traffic between the chipset company and your server. How does the device know it's talking to the correct server? If I intercepted the traffic between the device and the server and pretended to be the server, would the device happily give me its password? The "correct" way to do this is ...


3

As has been mentioned as a comment to your question, all you can do is make it harder. Current WiFi protocols require that the client and AP both know the PSK. This is unavoidable as it stands, and I am not sure of any plans to change this. You can employ a number of different techniques to make secrets harder to obtain. You need to take into account your ...


3

You don't specify a use case for this, so it's difficult to understand the limitations, and if this is "secure". You didn't mention using an HMAC, but I'm assuming you're aware of the need for one under certain applications. You want to use AES-256 over AES-128, but don't specify why. AES-256 requires 14 rounds, vs only 10 for AES-128, so AES-128 is ...


3

if I am not mistaken, my theory... with the -A nmap is actually doing OS detection probes as well, one of the ways it identifies is through timing of probes sent to one open and one closed port. among a host of other things. with a single port specified, I would bet that though typically this would be performed it is bypassed because you have specified only ...


3

Is it possible? Yes. Hook an oscilloscope, or a logic probe, or a similar instrument up to the memory bus, and you can read the data as it goes by. Is it practical? Not really. It requires physical access to the computer, and some rather expensive equipment. If an attacker has that level of access, there are generally easier ways to get teh data they'...


3

Security in industrial control (SCADA) systems, building automation systems and fire alarm systems involves aspects of all four security "areas" mentioned above, but is anybody aware of a single "xxx security" term that would intuitively apply to such types of systems? It is generally refereed as Industrial Control System (ICS) Security, SCADA ...


3

Why not register the certificate for a fully-qualified domain name, instead of for the IP address? Assuming you're running it as a server, and leave it running for good stretches of time, you'd visit the DNS provider, and change the mapping between IP address and domain name, only when you received a new IP address. Additionally you could request a static ...


3

The most secure way is to use a Trusted Platform Module. This is specific hardware made for storing keys and doing cryptographic operations. This is secure even against sophisticated attackers with physical access (e.g. the FBI), but you need specific hardware which will cost more. Without this, attackers may just read the key from memory. In that case you ...


3

This is done a number of different ways, and no way is perfect. Usually it involves a pre-shared key one way or another. Here's an example from General Motors that uses a remote database (assumed secure) to match two values, an ECU ID and a challenge, to a corresponding key value or algorithm (a non-reversible algorithm like a modulus operator). The ...


3

Just use /dev/random normally. /dev/urandom in its default state is more than sufficient for all security purposes, unless you require strong random numbers in an early-boot environment on a small embedded device. In such a case your embedded device requires a hardware random number generator (HRNG) to improve early-boot entropy. This is a physical ...


3

The design requirements of your system are not fully clear to me. But I will assume in the following that you have full control over the setup and that this setup has only the following requirements: secure connection between devices and central management server central management must be able to send commands to devices at any time IP address for the ...


3

I was hoping there were best practices available from some reputable source. Lacking that, I am posting this as a suggestion, and welcome any input on it. Methods for secure key storage in embedded devices depends on the threat scenario. Threat scenario 1: Both remote and physical attacks. Threat scenario 2: Only remote attacks. ------------ The best ...


3

This happens to be a very simple, if not to say naive version of part of how Denuvo works. Although no one seems to know how exactly, it turns out you don't need to understand the egg to crack it. There are at least a few vulnerabilities in your proposed solution: The end user is responsible for deciding what serial number they want to send to the server. ...


3

You have to check for all ways to access the device. For example: Is there some sort of serial interface that already has a console on it is there some serial interface that can be used to access the boot loader is there some serial interface that can be changed to have a console on it can the flash chip be accessed and changed directly (usually yes, you ...


Only top voted, non community-wiki answers of a minimum length are eligible