Podvody s kryptoměnami závratně rostou – ztráty jsou enormní

18. 12. 2023

Sdílet

Autor: Adobe Stock
Ztráty spojené s podvody ohledně kryptoměn rostou ze dvou základních příčin – zločinci jsou stále sofistikovanější a mnoho majitelů kryptoměn je, co se týče jejich zabezpečení, příliš naivních.

Zaznamenané blockchainové podvody během prvních tří čtvrtletí letošního roku představovaly ztrátu 610 milionů dolarů, přičemž za celý loňský rok to bylo „jen“ 300 milionů dolarů.

Setkali jste se někdy s kryptoměnovým podvodem?

Nárůst je tak více než dvojnásobný, a to ještě celé jedno čtvrtletí do přehledu schází. Vyplývá to z dat, které uveřejnila firma Slowmist Hacked.

Aktivita těchto podvodů přitom v tomto roce začala, jak uvádí studie firmy Atlas VPN, poměrně zlehka – v prvním čtvrtletí bylo v rámci hlášených 9 podvodů zcizeno pouze 9 milionů dolarů, meziročně šlo o velký pokles (ve srovnatelném období roku 2022 to bylo 51 milionů dolarů při 20 kryptopodvodech).  

Naopak ve druhém čtvrtletí měli podvodníci už žně – přišli si totiž na 239 milionů dolarů v rámci zaznamenaných 28 podvodů, což je meziročně třikrát větší částka.

A třetí čtvrtletí roku 2023 představovalo ohromující ztráty majitelů kryptoměn ve výši 360 milionů dolarů, což je více než za celý rok 2022.

Nejčastější typy podvodů

Mnoho z největších kryptoměnových podvodů v tomto roce se týkalo falešných investičních nabídek, které lidem slibovaly velké výnosy. Například v nechvalně známém případu JPEX, hongkongské platformy pro výměnu kryptoměn, se zcizilo 190 milionů dolarů.  

Chcete dostávat do mailu týdenní přehled článků z Computertrends? Objednejte si náš mailový servis a žádná důležitá informace vám neuteče. Objednat si lze také newsletter To hlavní, páteční souhrn nejdůležitějších článků ze všech našich serverů. Newslettery si můžete objednat na této stránce.

Jihokorejská společnost „Blockchain for Dog Nose Wrinkles“ zase podvodně připravila investory o 127 milionů dolarů – nabízela totiž aplikaci blockchain na identifikaci psů prostřednictvím jejich nosních vrásek (či záhyb) a slibovala až 150% návratnost během 100 dní – šlo však o typické Ponziho schéma.

Další Ponziho schéma s kryptoměnou – The Solar Techno Alliance – rozbily v Indii. Šlo o podvod ve výši 120 milionů dolarů. Dalšími podvodnými investičními schématy byly například CoinDeal (ztráty investorů 45 milionů dolarů) či Fintoch (31 milionů dolarů).

bitcoin_smenarna

Podle Viliuse Kardelise ze společnosti Atlas VPN zůstává hlavní překážkou při potírání těchto podvodů nízké povědomí uživatelů o bezpečnosti a jejich zvýšená důvěřivost.

Zákonodárci podle něj musejí převzít odpovědnost a nastavit prostředí, které bude lépe předcházet podvodům. Stejně tak je ale nezbytné více vzdělávat uživatele.

 

Securitytrends si můžete koupit i jako klasický časopis, buď v klasické tištěné formě nebo v elektronické verzi. Věnujeme se bezpečnosti počítačových systémů, ochraně dat, informací a soukromí.  Jsme jediný titul na českém a slovenském trhu, který oslovuje širokou čtenářskou obec – od ředitelů firem, přes odborníky na bezpečnost po koncové uživatele. Naším cílem je poskytnout ucelený přehled o bezpečnostních hrozbách a zejména o tom, proč a jak se jim bránit, případně proč respektovat a dodržovat nařízení IT manažerů ve firmách.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »