4 ms·
It is important to note that this was not a smart contract exploit. The point of failure here was the website UI. Users were sent to a malicious website due t
by deweller 5y ago
It is important to note that this was not a smart contract exploit. The point of failure here was the website UI. Users were sent to a malicious website due to a stolen Cloudflare API key.
What can DAOs do to prevent the single point of failure that is the web front end? Is there a reliable second level of security to ensure you are at the site you intended? The SSL certificate didn't work because Cloudflare was still terminating the SSL connection.
- throwaway248329 5y agoNot DAOs, but users can examine the transaction that they are prompted to sign and make sure that it is interacting with the right smart contract.
- Nextgrid 5y agoThat technically just moves the problem one step further. How are users supposed to learn what is the right smart contract to begin with?
- throwaway248329 5y agoSmart contracts are immutable, so realistically, once you know which one is the right one you can just bookmark it. If you don't want to trust anyone at all, you can read the contract code and make individual judgement whether it does what it's supposed to do.
- deleted 5y ago[deleted]
- koolba 5y ago> How are users supposed to learn what is the right smart contract to begin with? That's the definition of due diligence. It's not one thing and the specifics of what's involved vary depending upon the investment. At the end of the day, the onus is upon the user to determine if it's a fraud. Being difficult or down right impossible for a non-technical person to audit a contract address or the contract code itself isn't a license for users to ignore that risk. It means they're accepting it in its entirety. Or they can defer to a trusted third party to make that determination for them. But even then, they're still on the hook for trusting that third party.
- jimmydorry 5y agoIs this not the same problem when interacting with any other site? There is nothing stopping people from navigating to faecbook.com and entering their account details. At some point there is a bare minimum literacy expected of users. As to how they would know if it's the real smart contract: they would see what it was via their wallet after interacting with it the first time.
- acdha 5y agoProving the correctness of a program is a famously hard CS problem, not “bare minimum literacy”. > As to how they would know if it's the real smart contract: they would see what it was via their wallet after interacting with it the first time. In other words, the system is not safe to use. People will reliably be fooled into thinking that they're interacting with someone else — the difference is that if you go to amaz0n.com and enter your credit card info, your liability is capped at a low amount and will likely be zero because the regulated financial industry has a fraud handling mechanism better than “the people who profited from you buying their tokens will mock you for being phished”.
- ianpurton 5y agoThis is effectively a supply chain attack. To defend against it you need to secure the supply chain all the way from build to deployment. So a quick solution would be to run a job that checks your site every minute or so and compares the javascript against known hash values. Shut the site down if a hash has changed.
- drran 5y agoAFAIK, cryptocurrency companies are not looking for security experts at all. Users money are free, while company money isn't.
- Stevvo 5y agoDAOs nearly always have their front-end in a public repository so you can run it locally, but this is also convenient for the Cloudfare hijacker. One defence is ENS. If your DAO's contract is registered for example as "BadgerDAO.eth", and your users wallet software shows that every time they make a transaction then it will be a red flag when the contract has been swapped out in the compromised front-end. Unfortunately many wallets don't support ENS, and in those that do the experience could be better. So better wallets are part of the solution.
- root_axis 5y ago> It is important to note that this was not a smart contract exploit. I disagree that this is an important detail. Even though the smart contract code wasn't exploited directly (this time), this type of massive theft is only possible because the smart contract ecosystem thrives on a lack of accountability.
- throwaway248329 5y agoSmart contract ecosystem thrives despite lack of accountability.
- cblconfederate 5y agoMaybe don't put it behind cloudflare?