• Nenhum resultado encontrado

Capítulo 5 Conclusão e Trabalho Futuro

5.1 Conclusão

Neste trabalho propusemos constituir uma framework para suportar uma ideia, na qual reconhecemos bastante valor, face à realidade que o mercado nos apresenta. De facto uma ferramenta capaz de facilitar a tarefa de um analista de segurança apresenta muito potencial, já que reduz a carga que é colocada sobre o analista, libertando-o para que possa desempenhar outras tarefas de criticidade elevada.

O sistema que desenvolvemos tira partido das redes sociais para extrair informação que pode, eventualmente, levar um analista a detectar ameaças e a prevenir e mitigar as capacidades das mesmas. Para esse efeito criámos uma ferramenta que extrai dados do Twitter, refina-os com base numa técnica de aprendizagem de máquinas supervisionada (a abordagem da nossa prova de conceito é bastante simplista), em que o mecanismo de

feedback provém de informação fornecida pelo utilizador e envia-os para o SIEM

ArcSight, para que possam ser analisados.

Face ao objectivo inicial, não só constituímos uma prova de conceito que demonstra a aplicabilidade da solução proposta e desenvolvida, como criámos um trabalho que consideramos percursor e passível de melhoria no futuro, estabelecendo uma base daquilo que vai sendo cada vez mais fundamental na área da analítica de segurança. Apesar de simplistas, as nossas técnicas representam um acréscimo de valor às actividades que a ferramenta poderá suportar, e são simbólicas do potencial que pode ter um trabalho subsequente com foco na parte da nossa ferramenta associada a reduzir e refinar os conjuntos de dados em análise.

Para além do esforço de investigação que nos levou até este ponto (e a reconhecer uma forma de colmatar a necessidade identificada), desenvolvemos e testámos, com resultados positivos, um protótipo com uma utilização que pode ter grande utilidade para os clientes da própria empresa em que o estágio se insere.

5.2 Discussão

Tendo todo o trabalho de revisão do comportamento da ferramenta sido manual, pudemos observar alguns aspectos específicos da análise que não transparecem através

52

da estatística. Um desses factos prende-se com mais de 70% dos resultados úteis presentes no conjunto pós-refinamento estarem contidos nos cerca de 50% de resultados com maior pontuação do conjunto (ou seja, são os primeiros “da lista”).

Não desconsideramos a relevância que poderá ter a informação que é perdida pela ferramenta após a actividade de refinamento. Em centenas de tweets podem estar as evidências mais claras de ameaças a uma organização, no entanto, trata-se de um compromisso que deve ser entendido como um risco e cabe a cada um adequá-lo ao seu nível de confiança. Note-se que o valor de 5% de informação extraída dos conjuntos não- refinados foi definido com base em observação empírica de que nesse subconjunto estaria a maior parte da informação útil.

O mecanismo de pontuação baseado em feedback do utilizador (analista, neste caso) apresenta um resultado positivo. No entanto, podemos especular sobre uma utilização a longo prazo em que o conteúdo da lista da votação (lista de palavras-chave que vão ganhando relevância consoante a votação do utilizador) vai crescendo e sendo aprumado. Aqui podem surgir vários cenários díspares: não só esta lista pode crescer exponencialmente e a carga de processamento ser tão elevada que a ferramenta acaba por ser impossibilitada de produzir resultados em tempo útil; mas também, na ausência de um mecanismo de purga de informação irrelevante, o conteúdo da mesma poderá tornar-se repetitivo ou comportar elementos que não acrescentam valor, ou até, deterioram a capacidade analítica da ferramenta (suponha-se o caso de ganharem relevância excessiva palavras que, por serem comuns na própria língua, aparecem muitas vezes em publicações de utilizadores). Neste aspecto, apontamos o mecanismo de refinamento como merecedor de especial atenção, quer através da adição de um mecanismo de purga, ou que retire valor/pontuação/importância a palavras-chave irrelevantes no âmbito em caso, ou da introdução de métodos mais complexos de refinamento de texto “útil”.

Ainda quanto ao volume de dados produzido devemos salientar que, apesar da significativa redução do conjunto de informação que a ferramenta foi capaz de realizar, não podemos descartar o facto de vários milhares de frases/parágrafos serem de difícil análise, mesmo para um analista experiente. Aqui achamos ser essencial, ainda no âmbito da plataforma, a utilização de técnicas de visualização que sejam capazes de apresentar dados textuais (associados a comunicação de pessoas) de forma útil e comfortável para um analista, algo não suportado pelas plataformas SIEM actualmente em uso.

