Categories
Apple Security

Calculator Phoning Home? Not Really

Wasn’t sure what this is all about, but according to Little Snitch 2.0 (which is awesome by the way) the Calculator in Mac OS X 10.5 (Leopard) apparently phones home. Based on the url http://wu-calculator.apple.com one would assume that’s checking for updates (wu typically stands for web update). Though I find this somewhat odd considering Mac OS X has an update system that’s all encompassing. I decided to take a closer look. Earlier it was said that 10.5 was phoning home, though that turned out to not be the case.

Calculator Phoning Home

So I did a little sniffing around (literally packet sniffing), and here’s what I found. On load it sends the following (seemingly blank) request to apple for currency conversion info. The response is the exchange rate. I’ve got a copy for reference below for anyone who wants to see. Calculator seems to use CFNetwork to communicate (not surprising). What’s interesting is that this info doesn’t seem to be cached, every time you load calculator it’s requested.

So yes, it does technically ping the mothership, but no it doesn’t seem to send back any data worth being concerned about. The only thing noteworthy is the cookie. The cookie itself is characteristic of Omniture, an analytics company (who provides analytics services to Apple among many of the largest sites on the web). This seems like a side effect of the implementation (likely sharing stuff from webkit). I don’t think Omniture is pinged during this transaction, so unless Apple were recording that cookie and matching it against web analytics data. I’d consider that extremely unlike even if I put a tin foil hat on my head. I guess Apple could further neutralize any privacy concerns by modifying the implementation to not send a cookie. At that point they would only have your IP to go by (which could be behind a proxy and therefore isn’t very reliable). I don’t think think this is a privacy risk, but also don’t think it would be so bad for Apple to modify and drop the cookie to make it more anonymous. Or at least give the option to not request data every time.

The Request

User-Agent: CFNetwork/220
Content-Type: text/xml
Cache-Control: no-cache
X-Client-Id: -1509795197
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Cookie: s_vi=[CS]v1|xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx[CE]; s_nr=000000000000; asbid=xxxxxxxxxxxxxxxxx
Content-Length: 292
Connection: keep-alive
Host: wu-calculator.apple.com
< ?xml version=‘1.0’ encoding=‘utf-8’?>
<request devtype=‘Apple_OSX’ deployver=‘APPLE_CALCULATOR_1_0’ app=‘YAppleCalculatorApp’ appver=‘1.0.0’ api=‘finance’ apiver=‘1.0.0 ‘acknotification=‘0000’>
    <query id=‘0’ timestamp=‘1195332888’ type=‘convertcurrency’>
        <from />
        <to />
        <amount />
    </query>
</request>

The Response

