segunda-feira, 31 de março de 2014

#Sist.: COMPARATIVO ENTRE C# E JAVA


 Introdução

    Escolhemos a linguagem Java e C# pelo motivo que o Java é uma linguagem multiplataforma e o C# por ser uma linguagem nova que pode ser que possa substituir o Java, além disso as duas linguagens, de um certo modo são descendente do C e C++ e além do mais as duas linguagens são linguagem orientada a objetos (OOP) e possuem muitas semelhanças como mostra o quadro abaixo:
 
Característica
Implementação
Inspirado no C/C++
Boa parte da sintaxe de ambas as linguagens foi inspirada no C/C++, especialmente declaração de variáveis, funções e estruturas de controle.
Orientação a objetos
Ambas as linguagens suportam conceitos de programação orientada a objetos com a palavra reservada class.
Herança
Herança simples de classes a partir de ancestral comum e herança múltipla de interfaces.
Gerenciamento de memória
Automático, com “coletor de lixo”.
Tipagem forte
Todas as atribuições tem os tipos validados. Os “casts” são sempre verificados em tempo de execução. Não é possível violar o sistema de tipos.
Compila para código intermediário
Sim. No caso da Microsoft compila para “Intermediate Language” e no Java para “bytecode”.
Tratamento de erro
Exceptions.
Reflections
Ambas as linguagens suportam “reflections”.
Unicode
Ambas as linguagens usam o padrão Unicode para representar caracteres e strings.
Classe que não pode ser herdada
“final” em Java; “sealed” em C#.
Campo constante
“static final” em Java; “const” em C#.
Operador que verifica compatibilidade de tipos
“instanceof” em Java; “is” em C#.
A seguir falaremos um pouco sobre as linguagens Java e C#.

1 - Java

     Java foi desenvolvida por um grupo de pesquisadores da SUN Microsystems por volta de 1990, pouco antes da explosão da Internet. Essa linguagem possui estrutura muito semelhante à da linguagem C, da qual descende imediatamente. Java tem em comum com a linguagem C++ o fato de ser orientada a objetos e mantém com esta uma alto grau de semelhança. Esse paradigma de programação consiste de um grau a mais na abstração da programação, em comparação com a programação estruturada, e tem se mostrado extremamente útil na produção de programas cada vez mais sofisticados, em menor tempo e com maior qualidade. A programação orientada a objetos é hoje universalmente adotada como padrão de mercado, e muitas linguagens tradicionais foram aperfeiçoadas para implementar esse paradigma, como C++, Object Pascal, etc.

     Tendo sido originalmente concebida para o desenvolvimento de pequenos aplicativos e programas de controle de aparelhos eletrodomésticos e eletroeletrônicos, Java mostrou-se ideal para ser usada na rede Internet. O que a torna tão atraente é o fato de programas escritos em Java poderem ser executados virtualmente em qualquer plataforma, mas principalmente em Windows, Unix e Mac. Em meio a essa pluralidade, Java é um idioma comum, falado por todos. Isto significa que Java é ideal para expressar idéias em forma de programas universalmente aceitos. Soma-se a isso o fato de programas Java poderem ser embutidos em documentos HTML, podendo assim ser divulgados pela rede. Diferente da linguagem C, não é apenas o código fonte que pode ser compartilhado pela rede, mas o próprio código executável compilado, chamado bytecodes.

     Em contraste com a letargia de documentos tradicionais, Java acrescenta a interatividade entre o usuário e o documento que está sendo consultado, tornando-o mais expressivo, agradável e surpreendente. Java é ideal para a elaboração de material educacional, pois permite ilustrar claramente os conceitos enquanto possibilita um ensino individualizado.

     Há uma certa curiosidade por detrás do nome dado a essa linguagem de programação. Java é o nome de uma ilha do Pacífico, onde se produz uma certa variedade de café homônimo. A inspiração bateu à equipe de desenvolvimento ao saborear esse café em uma lanchonete local. Deram-se conta de como era extremamente apreciado por profissionais da área de software (ao menos nos Estados Unidos), de modo que não foi menos justo fazer-lhe homenagem ao batizar uma nova linguagem de programação.
 
1.1 - Processo de Compilação


     Um programa fonte escrito em linguagem Java é traduzido pelo compilador para os bytecodes, isto é, o código de máquina de um processador virtual, chamado Java Virtual Machine (JVM). A JVM é um programa capaz de interpretar os bytecodes produzidos pelo compilador, executando o programa cerca de 20 vezes mais lento do que C. Pode parecer ruim, mas é perfeitamente adequado para a maioria das aplicações. Com isto, um programa Java pode ser executado em qualquer plataforma, desde que esteja dotada de uma JVM. É o caso dos programas navegadores mais populares, como o Netscape Navigator e o Internet Explorer, que já vêm com uma JVM. A vantagem desta técnica é evidente: garantir uma maior portabilidade para os programas Java em código-fonte e compilados. Porém, as JVM tendem a ser programas extensos que consomem muitos recursos, restringindo assim o tamanho das aplicações escritas em Java.

     Atualmente, já existem compiladores capazes de traduzir bytecodes para instruções de máquina nativas, como o Just In Time compiler (ou JIT), tornando os programas ainda mais rápidos. Este compilador requer uma versão específica para cada plataforma onde se pretende que o programa Java seja executado. Em contrapartida à maior velocidade de execução está também uma maior necessidade de memória, pois os bytecodes compilados, em geral, ficam três vezes maiores do que o original. Uma alternativa bem mais interessante, e talvez muito mais viável, é a implementação da JVM em hardware na forma de uma placa ou microchip. A primeira iniciativa neste sentido é da Sun Microelectronics, que está produzindo os chips PicoJava I, MicroJava e UltraJava. Estes são capazes executar diretamente bytecodes, acelerando em milhares de vezes a velocidade de execução. Isto permitirá o desenvolvimento viável de aplicativos cada vez mais complexos, abrangentes e funcionais. Espera-se que estas soluções sejam brevemente empregadas na fabricação de telefones celulares, pagers, jogos, organizadores pessoais digitais, impressoras e eletrodomésticos de consumo, além aplicações mais sérias como estações de trabalho dotadas do sistema operacional JavaOS. Trata-se certamente do futuro das soluções para aplicações de rede.

  
2 - C#


     O C# (pronuncia-se “C Sharp”) é uma nova linguagem criada pela Microsoft em conjunto com a arquitetura .NET.  O símbolo # significa que a nota deve ser meio tom mais aguda. O C# traz este símbolo, pois possui uma linguagem com toda a robustez e cientificidade de sintaxe do C, só que agora "meio tom" melhorado.

     Nas últimas duas décadas, C e C++ foram as linguagens mais amplamente usadas para o desenvolvimento de software comercial e de negócios. Embora as duas linguagens proporcionem ao programador uma quantidade enorme de controle granular, esta flexibilidade possui um custo para a produtividade. Comparadas com uma linguagem como o Microsoft Visual Basic, aplicações C e C++ equivalentes frequentemente demoram mais para serem desenvolvidas. Devido a complexidade e longos tempos de ciclo associados a essas linguagens, muitos programadores C e C++ vêm procurando uma linguagem que ofereça um melhor balanceamento entre poder e produtividade.

     A solução Microsoft para este problema foi a criação da linguagem C#. Ele é  uma moderna linguagem orientada a objeto que habilita os programadores a construir rapidamente uma ampla gama de aplicações para a nova plataforma Microsoft .NET, a qual proporciona ferramentas e serviços que exploram totalmente a computação e as comunicações.

     Devido ao seu elegante projeto orientado a objeto, C# é uma escolha excelente para arquitetar uma ampla gama de componentes – de objetos de negócio de alto nível a aplicações no nível do sistema. Usando construções de linguagem C# simples, estes componentes podem ser convertidos em serviços Web, permitindo que eles sejam invocados pela Internet, a partir de qualquer linguagem rodando em qualquer sistema operacional.

     Principalmente, C# é projetado para trazer desenvolvimento rápido para o programador C++ sem sacrificar o poder e o controle que têm sido a característica fundamental do C e C++. Devido a esta herança, C# possui um alto grau de fidelidade com C e C++. Desenvolvedores familiarizados com estas linguagens podem se tornar produtivos em C# rapidamente. Porém o C# modifica bastante o C++ e não tem a pretensão de manter a compatibilidade, apenas a “familiaridade”.
 
2.1 - Processo de Compilação


     Os fontes em C# tem extensão “cs”. Todos os fontes em um “projeto” são compilados diretamente para um único “assembly” (.EXE ou .DLL). Não existe um arquivo intermediário (.OBJ ou .DCU) como no Delphi.

     Todo programa criado pelo compilador C# é dito “verificável”. Isto quer dizer que o compilador JIT (Just In Time Compiler) pode, em tempo de execução / compilação, verificar e garantir que o programa não faça nenhuma operação que possa comprometer a segurança e integridade do sistema.

     Pode parecer estranho, mas existem instruções MSIL (Microsoft Intemediate Language) capazes de abrir brechas na segurança do sistema, como por exemplo, para manuseio direto de ponteiros ou “casts” inseguros. Estas instruções são necessárias em alguns casos, como por exemplo para que a própria biblioteca chame a API do Windows. Programas que contém estas instruções são ditos “não-verificáveis”.

    O compilador C# pode criar programas não-verificáveis, incluindo manipulação direta de ponteiros, com a opção “/unsafe”. Já o compilador C++ sempre gera código não-verificável. Evidentemente é necessário um privilégio especial de segurança para rodar programas não-verificáveis.

     É perfeitamente possível criar programas bastante úteis sem violar os critérios de “verificabilidade” e, conseqüentemente, segurança.

3 - Conclusão
    
    Embora compartilhe características com o Java, o C# é uma linguagem que traz vários recursos muito interessantes que não ou existem no Java ou dão muito trabalho para implementar ou têm performance ruim. Porem o Java possui uma grande preferência por seu uma linguagem multiplataforma facilitando muito o serviço de muitos programadores. O C# é um grande candidato a se tornar uma linguagem utilizados pela maioria dos programadores, mas ainda é necessário analisar e efetuar muitos teste.

4 - Bibliografia


C#: A nova linguagem da arquitetura .NET
http://www.msdnbrasil.com.br/colunas/falandoc/col_falandoc_2.aspx
C# e Java
http://www.msdnbrasil.com.br/colunas/falandoc/col_falandoc_3.aspx
Por que o C# é melhor que o Java
http://www.mas.com.br/Artigos/CSharp_Java.htm
C# Language Specification
http://www.csharpbr.com.br/mostra_artigo.asp?id=0007
Introdução ao Java
http://www2.dm.ufscar.br/~waldeck/curso/java/introd.html

Autoria: Elisson Oliveira Lima

By: http://www.coladaweb.com/informatica/comparativo-entre-c-e-java

sexta-feira, 28 de março de 2014

#Sist.: O QUE É FRONT-END?


Ouve-se falar muito em desenvolvimento relacionado a FRONT-END no mundo da programação, aguçando o nosso conhecimento segue uma breve explanação do assunto...
   A construção de um site se faz por partes. Vez ou outra a gente fala com um desenvolvedor que diz “eu só toco o front”. Pois é... Front-end é toda a parte da apresentação visual de um site. A forma como o conteúdo se apresenta na tela, a estrutura hierárquica das informações e a aplicação do design para a exibição das informações. O documento apresentado pelo browser (ou navegador) é criado com HTML, e as transformações visuais com CSS. Essa é uma forma muito resumida de apresentar as ferramentas, mas basicamente esse é o nosso kit de trabalho.
 
   Além da apresentação visual do conteúdo, o desenvolvedor front-end também é responsável por uma variedade de ações para fazer com que o conteúdo alcance o seu potencial máximo.  
 
   No front-end é onde pensamos no S.E.O. (search engine optimization) e como vamos organizar nosso conteúdo para conseguir nos posicionar melhor nos navegadores - ou seja, como aparecer com mais destaque quando as pessoas fazem buscas como no Google, por exemplo. Também temos que pensar em como nosso conteúdo está estruturado para que ele seja acessível para todos os usuários. E já que estamos pensando na apresentação, temos que pensar que nosso conteúdo tem que estar disponível para quem acessa nosso site no computador ou no celular, tudo hoje tem que ser crossbrowser. Hum? É isso aí, o conteúdo deveria ser acessado numa boa por diferentes browsers/navegadores.  
 
   Por outro lado, nada pode ser feito deixando de lado a performance do nosso site. Se o conteúdo não for apresentado em um tempo razoável para os usuários, boa parte deles vai desistir do site. Vai dizer que você teria paciência de aguardar 1 minuto para um site abrir? Duvidamos :)
 
   E se quisermos avançar no desenvolvimento, podemos mergulhar fundo no mundo do Javascript, das animações com CSS3, no design responsivo e outros tantos temas que estão circulando essa área. Em breve vamos falar mais dele...
 
Como o front-end se insere no ambiente de desenvolvimento - front / back?
 
   Na equipe de desenvolvimento, um sistema passa por 3 momentos muito importantes. O primeiro é o de planejamento e design do sistema. Precisamos pensar em como as informações serão organizadas, bem como quais cores e elementos visuais farão parte do layout do site. E mais: como serão as interações entre as páginas e conteúdos e tudo que envolve a criação de uma identidade para aquele sistema.
 
   Muito bom, o design está criado... E agora? Aí chega a hora do desenvolvedor front-end transformar aqueles desenhos em “realidade”. É dele a responsabilidade de converter aquilo que era a apresentação visual do sistema na parte do site com a qual os usuários vão interagir. Ele é quem decide como marcar o conteúdo da página, como implementar o estilo criado pela equipe de design e como trabalhar o conteúdo para se comportar com todas as restrições que mencionamos há pouco.
Por fim, a equipe de back-end entra em jogo para resolver como o sistema vai realmente funcionar: como as informações serão salvas no banco de dados, como os usuários vão acessar essas informações e como os servidores vão responder às requisições dos usuários. Em breve vamos publicar um post te explicando em mais detalhes como funciona o desenvolvimento back-end.
 
Que tipo de emprego um profissional que trabalha com front-end pode ter?
 
   Agora você já entende melhor o que é front-end. E quanto a empregos nesta área... O que existe por aí? Um desenvolvedor front-end pode trabalhar em qualquer empresa que tenha um sistema, ou desenvolva sistemas. Desde um simples aplicativo de calculadora para celulares até um sistema gigante e complexo como o de uma rede social. Onde há software há pesquisa e desenvolvimento contínuos, e com o ritmo de informações e novidades que surgem a cada dia, emprego não vai faltar para quem estiver bem preparado! Há milhares (de verdade!) de oportunidades de emprego em desenvolvimento de software. Saca só este número: nos EUA, daqui a uns 5-6 anos, vai haver 1 milhão de vagas ligadas a programação não preenchidas por falta de profissionais. O nosso Brasil deve perder mais de 100 bilhões de reais (uau!) até 2020 por falta de profissionais de TI e investimento em infraestrutura.
 
  

 
By: http://mobgeek.com.br/blog/o-que-e-front-end
 
 

quinta-feira, 27 de março de 2014

#Sist.: GET STARTED USING HTML5

   Olá pessoal do blog EngenhariaSistematica, hoje abordaremos uma linguagem de programação que está crescendo exponencialmente... Uma linguagem que em tese veio para ajudar os entusiastas de desenvolvimento WEB. Essa é uma apresentação bem bacana e bem didática, com toda a estrutura adequada para se programar em HTML5. Valeu e vamos mergulhar!!!

HTML5, currently under development, offers many more features and possibilities for developers. HTML5 is not some big change, it is merely new features and possibilities available that does not require existing markup to be thrown away. HTML5 will improve web applications, not completely change them. And best yet, HTML5 is already supported!

In this tutorial we will take a look at some of the differences with HTML5 and how to create a simple HTML5 compatible webpage. The tool we will be using for this tutorial is Microsoft’s WebMatrix. WebMatrix is a free tool that allows you to create, customize and publish websites. It’s amazingly easy to use, and can be downloaded from www.microsoft.com/web/webmatrix.

Are you unfamiliar with HTML? Read this simple and quick tutorial on HTML: learn html part 1.

HTML5’s new page markup


If you have had any experience HTML before, you know that the structure of an HTML document is quite simple. It will look something like this:
<html>
    <head>
        <title>Page Title</title>
    </head>
    <body>
        Page Content
    </body> 
</html> 

However, if you have used HTML before you know that you must declare a <DOCTYPE> tag as well as a <meta> tag. The <DOCTYPE> is used to tell the browser what version of markup language is used on the page which results in a large tag with a lot of typing. An example of a <DOCTYPE> you may declare at the top of your html page would be:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/
xhtml1/DTD/xhtml1-transitional.dtd">

That’s a lot of stuff right? HTML5 improves that part of the HTML page. With HTML5, our webpage can simply look like this:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="yourcss.css" />
        <title>Your title here</title>
    </head>
    <body>
    Your content here
    </body>
</html>

It’s not much different from the HTML page structure. With HTML5, our page structure is more concise, requires less typing and means less room for error!

New HTML5 Elements


In addition to the small changes in the page markup, HTML5 also introduces some new elements. Some of these elements are replacements for commons blocks of tags such as <div> tags used to specify the header, footer and nav parts of a HTML page.

A few of the new HTML5 elements:

  • <section>: can be used to group content together on a webpage.
  • <nav>: represents the section of the page that contains the navigation links.
  • <article>: defines external content such as a news article or a blog.
  • <header>: defines an introduction to the page.
  • <hgroup>: defines the heading of a section. It groups headers, <h1> - <h6>
  • <footer>: defines the footer of a section or document.

There are several more new elements in HTML5. In addition to these new tags, HTML5 makes it simple to add audio and video easily to an html file with <audio> and <video> tags. Developers will no longer need to embed audio and video into their webpages. There are separate tutorials for adding the <audio> and <video> tags to a website.

Using WebMatrix to create a simple webpage


Do you have WebMatrix downloaded and installed? Check out Getting Started with Webmatrix, part 1 for step by step instructions on downloading and installing WebMatrix.

WebMatrix gives you a number of different ways that you can create a new web site. You can use an existing open source application such as WordPress, Joomla, DotNetNuke or Umbraco, or you can create a site yourself by either coding everything or by using a small, simple template. For this example, we will be using an empty site template.

On the WebMatrix welcome screen, you will see all the different options you have for creating a website. Click “Site From Template.”



Here you will see all different templates given to you with WebMatrix. Choose the “Empty Site” template, give it a name and click OK.



Clicking ok will take you to your WebMatrix workspace. This contains information about your local host as well a provides resources on developing your site.



You’ll notice that WebMatrix allows you to move between different workspaces by selecting the buttons on the left hand side. At present the Site button is selected which gives you details on your web site, such as the URL of the site, and other tools that you can use such as monitoring your site requests. You can look into this workspaces as you work but for this article, we will be working with our Files workspace. To get to your Files workspace, click the "Files" tab on the lower left hand of WebMatrix.



We will now be in our files workspace. Notice that we do not have any files that make up our website. Let's create a webpage for our site. Click on the new document icon, create a new html file, give it a name and click ok.



When your file is created, you will have a basic, empty html page. Look familiar? Our html page is already using HTML5 markup!
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        
    </body>
</html>

Adding Semantic Value by using the new HTML5 structure elements


We can add even more structure to our webpage by using the new HTML5 structure elements. Instead of using <div> tags that do not really mean anything, we can use the new structure elements to give more meaning to our webpage. What’s the big deal of using the new HTML5 structure elements you ask? The new elements add semantic value to your webpage. It also makes it easier for people to understand the structure of your page better by lumping related information together with more descriptive tag names. This is especially important for people who use screen readers to view your page.

Using the <header> tag


Many websites use headers, usually to display their company logo, search bar, and other such information at the top of the page. In the <body>, the header was normally written as:
<div id="header">
     <h1>Using HTML 5 structure elements</h1>
</div>

This markup is HTML5 valid and is still a perfectly fine way to structure your webpages. But, why not use the new <header> tag? Using a <header> tag instead of a regular old <div> with an id of “header” will add semantic value to your webpage.

In our .html file, add a header to your page using the new <header> tag. Our <header> tag should contain any introductory information, a search form, a table of contents, or even a navigational menu. Your <header> tag could look something like this:
<header>
     <h1>Using HTML 5 structure elements</h1>
</header>

Note: Your webpage can contain more than one header element. The header tag is used to represent the heading of a section or of a document.

Using the <nav> tag


Navigation bars are an important part of your webpage. It includes links to different parts of your site. The new <nav> tag allows you to group these links together, creating a more semantic markup. Navigation is usually defined using a

tag. Like so:
<div id="nav">
   <ul>
      <li><a href="">Home</a></li>
      <li><a href="">About</></li>
      <li><a href="">Contact</a></li>
   </ul>
</div>
The ordinary <div> tag can be replaced with the new <nav> tag. Using a <nav> tag to denote where our navigational menus are provides more semantic value and makes it easier for people using screen readers to understand the structure of our site better.
In our .html file, add some navigation links to your page:
<nav>
   <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
   </ul>
</nav>
Note: Navigation menus of your webpage can appear in the header of your page. Therefore, it is quite alright to nest your <nav> tag within a <header> tag.

Using the <footer> tag

The <footer> tag is similar to the <header> tag, only it goes at the bottom of the webpage. A footer usually contains information about copyright data, the date it was last updated, the creator of the webpage, links to more pages and information, etc. Similar to headers, it can be written as valid HTML5 using a <div> tag like so:
<div id="footer">
   Copyright &copy; 2010.
   Updated: 11 November 2010.
</div>
You can still define your footer this way and it will be valid HTML5, but why not use the new <footer> tag? It will add more semantic value to your page.
In our .html file, add a footer to your page:
<footer>
   Copyright &copy; 2010<br /> Updated: <time datetime="2010-11-11">11 November 2010</time>