5.3 Experiência

O trabalho que aqui se apresenta foi desenvolvido em simultâneo com outras actividades levadas a cabo pelo aluno na Unisys, de manutenção e implementação da

53

plataforma ArcSight, desenvolvimento de conteúdos para a mesma e realização de auditorias de segurança. Especificamente ao desenvolvimento do trabalho foi alocado cerca de 40% do tempo do aluno na empresa.

O processo de estágio curricular apresentou uma série de benefícios para o trabalho aqui apresentado, tendo-se, graças a ele, e à colaboração da Unisys, ganho uma melhor compreensão do estado-de-coisas na área do SIEM e da segurança informática em geral.

A participação activa dos restantes colegas da empresa, a convivência com os clientes e o acesso a equipamento actual para condução da avaliação da ferramenta facilitaram bastante o trabalho. Para além do trabalho desenvolvido, as actividades desempenhadas pelo aluno passaram, essencialmente, pela implementação, gestão e manutenção da plataforma ArcSight em 3 clientes de diferentes sectores (projectos que foram construídos de raiz e que contemplaram vários esforços de integração). Adicionalmente o aluno esteve envolvido num projecto internacional com uma grande empresa do sector dos serviços financeiros, desenvolvendo conteúdo para utilização por parte de um SOC.

5.4 Trabalho Futuro

Acreditamos existirem 4 oportunidades de melhoria do trabalho aqui apresentado.

Em primeiro lugar, e sendo um dos pontos onde poderá existir grande margem de melhoria, colocamos a extracção de dados de mais fontes. Na prova de conceito apresentada, optámos por nos focar, essencialmente por limitações temporais e pela diversidade de componentes que a solução exigiu, na recolha de informação da rede social Twitter. No entanto, a recolha pode (e acreditamos que deve) ser alargada a qualquer canal de informação OSINT que possa ser transformado em fluxos de informação textual, quer se trate de fóruns, abertos ou “fechados” (muitos fóruns exigem registo de conta para visualização de conteúdo), outras redes sociais e até meios mais esotéricos (do ponto de vista do processamento de informação textual) como chamadas telefónicas (por exemplo, dentro do perímetro da organização, para detectar fugas de informação) ou SMSs. Esta adição de fontes vai não só substanciar os conjuntos de informação disponível para análise, dando maior visibilidade sobre o cômputo geral da informação em circulação, como também possibilitar o cruzamento da informação disponível de fontes distintas e enriquecer a análise da(s) ameaça(s) em causa.

Em segundo lugar, e ocupando uma posição central na nossa framework, passível de significativa melhoria, observamos o nosso instrumento de refinamento de dados. Aqui parece-nos evidente que existe margem para que o mecanismo de votação seja refinado

54

de forma a colmatar os problemas revelados na conclusão do trabalho. O objectivo principal deste componente era o de criar algo que fosse capaz de, seguindo orientações de um analista de segurança de um SOC, pré-calcular a informação que este poderá entender como sendo relevante e descartar o restante conteúdo. Problemas como a degradação do desempenho da análise com o aumento da intervenção do analista e a possibilidade de se danificar a análise devido ao método simplista utilizado (no caso de não existirem medidas de prevenção desse facto) levam-nos a considerar outros processos de refinamento de conjuntos de dados.

Sobre esse mesmo tema surgem abordagens muito interessantes e, neste momento, estamos a considerar um complemento ao método da solução, recorrendo a mecanismos de análise de agrupamentos [59]. O uso desses mecanismos pode facilitar ao utilizador a detecção de situações anómalas ou inesperadas, através do agrupamento, por exemplo, de publicações com algum indicador de relevância (que representem risco potencial de ameaça), em conjuntos similares. Isto é algo que pode ser muito interessante na detecção e resposta a ameaças de hacktivismo que tentem dispersar informação e reunir apoiantes através das redes sociais, ou mesmo na prevenção de dispersões de malware (através de alertas propagados/publicados nas redes sociais e que se tornam quase “virais”, como foi o caso do Rombertik [61], aquando da avaliação da ferramenta).

Ainda quanto a abordagens de aprendizagem automática, estamos a planear uma segunda rota de melhoria da solução, contemplando uma tentativa de association analysis (análise de associações), mais concretamente, association rule mining [60] (extracção de regras de associação), para possibilitar a descoberta de padrões de correlação entre os dados analisados que possam ser indicativos de actividade maliciosa.

