Odhalte interní hrozby hned v počátku

11. 12. 2016

Sdílet

Autor: © badmanproduction - Fotolia.com
Interní hrozby představují velmi časté riziko, před kterým jsou bezpečnostní profesionálové neustále varovaní. Podle expertů potřebujeme software nové generace, integrovanou inteligenci pro odhalování hrozeb a schopnost najít vzájemné souvislosti mezi velkým množstvím událostí z protokolů a kontextem. Jak by tedy mohla vypadat výzbroj proti těmto hrozbám?

Odborníci jsou přesvědčeni, že pokročilé nástroje jsou pro blokování útoků a zotavení z nich, pokud by byly úspěšné, nezbytné. Bohužel když firmy zjistí, že došlo k jejich kompromitaci, velmi často se dozvědí i to, že jejich systémy byly napadené už delší dobu.

„Interní hrozby mohou zahrnovat kombinaci zločinců z řad vlastního personálu, nevědomých kompromitovaných zaměstnanců a nedbalých pracovníků,“ vysvětluje Wade Williamson, ředitel produktového marketingu ve společnosti Vectra Networks.

„K identifikaci všech těchto hrozeb budete potřebovat speciální řešení, které se ale liší v chování i ve způsobech, jak může rizika v zabezpečení odhalit.“

Sesbírali jsme rady od několika bezpečnostních expertů, kteří se zaměřují právě na pomoc firmám odhalit interní útok v co nejranější fázi.

 

Tip 1: Hledejte ve svých DNS přenosech neobvyklé vzory

„DNS je často opomíjenou vrstvou,“ tvrdí Arno Meulenkamp, systémový inženýr společnosti Infoblox. „Lze ji používat jako cestu pro únik dat. Neobvyklé vzory v DNS provozu, jako jsou například změti dat, mohou signalizovat, že se děje něco nekalého.“

 

Tip 2: Kontrolujte, zda protokoly neobsahují informace o autentizacích hostitel-hostitel

„Pokud vidíte, že se někdo autentizuje vůči hostiteli z jiného hostitele, zatímco ten cílový se obvykle autentizuje pomocí řadiče domény, můžete mít problém,“ varuje Yonathan Klijnsma, hlavní analytik pro inteligenci zaměřenou na hrozby ve společnosti Fox-IT.

„V této souvislosti je důležité znát nástroje, které útočníci používají – například PSExec (a jeho varianty) nebo Mimikatz –, a hledat provoz odpovídající těmto nástrojům.

Je běžné, že takovéto nástroje jsou používané právě prostřednictvím komunikace mezi hostiteli (host-to-host) pro laterální pohyb – k přechodu mezi počítači se systémem Windows zapojenými v síti.“

 

Tip 3: Kontrolujte, zda na webu nenajdete vystavené přihlašovací údaje zaměstnanců

„Monitorujte weby, jako je například Pastebin, zda se na nich nevyskytnou přihlašovací údaje vašich zaměstnanců,“ radí Nagraj Seshadri, viceprezident marketingu společnosti Recorded Future.

„Pokud došlo ke zneužití přihlašovacích údajů uniklých na web, možná máte uvnitř firmy záškodníka, a přitom zaměstnanec, kterému dané přihlašovací údaje patří, nemusí o ničem vědět. Zareagujte změnou hesel a zvažte zavedení dvoufaktorové autentizace.“

 

Tip 4: Sledujte datové toky týkající se klíčových aktiv.

„Záškodník z řad zaměstnanců bude často krást velké objemy dat během krátkého časového období. Shromažďování velkých objemů dat lze snadno zjistit monitorováním interního majetku,“ dodává Williamson ze společnosti Vectra Networks.

„Sledováním interních přenosů mohou týmy rychle zjistit, zda dochází k tunelování dat ze sítě nebo jestli se data přenášejí na více zařízení kvůli jejich následné krádeži.“

 

Tip 5: Mapujte vícenásobná přihlašování počítačů do cloudových služeb úložišť

„Hledejte uživatele, kteří se přihlašují k různým počítačům ze stejného účtu, přistupují k velkým datovým úložištím a synchronizují svá data s cloudovými službami úložišť, jako je například Dropbox,“ radí Itsik Mantin, ředitel výzkumu zabezpečení ve společnosti Imperva.

