Páginas

26 de ago de 2016

Conheça 3 cursos grátis para começar a explorar machine learning - IDG Now!

Conheça 3 cursos grátis para começar a explorar machine learning - IDG Now!



A inteligência artificial assumiu status de vetor das grandes transformações previstas para a próxima década. A lista de tecnologias emergentes divulgada recentemente pelo Gartner reforça que os algoritmos de aprendizado de máquina terão papel fundamental no sucesso das organizações digitais. 
“Estamos mergulhando em uma nova era da informação e da computação. É um novo mundo com habilidade de compreender o ambiente e as pessoas, provendo conclusões realmente significativas... uma forma diferente de usar tecnologia”, pronunciou Steve Ballmer, pouco depois de deixar o comando da Microsoft. 
É importante aproveitar que essa onde ainda encontra-se em estágio de formação para encontrar a melhor maneira de surfa-la. Pensando nisso, separamos três cursos online e gratuitos sobre machine learning para ajudá-lo a seguir nessa jornada.
A ideia aqui é aprender fazendo. O plano de aula ensina o processo de investigação de dados através do aprendizado de máquina. Pelo programa, é possível utilizar e avaliar os algoritmos, identificar casos de uso do conceito e entender como resolver problemas do mundo real.
A Aprendizagem Automática é a ciência que faz com que os computadores exerçam seu papel de forma natural sem que pareçam explicitamente programados para tal. Na última década, essa disciplina ajudou no desenvolvimento de carros autônomos e compreensão do genoma humano. Atualmente, está tão difundida, que você provavelmente a utiliza várias vezes ao dia sem que perceba. 
Este curso mostrará técnicas mais eficazes de aprendizagem automática, colocá-las em prática e ver como adequar essas técnicas para suas necessidades. O mais importante é que você não aprenderá apenas na teoria e sim terá o conhecimento prático necessário para aplicar o que aprender de forma rápida e exitosa e solucionar os problemas em seus projetos.
A ideia é ensinar princípios fundamentais de aprendizado de máquinas e a importância dos algoritmos dentro desse conceito. Esse curso dará noções básicas para compreender e pensar aplicações para o conceito usando análises preditivas. O programa contempla desde temas abrangentes até exemplos práticos de uso de machine learning em indústrias específicas, como o setor de saúde, por exemplo.

25 de ago de 2016

11 ferramentas abertas para machine learning que vão facilitar sua vida - IDG Now!

11 ferramentas abertas para machine learning que vão facilitar sua vida - IDG Now!



Filtros de spam, reconhecimento facial, motores de recomendação. Quando se tem um grande volume de dados capazes de alimentar sistemas preditivos ou reconhecer padrões, usar esse recurso em projetos de aprendizado de máquinas (machine learning) pode ser um ótimo caminho a seguir. 

Essa ciência, no qual os computadores são treinados a aprender, analisar e agir sobre registros ganha cada vez mais relevância no mercado, especialmente dentro do mundo acadêmico e em círculos de programadores de alta performance.
O aumento da popularidade vem à reboque não só do barateamento de hardware, mas da proliferação de software livre que exploram recursos direcionados ao machine learning. A seguir, apresentamos 11 ferramentas capazes de fornecer funcionalidades tanto para aplicativos individuais quanto para estruturas inteiras. Confira. 


Scikit-learn  

Python se transformou em uma ótima linguagem de programação com recursos de matemática, ciências e estatística devido a sua facilidade de adoção e amplitude de bibliotecas disponíveis, que permite que seja usado para criação de praticamente qualquer aplicação. Os níveis de aprendizagem do Schikit possibilitam construir soluções sobre pacotes existentes em Python – como NumPy, SciPy e matplotlib. 
As bibliotecas resultados podem ser usadas para aplicações interativas em uma “bancada de trabalho” ou serem incorporadas em outros softwares, com reutilização. O kit está disponível por meio de uma licença BSD, totalmente aberta e reutilizável. 
Projeto: scikit-learn 
GitHub: https://github.com/scikit-learn/scikit-learn