Um ponto também muito relevante é o da visualização da informação textual recolhida. Métodos eficazes de transmitir conhecimento ao analista, através de técnicas de visualização de dados, especificamente textuais e de comunicação interpessoal, são escassos no âmbito das plataformas SIEM, por isso acreditamos estar aqui um ponto merecedor de atenção num trabalho futuro.

Finalmente o terceiro principal ponto de melhoria da nossa solução prende-se com a integração da solução com plataformas SIEM, ou o tradutor (wrapper), como denominado na definição da arquitectura. Aqui as melhorias são de menor complexidade e bastante mais orientadas a possibilitar o funcionamento com outro tipo de SIEMs. Reconhecemos a importância, ainda que não ao nível da dos restantes pontos, de tornar esta ferramenta o mais aberta e multiplataforma possível, para facilitar a sua utilização em ambientes reais, diversos.

55

Glossário

API

Application Programming Interface – conjunto de ferramentas para auxiliar os

desenvolvedores de software na criação de aplicações

arcOSI

Software open-source para extracção de dados de fontes abertas e transporte para o

ArcSight

ArcSight

Solução de SIEM empresarial, desenvolvida e mantida pela empresa Hewllet-Packard

Big Data

Termo que representa recolha de dados (e possivelmente análise e extracção de informação) de grandes conjuntos, tão volumosos, que geralmente requerem técnicas especializadas para serem manuseados

Business Intelligence

Conjunto de técnicas para transformar dados do negócio em informação (e conhecimento) relevante à actividade de uma organização, potenciando a tomada de decisões informada e omnisciente (em aspectos do negócio)

CEF

Common Event Format – o formato através do qual o ArcSight processa os eventos/dados dentro do sistema

Commercial Intelligence

Informação de fontes abertas e/ou obtida através de meios legítimos e que pode revelar dados comerciais de grande relevância que contribuam positivamente para auxiliar uma

56

organização a atingir os seus objectivos. Pode ser dividida em Business Intelligence, e Competitor/Competitive Intelligence

Competitor/Competitive Intelligence

Conjunto de actividades associadas à recolha e utilização de informação em produtos, clientes ou competidores

CRM

Customer Relationship Management – sistema (ou conjunto de sistemas) para gestão das interacções de uma organização com os seus clientes

Extracção de Informação

Processo de descoberta de padrões, detecção de informação estratégica e derivação de conhecimento a partir de dados contidos em conjuntos muito grandes

Firewall

Dispositivo para mediar e controlar o acesso a recursos de informação, interpondo-se entre a máquina/dispositivo que pretende obter acesso a um determinado recurso e o próprio recurso

Hacktivist

Um utilizador mal-intencionado que procura corromper, comprometer, atacar ou destruir activos de informação, pertencentes a uma empresa ou organização, motivado por crenças ou razões políticas

IAM

Identitity and Access Management – paradigma e conjunto de ferramentas/produtos para a gestão de identidades de conjuntos de utilizadores de sistemas, e que pode controlar/mediar processos de autenticação e autorização em sistemas ou aplicações

57

IDS

Intrusion Detection System – dispositivo que monitoriza redes e/ou sistemas, em busca de evidências de comprometimento ou actividade maliciosa, e que pode ter capacidades de despoletar alertas ou acções correctivas

Aprendizagem de máquinas

Área da inteligência artificial que estuda técnicas que permitam aos computadores desenvolver capacidades de aprendizagem e dedução de informação

Processamento de Linguagem Natural

O estudo e técnicas associadas à compreensão da linguagem humana, com capacidades para inferência/dedução de significado ou intenção (entre outras)

Open-Source

Condição daquilo que é aberto, gratuito e de livre uso por qualquer individuo, em qualquer altura

OSCINT

O mesmo que OSINT

OSINT

Open-Source Intelligence – Informação aberta e livremente disponível, que flui em canais de livre acesso por parte de qualquer individuo

Script-Kiddy

Um individuo pouco instruído e pouco dotado que se serve de scripts ou programas desenvolvidos por terceiros para tentar atacar sistemas ou infra-estruturas

58

SEM

Security Event Management – conceito e conjunto de ferramentas que definem actividades associadas à recolha e armazenamento de informação de segurança, focado no armazenamento a longo prazo, para efeitos de facilitar a análise histórica

SIEM

