Jump to content

ISY994i EPROM checksum status


larryllix

Recommended Posts

This would comprise of a system variable that is based on the checksum of ISY's program/EPROM contents changing.

 

This system variable would toggle from 0 to 1 temporarily (or other non-zero if usage can be found) to signify the program/EPROM? contents have changed.

 

 

This variable would cause a trigger for any program(s) that utilise it each time the programmer writes changes to his programming/resource/variable sections. Users current making these changes could easily ignore this.

 

However if the ISY994i programming was hacked or an EPROM failure was detected the trigger could signal the owner/manager that program changes were taking place.

 

 

 

This could be easily accomplished by a process similar to this.

 

- after each program/ variable/resource update the trigger variable would be flashed to a non-zero value and then back to 0 after say 10 msec?

 

- the ISY firmware would then scan the appropriate EPROM areas to calculate a new checksum and save that as the current checksum.

 

- on an hourly basis the same memory area would be scanned and the checksum would be compared against the latest known checksum. If a difference is detected the variable would be cycled to trigger watching programs.

 

 

For users this could act as a hacking notification.

 

For installers this could also act as a customer tampering notification.

Link to comment

Hi larryllix,

 

EEPROM (flash) is pretty much static and holds ISY code (before loaded to RAM at boot up) and product information. Nothing else is in the flash. So, if the flash is played with, then either ISY will not boot up (because it will check the checksum itself) OR your modules will be missing or the product will be different both of which are highly unlikely since, again, that section which holds product information is protected.

 

With kind regards,

Michel

Link to comment

How would this interact with variable inits being modified by programs?

 

 

-Xathros

 

Sent from my iPhone using Tapatalk

That may be a hard one to guard against. Variable values need to be free to operate without causing a nuisance. Init to values changed could be used by a knowledgeable hacker to mess things up for sure.

Link to comment

Hi larryllix,

 

EEPROM (flash) is pretty much static and holds ISY code (before loaded to RAM at boot up) and product information. Nothing else is in the flash. So, if the flash is played with, then either ISY will not boot up (because it will check the checksum itself) OR your modules will be missing or the product will be different both of which are highly unlikely since, again, that section which holds product information is protected.

 

With kind regards,

Michel

EEPROM memory holds the ISY code so it has to be written to each time any resource or program is edited by anyone at any time.

ISY still boots up just fine after editing so I don't understand the point being made.

 

The caveat I see is that a knowledgeable hacker could just changes the program that detects changes and notifies the user so that the notification wouldn't get sent. That would be obscure to the newbie though.

Link to comment

Hi larryllix,

 

EEPROM is NOT being written to for programs. Programs and configurations are stored on the SD Card and not EEPROM.

 

With kind regards,

Michel

ahhh. OK. I didn't know that, or just forgot that.

 

The checksum would just apply to the areas where programs and resources would be stored and could notify users if a change is saved then update itself again. I guess the same thing could apply to the ISY engine in EEPROM also but as you stated if a hacker found a way to change the EEPROM it wouldn't boot unless the checksum was corrected. Then we are talking advanced hackers and that would be a whole different level to prevent.

 

Thanks!

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...