Anonimização de Dumps SQL com Memória Constante via Arquitetura em Streaming
Resumo
Regulamentações de privacidade, como a LGPD, exigem a anonimização de informações sensíveis. Contudo, o mascaramento de dumps massivos de banco de dados para ambientes de teste frequentemente impõe severos gargalos de memória e processamento. Este artigo apresenta uma ferramenta de linha de comando agnóstica a conexões com banco de dados desenvolvida em Rust para anonimização de dumps SQL por meio de uma arquitetura em streaming. O sistema utiliza um parser baseado em Máquina de Estados Finita (FSM) para processar comandos SQL em uma única passagem, evitando a necessidade de carregamento completo em memória. As regras de mascaramento são definidas de forma declarativa via arquivos de configuração, suportando estratégias como hashing determinístico (HMAC), geração de dados sintéticos, supressão e privacidade diferencial local. Resultados experimentais demonstram que a ferramenta desenvolvida mantém consumo de memória constante (aproximadamente 4,7 MB) mesmo com grandes volumes de dados, evidenciando sua viabilidade para integração em pipelines de CI/CD sem degradação de desempenho.
Referências
Brasil (2018). Lei nº 13.709, de 14 de agosto de 2018. lei geral de proteção de dados pessoais (lgpd). [link]. Brasília, DF: Presidência da República. Acesso em: 18 mar. 2026.
Codd, E. F. (1979). Extending the database relational model to capture more meaning. ACM Transactions on Database Systems (TODS), 4(4):397–434.
Duchi, J. C., Jordan, M. I., and Wainwright, M. J. (2013). Local privacy and statistical minimax rates. In IEEE 54th Annual Symposium on Foundations of Computer Science (FOCS), pages 429–438. IEEE.
Dwork, C., McSherry, F., Nissim, K., and Smith, A. (2006). Calibrating noise to sensitivity in private data analysis. In Theory of Cryptography Conference (TCC), volume 3876 of Lecture Notes in Computer Science, pages 265–284. Springer.
Garrido, G. M., Liu, X., Matthes, F., and Song, D. (2022). Lessons learned: Surveying the practicality of differential privacy in the industry. arXiv preprint arXiv:2211.03898.
Google (2023). Google differential privacy library. [link]. Acesso em: 29 mar. 2026.
Grune, D., van Reeuwijk, K., Bal, H. E., Jacobs, C. J., and Langendoen, K. (2012). Modern Compiler Design. Springer, 2 edition.
Hopcroft, J. E., Motwani, R., and Ullman, J. D. (2001). Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Boston, 2 edition.
IEEE (2019). Ieee standard for floating-point arithmetic (ieee 754-2019). [link]. IEEE Std 754-2019.
Jung, R., Jourdan, J.-H., Krebbers, R., and Dreyer, D. (2021). Safe systems programming in rust: The promise and the challenge. Communications of the ACM, 64(4):144–152.
Kairouz, P., Oh, S., and Viswanath, P. (2014). Extremal mechanisms for local differential privacy. In Advances in Neural Information Processing Systems (NeurIPS), volume 27.
Klabnik, S. and Nichols, C. (2023). The Rust Programming Language. No Starch Press, San Francisco, CA, USA.
Krawczyk, H., Bellare, M., and Canetti, R. (1997). Hmac: Keyed-hashing for message authentication. RFC 2104.
Kroese, D. P. and Rubinstein, R. Y. (2012). Monte carlo methods. Wiley Interdisciplinary Reviews: Computational Statistics, 4(1):48–58.
Mironov, I. (2012). On significance of the least significant bits for differential privacy. In Proceedings of the 2012 ACM Conference on Computer and Communications Security (CCS), pages 650–661. ACM.
Mironov, I., Pandey, O., Reingold, O., and Vadhan, S. (2009). Computational differential privacy. In Advances in Cryptology – CRYPTO 2009, volume 5677 of Lecture Notes in Computer Science, pages 126–142. Springer.
Oliveira, V. H. G. et al. (2024). Anonimização de dados em conformidade com a lgpd: Uma abordagem para bases de dados relacionais. In Anais do WASHES - CSBC 2024, pages 11–20. SBC.
Pomès, P. (2026). myanon: Fast mysql dump anonymizer. [link]. GitHub. Acesso em: 03 mar. 2026.
Ritchie, D. M. (1984). The unix time-sharing system. AT&T Bell Laboratories Technical Journal, 63(8):1577–1593.
