Cisco presentou unha nova versión importante da súa suite de antivirus gratuíto, ClamAV 1.0.0. A nova rama destaca pola transición á numeración tradicional dos lanzamentos "Major.Minor.Patch" (en lugar de 0.Version.Patch). O cambio significativo de versión tamén se debe á introdución de cambios na biblioteca libclamav que rompen a compatibilidade a nivel ABI debido á eliminación do espazo de nomes CLAMAV_PUBLIC, ao cambio do tipo de argumentos na función cl_strerror e á inclusión de símbolos para Rust. idioma no espazo de nomes. O proxecto pasou a mans de Cisco en 2013 tras adquirir Sourcefire, a empresa que desenvolve ClamAV e Snort. O código do proxecto distribúese baixo a licenza GPLv2.
A rama 1.0.0 está clasificada como Soporte a longo prazo (LTS), que se admite durante tres anos. O lanzamento de ClamAV 1.0.0 substituirá á rama LTS anterior de ClamAV 0.103, para a que se publicarán actualizacións con vulnerabilidades e problemas críticos ata setembro de 2023. As actualizacións para as sucursais regulares non LTS publícanse durante polo menos 4 meses despois do primeiro lanzamento da seguinte rama. Tamén se ofrece a posibilidade de descargar a base de datos de sinaturas para as sucursais non LTS durante polo menos outros 4 meses despois do lanzamento da seguinte rama.
Melloras clave en ClamAV 1.0:
- Engadiuse compatibilidade para descifrar ficheiros XLS baseados en OLE2 de só lectura cifrados cun contrasinal predeterminado.
- O código foi reescrito para implementar o modo de coincidencia total, no que se determinan todas as coincidencias do ficheiro, é dicir. a exploración continúa despois do primeiro partido. O novo código é máis fiable e máis fácil de manter. A nova implementación tamén elimina unha serie de deficiencias conceptuais que aparecen ao comprobar mediante sinaturas no modo de coincidencia total. Engadíronse probas para comprobar a corrección do comportamento de todas as coincidencias.
- Engadiuse unha chamada de devolución de chamada clcb_file_inspection() á API para conectar os controladores que inspeccionan o contido dos ficheiros, incluídos os extraídos dos arquivos.
- A función cl_cvdunpack() engadiuse á API para desempaquetar arquivos de sinaturas en formato CVD.
- Os scripts para construír imaxes docker con ClamAV trasladáronse a un repositorio separado de clamav-docker. A imaxe docker inclúe ficheiros de cabeceira para a biblioteca C.
- Engadíronse comprobacións para limitar o nivel de recursividade ao extraer obxectos de documentos PDF.
- Aumentouse o límite do tamaño de memoria asignado ao procesar datos de entrada non fiables e emitiuse unha advertencia cando se supera este límite.
- A ensamblaxe de probas unitarias para a biblioteca libclamav-Rust acelerouse significativamente. Os módulos escritos en Rust para ClamAV agora recóllense nun directorio compartido con ClamAV.
- Relaxáronse as restricións ao comprobar a superposición de rexistros en ficheiros ZIP, o que permitiu desfacerse dos falsos avisos ao procesar arquivos JAR lixeiramente modificados, pero non maliciosos.
- A compilación especifica as versións mínimas e máximas admitidas de LLVM. Tentar construír cunha versión demasiado antiga ou demasiado nova, agora aparecerá un aviso de erro de que hai problemas de compatibilidade.
- Permite construír coa súa propia lista RPATH (a lista de directorios desde os que se cargan as bibliotecas compartidas), permitindo que os executables se movan a unha localización diferente despois de construír no contorno de desenvolvemento.
Fonte: opennet.ru