La télémétrie dans SQL Server 2017, SSMS et SSDT… suite

La télémétrie dans SQL Server 2017, SSMS et SSDT... suiteEn dehors des services de télémétrie associés à SQL Server qu’il convient de désactiver, j’ai détecté des données suffisamment explicites dans les clés de registre telles que CustomerFeedBack, Track Changes, EnableErrorReporting, UserFeedBackOptin ou encore Optin, pour comprendre que Microsoft utilisait d’autres méthodes de collecte de l’expérience utilisateur.

Je vous avoue ma grande perplexité à voir autant de « talents » à se mobiliser autour du Pentest et donc à chercher à défoncer des portes ouvertes, là où il me semble plus judicieux de s’intéresser à ce qui peut sortir de nos PC. Il y a là un enjeu de souveraineté numérique dont se foutent les adeptes du Bug Bounty, attirés par des primes issues des éditeurs mobilisant des armées de nouveaux esclaves. Le Bug Bounty est aux « informaticiens » ce que Zidane est aux quartiers nord de Marseille.

Clés de registre

Autour de SQL Server 2017, SSMS 17, SSDT 15, j’ai trouvé ces quelques données dont la valeur doit être passée à 0

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SQL Server\140]
"CustomerFeedback"=dword:00000000

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\SQL Server Management Studio\14.0\Text Editor]
"Track Changes"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140]
"EnableErrorReporting"=dword:00000000
"CustomerFeedback"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\Tools\Setup]
"UserFeedbackOptIn"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\CPE]
"EnableErrorReporting"=dword:00000000
"CustomerFeedback"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140]
"EnableErrorReporting"=dword:00000000
"CustomerFeedback"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\Tools\Setup]
"UserFeedbackOptIn"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VSCommon\15.0\SQM]
"OptIn"=dword:00000000

Un script PowerShell

Je vous ai concocté un script PowerShell chargé de modifier les valeurs des données des clés de registres.

Clear-Host
$paths=
    'HKCU:\SOFTWARE\Microsoft\Microsoft SQL Server\140',
    'HKCU:\SOFTWARE\Microsoft\SQL Server Management Studio\14.0\Text Editor',
    'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\140',
    'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\140\Tools\Setup',
    'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\CPE',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\Tools\Setup',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\VSCommon\15.0\SQM'
$datas=
    'CustomerFeedback',
    'Track Changes',
    'EnableErrorReporting',
    'UserFeedbackOptIn',
    'EnableErrorReporting',
    'EnableErrorReporting',
    'UserFeedbackOptIn',
    'OptIn'
$values=0,0,0,0,0,0,0,0
$n=$paths.Length
For($i=0;$i -lt $n;$i++)
{
    $path=$paths[$i]
    $data=$datas[$i]
    $value=$values[$i]
    If (Test-Path -Path $path)
    {
        Set-ItemProperty -Path $path -Name $data -Value $value
        If ($data -eq 'EnableErrorReporting')
        {
            Set-ItemProperty -Path $path -Name 'CustomerFeedback' -Value 0
        }
    }
}

Base de données  / Bug Bounty Pentest PowerShell SQL Server SSDT SSMS Télémétrie