<?xml version="1.0" encoding="UTF-8"?><mets:mets xmlns:metsRights="http://cosimo.stanford.edu/sdr/metsrights/" xmlns:mets="http://www.loc.gov/METS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:tef="http://www.abes.fr/abes/documents/tef" xmlns:mads="http://www.loc.gov/mads/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xlink="http://www.w3.org/1999/xlink">
	

	<mets:metsHdr ID="rennes1-ori-wf-1-21886" RECORDSTATUS="complet" CREATEDATE="2025-11-14T11:29:07" LASTMODDATE="2025-11-14T11:37:30">
  <mets:agent ROLE="CREATOR">
			<mets:name>SCD-Universite de Rennes 1</mets:name>
		</mets:agent>
</mets:metsHdr>

	<mets:dmdSec ID="desc_expr" CREATED="2025-11-14T11:29:07">
  <mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_these">
			<mets:xmlData>
				<tef:thesisRecord>
     <dc:title xml:lang="en">Secrets in compiler : detection of secret-related weaknesses in GCC static analyzer</dc:title>
     <dcterms:alternative xml:lang="fr">Secrets dans le compilateur : détection de faiblesses liées au secret dans l’analyseur statique de GCC</dcterms:alternative>
     <dc:subject xml:lang="fr">Analyse Statique</dc:subject><dc:subject xml:lang="fr">GCC</dc:subject><dc:subject xml:lang="fr">Analyseur Statique de GCC</dc:subject><dc:subject xml:lang="fr">Teinte</dc:subject><dc:subject xml:lang="fr">Mise à Zéro</dc:subject><dc:subject xml:lang="fr">GnuZero</dc:subject><dc:subject xml:lang="fr">GnuSecret</dc:subject>
     <dc:subject xml:lang="en">Static Analysis</dc:subject><dc:subject xml:lang="en">GCC</dc:subject><dc:subject xml:lang="en">GCC Static Analyzer</dc:subject><dc:subject xml:lang="en">Tainting</dc:subject><dc:subject xml:lang="en">Zeroization</dc:subject><dc:subject xml:lang="en">GnuZero</dc:subject><dc:subject xml:lang="en">GnuSecret</dc:subject><tef:sujetRameau><tef:vedetteRameauNomCommun>
						<tef:elementdEntree autoriteSource="Sudoc" autoriteExterne="053469844">Logiciels -- Vérification</tef:elementdEntree>
					</tef:vedetteRameauNomCommun></tef:sujetRameau>
     <dcterms:abstract xml:lang="fr">Les systèmes logiciels sont omniprésents dans les sociétés modernes. Qu'il s'agisse de smartphones ou de services publics essentiels, nombre d'entre eux traitent des données sensibles, rendant critique leur protection contre les fuites et les erreurs de gestion de ces données. Parmi les faiblesses récurrentes, comme l'illustrent la CWE-200 et ses descendants, la divulgation involontaire d'information est une menace persistante. Cette thèse explore comment l'analyse statique intégrée au sein d'un compilateur peut détecter automatiquement de telles faiblesses. Nous commençons par disséquer l'analyseur statique de GCC, en documentant son moteur d'exécution symbolique, son modèle mémoire, et son système de diagnostique, le mettant ainsi en évidence comme un bon candidat pour des analyses de sécurité. En nous appuyant sur cette base, nous proposons GnuZero, un outil basé sur GCC pour détecter des mises à zéro manquantes de données sensibles, identifiées par les CWE-226 et CWE-244, grâce à un ensemble d'attributs dédiés et d'une analyse de propagation de teinte basée sur la durée de vie des variables, validée sur des bancs d'essai et des logiciels du monde réel. Nous généralisons ensuite cette approche avec GnuSecret, un cadriciel unifiant le suivi de secrets pour capturer des faiblesses plus larges de divulgation d'informations, détectant avec succès des vulnérabilités connues et nouvelles. Ensemble, ces contributions démontrent la faisabilité et l'efficacité des analyses mises en œuvre dans un compilateur largement utilisé.</dcterms:abstract>
     <dcterms:abstract xml:lang="en">Software systems are ubiquitous in modern societies. From smartphones to critical state services, many handle sensitive data, making their protection against leaks and improper management critical. Among recurring weaknesses, as illustrated CWE-200 and its descendants, unintended information disclosure remains a persistent threat. This thesis explores how compiler-integrated static analysis can automatically detect such vulnerabilities. We first dissect the GCC Static Analyzer, documenting its symbolic execution engine, memory model, and reporting system, thereby highlighting it as a good fit for security-oriented analyses. Building on this groundwork, we propose GnuZero, a GCC-based tool to detect missing zeroization of sensitive data, identified by CWE-226 and CWE-244, through dedicated attributes and taint-propagation analysis based on variables' lifetime, validated on benchmarks and real-world software. We then generalize this approach with GnuSecret, a framework unifying secrecy tracking to capture broader information disclosure weaknesses, successfully detecting both known and new vulnerabilities. Together, these contributions demonstrate the feasibility and effectiveness of analyses implemented within a broadly used compiler.</dcterms:abstract>
     <dc:type>Electronic Thesis or Dissertation</dc:type><dc:type xsi:type="dcterms:DCMIType">Text</dc:type>
     <dc:language xsi:type="dcterms:RFC3066">en</dc:language>
    </tef:thesisRecord>
			</mets:xmlData>
		</mets:mdWrap>