Shogun 
Entre as mais antigas e veneráveis bibliotecas de aprendizado de máquina está o Shogun, que nasceu em 1999 escrito em C++, mas que já não se limita apenas a trabalhar em C++ . Graças à biblioteca SWIG, a ferramenta pode ser usada de forma transparente em linguagens e ambientes como Java, Python, C#, Ruby, R, Lua, Octave e Matlab. 
O Shogun tem um concorrente também em C++, a biblioteca baseada em machine learning, Mlpack, que ganhou espaço a partir de 2011 e que traz vantagens de ser mais rápida e fácil de trabalhar (pois carrega um conjunto mais integral de APIs) frente a seus competidores.
Projeto: Shogun 
GitHub: https://github.com/shogun-toolbox/shogun


Accord Framework/AForge.net 
O Accord, um framework para aprendizado de máquinas e processamento de sinais em .Net é uma extensão de um projeto prévio com o mesmo intuito, o AForge.net. A propósito, “signal processing” se refere a uma gama de algoritmos de aprendizado de máquinas para imagens e áudio que pode ser aplicado para questões como reconhecimento facial, por exemplo. 
GitHub: https://github.com/accord-net/framework/

Mahout 
Trata-se de um framework alinhado ao Hadoop, mas muitos dos algoritmos sob o seu guarda-chuva pode também rodar fora disso. É bastante útil para aplicações stand-alone e, eventualmente, pode ser migrado dentro e para projetos em Hadoop. 
Projeto: Mahout 


MLlib 
Própria biblioteca de aprendizado de máquina do Apache para Spark e Hadoop, o MLlib possui uma gama de algoritmos comuns e tipos de dados úteis destinados a funcionar em grande velocidade e escala. Como seria de esperar com qualquer projeto Hadoop, Java é a linguagem primária para trabalhar na ferramenta, mas os usuários podem se conectar a Python MLlib através da biblioteca NumPy (também usado em Scikit), e os usuários Scala podem escrever códigos contra o MLlib. Se a criação de um cluster Hadoop é impraticável, o MLlib pode ser implantado em cima do Spark sem Hadoop - e no EC2 ou no Mesos. 
Outro projeto é o MLbase, construído em cima de MLlib para torná-lo mais simples na obtenção de obter resultados. Ao invés de escrever o código, os usuários fazem consultas por meio de uma linguagem declarativa à la SQL. 
Projeto: MLlib

H2O
Algoritmos de H2O do 0xdata são voltados para processos de negócios – de previsões de fraude ou de tendência, por exemplo. O H2O pode interagir de forma independente com lojas HDFS, em cima de YARN, MapReduce ou diretamente em uma instância do Amazon EC2. Especialistas em Hadoop podem usar Java para interagir com a ferramenta, mas a estrutura também fornece ligações para Python, R e Scala, proporcionando integração cruzada com todas as bibliotecas disponíveis nessas plataformas também. 
Projeto: H20 
GitHub: https://github.com/0xdata/h2o 


Cloudera Oryx 
Outro projeto de aprendizagem máquina projetado para Hadoop, o Oryx vem como uma espécie de cortesia dos criadores da distribuição Cloudera Hadoop. O nome no rótulo não é o único detalhe que define a ferramenta, que enfatiza na análise de dados em tempo real por meio do projeto Spark e é projetado para permitir que modelos de aprendizado de máquina possam ser implantados em transmissões de informações “ao vivo”, como filtros de spam ou mecanismos de recomendação. Uma nova versão do projeto encontra-se em obras. 
Projeto: Cloudera Oryx 
GitHub: https://github.com/cloudera/oryx 

GoLearn  
A linguagem Go, do Google, está no ar faz cerca de cinco anos. Apesar da vida ainda curta, já desfruta uma utilização ampla e tem uma evolução constante em suas bibliotecas. O GoLearn foi criado com a ambição de ser uma biblioteca que reúne tudo de aprendizado de máquinas na plataforma da gigante de buscas. A ideia geral é que seja uma maneira simples de tratar o carregamento e manipulação dos dados na biblioteca. 
Projeto: GoLearn 
GitHub: https://github.com/sjwhitworth/golearn 