Security Information and Event Management – conceito e conjunto de ferramentas que combinam as capacidades dos sistemas SIM e SEM

SIM

Security Information Management – conceito e conjunto de ferramentas que definem as actividades relacionadas com a recolha e processamento de informação de segurança, focado na disponibilização de dados em tempo-real

SOC

Security Operations Centre – centro para protecção, monitorização e controlo de activos de informação

Redes Sociais

Plataformas online para facilitar a comunicação entre indivíduos ou os seus “pseudónimos” virtuais. O termo é considerado no contexto da Internet

59

Bibliografia

[1] D. R. Miller, S. Harris, A. Harper, S. VanDyke e C. Blask, “Security Information and Event Management (SIEM) implementation,” D. R. Miller, Ed., McGraw-Hill, 2011, pp. XXV-XXXIV.

[2] L. Hewlett-Packard Development Company, “Life Cycle of an Event Through ESM,” em ESM 101, Concepts for ArcSight ESM 6.5c SP1, Hewlett-Packard Development Company, L.P., 2014, p. 27.

[3] E. J. Appel, Cybervetting: Internet Searches for Vetting, Investigations, and Open-Source Intelligence, Crc Press, 2014.

[4] S. L. Technology, SAIL LABS Technology :: ROSIDS.

[5] A. Williams, “The Future of SIEM--The market will begin to diverge,”

Retrieved, vol. 12, nº 1, p. 2011, 2007.

[6] M. Nicolett e K. M. Kavanagh, “Magic quadrant for security information and event management,” Gartner RAS Core Reasearch Note (May 2009), 2014. [7] X. Mertens, “SIEM-architecture,” 2007. [Online]. Available:

http://blog.rootshell.be/2007/06/22/you-said-siem/siem-architecture/.

[8] A. Miller, “ArcSight Architecture,” 2013. [Online]. Available: http://www.allymiller.info/blog/risk/2013/08/376/.

[9] L. Hewlett-Packard Development Company, “ESM Anatomy,” em ESM 101,

Concepts for ESM 6.0c with CORR-Engine, Hewlett-Packard Development

Company, L.P., 2014, pp. 19-30.

[10] L. Hewlett-Packard Development Company, “User's Guide. ArcSight Console,” Hewlett-Packard Development Company, L.P., 2014.

[11] R. D. Steele, The new craft of intelligence, OSS International Press, 2002.

[12] R. D. Steele, “The importance of open source intelligence to the military,”

International Journal of Intelligence and Counter Intelligence, vol. 8, nº 4, pp.

60

[13] R. D. Steele, “Open source intelligence: What is it? why is it important to the military,” American Intelligence Journal, vol. 17, nº 1, pp. 35-41, 1996.

[14] H. Bean, No More Secrets: Open Source Information and the Reshaping of US Intelligence: Open Source Information and the Reshaping of US Intelligence, ABC-CLIO, 2011.

[15] A. Olcott, Open source intelligence in a networked world, vol. 7, A&C Black, 2012.

[16] C. Fleisher, “OSINT: Its Implications for Business/Competitive Intelligence Analysis and Analysts,” Inteligencia y Seguridad, vol. 2008, nº 4, pp. 115-141, 2008.

[17] R. Gupta e H. Brooks, Using Social Media for Global Security, John Wiley & Sons, 2013.

[18] A. Al Hasib, “Threats of online social networks,” IJCSNS International

Journal of Computer Science and Network Security, vol. 9, nº 11, pp. 288-93, 2009.

[19] Michael, Some Open Source Intelligence Basics, 2012.

[20] J. M. Kleinberg, “Challenges in mining social network data: processes, privacy, and paradoxes,” em Proceedings of the 13th ACM SIGKDD international

conference on Knowledge discovery and data mining, 2007.

[21] M. Zuber, “A Survey of Data Mining Techniques for Social Network Analysis,” International Journal of Research in Computer Engineering \&

Electronics, vol. 3, nº 6, 2014.

[22] M. Atzmueller, “Data mining on social interaction networks,” arXiv preprint

arXiv:1312.6675, 2013.

[23] M. M. Rahman, “Mining Social Data to Extract Intellectual Knowledge,”

arXiv preprint arXiv:1209.5345, 2012.

[24] A. Amine, R. M. Hamou e M. Simonet, “Detecting Opinions in Tweets,”

International Journal of Data Mining and Emerging Technologies, vol. 3, nº 1, pp.

