Synthetix Oracle Theft Incident: Difference between revisions
(Created page with "{{Imported Case Study|source=https://www.quadrigainitiative.com/casestudy/synthetixoracletheftincident.php}} thumb|SynthetixSynthetix relied on a limited number of price feeds for their automated synthetic assets system, which allowed an attacker to manipulate the price of Korean Won in order to steal $37m worth of assets. Since the system is centralized, they were able to shut it down in time, and the attacker was left with the option of graciou...") |
No edit summary |
||
| Line 1: | Line 1: | ||
{{Imported Case Study|source=https://www.quadrigainitiative.com/casestudy/synthetixoracletheftincident.php}} | {{Imported Case Study|source=https://www.quadrigainitiative.com/casestudy/synthetixoracletheftincident.php}} | ||
{{Unattributed Citations}} | |||
[[File:Synthetix.jpg|thumb|Synthetix]]Synthetix relied on a limited number of price feeds for their automated synthetic assets system, which allowed an attacker to manipulate the price of Korean Won in order to steal $37m worth of assets. | [[File:Synthetix.jpg|thumb|Synthetix]]Synthetix relied on a limited number of price feeds for their automated synthetic assets system, which allowed an attacker to manipulate the price of Korean Won in order to steal $37m worth of assets. | ||
| Line 6: | Line 7: | ||
This is a global/international case not involving a specific country. | This is a global/international case not involving a specific country. | ||
<ref name="openzeppelinforum-1155" /><ref name="synthetixblog-2039" /><ref name="slowmisthacked-1160" /><ref name="synthetix-1986" /><ref name="synthetixdocs-1987" /><ref name="cointelegraph-2040" /><ref name="cryptonewsz-2041" /><ref name="myforexnews-2042" /><ref name="cryptoxdirectory-2276" /> | |||
== About Synthetix == | == About Synthetix == | ||
| Line 43: | Line 45: | ||
Don't Include: | Don't Include: | ||
* Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed. | * Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed. | ||
* Anything that wasn't reasonably knowable at the time of the event. | * Anything that wasn't reasonably knowable at the time of the event. | ||
| Line 65: | Line 66: | ||
|- | |- | ||
|June 25th, 2019 12:00:00 AM | |June 25th, 2019 12:00:00 AM | ||
| | |Main Event | ||
| | |Expand this into a brief description of what happened and the impact. If multiple lines are necessary, add them here. | ||
|- | |- | ||
| | | | ||
| Line 78: | Line 75: | ||
== Total Amount Lost == | == Total Amount Lost == | ||
The total amount lost | The total amount lost has been estimated at $37,000,000 USD. | ||
How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie? | How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie? | ||
| Line 89: | Line 86: | ||
== Total Amount Recovered == | == Total Amount Recovered == | ||
There do not appear to have been any funds recovered in this case. | |||
What funds were recovered? What funds were reimbursed for those affected users? | What funds were recovered? What funds were reimbursed for those affected users? | ||
| Line 102: | Line 99: | ||
== References == | == References == | ||
[https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191 List of Ethereum Smart Contracts Post-Mortems - Security - OpenZeppelin Community] (Jun 22) | <references><ref name="openzeppelinforum-1155">[https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191 List of Ethereum Smart Contracts Post-Mortems - Security - OpenZeppelin Community] (Jun 22, 2021)</ref> | ||
[https://blog.synthetix.io/response-to-oracle-incident/ Synthetix Response to Oracle Incident] (Jun 22) | <ref name="synthetixblog-2039">[https://blog.synthetix.io/response-to-oracle-incident/ Synthetix Response to Oracle Incident] (Jun 22, 2021)</ref> | ||
[https://hacked.slowmist.io/en/?c=Exchange SlowMist Hacked - SlowMist Zone] (Jun 25) | <ref name="slowmisthacked-1160">[https://hacked.slowmist.io/en/?c=Exchange SlowMist Hacked - SlowMist Zone] (Jun 25, 2021)</ref> | ||
[https://synthetix.io/ Synthetix] (Jul 28) | <ref name="synthetix-1986">[https://synthetix.io/ Synthetix] (Jul 28, 2021)</ref> | ||
[https://docs.synthetix.io/litepaper No Title] (Jul 28) | <ref name="synthetixdocs-1987">[https://docs.synthetix.io/litepaper No Title] (Jul 28, 2021)</ref> | ||
[https://cointelegraph.com/news/sophisticated-trading-bot-exploits-synthetix-oracle-funds-recovered Sophisticated Trading Bot Exploits Synthetix Oracle, Funds Recovered] (Jul 30) | <ref name="cointelegraph-2040">[https://cointelegraph.com/news/sophisticated-trading-bot-exploits-synthetix-oracle-funds-recovered Sophisticated Trading Bot Exploits Synthetix Oracle, Funds Recovered] (Jul 30, 2021)</ref> | ||
[https://www.cryptonewsz.com/synthetix-platform-loses-37-million-of-synthetic-ether-in-oracle-attack/ Synthetix Lost 37M sETH in an Oracle Attack] (Jul 30) | <ref name="cryptonewsz-2041">[https://www.cryptonewsz.com/synthetix-platform-loses-37-million-of-synthetic-ether-in-oracle-attack/ Synthetix Lost 37M sETH in an Oracle Attack] (Jul 30, 2021)</ref> | ||
[https://myforexnews.com/oracle-synthetix-loses-37-million-after-oracle-attack/ Oracle: Synthetix Loses 37 Million after Oracle Attack] (Jul 30) | <ref name="myforexnews-2042">[https://myforexnews.com/oracle-synthetix-loses-37-million-after-oracle-attack/ Oracle: Synthetix Loses 37 Million after Oracle Attack] (Jul 30, 2021)</ref> | ||
[https://cryptoxdirectory.com/hacked_2019 The 23 exchange hacks of 2019] (Aug 7) | <ref name="cryptoxdirectory-2276">[https://cryptoxdirectory.com/hacked_2019 The 23 exchange hacks of 2019] (Aug 7, 2021)</ref></references> | ||
Revision as of 02:08, 17 February 2023
Notice: This page is a freshly imported case study from the original repository. The original content was in a different format, and may not have relevant information for all sections. Please help restructure the content by moving information from the 'About' section to other sections, and add any missing information or sources you can find. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.
Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!
Synthetix relied on a limited number of price feeds for their automated synthetic assets system, which allowed an attacker to manipulate the price of Korean Won in order to steal $37m worth of assets.
Since the system is centralized, they were able to shut it down in time, and the attacker was left with the option of graciously accepting a bug bounty in exchange of agreeing to return the funds.
This is a global/international case not involving a specific country. [1][2][3][4][5][6][7][8][9]
About Synthetix
"Synthetix is the backbone for derivatives trading in DeFi, allowing anyone, anywhere to gain on-chain exposure to a vast range of assets."
"[S]ynthetic assets are collateralized by the Synthetix Network Token (SNX) which when locked in the contract enables the issuance of synthetic assets (Synths). This pooled collateral model enables users to perform conversions between Synths directly with the smart contract, avoiding the need for counterparties. This mechanism solves the liquidity and slippage issues experienced by DEX’s. Synthetix currently supports synthetic fiat currencies, cryptocurrencies (long and short) and commodities. SNX holders are incentivised to stake their tokens as they are paid a pro-rata portion of the fees generated through activity on Synthetix.Exchange, based on their contribution to the network. It is the right to participate in the network and capture fees generated from Synth exchanges, from which the value of the SNX token is derived. Trading on Synthetix.Exchange does not require the trader to hold SNX."
"Synthetix, a synthetic asset issuance platform built on Ethereum, experienced an oracle attack which netted the attacker over 37 million sETH, according to Etherscan. However, the true dollar value is difficult to calculate at this time given the relative illiquidity of sETH on secondary markets."
At "3am Sydney time[,] an error occurred in [their] FX price feeds affecting the KRW price. [They] use a number of commercial API’s for price feeds across forex, commodities and cryptocurrencies. This morning one of these API’s began to intermittently report a price 1000x higher than the current rate for Korean Won. [Their] price oracle has a mechanism for discarding outliers and should have absorbed this discrepancy gracefully, unfortunately the price feed for KRW was only being served by two API’s at that time due to an earlier unrelated outage which had not been caught by our exception reporting. This meant the Oracle took an average of the only two remaining prices which caused it to misreport the price of KRW to our exchange rates contract."
"When Ethereum-based synthetic asset issuance platform Synthetix, which allows users to mint and trade synthetic currencies in a peer-to-peer fashion, lost track of more than 37 million synthetic Ether (sETH) on June 24, the company stopped all trading on its platform."
In a statement made in the Synthetix Discord channel, CEO and Co-Founder Kain Warwick noted, "There has been an incident with the price feed of sKRW, we are currently investigating the root cause, but during the time when the price feed was returning the wrong value we believe an automated arb bot converted into sKRW and then into sETH."
"[They] added additional redundancy to the price feeds and have added more robust exception handling to ensure that an error like this does not recur." They "also kicked off a bug bounty program to encourage white hat hackers to report bugs found on the platform."
"In the wake of the attack, the company has terminated all transfers within the network since possesses complete control over the smart contracts on the platform." "We were alerted by our community and our CTO stopped the Oracle service from sending rates to the contracts, this had the effect of halting all transfers and trading within the system." "Synthetix has openly asked the owner of the bot to contact the company, Warwick added and assured that he would receive a bug bounty as a reward. As per reports, the company has total control over the smart contracts and has suspended all transfers within the system until further notice." "We have since been in contact with the owner of the bot, who has agreed to reverse the trades in exchange for a bug bounty."
"The irony of this situation is that the currently suboptimal design of the Synthetix platform makes it actually very difficult to realize gains from this kind of attack," said Leibowitz.
"Thank you to our community of SNX stakers and Synth traders for their patience during this incident. We will continue to improve Synthetix.Exchange and build the best trading experience possible."
This is a global/international case not involving a specific country.
The background of the exchange platform, service, or individuals involved, as it would have been seen or understood at the time of the events.
Include:
- Known history of when and how the service was started.
- What problems does the company or service claim to solve?
- What marketing materials were used by the firm or business?
- Audits performed, and excerpts that may have been included.
- Business registration documents shown (fake or legitimate).
- How were people recruited to participate?
- Public warnings and announcements prior to the event.
Don't Include:
- Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed.
- Anything that wasn't reasonably knowable at the time of the event.
There could be more than one section here. If the same platform is involved with multiple incidents, then it can be linked to a main article page.
The Reality
This sections is included if a case involved deception or information that was unknown at the time. Examples include:
- When the service was actually started (if different than the "official story").
- Who actually ran a service and their own personal history.
- How the service was structured behind the scenes. (For example, there was no "trading bot".)
- Details of what audits reported and how vulnerabilities were missed during auditing.
What Happened
The specific events of the loss and how it came about. What actually happened to cause the loss and some of the events leading up to it.
| Date | Event | Description |
|---|---|---|
| June 25th, 2019 12:00:00 AM | Main Event | Expand this into a brief description of what happened and the impact. If multiple lines are necessary, add them here. |
Total Amount Lost
The total amount lost has been estimated at $37,000,000 USD.
How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie?
Immediate Reactions
How did the various parties involved (firm, platform, management, and/or affected individual(s)) deal with the events? Were services shut down? Were announcements made? Were groups formed?
Ultimate Outcome
What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done?
Total Amount Recovered
There do not appear to have been any funds recovered in this case.
What funds were recovered? What funds were reimbursed for those affected users?
Ongoing Developments
What parts of this case are still remaining to be concluded?
Prevention Policies
In this case, the assets were recovered so there was no long-term effect to users.
The importance of the human operator came to light here, as necessary to confirm the problem and negotiate the return of the funds. Having an offline multi-sig required for the largest transactions would have similarly prevented such fraud.
References
- ↑ List of Ethereum Smart Contracts Post-Mortems - Security - OpenZeppelin Community (Jun 22, 2021)
- ↑ Synthetix Response to Oracle Incident (Jun 22, 2021)
- ↑ SlowMist Hacked - SlowMist Zone (Jun 25, 2021)
- ↑ Synthetix (Jul 28, 2021)
- ↑ No Title (Jul 28, 2021)
- ↑ Sophisticated Trading Bot Exploits Synthetix Oracle, Funds Recovered (Jul 30, 2021)
- ↑ Synthetix Lost 37M sETH in an Oracle Attack (Jul 30, 2021)
- ↑ Oracle: Synthetix Loses 37 Million after Oracle Attack (Jul 30, 2021)
- ↑ The 23 exchange hacks of 2019 (Aug 7, 2021)