Weka  
Produto da Universidade neozelandesa de Waikato, o Weka reúne um conjunto de algoritmos de aprendizado de máquina Java projetados especificamente para mineração de dados. Esta coleção com licenciamento GNU GPLv3 tem um sistema de pacotes para estender sua funcionalidade. Weka vem com um livro para explicar tanto o software e quanto as técnicas utilizadas, que pode ser um bom ponto de partida aos que querem se aventurar nessa ferramenta. Apesar de não ser voltado especificamente, pode ser usado com Hadoop graças a um conjunto de wrappers produzidos para as versões mais recentes do Weka. Note-se que ainda não suporta Spark, só o MapReduc. 
Projeto: Weka 

CUDA-Convnet  
Quase todo mundo sabe como GPUs (sigla para unidade de processamento gráfico) podem mastigar certos problemas de maneira mais veloz do que CPUs. Mas os aplicativos não levam automaticamente a vantagem da aceleração GPU. Aliás, eles têm que ser escritos com formas específicas para que isso ocorra. O CUDA-Convnet é uma biblioteca de aprendizado de máquina para aplicações de rede neural escrito em C++ para explorar a tecnologia CUDA de processamento de GPU da Nvidia (placas de, pelo menos, a geração Fermi são obrigatórios). Para aqueles que usam Python em vez de C++, as redes neurais resultantes podem ser salvos como objetos Python em conserva e, assim, acessado a partir de Python. Note que a versão original do projeto não está mais sendo desenvolvida, mas desde que foi reformulado em um sucessor, CUDA-Convnet2 (com suporte para múltiplas GPUs). 
Projeto: CUDA-Convnet 


ConvNetJS 
Como o nome indica, ConvNetJS fornece bibliotecas de aprendizado de máquina de rede neural para uso em JavaScript o que facilita o uso do navegador como uma bancada de dados. Uma versão NPM também está disponível para aqueles que utilizam Node.js e a biblioteca é projetada para fazer uso adequado de assincronia de JavaScript - por exemplo, operações de treinamento podem executar retornos de chamadas, 
Projeto: ConvNetJS 
GitHub: https://github.com/karpathy/convnetjs
  

23 de ago de 2016

Uso de API’s no mercado de serviços financeiros


Embora à primeira vista o uso de API (Application Programming Interface ou “Interface de Programação de Aplicativos”) pareça um assunto muito técnico, a ideia principal deste artigo é apresentá-lo de forma simples e sob a ótica de negócios para mostrar como as empresas podem aumentar seus negócios com sua adoção.

Um aplicativo ou software construído para atender um usuário final  costuma ser projetado para tornar sua utilização simples, rápida, fácil e agradável. Um software não tem olhos, emoções ou intuição, então ele não precisa de uma interface amigável quando se trata de entregar serviços para outro aplicativo. No entanto, da mesma forma como a interface adaptada para seres humanos, o software necessita de uma interface que facilite o consumo de dados e,ou funcionalidade.

Uma API é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. As API’s são comumente desenvolvidas como interfaces para serem entendidas por computadores, da mesma forma como as interfaces de usuário, são criadas para ser entendidas e utilizadas de forma clara por seres humanos.
apiUma boa maneira de entender as API’s é no contexto de uma tomada comum de parede. As tomadas elétricas encontradas em casas ou empresas são interfaces construídas essencialmente para um serviço: a eletricidade que é consumida por nossos computadores e smartphones,  TVs, geladeiras, secadores de cabelo, entre outros aparelhos eletro-eletrônicos. A energia elétrica é o serviço e cada dispositivo que usa a eletricidade é um consumidor desse serviço.

