-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem: no support for AWS Nitro Enclave #146
Comments
it may require two binaries. |
@allthatjazzleo @thomas-nguy "AMS" == AWS? if (all of?) gorc, then this will be a huge effort:
|
yes, corrected |
Regarding the need for NE, it is to enhance the overall security over our orchestrator/relayers. I guess the idea is to have the cosmos and eth tx signatures being executed in NE. Maybe just porting the tx signing would be enough? It is not a blocker for mainnet release but could be look into as a feature to have in long term. |
what would be the advantage over having AWS KMS tx signer? we used NE on a different project, because AWS KMS didn't support ed25519, but here both are secp256k1 |
Yeah, I have probably misunderstood the idea. So I guess we want the entire gorc to be run within NE to provide better isolation? @allthatjazzleo If it is the case, we probably need to refactor gorc to make it simpler. Maybe dividing the building msg parts from the sending part.. |
Was concerned about if someone somehow gets accessed to the machine, one can run his own version of gorc to submit malicious tx as one should also be able to get access to kms key. |
what kind of malicious tx? |
I guess if someone has access to our AWS KMW, it could sign and submit a crafted EthereumEventVote or sign a crafted SubmitBatch hashroot. But it still requires 2/3 of the powers to be valid. In order to prevent this, we should do the eth rpc nodes query for events and build the msgs within the enclave |
NE won't prevent it if eth rpc returns crafted events |
Having said that, NE would prevent signing on other txs, such as draining out the account balance meant for covering gas costs etc. (but the risk/damage is small) @thomas-nguy do you have concrete examples how a crafted EthereumEventVote or SubmitBatch would work? It may or may not be preventable by running light client protocol verification over the rpc inside NE (and maintaining some trusted+attested state)... the question would be what or if any client-side network state verification one can run on the current Eth mainnet. |
Unfortunately gravity bridge security model is based on network validator set, not on some light client verification. The message does not contains any merkle root for verification, but a sample object containing the contract events such as
with nonce being an incremental number stored in state. In that sense it would be fairly easy to craft. but for that one to be valid, it means that more than >2/3 of our server (in term of power) could be accessed by the attacker and this message to be sent simultaneously. If the idea is to run a light client verification protocole within the NE, we would have to verify each events one by one which could be a bit heavy for the orchestrator. |
https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/stateless-clients/ but prob not available anytime soon |
No description provided.
The text was updated successfully, but these errors were encountered: