MSRio.Net

O Code Acess Security....

O Code Acess Security (CAS) é a "entidade" do .NET responsável por gerenciar as permissões que um assembly possui durante sua execução. Repare que não estamos falando de permissões de usuário...

Podemos pensar nisso como uma camada de segurança a mais entre o usuário e o sistema operacional. Ou seja, antes mesmo de verificar as permissões que um usuário possui no computador, o CAS verifica as permissões que estão relacionadas ao assembly .NET, para somente então repassar a chamada para o sistema operacional. Somente então é o sistema operacional irá verificar o permissionamento do usuário.

Até a versão 4.0, o CAS trabalhava baseado no conceito de Políticas, isto é, dado um determinado conjunto de condições (que era satisfeito pelas Evidências), era localizada a política de segurança para aquele assembly. Desta forma, o CAS sabia qual era o PermissionSet (Conjunto de permissões) que determinava o que poderia ser feito pelo assembly ou não.

As permissões controladas pelo CAS abrangem desde permitir ou não a execução de um programa .NET, até as permissões para outras tarefas como executar código unsafe, reflection, acessar o sistema de arquivos, exibir UI e etc... Existe a mesmo a permissão de "bypassar" o CAS..

Todos os programas em .NET estão sujeitos ao CAS, mas é engraçado que mesmo assim a grande das pessoas que trabalham com .NET nunca se deparou com ele. E é fácil entender porque. Nas políticas default do .NET, todo código que rodava localmente possuia a permissão FullTrust.  Já o código que rodasse via intranet/internet, possuía menos permissões. Só que esse caso era de certa forma raro, pois se os arquivos estivessem no mesmo computador que o servidor web, mesmo no caso de aplicações ASP.NET, o CAS entendia que os assemblies estavam locais (e de fato estavam) e concedia FullTrust.

CAS começava a apitar quando aplicações que estavam em um outro computador da rede fossem executadas, ou por exemplo no uso de NAS...

...e como quem não é visto não é lembrado, o CAS passava batido. Até, para o espanto de todos, algumas empresas de hospedagem não conheciam o CAS e deixavam as permissões default. Dessa forma uma aplicação .NET poderia até mesmo atrapalhar a saúde do servidor, tá louco...

Mas tudo mudou no .NET 4.0. O CAS não morreu, mas foi repaginado. Quem morreu foram as políticas. Alguém percebeu que isso era completamente inútil. A idéia era até boa, imagine, rodar um programa direto da internet (alguém corajoso o suficiente pra isso) e ele seria executado com permissões restritas. Assim ele não poderia fazer dano ao meu computador. Mas um atacante podia também apagar o executável .NET, colocar outro programa não gerenciado e quando o corajoso fosse executar o seu programa, bingo. Infectado..

Falsa segurança é a pior forma de insegurança.

Agora, ao invés do CLR controlar as políticas, ele deixa isso a cargo de cada HOST. Ou seja, o IIS controla as permissões de suas aplicações ASP.NET uma-a-uma, um programa .NET que decidir carregar outra assembly para o seu AppDomain decide as permissões vigentes para o app domain e assim por diante.

O default continua FullTrust pra todo mundo. Mas para configurar as permissões da sua aplicação, não é mais necessário usar dúzias de comandos em um prompt. Com o modelo da Transparência, tudo ficou mais simples. Mas isso fica pra próxima conversa.

MS Community Day 2011

 

Ministrando palestras há mais de 10 anos, os líderes de alguns dos principais grupos de estudos em tecnologias no Rio de Janeiro definem a marca que passará a caracterizar o evento que, até então, era realizado sem uma identidade própria.

O MS Community Day é um congresso que reúne várias palestras sobre variados temas que agregam valor ao participante. O primeiro evento a carregar a marca MS Community Day acontece do dia 6 de agosto de 2011 no campus Presidente Vargas da Universidade Estácio de Sá. Além dos organizadores dos tradicionais organizadores dos grupos, Alexandro Prado (MVP), Ricardo Guerra (MVP), Igor Humberto (MVP), Weliton Cunha, Rodrigo Moreira e Luciano Reis, este evento contará com a participação de Nelson Coelho, Breno Ferreira, Rodrigo Vidal e Prof. André Luiz (MVP).