</footer>
Note: a webpage may contain more than one <footer>, such as a footer for a section as well as a footer for the webpage. Footers cannot be nested within a <header> tag or <footer> tag. It also cannot contain a <header> tag within it.
Notice we used a <time> element in our footer. The <time> element is used to define a time, date, or both. We can use this element to add even more semantic value to our page.

Using the <section> element

The section tag defines a section in our document. There can be many <section> elements on your page. <Section> should not be used to replace <div> tags on your page, but to denote different sections of your webpage or parts within your page.
Pretend our site will be a site where we will post blog updates about ourselves. In theory, we will probably have more than one post. We can use the <section> element to group our post content together. Let’s add a section to the body of our webpage. Somewhere before our <footer> add a section element:
<section>
   <hgroup>
      <h2>My Most Current Post</h2>
      <h3>I went on Vacation!</h3>
   </hgroup>                     
   <p>I was able to go on vacation. I decided to go on an adventure to explore all the old 
lighthouses along the upper east coast. It was a fun trip! </p>
   <p class="image"><img src="Lighthouse.jpg" alt="lighthouse" height="200px" /></p>
</section>
Our posts will contain a title, subtitle, text, and possibly a picture or anything else we would want to add. Using the <section> element, we can group all this content together.
Notice, since we have 2 separate headings for our post, we group them together using the <hgroup> element. The <hgroup> element is used to group together headings of a section or document where there is a main heading with subheadings. If we were to use a single heading for our post, it would be more valid to simply use the <header> element instead.

Looking at our page

Run or open your webpage. It does not look different than if you used <div> tags instead of the new HTML5 element tags.

Note: Styling your webpage with CSS may require you to put your elements within <div> tags. Some CSS cannot be applied properly to the new HTML5 elements.
With style added to our page, the structure we have created by using these HTML5 elements is apparent:

We have our page structured with a header, a navigation menu, our two blog posts, and a footer.
The css used to style our HTML5 webpage is:
body { 
   margin:0; 
   padding:0; 
   background:white; 
   font-family: Tahoma; 
   font-size:14px; 
}
    
#page { 
   width:1000px;
   background:white; 
   margin:auto;
   padding:0;
}

header { 
   height:100px;
   width:960px;
   padding:20px;
   display: block;
   width:100%; 
}
    
nav { 
   float:left; 
   width:210px; 
   margin:20px;
   border:1px solid black; 
   display:block;
}
    
nav ul { 
   list-style:none; 
   list-style-type:none; 
   margin:0; 
   padding:0; 
   font-size:1.6em; 
   font-weight:bold; 
} 
        
nav ul li { margin:5px;  }

#posts {
   width:700px; 
   margin:20px 10px 10px 260px; 
}

footer { 
   font-size:0.8em;
   text-align:center; 
   margin-top:10px; 
   display:block;
   width:100%; 
}

h1 { 
    font-size: 3.5em;
    margin-top: 10px; 
    text-align: center;
}

h2 { font-size: 2.0em; margin:0; }
h3 { font-size: 1.4em; margin:0; }

p { 
    font-size: 1.0em;
    padding: 10px;
}

.image { text-align: center; }

hgroup { text-align: center;}

#post {
   border-bottom: 1px dashed black; 
   margin-bottom: 20px;  
}


BY: http://www.microsoft.com/web/post/get-started-using-html5

O PROTOCOLO WIRELESSHART

 No artigo de hoje, falaremos um pouco mais sobre o WirelessHART™.

A necessidade de agilidade na obtenção de dados e a facilidade na instalação dos equipamentos de campo têm feito com que a indústria tenda a utilizar sistemas de redes sem fio (wireless) para aquisição de dados ou até mesmo controle de processos em locais de difícil acesso. Esse artigo descreve um dos protocolos que a indústria pode adotar para execução de controle de processos com significativos benefícios referentes à manutenção e a segurança operacional, o WirelessHART™.

1. Introdução

As redes sem fio (wireless) se tornam cada vez mais difundidas em todos os ambientes, seja ele industrial ou residencial. As transmissões das estações de rádio, de televisão através de torres e satélites, os telefones sem fio e os celulares, as LANs (Local Area Network) de shoppings e bibliotecas, são exemplos típicos de aplicações wireless. A indústria, por sua vez, ainda utiliza muito pouco dessa tecnologia. No entanto, com o surgimento das necessidades por dados e informação em tempo real, mobilidade e economia nos custos com cabos (redes físicas) a tecnologia wireless, apesar de algumas resistências e dúvidas (principalmente relacionadas à confiabilidade e à segurança) começa a ser observada com mais atenção quanto aos benefícios que pode fornecer. O mundo da automação industrial, em alguns casos, já esta se familiarizando, quebrando paradigmas e adotando essa tecnologia através do WirelessHART™, protocolo que descrevemos a seguir.

2. Histórico do WirelessHART

O protocolo HART foi desenvolvido pela fundação americana HART Communication Foundation (HCF), no final da década de 80. Esse protocolo veio se desenvolvendo com o passar dos anos até chegar a uma evolução significativa em meados de 2007, a especificação do HART 7. Além do aperfeiçoamento das revisões anteriores, houve a inclusão do WirelessHART™, um padrão aberto e interoperável que endereça a comunicação wireless – com simplicidade, robustez e segurança entre instrumentos de campo HART. Veja Figura 1.
Evolução do protocolo HART
Figura 1 – Evolução do protocolo HART através dos anos (atualmente existe, aproximadamente, 32 milhões de instrumentos instalados).
 
Apesar de existir outras tecnologias wireless como Infrared, Bluetooth e ZigBee, o WirelessHART™ (HART 7) é o mais adequado para ser instalado em ambientes industriais. Pois referente ao infrared e Bluetooth, a distancia do WirelessHART™ é bem maior. E referente ao ZigBee, existe uma camada de segurança e outra de distribuição de dados padrão da HART que é muito mais confiável e segura.

3. Características do WirelessHART™

O uso da tecnologia wireless na indústria deve seguir algumas recomendações citadas pela NAMUR NE 124 com relação a alguns requisitos da automação:

3.1. Interoperabilidade/Intercambiabilidade

A aplicação wireless deve garantir interoperabilidade e intercambiabilidade. Recomenda-se que não haja uso de soluções wireless proprietárias e sim redes não proprietárias, uniformidade da tecnologia de conexões (antenas), das medidas de segurança e das fontes de alimentação (baterias).

3.2. Disponibilidade e Confiabilidade

A aplicação wireless adotada necessita ter alta disponibilidade e confiabilidade. Fabricantes e usuários estão envolvidos nesse processo e são responsáveis por elas.

3.3. Tempo real

Em suas áreas de aplicação, a capacidade da rede em atender cenários de tempo real deve expor com clareza os termos de parâmetros determinísticos e de latência, por exemplo.

3.4. Segurança

É recomendado que a aplicação wireless tenha medidas de segurança como a codificação dos dados transmitidos, controle de acesso à rede wireless através de autenticação e autorização e que a solução possua links seguros com a rede mestre (master network).

3.5. Coexistência

É recomendado a coexistência de tecnologias (Bluetooth, ZigBee e WLAN, por exemplo), quanto a de aplicações (rede wireless de sensores e terminais de controle portáteis, por exemplo) sem que uma possa interferir na outra.

3.6. Fonte de alimentação

