Tuesday, October 02, 2018

Turing completeness, weird machines, Twitter, and muddled terminology

First off, an apology to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reader: I normally spend a bit of effort to make my blog posts readable / polished, but I am under quite a few time constraints at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 moment, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following will be held to lesser standards of writing than usual.

A discussion arose on Twitter after I tweeted that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term "Turing-complete" in academic exploit papers is wrong. During that discussion, it emerged that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are more misunderstandings of terms that play into this. Correcting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things on Twitter will not work (how I long for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 days of useful mailing lists), so I ended up writing a short text. Pastebin is not great for archiving posts eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, so for lack of a better place to put it, here it comes:

Our misuse of "Turing completeness" and "weird machine" is harmful and confusing

1. "Turing completeness"

TC refers to computability (in terms of simulating ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r computers), and is well-defined cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. It means "can simulate any Turing machine". There are a few things to keep in mind about TC:

  • None of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machines we use day-to-day are TC in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 absence of I/O. TC requires infinite memory.
  • TC arises really quickly; all you need is one instruction that subtracts and performs a conditional branch if not zero instruction. It also arises in quite minimal recurrence equations randomly (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that game of life is Turing-complete).

For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploitation case, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desirable outcome is "we got integer arithmetic and arbitrary read and write". Turing-completeness says nothing about exploitability as exploitability has little to do with computation and much more to do with "what sort of states are reachable given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possible interactions with my target". These are two very distinct questions.

Font renderers are Turing-complete, Javascript is, and considering that if I/O is present, part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computation may actually be performed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker side, IMAP is as well.

It is simply a complete mis-use of terms. Even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper that first used it just used it to say "we eyeballed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 instructions we got, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y look like we can probably do everything we'd want to do":
The set of gadgets we describe is Turing complete by inspection, so return-oriented programs can do anything possible with x86 code.
Let's not mis-use a precisely defined term for something else just because saying "TC" makes us feel like we are doing real computer science.

Exploitation is about reachable states (and transitions) much more than about computability.

2. "Weird machines"


Weird machines are one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most tragically misunderstood abstractions (which, if people understand it properly, helps greatly in reasoning about exploitation).

The point of weird machine research is *not* about showing that everything is Turing complete. The point of weird machine research is that when any finite state automaton is simulated, and when that simulation gets corrupted, a new machine emerges, with it's own instruction set. It is this instruction set that gets programmed in attacks. Constraining cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 state transitions (and hence cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reachable states) of a weird machine is what makes exploitation impossible. The computational power (in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC sense) is secondary.

The key insight that would have saved us all from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dreary experience of reading 25 tit-for-tat-ROP-and-bad-mitigation papers is that if you do not constrain what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 weird machines that emerge on a memory corruption can do, your mitigation is probably not going to help. Most mitigations blacklist a particular weird machine program, without constraining cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine's capabilities.

Weird machines are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 proper framework in which to reason about pretty much all exploits that are not side-channel based or missing-auth-based.

Now, unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 abstraction was well-understood intuitively by a few people that had done a lot of exploitation, but not made precise or put in writing. As a consequence, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r researchers heard cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term, and "filled it with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir imagination": They cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n used cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term wherever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y found a surprising method of computation in random things by using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as designed. This made cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term even harder to understand - in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same way that nobody will be able to understand "Turing complete" by just reading ROP papers.

I am particularly passionate about this part because I spent a few months putting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 informally-defined weird machine onto sound footing and into precise definitions to writing to prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term from getting even more muddled :-)

To summarize:


  • The use of "Turing completeness" in ROP papers is an abuse; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of that term does not correspond to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretical CS. If we are going to use rigorous terms, we should make sure we use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m correctly. I see students and researchers be confused about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual meaning all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time now.
  • The ROP-tit-for-tat-mitigation paper deluge (and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 subsequent unhealthy focus on CFI) could have been avoided if people had reasoned about ROP things at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right abstraction levels (weird machines). They would have had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were quite a few conversations between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 authors of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tit-for-tat-papers and people that understood things properly :-), but my suspicion is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was no incentive to reason on an abstraction level that messes with your ability to salami-slice more papers.
  • It was made harder to understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concept of weird machines because people that had not properly understood weird machines started calling everything that looked vaguely interesting "weird machines". Nobody was sitting on any review boards to stop cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m :-), so now that term (which also has a precise definition) is used in a wrong manner, too.

My larger point is: We have so much handwavy and muddled terminology in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 papers in this field, it is harmful to young researchers, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r fields, and PhD students. The terminology is confusing, often ill-defined (what is a gadget?), terms that have a precise meaning in general CS get used to mean something completely else without anybody explaining it (Turing complete).

This creates unnecessary and harmful confusion, and it should be fixed.

Saturday, March 31, 2018

A bank statement for app activity (and thus personal data)

During my long sabbatical in 2015-2016 I had plenty of time to think about random things and come up with strange ideas. Most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se ideas are more funny than practical - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir primary use is boring people that are reckless enough to have drinks with me.

This blog post describes one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se ideas. With cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent renewed interest in privacy and overreach of smart phone apps, it seems like a topic that is - at least temporarily - less boring than usual.

ML, software behavior, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boundary between 'malicious' and 'non-malicious'

I have seen a lot of human brain power (and a vast amount of computational power) thrown at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem of automatically deciding whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r a given piece of software is good or bad. 

This is usually done as follows:
  1. Collect a lot of information about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 behavior of software (normally by running cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software in some simulated environment)
  2. Extract features from this information
  3. Apply some more-or-less sophisticated machine learning model to decide between "good" or "bad"
The underlying idea behind this is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is "bad" behavior, and "good" behavior, and if we could somehow build a machine learning model that is sufficiently powerful, we could automatically decide whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r a given piece of software is good or bad.

In practice, this rarely works without significant false-positive problems, or significant false-negative-problems, or all sorts of complicated corner-cases where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system fails.

In 2015, I had to deal with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fallout of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 badly-phrased Wassenaar wording: Export-control legislation which tried to define "bad behavior" for software. During this, it became clear to me that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea that behavior alone determines good/bad is flawed.

The behavior of a piece of software does not determine whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it is malicious or not. The true defining line between malicious and non-malicious software is whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r software does what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user expects it to do

Users run software because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have an expectation for what this software does. They grant permissions for software because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have an expectation for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software to do something for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m ("I want to make phone calls, so clearly cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app should use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 microphone"). This permission is given conditionally, with context -- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user does not want to give cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app permission to switch on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 microphone when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user does not intend to make a phone call.

The question of malicious / non-malicious software is a question of alignment between user expectations and software behavior.

This means, in practice, that efforts in applying machine learning to separate malicious from non-malicious software are doomed to fail, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y fail to measure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one dimension through which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boundary between good and bad runs.

Intuitively, this can be illustrated with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two pictures below. They show cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same set of red and green points in 3d-space from two different perspectives -- once with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir z-axis projected away, and once in a 3-d plot where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 z-axis is still visible:

Cloud of points from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 side, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "important" dimension projected away. It is near-impossible to draw a sane boundary between red and green points, and whatever boundary you draw won't generalize well.

Same cloud of points, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "important" dimension going from left to right. It is much clearer how to separate green from red points now.
The question that arises naturally, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n, is:

How can one measure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 missing dimension (user intent)?

User intent is a difficult thing to measure. The software industry has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practice of forcing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to agree to some ridiculously wide-reaching terms-of-services or EULA that few users read, even fewer understand, and which are often near-equivalent to giving cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 person you hire to clean your flat a power of attorney over all your documents, and allowing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to throw parties in your flat while you are not looking.

It is commonly argued that - because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user clicked "agree" to an extremely broad agreement - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user consented to everything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software can possibly do.

But consent to software actions is context-dependent and conditioned on particular, specific actions. It is fine for my messenger to request access to my camera, microphone and files - I may need to send a picture, I may need to make a phone call, and I may need to send an attachment. It is not OK for my messenger to use my microphone to see if a particular ultrasonic tracker sound is received, it is not OK for my messenger to randomly search through files etc.

Users do not get to tell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software vendor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir intent and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context for which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are providing consent.

Now, given that user intent is difficult to measure up-front - how about we simply ask cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r something that an app / software did was what he expected it to do?

Information and attention is a currency - but one with bad accounting

The modern ad economy runs on attention and private data. The big advertising platforms make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir money by selling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 combination of user attention and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to micro-target advertisements given contextual data about a user. The user "pays" for goods and services by providing attention and private data.

People often fear that big platforms will "sell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir data". This is, at least for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smarter / more profitable platforms, an unnecessary fear: These platforms make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir money by having data that ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs do not have, and which allows better micro-targeting. They do not make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir money "selling data", cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y make money "monetizing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have".

The way to think about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 relationship between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform is more of a clicheed "musician-agent" relationship: The musician produces something, but does not know how to monetize it. His Agent knows how to monetize it, and strikes a deal with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 musician: You give me exclusive use of your product, and I will monetize it for you - and take a cut from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 proceeds.

The profits accumulated by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big platforms are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference between what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 combination of attention & private data obtained from users is worth and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cost of obtaining this attention and data.

For payments in "normal" currency, users usually have pretty good accounting: They know what is in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir wallet, and (to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extent that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y use electronic means for payments) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y get pretty detailed transaction statements. It is not difficult for a normal household to reconstruct from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir bank statements relatively precisely how much cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y paid for what goods in a given month.

This transparency creates trust: We do not hesitate much to give our credit card numbers to online service providers, because we know that we can intervene if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y charge our credit cards without reason and in excess of what we agreed to.

Private information, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, is not accounted for. Users have no way to see how much private data cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y provide, and whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are actually OK with that.

A bank statement for app/software activity

How could one empower users to account for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir private data, while at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time helping platform providers identify malicious software better?

By providing users with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 equivalent of a bank statement for app/software activity. The way I imagine it would be roughly as follows:

A separate component of my mobile phone (or computer) OS keeps detailed track of app activity: What peripherals are accessed at what times, what files are accessed, etc.

Users are given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 option of checking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 activity on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir device through a UI that makes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se details understandable and accessible:
  • App XYZ accessed your microphone in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last week at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following times, showing you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following screen:
    • Timestamp 1, screenshot 1
    • Timestamp 2, screenshot 2
  • Does this match your expectations of what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app should do? YES / NO
  • App ABC accessed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following files during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last week at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following times, showing you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following screen:
    • Timestamp 3, screenshot 3
      • Filename
      • Filename
      • filename
  • Does this match your expectations of what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app should do? YES / NO
At least on modern mobile platforms, most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above data is already available - modern permissions systems can keep relatively detailed logs of "when what was accessed". Adding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to save screenshots alongside is easy.

Yes, a lot of work has to go into a thoughtful UI, but it seems worth cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trouble: Even if most users will randomly click on YES / NO, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 few thousand users that actually care will provide platform providers valuable information about whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r an app is overreaching or not. At cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time, more paranoid users (like me) would feel less fearful about installing useful apps: If I see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app doing something in excess of what I would like it to do, I could remove it.

Right now, users have extremely limited transparency into what apps are actually doing. While cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation is improving slowly (most platforms allow me to check which app last used my GPS), it is still way too opaque for comfort, and overreach / abuse is likely pervasive.

Changing this does not seem hard, if any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big platform providers could muster cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 will.

It seems like a win / win situation, so I can hope. I can also promise that I will buy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first phone to offer this in a credible way :-).

PS: There are many more side-benefits to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above model - for example making it more difficult to hack a trusted app developer to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n silently exfiltrate data from users that trust said developer - but I won't bore you with those details now.

Wednesday, February 21, 2018

Two small notes on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "malicious use of AI" report

After a long hiatus on this blog, a new post! Well, not really - but a whitepaper was published today titled "The Malicious Use of Artificial Intelligence", and I decided I should cut/paste/publish two notes that apply to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper from an email I wrote a while ago.

Perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are useful to someone:
1) On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ill-definedness of AI: AI is a diffuse and ill-defined term. Pretty much *anything* where a parameter is inferred from data is called "AI" today. Yes, clothing sizes are determined by "AI", because mean measurements are inferred from real data.

To test whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r one has fallen into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trap as viewing AI as something structurally different from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics or computer science (it is not!), one should try to battle-test documents about AI policy, and check cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m for proportionality, by doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following:

Take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 existing test and search/replace every occurrence of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word "AI" or "artificial intelligence" with "Macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics", and every occurrence of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word "machine learning" with "statistics". Re-read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 text and see whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r you would still agree.

2) "All science is always dual-use":

Everybody that works at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 intersection of science & policy should read Hardy's "A macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365maticians apology". https://www.math.ualberta.ca/mss/misc/A%20Macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matician%27s%20Apology.pdf

I am not sure how many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contributors have done so, but it is a fascinating read - he contemplates among ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r things cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 effect that macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics had on warfare, and to what extent science can be conducted if one has to assume it will be used for nefarious purposes.

My favorite section is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following:
We have still one more question to consider. We have concluded that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trivial macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics is, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole, useful, and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole, is not; that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trivial macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics does, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics does not, ‘do good’ in a certain sense; but we have still to ask whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r sort of macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics does harm. It would be paradoxical to suggest that macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics of any sort does much harm in time of peace, so that we are driven to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consideration of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 effects of macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics on war. It is every difficult to argue such questions at all dispassionately now, and I should have preferred to avoid cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m; but some sort of discussion seems inevitable. Fortunately, it need not be a long one.
There is one comforting conclusions which is easy for a real macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matician. Real macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics has no effects on war.
No one has yet discovered any warlike purpose to be served by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory of numbers or relativity, and it seems very unlikely that anyone will do so for many years. It is true that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are branches of applied macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics, such as ballistics and aerodynamics, which have been developed deliberately for war and demand a quite elaborate technique: it is perhaps hard to call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m ‘trivial’, but none of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m has any claim to rank as ‘real’. They are indeed repulsively ugly and intolerably dull; even Littlewood could not make ballistics respectable, and if he could not who can? So a real macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matician has his conscience clear; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is nothing to be set against any value his work may have; macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics is, as I said at Oxford, a ‘harmless and innocent’ occupation. The trivial macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, has many applications in war.
The gunnery experts and aeroplane designers, for example, could not do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work without it. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 general effect of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se applications is plain: macá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365matics facilitates (if not so obviously as physics or chemistry) modern, scientific, ‘total’ war.

The most fascinating bit about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above is how fantastically presciently wrong Hardy was when speaking about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lack of war-like applications for number cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory or relativity - RSA and nuclear weapons respectively. In a similar vein - I was in a relationship in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past with a woman who was a social anthropologist, and who often mocked my field of expertise for being close to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 military funding agencies (this was in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 early 2000s). The first thing that SecDef Gates did when he took his position was hire a bunch of social anthropologists to help DoD unravel cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tribal structure in Iraq.

The point of this disgression is: It is impossible for any scientist to imagine future uses and abuses of his scientific work. You cannot choose to work on "safe" or "unsafe" science - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only choice you have is between relevant and irrelevant, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 militaries of this world *will* use whatever is relevant and use it to maximize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir warfare capabilities.