Ícone do site Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Todos os seus aplicativos do Windows parecem um vírus de computador?

virus hacker

OK, então você escreveu algo brilhante, a próxima grande coisa. Você está usando a abordagem moderna. Você leu – ou assistiu – nossa série sobre IU Fluent e talvez até aplicou algumas coisas visuais como neo skeuomorfismo que aprendemos na conferência Desktop First . Talvez você tenha aplicado alguns temas VCL ao seu aplicativo e integrado a capacidade de detectar o modo escuro / modo claro do Windows 10 em seu aplicativo Delphi? Tudo está indo bem … até que os usuários tentem usar seus aplicativos.

Esta é a mensagem que você recebe quando executa um projeto de código aberto muito popular que tem mais de 100.000 downloads.

Você começa a receber reclamações de seus usuários de que eles não podem baixar seu aplicativo. Ou, quando eles finalmente conseguem lutar contra a paranóia do navegador da web moderno, seu aplicativo é bloqueado pelo Windows 10 ou, mais misteriosamente, simplesmente desaparece completamente em uma nuvem azul de fumaça de gênio da política de grupo corporativo.

Você não deu o último passo: assinar seu código para provar que seu aplicativo maravilhosamente criado veio de você, e somente você, e não foi infectado por um vírus de computador ou trojan cryptolocker.

No recente TCoffeeAndCode com tema de segurança , pretendíamos falar sobre assinatura de código, mas meio que nos distraímos com muitas outras coisas de segurança que surgiram. Para ser justo, dissemos que não tem script!

O que é assinatura de código?

A assinatura de código é um processo manual que você pode fazer acontecer logo após ou no momento da construção final de seu aplicativo. Ele adiciona um pequeno recurso ao seu exe contendo uma assinatura digital. A assinatura identifica quem, pelo menos em teoria, escreveu o código e adiciona informações que fazem uma soma de verificação do arquivo exe do seu aplicativo. Essas informações – a assinatura do código – quando tomadas em conjunto, significam que qualquer usuário executando seus aplicativos pode ter certeza de que o arquivo exe não foi modificado desde que você o criou em seu computador ou servidor de compilação. Quaisquer alterações no exe, por exemplo, por um vírus, quebrarão a soma de verificação criptográfica para que os usuários possam saber que algo deu errado.

Um aplicativo devidamente assinado por código (a imagem é antiga – o certificado mostraria uma data de validade atual)

Entregar aplicativos por meio de um link da web exige bastante assinatura de código

A assinatura de código não apenas ajuda a identificar o desenvolvedor original, mas também desempenha um papel quando seus programas são baixados de um site ou mecanismo de entrega online semelhante. A maioria dos navegadores (provavelmente todos) irá avisá-lo sobre o download de exes de um site da Web, especialmente um que não use HTTPS. O Microsoft Edge e o Windows combinados vão um pouco além e gritarão ativamente com você se o exe não tiver uma assinatura digital (outra maneira de dizer que não é assinado por código).

Aplicativos não assinados parecem vírus de computador

Se seus usuários finalmente conseguirem pular através de todos os vários obstáculos e realmente fazer o download do exe em seu computador, alguns deles podem descobrir que o arquivo baixado desapareceu magicamente. Isso ocorre porque é bastante comum que redes corporativas apliquem uma regra que diz que os usuários podem executar apenas alguns aplicativos confiáveis. Nenhuma assinatura de código geralmente significa que seu aplicativo não é confiável. Alguns vão ainda mais longe, embora isso seja menos comum e insista que todos os aplicativos do usuário devem ser de 64 bits, especialmente os aplicativos do lado do servidor e serviços do Windows. Os administradores de rede corporativa e a equipe de ITSec podem estar um pouco sobrecarregados quando se trata de aplicar políticas e obrigar um grupo de usuários a se comportar, evitando que façam coisas óbvias, como streaming de torrents,abrir anexos questionáveis ​​e executar malware acidentalmente.

Seu aplicativo não assinado por código? Parece o pior tipo de ladrão de senha de criptolocking para eles – e não, eles não querem colocar de lado seu magro extra de amêndoa com leite macachoolie com spirella extra para executá-lo para “dar uma olhada”, muito obrigado.

A assinatura de código é apenas para empresas de primeira linha?

A assinatura do código é OBRIGATÓRIA se você deseja obter uma receita com o seu código. Mas mesmo se você for um projeto de código-fonte aberto ou freeware, a assinatura de código ajuda seus usuários a se ajudarem.

Os dias felizes de simplesmente criar um exe, compactá-lo e colocá-lo em um servidor da web já se foram. Se é assim que você entrega seu software, odeio ser o portador de más notícias: você está desatualizado e é hora de se modernizar. Em breve, haverá um monte de mudanças na forma como o Windows opera e muitos dos aprimoramentos de segurança como UAC, HTTPS e proteção de diretório forçada vão acontecer unilateralmente e, na maioria dos casos, já aconteceram.

Das perguntas que me perguntam, a assinatura de código é provavelmente o tópico mais quente, então eu * sei * que há uma multidão de desenvolvedores que estão percebendo que a assinatura de código não é realmente uma atividade opcional.

Mais recursos sobre assinatura de código

Para ler mais sobre os prós e os contras da assinatura de código como assunto, experimente os seguintes recursos:


Não desperdice seu trabalho duro para um guardião de segurança draconiano – é hora de modernizar e assinar por código seus aplicativos.

 
Sair da versão mobile