quinta-feira, 31 de janeiro de 2019

Vazamento expõe dados de 3,4 milhões de clientes de serviços de streaming

 em 



Cinco banco de dados vazados, que somam 3,4 milhões de usuários de serviços de streaming de música e vídeo, além de plataforma de jogos, foram comprometidos em diversos países. A informação é do dfndr lab, braço de pesquisas da empresa de segurança digital PSafe. A informação surge dias depois do segundo maior ataque da história, que vazou dados de mais de 700 milhões de pessoas.
O dfndr lab teve acesso aos dados graças a documentos vazados por hackers. Esses arquivos contêm senhas e e-mails de usuários. Com esses dados em mãos, cibercriminosos tem em mãos total acesso a esses serviços e podem utilizá-los tal qual os donos originais das contas.
Esse acesso pode ser ainda maior, já que muitos usuários têm o hábito de replicar login e senha em diferentes serviços, oferecendo ainda mais acesso aos seus dados pessoais a pessoas maliciosas.
Segundo Emilio Simoni, diretor do dfndr lab, compartilhar suas conquistas na Deep Web é um hábito comum de cibercriminosos, o que aumenta ainda mais a vulnerabilidade desses usuários. Esses bancos de dados, segundo Simoni, teriam obtidos através de ataques de phishing, quando um hacker cria uma conta falsa de um serviço existente e pede informações aos usuários, que os fornecem acreditando que a mensagem recebida é do serviço assinado.
A PSafe, contudo, não disse quais serviços tiveram dados vazados.
O laboratório alerta para a importância de alguns cuidados para evitar que usuários fiquem vulneráveis. O primeiro deles é evitar clicar em links suspeitos, recebidos via WhatSapp, SMS ou e-mail. Se você não está esperando receber uma mensagem do serviço que assinou, não clique.
Outra forma é verificar se o site do serviço que está acessando é o oficial. Serviços de streaming, como Spotify e Netflix possuem domínios com final .br, por exemplo.
Além disso, outra boa prática recomendada pela empresa é não utilizar a mesma senha para vários serviços diferentes.

quarta-feira, 30 de janeiro de 2019

Matrix evoluiu lentamente para um “canivete suíço” do mundo do ransomware

Mundo Hacker em 30/01/2019


Resultado de imagem para matrix ransomware
Fix Infected PC



