Похожие чаты

Wow, overlooked your answer. Yeah, now I see the whole picture

and understand why you asked the original question. Indeed, it makes sense to dump flash and compare hash.
Really interesting subject. It's worth to mention that lots of devices manufactured are hackable, check out "defcon" conference videos, how they hack various devices. And I bet that developers don't bother too much with securing device with a stonewall protection just because of comparing expenses of possible harm with expenses for develpment. What happens if your device is hacked? What would be the damage? I guess, that not too much to consider for most cases. It's also makes sense to prevent reading of your code as it may contain data or logic that forms a commercial secret and it's leak can cause significant loss. Not only exploiting.

Here are some of my thoughts regarding your question:
1. If not to stick to hardware to make it secure, I would think about trying to store part of the important/private state of MCU firmware on a server, where it can get it when needed. Can't figure out how exactly to secure your code or detect malicious firmware flashed on the MCU. This is just idea, should be elaborated. Also I would look into irreversible functions and particularly into asymmetric encryption. They have the effect that you need - somebody can read your data (decrypt with public key) but he can't change it without private key.
2. If you are on a design stage and haven't yet confirmed the hardware, I would research about protection features that MCUs provide. They vary greatly: some have almost no protection features, and some have lots of them from lock bits to encryption. If the security is of utmost importance in your project then it may be the first criteria of the hardware to choose.
3. The method you described: before update or any important operation you dum flash and compare hash. It sounds OK and makes sense, but in such case you need to concentrate on protecting your andriod application. It's not too hard to hack it and skip this check in bytecode - if it's a simple "if/if-else" clause.

So it's all depends on what kind of attack you're trying to protect from.

1 ответов

7 просмотров

Thank you very much for this response it sheds some light

Похожие вопросы

Обсуждают сегодня

Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
36
Hi everyone! I have a two-folded message to share today. First: updates and news, as we are being asked for those. We still want to go like we did the last 6 years: we w...
Marten | Unibright.io
31
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
М-да. Почему бы просто со stringlist не работать?
Michael Longneck
18
VIP-310 Set RedStone as the MAIN oracle for BTC and BNB on BNB Chain Summary If passed, this VIP will perform the following actions: - Configure RedStone as the MAIN oracle...
Venus Announcements
1
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
monero is the only tool for privacy and currency . why would we destroy it?
😎
13
🔍 Launch of Sentinel dVPN's Native Explorer 🎉 The Sentinel Growth DAO is thrilled to announce the launch of Sentinel dVPN's new native blockchain explorer! Now anyone can div...
Joey | BadgerBite Joeyy
1
Можно вообще написать: Person fName' lName' age'. Тогда действительно имена полей потребуются лишь в строковом виде, чтобы эти fName' и т.д. достать :-) Но разве для этого нуж...
Михаил
8
Hey everyone I have installed wine with winetricks for some applications I used on windows Now some of these applications need some dlls that are not available in the winetr...
Mehrshad
8
Карта сайта