„Interní záškodník totiž může využít vyzrazené přihlašovací údaje uživatele pro přístup k uživatelským účtům Dropboxu – takové odesílání dat pak může vypadat jako běžné firemní využití služeb.“

 

Tip 6: Používejte falešné přihlašovací údaje a soubory jako návnady

„Vnitřní zloduch se bude pohybovat v síti, vyhledávat nové přihlašovací údaje a používat svá nově získaná privilegia pro přístup k datům,“ prohlašuje Haroon Meer, zakladatel a výzkumník společnosti Thinkst.

„Použití falešných přihlašovacích údajů a falešných souborů jako návnad umožňuje vidět, když se tyto přihlašovací údaje začnou používat (a nikdy by k tomu vlastně dojít nemělo).“

 

Tip 7: Hledejte věci, které již neexistují

„Záškodníci z řad zaměstnanců se často snaží zakrýt své stopy – podobně jako malware, který  se pokouší si zajistit dlouhodobě neodhalenou existenci pomocí mazání mnoha kompromitujících věcí,“ prohlašuje Fabien Perigaud, bezpečnostní expert divize Airbus Defence and Space – CyberSecurity.

„Hledejte klíče registru, služby a objekty, ke kterým někdo přistupoval, v minulosti je používal, ale nyní již v počítači neexistují. Mohly by být neklamnou známkou výskytu záškodníka.“

 

Tip 8: Mapujte protokoly autentizace koncového bodu pomocí protokolů Active Directory

„Pokud uživatel dříve využíval jen tři až čtyři zařízení v síti, ale nyní se za krátký čas tento počet výrazně zvýšil, je možné, že máte problém s vnitřním zloduchem,“ vysvětluje Mark Schloesser, výzkumník zabezpečení ze společnosti Rapid7.

„Je nutné hledat souvislosti mezi protokoly z Active Directory (AD) a protokoly z koncových bodů, protože obsahují události lokální autentizace účtu, které nejsou pro AD viditelné.“

 

Tip 9: Vyhledejte první instanci události

„Hledejte první výskyt vykonávané aktivity,“ doporučuje Johan den Hartog, technik společnosti Tenable Network Security. „Pokud taková aktivita dříve neexistovala, mohlo by to ukazovat na začátek útoku interního záškodníka a je třeba to vyprofilovat.

Například společnosti HSBC a Sabre zažily případy, kdy došlo k vytvoření stínových zaměstnanců pomocí aliasů a nové aktivity byly vykonávané právě pod těmito aliasy.“

 

Tip 10: Identifikujte použití nástrojů stínových IT

„V naší nedávné zprávě o používání aplikací a hrozbách jsme uvedli, že více než 4 400 organizací zažilo současné používání pěti a více unikátních aplikací pro vzdálený přístup. Očekávatelné množství je ale jedna nebo dvě, rozhodně ale ne pět,“ popisuje Greg Day, viceprezident a ředitel zabezpečení pro oblast EMEA ve společnosti Palo Alto Networks.

„Přestože může jít o záměrné využívání, může nasazení těchto nástrojů v konečném důsledku vést k nepředvídatelným následkům.“

 

 Tip 11: Před smazáním malwaru jej analyzujte

„Protože je udržení provozu hlavní prioritou, vytvořily si společnosti zvyk okamžitě při identifikaci malwaru obnovit infikované systémy z bitových kopií, aby mohly opět hned fungovat,“ popisuje Ralph Pisani, výkonný viceprezident provozu společnosti Exabeam.

„Malware je příznakem, že se děje něco špatného, takže by firmy neměly tuto důležitou stopu tak rychle eliminovat – mohla by totiž jim pomoci pochopit smrtící kybernetickou posloupnost.

Malware totiž často nepředstavuje konec, ale naopak začátek problému. Je velmi důležité vědět, co uživatelé udělali předtím, než došlo k detekci malwaru, a také co se dělo po infekci.“

docker + kubernetes školení s dotací tip

 

Tento příspěvek vyšel v Security Worldu 1/2016. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.

'; 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 »