Matrix, um ransomware vista pela primeira vez no final de 2016, evoluiu para uma ameaça perigosa após anos de atualizações lentas e incrementais e foi recentemente caracterizada como um “canivete suíço” em um relatório publicado hoje pela empresa de segurança cibernética Sophos.
Inicialmente, os autores de Matrix usaram o kit de exploração RIG para distribuir em massa seu ransomware em seus primeiros dias, em 2016 e 2017, desde o início de 2018, o ransomware foi disseminado exclusivamente em ataques contra alvos de alto valor cuidadosamente selecionados. vantagem de pontos de extremidade RDP (Remote Desktop Protocol) desprotegidos.
Nisso, a gangue Matrix seguiu uma tendência no mundo do ransomware, onde as campanhas de distribuição em massa baseadas em e-mail ou kit de exploração morreram em 2018, cedendo às operações que preferiam perseguir alvos individuais em ataques solitários explorando o RDP.
Em outras palavras, Matrix está agora na mesma categoria de cepas de ransomware, como SamSam , BitPaymer e Ryukmais famosos – usando endpoints RDP hackeados para entrar nas redes das empresas e infectar tantos PCs quanto possível antes de pedir enormes demandas de resgate. .
A diferença é que a Matrix não foi implantada ou infectou a mesma quantidade de vítimas que as mencionadas anteriormente; sendo esta uma das razões que poucos sabem, exceto o pequeno círculo de analistas de malware.
Ao longo dos últimos anos, a Sophos diz que detectou apenas 96 amostras de ransomware Matrix em estado selvagem, o ransomware recebendo constantes ajustes e atualizações com o passar do tempo.
“Embora o malware esteja sob desenvolvimento e melhoria contínuos enquanto o monitoramos, os autores ou operadores desse malware não parecem se comportar tão profissionalmente quanto, em comparação, a gangue SamSam”, disse Luca Nagy, da equipe da Sophos Labs. .
“Eles cometeram erros freqüentes ao longo do caminho, alguns dos quais foram corrigidos e outros recursos implementados foram abandonados”, disse Nagy. “Eles nem sempre empregam segurança operacional adequada, o que pode ser a causa de sua eventual ruína.”
No entanto, mesmo que seja desleixado como o Matrix pode ser, eles construíram lentamente uma variedade de ransomware bastante rica em recursos.
“Novas variantes do Matrix contêm sua própria capacidade de escanear a rede local onde se encontram”, disse Nagy. “Esses ransomwares autônomos ‘canivete suíço’ podem usar essa funcionalidade para encontrar outros possíveis computadores vitimados [na rede local].”
Uma vez que a gangue Matrix tenha infectado e criptografado arquivos em todos os computadores, o modus operandi normal é deixar uma nota de resgate com um endereço de e-mail por trás de onde as vítimas podem chegar e negociar a taxa de resgate. De acordo com a Sophos, o preço normal do resgate é geralmente em torno de US $ 3.500, pagos em Bitcoin, mas as somas podem subir se as vítimas mostrarem sinais de estar desesperadas para recuperar arquivos.
Enquanto nos anos anteriores, a aplicação da lei nos EUA e no Reino Unido alertou empresas privadas e entidades governamentais sobre ameaças como SamSam, BitPaymer e Ryuk por meio de alertas de segurança de emergência, não houve alertas do FBI, DHS ou NCSC sobre a Matrix.
De acordo com a Sophos, isso ocorre porque a Matrix não se concentrou principalmente nos EUA e no Reino Unido, como outras gangues de ransomware focadas no RDP, mas infectou vítimas em todo o mundo, levando o que pôde encontrar.
A Sophos diz ter detectado infecções no Matrix nos EUA (27,7%), Bélgica (16,7%), Taiwan, Cingapura, Alemanha, Brasil, Chile, África do Sul, Canadá e Reino Unido.
Assim como a maioria das variedades de ransomware, o Matrix também evita infectar computadores que usam idiomas falados no antigo espaço soviético. Isso sugere que a gangue de ransomware está localizada em um desses países ou está alugando a Matrix em fóruns de hackers de língua russa, que determinam que o malware vendido em sua plataforma não infecte os usuários russos.
Vendo que a Sophos mencionou que a gangue Matrix fez vários erros de segurança operacional (OpSec) em variantes passadas, ainda podemos ver o dia em que esse grupo é cobrado e pode ser levado à justiça.
Ao todo, Matrix lentamente passou de um ransomware fraco e pouco desenvolvido para uma das maiores ameaças na cena do ransomware hoje, junto com SamSam, BitPaymer, Ryuk, Dharma e GandCrab.

New Firmware Version of Nintendo Switch Hacked in just 4 Hours

Waqas em 29/01/2019 no site HackHead

Resultado de imagem para firmware nintendo
Wccftech


The problems for Nintendo console owners are far from over as the latest firmware version got hacked in merely a few hours. According to reports, the newly rolled out Firmware for Nintendo Switch, the much-awaited version 7.0.0 that was supposed make the console more stable and rich in language support, has been hacked in exactly four hours after going live.
Ironically, Nintendo claimed to have added advanced security codes in this version of Switch Firmware to prevent hacking but perhaps the company underestimated the capabilities of security researchers.
As expected, Nintendo has become a mocking stock across the social media especially on Reddit as fans are shocked at how easily and quickly hackers managed to take down the supposedly advanced security codes while hackers are all praises for the work of the hacker, who is known by the alias “Elmirorac”.
7.0.0 cracked
Here are some SHA256 hashes in celebration :)
PK11: 434FA7D07A8D4FDFD8630AC40FF9BC697E0DE40E0041E225F154BEB9571044E9
Master key: 4EC96B8CB01B8DCE382149443430B2B6EBCB2983348AFA04A25E53609DABEDF6