Geralmente os instrumentos wireless utilizados como elementos finais são energizados por baterias. Recomenda-se que para minimizar os custos gerados pela operação com baterias que a substituição delas seja fácil e os procedimentos sejam seguros, que existam previsões precisas quanto à carga residual das baterias bem como haja proteção contra explosões. Também pode-se utilizar como fontes de alimentação um pequeno painel de energia solar e ainda, alimentação de 24V, ligando o transmissor à tomada. Porém, neste último caso, perde-se a mobilidade da tecnologia, já que não se poderá levar o transmissor para qualquer lugar. Veja Figura 2:
Tipos de fontes de alimentação dos equipamentos WirelessHART
Figura 2 – Tipos de fontes de alimentação dos equipamentos WirelessHART

3.7. Auto-monitoração e diagnóstico

É recomendada a disponibilização de informações / estatísticas sobre o nível de potência de transmissão, carga da bateria, a identificação de erros ou ataques de usuários não autorizados, a carga da rede wireless e a latência.

3.8. Integração transparente com sistemas de automação

Recomenda-se que a solução wireless adotada não impeça ou dificulte a integração dos instrumentos aos sistemas de automação.
Baseadas nessas recomendações, seguem as principais características do WirelessHART:
  • É baseado no protocolo HART, com isso há a compatibilidade com instrumentos de campo, aplicações e ferramentas HART já instalados;
  • A camada física e de controle ao meio de acesso (MAC) são baseados no padrão IEEE 802.15.4-2006;
  • Sua faixa de operação de frequência ISM1 de 2,4 GHz à taxa de 250 Kbps;
  • Características similares de protocolos de barramento de campo:
    • publicação de variáveis de processo;
    • notificação espontânea de exceções;
    • transferência automática de dados muito grandes por meio de bloco de dados segmentados;
    • variáveis de processo passam a ter, além do valor, também o estado.
  • Utiliza encriptação e autenticação para garantir que a comunicação seja segura;
  • Facilidade na operação e instalação de rede e instrumentos de campo.
  • Utiliza topologias estrela (star), malha (mesh) e estrela – malha (star – mesh);
  • A rede WirelessHART™ organiza-se e recupera-se de falha automaticamente. Isso significa que os instrumentos de campo são roteadores por natureza e tem a capacidade de encontrar nós vizinhos e mensurar as intensidades de sinal de rádio frequência (RF) para estabelecer caminhos e links com os instrumentos vizinhos. Quando ocorre falha um caminho alternativo é ativado aumentando assim a disponibilidade do instrumento.
  • Na camada de enlace a comunicação na rede WirelessHART™ usa Time Division Multiple Access (TDMA) e é fortemente sincronizada. Cada instrumento armazena um senso de tempo de rede preciso e mantém sincronizado com todos os instrumentos vizinhos. Existe um tempo periódico no qual são alocadas todas as comunicações cíclicas e acíclicas entre os instrumentos conhecido como superframe. Esse tempo garante a inexistência de colisões na rede e uma forma eficiente dos instrumentos terem baixo consumo, tendo em vista que permanecem em modo de espera até o momento de transmissão / operação;
  • Possui técnicas para garantir a coexistência entre instrumentos instalados baseados em outras tecnologias wireless:
    • Potência de transmissão ajustável – um instrumento pode ajustar a potência de transmissão, para manter a comunicação com outro instrumento;
    • Frequency hopping – os pacotes são transmitidos em diferentes canais de frequência. Desse modo a potência do sinal é distribuída por canal, o que ameniza a interferência na comunicação;
    • Clear Channel Assessment (CCA) é a função lógica na camada física que determina o estado de utilização de um meio wireless. É usado para decidir o melhor momento para transmissão de um pacote e através da existência ou não de atividade do meio sem fio;
    • Blacklisting – quando ocorre a interferência em um canal, este canal começa a fazer parte de uma lista de canais inoperantes. A comunicação continuará através dos outros canais que não presentes nesta lista, não utilizando assim os canais com interferência.
  • Todas as suas mensagens têm uma prioridade definida. Garantindo qualidade do serviço e permitindo que se reserve largura de banda para as comunicações de alta prioridade e cíclicas;
  • Seus instrumentos podem ser alimentados através de baterias, energia solar e por potência retirada da própria malha de controle ou linha;
  • Envia diagnósticos relacionados à tensão atual das baterias e tempo de vida delas.

Recapitulando sobre as características do WirelessHART™

É simples…

  • Coexistência com outras redes;
  • Facilidade de instalação;
  • Rede auto-organizável;
  • Interoperabilidade.

É confiável…

  • Frequency hopping;
  • Blacklisting;
  • Clear Channel Assessment.

É seguro…

  • Autenticação do equipamento;
  • Chaves de segurança;
  • Indicações de falhas/tentativas de autenticação.
É construído sobre uma plataforma operacional IEEE 802.15.4 rádio na faixa ISM que não requer licença para funcionamento, incluindo a faixa de 2,4 GHz. WirelessHART™ é um padrão globalmente disponível com um transmissor de rádio 10 mW. Utiliza o recurso Blacklinsting para ignorar frequencias contaminadas, que não pode ser utilizada em determinada região. Veja Figura 3:
Blacklisting em WirelessHART
Figura 3 – Ilustração de uma Blacklinsting
 
WirelessHART™ emprega Time Division Multiple Access (TDMA) para gerir a forma como o espectro é usado ao longo do tempo. Cada transmissão ocorre em uma janela de 10 ms chamado de “time slot” e em um dos 15 canais com sincronismo muito preciso. Se a comunicação não for necessária, os dispositivos entram em modo hibernação para economizar energia. Veja Figura 4:
Time slot (WirelessHART)
Figura 4 – Time slot
 
A tecnologia wireless oferece muitos outros benefícios para o mundo industrial e tudo se adequa. Por exemplo, se na indústria existem equipamentos, já instalados, que transmitem sinal somente 4 a 20 mA ou façam parte da família HART5 e 6, estes equipamentos podem ser  facilmente adaptados para o WirelessHART™ (HART7). Basta instalar um adaptador específico para converter o sinal desses equipamentos em sinal WirelessHART™ e transmitir (disponibilizar) este sinal para a rede WirelessHART™. Veja Figura 5:
Adaptador WirelessHART
Figura 5 – Exemplo de adaptador WirelessHART disponível no mercado.
Lembra-se, quando houver esta adequação, apenas a transmissão do sinal será WirelessHART™, e não haverá a mesma mobilidade que os instrumentos com tecnologia WirelessHART™ possuem por natureza, já que estes equipamentos, anteriormente instalados, não podem ser alimentados por bateria ou energia solar, como é o caso dos equipamentos WirelessHART™.
Por enquanto é isso. Espero a colaboração de vocês, afinal, a crítica construtiva é sempre bem vinda. No próximo post vou falar sobre a Arquitetura do WirelessHART™. Pela big cooperação, agradeço aos meus colegas de trabalho: Engª. Rafaela Castelhano Souza, Eng. Lellis do Amaral Campos Junior, Eng Evandro Raphaloski e Eng. Alex Leal Ginatto.
 

Arquitetura do WirelessHART™

Baseado no modelo OSI, o protocolo WirelessHART é composto por cinco camadas: aplicação, transporte, rede, enlace e física. A camada de rede foi incluída para suportar a topologia mesh, pois na arquitetura “com fio” do HART esta camada não existia.
E também, houveram algumas alterações nas camadas de enlace e física.
Modelo OSI e Comparativo entre Protocolo HART e WirelessHART
Figura 1 – Modelo OSI e Comparativo entre Protocolo HART e WirelessHART™.
FONTE: JUNIOR, L. A.C. (2009). WirelessHART – Tecnologia Wireless Aplicada a instrumentos de campo. C&I Controle & Instrumentação. São Paulo, Brasil, pp.74-78.
 