HTTP/1.1 200 OK
Date: Sat, 17 Nov 2007 20:54:54 GMT
X-YSTATUS: 200
Cache-Control: private
Connection: close
Transfer-Encoding: chunked
Content-Type: text/plain;charset=UTF-8
Content-Encoding: gzip
< ?xml version="1.0" encoding="UTF-8"?>
<response>
    <result type="convertcurrency" timestamp="1195334294">
        <list count="45" total="45">
            <conversion>
                <from>USD</from>
                <to>USD</to>
                <amount>1</amount>
                <convertedamount>1</convertedamount>
                <link />
            </conversion>
            <conversion>
                <from>USD</from>
                <to>AUD</to>
                <amount>1</amount>
                <convertedamount>1.1196329594</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=aud</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>BRL</to>
                <amount>1</amount>
                <convertedamount>1.7469999790</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=brl</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>GBP</to>
                <amount>1</amount>
                <convertedamount>0.4867370129</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=gbp</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CAD</to>
                <amount>1</amount>
                <convertedamount>0.9739000201</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=cad</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CNY</to>
                <amount>1</amount>
                <convertedamount>7.4257001877</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=cny</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>DKK</to>
                <amount>1</amount>
                <convertedamount>5.0836000443</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=dkk</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>EUR</to>
                <amount>1</amount>
                <convertedamount>0.6821979880</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=eur</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>HKD</to>
                <amount>1</amount>
                <convertedamount>7.7864999771</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=hkd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>INR</to>
                <amount>1</amount>
                <convertedamount>39.2350006104</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=inr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>JPY</to>
                <amount>1</amount>
                <convertedamount>111.0449981689</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=jpy</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>MYR</to>
                <amount>1</amount>
                <convertedamount>3.3459999561</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=myr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>MXN</to>
                <amount>1</amount>
                <convertedamount>10.9315004349</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=mxn</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>NZD</to>
                <amount>1</amount>
                <convertedamount>1.3183920383</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=nzd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>NOK</to>
                <amount>1</amount>
                <convertedamount>5.4686999321</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=nok</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>RUB</to>
                <amount>1</amount>
                <convertedamount>25.3402004242</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=rub</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>SGD</to>
                <amount>1</amount>
                <convertedamount>1.4494999647</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=sgd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>ZAR</to>
                <amount>1</amount>
                <convertedamount>6.7150998116</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=zar</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>KRW</to>
                <amount>1</amount>
                <convertedamount>931.5100097656</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=krw</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>LKR</to>
                <amount>1</amount>
                <convertedamount>110.3750000000</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=lkr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>SEK</to>
                <amount>1</amount>
                <convertedamount>6.3113999367</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=sek</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CHF</to>
                <amount>1</amount>
                <convertedamount>1.1181999445</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=chf</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>TWD</to>
                <amount>1</amount>
                <convertedamount>32.3650016785</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=twd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>THB</to>
                <amount>1</amount>
                <convertedamount>31.5000000000</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=thb</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>VEB</to>
                <amount>1</amount>
                <convertedamount>2147.3000488281</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=veb</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>BHD</to>
                <amount>1</amount>
                <convertedamount>0.3755500019</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=bhd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>BND</to>
                <amount>1</amount>
                <convertedamount>1.4529000521</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=bnd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CLP</to>
                <amount>1</amount>
                <convertedamount>507.2999877930</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=clp</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CYP</to>
                <amount>1</amount>
                <convertedamount>0.3995000124</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=cyp</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>CZK</to>
                <amount>1</amount>
                <convertedamount>18.1730003357</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=czk</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>HUF</to>
                <amount>1</amount>
                <convertedamount>173.6849975586</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=huf</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>ISK</to>
                <amount>1</amount>
                <convertedamount>59.8400001526</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=isk</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>IDR</to>
                <amount>1</amount>
                <convertedamount>9280.0000000000</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=idr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>ILS</to>
                <amount>1</amount>
                <convertedamount>3.9275000095</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=ils</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>KZT</to>
                <amount>1</amount>
                <convertedamount>128.3500061035</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=kzt</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>KWD</to>
                <amount>1</amount>
                <convertedamount>0.2758750021</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=kwd</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>MTL</to>
                <amount>1</amount>
                <convertedamount>0.2924999893</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=mtl</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>MUR</to>
                <amount>1</amount>
                <convertedamount>29.8999996185</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=mur</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>NPR</to>
                <amount>1</amount>
                <convertedamount>71.0800018311</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=npr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>OMR</to>
                <amount>1</amount>
                <convertedamount>0.3849500120</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=omr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>PKR</to>
                <amount>1</amount>
                <convertedamount>61.1800003052</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=pkr</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>QAR</to>
                <amount>1</amount>
                <convertedamount>3.6367499828</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=qar</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>SAR</to>
                <amount>1</amount>
                <convertedamount>3.7300000191</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=sar</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>SKK</to>
                <amount>1</amount>
                <convertedamount>22.5949993134</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=skk</link>
            </conversion>
            <conversion>
                <from>USD</from>
                <to>AED</to>
                <amount>1</amount>
                <convertedamount>3.6549999714</convertedamount>
                <link>http://finance.yahoo.com/m3?a=1&amp;s=usd&amp;t=aed</link>
            </conversion>
        </list>
    </result>
</response>

4 replies on “Calculator Phoning Home? Not Really”

Clearly it cant be cached. The currencies would be out of date. Nor can Apple generally rely on people hitting the menu option to update currencies, because the user may not. The other option would be to query every time a conversion is made. That may be considered to chatty .

Anyway the amount of information there is probable less than a small jpeg.

I think eugene is missing the point when he claims “the amount of information there is probable less than a small jpeg.”
It should be possible to prevent calculator from connecting to Apple.
When I wish to quickly make a calculation I should not have to wait for my internet connection to be brought up.

Leave a Reply

Your email address will not be published. Required fields are marked *