</mets:dmdSec>
	
	<mets:dmdSec ID="desc_edition" CREATED="2025-11-14T11:29:07">
  <mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
			<mets:xmlData>
				<tef:edition><dcterms:medium xsi:type="dcterms:IMT">application/pdf</dcterms:medium><dcterms:extent>1 : 1866 Ko</dcterms:extent><dc:identifier xsi:type="dcterms:URI">https://ged.univ-rennes1.fr/nuxeo/site/esupversions/1baa6b43-c66a-4e30-a485-6ecec9121aff</dc:identifier></tef:edition>
			</mets:xmlData>
		</mets:mdWrap>
</mets:dmdSec>

	<mets:amdSec>
		<mets:techMD ID="admin_expr">
			<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_admin_these">
				<mets:xmlData>
					<tef:thesisAdmin>
      <tef:auteur>
       <tef:nom>Philippe</tef:nom>
       <tef:prenom>Pierrick</tef:prenom>
       
       <tef:dateNaissance>1995-03-04</tef:dateNaissance>
       <tef:nationalite scheme="ISO-3166-1">FR</tef:nationalite>
       <tef:autoriteExterne autoriteSource="Sudoc">294907866</tef:autoriteExterne>
       <tef:autoriteExterne autoriteSource="mailPerso">p.philippe.000@gmail.com</tef:autoriteExterne>
      </tef:auteur>
      <dc:identifier xsi:type="tef:NNT">2025URENS081</dc:identifier>
      <dc:identifier xsi:type="tef:nationalThesisPID">http://www.theses.fr/2025URENS081</dc:identifier>
      <dcterms:dateAccepted xsi:type="dcterms:W3CDTF">2025-12-10</dcterms:dateAccepted>
      <tef:thesis.degree>
							<tef:thesis.degree.discipline xml:lang="fr">Informatique</tef:thesis.degree.discipline>
							<tef:thesis.degree.grantor>
        <tef:nom>Université de Rennes</tef:nom><tef:autoriteInterne>thesis.degree.grantor_1</tef:autoriteInterne>
        
        <tef:autoriteExterne autoriteSource="Sudoc">26693823X</tef:autoriteExterne>
       </tef:thesis.degree.grantor>
							<tef:thesis.degree.level>Doctorat</tef:thesis.degree.level>
						</tef:thesis.degree>
      <tef:theseSurTravaux>non</tef:theseSurTravaux>
      <tef:avisJury>oui</tef:avisJury><tef:directeurThese><tef:nom>Fouque</tef:nom><tef:prenom>Pierre-Alain</tef:prenom><tef:autoriteInterne>intervenant_1</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">085216380</tef:autoriteExterne></tef:directeurThese><tef:presidentJury><tef:nom>Puaut</tef:nom><tef:prenom>Isabelle</tef:prenom><tef:autoriteInterne>intervenant_2</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">071169733</tef:autoriteExterne></tef:presidentJury><tef:membreJury><tef:nom>Fouque</tef:nom><tef:prenom>Pierre-Alain</tef:prenom><tef:autoriteInterne>intervenant_1</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">085216380</tef:autoriteExterne></tef:membreJury><tef:membreJury><tef:nom>Daniel</tef:nom><tef:prenom>Lesly-Ann</tef:prenom><tef:autoriteInterne>intervenant_5</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">261831550</tef:autoriteExterne></tef:membreJury><tef:membreJury><tef:nom>Mantovani</tef:nom><tef:prenom>Alessandro</tef:prenom><tef:autoriteInterne>intervenant_6</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">263266540</tef:autoriteExterne></tef:membreJury><tef:membreJury><tef:nom>Sabt</tef:nom><tef:prenom>Mohamed</tef:prenom><tef:autoriteInterne>intervenant_7</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">253129486</tef:autoriteExterne></tef:membreJury><tef:rapporteur><tef:nom>Grégoire</tef:nom><tef:prenom>Benjamin</tef:prenom><tef:autoriteInterne>intervenant_3</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">089057058</tef:autoriteExterne></tef:rapporteur><tef:rapporteur><tef:nom>Hauser</tef:nom><tef:prenom>Christophe</tef:prenom><tef:autoriteInterne>intervenant_4</tef:autoriteInterne><tef:autoriteExterne autoriteSource="Sudoc">179788477</tef:autoriteExterne></tef:rapporteur>
      
      

      <tef:ecoleDoctorale>
       <tef:nom>MATISSE</tef:nom><tef:autoriteInterne>ecoleDoctorale_1</tef:autoriteInterne>
       
       <tef:autoriteExterne autoriteSource="Sudoc">267602553</tef:autoriteExterne>
      </tef:ecoleDoctorale>
      <tef:partenaireRecherche type="laboratoire">
       <tef:nom>