Uma rede WirelessHART™ possui basicamente três dispositivos principais, veja Figura 2:
  • Instrumentos (Wireless Field Devices): equipamentos de campo que se comunicam bidirecionalmente;
  • Porta de Ligação (Gateways): permitem a comunicação entre os equipamentos de campo e as aplicações de controle;
  • Gerente de Rede (Network Manager): responsável pela configuração da rede, gerenciamento da comunicação entre os dispositivos, rotas de comunicação e monitoramento do estado da rede. O Network Manager também pode ser integrado em um gateway, aplicação no host ou em um controlador de processo.
Estrutura de uma rede WirelessHART
Figura 2 – Estrutura de uma rede WirelessHART™
FONTE: JUNIOR, L. A.C. (2009). WirelessHART – Tecnologia Wireless Aplicada a instrumentos de campo. C&I Controle & Instrumentação. São Paulo, Brasil, pp.74-78.
 
O que diz respeito à topologia, uma rede WirelessHART™ pode ser do tipo estrela (star), malha (mesh) e estrela-malha (star-mesh):
Topologias de rede suportadas pelo WirelessHART
Figura 3 – Possíveis topologias de rede suportadas pelo WirelessHART™
FONTE: JUNIOR, L. A.C. (2009). WirelessHART – Tecnologia Wireless Aplicada a instrumentos de campo. C&I Controle & Instrumentação. São Paulo, Brasil, pp.74-78.
  • A topologia malha (mesh) é onde todos os nós são roteadores e, por isso, torna-se uma rede muito confiável, com alta disponibilidade e redundância de caminhos.
  • A topologia estrela (star) é caracterizada por possuir apenas um roteador conectado a vários instrumentos e é geralmente utilizada para pequenas aplicações.
  • A topologia estrela-malha (star-mesh) é uma combinação das topologias estrela (star) e malha (mesh).

Recapitulando sobre a Arquitetura do WirelessHART™

Baseado no modelo OSI, o protocolo WirelessHART™ é composto por cinco camadas:
  • Aplicação;
  • Transporte;
  • Rede,
  • Enlace;
  • Física.
Uma rede WirelessHART™ possui basicamente três dispositivos principais:
  • Instrumentos (Wireless Field devices);
  • Porta de Ligação (Gateways);
  • Gerente de rede (Network Manager).
O que diz respeito à topologia, uma rede WirelessHART™ pode ser do tipo:
  • malha (mesh);
  • estrela (star) e;
  • estrela-malha (star-mesh).
Rede WirelessHART (topologia mesh)
Figura 4 – Exemplo de uma rede WirelessHART™ com a topologia mesh.
 
Lembrando que todo instrumento WirelessHART™ é um roteador por natureza. Esta é uma particularidade deste protocolo que não permite que esta funcionalidade seja desabilitada. (Mais um assunto para ser abordado quando estudarmos sobre o ISA100).
 

1. Comissionamento

Comissionar é estabelecer a missão do equipamento na planta. Consiste em dedicar um equipamento qualquer a um uso específico na aplicação industrial. Ou seja, comissionamento de um instrumento é o processo de assegurar que os sistemas e componentes de uma rede estejam projetados, instalados, testados, operados e mantidos de acordo com as necessidades e requisitos operacionais pré-estabelecidos.
Em uma rede WirelessHART esse processo é simples e é realizado através dos seguintes procedimentos: Inicialização e Conexão de um instrumento WirelessHART à rede.

1.1. Inicialização

Esse procedimento, o Gateway – deve ser o primeiro instrumento conectado à rede – recebe o identificador da rede wireless, a senha da rede e o nível de segurança. Em contra partida, o instrumento de campo deve ser configurado em bancada por um programador portátil onde é configurada a senha da rede, o identificador da rede e a taxa de atualização.
Inicialização dos equipamentos realizada na bancada:
Procedimento de inicialização (WirelessHART)
Figura 1 – Procedimento de inicialização

1.2. Conexão do instrumento de campo à rede Wireless

Logo após efetuar o procedimento de inicialização, o instrumento de campo já pode ser inserido ao processo onde ele realizará medição ou monitoramento. Utilizando-se ainda o programador portátil, passa-se ao procedimento de conexão do instrumento de campo à rede WirelessHART. No instante em que o gateway emite um anúncio, o instrumento de campo solicita uma conexão à rede, da qual necessita conter o identificador de rede (TAG) e a senha anteriormente configurados. Caso a autenticação seja positiva, o instrumento de campo é autorizado a conectar-se à rede, assim como chaves de segurança e informações respectivas ao agendamento e roteamento. Após esse procedimento, o instrumento de campo já está “comissionado” e pode enviar dados pela rede. Veja Figura 2:
Procedimento de conexão do instrumento de campo à rede (Wirelesshart)
Figura 2 – Procedimento de conexão do instrumento de campo à rede Wireless

Dependendo do tamanho da rede WirelessHART, por exemplo, com baixa quantidade de instrumentos de campo conectados, a topologia da rede pode ser do tipo estrela, que tem como característica a baixa latência e possui uma linha direta entre os instrumentos (devices) e o Gateway. Veja Figura 3:
Topologia estrela, baixa quantidade de instrumentos de campo (WirelessHART)
Figura 3 – Topologia estrela, baixa quantidade de instrumentos de campo

De forma que mais instrumentos sejam conectados à rede, a topologia tende de forma automática migrar para o tipo mesh, na qual terá possivelmente uma maior latência, contudo terá também maior robustez, confiabilidade e disponibilidade. Veja Figura 4:
Topologia mesh com uma quantidade maior de instrumentos de campo (WirelessHART)
Figura 4 – Topologia mesh com uma quantidade maior de instrumentos de campo

2. Aplicações

A tecnologia sem fio propicia um grande leque de aplicações, desde a adição de medidas que se encontravam fora do alcance físico ou econômico, até o monitoramento de toda a planta, tais como ativos e acompanhamento de pessoas, segurança e produtividade do funcionário. Entretanto, a equipe de especificação WirelessHART reconheceu que nenhuma tecnologia é capaz de atender todas as aplicações.
Sua abordagem foi se concentrar em funções básicas de automação de processos, onde não havia nenhum padrão wireless apropriado. Assim como a tecnologia HART com fios, WirelessHART, portanto, suporta a gama completa de aplicações de controle e acompanhamento de processos, incluindo:
  • Equipamentos e acompanhamento do processo;
  • Monitoramento ambiental, gestão de energia, de conformidade regulamentar;
  • Gestão de ativos, manutenção preventiva, diagnósticos avançados;
  • Circuito fechado de controle (quando apropriado).

3. Considerações

