IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le navigateur DuckDuckGo (sous Android et iOS) envoie les noms de tous les hôtes visités par ses utilisateurs vers son serveur
Depuis mars 2018

Le , par Patrick Ruiz

144PARTAGES

17  0 
« Le moteur de recherche qui ne vous espionne pas » est le slogan de DuckDuckGo, le navigateur qui se retrouve au centre de soupçons de pistage de ses utilisateurs. Code source à l’appui, certains ont établi que ce dernier (sous Android et iOS) envoie les noms de tous les hôtes visités vers son serveur, ce qui ouvre des possibilités au pistage des utilisateurs. Le cas qui suscite une crise de confiance (compte tenu de la proposition de valeur du navigateur en lien avec le respect de la vie privée) est en cours de résolution.

Les signalements sont partis du morceau de code suivant qui n’a pas manqué d’attirer l’attention d’utilisateurs pointilleux sur Android.

Code : Sélectionner tout
1
2
3
4
5
6
7
private const val faviconBaseUrlFormat = "https://icons.duckduckgo.com/ip3/%s.ico"

fun Uri?.faviconLocation(): Uri? {
    val host = this?.host
    if (host.isNullOrBlank()) return null
    return Uri.parse(String.format(faviconBaseUrlFormat, host))
}
Le fait ici est qu’il y a une fonction chargée de récupérer le nom de l’hôte courant et de l’envoyer à un service hébergé sur duckduckgo.com ; ce dernier a son URL sauvegardée au sein de la constante faviconBaseUrlFormat. Au sein de celle-ci, %s est remplacé par le nom d’hôte courant. Dit d’une autre façon, lors de la visite d’une page comme test.com sur la version Android ou iOS de DuckDuckGo, l’icône du site web est chargée depuis https://icons.duckduckgo.com/ip3/test.com.ico qui se trouve être une page sur le serveur DuckDuckGo.

Sur iOS, même son de cloche :

Code : Sélectionner tout
1
2
3
4
5
6
7
static let externalContentBase = "https://external-content.duckduckgo.com"
    static let faviconService = "\(externalContentBase)/ip3/%@.ico"

    public func faviconUrl(forDomain domain: String) -> URL? {
        let urlString = String(format: Url.faviconService, domain)
        return URL(string: urlString)
    }
En fait, cette disposition concerne, semble-t-il, chaque onglet ouvert dans le navigateur :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
private func configureFavicon(forDomain domain: String?) {
        let placeholder = #imageLiteral(resourceName: "GlobeSmall")
        favicon.image = placeholder

        if let domain = domain {
            let faviconUrl = AppUrls().faviconUrl(forDomain: domain)
            favicon.kf.setImage(with: faviconUrl,
                                  placeholder: placeholder,
                                  options: [.downloader(NotFoundCachingDownloader())],
                                  progressBlock: nil,
                                  completionHandler: nil)
        }
    }
Les marque-pages ne sont pas en reste si l’on en croit les retours des utilisateurs sur la version iOS :

Code : Sélectionner tout
1
2
3
4
5
6
7
 private func configureFavicon(forDomain domain: String?) {
        favicon.image = BookmarkCell.placeholderFavicon
        if let domain = domain {
            let faviconUrl = AppUrls().faviconUrl(forDomain: domain)
            favicon.kf.setImage(with: faviconUrl, placeholder: BookmarkCell.placeholderFavicon)
        }
    }
La limite est mince quand on sait que cet état de choses peut impliquer l’envoi d’une adresse IP. Ainsi, bonjour aux possibilités de pistage des utilisateurs, toute chose qui est au contraire aux valeurs dont l’équipe qui est derrière le navigateur fait la promotion. La fonctionnalité a fait l’objet d’ajout au navigateur en mars 2018.



Dans une sortie en lien avec ces développements, le CEO de DuckDuckGo se veut rassurant : « Je viens d’avoir connaissance de ce problème et je suis heureux de prendre l’engagement que nous le fassions de façon locale dans le navigateur. Nous ferons en sorte que cela se fasse le plus rapidement possible. Cela dit, je tiens à préciser que nous n'avons pas collecté d'informations personnelles. Comme d'autres membres du personnel l'ont indiqué, nos services sont chiffrés et, de par leur conception, rejettent des informations comme les adresses IP. Cependant, j'estime qu'il est néanmoins plus sûr de le faire au niveau local et c'est ce que nous ferons. »

Source : 1, 2

Et vous ?

