Jde byznys internetových zločinců do kopru? Oběti jsou méně ochotné platit

24. 1. 2023

Sdílet

Autor: © Yuri Arcurs - Fotolia.com
Výkupné platí už jen asi čtyřicet procent obětí ransomwaru. O stejné procento klesly příjmy kyberkriminálníků.

Kyberkriminálním gangům klesají příjmy. Dle společnosti Chainalysis si loni nekalé živly přišly na 457 milionů dolarů, o 311 milionů či 40 % méně než v roce předchozím. Důvod je přitom prostý: oběti nejrůznějšího ransmowaru a dalších podvodů jsou totiž méně ochotné platit. 

Využívají vaši zaměstnanci pokročilou datovou analytiku?

Na druhou stranu, počty případů kybeútoků rostou. A stále platí, že jejich nejčastějšími oběťmi jsou firmy, vlády, vzdělávací instituce nebo třeba nemocnice, jimž jsou útočníci schopni zablokovat jejich systémy, dokud nezaplatí tzv. výkupně, zpravidla ve formě bitcoinů.

Zveřejněná čísla jsou ale značně podhodnocená – Chainanalysis sleduje pouze peníze proudící skrz digitální peněženky, o nichž s jistotou ví, že patří kriminálním skupinám a mnohé další jim unikají. 

Trend poklesu příjmů je však i přesto zjevný. Pro BBC ho potvrzuje i Bill Siegel ze společnosti Coveware, který svým klientům pomáhá s útočníky vyjednávat. Zatímco ještě v roce 2020 výkupné nakonec zaplatilo 70 % jeho klientů, loni jich už bylo jen 41 %.

Jak poznáte, že už s tím máte seknout Přečtěte si také:

Jak poznáte, že už s tím máte seknout

Roli může hrát i skutečnost, že množství hackerských skupin sídlí v Rusku, přičemž v době platnosti mnoha protiruských sankcí uvalených západními zeměmi, může být zaplacení takového výkupného teoreticky nezákonné. 

„Pokud existuje byť jen náznak, že platba by šla na vrub sankcionované entity, tak výkupné neplatíme,“ podotýká Siegel. Roli však dle něj hraje i to, že lidé jsou vůči rizikům všímavější a řada firem tak přijímá striktnější bezpečnostní opatření.

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.

„Firmy si svá data lépe chrání a zálohují je, čímž snižují riziko, že by musely platit výkupné,“ říká Brett Callow ze společnosti Emsisoft. „Ale také tím, že ransomware útoky jsou dnes už celkem běžnou záležitostí, nepředstavují pro firmy takovou PR pohromu jako dřív, což je další z faktorů přispívajících jejich neochotě platit.“

bitcoin_smenarna

I přes výrazně nižší sumu zaplaceného výkupného počet kyberútoků v loňském roce dramaticky vzrostl. Jen v první půli roku objevila kyberbezpečnostní společnost Fortinet víc než deset tisíc druhů rozličného škodlivého softwaru. 

Zčásti je to nejspíš zapříčiněno i vládními zásahy proti velkým kyberkriminálním gangům, nicméně data ukazují na to, že ač poklesl počet velkých útoků (cílících na velké firmy s velkým výkupným), těch menších ve snaze hackerů rozšířit své portfolio naopak přibývá. Na pozoru by se tak před nimi měly mít i menší či středně velké podniky.

 

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 »