A rede sem fio, ao nível de instrumento, não pretende substituir 4 a 20 mA cabeado ou nenhuma outra rede de campo 100% digital. O WirelessHART foi desenvolvido para complementar redes cabeadas em situações onde a instalação é difícil e os custos são elevados ou quando uma segunda rede de manutenção é benéfica.
O desempenho dos dispositivos e das redes sem fio são insuficientes para as exigências de controle de processo crítico e de intertravamentos. Os instrumentos somente sem fio (à bateria) teriam uma qualidade limitada de energia disponível e consequentemente taxas de atualização do processo (embora variáveis) estão geralmente na faixa de 30 s ou vários minutos.
Apesar de existirem outras tecnologias Wireless como Infrared, Bluetooth e ZigBee, o WirelessHART é o mais adequado para ser instalado em ambientes industriais, pois ele é apenas a junção das tecnologias que já existiam. O que houve foi a junção do HART + Wireless, tecnologias consolidadas, padronizadas e difundidas em seus respectivos ambientes, fato esse que propicia mais confiabilidade e segurança para adoção do WirelessHART no meio industrial. O WirelessHART é também uma tecnologia flexível, pois pode ser instalada com alimentação via bateria (menor autonomia na atualização de dados) ou com alimentação convencional. Opcional com adaptador Wireless externo (disponível em diversos modelos e de diferentes fabricantes), para aproveitar os equipamentos já instalados, ou com novos equipamentos que possuem o Wireless embarcado. Atua em controle simples ou complexos (rede mesh, mais segura). Todo device é um roteador. Possui a capacidade de organizar-se e recuperar-se de uma falha, automaticamente. WirelessHART possui 16 canais.
A comunicação entre os devices é criptografada, por tanto segura, com senhas individuais ou comuns. O equipamento é identificado na rede pelo TAG (32 caracteres).

3.1 Baterias

Perguntas que devem ser feitas referente a bateria para especificação de um processo:
  • Qual é a temperatura ambiente que o device será submetido?
  • Quantos vizinhos cada device tem ou terá interoperabilidade?
  • De quanto em quanto tempo a informação do processo será atualizada?
Concluindo, as redes sem fio para instrumentação têm seu lugar ao lado das versões cabeadas e devem ser consideras com certos cuidados.

Referências

Gareth Johnston, 2010, Liberando as informações deixadas de lado A evolução do adaptador WirelessHART da ABB. C&I Controle & Instrumentação. São Paulo, Brasil, pp.51-56.
Lellis do Amaral Campos Junior, 2009, WirelessHART – Tecnologia Wireless Aplicada a instrumentos de campo. C&I Controle & Instrumentação. São Paulo, Brasil, pp.74-78.
Jianping Song, Song Han, Aloysius K. Mok “et al”. WirelessHART: Applying Wireless Technology in Real-Time Industrial Process Control. IEEE Real-Time and Embedded Technology and Applications Symposium. 1080-1812/08  © 2008 IEEE DOI 10.1109/RTAS.2008.15.
Wireless HART Technology. Disponível em:http://www.hartcomm.org/protocol/wihart/wireless_technology.html. Acessado em: 11 de jun. de 2011.
Wireless HART – How it works. Disponível em:http://www.hartcomm.org/protocol/wihart/wireless_how_it_works.html. Acessado em: 11 de jun. de 2011.
Wireless HART Applications. Disponível em:http://www.hartcomm.org/protocol/wihart/wireless_applications.html. Acessado em: 11 de jun. de 2011.
The Components of WirelessHART technology. Disponível em: http://www.hartcomm.org/protocol/wihart/wireless_components.html. Acessado em: 11 de jun. de 2011.
Getting Started. Disponível em: http://www.hartcomm.org/protocol/wihart/wireless_getting_started.html. Acessado em: 11 de jun. de 2011.
WirelessHART Training Resources. Disponível em: http://www.hartcomm.org/protocol/training/training_resources_wihart.html. Acessado em: 11 de jun. de 2011.
César Cassiolato. WirelessHART. Disponível em: http://www.smar.com/newsletter/marketing/index98.html. Acessado em: 01 de jun. de 2011.
Wireless Applications. Disponível em: http://www.hartcomm.org/protocol/wihart/wireless_applications.html. Acessado em: 06 de jun. de 2011.
WirelessHART – Rede de comunicação HART sem fios Pepperl + Fuchs!. Disponível em: http://www.ffonseca.com/artigo.aspx?lang=pt&id_object=33674&name=WirelessHART-TM—Rede-decomunicacao-HART-sem-fios-Pepperl-+-Fuchs. Acessado em: 01 de jun. de 2011.
About HART – Part 1. Disponível em: http://www.analogservices.com/about_part1.htm. Acessado em: 01 de jun. de 2011.
 

CONTROLADORES DIGITAIS COM REQUISITOS DE SEGURANÇA CIBERNÉTICA DA CPU APLICADOS EM PROCESSOS CRÍTICOS

 

   Após os ataques terroristas de 11 de Setembro nos Estados Unidos, o governo americano adotou uma série de novas medidas para proteger o país contra potenciais novos ataques. Uma das vertentes dessas medidas trata da defesa contra o Terrorismo Cibernético ou Guerra Cibernética (também chamado por alguns como a “guerra do futuro”), onde a presença humana é dispensada para execução de uma ação terrorista ou militar.
 
   Instalações Industriais tais como Refinarias, Petroquímicas, Plataformas de Petróleo e, Usinas de Geração como Termelétricas e Hidrelétricas, Estações de Tratamento de Água, entre outras, são consideradas áreas sensíveis, de infraestrutura critica, pois uma interrupção em larga escala e, longo período nesses tipos de instalações são capazes de desproteger qualquer país, por se tratar de suprimento energético e, abastecimento.
 
   Esse artigo irá destacar qual o papel dos Controladores Digitais neste novo cenário, as diferenças entre as arquiteturas de proteção cibernética tradicionais e, as mais adequadas hoje de fato, além da importância de indústria e, governos passarem a se preocupar seriamente com esse problema, tendo em vista inclusive as recentes divulgações de diversos casos de blecautes energéticos no país durante 2013, onde existe a suspeita de ações de “hackers” nos episódios, bem como um caso notório ocorrido a pouco mais de 6 anos no Espírito Santo (em 2007) de blecaute energético (desarme de turbinas e, linhas de transmissão), que foi objeto inclusive de uma menção velada do presidente dos Estados Unidos 2 anos depois, como uma ação de “hackers” (“ataques deixaram cidades as escuras em outros países – Barack Obama-Nov/2009”), ainda que as autoridades brasileiras não venham admitindo os casos.

Introdução

   Os primeiros relatos de Terrorismo Cibernético ou Guerra Cibernética datam da década de 70, especificamente no auge da Guerra Fria. Satélites e, linhas de comunicação americanos e, soviéticos eram utilizados, ainda que em escala reduzida, para penetrar em sistemas informatizados civis e, militares de um e, do outro, no intuito de roubar dados sensíveis ou causar danos, especialmente queda nos sistemas de telecomunicações ou sistemas de tele-comando (Ex. Linhas de Transmissão de Energia), através de meios específicos manipulados pelos “hackers” americanos e soviéticos daquela ocasião.
 
   Hoje, com o mundo globalizado e, totalmente interligado através da Internet e, outros meios de comunicação, o raio de alcance para uma ação terrorista ou militar cibernética é milhares de vezes maior que no passado, o que demanda sistemas de proteção adequados a esta nova concepção (Ex. Firewalls e Gateways dedicados).
 
   Ocorre que as arquiteturas tradicionais de proteção cibernética, falando especificamente do meio industrial, através do emprego de software e, hardware dedicados (Ex. Senhas de sistemas operacionais com níveis de acesso e, proteção privilegiados específicos, firewalls físicos e, virtuais, gateways, etc) encontram-se em certa medida defasados e, não garantem uma proteção 100% confiável, sem falar que estas apenas focam a proteção EXTERNA e, não INTERNA ou ambas, o que seria o ideal.
 
   No Brasil, a situação atual de boa parte das instalações industriais, providas de Controladores Digitais é BEM PREOCUPANTE, em se tratando de proteção cibernética.