Êtes-vous un utilisateur de DuckDuckGo ? Si oui, cette situation est-elle de nature à effriter la confiance que vous avez en ce navigateur ?
Qu’est-ce qui d’un point de vue technique peut justifier l’approche adoptée par l’équipe DuckDuckGo pour retrouver l’icône d’un hôte courant ?
En tant que développeur web quelle approche suggérez-vous qui soit respectueuse de la vie privée ?

Voir aussi :

DuckDuckGo propose le Do Not Track Act, un projet de loi qui obligerait les sites à ne pas pister les internautes qui utilisent Do Not Track
DuckDuckGo utilise maintenant Apple Maps pour alimenter les résultats de la recherche privée
DuckDuckGo accusé de faire du profilage des utilisateurs malgré sa promesse d'être l'anti-Google, le moteur assure qu'il n'en est rien
Google cède et transfère Duck.com à DuckDuckGo afin de dissiper la confusion des utilisateurs, même si les détails de cette entente ne sont pas connus

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de strato35
Membre éclairé https://www.developpez.com
Le 03/07/2020 à 9:01
Citation Envoyé par denisys Voir le message
Ce n’est pas plus pire, qu’avec GOOGLE !!!
Sans oublier APPLE !!!
Tout comme le COVID, C'est pas plus pire que le CANCER
Sans oublier le SIDA !!!

Et c'est pas pour autant que j'aimerai l'avoir.

Ouais l'exemple est pas ouf, mais bon comme ils ont dit que tout était chiffré et qu'ils corrigeraient le problème, je vois pas pour l'instant pas vraiment de raison de ne plus utiliser duckduckgo, d'autant que je le trouve plus performant que StartPage, et tant qu'il n'y a pas de scandale ou de preuve réelle d'utilisation des données, ya pas de raison de fuir le service à tout prix.
5  0 
Avatar de zempa
Futur Membre du Club https://www.developpez.com
Le 03/07/2020 à 10:29
Citation Envoyé par piwee Voir le message
@kevin254kl Il y Qwant, moteur français qui assure aussi la confidentialité
A la vue des investigations faites par NexInpact, perso, je n'utilise plus Qwant.
4  0 
Avatar de denisys
Membre chevronné https://www.developpez.com
Le 02/07/2020 à 19:41
Ce n’est pas plus pire, qu’avec GOOGLE !!!
Sans oublier APPLE !!!
4  3 
Avatar de Fooshi
Membre averti https://www.developpez.com
Le 03/07/2020 à 9:14
Il y a un truc qui m'étonne, c'est la différence entre le titre de la news et le code source que je vois.

Code : Sélectionner tout
1
2
3
4
5
6
7
private const val faviconBaseUrlFormat = "https://icons.duckduckgo.com/ip3/%s.ico"

fun Uri?.faviconLocation(): Uri? {
    val host = this?.host
    if (host.isNullOrBlank()) return null
    return Uri.parse(String.format(faviconBaseUrlFormat, host))
}
Ce code en Kotlin qui est une extension utilise l'adresse d'hôte actuel du navigateur pour construire une url à partir d'une chaine de caractère, c'est du simple formatage. Tout ce fait donc au niveau local, il n'y a pas de remontées d'informations sur le serveur. Cela nécessiterais l'appel d'une API avec l'utilisation d'une librairie pour effectuer ces appels ce qui n'est pas le cas.
1  0 
Avatar de XanatosAO
Membre régulier https://www.developpez.com
Le 06/07/2020 à 16:20
@kevin254kl : J'utilise Ecosia : vie privée + plantations d'arbres, ça me va.
1  0 
Avatar de darklinux
Membre extrêmement actif https://www.developpez.com
Le 03/07/2020 à 7:26
Je ne vais pas faire mon étonné ...
0  0 
Avatar de kevin254kl
Membre chevronné https://www.developpez.com
Le 03/07/2020 à 7:51
Bien triste, du coup quelqu'un a une alternative à duckduckgo?
0  1 
Avatar de zempa
Futur Membre du Club https://www.developpez.com
Le 03/07/2020 à 10:00
@Fooshi, dans le second lien en source, il semblerait que cette URL formatée soit appelée à chaque chargement d'onglet : https://github.com/duckduckgo/iOS/issues/665

@kevin254kl J'ai perso adopté https://swisscows.com/ comme moteur de recherche par défaut.
0  2 
Avatar de piwee
Nouveau membre du Club https://www.developpez.com
Le 03/07/2020 à 10:16
@kevin254kl Il y Qwant, moteur français qui assure aussi la confidentialité
0  5