23-32, 2013.

[25] T. Wang e H. Zhu, “Voting for Deceptive Opinion Spam Detection,” arXiv

61

[26] S. Kampakis e A. Adamides, “Using Twitter to predict football outcomes,”

arXiv preprint arXiv:1411.1243, 2014.

[27] P. Domingos, “Mining social networks for viral marketing,” IEEE Intelligent

Systems, vol. 20, nº 1, pp. 80-82, 2005.

[28] L. Tabourier, A.-S. Libert e R. Lambiotte, “RankMerging: Learning-to-rank in large-scale social networks (extended),” CoRR, vol. abs/1407.2515, 2014.

[29] W. Magdy, H. Sajjad, T. El-Ganainy e F. Sebastiani, “Bridging Social Media via Distant Supervision,” CoRR, vol. abs/1503.04424, 2015.

[30] C. Fang, H. Jin, J. Yang e Z. L. Lin, “Collaborative Feature Learning from Social Media,” CoRR, vol. abs/1502.01423, 2015.

[31] Nimble, “CRM,” Nimble, Inc, 2015. [Online]. Available: http://www.nimble.com/.

[32] Salesforce, “CRM,” Salesforce.com, 2015. [Online]. Available: http://www.salesforce.com.

[33] Zoho, “CRM,” Zoho, Inc, 2015. [Online]. Available: https://www.zoho.com/. [34] I. Salesforce.com, “Getting Started with Social Customer Service,” 2015.

[Online]. Available:

https://help.salesforce.com/help/pdfs/en/social_customer_service_impl_guide.pdf .

[35] R. Jurdak, A. Elfes, B. Kusy, A. Tews, W. Hu, E. Hernández, N. Kottege e P. Sikka, “Autonomous surveillance for biosecurity,” CoRR, vol. abs/1503.01173, 2015.

[36] J. N. Matias, A. Johnson, W. E. Boesel, B. Keegan, J. Friedman e C. DeTar, “Reporting, Reviewing, and Responding to Harassment on Twitter,” CoRR, vol. abs/1505.03359, 2015.

[37] W. Gharibi e M. Shaabi, “Cyber threats in social networking websites,”

CoRR, vol. abs/1202.2420, 2012.

[38] A. Guille e C. Favre, “Event detection, tracking, and visualization in Twitter: a mention-anomaly-based,” Social Netw. Analys. Mining, vol. 5, nº 1, pp. 18:1-- 18:18, 2015.

62

[39] B. A. Miller, M. S. Beard e N. T. Bliss, “Eigenspace analysis for threat detection in social networks,” em Proceedings of the 14th International

Conference on Information Fusion,, 2011.

[40] S. Dilek, H. Çakir e M. Aydin, “Applications of Artificial Intelligence Techniques to Combating Cyber,” CoRR, vol. abs/1502.03552, 2015.

[41] A. R. Zope, A. Vidhate e N. Harale, “Data minding approach in security information and event management,” J. Future Comput. Commun, 2013.

[42] P. a. D. G. Maciolek, “{CLUO:} Web-Scale Text Mining System for Open Source Intelligence Purposes,” Computer Science {(AGH)}, vol. 14, nº 1, pp. 45- 62, 2013.