Embora possuam diferenças dependendo da legislação de cada país, as tomadas elétricas têm alguns padrões abertos que permitem aos plugues elétricos que sejam conectados e consumam a energia oferecida (por exemplo, no Brasil, a maioria das tomadas entrega 110, ou para ser mais preciso, 127 Volts de corrente alternada. Esta especificação define essencialmente uma expectativa relacionada aos dispositivos de consumo. Da mesma forma, uma API especifica como componentes de software devem interagir uns com os outros.

Através da interface padrão, qualquer consumidor pode facilmente utilizar a energia necessária para suprir seus dispositivos que estejam compatíveis e conectados de acordo com a norma vigente. Para o consumidor porém, não importa o que está acontecendo do outro lado da parede, sejam coisas simples como a cor da fiação embutida ou “detalhes” mais complexos como a forma como a eletricidade é gerada (seja por uma usina eólica, nuclear, hidrelétrica ou solar) ou de onde essas fontes de energia estejam localizadas.

E no sentido contrário, o provedor também não precisa explicar ou apresentar quaisquer detalhes de como os serviços são oferecidos. Como a geração da energia é feita é a parte que interessa apenas ao provedor. Em um mercado fortemente regulamentado como o de Serviços Financeiros, as informações pessoais confidenciais de correntistas serão mantidas “por trás dos muros” garantindo a privacidade dos dados, o sigilo bancário e a segurança das transações.

Normalmente são criadas páginas web ou portais direcionados aos desenvolvedores, nos quais as normas e padrões da API estarão descritos e disponibilizados por meio de documentação oficial funcional e técnica à qualquer empresa ou desenvolvedor interessado em utilizar os produtos e serviços oferecidos pela instituição financeira.

Através da API, produtos e serviços como empréstimos, seguros, comércio eletrônico, pagamentos, informações de clientes, histórico de transações, autenticação e transferências bancárias, entre outros, poderão ser entregues a partir de uma ampla gama de dispositivos compatíveis.  Um comerciante que hoje oferece os seus produtos e serviços através de sua página web ou até mesmo em sua loja física, passa a oferecer um serviço de valor agregado, de forma segura aos seus clientes, acelerando a conversão e evitando desistência.

Neste novo modelo de negócios, um banco pode expandir seu raio de ação e aumentar sua receita. Por outro lado, a exposição de sua marca será menor ou inexistente, uma vez que o aplicativo pode ou não indicar quem está por trás do serviço oferecido. É parte da decisão estratégica de negócios da instituição decidir por sua utilização, dependendo da expectativa de resultados. Inovação, aumento de receita, expansão, custos e segurança são fatores críticos que devem ser considerados para a tomada de decisão pela utilização de API’s.

Ainda no tópico de segurança, as APIs são comumente desenvolvidas em três modelos: privado (interno), público (externo) ou restrito (associado). E, mais uma vez, isso depende da estratégia da empresa. Se os dados a serem expostos são muito sensíveis, as melhores opções poderiam ser uma API privada ou restrita. Apesar de mais rentáveis, este tipo de API não é de fácil manutenção e, ou atualização, uma vez que elas não têm o apoio da comunidade de desenvolvedores da maneira que as API’s públicas.

O uso de API’s Abertas promove um ecossistema centrado no cliente e inovação aberta. Atualmente, mais de 15 mil API’s (nos mais variados segmentos de mercado como serviços financeiros, governo, telecom, mobile, transporte, educação, ciência e outros) estão disponíveis no site Programmable Web. Além de informação, orientação e referências, o portal também funciona não apenas como um diretório para empresas à procura de API’s, mas também para os desenvolvedores e provedores poderem disponibilizar suas API’s.

Open Bank Project, por exemplo, é uma API de código aberto e também loja de aplicativos para bancos que permite que as instituições financeiras desenvolvam suas ofertas digitais de forma rápida e segura usando um ecossistema de aplicações e serviços de terceiros.
Um case muito bem sucedido de API’s abertas no setor bancário é o BBVA API Market. Com presença em mais de 35 países e utilizando estratégias digitais abertas e inovadoras, em conjunto com o “mobile first” e Omni-channel, o BBVA já oferece um amplo conjunto de API’s de produtos e serviços através de seu portal.

As vantagens econômicas da utilização de APIs são vastas. Explorar este universo exige experiência e capacidade técnica para implementação e, desta forma, trazer os benefícios esperados para as empresas.

Este artigo foi publicado originalmente em Computerworld.com.

21 de ago de 2016

Conheça os 6 estágios que cibercriminosos usam para invadir redes - IDG Now!

Conheça os 6 estágios que cibercriminosos usam para invadir redes - IDG Now!


O maior desafio dos responsáveis pela segurança de empresas é conseguir pensar como um hacker. Na realidade, as tecnologias usadas pelos hackers são aprimoradas a cada ano, mas as suas metodologias continuam as mesmas há décadas.  

Na opinião de Bruno Zani, gerente de engenharia de sistemas da Intel Security, saber como hackers pensam e agem é o primeiro passo na direção para manter a rede segura. Segundo ele, existem seis fases de intrusão que são usadas frequentemente pelos hackers para burlar os esquemas de segurança. São elas:

1. Coleta de informações - Quando hackers planejam um ataque, a primeira coisa que eles fazem é escolher uma empresa-alvo e identificar onde será realizado o ataque. Em seguida, eles começam a recolher endereços IP e nomes de perfis importantes dentro do ambiente que podem armazenar dados corporativos ou pessoais sensíveis.

2. Exploração - Depois de elaborar uma lista completa dos funcionários e perfis-alvos, eles começam o processo de varredura. Isso inclui a verificação de instâncias específicas de aplicativos vulneráveis que estão em execução no ambiente.  


 3. Enumeração - Uma vez que um hacker tenha identificado o aplicativo vulnerável, ele procura por versões precisas das tecnologias que possuem alguma falha e podem ser invadidas.  


4. Invasão - Após encontrar um ponto de entrada, o hacker começa comprometer o servidor web, aproveitando vulnerabilidades ou problemas de configuração para obter acesso. Ao determinar como interagir com o alvo e sistema operacional subjacente, ele se infiltra para examinar quão longe pode expandir um ataque dentro da rede.  


5. Escalada - Seguindo a invasão do ambiente, o próximo passo do hacker é criar perfis de usuário e privilégios de acesso para espalhar ameaças da forma mais ampla possível.  
6. Pilhagem - A etapa final do processo de um ataque hacker é a pilhagem. Ao contrário de hackers do passado, os ataques atualmente já não são apenas elaborados para comprometer um servidor e desfigurar um site. Sua missão é muito maior, é ganhar acesso aos dados de cartão de crédito, aos segredos comerciais da empresa, às informações de clientes e informações pessoais. Enfim, minar os dados da empresa e usá-los em benefício próprio.  


Após entender como os hackers pensam é preciso agir para bloquear os ataques. A maioria das empresas tentam criar uma fortaleza de segurança de TI com uma série de produtos de vários fornecedores, cada um abordando um aspecto diferente de seu ambiente e em diferentes áreas de risco. No entanto, enquanto não entenderem como os hackers encontram vulnerabilidades em seus sistemas em silos de segurança de endpoint, gateway e de data center, não existe a chance de pará-los.  


De acordo com Zani, de nada adianta também ler cada um dos relatórios de análise de segurança disponível no mercado e implantar os produtos de segurança mais avançados. As pessoas também são parte importante da segurança. 


Muitas vezes o ataque é direcionado especialmente àquele funcionário mais desatento, que não se preocupa com os procedimentos de segurança desenvolvidos na empresa. Além disso, se as ferramentas usadas na segurança de TI e na proteção de dados não trabalharem juntas, o tempo sempre estará contra a empresa durante um ataque cibernético.

19 de ago de 2016

Cibercriminosos utilizam arquivos WSF como vetor para infiltração de ransomware - E-Commerce News

Cibercriminosos utilizam arquivos WSF como vetor para infiltração de ransomware - E-Commerce News

O Brasil é conhecido no campo da segurança de informação e análise de malware como um país que absorve tecnologias maliciosas “inovadoras” estrangeiras e as adapta para o ambiente local principalmente para burlar as tecnologias tradicionais de proteção.
Por meio de um monitoramento do Laboratório de Pesquisas e Ameaças da Trend Micro – empresa especializada na defesa de ameaças digitais e segurança na era da nuvem –, os especialistas em segurança descobriram um novo vetor de infecção usado por um ransomware para disseminar ameaças: por meio da extensão de arquivo Windows Script File (WSF).
A Trend Micro vem monitorando o comportamento dos atacantes brasileiros, e consequentemente, trabalhando na atualização das ferramentas de detecção comportamental baseadas em sandboxing customizado.
Por meio da execução de um HoneyPot, os pesquisadores da Trend Micro puderam rastrear três e-mails que chegaram ao laboratório para dois endereços distintos e cada um deles tinham remetentes únicos, o que demonstrou a existência de um ecossistema por trás do ataque.
  • Detecção inicial pelo Deep Discovery Inspector:
trend1
A geo-localização dos IPs de origem dos e-mails é diferente para cada um:
Sérvia (Leste Europeu)
trend22
Colômbia
trend3
As “ondas” de phishing seguiram o mesmo padrão e aconteceram nos dias 18 e 19 de Julho/2016, com e-mails originados na Índia, Tailândia e também no Brasil (Goiânia).
Brasil
trend4
Um ponto que chamou a atenção da Trend Micro nesse ataque foi o uso de arquivos .wsf como ponto de entrada para evasão das tradicionais tecnologias de detecção do ransomware.
Em todos os casos foram empregadas técnicas de ofuscação de código no downloader, tornando o arquivo inicialmente ilegível, mesmo se tratando de um arquivo de texto.
Todos os arquivos .wsf, neste caso, os downloaders do ransomware, são arquivos diferentes, com uma técnica que é usada para burlar a detecção baseada em hash, e cada um dos executáveis baixados segue a mesma linha. Apesar de arquivos executáveis, cada um é único, utilizando como “propriedades do arquivo” informações relacionadas a um widget do Yahoo.
Também chamou a atenção da Trend Micro o fato do ransomware exibir a mensagem sobre a criptografia dos arquivos e o pedido de resgate em diferentes línguas, mostrando assim não se tratar de uma ameaça simples ou comum.
Tela de resgate do ransomware em português do Brasil (Idioma nativo do ambiente analisado)
trend5
Tela do resgate com mensagem em inglês (o que demonstra que o ransomware se adapta a região que está atacando) 
trend6
O Deep Discovery da Trend Micro determinou que o tipo de ameaça é VAN_RANSOMWARE. A partir das novas versões do produto, a nomenclatura ransomware é adicionada sempre que algum comportamento relacionado a esse tipo de ameaça é encontrado. Se for desconhecido como neste caso, é adicionado o prefixo VAN (VirtualANalyzer).
O comportamento registrado foi o ato do ransomware em renomear cada um dos arquivos e o uso de técnicas de criptografia durante a execução do malware.
O primeiro destaque se dá pelo fato do arquivo “winword.doc”, passar a ter outro nome e a extensão. zepto. Essa extensão é uma pista sobre a família do ransomware analisado, que após pesquisa na base de dados do laboratório Trend Micro, mostrou tratar-se de uma variante do já bem conhecido Locky.

1 de ago de 2016

Pesquisadores da USP criam sistema 'inviolável' para proteção de senhas


Pesquisadores da USP criam sistema 'inviolável' para proteção de senhas - IDG Now!


Pesquisadores da Escola Politécnica da Universidade de São Paulo (Poli-USP) desenvolveram um software de licença livre cujo objetivo é combater os chamados ataques de força bruta - aqueles que são realizados por hackers com uso de supercomputadores, cluster ou placas gráficas para roubar senhas de usuários.
Batizado de Lyra2, a solução atinge o crime digital a partir da memória, algo que exige elevados investimentos.
"Criamos funções que encarecem o ataque ao ponto de torná-lo inviável financeiramente. Para senhas de complexidade média, por exemplo, o valor gasto com a aquisição de memória para a construção de um hardware capaz de burlar a proteção do Lyra2 é de cerca de U$ 126 mil. Já para senhas de alta complexidade, que exigem diversos caracteres, letras, número e símbolos, o investimento exigido pode chegar a US$ 8,3 bilhões", explica Ewerton Rodrigues Andrade, um dos engenheiros responsáveis pela solução.
O Lyra-2 é resultado da tese de doutorado de Andrade e já conquistou prêmios na área. É o caso do prêmio de melhor projeto de doutorado na segunda edição do International Conference on Information Systems Security and Privacy (ICISSP).
Os ataques de força bruta são realizados após o criminoso obter um banco de dados com senhas de usuários protegidas, um tipo bastante comum de invasão de sistemas. Em pouco tempo, hackers realizam testes em paralelo até descobrir a senha correta dos diversos usuários - algo que se tornou cada mais fácil e barato com a evolução computacional.
Segundo Andrade, o novo software atua em um estágio no qual proteções como firewalls e programas de antivírus já foram superadas pelos hackers. 
A tecnologia pode proteger qualquer sistema eletrônico, desde senhas de acesso a sites, computadores, smartphones e até mecanismos de autenticação ou bancos de dados.

Por ser um software de licença livre, o Lyra2 pode ser usado sem necessidade de pagamento de direitos. A única condição é que seja citada a fonte.