A inscrição para o evento deve ser feita no site da Microsoft Events:
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032490222&Culture=pt-BR

Pedimos também a gentileza de, após se inscrever no site da Microsoft, que você confirme sua presença na página do evento no Facebook para que tenhamos o controle em tempo real dos participantes:
http://www.facebook.com/event.php?eid=206806522698711

O MS Community Day Ago/2011 acontece em três tracks: Desenvolvimento, Infraestrutura e Mix. Veja abaixo a agenda:

Desenvolvimento
De Volta para o Futuro com Silverlight (Rodrigo Moreira)
Test-Driven Development (Rodrigo Vidal)
Serviços REST (Breno Ferreira)

Infraestrutura
Exchange 2010 SP2: O Que Vem por Ai (Rodrigo Rodrigues e Nelson Coelho)
Terminal Server RDS (André Luiz)
System Center Configuration Manager 2007 R3 e Forefront Endpoint Protection 2010 (Alexandro Prado e Igor Humberto)

Mix
Aprendendo Tecnologias Microsoft de Graça (Ricardo Guerra e Luciano Reis)
Geoprocessamento no SQL Server (Luciano Reis)
Cloud Computing: Porque, Quando e Como Utilizar e o que a Microsoft Oferece (Breno Ferreira e Rodrigo Rodrigues)

Estamos de volta: MSRio Podcast Ed 7: Certificações!

Após meio ano de ausência, o MSRio Podcast está de volta!

Com Rodrigo Moreira (MSP Lead/Líder MSRio.net) no comando e os comentários do MVP de Windows Desktop Experience Alexandro Prado (Líder MS-InfraRio), estamos de volta com mais uma edição mesa redonda da computação na internet brasileira!

Desta vez, convidamos o MCT Rafael Brunhosa para falar sobre este tema tão importante e atual na carreira de todos que trabalham com TI: Certificações. O que são, como tirar, sua importância, vantagens e ainda algumas polêmicas discussões sobre a falta de ética de alguns profissionais no processo.

Imperdível!

E não esqueça de assinar o nosso RSS. Assim você fica sabendo do lançamento de todas as nossas edições. Para tal, adicione o endereço http://blog.msriodotnet.com/podcasts-only/rss2.aspx no seu FeedReader preferido.

Download | Duration: 00:54:03

MSRio Podcast 6 Edição: Virtualização!

Após uma longa demora (Justificada, pois estavamos preparando uma edição especial para o blog action day, porém um problema com o nosso convidado, que era a nossa surpresa, fez com que a edição fosse cancelada) chegamos a 6 edição do nosso MSRio Podcast!

Nesta edição, com Rodrigo Moreira (MSP Lead e Líder do MSRio.net) e o MVP Alexandro Prado (Líder do MSInfra-Rio), além das discussões do assunto da semana (Crise Econômica Mundial e Informática, Notícias variadas e novos programas Microsoft), também tivemos um interessante bate-papo sobre um assunto que cada vez mais é realidade no mundo da TI: Virtualização!

Aproveitando o lançamento da edição, também aproveito para agradecer todos os ouvintes que fazem parte da família MSRio.Net, pois chegamos a grande marca de 1200 exibições das nossas até então 5 edições! Uma marca que seria impossível de alcançar se não fosse por vocês.

E você já sabe, caso queira participar do programa com dúvidas, sugestões, ou sendo um participante da edição é só enviar um email para podcast@msinfrario.com!



Download | Duration: 00:52:16



E não esqueça de assinar o nosso RSS. Assim você fica sabendo do lançamento de todas as nossas edições. Para tal, adicione o endereço http://blog.msriodotnet.com/podcasts-only/rss2.aspx no seu FeedReader preferido.

Blog Action Day 2008 - Nós fazemos parte!




O Blog Action Day é um evento anual, sem fins-lucrativos, que objetiva unir os bloggers, podcasters e videocasters do mundo todo para postar sobre o mesmo assunto, em um mesmo dia. O grande alvo é aumentar a atenção e engatilhar a discussão global sobre o assunto do dia.

Neste ano, a idéia é falar sobre a pobreza e nós não podemos ficar de fora. Portanto, aguardem até o dia 15/10 para ler a nossa opinião sobre o tema, envolvendo obviamente a tecnologia que tanto respiramos.

