Marca d’água estruturada - Bento, Lucila Maria de Souza; Boccardo, Davidson Rodrigo; Machado, Raphael Carlos Santos; Sá, Vinícius Gusmão Pereira de; Szwarcfiter, Jayme Luiz (Anais do Simpósio Brasileiro de Cibersegurança (SBSeg); 2017: Anais do XVII Simpósio Brasileiro de Segurança da Informação e de Sistemas Computacionais, 2017)
Uma marca d’água em artefato digital corresponde a uma informação de identificação embarcada naquele objeto de forma oculta, podendo ser usada para comprovar autoria/propriedade, com o objetivo de desencorajar a distribuição ilegal de software. Dentre as técnicas de marca d’água de software apresentadas na literatura, destacam-se os esquemas baseados em grafos, nos quais uma chave secreta é codificada e inserida no grafo de fluxo de controle do programa. Recentemente têm sido realizados diversos esforços para melhorar esses esquemas com relação à resiliência a ataques. Neste artigo, apresentamos um novo esquema de marca d’água baseado em grafos com duas características principais: nosso algoritmo de codificação emprega aleatoriedade; e, o que é mais importante, nossas marcas d’água estão em conformidade com códigos estruturados. A capacidade de codificar uma mesma chave de distintas formas e a ausência de subestruturas semelhantes a peculiares goto’s conferem maior diversidade e furtividade às nossas marcas d’água, tornando-as mais resilientes a ataques de subtração e distorção. Apresentamos também uma implementação em tempo linear.