SEGURANCA SOFTWARE TECNOLOGIA

Nova tecnologia permite que componentes de software sejam isolados um do outro com pouco cálculo

A proteção de senhas, números de cartão de crédito ou chaves criptográficas em programas de computador exigirá menos trabalho computacional no futuro. Pesquisadores do Instituto Max Planck de Sistemas de Software em Kaiserslautern e Saarbrücken criaram uma nova tecnologia chamada ERIM para isolar componentes de software uns dos outros. Isso permite que dados confidenciais sejam protegidos contra hackers quando os dados são processados ​​por serviços online, por exemplo. O novo método possui uma sobrecarga computacional três a cinco vezes menor do que a melhor tecnologia de isolamento anterior, tornando mais prático o uso da tecnologia pelos serviços online. Isso foi motivo suficiente para a USENIX, uma associação de sistemas de computação norte-americana e o Facebook concederem seu Prêmio de Defesa da Internet 2019 aos pesquisadores.

Programas de computador são como uma fortaleza. Assim como uma fortaleza é protegida por paredes espessas, fossos e portões de ferro, firewalls e outras tecnologias de segurança impedem que criminosos cibernéticos explorem maliciosamente aplicativos de software. E, assim como um portão mal protegido ou um túnel de fuga supostamente secreto pode permitir que os sitiantes capturem um castelo, todos os hackers precisam de uma pequena brecha de segurança para obter acesso a todos os componentes de um software. Na pior das hipóteses, eles podem obter os dados que lhes concedem acesso a contas de usuário ou até permitir pagamentos com cartão de crédito. Por exemplo, o bug do Heartbleed no software de criptografia OpenSSL, amplamente utilizado, tornava os nomes de usuário e senhas de vários serviços e programas online vulneráveis ​​a hackers.

Componentes de software devem ser isolados como fortalezas

Para evitar ataques fatais, os desenvolvedores de software podem proceder de maneira semelhante aos mestres construtores de fortalezas inteligentemente planejadas. Eles podem isolar vários componentes de software um do outro, assim como várias paredes impedem o acesso direto ao coração de uma fortaleza a qualquer agressor que conseguir superar as muralhas externas.

Mas, obviamente, quanto melhor a proteção, mais trabalho isso envolve: os castelos precisam de mais materiais e proteções de construção e, para um software, isso significa mais tempo de computação. De fato, as técnicas atuais de isolamento para programas de computador exigem até 30% mais energia da CPU, e um número correspondentemente maior de servidores precisa ser executado por serviços online, o que também aumenta os custos de infraestrutura proporcionalmente. “Vários serviços não acreditam que esse aumento de custo seja justificado e, portanto, não utilizam técnicas de isolamento”, diz Deepak Garg, cientista líder do Instituto Max Planck de Sistemas de Software. “Nossa tecnologia de isolamento usa apenas cinco por cento mais tempo de computação, tornando-a muito atraente para as empresas”. Portanto, não surpreende que os pesquisadores tenham recebido os 100,

A memória pode ser dividida com relativamente pouco esforço

Uma equipe chefiada por Deepak Garg e Peter Druschel, diretor do Instituto Max Planck de Sistemas de Software, combinou engenhosamente um recurso de hardware recentemente introduzido em processadores produzidos pela empresa de semicondutores Intel com uma técnica de software para construir essa tecnologia de isolamento. O novo recurso de hardware é conhecido como Chaves de proteção de memória, ou MPK, entre os especialistas.

No entanto, o MPK sozinho não pode isolar componentes de maneira confiável, pois ainda está aberto ao ataque de hackers habilidosos. Os pesquisadores de Max Planck usam esse método junto com outra técnica chamada reescrita de instruções. “O código de um software pode ser reescrito de tal maneira que um invasor não consiga mais contornar as ‘paredes’ entre os componentes de software”, diz Peter Druschel.” No entanto, isso não altera o objetivo real do código. “Esses dois métodos podem ser usados ​​juntos para dividir a memória de um aplicativo de software com relativamente pouco trabalho computacional e depois isolar essas partes umas das outras. Outro isolamento as tecnologias acessam o kernel do sistema operacional para esse fim, o que implica um esforço computacional maior. “Os desenvolvedores de software estão em uma corrida permanente contra o tempo e os cibercriminosos”, diz Peter Druschel. “Mas a proteção de dados ainda precisa ser prática. Isso às vezes exige abordagens sistemáticas, mas não convencionais, como a que buscamos com o ERIM. “