E veja aqui a lista de quem mais da blogosfera está ligado no Blog Action Day! http://blogactionday.org/en/blogs

MSRio Podcast 5 Edição - ASP.NET AJAX e Silverlight!

Com algum atraso, mas sempre presente, chegamos a nossa 5 edição!

Desta vez, atendendo a inúmeros pedidos, trouxemos direto de Goiânia o MVP Rodrigo Kono e líder do DevGoias para falar sobre as tecnologias que mais andam na moda quando tratamos de desenvolvimento para Web. Kono, que é MVP em ASP.NET e um dos maiores especialistas em tecnologias Web-Microsoft do país, nos proporcionou um divertido e principalmente instrutivo papo sobre Silverlight e ASP.NET AJAX. Como não podia ser diferente, o Podcast também contou com a presença de Rodrigo Moreira, MSP Lead do RJ & ES e Líder do grupo MSRio.Net, além do MVP em Windows Desktop Experience Alexandro Prado, líder do grupo MS-InfraRio.

Edição imperdível!

Download | Duration: 00:56:41



Links citados na edição:

Blog de Rodrigo Kono: http://kono.spaces.live.com

Artigo sobre ASP.NET AJAX e Update Panel: http://msdn.microsoft.com/pt-br/magazine/cc163413.aspx
 
Linha de Código:
Silverlight 2: Trabalhando com Web Services
Silverlight 2: Implementando Full Screen Mode (modo tela cheia)
Silverlight 2: Customizando a mensagem de Instalação do plugin

XamlCast:
http://feeds.feedburner.com/~r/xamlcast/~3/186815754/
 
E não esqueça de assinar o nosso RSS. Assim você fica sabendo do lançamento de todas as nossas edições. Para tal, adicione o endereço http://blog.msriodotnet.com/podcasts-only/rss2.aspx no seu FeedReader preferido.

MSRio Podcast 4a Edição! Notícias diversas e discussão sobre o novo Google Chrome!

Está no ar a 4a Edição do MSRio Podcast, o podcast dos grupos MSRio.net e MS-InfraRio! Nessa edição, tivemos como convidado especial um dos membros do grupo MSRio.net e discutimos sobre as  novidades tecnológicas da última semana, em especial um interessantíssimo debate sobre o mundo dos navegadores com a chegada do Google Chrome, imperdível! Confira em:

Download | Duration: 00:43:40



Para participar do podcast, envie seu email para podcast@msinfrario.com

E não deixe de assinar o rss do Podcast: http://blog.msriodotnet.com/podcasts-only/rss2.aspx

MSRio Podcast: 3 Edição! Tema: Comunidade e Trabalho no Exterior

E chegamos a nossa 3 Edição! Desta vez, além dos apresentadores Rodrigo Moreira (Líder MSRio.net) e MVP Alexandro Prado (Líder do MS-InfraRio), também contamos com Eduardo Bottcher.

Eduardo Bottcher é um profissional envolvido com comunidade Microsoft desde 2005. Atualmente Eduardo trabalha nos EUA, onde continua sendo um membro ativo na comunidade. Nesse PODCast, tivemos um divertido bate-papo sobre como as coisas funcionam na terra do tio Sam fazendo um paralelo sobre como as coisas funcionam por aqui.

Confira em mais essa edição!

Um abraço.

Download | Duration: 01:00:47



Para participar do podcast, envie seu email para podcast@msinfrario.com

E não deixe de assinar o rss do Podcast: http://blog.msriodotnet.com/podcasts-only/rss2.aspx

MS-Rio Podcast, Edição 2


O Podcast continua em sua 2 edição. Nesta quinzena, convidamos o excelente Igor Humberto (Culminis Speaker, Instrutor, Palestrante e um dos Gurus de TI do Rio de Janeiro) para debater sobre a nova versão do Internet Information Services, o IIS 7. Também contamos com o nosso sempre presente MVP Alexandro Prado e é claro, Rodrigo Moreira, líder do MSRio.net conduzindo o Podcast.

Confira as novidades da TI, do IIS nesse divertido podcast! Atendendo aos pedidos, abaixamos o volume da música de fundo.

Se você quiser participar das próximas edições, não esqueça: Envie o seu áudio, ou texto, com sua pergunta/sugestão/comentário para o email podcast@msinfrario.com