292 people are talking about this
Elmirorac was supported by another hacker “SciresM” in this hacking feat. SciresM is the same hacker last year claimed that the Switch console is already fully compromised and the flaw can only be fixed by a hardware upgrade. This means, the excessive reliance of Nintendo Switch on Nvidia Tegra hardware hasn’t proved much favorable for the console as it has been in the news for all the wrong reasons lately.

Probably, the time has come for Nintendo to think about installing a brand new chipset in its console. Otherwise, the issue seems to be irreversible and it will only add more pain to the misery of Switch users and game developers by promoting piracy.The Tegra Bootrom bug is already a known issue. Even Google needs to pay attention to the havoc this chipset has caused in the lives of Switch users as Tegra chips are also used in Android devices.
André Lima em 04/10/2017 no Blog André Alves Lima



Resultado de imagem para dapper C#
Rodrigo R. Ferreira

Conheças as principais características do JavaScript

Romário Nicásio em 29/01/2019 no site PortalN10


Resultado de imagem para javascript
TreinaWeb



Se você tem interesse em investir na carreira de programador, então certamente vai adotar no seu vocabulário diário a palavra JavaScript. Essa linguagem de programação é muito famosa quando o assunto é a criação de sites.
A linguagem JavaScript, criada pelo desenvolvedor Brian Eich em 1995, atualmente está no mesmo nível de importância da linguagem CSS e do HTML. Graças ao JavaScript os sites adquirem mais funcionalidades, facilitando a interação com o usuário.
Por ser uma linguagem voltada para a web, grande parte dos navegadores que utilizamos para acessar a internet já contam com estruturas e motores voltados para funcionamento do JavaScript.
No entanto, é sempre bom esclarecer: ainda que os nomes sejam semelhantes, JavaScript é diferente da linguagem Java.
JavaScript no seu dia a dia
Quem atua no ramo da programação é requisito básico saber como funciona e para que serve essa linguagem de programação. 
Por outro lado, mesmo quem não trabalha como programador, mas usa diariamente a internet (ou seja, boa parte da população mundial), se depara com o JavaScript no seu dia a dia.
Por ser uma linguagem voltada para a web e ser muito importante para os navegadores, ele é praticamente onipresente na internet. Sendo assim, não se surpreenda ao perceber que a maioria dos sites conta com JavaScript em seus sistemas.
Por isso, se você pretende criar um blog para a sua empresa, ou quem sabe até investir na administração de uma loja virtual, lá vai estar o JavaScript para ajudar você, ainda que você não saiba.
Até mesmo os imbatíveis WordPress e Joomla!, duas das mais importantes plataformas para a criação de projetos web utilizam recursos do JavaScript em sua estrutura.
Nos sites e páginas da web, o JavaScript entra em cena realizando uma série de tarefas importantes, tais como adquirir e enviar informações importantes do navegador do usuário, bem como validar formulários antes de enviar para o servidor.
E você sabe aqueles detalhes interativos que aparecem em alguns sites, tais como jogos, recursos multimídia e elementos animados? Pois então, tudo isso é mérito do JavaScript.  
JavaScript no mundo dos games
Se você pretende investir em um projeto web voltado para games, além de ter que utilizar uma hospedagem VPS, que traz uma série de benefícios para esse tipo de empreitada, certamente você vai se deparar com a linguagem JavaScript.
No caso o VPS (Servidor Virtual Privado) é vantajoso para projetos que envolvem games online, pois ele conta com recursos importantes para o bom funcionamento de sites com elevado volume de tráfego.
Já a linguagem JavaScript, diante da sua versatilidade em relação a elementos interativos e animados em sites, é bastante recomendado para o desenvolvimento de games.
Nesse caso, é possível contar com frameworks de JavaScript destinados especialmente para a elaboração de jogos. O Phaser, por exemplo, é um desses frameworks.
As características básicas da linguagem JavaScript
Os motivos que tornam essa linguagem uma das mais utilizadas e conhecidas no ramo da programação são vários. Veja mais a seguir!  
Baseada em objetos
Devido a essa característica, não se torna complicado para o usuário se adaptar a essa linguagem. 
A grande parte das propriedades de um objeto na linguagem JavaScript pode ser enumerada por meio de uma estrutura baseada em repetição “for… in…”.
Funcionalidade
A linguagem JavaScript apresenta funções de primeira classe, funções aninhadas e fechamentos. Cada uma delas conta com as suas características específicas.
Versatilidade
Pode ser aplicada em projetos em Desktop e também para dispositivos móveis. Atualmente, em que a tecnologia mobile é importante para o êxito de muitos projetos web, o JavaScript ganha ainda mais relevância.
Como aprender e dominar os conceitos da JavaScript
Se você é um profissional da área da programação ou apenas um entusiasta do assunto, vale lembrar que se a sua intenção é aprender como utilizar essa linguagem, existem várias possibilidades. 
Além disso, antes de se aventurar no maravilhoso mundo do JavaScript, é importante já possuir uma noção básica de programação, especialmente conhecendo alguns outros programas, tais como o HTML e o CSS.
Por se tratar de uma linguagem muito famosa e tão influente nos mais variados projetos web, existe um vasto material a respeito dela, tais como blogs, e-books, vídeos e artigos.
Há também apostilas e outros tipos de conteúdo fora da web que podem ser de grande auxílio em seus estudos. Além disso, existem cursos online de programação que certamente irão abordar o tema JavaScript.
Conclusão
Seja na criação de um site, um blog ou até mesmo para o bom funcionamento de uma loja virtual, a linguagem JavaScript marca presença. 
Por essa razão, profissional ou não de programação, vale a pena saber como é o funcionamento e como essa linguagem poderá trazer vários benefícios para o seu projeto web.