IRISA
</tef:nom><tef:autoriteInterne>partenaireRecherche_1</tef:autoriteInterne>
       
       <tef:autoriteExterne autoriteSource="Sudoc">
026386909
</tef:autoriteExterne>
      </tef:partenaireRecherche>
      <tef:oaiSetSpec>ddc:004</tef:oaiSetSpec>

     



     <tef:MADSAuthority authorityID="intervenant_1" type="personal"><tef:personMADS><mads:namePart type="family">Fouque</mads:namePart><mads:namePart type="given">Pierre-Alain</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_2" type="personal"><tef:personMADS><mads:namePart type="family">Puaut</mads:namePart><mads:namePart type="given">Isabelle</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_3" type="personal"><tef:personMADS><mads:namePart type="family">Grégoire</mads:namePart><mads:namePart type="given">Benjamin</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_4" type="personal"><tef:personMADS><mads:namePart type="family">Hauser</mads:namePart><mads:namePart type="given">Christophe</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_5" type="personal"><tef:personMADS><mads:namePart type="family">Daniel</mads:namePart><mads:namePart type="given">Lesly-Ann</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_6" type="personal"><tef:personMADS><mads:namePart type="family">Mantovani</mads:namePart><mads:namePart type="given">Alessandro</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="intervenant_7" type="personal"><tef:personMADS><mads:namePart type="family">Sabt</mads:namePart><mads:namePart type="given">Mohamed</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="thesis.degree.grantor_1" type="corporate"><tef:personMADS><mads:namePart>Université de Rennes</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="ecoleDoctorale_1" type="corporate"><tef:personMADS><mads:namePart>MATISSE</mads:namePart></tef:personMADS></tef:MADSAuthority><tef:MADSAuthority authorityID="partenaireRecherche_1" type="corporate"><tef:personMADS><mads:namePart>
