Advanced topics in touchdevelop privacy transparent privacy control via information flow analysis Disclaimer: This document is provided “as-is”. Information.

Slides:



Advertisements
Similar presentations
Touchdevelop api api acceleromete r measure acceleration Disclaimer: This document is provided as-is. Information and views expressed in this document,
Advertisements

Programming with touchdevelop working with loaned phone what about them? Disclaimer: This document is provided as-is. Information and views expressed in.
Touchdevelop api api: web downloading and uploading Disclaimer: This document is provided as-is. Information and views expressed in this document, including.
Touchdevelop api api: tiles customize your home screen Disclaimer: This document is provided as-is. Information and views expressed in this document, including.
TouchDevelop Create apps ON your phone! Peli de Halleux (Senior Software Developer) Microsoft Research.
TouchDevelop: Productive Scripting on and for Mobile Devices and Web Services Thomas Ball Sebastian Burckhardt, Peli de Halleux, Michał Moskal, Nikolai.
Touchdevelop api api: songs play music Disclaimer: This document is provided as-is. Information and views expressed in this document, including URL and.
Introduction to touchdevelop actions aka methods/functions/procedures Disclaimer: This document is provided “as-is”. Information and views expressed in.
physics engine + graphics
events reactive programming
Touchdevelop api api: location & maps show geo locations Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Introduction to touchdevelop if then else conditional statement Disclaimer: This document is provided “as-is”. Information and views expressed in this.
Using SD K12 SharePoint®.
access to everything over the web
touchdevelop vs. apps with Visual Studio
Libraries in touch develop Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
Services Course Windows Live SkyDrive Participant Guide.
User-Aware Privacy Control via Extended Static-Information-Flow Analysis Xusheng Xiao,Nikolai Tilmann,Manuel Fahndrich,Jonathan de Halleux,Michal Moskal.
© 2014 Microsoft Corporation. All rights reserved.
Programming with touchdevelop discovering discover touchdevelop Disclaimer: This document is provided “as-is”. Information and views expressed in this.
Programming with touchdevelop touchdevelop introduction Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Touchdevelop api api: messaging sending sms Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Screens naming screens and concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and.
Introduction to touchdevelop math basic arithmetic operations Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Unraveling Web Development PRESENTERS: Bob Nakles and Paras Kaul, George Mason University.
Touchdevelop api api: home script your digital media Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api sound & microphone record sound Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api: calendar when you are supposed to be somewhere Disclaimer: This document is provided “as-is”. Information and views expressed in.
300MM active users worldwide Worldwideleadership.
Advanced topics in touchdevelop touchdevelop outlook ongoing research Disclaimer: This document is provided “as-is”. Information and views expressed in.
Electronic Use Policies.   Social Media  Internet.
Programming with touchdevelop class mechanics working with a phone in the classroom Disclaimer: This document is provided “as-is”. Information and views.
Touchdevelop api api: contacts people you know Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Conditions and Terms of Use
I/o inputs and outputs Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
Touchdevelop api api: leaderboard when you are supposed to be somewhere Disclaimer: This document is provided “as-is”. Information and views expressed.
Touchdevelop api api: sending electronic bits to people Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Introduction to touchdevelop statements overview Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api: social sharing Twitter, Facebook, … Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Programming with touchdevelop teacher’s checklist go over this before starting the course Disclaimer: This document is provided “as-is”. Information and.
Advanced topics in touchdevelop touchdevelop vs. apps with Visual Studio comparison Disclaimer: This document is provided “as-is”. Information and views.
I/o inputs and outputs Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
Introduction to touchdevelop ✿ art read only resources Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Touchdevelop api api gyroscope measure device rotation rate Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Social experience everything that is not coding Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Scripts what’s in a script – basic language concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Scripts what’s in a script – basic language concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Editing code mastering code input and navigation Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Introduction to touchdevelop values … and types Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Introduction to touchdevelop statements overview Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Programming with touchdevelop about RiSE who is RiSE at Microsoft Research Disclaimer: This document is provided “as-is”. Information and views expressed.
Screens naming screens and concepts v2.8 Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL.
Android and IOS Permissions Why are they here and what do they want from me?
Tomaž Čebul Principal Consultant Microsoft Bring Your Own Device, kaj pa je to?
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Social Ethical and Legal Issues Web Design. 3.4 Social, Ethical, and Legal Issues Focus on Reading Main Ideas Ethical, social, and legal guidelines govern.
[Insert your logo here.] For Marketing Professionals [Insert brief description of guide.]
Primary Contact Territory Category On-boarding Status Relationship Type Deal Territory Deal Confidentiality Potential conflict Conflict Cleared.
Basic coding… with TouchDevelop!!
Building Compliant Team Sites
Build Power-full Solutions in Office 365 …without Code!
Build Power-full Solutions in Office 365 …without Code!
Get Office 2016 with Office 365 and get down to business
Securely run and grow your business with Microsoft 365 Business
Which is right for your business, Office 365 or Microsoft 365?
Explain what touch develop is to your students:
Which is right for your business, Office 365 or Microsoft 365?
access to everything over the web
Presentation transcript:

advanced topics in touchdevelop privacy transparent privacy control via information flow analysis Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and Windows Live are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

advanced topics in touchdevelop what is the problem o when you write your own code, you know exactly what happens to your information o a script you get from the script bazaar... could leak your provide information to the outside world! post in your name on Facebook send SMS, make phone calls send your pictures to a unknown webservice ►what else?

advanced topics in touchdevelop sources, sinks o sources: origin of private information camera, location, picture, music, microphone, contacts, calendar, home o sinks: channels where information may leak vetted – you can review: contacts, media, sharing, clipboard unvetted – you cannot review: web ✿

advanced topics in touchdevelop approaches o iOS prompt on first use can run app with disabled capability limited to notifications, location o Android, Windows Phone 7 prompt at install time somewhat fine grained ►what are the problems with these approaches?

advanced topics in touchdevelop our goal o transparent privacy awareness help me understand what’s going on o flexible privacy control let me be in charge of my information o reasonable default settings when I don’t tweak anything, I am safe ►what information did you share today?

advanced topics in touchdevelop anonymized data o for each source, you can choose between your real data anonymized data ►what is an anonymized location, picture, calendar?

advanced topics in touchdevelop basic idea o default for scripts from bazaar real information for safe flows anonymized information otherwise o safe flows untampered private information flows to a vetted sink ►when is sharing a picture on Facebook safe?

advanced topics in touchdevelop our approach o visualization show capabilities and information flows o customizable access choose between real / anonymized o safe by default real information only for safe flows

advanced topics in touchdevelop central authority o app store / marketplace / script bazaar centralized authorities that enforce policy compliance ►what are the policies?

advanced topics in touchdevelop script bazaar o all scripts get formally analyzed parse, typecheck compute capabilities compute information flow o informal quality measures ♥ comments

advanced topics in touchdevelop computing capabilities o automated identification of application capabilities via static analysis annotated APIs with capability information parse each action (method) in the script into a AST tree visit each statement node to identify used capabilities a fix point is reached when no further changes

advanced topics in touchdevelop computing information flow o compute information flows via static analysis compute summaries of blocks and actions simulates program execution via static symbolic execution a fix point is reached when no further changes locationweb

advanced topics in touchdevelop summaries o block summary o action summary states of the exit block

advanced topics in touchdevelop implicit flow o from control structures o recorded by additional local variable PC l := senses -> current location; r := locations -> describe location(l); y := false; if r->contains(‘secret’) then { y:= true; }

advanced topics in touchdevelop references o deep accesses are tracked on a per-kind basis o connect kinds action foo(i) : Nothing { …. msgs -> add(msg); msg -> set message(s); // classified …. msg2 -> msgs -> at(i); msg2 -> share(‘web service’); }

advanced topics in touchdevelop propagation o statement-based propagation o union of the classified information of kinds

advanced topics in touchdevelop tampered flow o track tampered information by extending the information flow analysis

advanced topics in touchdevelop access granting o obtain users’ permissions anonymized information e.g., fixed location, fixed picture real Information e.g., current location via GPS o configure in script settings

advanced topics in touchdevelop more information… ✿ TechReport MSR-TR “Transparent Privacy Control via Static Information Flow Analysis” Xusheng Xiao, Nikolai Tillmann, Manuel Fahndrich, Peli de Halleux, and Michal Moskal

advanced topics in touchdevelop examples o share location safe flow, results in ‘real’ information by default ☁ o share location unsafe flow (sharing of a somehow compute value), results in ‘anonymized’ information by default) ☁

advanced topics in touchdevelop exercises ► publish script with non-empty information flow ► publish script with unsafe information flow ► publish script with implicit information flow

advanced topics in touchdevelop title o item 1 o Item 2 song→post to wall ☀ anecdote ☁ (link to sample) ► an exercise ✿ a reference