Under Creative Commons License: Attribution 
Follow us: @PortalN10 on Twitter | PortalN10 on Facebook

terça-feira, 29 de janeiro de 2019

Code Coverage com C#, OpenCover, ReportGenerator e Cake

por   em 15/10/2017 no site Lambda3


Resultado de imagem para code coverage c#
MSDN Blogs - Microsoft

Se você trabalha com Visual Studio, deve saber que hoje somente a versão Enterprise fornece a funcionalidade de code coverage. Eu não acho que ter o code coverage do projeto deveria ser algo “premium”, então confiei que existiriam ferramentas grátis para essa tarefa. Neste post vou mostrar como fazer isso utilizando ferramentas todas feitas em C# com o Cake.
Recentemente comecei em um projeto que já tinha código escrito, prestes a ir para produção, porém, sem nenhum teste escrito. Quando entrei, uma das minhas funções foi adaptar o código para que fosse possível escrever testes de unidade, e trabalhar para aumentar o code coverage (cobertura de código) do projeto. Então pensei: preciso ser capaz de dizer qual é o code coverage desse projeto para entender quais partes continuam sem testes.
Desfrutei de umas das vantagens de trabalhar na Lambda3, perguntando para as pessoas que estão trabalhando com .NET quais ferramentas elas usavam. Foi aí que o Chico me recomendou uma ferramenta open source chamada OpenCover, que ele estava usando no projeto em que estava atuando.
O OpenCover faz exatamente o que eu precisava, mas eu estava na vibe de automatizar tudo com o Cake, e claramente repetir essa tarefa era digna de automatização. Então decidi fazer isso utilizando um script cake.
Para esse post vou usar um projeto de exemplo em .NET bem simples com testes escritos em NUnit 3.