IRISA
</mads:namePart></tef:personMADS></tef:MADSAuthority></tef:thesisAdmin>
				</mets:xmlData>
			</mets:mdWrap>
		</mets:techMD><mets:techMD ID="file_1"><mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_tech_fichier"><mets:xmlData><tef:meta_fichier>
     <tef:encodage>ASCII</tef:encodage>
     <tef:formatFichier>PDF</tef:formatFichier>
     
     
     
     <tef:taille>1910456</tef:taille>
    </tef:meta_fichier></mets:xmlData></mets:mdWrap></mets:techMD>

		
		
		
		<mets:rightsMD ID="dr_expr_thesard">
			<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_auteur_these">
				<mets:xmlData>
					<metsRights:RightsDeclarationMD>
						<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
							<metsRights:Permissions DISCOVER="true" COPY="true" DISPLAY="true" DUPLICATE="true" PRINT="true" MODIFY="false" DELETE="false"/>
						</metsRights:Context>
					</metsRights:RightsDeclarationMD>
				</mets:xmlData>
			</mets:mdWrap>
		</mets:rightsMD>
		
		<mets:rightsMD ID="dr_expr_univ">
			<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_etablissement_these">
				<mets:xmlData>
					<metsRights:RightsDeclarationMD>
						<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
							<metsRights:Permissions DISCOVER="true" COPY="true" DISPLAY="true" DUPLICATE="true" PRINT="true" MODIFY="false" DELETE="false"/>
						</metsRights:Context>
					</metsRights:RightsDeclarationMD>
				</mets:xmlData>
			</mets:mdWrap>
		</mets:rightsMD>
		
		<mets:rightsMD ID="dr_version">
			<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_version">
				<mets:xmlData>
					<metsRights:RightsDeclarationMD>
						<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
							<metsRights:Permissions DISCOVER="true" COPY="true" DISPLAY="true" DUPLICATE="true" PRINT="true" MODIFY="false" DELETE="false"/>
						</metsRights:Context>
					</metsRights:RightsDeclarationMD>
				</mets:xmlData>
			</mets:mdWrap>
		</mets:rightsMD>
	</mets:amdSec>
	
	<mets:fileSec>
  <mets:fileGrp ID="FGrID1" USE="archive"><mets:file ID="FID1" ADMID="file_1" MIMETYPE="application/pdf" USE="maitre"><mets:FLocat LOCTYPE="URL" xlink:href="https://ged.univ-rennes1.fr/nuxeo/site/esupversions/1baa6b43-c66a-4e30-a485-6ecec9121aff"/></mets:file></mets:fileGrp>
 </mets:fileSec>

	<mets:structMap TYPE="logical">
		<mets:div TYPE="THESE" DMDID="desc_expr" ADMID="dr_expr_thesard dr_expr_univ admin_expr" CONTENTIDS="http://ori-oai-search.univ-rennes1.fr/uid/rennes1-ori-wf-1-21886/oeuvre">
			<mets:div TYPE="VERSION_COMPLETE" ADMID="dr_version" CONTENTIDS="http://ori-oai-search.univ-rennes1.fr/uid/rennes1-ori-wf-1-21886/oeuvre/version">
				<mets:div TYPE="EDITION" DMDID="desc_edition" CONTENTIDS="http://ori-oai-search.univ-rennes1.fr/uid/rennes1-ori-wf-1-21886/oeuvre/version/edition">
					<mets:fptr FILEID="FGrID1"/>
				</mets:div>
			</mets:div>
		</mets:div>
	</mets:structMap>
</mets:mets>