[43] I. M. De Santos e A. M. Vega, “Las fuentes abiertas de información. Un sistema de competencia perfecta,” Inteligencia y seguridad: Revista de an{\'a}lisis

y prospectiva, nº 8, pp. 91-112, 2010.

[44] M. Karaman e H. Çatalkaya, “Institutional Cybersecurity: A Case Study of Open Source Intelligence and Social Networks”.

[45] D. Gritzalis, “Open-Source Intelligence produced from Social Media: A proactive cyber defense tool,” 2014.

[46] I. McAfee, “McAfee ZeroFOX Solution Brief,” 2015. [Online]. Available: https://www.zerofox.com/wp-content/uploads/z/McAfeeZF-Integrations-

Brief.pdf.

[47] I. ThreatConnect, “ThreatConnect,” 2015. [Online]. Available: http://www.threatconnect.com/news/hiding-in-the-clouds/.

[48] I. Cyveillance, “Cyveillance,” [Online]. Available: https://www.cyveillance.com/.

[49] I. Soteria, “Soteria,” 2015. [Online]. Available: http://www.soteriaintelligence.com/social-media-threats/.

[50] G. Martin, “ArcOSI,” 2011. [Online]. Available: https://code.google.com/p/arcosi/.

[51] Unknown, “Collective Intelligence Framework,” 2014. [Online]. Available: https://code.google.com/p/arcosi/.

63

[52] A. M. Swanda, “ArcReactor,” [Online]. Available: http://deadbits.org/projects/arcreactor/.

[53] I. ThreatStream, “ThreatStream OPTIC,” 2015. [Online]. Available: https://www.threatstream.com/platform/threatstream-integrator.

[54] Elastic, “ElasticSearch Docs,” 2015. [Online]. Available: https://www.elastic.co/guide/index.html.

[55] X. Mertens, “tweetsniff,” GitHub, 2015. [Online]. Available: https://github.com/xme/tweetsniff.

[56] HumanGeo, “rawes - Low level elasticsearch driver for Python,” [Online]. Available: https://github.com/humangeo/rawes.

[57] PyInstaller, “PyInstaller - PyInstaller official GIT repository,” [Online]. Available: https://github.com/pyinstaller/pyinstaller.

[58] M. Mohri, A. Rostamizadeh e A. Talwalkar, Foundations of machine learning, T. Dietterich, Ed., The MIT Press, 2012.

[59] H. Debar, M. Dacier e A. Wespi, “Towards a taxonomy of intrusion-detection systems,” Computer Networks, vol. 31, nº 8, pp. 805-822, 1999.

[60] H. Jiawei e M. Kamber, “Data mining: concepts and techniques,” San

Francisco, CA, itd: Morgan Kaufmann, vol. 5, 2001.

[61] J. Kirk, “This terrifying malware destroys your PC if detected,” 5 5 2015. [Online]. Available: http://www.pcworld.com/article/2918632/rombertik- malware-destroys-computers-if-detected.html.

[62] T. Pang-Ning, M. Steinbach, V. Kumar e others, “Introduction to data mining,” em Library of Congress, 2006.

65

Anexos

Anexo A – tweetsniff.py

import argparse import errno import ConfigParser import json import logging import logging.handlers import os import re import signal import sys import time try: import twitter except:

print "[ERROR]: python-twitter is required. See https://github.com/bear/python-twitter"

try:

import syslog except:

print "[INFO]: No Syslog support, logging to console" from datetime import datetime

from dateutil import parser from dateutil import tz

from elasticsearch import Elasticsearch from termcolor import colored

api = None logger = None # Default configuration config = { 'statusFile': '/var/run/tweetsniff.status', 'esServer': '', 'keywords': '', 'regex': '', 'highlightColor': 'red', 'keywordColor': 'blue', 'cefServer': '', 'cefPort': '' } def sigHandler(s, f):

"""Cleanup once CTRL-C is received"""

print "Killed." sys.exit(0)

66

"""Output a message to the console/Syslog depending on the host"""

if os.name == "posix": syslog.openlog(logoption=syslog.LOG_PID,facility=syslog.LOG_MAIL) syslog.syslog(msg) else: print msg return def writeCEFEvent(tweet):

"""Send a CEF event to a Syslog destination"""

# print "[Debug]: Writing CEF: %s" % tweet

cefmsg = ' CEF:0|blog.rootshell.be|tweetsniff|1.0|TwitterMsg|Received Twitter Message|0|cs1Label=TweetHandle cs1=%s cs2Label=TweetTime cs2=%s msg=%s' % (tweet.user.screen_name, tweet.created_at, tweet.text)

logger.info(cefmsg) return

def time2Local(s):

"""Convert a 'created_at' date (UTC) to local time"""

if not s:

utc = datetime.utcnow() else:

utc = datetime.strptime(parser.parse(s).strftime('%Y-%m-%d %H:%M:%S'), '%Y- %m-%d %H:%M:%S') from_zone = tz.tzutc() to_zone = tz.tzlocal() utc = utc.replace(tzinfo=from_zone) return(utc.astimezone(to_zone)) def indexEs(tweet):

"""Index a new Tweet in Elasticsearch"""

doc = tweet.AsDict()

# Delete 'retweeted_status' - to be fixed later if 'retweeted_status' in doc:

del doc['retweeted_status'] # Delete 'urls' - to be fixed later? if 'urls' in doc:

del doc['urls']

# To fix: support different timezones? (+00:00 try:

doc['@timestamp'] = parser.parse(doc['created_at']).strftime("%Y-%m-

No documento Open-source intelligence em sistemas SIEM (páginas 69-95)

Documentos relacionados