Figura 1 – Exemplo de Controladores Digitais providos de CPU´s Blindadas e, Certificadas por entidade internacional especializada em segurança cibernética ( Certificação Internacional Achilles ).
Figura 1 – Exemplo de Controladores Digitais providos de CPU´s Blindadas e, Certificadas por entidade internacional especializada em segurança cibernética ( Certificação Internacional Achilles ).
 

Arquitetura Tradicional de Proteção Cibernética de Controladores Digitais

   Basicamente, as arquiteturas tradicionais de proteção cibernética nas instalações industriais providas de Controladores Digitais fazem o emprego de Sistemas Firewalls (Físicos e/ou Virtuais e Gateways) instaladas em algum ponto das redes de comunicação.
 
   Estes sistemas garantem a proteção dos Controladores Digitais contra ataques de “hackers externos”, que se utilizam da infraestrutura universal de comunicação para tentar acessos não autorizados as instalações ora protegidas.
 
   Estes sistemas de proteção também permitem a introdução de níveis de acessos privilegiados e, reservados somente a pessoal autorizado da instalação, através de senhas de software (repetindo: senhas de software). Mesmo assim, estes sistemas não são uma garantia de 100% em termos de proteção contra os “hackers externos”.
Figura 2 – Exemplo de Arquitetura Típica de Proteção Cibernética através do emprego de Firewall, em instalação provida de Controladores Digitais (Plant A – Control Zone).
Figura 2 – Exemplo de Arquitetura Típica de Proteção Cibernética através do emprego de Firewall, em instalação provida de Controladores Digitais ( Plant A – Control Zone ).
 
Figura 3 – Exemplo de Sistema Firewall Externo (Gateway de Mercado)
Figura 3 – Exemplo de Sistema Firewall Externo (Gateway de Mercado)
 
   No entanto, as arquiteturas tradicionais de proteção não garantem uma real proteção contra o “hacker interno”, somente garantem proteção contra o “hacker externo”, como já mencionado no parágrafo anterior.
 
   É ai que reside um dos grandes problemas. Mas quem é o “hacker interno” ?
   O “hacker interno” geralmente é algum profissional de dentro da instalação (mas não limitado a este), que passa a figurar (ocultamente) por motivo de alguma insatisfação (Ex. uma bronca do chefe).
 
   Ele é muitas vezes mais nocivo a organização do que o “hacker externo”, pelo simples fato de conhecer profundamente a instalação e, poder utilizar estes conhecimentos para prejudicar sua organização, como forma de compensar sua eventual insatisfação.
 
   Um exemplo de sabotagem da organização seria o acesso direto aos Controladores Digitais (acesso pós-Firewall), algo impossível para um “hacker externo”, provocando um TRIP ou Shut-Down do Turbo-Compressor, interrompendo a produção de combustível numa refinaria ou TRIP de um Turbo-Gerador, interrompendo a produção de energia numa hidrelétrica ou termelétrica. Como o Controlador Digital não possui blindagem da CPU, o “hacker interno” sente-se a vontade e, livre para sua incursão, já que não deixará rastros, além dos danos externos da eventual sabotagem.
 
   Outros tipos de “hackers internos” também podem ser fornecedores frequentes da instalação, terceirizados, espiões industriais, civis e, até militares, entre outros tipos e, situações.

O que muda com a Blindagem da CPU do Controlador Digital?

   De maneira resumida, a nova CPU blindada passa a ter integrada em sua estrutura um Firewall interno embarcado, o que não ocorre nas CPU´s tradicionais. Entretanto, para se chegar a este nível, um longo caminho é percorrido pelo fabricante do Controlador Digital, por se tratar de um verdadeiro UP-GRADE do produto.
 
   Uma série de pesados ensaios e, procedimentos são exigidos para que o equipamento possa ser certificado a nível de CPU por entidade especializada em segurança cibernética de equipamentos digitais. Trata-se da “Certificação Achilles”.
 
   A NERC (North American Electric Reliability Corporation) determina uma série de requerimentos CIP (Critical Infrastruture Protection – Níveis 2 à 9), que são considerados para a obtenção da Certificação Achilles pelo fabricante do Controlador Digital.
 
Figura 4 – Controlador Digital - CPU sem blindagem (ANTES).
Figura 4 – Controlador Digital – CPU sem blindagem (ANTES).
 
Figura 5 – Controlador Digital - CPU com blindagem (DEPOIS) – UP-GRADE.
Figura 5 – Controlador Digital – CPU com blindagem (DEPOIS) – UP-GRADE.
 

Benefícios da Blindagem de CPU em Controladores Digitais – Certificação Achilles

  1. Comunicação Encriptada;
  2. Autenticação via Password diretamente sobre a CPU Blindada, isto é, a senha fica armazenada no Firewall embarcado da CPU;
  3. Senhas reforçadas e, com possibilidade de emprego de caracteres especiais;
  4. Porta simples para comunicação SSH (Secure Shell Communication) dedicada e, segura;
  5. Log´s e, atualizações de dados de acesso através de comunicação segura;
  6. Risco de penetração praticamente reduzido a 0%, para usuários não autorizados, mesmo em caso de tentativa de acesso pós-Firewall externo;
  7. Proteção contra o “hacker interno”;
  8. Elevado aumento da confiabilidade da arquitetura de proteção cibernética como um todo, já que o Firewall Interno somado ao Firewall Externo poderá garantir isso (proteção contra o “hacker interno e externo”).
 
Figura 6 – Exemplo Real de Certificação Internacional Achilles para Controlador Digital.
Figura 6 – Exemplo Real de Certificação Internacional Achilles para Controlador Digital.
 

Custo

   Atualmente, poucos fabricantes de Controladores Digitais (todos estrangeiros, nenhum nacional por enquanto) conseguiram obter a Certificação Internacional Achilles para segurança cibernética da CPU.
 
   Os que possuem essa certificação em seu portfólio, por hora, tem oferecido ao mercado as versões anteriores de seus Controladores Digitais sem a blindagem da CPU e, versões dos mesmos Controladores com a blindagem da CPU, mas a custos distintos.
 
   No entanto, a tendência nos próximos anos é que os fabricantes que possuam versões blindadas das CPU´s de seus Controladores padronizem apenas essa versão, deixando de comercializar as versões antigas.

Conclusão

   Fica demonstrado aos usuários de Controladores Digitais aplicados em processos críticos, especialmente os ligados a abastecimento e, fornecimento energético no Brasil a importância da necessidade de se preocupar seriamente com a segurança cibernética das arquiteturas de automação de suas instalações, passando a considerar em seus projetos novos e, retrofit´s a necessidade urgente de especificar Controladores Digitais que possuam a Certificação Internacional Achilles para garantia da blindagem da CPU do Controlador.
 
   Somente com esta blindagem é que o usuário poderá enfim ter a tranquilidade esperada no quesito segurança cibernética e, compreendido que apenas os Firewall´s e, Gateways externos tradicionais de mercado não são a garantia plena de proteção dos ativos instalados contra acessos não-autorizados, evitando sabotagens.

Referências Bibliográficas

  • Cyber Security Enhancements for MicroNet PLUS – Klammer, Troy – Woodward Industrial Controls – Fort Collins – CO / USA – March 31th, 2011
  • NERC – CIP 002 to 009 Requirements – Achilles Certification