Cake

Se você não faz ideia do que é o Cake, leia antes esse post que eu fiz recentemente sobre o assunto. Também é preciso fazer o setup inicial do Cake, que é muito simples e está descrito no primeiro post. Você também pode vê-lo na documentação aqui.
O Cake está em um momento de transição para o .NET Core na sua versão 0.22, e ela vai vir com várias breaking changes. Eu recomendo você pinar a versão do Cake para 0.21.1, conforme descrito aqui, caso queira seguir esse post sem problemas. Pelo menos até a transição estar completa.
Como disse no primeiro post, o Cake já vem com muitos aliases embutidos para tarefas comuns, e ele já tinha aliases pra todas tasks que eu usei aqui. Então eu só precisei entender como elas funcionavam e escrever as tasks.
O primeiro passo pra configurar um script Cake capaz de gerar um code coverage report é garantir que o código esteja sempre atualizado, ou seja, o projeto precisa ser recompilado antes que a task de code coverage seja executada. Por isso comecei com a tarefa de MSBuild.
1
2
3
4
5
6
7
8
9
10
Task("BuildTest")
    .Does(() =>
    {
        MSBuild("./Calculadora.Tests/Calculadora.Tests.csproj",
            new MSBuildSettings {
                Verbosity = Verbosity.Minimal,
                Configuration = "Debug"
            }
        );
    });
Eu apontei qual era o arquivo csproj e fiz o mínimo de configuração que precisava, com essa task a DLL do projeto estará sempre atualizada antes de gerar um novo report.

Code Coverage com OpenCover

OpenCover é uma ferramenta open source excelente feita em C# que gera o code coverage de projetos .NET. Na verdade ela faz mais que isso, ela também gera dados de branch coverage, complexidade ciclomáticacomplexidade NPath e, em versões futurasCRAP score, que te ajudam a entender quais códigos precisam ser refatorados.
O OpenCover tem algumas limitações: ele só roda no Windows, e até por consequência disso, ainda não tem um port stable para .NET Core. Para pessoas que utilizam Mac ou Linux, eu ainda não achei uma boa alternativa (se conhecer, compartilhe nos comentários).
O OpenCover pode ser baixado por NuGet e é basicamente uma aplicação de linha de comando, ela possui vários parâmetros que permitem a configuração do projeto. Por exemplo: excluir classes que não devem ser consideradas, incluir módulos, filtrar por nomes, etc. Você pode ver todos os parâmetros disponíveis na documentação do projeto.
Escolhido o OpenCover, o segundo passo então seria rodar os testes de fato. Mas ele já faz isso internamente, gerando os dados necessários para exibir o code coverage do código junto com a execução dos testes.
Aqui está a documentação para usar o OpenCover com o Cake. Para o meu projeto, essa task ficou assim:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#tool "nuget:?package=OpenCover"
#tool "nuget:?package=NUnit.ConsoleRunner"
 
Task("OpenCover")
    .IsDependentOn("BuildTest")
    .Does(() =>
    {
        var openCoverSettings = new OpenCoverSettings()
        {
            Register = "user",
            SkipAutoProps = true,
            ArgumentCustomization = args => args.Append("-coverbytest:*.Tests.dll").Append("-mergebyhash")
        };
 
        var outputFile = new FilePath("./GeneratedReports/CalculadoraReport.xml");
 
        OpenCover(tool => {
                var testAssemblies = GetFiles("./Calculadora.Tests/bin/Debug/Calculadora.Tests.dll");
                tool.NUnit3(testAssemblies);
            },
            outputFile,
            openCoverSettings
                .WithFilter("+[Calculadora*]*")
                .WithFilter("-[Calculadora.Tests]*")
        );
    });