E não deixe de assinar o rss do podcast, no endereço:

http://blog.msriodotnet.com/podcasts-only/rss2.aspx


Download | Duration: 00:58:06

Discutindo metodologias: SDL x CLASP

Falando em segurança no desenvolvimento de aplicações, é ponto fechado a necessidade de se pensar em segurança a cada fase do desenvolvimento. Pensar em segurança somente na hora de encriptar informações, ou autenticar um usuário, não pode ser considerado como levar segurança a sério.

No contexto mundial atual, onde as aplicações se tornam cada vez mais interconectadas, é importante que todos envolvidos no processo de construção do software estejam alinhados e comprometidos com a segurança, de Gerentes de Projeto até Testadores.

Com o objetivo de formalizar e padronizar as interações dos papéis nos diversos momentos da construção de software, surgiu o conceito de Metodologia de Desenvolvimento Seguro. Na linha das metodologias, quem já foi em minhas palestras ou costuma ler os meus blogs há algum tempo, vai lembrar da metodologia segura desenvolvida e utilizada pela Microsoft, a SDL (Secure Development Lifecycle). Apesar de eficiente e totalmente alinhada com o conceito da Computação Confiável, a SDL não é a única metodologia disponível.

Criada pela OWASP (Open Web Application Security Project), o CLASP (Comprehensive, Lighweight Application Security Process) também é um mundo a ser considerado e é dele que falarei brevemente por aqui.

O CLASP, assim como o SDL, é uma excelente iniciativa, mas se você pensa em comparar "qual é o melhor", com certeza entrará em uma cruzada em direção ao erro. Acontece que as duas metodologias possuem sensíveis diferenças de filosofia e de impactos nos projetos, sendo necessário a avaliação de acordo com a realidade da equipe e dos projetos para que a decisão de adoção de uma das duas (ou uma terceira) seja tomada adequadamente.

A principal diferença entre os dois em meu ver é como as duas se relacionam com a metodologia de desenvolvimento habitual (Seja RUP, seja xP, seja o tão em moda SCRUM). A SDL prega ser, por si só, uma metodologia fechada de desenvolvimento, focado em segurança, exigindo inclusive uma equipe própria, dedicada e não interligada a equipe do desenvolvimento funcional, o que sem dúvidas aumenta o custo do projeto e de gerenciamento de pessoal. Já o CLASP, prega ser um "framework", um conjunto de processos que devem ser inclusos dentro dos processos definidos pela metodologia de desenvolvimento funcional escolhida. Devido a esta característica, o CLASP não exige uma equipe focada somente na segurança do software, possuindo uma tabela "de-para", relacionando quais papéis de sua metodologia se relacionam com quais papéis da metodologia funcional.

Já nessa pequena análise, se faz notório diferenças práticas dos impactos em custo e prazo que as duas metodologias trarão aos seus projetos (pois para ter segurança é necessário um impacto, que deve ser visto como um investimento de retorno garantido). O SDL tende a obter, em um mundo real, resultados mais claros e diretos pelo fato de que os profissionais estarão focados somente na segurança, esquecendo a parte funcional do projeto, porém exigirá um custo alto em contratação e gerência de pessoal. Já o CLASP, é mais viável de utilização em projetos comerciais menores, pois não exige uma nova equipe, o que diminui considerávelmente o custo, mesmo trazendo um impacto maior em prazos.

Para conhecer melhor o CLASP, visite o site da OWASP (www.owasp.org) e encontre a documentação completa da metodologia de desenvolvimento. A leitura dos documentos é importante, pois mesmo que essa não seja a metodologia escolhida, o conhecimento adquirido ao ler os documentos será de grande valia ao profissional.

Ainda com relação ao CLASP, considero que o capítulo 5 da documentação do CLASP é um "must have" para todo profissional, por ser uma documentação extensa e detalhada (mais de 200 páginas) somente de possíveis falhas de segurança, devidamente classificadas.

Por último, devo dizer que o site da OWASP é uma página obrigatória nos favoritos de cada desenvolvedor. O portal possui um excelente projeto de categorização de boas práticas e soluções de segurança no desenvolvimento, em especial para as duas plataformas mais populares do momento: O Java e o .net. Não deixe de passar por lá e de incorporar segurança aos seus projetos. O cliente agradece!