Criptografia na segurança de software

Proteção em software é fundamental para evitar perdas de dados e acessos indevidos

Compartilhar:

Confiabilidade, integridade e disponibilidade são palavras-chave para segurança da informação. Quanto ao primeiro, usar criptografia em software é uma boa prática para garantirmos a confiabilidade dos dados trafegados e de configurações de sistemas. Algumas linguagens e frameworks para desenvolvimento de software fornecem meios para proteger estas informações e devem ser utilizadas sempre que forem para ambientes produtivos.

 

A linguagem de programação Python, através do pacote SecureConfig, fornece uma maneira de criptografar arquivos de configuração. Por exemplo, podemos criar um arquivo como:

 

[Database]

server=10.0.0.1

login=dbuser

pass=12345678

db=mydb

 

[Logging]

logpath = /var/log/sistema.log

A seguir, criamos um script para criptografar os valores destas opções. O primeiro passo é chamar SecureConfigParser.from_file(‘key.txt’), onde key.txt será o arquivo criado (ou já existente) com a chave de criptografia. Com o objeto retornado na chamada anterior podemos carregar o arquivo de configuração usando o método read passando o caminho do arquivo como argumento. Depois, com esse mesmo objeto, usamos os métodos get e a seguir set, sendo este último com a opção encrypt=True, para cada opção e valor da configuração. Por fim, usamos o método write do objeto para salvar o arquivo criptografado, passando um file descriptor como argumento:

 

from secureconfig import SecureConfigParser

scfg = SecureConfigParser.from_file(‘key.txt’)

scfg.read(‘myconfig.ini’)

 

for sec in scfg.sections():

for opt in scfg.options(sec):

val = scfg.get(sec, opt)

scfg.set(sec, opt, val, encrypt=True)

fh = open(‘myconfig_encrypted.ini’, ‘w’)

scfg.write(fh)

fh.close()

 

Para ler este arquivo de configuração (criptografado) em uma aplicação Python, usamos a chave criada (key.txt) e a classe SecureConfigParser da mesma forma acima com o método get. Por isso, não esqueça de alinhar com a sua equipe DevOps como proteger esta chave e o arquivo de configuração quanto à permissão e localização no servidor em ambiente de produção.

 

Da mesma forma, o framework ASP.Net permite criptografar os arquivos de configuração para aplicações web. Através do comando de linha aspnet_regiis.exe, que fica no caminho %windows%\Microsoft.NET\Framework\[versão_do_dotnet], podemos escolher as seções que queremos proteger. As mais visadas são as de ConnectionStrings, para conexões de dados, e appsettings, para configurações de chave e valor gerais. Veja um exemplo para criptografar as strings de conexão no web.config da aplicação SampleApplication:

 

aspnet_regiis -pe “connectionStrings” -app “/SampleApplication” -prov “RsaProtectedConfigurationProvider”

 

No caso deste framework não temos esforço para ler o arquivo, basta usar a classe de configuração gerada na compilação do software que o ASP. Net já traz o valor sem criptografia. Além disso, o dotnet (.Net) possui outros mecanismos de criptografia pré-definidos no seu namespace System.Security.Cryptography que podem ser usados de forma genérica para proteger quaisquer dados que deseje.

 

Proteção em software é fundamental para evitar perdas de dados e acessos indevidos. Não importa a linguagem ou framework que se use, sempre temos alguma opção de criptografia nativamente ou por extensão/biblioteca. Portanto, não deixe de garantir que senhas, logins e outras informações sensíveis estejam protegidas e restritas em locais seguros com permissões bem definidas.

 

*André Duarte é Coordenador de Operações do Arcon Labs

Destaques

Colunas & Blogs

Avatar photo
Rui Borges

Conteúdos Relacionados

Security Report | Overview

TIVIT adota detecção de injeção biométrica para barrar deepfakes e fraudes ocultas em bancos

Tecnologia revela tentativas de ataques com IA que eram aprovadas como acessos legítimos pelos sistemas tradicionais de autenticação
Security Report | Overview

Ataques de ransomware no Brasil sobem pelo 3º mês e país se consolida no Top 6 mundial

Agosto registra pico global de 1.212 ciberataques corporativos nos últimos 12 meses, impulsionado pela expansão de ofensivas contra os setores...
Security Report | Overview

Falha no ChatGPT permitia que atacantes acessassem dados corporativos no Gmail

Pesquisadores da Check Point Research descobrem canal oculto no ambiente da OpenAI que permitia extrair dados de serviços conectados como...
Security Report | Overview

Phantom Deal: golpe de M&A falso teve como alvo Avast e outras empresas da Fortune 500

Engenharia social sofisticada simulou aquisição confidencial de mais de 600 mil euros utilizando personificação de executivos e NDAs falsificados no...