Repare que um dos parâmetros é um FilePath, certifique-se que essa pasta está criada e você tem as permissões necessárias para que o script a acesse. Do contrário você receberá um erro.
No script acima dá pra observar alguns detalhes do Cake. Primeiro, como o OpenCover é distribuído como pacote NuGet, eu preciso adicionar uma referência à essa ferramenta com o #tool. Essa linha faz o Cake baixar o pacote NuGet e adicioná-lo na pasta de tools, para que ele possa usá-lo. Da mesma forma, eu indico que meu script precisa de NUnit para rodar.
Também dá pra ver que é possível tornar uma task dependente da outra, eu posso simplesmente rodar a task OpenCover e dizer que ela depende da task BuildTest. O Cake se encarrega de rodar elas na ordem certa.
A outra boa sacada do Cake presente no script acima, é que se o alias usado não expõe algum parâmetro da ferramenta que você precisa usar, é sempre possível passar argumentos extras com o campo ArgumentCustomization. Assim você não fica preso a um alias desatualizado.
Ao final da execução dessa task será gerado um XML com todos os dados necessários na pasta indicada na configuração da task. Mas como eu leio esse monte de XML pra entender o relatório?

Resultados legíveis com ReportGenerator

É aí que entra o ReportGenerator, outro projeto open source que tem o papel de interpretar arquivos de code coverage e exibir de uma maneira muito fácil de se analisar.
Ele não entende apenas OpenCover, o ReportGenerator é capaz de gerar dados a partir de várias outras ferramentas de code coverage. Ele também consegue gerar um histórico de evolução do código, tanto individual de cada classe quanto do projeto inteiro.
Essa é a documentação do alias do ReportGenerator para o Cake. Meu script ficou assim:
1
2
3
4
5
6
7
8
9
10
11
12
13
#tool "nuget:?package=ReportGenerator"
 
Task("ReportGenerator")
    .IsDependentOn("OpenCover")
    .Does(() =>
    {
        var reportGeneratorSettings = new ReportGeneratorSettings()
        {
            HistoryDirectory = new DirectoryPath("./GeneratedReports/ReportsHistory")
        };
 
        ReportGenerator("./GeneratedReports/CalculadoraReport.xml", "./GeneratedReports/ReportGeneratorOutput", reportGeneratorSettings);
    });
Rodando essa task agora, consigo ver o resultado de cada classe, bem detalhado:
code coverage report
As linhas vermelhas indicam que nenhum teste passou por elas, as amarelas indicam que alguns testes passaram por elas, mas não cobriram todos os caminhos possíveis (ex.: os dois fluxos de um if), e as verdes indicam que todos os cenários daquela linha foram cobertos por testes.
Por último, eu quis trocar a task Default do Cake, para que quando eu chame o build.ps1 ele automaticamente execute minha task ReportGenerator e abra o resultado HTML no meu browser, pra isso eu criei essa task:
1
2
3
4
5
6
7
8
9
10
11
Task("Default")
    .IsDependentOn("ReportGenerator")
    .Does(() =>
    {
        if (IsRunningOnWindows())
        {
            var reportFilePath = ".\\GeneratedReports\\ReportGeneratorOutput\\index.htm";
          
            StartProcess("explorer", reportFilePath);
        }
    });

Conclusão

Agora o projeto tem code coverage e histórico, tudo com ferramentas open source. Com isso é possível enxergar os pontos mais críticos que precisam de testes, entender a complexidade do código escrito com as métricas disponíveis e acompanhar a evolução do projeto.
Essas ferramentas facilitam muito a vida de quem desenvolve software, e é ótimo ver que a comunidade .NET está criando ferramentas grátis e open source para resolver esses problemas. Utilizar o Cake facilita ainda mais o uso e a integração delas, pra que você não precise perder muito tempo com isso e possa focar no que importa.
O projeto de exemplo que usei com o script completo estão no meu repositório no GitHub, sob licença MIT.
Happy caking! 🍰