<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-1176949257541686127</id><updated>2019-01-05T08:31:14.114-08:00</updated><category term="android security" /><category term="android" /><category term="big data" /><category term="blackhat" /><category term="spyware" /><category term="targeted spyware" /><title type="text">Google Online Security Blog</title><subtitle type="html">The latest news and insights from Google on security and safety on the Internet.</subtitle><link rel="alternate" type="text/html" href="http://security.googleblog.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>306</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GoogleOnlineSecurityBlog" /><feedburner:info uri="googleonlinesecurityblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3353399689740084342</id><published>2018-12-20T10:40:00.000-08:00</published><updated>2018-12-20T10:40:32.512-08:00</updated><title type="text">Android Pie à la mode: Security &amp; Privacy</title><content type="html">Posted by Vikrant Nanda and René Mayrhofer, Android Security &amp;amp; Privacy Team&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/12/android-pie-la-mode-security-privacy.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://4.bp.blogspot.com/-FqQR_m0ysV4/XBmSpL4n7gI/AAAAAAAAGpg/ntQExkZQmTMu4cUs5UGDTClirI549nhZQCLcBGAs/s1600/piePrints_600w.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="338" data-original-width="600" id="imgFull" src="https://4.bp.blogspot.com/-FqQR_m0ysV4/XBmSpL4n7gI/AAAAAAAAGpg/ntQExkZQmTMu4cUs5UGDTClirI549nhZQCLcBGAs/s1600/piePrints_600w.png" /&gt;&lt;/a&gt;&lt;br /&gt;There is no better time to talk about Android dessert releases than the holidays because who doesn't love dessert? And what is one of our favorite desserts during the holiday season? Well, pie of course.&lt;br /&gt;&lt;br /&gt; In all seriousness, pie is a great analogy because of how the various ingredients turn into multiple layers of goodness: right from the software crust on top to the hardware layer at the bottom. Read on for a summary of security and privacy features introduced in Android Pie this year.&lt;br /&gt; &lt;b&gt;Platform hardening&lt;/b&gt;&lt;br /&gt;With Android Pie, we updated &lt;a href="https://source.android.com/security/encryption/file-based"&gt;File-Based Encryption&lt;/a&gt; to support external storage media (such as, expandable storage cards). We also introduced support for &lt;a href="https://source.android.com/security/encryption/metadata"&gt;metadata encryption&lt;/a&gt; where hardware support is present. With filesystem metadata encryption, a single key present at boot time encrypts whatever content is not encrypted by file-based encryption (such as, directory layouts, file sizes, permissions, and creation/modification times).&lt;br /&gt;&lt;br /&gt;Android Pie also introduced a &lt;a href="https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html"&gt;BiometricPrompt API&lt;/a&gt; that apps can use to provide biometric authentication dialogs (such as, fingerprint prompt) on a device in a modality-agnostic fashion. This functionality creates a standardized look, feel, and placement for the dialog. This kind of standardization gives users more confidence that they're authenticating against a trusted biometric credential checker.&lt;br /&gt;&lt;br /&gt;New protections and test cases for the &lt;a href="https://source.android.com/security/app-sandbox"&gt;Application Sandbox&lt;/a&gt; help ensure all non-privileged apps targeting Android Pie (and all future releases of Android) run in stronger &lt;a href="https://source.android.com/security/selinux"&gt;SELinux&lt;/a&gt; sandboxes. By providing per-app cryptographic authentication to the sandbox, this protection improves app separation, prevents overriding safe defaults, and (most significantly) prevents apps from making their data widely accessible.&lt;br /&gt; &lt;b&gt;Anti-exploitation improvements&lt;/b&gt;&lt;br /&gt;With Android Pie, we expanded our &lt;a href="https://android-developers.googleblog.com/2018/06/compiler-based-security-mitigations-in.html"&gt;compiler-based security mitigations&lt;/a&gt;, which instrument runtime operations to fail safely when undefined behavior occurs.&lt;br /&gt;&lt;br /&gt;  &lt;a href="https://source.android.com/devices/tech/debug/cfi"&gt;Control Flow Integrity (CFI)&lt;/a&gt; is a security mechanism that disallows changes to the original control flow graph of compiled code. In Android Pie, it has been enabled by default within the media frameworks and other security-critical components, such as for Near Field Communication (NFC) and Bluetooth protocols. We also implemented support for &lt;a href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html"&gt;CFI in the Android common kernel&lt;/a&gt;, continuing our efforts to harden the kernel in previous Android releases.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://source.android.com/devices/tech/debug/intsan"&gt;Integer Overflow Sanitization&lt;/a&gt; is a security technique used to mitigate memory corruption and information disclosure vulnerabilities caused by integer operations. We've expanded our use of Integer Overflow sanitizers by enabling their use in libraries where complex untrusted input is processed or where security vulnerabilities have been reported.&lt;br /&gt;&lt;b&gt;Continued investment in hardware-backed security&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; One of the highlights of Android Pie is &lt;a href="https://android-developers.googleblog.com/2018/10/android-protected-confirmation.html"&gt;Android Protected Confirmation&lt;/a&gt;, the first major mobile OS API that leverages a hardware-protected user interface (Trusted UI) to perform critical transactions completely outside the main mobile operating system. Developers can use this API to display a trusted UI prompt to the user, requesting approval via a physical protected input (such as, a button on the device). The resulting cryptographically signed statement allows the relying party to reaffirm that the user would like to complete a sensitive transaction through their app.&lt;br /&gt;&lt;br /&gt;  We also introduced support for a new Keystore type that provides stronger protection for private keys by leveraging tamper-resistant hardware with dedicated CPU, RAM, and flash memory. &lt;a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule"&gt;StrongBox Keymaster&lt;/a&gt; is an implementation of the Keymaster hardware abstraction layer (HAL) that resides in a hardware security module. This module is designed and required to have its own processor, secure storage, True Random Number Generator (TRNG), side-channel resistance, and tamper-resistant packaging.&lt;br /&gt;&lt;br /&gt;  Other Keystore features (as part of Keymaster 4) include Keyguard-bound keys, Secure Key Import, 3DES support, and version binding. Keyguard-bound keys enable use restriction so as to protect sensitive information. Secure Key Import facilitates secure key use while protecting key material from the application or operating system. You can read more about these features in our recent &lt;a href="https://android-developers.googleblog.com/2018/12/new-keystore-features-keep-your-slice.html"&gt;blog post&lt;/a&gt; as well as the accompanying &lt;a href="https://source.android.com/setup/start/p-release-notes#keystore"&gt;release notes&lt;/a&gt;.&lt;br /&gt;&lt;b&gt;Enhancing user privacy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;User privacy has been boosted with several &lt;a href="https://developer.android.com/about/versions/pie/android-9.0-changes-all#privacy-changes-all"&gt;behavior changes&lt;/a&gt;, such as limiting the access background apps have to the camera, microphone, and device sensors. New permission rules and permission groups have been created for phone calls, phone state, and Wi-Fi scans, as well as restrictions around information retrieved from Wi-Fi scans. We have also added associated &lt;a href="https://source.android.com/devices/tech/connect/wifi-mac-randomization"&gt;MAC address randomization&lt;/a&gt;, so that a device can use a different network address when connecting to a Wi-Fi network.&lt;br /&gt;  &lt;br /&gt;On top of that, Android Pie added support for encrypting Android backups with the user's screen lock secret (that is, PIN, pattern, or password). By design, this means that &lt;a href="https://developer.android.com/about/versions/pie/security/ckv-whitepaper"&gt;an attacker would not be able to access a user's backed-up application data&lt;/a&gt; without specifically knowing their passcode. Auto backup for apps has been enhanced by providing developers a way to specify conditions under which their app's data is excluded from auto backup. For example, Android Pie introduces a new flag to determine whether a user's backup is client-side encrypted.&lt;br /&gt;&lt;br /&gt;As part of a larger effort to move all web traffic away from cleartext (unencrypted HTTP) and towards being secured with TLS (HTTPS), we changed the defaults for Network Security Configuration to block all cleartext traffic. We're protecting users with &lt;a href="https://android-developers.googleblog.com/2018/04/protecting-users-with-tls-by-default-in.html"&gt;TLS by default&lt;/a&gt;, unless you explicitly opt-in to cleartext for specific domains. Android Pie also adds built-in support for &lt;a href="https://android-developers.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html"&gt;DNS over TLS&lt;/a&gt;, automatically upgrading DNS queries to TLS if a network's DNS server supports it. This protects information about IP addresses visited from being sniffed or intercepted on the network level.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We believe that the features described in this post advance the security and privacy posture of Android, but you don't have to take our word for it. Year after year our continued efforts are demonstrably resulting in better protection as evidenced by &lt;a href="https://www.thezdi.com/blog/2018/9/04/announcing-pwn2own-tokyo-for-2018"&gt;increasing exploit difficulty&lt;/a&gt; and &lt;a href="https://www.blog.google/products/android-enterprise/gartners-analysis-progress-android-security/"&gt;independent mobile security ratings&lt;/a&gt;. Now go and enjoy some actual pie while we get back to preparing the next Android dessert release!&lt;br /&gt;&lt;br /&gt;Making Android more secure requires a combination of hardening the platform and advancing anti-exploitation techniques.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Acknowledgements: This post leveraged contributions from Chad Brubaker, Janis Danisevskis, Giles Hogben, Troy Kensinger, Ivan Lozano, Vishwath Mohan, Frank Salim, Sami Tolvanen, Lilian Young, and Shawn Willden. &lt;/i&gt;&lt;br /&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=cKT697v0sMo:es_YPkKtbJ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=cKT697v0sMo:es_YPkKtbJ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=cKT697v0sMo:es_YPkKtbJ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/cKT697v0sMo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3353399689740084342/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3353399689740084342&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3353399689740084342" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3353399689740084342" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/cKT697v0sMo/android-pie-la-mode-security-privacy.html" title="Android Pie à la mode: Security &amp; Privacy" /><author><name>Aaron Stein</name><uri>http://www.blogger.com/profile/15108814150912902439</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-FqQR_m0ysV4/XBmSpL4n7gI/AAAAAAAAGpg/ntQExkZQmTMu4cUs5UGDTClirI549nhZQCLcBGAs/s72-c/piePrints_600w.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/12/android-pie-la-mode-security-privacy.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-7506282994486167488</id><published>2018-12-12T10:44:00.000-08:00</published><updated>2018-12-17T10:19:04.029-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">New Keystore features keep your slice of Android Pie a little safer</title><content type="html"> &lt;img src="https://3.bp.blogspot.com/-5FBDQT3SIAo/XBAOwfqoaBI/AAAAAAAAGm0/eYEG4Gt8Eb0Y0CbMuVGKs5xjxO0gV0zkgCLcBGAs/s1600/heroKeystoreBlog-1000w.png" style="display: none;" /&gt; &lt;br /&gt;&lt;em&gt;Posted by Lilian Young and Shawn Willden, Android Security; and Frank Salim, Google Pay&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/12/new-keystore-features-keep-your-slice.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;a href="https://3.bp.blogspot.com/-5FBDQT3SIAo/XBAOwfqoaBI/AAAAAAAAGm0/eYEG4Gt8Eb0Y0CbMuVGKs5xjxO0gV0zkgCLcBGAs/s1600/heroKeystoreBlog-1000w.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="563" data-original-width="1000" id="imgFull" src="https://3.bp.blogspot.com/-5FBDQT3SIAo/XBAOwfqoaBI/AAAAAAAAGm0/eYEG4Gt8Eb0Y0CbMuVGKs5xjxO0gV0zkgCLcBGAs/s1600/heroKeystoreBlog-1000w.png" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;h1&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;New Android Pie Keystore Features&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;The Android &lt;a href="https://source.android.com/security/keystore"&gt;Keystore&lt;/a&gt; provides application developers with a set of cryptographic tools that are designed to secure their users' data. Keystore moves the cryptographic primitives available in software libraries out of the Android OS and into secure hardware. Keys are protected and used only within the secure hardware to protect application secrets from various forms of attacks. Keystore gives applications the ability to specify restrictions on how and when the keys can be used. &lt;br /&gt;Android Pie introduces new capabilities to Keystore. We will be discussing two of these new capabilities in this post. The first enables restrictions on key use so as to protect sensitive information. The second facilitates secure key use while protecting key material from the application or operating system.   &lt;br /&gt;&lt;h1&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Keyguard-bound keys&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;There are times when a mobile application receives data but doesn't need to immediately access it if the user is not currently using the device. Sensitive information sent to an application while the device screen is locked must remain secure until the user wants access to it. Android Pie addresses this by introducing keyguard-bound cryptographic keys. When the screen is locked, these keys can be used in encryption or verification operations, but are unavailable for decryption or signing. If the device is currently locked with a PIN, pattern, or password, any attempt to use these keys will result in an invalid operation. Keyguard-bound keys protect the user's data while the device is locked, and only available when the user needs it. &lt;br /&gt;Keyguard binding and authentication binding both function in similar ways, except with one important difference. Keyguard binding ties the availability of keys directly to the screen lock state while authentication binding uses a constant timeout. With keyguard binding, the keys become unavailable as soon as the device is locked and are only made available again when the user unlocks the device.  &lt;br /&gt;It is worth noting that keyguard binding is enforced by the operating system, not the secure hardware. This is because the secure hardware has no way to know when the screen is locked. Hardware-enforced Android Keystore protection features like authentication binding, can be combined with keyguard binding for a higher level of security. Furthermore, since keyguard binding is an operating system feature, it's available to any device running Android Pie. &lt;br /&gt;Keys for any algorithm supported by the device can be keyguard-bound. To generate or import a key as keyguard-bound, call &lt;a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder#setUnlockedDeviceRequired(boolean)"&gt;setUnlockedDeviceRequired(true)&lt;/a&gt; on the &lt;a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder"&gt;KeyGenParameterSpec&lt;/a&gt; or &lt;a href="https://developer.android.com/reference/android/security/keystore/KeyProtection.Builder"&gt;KeyProtection&lt;/a&gt; builder object at key generation or import. &lt;br /&gt;&lt;h1&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Secure Key Import&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;Secure Key Import is a new feature in Android Pie that allows applications to provision existing keys into Keystore in a more secure manner. The origin of the key, a remote server that could be sitting in an on-premise data center or in the cloud, encrypts the secure key using a public wrapping key from the user's device. The encrypted key in the &lt;a href="https://developer.android.com/reference/android/security/keystore/WrappedKeyEntry"&gt;SecureKeyWrapper&lt;/a&gt; format, which also contains a description of the ways the imported key is allowed to be used, can only be decrypted in the Keystore hardware belonging to the specific device that generated the wrapping key. Keys are encrypted in transit and remain opaque to the application and operating system, meaning they're only available inside the secure hardware into which they are imported. &lt;br /&gt;&lt;a href="https://3.bp.blogspot.com/-zi_RsdwphkY/XBBZO6Jz_zI/AAAAAAAAGnM/Z07lF_RH48wZ2ZdAGsasXR0OQiG1lmdaACLcBGAs/s1600/image1.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="900" data-original-width="900" id="imgFull" src="https://3.bp.blogspot.com/-zi_RsdwphkY/XBBZO6Jz_zI/AAAAAAAAGnM/Z07lF_RH48wZ2ZdAGsasXR0OQiG1lmdaACLcBGAs/s1600/image1.png" /&gt;&lt;/a&gt;&lt;br /&gt;Secure Key Import is useful in scenarios where an application intends to share a secret key with an Android device, but wants to prevent the key from being intercepted or from leaving the device. Google Pay uses Secure Key Import to provision some keys on Pixel 3 phones, to prevent the keys from being intercepted or extracted from memory. There are also a variety of enterprise use cases such as S/MIME encryption keys being recovered from a Certificate Authorities escrow so that the same key can be used to decrypt emails on multiple devices. &lt;br /&gt;To take advantage of this feature, please review &lt;a href="https://developer.android.com/training/articles/keystore#ImportingEncryptedKeys"&gt;this training article&lt;/a&gt;. Please note that Secure Key Import is a secure hardware feature, and is therefore only available on select Android Pie devices. To find out if the device supports it, applications can generate a KeyPair with &lt;a href="https://developer.android.com/reference/android/security/keystore/KeyProperties#PURPOSE_WRAP_KEY"&gt;PURPOSE_WRAP_KEY&lt;/a&gt;. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=2egAL63eNcg:JNEex-oqVY4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=2egAL63eNcg:JNEex-oqVY4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=2egAL63eNcg:JNEex-oqVY4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/2egAL63eNcg" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/7506282994486167488/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=7506282994486167488&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/7506282994486167488" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/7506282994486167488" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/2egAL63eNcg/new-keystore-features-keep-your-slice.html" title="New Keystore features keep your slice of Android Pie a little safer" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-5FBDQT3SIAo/XBAOwfqoaBI/AAAAAAAAGm0/eYEG4Gt8Eb0Y0CbMuVGKs5xjxO0gV0zkgCLcBGAs/s72-c/heroKeystoreBlog-1000w.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/12/new-keystore-features-keep-your-slice.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3121321413133988871</id><published>2018-12-07T09:05:00.000-08:00</published><updated>2018-12-07T09:05:48.168-08:00</updated><title type="text">Tackling ads abuse in apps and SDKs</title><content type="html">&lt;span class="byline-author"&gt;Posted by Dave Kleidermacher, VP, Head of Security &amp;amp; Privacy - Android &amp;amp; Play&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Providing users with safe and secure experiences, while helping developers build and grow quality app businesses, is our top priority at Google Play. And we’re &lt;a href="https://transparencyreport.google.com/android-security/overview"&gt;constantly working&lt;/a&gt; to improve our protections.&lt;br /&gt;&lt;br /&gt;Google Play has been working to minimize app install attribution fraud for several years. In 2017 Google Play made available the &lt;a href="https://android-developers.googleblog.com/2017/11/google-play-referrer-api-track-and.html"&gt;Google Play Install Referrer API&lt;/a&gt;, which allows ad attribution providers, publishers and advertisers to determine which referrer was responsible for sending the user to Google Play for a given app install. This API was specifically designed to be resistant to install attribution fraud and we strongly encourage attribution providers, advertisers and publishers to insist on this standard of proof when measuring app install ads. Users, developers, advertisers and ad networks all benefit from a transparent, fair system.&lt;br /&gt;&lt;br /&gt;We also take reports of questionable activity very seriously. If an app violates our &lt;a href="https://play.google.com/about/developer-content-policy/"&gt;Google Play Developer policies&lt;/a&gt;, we take action. That’s why we began our own independent investigation after we received reports of apps on Google Play accused of conducting app install attribution abuse by falsely claiming credit for newly installed apps to collect the download bounty from that app’s developer.&lt;br /&gt;&lt;br /&gt;We now have an update regarding our ongoing investigation:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;On Monday, we removed two apps from the Play Store because our investigation discovered evidence of app install attribution abuse.&lt;/li&gt;&lt;li&gt;We also discovered evidence of app install attribution abuse in 3 ad network SDKs. We have asked the impacted developers to remove those SDKs from their apps. Because we believe most of these developers were not aware of the behavior from these third-party SDKs, we have given them a short grace period to take action.&lt;/li&gt;&lt;li&gt;Google Ads SDKs were not utilized for any of the abusive behaviors mentioned above.&lt;/li&gt;&lt;li&gt;Our investigation is ongoing and additional reviews of other apps and third party SDKs are still underway. If we find evidence of additional policy violations, we will take action.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;We will continue to investigate and improve our capabilities to better detect and protect against abusive behavior and the malicious actors behind them.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=EewMsIxCZ20:4A3vVQW_bEA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=EewMsIxCZ20:4A3vVQW_bEA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=EewMsIxCZ20:4A3vVQW_bEA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/EewMsIxCZ20" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3121321413133988871/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3121321413133988871&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3121321413133988871" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3121321413133988871" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/EewMsIxCZ20/tackling-ads-abuse-in-apps-and-sdks.html" title="Tackling ads abuse in apps and SDKs" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/12/tackling-ads-abuse-in-apps-and-sdks.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-938850279272641813</id><published>2018-12-05T09:17:00.000-08:00</published><updated>2018-12-05T09:17:38.291-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">ASPIRE to keep protecting billions of Android users</title><content type="html">&lt;span class="byline-author"&gt;Posted by Billy Lau and René Mayrhofer, Android Security &amp;amp; Privacy Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Customization is one of Android's greatest strengths. Android's open source nature has enabled thousands of device types that cover a variety of use cases. In addition to adding features to the Android Open Source Project, researchers, developers, service providers, and device and chipset manufacturers can make updates to improve Android security. Investing and engaging in academic research advances the state-of-the-art security techniques, contributes to science, and delivers cutting edge security and privacy features into the hands of end users. To foster more cooperative applied research between the &lt;a href="https://www.android.com/security-center/"&gt;Android Security and Privacy team&lt;/a&gt; and the wider academic and industrial community, we're launching ASPIRE (&lt;b&gt;A&lt;/b&gt;ndroid &lt;b&gt;S&lt;/b&gt;ecurity and &lt;b&gt;P&lt;/b&gt;r&lt;b&gt;I&lt;/b&gt;vacy &lt;b&gt;RE&lt;/b&gt;search).&lt;br /&gt;&lt;br /&gt;ASPIRE's goal is encouraging the development of new security and privacy technology that impacts the Android ecosystem in the next 2 to 5 years, but isn't planned for mainline Android development. This timeframe extends beyond the next annual Android release to allow adequate time to analyze, develop, and stabilize research into features before including in the platform. To collaborate with security researchers, we're hosting events and creating more channels to contribute research.&lt;br /&gt;&lt;br /&gt;On October 25th 2018, we invited top security and privacy researchers from around the world to present at Android Security Local Research Day (ASLR-D). At this event, external researchers and Android Security and Privacy team members discussed current issues and strategies that impact the future direction of security research—for Android and the entire industry.&lt;br /&gt;&lt;br /&gt;We can't always get everyone in the same room and good ideas come from everywhere. So we're inviting all academic researchers to help us protect billions of users. Research collaborations with Android should be as straightforward as collaborating with the research lab next door. To get involved you can:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Submit an Android security / privacy research idea or proposal to the &lt;a href="https://ai.google/research/outreach/faculty-research-awards/"&gt;Google Faculty Research Awards (FRA)&lt;/a&gt; program.&lt;/li&gt;&lt;li&gt;Apply for a &lt;a href="https://careers.google.com/students/engineering-and-technical-internships/"&gt;research internship&lt;/a&gt; as a student pursuing an advanced degree.&lt;/li&gt;&lt;li&gt;Apply to become a &lt;a href="https://ai.google/research/outreach/visiting-researcher-program/"&gt;Visiting Researcher&lt;/a&gt; at Google.&lt;/li&gt;&lt;li&gt;If you have any security or privacy questions that may help with your research, reach out to us.&lt;/li&gt;&lt;li&gt;Co-author publications with Android team members, outside the terms of FRA.&lt;/li&gt;&lt;li&gt;Collaborate with Android team members to make changes to the Android Open Source Project.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Let’s work together to make Android the most secure platform—now and in the future. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=6wukLqZRhZY:ITAYfKHm94I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=6wukLqZRhZY:ITAYfKHm94I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=6wukLqZRhZY:ITAYfKHm94I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/6wukLqZRhZY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/938850279272641813/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=938850279272641813&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/938850279272641813" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/938850279272641813" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/6wukLqZRhZY/aspire-to-keep-protecting-billions-of.html" title="ASPIRE to keep protecting billions of Android users" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/12/aspire-to-keep-protecting-billions-of.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3024757372201533967</id><published>2018-11-29T10:24:00.000-08:00</published><updated>2018-11-29T17:26:10.583-08:00</updated><title type="text">Announcing the Google Security and Privacy Research Awards</title><content type="html">&lt;span class="byline-author"&gt;Posted by Elie Bursztein and Oxana Comanescu, Google Security and Privacy Group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We believe that cutting-edge research plays a key role in advancing the security and privacy of users across the Internet. While we do significant in-house research and engineering to protect users’ data, we maintain strong ties with academic institutions worldwide. We provide seed funding through &lt;a href="https://ai.googleblog.com/2018/03/google-faculty-research-awards-2017.html"&gt;faculty research grants&lt;/a&gt;, &lt;a href="https://www.blog.google/products/google-cloud/google-cloud-platform-announces-new-credits-program-researchers/"&gt;cloud credits&lt;/a&gt; to unlock new experiments, and foster active collaborations, including &lt;a href="https://ai.google/research/outreach/visiting-researcher-program/"&gt;working with visiting scholars&lt;/a&gt; and &lt;a href="https://ai.google/research/join-us/"&gt;research interns&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To accelerate the next generation of security and privacy breakthroughs, we recently created the Google Security and Privacy Research Awards program. These awards, selected via internal Google nominations and voting, recognize academic researchers who have made recent, significant contributions to the field.&lt;br /&gt;&lt;br /&gt;We’ve been developing this program for several years. It began as a pilot when we awarded researchers for their work in 2016, and we expanded it more broadly for work from 2017. So far, we awarded $1 million dollars to 12 scholars. We are preparing the shortlist for 2018 nominees and will announce the winners next year. In the meantime, we wanted to highlight the previous award winners and the influence they’ve had on the field.&lt;br /&gt;&lt;b&gt;2017 Awardees&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.archive.ece.cmu.edu/~lbauer/"&gt;Lujo Bauer&lt;/a&gt;, Carnegie Mellon University&lt;br /&gt;&lt;i&gt;Research area: Password security and attacks against facial recognition&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://crypto.stanford.edu/~dabo/"&gt;Dan Boneh&lt;/a&gt;, Stanford University&lt;br /&gt;&lt;i&gt;Research area: Enclave security and post-quantum cryptography&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.korolova.com/"&gt;Aleksandra Korolova&lt;/a&gt;, University of Southern California&lt;br /&gt;&lt;i&gt;Research area: Differential privacy&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.daniela.ece.ufl.edu/Home.html"&gt;Daniela Oliveira&lt;/a&gt;, University of Florida&lt;br /&gt;&lt;i&gt;Research area: Social engineering and phishing&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.franziroesner.com/"&gt;Franziska Roesner&lt;/a&gt;, University of Washington&lt;br /&gt;&lt;i&gt;Research area: Usable security for augmented reality and at-risk populations&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mattsmith.de/"&gt;Matthew Smith&lt;/a&gt;, Universität Bonn&lt;br /&gt;&lt;i&gt;Research area: Usable security for developers&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;2016 Awardees&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mdbailey.ece.illinois.edu/"&gt;Michael Bailey&lt;/a&gt;, University of Illinois at Urbana-Champaign&lt;br /&gt;&lt;i&gt;Research area: Cloud and network security&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.andrew.cmu.edu/user/nicolasc/"&gt;Nicolas Christin&lt;/a&gt;, Carnegie Mellon University&lt;br /&gt;&lt;i&gt;Research area: Authentication and cybercrime&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://damonmccoy.com/"&gt;Damon McCoy&lt;/a&gt;, New York University&lt;br /&gt;&lt;i&gt;Research area: DDoS services and cybercrime&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cseweb.ucsd.edu/~savage/"&gt;Stefan Savage&lt;/a&gt;, University of California San Diego&lt;br /&gt;&lt;i&gt;Research area: Network security and cybercrime&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://marc-stevens.nl/research/"&gt;Marc Stevens&lt;/a&gt;, Centrum Wiskunde &amp;amp; Informatica&lt;br /&gt;&lt;i&gt;Research area: Cryptanalysis and lattice cryptography&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.cs.ucsb.edu/~vigna/"&gt;Giovanni Vigna&lt;/a&gt;, University of California Santa Barbara&lt;br /&gt;&lt;i&gt;Research area: Malware detection and cybercrime&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Congratulations to all of our award winners.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Cd3O5I1jhYE:tTXZedxFDT8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Cd3O5I1jhYE:tTXZedxFDT8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=Cd3O5I1jhYE:tTXZedxFDT8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/Cd3O5I1jhYE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3024757372201533967/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3024757372201533967&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3024757372201533967" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3024757372201533967" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/Cd3O5I1jhYE/announcing-google-security-and-privacy.html" title="Announcing the Google Security and Privacy Research Awards" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/11/announcing-google-security-and-privacy.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-6968056279495447390</id><published>2018-11-27T13:31:00.001-08:00</published><updated>2018-11-27T13:31:36.128-08:00</updated><title type="text">Industry collaboration leads to takedown of the “3ve” ad fraud operation</title><content type="html">&lt;span class="byline-author"&gt;Posted by Per Bjorke, Product Manager, Ad Traffic Quality&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For years, Google has been waging a comprehensive, global fight against invalid traffic through a combination of technology, policy, and operations teams to protect advertisers and publishers and increase transparency throughout the advertising industry.&lt;br /&gt;&lt;br /&gt;Last year, we identified one of the most complex and sophisticated ad fraud operations we have seen to date, working with cyber security firm &lt;a href="https://www.whiteops.com/"&gt;White Ops&lt;/a&gt;, and referred the case to law enforcement. Today, the U.S. Attorney’s Office for the Eastern District of New York &lt;a href="https://www.justice.gov/usao-edny/pr/two-international-cybercriminal-rings-dismantled-and-eight-defendants-indicted-causing"&gt;announced&lt;/a&gt; criminal charges associated with this fraud operation. This takedown marks a major milestone in the industry’s fight against ad fraud, and we’re proud to have been a key contributor.&lt;br /&gt;&lt;br /&gt;In partnership with White Ops, we have published a white paper about how we identified this ad fraud operation, the steps we took to protect our clients from being impacted, and the technical work we did to detect patterns across systems in the industry. Below are some of the highlights from the white paper, which you can download &lt;a href="https://3ve.page.link/GoogleWhiteOps"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;All about 3ve: A creative and sophisticated threat&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Referred to as 3ve (pronounced “Eve”), this ad fraud operation evolved over the course of 2017 from a modest, low-level botnet into a large and sophisticated operation that used a broad set of tactics to commit ad fraud. 3ve operated on a significant scale: At its peak, it controlled over 1 million IPs from both residential malware infections and corporate IP spaces primarily in North America and Europe.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: start;"&gt;Through our investigation, we discovered that 3ve was comprised of three unique sub-operations that evolved rapidly, using sophisticated tactics aimed at exploiting data centers, computers infected with malware, spoofed fraudulent domains, and fake websites. Through its varied and complex machinery, 3ve generated billions of fraudulent ad bid requests (i.e., ad spaces on web pages that advertisers can bid to purchase in an automated way), and it also created thousands of spoofed fraudulent domains. It should be noted that our analysis of ad bid requests indicated growth in activity, but not necessarily growth in transactions that would result in charges to advertisers. It’s also worth noting that 3+ billion daily ad bid requests made 3ve an extremely large ad fraud operation, but its bid request volume was only a small percentage of overall bid request volume across the industry.&lt;a href="https://1.bp.blogspot.com/-L7drzQHSGVI/W_1vn9bmOXI/AAAAAAAAAro/5NIdE0YhlKI3MJxq6nqm7u4wN6tXqyT5QCLcBGAs/s1600/3ve%2BOperation%2BSummary.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="659" data-original-width="1600" height="260" src="https://1.bp.blogspot.com/-L7drzQHSGVI/W_1vn9bmOXI/AAAAAAAAAro/5NIdE0YhlKI3MJxq6nqm7u4wN6tXqyT5QCLcBGAs/s640/3ve%2BOperation%2BSummary.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Our objective&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Trust and integrity are critical to the digital advertising ecosystem. Investments in our ad traffic quality systems made it possible for us to tackle this ad fraud operation and to limit the impact it had on our clients as quickly as possible, including crediting advertisers.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: start;"&gt;3ve’s focus, like many ad fraud schemes, was not a single player or system, but rather the whole advertising ecosystem. As we worked to protect our ad systems against traffic from this threat, we identified that others also had observed this traffic, and we partnered with them to help remove the threat from the ecosystem. The working group, which included nearly 20 partners, was a key component that shaped our broader investigation into 3ve, enabling us to engage directly with each other and to work towards a mutually beneficial outcome.&lt;a href="https://2.bp.blogspot.com/-hmpo92Il0-A/W_1wGnkFUBI/AAAAAAAAArw/n4nW_s_xdyAtJ8LcijqWmlNbAwGaXUABgCLcBGAs/s1600/3ve%2Bsummary%2Bgraphic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1088" data-original-width="1600" height="434" src="https://2.bp.blogspot.com/-hmpo92Il0-A/W_1wGnkFUBI/AAAAAAAAArw/n4nW_s_xdyAtJ8LcijqWmlNbAwGaXUABgCLcBGAs/s640/3ve%2Bsummary%2Bgraphic.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Industry collaboration helps bring 3ve down&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;While ad fraud traditionally has been seen as a faceless crime in which bad actors don’t face much risk of being identified or consequences for their actions, 3ve’s takedown demonstrates that there are risks and consequences to committing ad fraud. We’re confident that our collective efforts are building momentum and moving us closer to finding a resolution to this challenge.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;For example, industry initiatives such as the Interactive Advertising Bureau (IAB) Tech Lab’s ads.txt standard, which has experienced and continues to see very rapid adoption (over 620,000 domains have an ads.txt), as well as the increasing number of buy-side platforms and exchanges offering refunds for invalid traffic, are valuable steps towards cutting off the money flow to fraudsters. &lt;a href="https://www.blog.google/products/marketingplatform/360/working-with-industry-towards-fraud_21/"&gt;As we announced last year&lt;/a&gt;, we’ve made, and will continue to make investments in our automated refunds for invalid traffic, including our work with supply partners to provide advertisers with refunds for invalid traffic detected up to 30 days after monthly billing.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Industry bodies such as the IAB, Trustworthy Accountability Group (TAG), Media Rating Council, and the Joint Industry Committee for Web Standards, who are serving as agents of change and collaboration across our industry, are instrumental in the fight against ad fraud. We have a long history of working with these bodies, including ongoing participation in TAG and IAB leadership and working groups, as well as our inclusion in the TAG Certified Against Fraud program. That program’s value was reinforced with the IAB’s requirement that all members need to be TAG certified by the middle of this year.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Successful disruption&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;A coordinated takedown of infrastructure related to 3ve’s operations occurred recently. The takedown involved disrupting as much of the related infrastructure as possible to make it hard to rebuild any of 3ve’s operations. As the graph below demonstrates, declining volumes in invalid traffic indicate that the disruption thus far has been successful, bringing the bid request traffic close to zero within 18 hours of starting the coordinated takedown.&lt;a href="https://3.bp.blogspot.com/-RZmcOuT-Nd0/W_1yuhJe-bI/AAAAAAAAAsU/UKyGoM-Qef4MunFBDUa7S94Bgi1Jn8_1gCLcBGAs/s1600/3ve%2BTakedown%2BGraph.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="948" data-original-width="1600" height="378" src="https://3.bp.blogspot.com/-RZmcOuT-Nd0/W_1yuhJe-bI/AAAAAAAAAsU/UKyGoM-Qef4MunFBDUa7S94Bgi1Jn8_1gCLcBGAs/s640/3ve%2BTakedown%2BGraph.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Looking ahead&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;We’ll continue to be vigilant, working to protect marketers, publishers, and users, while continuing to collaborate with the broader industry to safeguard the integrity of the digital advertising ecosystem that powers the open web. Our work to take down 3ve is another example of our collaboration with the broader ecosystem to improve trust in digital advertising. We are committed to helping to create a better digital advertising ecosystem — one that is more valuable, transparent, and trusted for everyone.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=c9Xl--oklyk:BZjRT2LF0oI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=c9Xl--oklyk:BZjRT2LF0oI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=c9Xl--oklyk:BZjRT2LF0oI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/c9Xl--oklyk" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/6968056279495447390/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=6968056279495447390&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6968056279495447390" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6968056279495447390" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/c9Xl--oklyk/industry-collaboration-leads-to.html" title="Industry collaboration leads to takedown of the “3ve” ad fraud operation" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-L7drzQHSGVI/W_1vn9bmOXI/AAAAAAAAAro/5NIdE0YhlKI3MJxq6nqm7u4wN6tXqyT5QCLcBGAs/s72-c/3ve%2BOperation%2BSummary.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/11/industry-collaboration-leads-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-415968955123871695</id><published>2018-11-15T13:08:00.001-08:00</published><updated>2018-11-30T12:01:19.846-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Combating Potentially Harmful Applications with Machine Learning at Google: Datasets and Models</title><content type="html">&lt;span class="byline-author"&gt;Posted by Mo Yu, Damien Octeau, and Chuangang Ren, Android Security &amp;amp; Privacy Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/11/combating-potentially-harmful.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In a &lt;a href="https://android-developers.googleblog.com/2018/05/keeping-2-billion-android-devices-safe.html"&gt;previous blog post&lt;/a&gt;, we talked about using machine learning to combat &lt;a href="https://source.android.com/security/reports/Google_Android_Security_PHA_classifications.pdf"&gt;Potentially Harmful Applications (PHAs)&lt;/a&gt;. This blog post covers how Google uses machine learning techniques to detect and classify PHAs. We'll discuss the challenges in the PHA detection space, including the scale of data, the correct identification of PHA behaviors, and the evolution of PHA families. Next, we will introduce two of the datasets that make the training and implementation of machine learning models possible, such as app analysis data and Google Play data. Finally, we will present some of the approaches we use, including logistic regression and deep neural networks.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://3.bp.blogspot.com/-BvVKASrlSEA/W-3fo6rwFMI/AAAAAAAAMJs/onEbfavp0Hw4A4P9uK-H-XCaSi3KC1VaQCLcBGAs/s1600/robot%2B1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1600" data-original-width="1084" height="320" src="https://3.bp.blogspot.com/-BvVKASrlSEA/W-3fo6rwFMI/AAAAAAAAMJs/onEbfavp0Hw4A4P9uK-H-XCaSi3KC1VaQCLcBGAs/s320/robot%2B1.png" width="216" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Using Machine Learning to Scale&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Detecting PHAs is challenging and requires a lot of resources. Our security experts need to understand how apps interact with the system and the user, analyze complex signals to find &lt;a href="https://source.android.com/security/reports/Google_Android_Security_PHA_classifications.pdf"&gt;PHA behavior&lt;/a&gt;, and evolve their tactics to stay ahead of PHA authors. Every day, &lt;a href="https://www.android.com/play-protect/"&gt;Google Play Protect&lt;/a&gt; (GPP) analyzes over half a million apps, which makes a lot of new data for our security experts to process.&lt;br /&gt;&lt;br /&gt;Leveraging machine learning helps us detect PHAs faster and at a larger scale. We can detect more PHAs just by adding additional computing resources. In many cases, machine learning can find PHA signals in the training data without human intervention. Sometimes, those signals are different than signals found by security experts. Machine learning can take better advantage of this data, and discover hidden relationships between signals more effectively.&lt;br /&gt;&lt;br /&gt;There are two major parts of Google Play Protect's machine learning protections: the data and the machine learning models.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Data Sources&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;The quality and quantity of the data used to create a model are crucial to the success of the system. For the purpose of PHA detection and classification, our system mainly uses two anonymous data sources: data from analyzing apps and data from how users experience apps.&lt;br /&gt;&lt;br /&gt;App Data&lt;br /&gt;&lt;br /&gt;Google Play Protect analyzes every app that it can find on the internet. We created a dataset by decomposing each app's APK and extracting PHA signals with deep analysis. We execute various processes on each app to find particular features and behaviors that are relevant to the PHA categories in scope (for example, SMS fraud, phishing, privilege escalation). Static analysis examines the different resources inside an APK file while dynamic analysis checks the behavior of the app when it's actually running. These two approaches complement each other. For example, dynamic analysis requires the execution of the app regardless of how obfuscated its code is (obfuscation hinders static analysis), and static analysis can help detect cloaking attempts in the code that may in practice bypass dynamic analysis-based detection. In the end, this analysis produces information about the app's characteristics, which serve as a fundamental data source for machine learning algorithms.&lt;br /&gt;&lt;br /&gt;Google Play Data&lt;br /&gt;&lt;br /&gt;In addition to analyzing each app, we also try to understand how users perceive that app. User feedback (such as the number of installs, uninstalls, user ratings, and comments) collected from Google Play can help us identify problematic apps. Similarly, information about the developer (such as the certificates they use and their history of published apps) contribute valuable knowledge that can be used to identify PHAs. All these metrics are generated when developers submit a new app (or new version of an app) and by millions of Google Play users every day. This information helps us to understand the quality, behavior, and purpose of an app so that we can identify new PHA behaviors or identify similar apps.&lt;br /&gt;&lt;br /&gt;In general, our data sources yield raw signals, which then need to be transformed into machine learning features for use by our algorithms. Some signals, such as the permissions that an app requests, have a clear semantic meaning and can be directly used. In other cases, we need to engineer our data to make new, more powerful features. For example, we can aggregate the ratings of all apps that a particular developer owns, so we can calculate a rating per developer and use it to validate future apps. We also employ several techniques to focus in on interesting data.To create compact representations for sparse data, we use &lt;a href="https://en.wikipedia.org/wiki/Word_embedding"&gt;embedding&lt;/a&gt;. To help streamline the data to make it more useful to models, we use &lt;a href="https://en.wikipedia.org/wiki/Feature_selection"&gt;feature selection&lt;/a&gt;. Depending on the target, feature selection helps us keep the most relevant signals and remove irrelevant ones.&lt;br /&gt;&lt;br /&gt;By combining our different datasets and investing in &lt;a href="https://en.wikipedia.org/wiki/Feature_engineering"&gt;feature engineering&lt;/a&gt; and feature selection, we improve the quality of the data that can be fed to various types of machine learning models.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Models&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Building a good machine learning model is like building a skyscraper: quality materials are important, but a great design is also essential. Like the materials in a skyscraper, good datasets and features are important to machine learning, but a great algorithm is essential to identify PHA behaviors effectively and efficiently.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-yqz_9VPXVEw/W-3f1pmU4eI/AAAAAAAAMJw/NGjebQUJmZ0yok8yxLJvnUOCUFtxB3b2ACLcBGAs/s1600/clipboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="700" data-original-width="852" height="262" src="https://1.bp.blogspot.com/-yqz_9VPXVEw/W-3f1pmU4eI/AAAAAAAAMJw/NGjebQUJmZ0yok8yxLJvnUOCUFtxB3b2ACLcBGAs/s320/clipboard.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;We train models to identify PHAs that belong to a specific category, such as SMS-fraud or phishing. Such categories are quite broad and contain a large number of samples given the number of PHA families that fit the definition. Alternatively, we also have models focusing on a much smaller scale, such as a family, which is composed of a group of apps that are part of the same PHA campaign and that share similar source code and behaviors. On the one hand, having a single model to tackle an entire PHA category may be attractive in terms of simplicity but precision may be an issue as the model will have to generalize the behaviors of a large number of PHAs believed to have something in common. On the other hand, developing multiple PHA models may require additional engineering efforts, but may result in better precision at the cost of reduced scope.&lt;br /&gt;&lt;br /&gt;We use a variety of modeling techniques to modify our machine learning approach, including supervised and unsupervised ones.&lt;br /&gt;&lt;br /&gt;One supervised technique we use is logistic regression, which has been widely adopted in the industry. These models have a simple structure and can be trained quickly. Logistic regression models can be analyzed to understand the importance of the different PHA and app features they are built with, allowing us to improve our feature engineering process. After a few cycles of training, evaluation, and improvement, we can launch the best models in production and monitor their performance.&lt;br /&gt;&lt;br /&gt;For more complex cases, we employ deep learning. Compared to logistic regression, deep learning is good at capturing complicated interactions between different features and extracting hidden patterns. The millions of apps in Google Play provide a rich dataset, which is advantageous to deep learning.&lt;br /&gt;&lt;br /&gt;In addition to our targeted feature engineering efforts, we experiment with many aspects of deep neural networks. For example, a deep neural network can have multiple layers and each layer has several neurons to process signals. We can experiment with the number of layers and neurons per layer to change model behaviors.&lt;br /&gt;&lt;br /&gt;We also adopt unsupervised machine learning methods. Many PHAs use similar abuse techniques and tricks, so they look almost identical to each other. An unsupervised approach helps define clusters of apps that look or behave similarly, which allows us to mitigate and identify PHAs more effectively. We can automate the process of categorizing that type of app if we are confident in the model or can request help from a human expert to validate what the model found.&lt;br /&gt;&lt;br /&gt;PHAs are constantly evolving, so our models need constant updating and monitoring. In production, models are fed with data from recent apps, which help them stay relevant. However, new abuse techniques and behaviors need to be continuously detected and fed into our machine learning models to be able to catch new PHAs and stay on top of recent trends. This is a continuous cycle of model creation and updating that also requires tuning to ensure that the precision and coverage of the system as a whole matches our detection goals.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Looking forward&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;As part of Google's AI-first strategy, our work leverages many machine learning resources across the company, such as tools and infrastructures developed by Google Brain and Google Research. In 2017, our machine learning models &lt;a href="https://source.android.com/security/reports/Google_Android_Security_2017_Report_Final.pdf"&gt;successfully detected 60.3% of PHAs identified by Google Play Protect&lt;/a&gt;, covering over 2 billion Android devices. We continue to research and invest in machine learning to scale and simplify the detection of PHAs in the Android ecosystem.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-WWej6NlAw2k/W-3f_3_wQOI/AAAAAAAAMJ4/3I1IJHKeL1gK0Ttd3B4RrS7N_bHAvGNxQCLcBGAs/s1600/robot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="300" data-original-width="300" src="https://1.bp.blogspot.com/-WWej6NlAw2k/W-3f_3_wQOI/AAAAAAAAMJ4/3I1IJHKeL1gK0Ttd3B4RrS7N_bHAvGNxQCLcBGAs/s1600/robot2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Acknowledgements&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;This work was developed in joint collaboration with Google Play Protect, Safe Browsing and Play Abuse teams with contributions from Andrew Ahn, Hrishikesh Aradhye, Daniel Bali, Hongji Bao, Yajie Hu, Arthur Kaiser, Elena Kovakina, Salvador Mandujano, Melinda Miller, Rahul Mishra, Sebastian Porst, Monirul Sharif, Sri Somanchi, Sai Deep Tetali, and Zhikun Wang.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=aZdxeumycc0:HzyUIHVhdso:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=aZdxeumycc0:HzyUIHVhdso:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=aZdxeumycc0:HzyUIHVhdso:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/aZdxeumycc0" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/415968955123871695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=415968955123871695&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/415968955123871695" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/415968955123871695" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/aZdxeumycc0/combating-potentially-harmful_14.html" title="Combating Potentially Harmful Applications with Machine Learning at Google: Datasets and Models" /><author><name>Aaron Stein</name><uri>http://www.blogger.com/profile/15108814150912902439</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-BvVKASrlSEA/W-3fo6rwFMI/AAAAAAAAMJs/onEbfavp0Hw4A4P9uK-H-XCaSi3KC1VaQCLcBGAs/s72-c/robot%2B1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/11/combating-potentially-harmful_14.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-1431976092815777738</id><published>2018-11-08T10:07:00.000-08:00</published><updated>2018-11-29T05:59:31.789-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Introducing the Android Ecosystem Security Transparency Report</title><content type="html">&lt;span class="byline-author"&gt;Posted by Jason Woloz and Eugene Liderman, Android Security &amp;amp; Privacy Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Update: We identified a bug that affected how we calculated data from Q3 2018 in the Transparency Report. This bug created inconsistencies between the data in the report and this blog post. The data points in this blog post have been corrected.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;As shared during the &lt;a href="https://www.youtube.com/watch?v=r54roADX2MI"&gt;What's new in Android security&lt;/a&gt; session at Google I/O 2018, transparency and openness are important parts of Android's ethos. We regularly blog about new features and enhancements and publish an &lt;a href="https://source.android.com/security/overview/reports"&gt;annual Android Security Year in Review&lt;/a&gt;, which highlights Android ecosystem trends. To provide more frequent insights, we're introducing a quarterly &lt;a href="https://transparencyreport.google.com/android-security/overview"&gt;Android Ecosystem Security Transparency Report&lt;/a&gt;. This report is the latest addition to our &lt;a href="https://transparencyreport.google.com/about"&gt;Transparency Report&lt;/a&gt; site, which began in 2010 to show how the policies and actions of governments and corporations affect privacy, security, and access to information online.&lt;br /&gt;&lt;br /&gt;This Android Ecosystem Security Transparency Report covers how often a routine, full-device scan by &lt;a href="https://www.android.com/play-protect"&gt;Google Play Protect&lt;/a&gt; detects a device with PHAs installed. Google Play Protect is built-in protection on Android devices that scans over 50 billion apps daily from inside and outside of Google Play. These scans look for evidence of &lt;a href="https://source.android.com/security/reports/Google_Android_Security_PHA_classifications.pdf"&gt;Potentially Harmful Applications&lt;/a&gt; (PHAs). If the scans find a PHA, Google Play Protect warns the user and can disable or remove PHAs. In Android's first annual Android Security Year in Review from 2014, fewer than 1% of devices had PHAs installed. The percentage has declined steadily over time and this downward trend continues through 2018. The transparency report covers PHA rates in three areas: market segment (whether a PHA came from Google Play or outside of Google Play), Android version, and country.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Devices with Potentially Harmful Applications installed by market segment&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Google works hard to protect your Android device: no matter where your apps come from. Continuing the trend from previous years, Android devices that only download apps from Google Play are 9 times less likely to get a PHA than devices that download apps from other sources. Before applications become available in Google Play they undergo an application review to confirm they comply with Google Play policies. Google uses a risk scorer to analyze apps to detect potentially harmful behavior. When Google’s application risk analyzer discovers something suspicious, it flags the app and refers the PHA to a security analyst for manual review if needed. We also scan apps that users download to their device from outside of Google Play. If we find a suspicious app, we also protect users from that—even if it didn't come from Google Play.&lt;br /&gt;&lt;br /&gt;In the Android Ecosystem Security Transparency Report, the Devices with Potentially Harmful Applications installed by market segment chart shows the percentage of Android devices that have one or more PHAs installed over time. The chart has two lines: PHA rate for devices that exclusively install from Google Play and PHA rate for devices that also install from outside of Google Play. In 2017, on average 0.09% of devices that exclusively used Google Play had one or more PHAs installed. The first three quarters in 2018 averaged a lower PHA rate of 0.08%.&lt;br /&gt;&lt;br /&gt;The security of devices that installed apps from outside of Google Play also improved. In 2017, ~0.82% of devices that installed apps from outside of Google Play were affected by PHA; in the first three quarters of 2018, ~0.68% were affected. Since 2017, we've reduced this number by expanding the auto-disable feature which we covered on page 10 in the &lt;a href="https://source.android.com/security/reports/Google_Android_Security_2017_Report_Final.pdf"&gt;2017 Year in Review&lt;/a&gt;. While malware rates fluctuate from quarter to quarter, our metrics continue to show a consistent downward trend over time. We'll share more details in our 2018 Android Security Year in Review in early 2019.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Devices with Potentially Harmful Applications installed by Android version&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Newer versions of Android are less affected by PHAs. We attribute this to many factors, such as continued platform and API hardening, ongoing security updates and app security and developer training to reduce apps' access to sensitive data. In particular, newer Android versions—such as Nougat, Oreo, and Pie—are more resilient to privilege escalation attacks that had previously allowed PHAs to gain persistence on devices and protect themselves against removal attempts. The Devices with Potentially Harmful Applications installed by Android version chart shows the percentage of devices with a PHA installed, sorted by the Android version that the device is running.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Devices with Potentially Harmful Applications rate by top 10 countries&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Overall, PHA rates in the ten largest Android markets have remained steady. While these numbers fluctuate on a quarterly basis due to the fluidity of the marketplace, we intend to provide more in depth coverage of what drove these changes in our annual &lt;a href="https://source.android.com/security/overview/reports"&gt;Year in Review&lt;/a&gt; in Q1, 2019.&lt;br /&gt;&lt;br /&gt;The &lt;i&gt;Devices with Potentially Harmful Applications rate by top 10 countries&lt;/i&gt; chart shows the percentage of devices with at least one PHA in the ten countries with the highest volume of Android devices. India saw the most significant decline in PHAs present on devices, with the average rate of infection dropping by 34 percent. Indonesia, Mexico, and Turkey also saw a decline in the likelihood of PHAs being present on devices in the region. South Korea saw the lowest number of devices containing PHA, with only 0.1%.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Check out the report&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Over time, we'll add more insights into the health of the ecosystem to the &lt;a href="https://transparencyreport.google.com/android-security/overview"&gt;Android Ecosystem Security Transparency Report&lt;/a&gt;. If you have any questions about terminology or the products referred to in this report please review the &lt;a href="https://support.google.com/transparencyreport/answer/9150182?hl=en&amp;amp;ref_topic=7380433"&gt;FAQs section of the Transparency Report&lt;/a&gt;. In the meantime, check out our new &lt;a href="https://www.blog.google/products/android-enterprise/gartners-analysis-progress-android-security/"&gt;blog post&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=0mhpF_mye58&amp;amp;feature=youtu.be"&gt;video&lt;/a&gt; outlining Android’s performance in Gartner’s Mobile OSs and Device Security: A Comparison of Platforms report.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=VDxyxaP66Dw:3ocUMoFCH5s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=VDxyxaP66Dw:3ocUMoFCH5s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=VDxyxaP66Dw:3ocUMoFCH5s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/VDxyxaP66Dw" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/1431976092815777738/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=1431976092815777738&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/1431976092815777738" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/1431976092815777738" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/VDxyxaP66Dw/introducing-android-ecosystem-security.html" title="Introducing the Android Ecosystem Security Transparency Report" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/11/introducing-android-ecosystem-security.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-6049627381365784534</id><published>2018-11-06T13:11:00.000-08:00</published><updated>2018-11-06T13:11:33.992-08:00</updated><title type="text">A New Chapter for OSS-Fuzz</title><content type="html">&lt;span class="byline-author"&gt;Posted by Matt Ruhstaller, TPM and Oliver Chang, Software Engineer, Google Security Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Open Source Software (OSS) is extremely important to Google, and we rely on OSS in a variety of customer-facing and internal projects. We also understand the difficulty and importance of securing the open source ecosystem, and are continuously looking for ways to simplify it.&lt;br /&gt;&lt;br /&gt;For the OSS community, we currently provide &lt;a href="https://github.com/google/oss-fuzz"&gt;OSS-Fuzz&lt;/a&gt;, a free continuous fuzzing infrastructure hosted on the &lt;a href="https://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt;. OSS-Fuzz uncovers security vulnerabilities and stability issues, and reports them directly to developers. Since &lt;a href="https://opensource.googleblog.com/2016/12/announcing-oss-fuzz-continuous-fuzzing.html"&gt;launching&lt;/a&gt; in December 2016, OSS-Fuzz has reported over &lt;a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&amp;amp;q=-Component%3DInfra+-status%3AWontFix%2CDuplicate&amp;amp;colspec=ID+Type+Component+Status+Proj+Reported+Owner+Summary&amp;amp;cells=ids"&gt;9,000&lt;/a&gt; bugs directly to open source developers.&lt;br /&gt;&lt;br /&gt;In addition to OSS-Fuzz, Google's security team maintains several internal tools for identifying bugs in both Google internal and Open Source code. Until recently, these issues were &lt;a href="https://github.com/Google-Autofuzz"&gt;manually reported&lt;/a&gt; to various public bug trackers by our security team and then monitored until they were &lt;a href="https://github.com/syoyo/tinyexr/commit/852e6b25b48b9ce5d73d4dd0fb0162386f7f3ced"&gt;resolved&lt;/a&gt;. Unresolved bugs were eligible for the &lt;a href="http://g.co/prp"&gt;Patch Rewards Program&lt;/a&gt;. While this reporting process had some success, it was overly complex. Now, by unifying and automating our fuzzing tools, we have been able to consolidate our processes into a single workflow, based on OSS-Fuzz. Projects integrated with OSS-Fuzz will benefit from being reviewed by both our internal and external fuzzing tools, thereby increasing code coverage and discovering bugs faster.&lt;br /&gt;&lt;br /&gt;We are committed to helping open source projects benefit from integrating with our OSS-Fuzz fuzzing infrastructure. In the coming weeks, we will reach out via email to critical projects that we believe would be a good fit and support the community at large. Projects that integrate are eligible for rewards ranging from $1,000 (initial integration) up to $20,000 (&lt;a href="https://github.com/google/oss-fuzz/blob/master/docs/ideal_integration.md"&gt;ideal integration&lt;/a&gt;); more details are available &lt;a href="https://opensource.googleblog.com/2017/05/oss-fuzz-five-months-later-and.html"&gt;here&lt;/a&gt;. These rewards are intended to help offset the cost and effort required to properly configure fuzzing for OSS projects. If you would like to integrate your project with OSS-Fuzz, please submit your project for &lt;a href="https://github.com/google/oss-fuzz#accepting-new-projects"&gt;review&lt;/a&gt;. &lt;b&gt;Our goal is to admit as many OSS projects as possible and ensure that they are continuously fuzzed.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Once contacted, we might provide a sample &lt;a href="https://llvm.org/docs/LibFuzzer.html#fuzz-target"&gt;fuzz target&lt;/a&gt; to you for easy integration. Many of these fuzz targets are generated with new technology that understands how library APIs are used appropriately. Watch this space for more details on how Google plans to further automate fuzz target creation, so that even more open source projects can benefit from continuous fuzzing.&lt;br /&gt;&lt;br /&gt;Thank you for your continued contributions to the Open Source community. Let’s work together on a more secure and stable future for Open Source Software.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=xGSNrpoRyGo:5727c7Og-dM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=xGSNrpoRyGo:5727c7Og-dM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=xGSNrpoRyGo:5727c7Og-dM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/xGSNrpoRyGo" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/6049627381365784534/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=6049627381365784534&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6049627381365784534" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6049627381365784534" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/xGSNrpoRyGo/a-new-chapter-for-oss-fuzz.html" title="A New Chapter for OSS-Fuzz" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/11/a-new-chapter-for-oss-fuzz.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-5021195959151596441</id><published>2018-10-31T14:38:00.000-07:00</published><updated>2018-11-02T10:53:56.983-07:00</updated><title type="text">Announcing some security treats to protect you from attackers’ tricks</title><content type="html">&lt;span class="byline-author"&gt;Posted by Jonathan Skelker, Product Manager&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It’s Halloween &#x1f383; and the last day of Cybersecurity Awareness Month &#x1f510;, so we’re celebrating these occasions with security improvements across your account journey: before you sign in, as soon as you’ve entered your account, when you share information with other apps and sites, and the rare event in which your account is compromised.&lt;br /&gt;&lt;br /&gt;We’re constantly protecting your information from attackers’ tricks, and with these new protections and tools, we hope you can spend your Halloween worrying about zombies, witches, and your candy loot—not the security of your account.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Protecting you before you even sign in&lt;/b&gt;&lt;br /&gt;Everyone does their best to keep their username and password safe, but sometimes bad actors may still get them through phishing or other tricks. Even when this happens, we will still protect you with safeguards that kick-in before you are signed into your account.&lt;br /&gt;&lt;br /&gt;When your username and password are entered on Google’s sign-in page, we’ll run a risk assessment and only allow the sign-in if nothing looks suspicious. We’re always working to improve this analysis, and we’ll now require that JavaScript is enabled on the Google sign-in page, without which we can’t run this assessment.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Chances are, JavaScript is already enabled in your browser; it helps power lots of the websites people use everyday. But, because it may save bandwidth or help pages load more quickly, a tiny minority of our users (0.1%) choose to keep it off. This might make sense if you are reading static content, but we recommend that you keep Javascript on while signing into your &lt;a href="https://myaccount.google.com/smartlink/home"&gt;Google Account&lt;/a&gt; so we can better protect you. You can read more about how to enable JavaScript &lt;a href="https://support.google.com/accounts/answer/7675428"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://2.bp.blogspot.com/-DDhsfhnL_Xo/W9ofucEegsI/AAAAAAAAArc/3C6Q_2T7Y0cGG5Jd3DFNHFsUZB5q6EW2QCLcBGAs/s1600/JS%2B1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="994" data-original-width="1137" height="558" src="https://2.bp.blogspot.com/-DDhsfhnL_Xo/W9ofucEegsI/AAAAAAAAArc/3C6Q_2T7Y0cGG5Jd3DFNHFsUZB5q6EW2QCLcBGAs/s640/JS%2B1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Keeping your Google Account secure while you’re signed in&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Last year, we &lt;a href="https://www.blog.google/technology/safety-security/new-security-protections-tailored-you/"&gt;launched a major update&lt;/a&gt; to the &lt;a href="http://myaccount.google.com/security-checkup"&gt;Security Checkup&lt;/a&gt; that upgraded it from the same checklist for everyone, to a smarter tool that automatically provides personalized guidance for improving the security of your Google Account.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;We’re adding to this advice all the time. Most recently, we introduced better protection against harmful apps based on recommendations from &lt;a href="https://www.android.com/play-protect/"&gt;Google Play Protect&lt;/a&gt;, as well as the ability to remove your account from any devices you no longer use.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://3.bp.blogspot.com/-Fl-Rjv0jXAk/W9yO08ODZgI/AAAAAAAAMEg/WTW5oBK9H9EETmF9ICGQZKEU5QlgzT6GQCEwYBhgL/s1600/SA_trans.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="600" data-original-width="485" src="https://3.bp.blogspot.com/-Fl-Rjv0jXAk/W9yO08ODZgI/AAAAAAAAMEg/WTW5oBK9H9EETmF9ICGQZKEU5QlgzT6GQCEwYBhgL/s1600/SA_trans.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;More notifications when you share your account data with apps and sites&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;It’s really important that you understand the information that has been shared with apps or sites so that we can keep you safe. We already notify you when you’ve granted access to sensitive information — like Gmail data or your Google Contacts — to third-party sites or apps, and in the next few weeks, we’ll expand this to notify you whenever you share any data from your Google Account. You can always see which apps have access to your data in the &lt;a href="http://myaccount.google.com/security-checkup"&gt;Security Checkup&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://2.bp.blogspot.com/-6NL0Bk-JMC0/W9oTnvqbR0I/AAAAAAAAArI/3ZZsz6SiBXU6tug3ImymU6H2U-gPRfs6ACEwYBhgL/s1600/email%2Bnotice.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="531" data-original-width="665" height="507" src="https://2.bp.blogspot.com/-6NL0Bk-JMC0/W9oTnvqbR0I/AAAAAAAAArI/3ZZsz6SiBXU6tug3ImymU6H2U-gPRfs6ACEwYBhgL/s640/email%2Bnotice.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Helping you get back to the beginning if you run into trouble&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;In the rare event that your account is compromised, our priority is to help get you back to safety as quickly as possible. We’ve introduced a new, step-by-step &lt;a href="https://support.google.com/accounts/answer/6294825?hl=en"&gt;process&lt;/a&gt; within your Google Account that we will automatically trigger if we detect potential unauthorized activity.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;We'll help you:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Verify critical security settings&lt;/b&gt; to help ensure your account isn’t vulnerable to additional attacks and that someone can’t access it via other means, like a recovery phone number or email address.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Secure your other accounts&lt;/b&gt; because your Google Account might be a gateway to accounts on other services and a hijacking can leave those vulnerable as well.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Check financial activity&lt;/b&gt; to see if any payment methods connected to your account, like a credit card or Google Pay, were abused.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Review content and files&lt;/b&gt; to see if any of your Gmail or Drive data was accessed or mis-used.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://2.bp.blogspot.com/-5IvBtYPY7eg/W9yPAQcbR9I/AAAAAAAAMEk/RlcZFXr5HzwO5Rd2XI7fVPVlO9Dp_zWiQCLcBGAs/s1600/MTG_trans1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="600" data-original-width="485" src="https://2.bp.blogspot.com/-5IvBtYPY7eg/W9yPAQcbR9I/AAAAAAAAMEk/RlcZFXr5HzwO5Rd2XI7fVPVlO9Dp_zWiQCLcBGAs/s1600/MTG_trans1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;Online security can sometimes feel like walking through a haunted house—scary, and you aren't quite sure what may pop up. We are constantly working to strengthen our automatic protections to stop attackers and keep you safe you from the many tricks you may encounter. During Cybersecurity Month, and beyond, we've got your back.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=miL0hTlxiYU:0Toeq92v6Sw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=miL0hTlxiYU:0Toeq92v6Sw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=miL0hTlxiYU:0Toeq92v6Sw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/miL0hTlxiYU" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/5021195959151596441/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=5021195959151596441&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5021195959151596441" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5021195959151596441" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/miL0hTlxiYU/announcing-some-security-treats-to.html" title="Announcing some security treats to protect you from attackers’ tricks" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-DDhsfhnL_Xo/W9ofucEegsI/AAAAAAAAArc/3C6Q_2T7Y0cGG5Jd3DFNHFsUZB5q6EW2QCLcBGAs/s72-c/JS%2B1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/announcing-some-security-treats-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-2314469094171202837</id><published>2018-10-29T16:53:00.002-07:00</published><updated>2018-10-29T16:53:40.224-07:00</updated><title type="text">Introducing reCAPTCHA v3: the new way to stop bots</title><content type="html">&lt;span class="byline-author"&gt;Posted by Wei Liu, Google Product Manager&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://webmasters.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html"&gt;Google Webmaster Central Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Today, we’re excited to introduce reCAPTCHA v3, our newest API that helps you detect abusive traffic on your website without user interaction. Instead of showing a CAPTCHA challenge, &lt;a href="https://developers.google.com/recaptcha/docs/v3"&gt;reCAPTCHA v3&lt;/a&gt; returns a score so you can choose the most appropriate action for your website.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A frictionless user experience&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Over the last decade, reCAPTCHA has continuously evolved its technology. In reCAPTCHA v1, every user was asked to pass a challenge by reading distorted text and typing into a box. To improve both user experience and security, we introduced reCAPTCHA v2 and began to use many other signals to determine whether a request came from a human or bot. This enabled reCAPTCHA challenges to move from a dominant to a secondary role in detecting abuse, letting about half of users pass with a single click. Now with reCAPTCHA v3, we are fundamentally changing how sites can test for human vs. bot activities by returning a score to tell you how suspicious an interaction is and eliminating the need to interrupt users with challenges at all. reCAPTCHA v3 runs adaptive risk analysis in the background to alert you of suspicious traffic while letting your human users enjoy a frictionless experience on your site.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More Accurate Bot Detection with "Actions"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In reCAPTCHA v3, we are introducing a new concept called “Action”—a tag that you can use to define the key steps of your user journey and enable reCAPTCHA to run its risk analysis in context. Since reCAPTCHA v3 doesn't interrupt users, we recommend adding reCAPTCHA v3 to multiple pages. In this way, the reCAPTCHA adaptive risk analysis engine can identify the pattern of attackers more accurately by looking at the activities across different pages on your website. In the reCAPTCHA admin console, you can get a full overview of reCAPTCHA score distribution and a breakdown for the stats of the top 10 actions on your site, to help you identify which exact pages are being targeted by bots and how suspicious the traffic was on those pages.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://3.bp.blogspot.com/-XldzDpEhukQ/W9ecSMqNP_I/AAAAAAAAAqI/uaIYfYA-TS4V--p7e3JcH9_0x2MxJpXbwCLcBGAs/s1600/reCAPTCHA-admin-console-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="373" data-original-width="640" height="371" src="https://3.bp.blogspot.com/-XldzDpEhukQ/W9ecSMqNP_I/AAAAAAAAAqI/uaIYfYA-TS4V--p7e3JcH9_0x2MxJpXbwCLcBGAs/s640/reCAPTCHA-admin-console-1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-vYVNJEDgwkc/W9ecSFUxF6I/AAAAAAAAAqE/TN1usP1zEA84YbqEc_uontVRPZhlZRifwCEwYBhgL/s1600/reCAPTCHA-admin-console-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="382" data-original-width="640" height="380" src="https://1.bp.blogspot.com/-vYVNJEDgwkc/W9ecSFUxF6I/AAAAAAAAAqE/TN1usP1zEA84YbqEc_uontVRPZhlZRifwCEwYBhgL/s640/reCAPTCHA-admin-console-2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Fighting bots your way&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Another big benefit that you’ll get from reCAPTCHA v3 is the flexibility to prevent spam and abuse in the way that best fits your website. Previously, the reCAPTCHA system mostly decided when and what CAPTCHAs to serve to users, leaving you with limited influence over your website’s user experience. Now, reCAPTCHA v3 will provide you with a score that tells you how suspicious an interaction is. There are three potential ways you can use the score. First, you can set a threshold that determines when a user is let through or when further verification needs to be done, for example, using two-factor authentication and phone verification. Second, you can combine the score with your own signals that reCAPTCHA can’t access—such as user profiles or transaction histories. Third, you can use the reCAPTCHA score as one of the signals to train your machine learning model to fight abuse. By providing you with these new ways to customize the actions that occur for different types of traffic, this new version lets you protect your site against bots and improve your user experience based on your website’s specific needs.&lt;br /&gt;&lt;br /&gt;In short, reCAPTCHA v3 helps to protect your sites without user friction and gives you more power to decide what to do in risky situations. As always, we are working every day to stay ahead of attackers and keep the Internet easy and safe to use (except for bots).&lt;br /&gt;&lt;br /&gt;Ready to get started with reCAPTCHA v3? Visit our &lt;a href="https://developers.google.com/recaptcha/docs/v3"&gt;developer site&lt;/a&gt; for more details.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=jUZb7PceFpE:ol5xkEPHkX4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=jUZb7PceFpE:ol5xkEPHkX4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=jUZb7PceFpE:ol5xkEPHkX4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/jUZb7PceFpE" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/2314469094171202837/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=2314469094171202837&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/2314469094171202837" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/2314469094171202837" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/jUZb7PceFpE/introducing-recaptcha-v3-new-way-to.html" title="Introducing reCAPTCHA v3: the new way to stop bots" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-XldzDpEhukQ/W9ecSMqNP_I/AAAAAAAAAqI/uaIYfYA-TS4V--p7e3JcH9_0x2MxJpXbwCLcBGAs/s72-c/reCAPTCHA-admin-console-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-7046357440003987223</id><published>2018-10-23T10:11:00.000-07:00</published><updated>2018-10-23T10:11:12.870-07:00</updated><title type="text">Google tackles new ad fraud scheme</title><content type="html">&lt;span class="byline-author"&gt;Posted by Per Bjorke, Product Manager, Ad Traffic Quality&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fighting invalid traffic is essential for the long-term sustainability of the digital advertising ecosystem. We have an extensive internal system to filter out invalid traffic – from simple filters to large-scale machine learning models – and we collaborate with advertisers, agencies, publishers, ad tech companies, research institutions, law enforcement and other third party organizations to identify potential threats. We take all reports of questionable activity seriously, and when we find invalid traffic, we act quickly to remove it from our systems.&lt;br /&gt;&lt;br /&gt;Last week, BuzzFeed News provided us with information that helped us identify new aspects of an ad fraud operation across apps and websites that were monetizing with numerous ad platforms, including Google. While our internal systems had previously caught and blocked violating websites from our ad network, in the past week we also removed apps involved in the ad fraud scheme so they can no longer monetize with Google. Further, we have blacklisted additional apps and websites that are outside of our ad network, to ensure that advertisers using Display &amp;amp; Video 360 (formerly known as DoubleClick Bid Manager) do not buy any of this traffic. We are continuing to monitor this operation and will continue to take action if we find any additional invalid traffic.&lt;br /&gt;&lt;br /&gt;While our analysis of the operation is ongoing, we estimate that the dollar value of impacted Google advertiser spend across the apps and websites involved in the operation is under $10 million. The majority of impacted advertiser spend was from invalid traffic on inventory from non-Google, third-party ad networks.&lt;br /&gt;&lt;br /&gt;A technical overview of the ad fraud operation is included below.&lt;br /&gt;&lt;br /&gt;Collaboration throughout our industry is critical in helping us to better detect, prevent, and disable these threats across the ecosystem. We want to thank BuzzFeed for sharing information that allowed us to take further action. This effort highlights the importance of collaborating with others to counter bad actors. Ad fraud is an industry-wide issue that no company can tackle alone. We remain committed to fighting invalid traffic and ad fraud threats such as this one, both to protect our advertisers, publishers, and users, as well as to protect the integrity of the broader digital advertising ecosystem.&lt;br /&gt;&lt;b&gt;Technical Detail&lt;/b&gt;&lt;br /&gt;Google deploys comprehensive, state-of-the-art systems and procedures to combat ad fraud. We have made and continue to make considerable investments to protect our ad systems against invalid traffic.&lt;br /&gt;&lt;br /&gt;As detailed above, we’ve identified, analyzed and blocked invalid traffic associated with this operation, both by removing apps and blacklisting websites. Our engineering and operations teams, across various organizations, are also taking systemic action to disrupt this threat, including the takedown of command and control infrastructure that powers the associated botnet. In addition, we have shared relevant technical information with trusted partners across the ecosystem, so that they can also harden their defenses and minimize the impact of this threat throughout the industry.&lt;br /&gt;&lt;br /&gt;The BuzzFeed News report covers several fraud tactics (both web and mobile app) that are allegedly utilized by the same group. The web-based traffic is generated by a botnet that Google and others have been tracking, known as “&lt;a href="https://blog.malwarebytes.com/puppum/2016/04/safesoft-protector-abuses-privoxy/"&gt;TechSnab&lt;/a&gt;.” The TechSnab botnet is a small to medium-sized botnet that has existed for a few years. The number of active infections associated with TechSnab was reduced significantly after the Google &lt;a href="https://www.blog.google/products/chrome/cleaner-safer-web-chrome-cleanup/"&gt;Chrome Cleanup&lt;/a&gt; tool began prompting users to uninstall the malware.&lt;br /&gt;&lt;br /&gt;In similar fashion to other botnets, this operates by creating hidden browser windows that visit web pages to inflate ad revenue. The malware contains common IP based cloaking, data obfuscation, and anti-analysis defenses. This botnet drove traffic to a ring of websites created specifically for this operation, and monetized with Google and many third party ad exchanges. As mentioned above, we began taking action on these websites earlier this year.&lt;br /&gt;&lt;br /&gt;Based on analysis of historical ads.txt crawl data, inventory from these websites was widely available throughout the advertising ecosystem, and as many as 150 exchanges, supply-side platforms (SSPs) or networks may have sold this inventory. The botnet operators had hundreds of accounts across 88 different exchanges (based on accounts listed with “DIRECT” status in their ads.txt files).&lt;br /&gt;&lt;br /&gt;This fraud primarily impacted mobile apps. We investigated those apps that were monetizing via AdMob and removed those that were engaged in this behavior from our ad network. The traffic from these apps seems to be a blend of organic user traffic and artificially inflated ad traffic, including traffic based on hidden ads. Additionally, we found the presence of several ad networks, indicating that it's likely many were being used for monetization. We are actively tracking this operation, and continually updating and improving our enforcement tactics.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=phP606NcsEc:oHRgXoVKPhg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=phP606NcsEc:oHRgXoVKPhg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=phP606NcsEc:oHRgXoVKPhg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/phP606NcsEc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/7046357440003987223/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=7046357440003987223&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/7046357440003987223" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/7046357440003987223" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/phP606NcsEc/google-tackles-new-ad-fraud-scheme.html" title="Google tackles new ad fraud scheme" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/google-tackles-new-ad-fraud-scheme.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3721634901794757438</id><published>2018-10-19T10:08:00.002-07:00</published><updated>2018-11-29T05:59:31.920-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Android Protected Confirmation: Taking transaction security to the next level</title><content type="html">&lt;span class="byline-author"&gt;Posted by Janis Danisevskis, Information Security Engineer, Android Security&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/10/android-protected-confirmation.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In Android Pie, we introduced Android Protected Confirmation, the first major mobile OS API that leverages a hardware protected user interface (Trusted UI) to perform critical transactions completely outside the main mobile operating system. This Trusted UI protects the choices you make from fraudulent apps or a compromised operating system. When an app invokes Protected Confirmation, control is passed to the Trusted UI, where transaction data is displayed and user confirmation of that data's correctness is obtained.  &lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-FVDSUmioJP0/W8T8kIFqYwI/AAAAAAAAF0k/smASmQzS1AEiFb2kCpWMm4DStmiHFwypgCLcBGAs/s1600/image1.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="1600" data-original-width="807" id="imgHalf" src="https://1.bp.blogspot.com/-FVDSUmioJP0/W8T8kIFqYwI/AAAAAAAAF0k/smASmQzS1AEiFb2kCpWMm4DStmiHFwypgCLcBGAs/s1600/image1.png" style="width: 40%;" /&gt;&lt;/a&gt;&lt;/div&gt;Once confirmed, your intention is cryptographically authenticated and unforgeable when conveyed to the relying party, for example, your bank. Protected Confirmation increases the bank's confidence that it acts on your behalf, providing a higher level of protection for the transaction.   &lt;br /&gt;Protected Confirmation also adds additional security relative to other forms of secondary authentication, such as a One Time Password or &lt;a href="https://en.wikipedia.org/wiki/Transaction_authentication_number"&gt;Transaction Authentication Number&lt;/a&gt;.  These mechanisms can be frustrating for mobile users and also fail to protect against a compromised device that can corrupt transaction data or intercept one-time confirmation text messages.   &lt;br /&gt;Once the user approves a transaction, Protected Confirmation digitally signs the confirmation message. Because the signing key never leaves the Trusted UI's hardware sandbox, neither app malware nor a compromised operating system can fool the user into authorizing anything. Protected Confirmation signing keys are created using Android's standard &lt;a href="https://developer.android.com/training/articles/keystore"&gt;AndroidKeyStore&lt;/a&gt; API. Before it can start using Android Protected Confirmation for end-to-end secure transactions, the app must enroll the public KeyStore key and its &lt;a href="https://source.android.com/security/keystore/attestation"&gt;Keystore Attestation&lt;/a&gt; certificate with the remote relying party. The attestation certificate certifies that the key can only be used to sign Protected Confirmations. &lt;br /&gt;There are many possible use cases for Android Protected Confirmation. At Google I/O 2018, the &lt;a href="https://www.youtube.com/watch?v=r54roADX2MI"&gt;What's new in Android security&lt;/a&gt; session showcased partners planning to leverage Android Protected Confirmation in a variety of ways, including Royal Bank of Canada person to person money transfers; Duo Security, Nok Nok Labs, and ProxToMe for user authentication; and Insulet Corporation and Bigfoot Biomedical, for medical device control. &lt;br /&gt;Insulet, a global leading manufacturer of tubeless patch insulin pumps, has demonstrated how they can modify their FDA cleared Omnipod DASH TM Insulin management system in a test environment to leverage Protected Confirmation to confirm the amount of insulin to be injected. This technology holds the promise for improved quality of life and reduced cost by enabling a person with diabetes to leverage their convenient, familiar, and secure smartphone for control rather than having to rely on a secondary, obtrusive, and expensive remote control device. (Note: The Omnipod DASH™ System is not cleared for use with Pixel 3 mobile device or Protected Confirmation). &lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" id="imgFull" src="https://www.youtube.com/embed/bvZ8NoIuELo" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;This work is fulfilling an important need in the industry.  Since smartphones do not fit the mold of an FDA approved medical device, we've been working with FDA as part of &lt;a href="https://www.diabetestechnology.org/dtmost.shtml"&gt;DTMoSt&lt;/a&gt;, an industry-wide consortium, to define a standard for phones to safely control medical devices, such as insulinSince smartphones do not fit the mold of an FDA approved medical device, we've been working with FDA as part of &lt;a href="https://www.diabetestechnology.org/dtmost.shtml"&gt;DTMoSt&lt;/a&gt;, an industry-wide consortium, to define a standard for phones to safely control medical devices, such as insulin pumps.  A technology like Protected Confirmation plays an important role in gaining higher assurance of user intent and medical safety.  &lt;br /&gt;To integrate Protected Confirmation into your app, check out the &lt;a href="https://developer.android.com/training/articles/security-android-protected-confirmation"&gt;Android Protected Confirmation training article&lt;/a&gt;. Android Protected Confirmation is an optional feature in Android Pie. Because it has low-level hardware dependencies, Protected Confirmation may not be supported by all devices running Android Pie. Google Pixel 3 and 3XL devices are the first to support Protected Confirmation, and we are working closely with other manufacturers to adopt this market-leading security innovation on more devices. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=ax9HoqsNsvg:DotsFBuYngQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=ax9HoqsNsvg:DotsFBuYngQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=ax9HoqsNsvg:DotsFBuYngQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/ax9HoqsNsvg" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3721634901794757438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3721634901794757438&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3721634901794757438" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3721634901794757438" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/ax9HoqsNsvg/android-protected-confirmation-taking.html" title="Android Protected Confirmation: Taking transaction security to the next level" /><author><name>Aaron Stein</name><uri>http://www.blogger.com/profile/15108814150912902439</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-FVDSUmioJP0/W8T8kIFqYwI/AAAAAAAAF0k/smASmQzS1AEiFb2kCpWMm4DStmiHFwypgCLcBGAs/s72-c/image1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/android-protected-confirmation-taking.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3223708877830928472</id><published>2018-10-17T11:10:00.000-07:00</published><updated>2018-11-29T05:59:31.888-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Building a Titan: Better security through a tiny chip</title><content type="html"> &lt;img src="https://1.bp.blogspot.com/-w_bhUYXJpf4/W8dw88JEaXI/AAAAAAAAF1U/zPIdoh8pca0z2TQCvE9kmvKTZppfZBf1QCLcBGAs/s1600/Titan%2BSecurity.jpg" style="display: none;" /&gt;&lt;br /&gt;&lt;em&gt;Posted by Nagendra Modadugu and Bill Richardson, Google Device Security Group&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/10/building-titan-better-security-through.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;At the &lt;a href="https://www.youtube.com/watch?time_continue=1759&amp;amp;v=EsoQGTA1SxY"&gt;Made by Google&lt;/a&gt; event last week, we talked about the combination of AI + Software + Hardware to help organize your information. To better protect that information at a hardware level, our new Pixel 3 and Pixel 3 XL devices include a Titan M chip.We briefly introduced Titan M and some of its benefits on our &lt;a href="https://www.blog.google/products/pixel/titan-m-makes-pixel-3-our-most-secure-phone-yet/"&gt;Keyword Blog&lt;/a&gt;, and with this post we dive into some of its technical details. &lt;br /&gt;Titan M is a second-generation, low-power security module designed and manufactured by Google, and is a part of the &lt;a href="https://cloudplatform.googleblog.com/2017/08/Titan-in-depth-security-in-plaintext.html"&gt;Titan family&lt;/a&gt;. As described in the Keyword Blog &lt;a href="https://www.blog.google/products/pixel/titan-m-makes-pixel-3-our-most-secure-phone-yet/"&gt;post&lt;/a&gt;, Titan M performs several security sensitive functions, including: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Storing and enforcing the locks and rollback counters used by &lt;a href="https://source.android.com/security/verifiedboot/avb"&gt;Android Verified Boot&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Securely storing secrets and rate-limiting invalid attempts at retrieving them using the &lt;a href="https://source.android.com/reference/hidl/android/hardware/weaver/1.0/IWeaver"&gt;Weaver API.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Providing backing for the &lt;a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule"&gt;Android Strongbox Keymaster&lt;/a&gt; module, including &lt;a href="https://developer.android.com/reference/android/security/keystore/KeyInfo?authuser=0&amp;amp;hl=nn#isTrustedUserPresenceRequired()"&gt;Trusted User Presence&lt;/a&gt; and &lt;a href="https://developer.android.com/training/articles/security-android-protected-confirmation"&gt;Protected Confirmation&lt;/a&gt;. Titan M has direct electrical connections to the Pixel's side buttons, so a remote attacker can't fake button presses. These features are available to third-party apps, such as &lt;a href="https://fidoalliance.org/specifications/overview/"&gt;FIDO U2F&lt;/a&gt; Authentication. &lt;/li&gt;&lt;li&gt;Enforcing factory-reset policies, so that lost or stolen phones can only be restored to operation by the authorized owner. &lt;/li&gt;&lt;li&gt;Ensuring that even Google can't unlock a phone or install firmware updates without the owner's cooperation with &lt;a href="https://android-developers.googleblog.com/2018/05/insider-attack-resistance.html"&gt;Insider Attack Resistance&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Including Titan M in Pixel 3 devices substantially reduces the attack surface. Because Titan M is a separate chip, the physical isolation mitigates against entire classes of hardware-level exploits such as &lt;a href="https://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html"&gt;Rowhammer&lt;/a&gt;, &lt;a href="https://spectreattack.com/spectre.pdf"&gt;Spectre&lt;/a&gt;, and &lt;a href="https://meltdownattack.com/meltdown.pdf"&gt;Meltdown&lt;/a&gt;. Titan M's processor, caches, memory, and persistent storage are not shared with the rest of the phone's system, so &lt;em&gt;side channel attacks&lt;/em&gt; like these—which rely on subtle, unplanned interactions between internal circuits of a single component—are nearly impossible. In addition to its physical isolation, the Titan M chip contains many defenses to protect against external attacks. &lt;br /&gt;But Titan M is not just a hardened security microcontroller, but rather a full-lifecycle approach to security with Pixel devices in mind. Titan M's security takes into consideration all the features visible to Android down to the lowest level physical and electrical circuit design and extends beyond each physical device to our supply chain and manufacturing processes. At the physical level, we incorporated essential features optimized for the mobile experience: low power usage, low-latency, hardware crypto acceleration, tamper detection, and secure, timely firmware updates. We improved and invested in the supply chain for Titan M by creating a custom provisioning process, which provides us with transparency and control starting from the earliest silicon stages. &lt;br /&gt;Finally, in the interest of transparency, the Titan M firmware source code will be publicly available soon. While Google holds the root keys necessary to sign Titan M firmware, it will be possible to reproduce binary builds based on the public source for the purpose of binary transparency. &lt;br /&gt;&lt;h2&gt;A closer look at Titan M&lt;/h2&gt;&lt;div style="text-align: center;"&gt;&lt;a href="https://4.bp.blogspot.com/-qZt_y7klGxo/W8doW24p-EI/AAAAAAAAF08/L0nALHO6ytsH6qHjjIw_eaS4cQnw3M7RQCLcBGAs/s1600/1.jpg" imageanchor="1"&gt;&lt;img border="0" data-original-height="1067" data-original-width="1600" height="266" id="imgFull" src="https://4.bp.blogspot.com/-qZt_y7klGxo/W8doW24p-EI/AAAAAAAAF08/L0nALHO6ytsH6qHjjIw_eaS4cQnw3M7RQCLcBGAs/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="imgCaption" style="text-align: center;"&gt;&lt;em&gt;Titan (left) and Titan M (right)&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;Titan M's CPU is an ARM Cortex-M3 microprocessor specially hardened against side-channel attacks and augmented with defensive features to detect and respond to abnormal conditions. The Titan M CPU core also exposes several control registers, which can be used to taper access to chip configuration settings and peripherals. Once powered on, Titan M verifies the signature of its flash-based firmware using a public key built into the chip's silicon. If the signature is valid, the flash is locked so it can't be modified, and then the firmware begins executing. &lt;br /&gt;Titan M also features several hardware accelerators: AES, SHA, and a programmable big number coprocessor for public key algorithms. These accelerators are flexible and can either be initialized with keys provided by firmware or with chip-specific and hardware-bound keys generated by the Key Manager module. Chip-specific keys are generated internally based on entropy derived from the True Random Number Generator (TRNG), and thus such keys are never externally available outside the chip over its entire lifetime. &lt;br /&gt;While implementing Titan M firmware, we had to take many system constraints into consideration.  For example, packing as many security features into Titan M's 64 Kbytes of RAM required all firmware to execute exclusively off the stack. And to reduce flash-wear, RAM contents can be preserved even during low-power mode when most hardware modules are turned off.  &lt;br /&gt;The diagram below provides a high-level view of the chip components described here. &lt;br /&gt;&lt;a href="https://3.bp.blogspot.com/-NpLuFu1HLVY/W8dpW_mDakI/AAAAAAAAF1I/-Q8tlrm6DzsxIKftWEul2v2K_6KmdR6RgCLcBGAs/s1600/2.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="467" data-original-width="624" id="imgFull" src="https://3.bp.blogspot.com/-NpLuFu1HLVY/W8dpW_mDakI/AAAAAAAAF1I/-Q8tlrm6DzsxIKftWEul2v2K_6KmdR6RgCLcBGAs/s1600/2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Better security through transparency and innovation&lt;/h2&gt;At the heart of our implementation of Titan M are two broader trends: transparency and building a platform for future innovation.  &lt;br /&gt;Transparency around every step of the design process — from logic gates to boot code to the applications — gives us confidence in the defenses we're providing for our users. We know what's inside, how it got there, how it works, and who can make changes.  &lt;br /&gt;Custom hardware allows us to provide new features, capabilities, and performance not readily available in off-the-shelf components. These changes allow higher assurance use cases like two-factor authentication, medical device control, P2P payments, and others that we will help develop down the road.  &lt;br /&gt;As more of our lives are bound up in our phones, keeping those phones secure and trustworthy is increasingly important. Google takes that responsibility seriously. Titan M is just the latest step in our continuing efforts to improve the privacy and security of all our users. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=it672Mcbeks:GbjmsbGyVbQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=it672Mcbeks:GbjmsbGyVbQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=it672Mcbeks:GbjmsbGyVbQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/it672Mcbeks" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3223708877830928472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3223708877830928472&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3223708877830928472" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3223708877830928472" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/it672Mcbeks/building-titan-better-security-through.html" title="Building a Titan: Better security through a tiny chip" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-w_bhUYXJpf4/W8dw88JEaXI/AAAAAAAAF1U/zPIdoh8pca0z2TQCvE9kmvKTZppfZBf1QCLcBGAs/s72-c/Titan%2BSecurity.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/building-titan-better-security-through.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-2661770932297282403</id><published>2018-10-15T09:28:00.000-07:00</published><updated>2018-10-17T13:20:56.252-07:00</updated><title type="text">Modernizing Transport Security</title><content type="html">&lt;span class="byline-author"&gt;Posted by David Benjamin, Chrome networking&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;*Updated on October 17, 2018 with details about changes in other browsers&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;TLS (Transport Layer Security) is the protocol which secures HTTPS. It has a long history stretching back to the nearly twenty-year-old &lt;a href="https://tools.ietf.org/html/rfc2246"&gt;TLS 1.0&lt;/a&gt; and its even older predecessor, SSL. Over that time, we have learned a lot about how to build secure protocols.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://tools.ietf.org/html/rfc5246"&gt;TLS 1.2&lt;/a&gt; was published ten years ago to address weaknesses in TLS 1.0 and 1.1 and has enjoyed wide adoption since then. Today only 0.5% of HTTPS connections made by Chrome use TLS 1.0 or 1.1. These old versions of TLS rely on MD5 and SHA-1, both &lt;a href="https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html"&gt;now broken&lt;/a&gt;, and contain other flaws. TLS 1.0 is no longer &lt;a href="https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-2018-sayin-goodbye-to-ssl-early-tls"&gt;PCI-DSS compliant&lt;/a&gt; and the TLS working group has adopted a &lt;a href="https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-00"&gt;document&lt;/a&gt; to deprecate TLS 1.0 and TLS 1.1.&lt;br /&gt;&lt;br /&gt;In line with these industry standards, Google Chrome will deprecate TLS 1.0 and TLS 1.1 in Chrome 72. Sites using these versions will begin to see deprecation warnings in the DevTools console in that release. TLS 1.0 and 1.1 will be disabled altogether in Chrome 81. This will affect users on early release channels starting January 2020.&amp;nbsp;&lt;a href="https://webkit.org/blog/8462/deprecation-of-legacy-tls-1-0-and-1-1-versions/"&gt;Apple&lt;/a&gt;, &lt;a href="https://blogs.windows.com/msedgedev/2018/10/15/modernizing-tls-edge-ie11/"&gt;Microsoft&lt;/a&gt;, and &lt;a href="https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls/"&gt;Mozilla&lt;/a&gt; have made similar announcements.&lt;br /&gt;&lt;br /&gt;Site administrators should immediately enable TLS 1.2 or later. Depending on server software (such as Apache or nginx), this may be a configuration change or a software update. Additionally, we encourage all sites to revisit their TLS configuration. Chrome’s current criteria for modern TLS is the following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;TLS 1.2 or later.&lt;/li&gt;&lt;li&gt;An ECDHE- and AEAD-based cipher suite. AEAD-based cipher suites are those using AES-GCM or ChaCha20-Poly1305. ECDHE_RSA_WITH_AES_128_GCM_SHA256 is the recommended option for most sites.&lt;/li&gt;&lt;li&gt;The server signature should use SHA-2. Note this is not the signature in the certificate, made by the CA. Rather, it is the signature made by the server itself, using its private key.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The older options—CBC-mode cipher suites, RSA-encryption key exchange, and SHA-1 online signatures—all have known cryptographic flaws. Each has been removed in the newly-published &lt;a href="https://tools.ietf.org/html/rfc8446"&gt;TLS 1.3&lt;/a&gt;, which is supported in Chrome 70. We retain them at prior versions for compatibility with legacy servers, but we will be evaluating them over time for eventual deprecation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;None of these changes require obtaining a new certificate. Additionally, they are backwards-compatible. Where necessary, servers may enable both modern and legacy options, to continue to support legacy clients. Note, however, such support may carry security risks. (For example, see the &lt;a href="https://drownattack.com/"&gt;DROWN&lt;/a&gt;, &lt;a href="https://censys.io/blog/freak"&gt;FREAK&lt;/a&gt;, and &lt;a href="https://robotattack.org/"&gt;ROBOT&lt;/a&gt; attacks.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the coming Chrome releases, we will improve the DevTools Security Panel to point out deviations from these settings, and suggest improvements to the site’s configuration.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enterprise deployments can preview the TLS 1.0 and 1.1 removal today by setting the &lt;a href="https://www.chromium.org/administrators/policy-list-3#SSLVersionMin"&gt;SSLVersionMin&lt;/a&gt; policy to “tls1.2”. For enterprise deployments that need more time, this same policy can be used to re-enable TLS 1.0 or TLS 1.1 until January 2021.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=DIQjxlTT7mM:Lm5L2gcdRRM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=DIQjxlTT7mM:Lm5L2gcdRRM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=DIQjxlTT7mM:Lm5L2gcdRRM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/DIQjxlTT7mM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/2661770932297282403/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=2661770932297282403&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/2661770932297282403" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/2661770932297282403" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/DIQjxlTT7mM/modernizing-transport-security.html" title="Modernizing Transport Security" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/modernizing-transport-security.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-5828394932870804803</id><published>2018-10-12T13:01:00.000-07:00</published><updated>2018-11-29T05:59:32.058-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Google and Android have your back by protecting your backups</title><content type="html">&lt;span class="byline-author"&gt;Posted by Troy Kensinger, Technical Program Manager, Android Security and Privacy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Android is all about choice. As such, Android strives to provide users many options to protect their data. By combining &lt;a href="https://developer.android.com/guide/topics/data/backup"&gt;Android’s Backup Service&lt;/a&gt; and &lt;a href="https://cloudplatform.googleblog.com/2017/08/Titan-in-depth-security-in-plaintext.html"&gt;Google Cloud’s Titan Technology&lt;/a&gt;, Android has taken additional steps to securing users' data while maintaining their privacy.&lt;br /&gt;&lt;br /&gt;Starting in Android Pie, devices can take advantage of a new capability where backed-up application data can only be decrypted by a key that is randomly generated at the client. This decryption key is encrypted using the user's lockscreen PIN/pattern/passcode, which isn’t known by Google. Then, this passcode-protected key material is encrypted to a &lt;a href="https://cloudplatform.googleblog.com/2017/08/Titan-in-depth-security-in-plaintext.html"&gt;Titan security chip&lt;/a&gt; on our datacenter floor. The Titan chip is configured to only release the backup decryption key when presented with a correct claim derived from the user's passcode. Because the Titan chip must authorize every access to the decryption key, it can permanently block access after too many incorrect attempts at guessing the user’s passcode, thus mitigating brute force attacks. The limited number of incorrect attempts is strictly enforced by a custom Titan firmware that cannot be updated without erasing the contents of the chip. By design, this means that no one (including Google) can access a user's backed-up application data without specifically knowing their passcode.&lt;br /&gt;&lt;br /&gt;To increase our confidence that this new technology securely prevents anyone from accessing users' backed-up application data, the Android Security &amp;amp; Privacy team hired global cyber security and risk mitigation expert NCC Group to complete a security audit. Some of the outcomes included positives around Google’s security design processes, validation of code quality, and that mitigations for known attack vectors were already taken into account prior to launching the service. While there were some issues discovered during this audit, engineers corrected them quickly. For more details on how the end-to-end service works and a detailed report of &lt;a href="https://www.nccgroup.trust/us/"&gt;NCC Group’s&lt;/a&gt; findings, click &lt;a href="https://www.nccgroup.trust/us/our-research/android-cloud-backuprestore/?research=Public+Reports"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Getting external reviews of our security efforts is one of many ways that Google and Android maintain transparency and openness which in turn helps users feel safe when it comes to their data. Whether it’s 100s of hours of gaming data or your personalized preferences in your favorite Google apps, our users' information is protected.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;We want to acknowledge contributions from Shabsi Walfish, Software Engineering Lead, Identity and Authentication to this effort&lt;/i&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=hwgv85NL43k:zglMdHn61BI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=hwgv85NL43k:zglMdHn61BI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=hwgv85NL43k:zglMdHn61BI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/hwgv85NL43k" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/5828394932870804803/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=5828394932870804803&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5828394932870804803" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5828394932870804803" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/hwgv85NL43k/google-and-android-have-your-back-by.html" title="Google and Android have your back by protecting your backups" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/google-and-android-have-your-back-by.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-607029374047059311</id><published>2018-10-10T17:03:00.000-07:00</published><updated>2018-11-29T05:59:32.120-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Control Flow Integrity in the Android kernel</title><content type="html">&lt;img src="https://1.bp.blogspot.com/-SAbAK7FpTNw/W700bhOfGuI/AAAAAAAAFz4/N6PNS6LDxN0-yRl-xwWdRQW4pyqKAcRwACLcBGAs/s1600/figure_cfi_effectivenessimage1.png" style="display: none;" /&gt;&lt;br /&gt;&lt;em&gt;Posted by Sami Tolvanen, Staff Software Engineer, Android Security &amp; Privacy&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Android's security model is enforced by the Linux kernel, which makes it a tempting target for attackers. We have put a lot of effort into &lt;a href="https://android-developers.googleblog.com/2017/08/hardening-kernel-in-android-oreo.html"&gt;hardening the kernel&lt;/a&gt; in previous Android releases and in Android 9, we continued this work by focusing on &lt;a href="https://android-developers.googleblog.com/2018/06/compiler-based-security-mitigations-in.html"&gt;compiler-based security mitigations&lt;/a&gt; against code reuse attacks. &lt;br /&gt;Google's Pixel 3 will be the first Android device to ship with LLVM's forward-edge &lt;a href="https://clang.llvm.org/docs/ControlFlowIntegrity.html"&gt;Control Flow Integrity (CFI)&lt;/a&gt; enforcement in the kernel, and we have made &lt;a href="https://source.android.com/devices/tech/debug/kcfi"&gt;CFI support available in Android kernel versions 4.9 and 4.14&lt;/a&gt;. This post describes how kernel CFI works and provides solutions to the most common issues developers might run into when enabling the feature. &lt;br /&gt;&lt;h2&gt;&lt;strong&gt;Protecting against code reuse attacks&lt;/strong&gt;&lt;/h2&gt;A common method of exploiting the kernel is using a bug to overwrite a function pointer stored in memory, such as a stored callback pointer or a return address that had been pushed to the stack. This allows an attacker to execute arbitrary parts of the kernel code to complete their exploit, even if they cannot inject executable code of their own. This method of gaining code execution is particularly popular with the kernel because of the huge number of function pointers it uses, and the existing memory protections that make code injection more challenging. &lt;br /&gt;CFI attempts to mitigate these attacks by adding additional checks to confirm that the kernel's control flow stays within a precomputed graph. This doesn't prevent an attacker from changing a function pointer if a bug provides write access to one, but it significantly restricts the valid call targets, which makes exploiting such a bug more difficult in practice. &lt;br /&gt;&lt;a href="https://1.bp.blogspot.com/-SAbAK7FpTNw/W700bhOfGuI/AAAAAAAAFz4/N6PNS6LDxN0-yRl-xwWdRQW4pyqKAcRwACLcBGAs/s1600/figure_cfi_effectivenessimage1.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="845" data-original-width="1600" id="imgFull" src="https://1.bp.blogspot.com/-SAbAK7FpTNw/W700bhOfGuI/AAAAAAAAFz4/N6PNS6LDxN0-yRl-xwWdRQW4pyqKAcRwACLcBGAs/s1600/figure_cfi_effectivenessimage1.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="imgCaption"&gt;Figure 1. In an Android device kernel, LLVM's CFI limits 55% of indirect calls to at most 5 possible targets and 80% to at most 20 targets.&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Gaining full program visibility with Link Time Optimization (LTO)&lt;/strong&gt;&lt;/h2&gt;In order to determine all valid call targets for each indirect branch, the compiler needs to see all of the kernel code at once. Traditionally, compilers work on a single compilation unit (source file) at a time and leave merging the object files to the linker. LLVM's solution to CFI is to require the use of LTO, where the compiler produces LLVM-specific bitcode for all C compilation units, and an LTO-aware linker uses the LLVM back-end to combine the bitcode and compile it into native code. &lt;br /&gt;&lt;a href="https://3.bp.blogspot.com/-qyrtXmMXuVs/W700gB5yQOI/AAAAAAAAFz8/9Dm4v75Sl9oNEskKppbYap9AMbE7s2KWACLcBGAs/s1600/2_lto_overviewimage2.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="869" data-original-width="1600" id="imgFull" src="https://3.bp.blogspot.com/-qyrtXmMXuVs/W700gB5yQOI/AAAAAAAAFz8/9Dm4v75Sl9oNEskKppbYap9AMbE7s2KWACLcBGAs/s1600/2_lto_overviewimage2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="imgCaption"&gt;Figure 2. A simplified overview of how LTO works in the kernel. All LLVM bitcode is combined, optimized, and generated into native code at link time.&lt;/div&gt;Linux has used the GNU toolchain for assembling, compiling, and linking the kernel for decades. While we continue to use the GNU assembler for stand-alone assembly code, LTO requires us to switch to LLVM's integrated assembler for inline assembly, and either GNU gold or LLVM's own lld as the linker. Switching to a relatively untested toolchain on a huge software project will lead to compatibility issues, which we have addressed in our arm64 LTO patch sets for kernel versions &lt;a href="https://android-review.googlesource.com/q/topic:android-4.9-lto"&gt;4.9&lt;/a&gt; and &lt;a href="https://android-review.googlesource.com/q/topic:android-4.14-lto"&gt;4.14&lt;/a&gt;. &lt;br /&gt;In addition to making CFI possible, LTO also produces faster code due to global optimizations. However, additional optimizations often result in a larger binary size, which may be undesirable on devices with very limited resources. Disabling LTO-specific optimizations, such as global inlining and loop unrolling, can reduce binary size by sacrificing some of the performance gains. When using GNU gold, the aforementioned optimizations can be disabled with the following additions to LDFLAGS: &lt;br /&gt;&lt;pre class="prettyprint"&gt;LDFLAGS += -plugin-opt=-inline-threshold=0 \&lt;br /&gt;           -plugin-opt=-unroll-threshold=0&lt;/pre&gt;Note that flags to disable individual optimizations are not part of the stable LLVM interface and may change in future compiler versions. &lt;br /&gt;&lt;h2&gt;&lt;strong&gt;Implementing CFI in the Linux kernel&lt;/strong&gt;&lt;/h2&gt;&lt;a href="https://clang.llvm.org/docs/ControlFlowIntegrity.html#indirect-function-call-checking"&gt;LLVM's CFI&lt;/a&gt; implementation adds a check before each indirect branch to confirm that the target address points to a valid function with a correct signature. This prevents an indirect branch from jumping to an arbitrary code location and even limits the functions that can be called. As C compilers do not enforce similar restrictions on indirect branches, there were several CFI violations due to function type declaration mismatches even in the core kernel that we have addressed in our CFI patch sets for kernels &lt;a href="https://android-review.googlesource.com/q/topic:android-4.9-cfi"&gt;4.9&lt;/a&gt; and &lt;a href="https://android-review.googlesource.com/q/topic:android-4.14-cfi"&gt;4.14&lt;/a&gt;. &lt;br /&gt;Kernel modules add another complication to CFI, as they are loaded at runtime and can be compiled independently from the rest of the kernel. In order to support loadable modules, we have implemented LLVM's &lt;a href="https://clang.llvm.org/docs/ControlFlowIntegrity.html#shared-library-support"&gt;cross-DSO CFI&lt;/a&gt; support in the kernel, including a CFI shadow that speeds up cross-module look-ups. When compiled with cross-DSO support, each kernel module contains information about valid local branch targets, and the kernel looks up information from the correct module based on the target address and the modules' memory layout. &lt;br /&gt;&lt;a href="https://2.bp.blogspot.com/-Iee5TBAz8Yo/W700nNjYZkI/AAAAAAAAF0A/oPsRJJhs2qMb-jNv4RGd4a5K3h8W7B9ygCLcBGAs/s1600/3_cfi_checkimage3.png" imageanchor="1"&gt;&lt;img border="0" data-original-height="697" data-original-width="1600" id="imgFull" src="https://2.bp.blogspot.com/-Iee5TBAz8Yo/W700nNjYZkI/AAAAAAAAF0A/oPsRJJhs2qMb-jNv4RGd4a5K3h8W7B9ygCLcBGAs/s1600/3_cfi_checkimage3.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div id="imgCaption"&gt;Figure 3. An example of a cross-DSO CFI check injected into an arm64 kernel. Type information is passed in X0 and the target address to validate in X1.&lt;/div&gt;CFI checks naturally add some overhead to indirect branches, but due to more aggressive optimizations, our tests show that the impact is minimal, and overall system performance even improved 1-2% in many cases. &lt;br /&gt;&lt;h2&gt;&lt;strong&gt;Enabling kernel CFI for an Android device&lt;/strong&gt;&lt;/h2&gt;CFI for arm64 requires clang version &amp;gt;= 5.0 and binutils &amp;gt;= 2.27. The kernel build system also assumes that the LLVMgold.so plug-in is available in LD_LIBRARY_PATH. Pre-built toolchain binaries for &lt;a href="https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master"&gt;clang&lt;/a&gt; and &lt;a href="https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+/master"&gt;binutils&lt;/a&gt; are available in AOSP, but upstream binaries can also be used. &lt;br /&gt;The following kernel configuration options are needed to enable kernel CFI: &lt;br /&gt;&lt;pre class="prettyprint"&gt;CONFIG_LTO_CLANG=y&lt;br /&gt;CONFIG_CFI_CLANG=y&lt;/pre&gt;Using CONFIG_CFI_PERMISSIVE=y may also prove helpful when debugging a CFI violation or during device bring-up. This option turns a violation into a warning instead of a kernel panic. &lt;br /&gt;As mentioned in the previous section, the most common issue we ran into when enabling CFI on Pixel 3 were benign violations caused by function pointer type mismatches. When the kernel runs into such a violation, it prints out a runtime warning that contains the call stack at the time of the failure, and the call target that failed the CFI check. Changing the code to use a correct function pointer type fixes the issue. While we have fixed all known indirect branch type mismatches in the Android kernel, similar problems may be still found in device specific drivers, for example. &lt;br /&gt;&lt;pre class="prettyprint"&gt;CFI failure (target: [&amp;lt;fffffff3e83d4d80&amp;gt;] my_target_function+0x0/0xd80):&lt;br /&gt;------------[ cut here ]------------&lt;br /&gt;kernel BUG at kernel/cfi.c:32!&lt;br /&gt;Internal error: Oops - BUG: 0 [#1] PREEMPT SMP&lt;br /&gt;…&lt;br /&gt;Call trace:&lt;br /&gt;…&lt;br /&gt;[&amp;lt;ffffff8752d00084&amp;gt;] handle_cfi_failure+0x20/0x28&lt;br /&gt;[&amp;lt;ffffff8752d00268&amp;gt;] my_buggy_function+0x0/0x10&lt;br /&gt;…&lt;/pre&gt;&lt;div id="imgCaption"&gt;Figure 4. An example of a kernel panic caused by a CFI failure.&lt;/div&gt;Another potential pitfall are address space conflicts, but this should be less common in driver code. LLVM's CFI checks only understand kernel virtual addresses and any code that runs at another exception level or makes an indirect call to a physical address will result in a CFI violation. These types of failures can be addressed by disabling CFI for a single function using the __nocfi attribute, or even disabling CFI for entire code files using the $(DISABLE_CFI) compiler flag in the Makefile. &lt;br /&gt;&lt;pre class="prettyprint"&gt;static int __nocfi address_space_conflict()&lt;br /&gt;{&lt;br /&gt;      void (*fn)(void);&lt;br /&gt; …&lt;br /&gt;/* branching to a physical address trips CFI w/o __nocfi */&lt;br /&gt; fn = (void *)__pa_symbol(function_name);&lt;br /&gt;      cpu_install_idmap();&lt;br /&gt;      fn();&lt;br /&gt;      cpu_uninstall_idmap();&lt;br /&gt; …&lt;br /&gt;}&lt;/pre&gt;&lt;div id="imgCaption"&gt;Figure 5. An example of fixing a CFI failure caused by an address space conflict.&lt;/div&gt;Finally, like many hardening features, CFI can also be tripped by memory corruption errors that might otherwise result in random kernel crashes at a later time. These may be more difficult to debug, but memory debugging tools such as &lt;a href="https://www.kernel.org/doc/html/v4.14/dev-tools/kasan.html"&gt;KASAN&lt;/a&gt; can help here. &lt;br /&gt;&lt;h2&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h2&gt;We have implemented support for LLVM's CFI in Android kernels 4.9 and 4.14. Google's Pixel 3 will be the first Android device to ship with these protections, and we have made the feature available to all device vendors through the Android common kernel. If you are shipping a new arm64 device running Android 9, we strongly recommend enabling kernel CFI to help protect against kernel vulnerabilities. &lt;br /&gt;LLVM's CFI protects indirect branches against attackers who manage to gain access to a function pointer stored in kernel memory. This makes a common method of exploiting the kernel more difficult. Our future work involves also protecting function return addresses from similar attacks using LLVM's &lt;a href="https://clang.llvm.org/docs/ShadowCallStack.html"&gt;Shadow Call Stack&lt;/a&gt;, which will be available in an upcoming compiler release. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Tdyvd0Lq5Sg:x1tLEOJv8KM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Tdyvd0Lq5Sg:x1tLEOJv8KM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=Tdyvd0Lq5Sg:x1tLEOJv8KM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/Tdyvd0Lq5Sg" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/607029374047059311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=607029374047059311&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/607029374047059311" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/607029374047059311" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/Tdyvd0Lq5Sg/posted-by-sami-tolvanen-staff-software.html" title="Control Flow Integrity in the Android kernel" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-SAbAK7FpTNw/W700bhOfGuI/AAAAAAAAFz4/N6PNS6LDxN0-yRl-xwWdRQW4pyqKAcRwACLcBGAs/s72-c/figure_cfi_effectivenessimage1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/posted-by-sami-tolvanen-staff-software.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-8239425743208856455</id><published>2018-10-01T11:51:00.000-07:00</published><updated>2018-10-01T11:51:06.607-07:00</updated><title type="text">Trustworthy Chrome Extensions, by Default</title><content type="html">&lt;span class="byline-author"&gt;Posted by James Wagner, Chrome Extensions Product Manager&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://blog.chromium.org/2018/10/trustworthy-chrome-extensions-by-default.html"&gt;Chromium blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;  Incredibly, it’s been nearly a decade since we launched the Chrome extensions system. Thanks to the hard work and innovation of our developer community, there are now more than 180,000 extensions in the &lt;a href="https://chrome.google.com/webstore/category/extensions"&gt;Chrome Web Store&lt;/a&gt;, and nearly half of Chrome desktop users actively use extensions to customize Chrome and their experience on the web.&lt;br /&gt;&lt;br /&gt;The extensions team's dual mission is to help users tailor Chrome’s functionality to their individual needs and interests, and to empower developers to build rich and useful extensions. But, first and foremost, it’s crucial that users be able to trust the extensions they install are safe, privacy-preserving, and performant. Users should always have full transparency about the scope of their extensions’ capabilities and data access.&lt;br /&gt;&lt;br /&gt;We’ve recently taken a number of steps toward improved extension security with the launch of &lt;a href="https://blog.chromium.org/2017/05/improving-extension-security-with-out.html"&gt;out-of-process iframes&lt;/a&gt;, the &lt;a href="https://blog.chromium.org/2018/06/improving-extension-transparency-for.html"&gt;removal of inline installation&lt;/a&gt;, and significant advancements in our ability to detect and block malicious extensions using machine learning. Looking ahead, there are more fundamental changes needed so that all Chrome extensions are trustworthy by default.&lt;br /&gt;&lt;br /&gt;Today we’re announcing some upcoming changes and plans for the future:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;User controls for host permissions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Beginning in Chrome 70, users will have the choice to restrict extension &lt;a href="https://developer.chrome.com/extensions/declare_permissions#host-permissions"&gt;host access&lt;/a&gt; to a custom list of sites, or to configure extensions to require a click to gain access to the current page.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://2.bp.blogspot.com/-uiR922QR2p8/W7JmmEY0vCI/AAAAAAAAL5M/P0LubgHFh5gPLdRTeyVHcSEw1_c38GaZwCLcBGAs/s1600/extensions%2Bpic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="578" data-original-width="1024" height="225" src="https://2.bp.blogspot.com/-uiR922QR2p8/W7JmmEY0vCI/AAAAAAAAL5M/P0LubgHFh5gPLdRTeyVHcSEw1_c38GaZwCLcBGAs/s400/extensions%2Bpic.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;While host permissions have enabled thousands of powerful and creative extension use cases, they have also led to a broad range of misuse - both malicious and unintentional - because they allow extensions to automatically read and change data on websites. Our aim is to improve user transparency and control over when extensions are able to access site data. In subsequent milestones, we’ll continue to optimize the user experience toward this goal while improving usability. If your extension requests host permissions, we encourage you to review our &lt;a href="https://developer.chrome.com/extensions/runtime_host_permissions"&gt;transition guide&lt;/a&gt; and begin testing as soon as possible.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Changes to the extensions review process&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Going forward, extensions that request powerful permissions will be subject to additional compliance review. We’re also looking very closely at extensions that use remotely hosted code, with ongoing monitoring. Your extension’s permissions should be as &lt;a href="https://developer.chrome.com/extensions/security#permissions"&gt;narrowly-scoped&lt;/a&gt; as possible, and all your code should be included directly in the extension package, to minimize review time.&lt;br /&gt;&lt;b&gt;New code reliability requirements&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Starting today, Chrome Web Store will no longer allow extensions with obfuscated code. This includes code within the extension package as well as any external code or resource fetched from the web. This policy applies immediately to all new extension submissions. Existing extensions with obfuscated code can continue to submit updates over the next 90 days, but will be removed from the Chrome Web Store in early January if not compliant.&lt;br /&gt;&lt;br /&gt;Today over 70% of malicious and policy violating extensions that we block from Chrome Web Store contain obfuscated code. At the same time, because obfuscation is mainly used to conceal code functionality, it adds a great deal of complexity to our review process. This is no longer acceptable given the aforementioned review process changes.&lt;br /&gt;&lt;br /&gt;Additionally, since JavaScript code is always running locally on the user's machine, obfuscation is insufficient to protect proprietary code from a truly motivated reverse engineer. Obfuscation techniques also come with hefty performance costs such as slower execution and increased file and memory footprints.&lt;br /&gt;&lt;br /&gt;Ordinary minification, on the other hand, typically speeds up code execution as it reduces code size, and is much more straightforward to review. Thus, minification will still be allowed, including the following techniques:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Removal of whitespace, newlines, code comments, and block delimiters&lt;/li&gt;&lt;li&gt;Shortening of variable and function names&lt;/li&gt;&lt;li&gt;Collapsing the number of JavaScript files&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;If you have an extension in the store with obfuscated code, please review our updated &lt;a href="https://developer.chrome.com/webstore/program_policies#content_policies"&gt;content policies&lt;/a&gt; as well as our &lt;a href="https://developers.google.com/speed/docs/insights/MinifyResources"&gt;recommended minification techniques&lt;/a&gt; for Google Developers, and submit a new compliant version before January 1st, 2019.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Required 2-step verification&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;In 2019, enrollment in &lt;a href="https://www.google.com/landing/2step/"&gt;2-Step Verification&lt;/a&gt; will be required for Chrome Web Store developer accounts. If your extension becomes popular, it can attract attackers who want to steal it by hijacking your account, and 2-Step Verification adds an extra layer of security by requiring a second authentication step from your phone or a &lt;a href="https://support.google.com/accounts/answer/6103523?hl=en"&gt;physical security key&lt;/a&gt;. We strongly recommend that you &lt;a href="https://myaccount.google.com/signinoptions/two-step-verification/enroll-welcome"&gt;enroll&lt;/a&gt; as soon as possible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For even stronger account security, consider the &lt;a href="https://landing.google.com/advancedprotection/"&gt;Advanced Protection Program&lt;/a&gt;. Advanced protection offers the same level of security that Google relies on for its own employees, requiring a physical security key to provide the strongest defense against phishing attacks.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Looking ahead: Manifest v3&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In 2019 we will introduce the next extensions manifest version. Manifest v3 will entail additional platform changes that aim to create stronger security, privacy, and performance guarantees. We want to help all developers &lt;a href="https://blog.codinghorror.com/falling-into-the-pit-of-success/"&gt;fall into the pit of success&lt;/a&gt;; writing a secure and performant extension in Manifest v3 should be easy, while writing an insecure or non-performant extension should be difficult.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some key goals of manifest v3 include:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;More narrowly-scoped and declarative APIs, to decrease the need for overly-broad access and enable more performant implementation by the browser, while preserving important functionality&lt;/li&gt;&lt;li&gt;Additional, easier mechanisms for users to control the permissions granted to extensions&lt;/li&gt;&lt;li&gt;Modernizing to align with new web capabilities, such as supporting Service Workers as a new type of background process&lt;/li&gt;&lt;/ul&gt;We intend to make the transition to manifest v3 as smooth as possible and we’re thinking carefully about the rollout plan. We’ll be in touch soon with more specific details.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We recognize that some of the changes announced today may require effort in the future, depending on your extension. But we believe the collective result will be worth that effort for all users, developers, and for the long term health of the Chrome extensions ecosystem. We’re committed to working with you to transition through these changes and are very interested in your feedback. If you have questions or comments, please get in touch with us on the &lt;a href="https://groups.google.com/a/chromium.org/forum/#!forum/chromium-extensions"&gt;Chromium extensions forum&lt;/a&gt;.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=4XzENJRKGH8:azyT169yIcE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=4XzENJRKGH8:azyT169yIcE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=4XzENJRKGH8:azyT169yIcE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/4XzENJRKGH8" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/8239425743208856455/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=8239425743208856455&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/8239425743208856455" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/8239425743208856455" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/4XzENJRKGH8/trustworthy-chrome-extensions-by-default.html" title="Trustworthy Chrome Extensions, by Default" /><author><name>Aaron Stein</name><uri>http://www.blogger.com/profile/15108814150912902439</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-uiR922QR2p8/W7JmmEY0vCI/AAAAAAAAL5M/P0LubgHFh5gPLdRTeyVHcSEw1_c38GaZwCLcBGAs/s72-c/extensions%2Bpic.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/10/trustworthy-chrome-extensions-by-default.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-309456554161389033</id><published>2018-09-20T09:44:00.000-07:00</published><updated>2018-11-29T05:59:31.856-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Android and Google Play Security Rewards Programs surpass $3M in payouts</title><content type="html"> &lt;img src="" style="display: none;" /&gt;&lt;style&gt;table, th, td {    border: 1px solid black; } td { width:100px; } &lt;/style&gt;&lt;br /&gt;&lt;em&gt;Posted by Jason Woloz and Mayank Jain, Android Security &amp;amp; Privacy Team&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/09/android-and-google-play-security.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Our Android and Play security reward  programs help us work with top researchers from around the world to improve Android ecosystem security every day. Thank you to all the amazing &lt;a href="https://source.android.com/security/overview/acknowledgements.html"&gt;researchers&lt;/a&gt; who submitted &lt;a href="https://source.android.com/security/overview/updates-resources#report-issues"&gt;vulnerability reports&lt;/a&gt;. &lt;br /&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2&gt;Android Security Rewards&lt;/h2&gt;In the ASR program's third year, we received over 470 qualifying vulnerability reports from researchers and the average pay per researcher jumped by 23%. To date, the ASR program has rewarded researchers with over $3M, paying out roughly $1M per year.  &lt;br /&gt;Here are some of the highlights from the Android Security Rewards program's third year: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;There were no payouts for our highest possible reward: a complete remote exploit chain leading to TrustZone or Verified Boot compromise.  &lt;/li&gt;&lt;li&gt;99 individuals contributed one or more fixes.   &lt;/li&gt;&lt;li&gt;The ASR program's reward averages were $2,600 per reward and $12,500 per researcher.  &lt;/li&gt;&lt;li&gt;Guang Gong received our highest reward amount to date: $105,000 for his submission of a &lt;a href="https://security.googleblog.com/2018/01/android-security-ecosystem-investments.html"&gt;remote exploit chain&lt;/a&gt;.  &lt;/li&gt;&lt;/ul&gt;As part of our ongoing commitment to security we regularly update our programs and policies based on ecosystem feedback. We also updated our &lt;a href="https://source.android.com/security/overview/updates-resources"&gt;severity guidelines&lt;/a&gt; for evaluating the impact of reported security vulnerabilities against the Android platform.  &lt;br /&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2&gt;Google Play Security Rewards&lt;/h2&gt;In October 2017, we rolled out the &lt;a href="http://hackerone.com/googleplay"&gt;Google Play Security Reward Program&lt;/a&gt; to encourage security research into popular Android apps available on Google Play. So far, researchers have reported over 30 vulnerabilities through the program, earning a combined bounty amount of over $100K.  &lt;br /&gt;If undetected, these vulnerabilities could have potentially led to elevation of privilege, access to sensitive data and remote code execution on devices. &lt;br /&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2&gt;Keeping devices secure&lt;/h2&gt;In addition to rewarding for vulnerabilities, we continue to work with the broad and diverse Android ecosystem to protect users from issues reported through our program. We collaborate with manufacturers to ensure that these issues are fixed on their devices through monthly &lt;a href="https://source.android.com/security/bulletin/"&gt;security updates&lt;/a&gt;. Over 250 device models have a majority of their deployed devices running a security update from the last 90 days. This table shows the models with a majority of deployed devices running a security update from the last three months: &lt;br /&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 1px solid black; color: rgba(0, 0, 0, 0.67); font-size: 16px; width: 659px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Manufacturer&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Device&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;ANS&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;L50&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Asus&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;ZenFone 5Z (ZS620KL/ZS621KL), ZenFone Max Plus M1 (ZB570TL), ZenFone 4 Pro (ZS551KL), ZenFone 5 (ZE620KL), ZenFone Max M1 (ZB555KL), ZenFone 4 (ZE554KL), ZenFone 4 Selfie Pro (ZD552KL), ZenFone 3 (ZE552KL), ZenFone 3 Zoom (ZE553KL), ZenFone 3 (ZE520KL), ZenFone 3 Deluxe (ZS570KL), ZenFone 4 Selfie (ZD553KL), ZenFone Live L1 (ZA550KL), ZenFone 5 Lite (ZC600KL), ZenFone 3s Max (ZC521TL)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;BlackBerry&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;BlackBerry MOTION, BlackBerry KEY2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Blu&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Grand XL LTE, Vivo ONE, R2_3G, Grand_M2, BLU STUDIO J8 LTE&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;bq&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Aquaris V Plus, Aquaris V, Aquaris U2 Lite, Aquaris U2, Aquaris X, Aquaris X2, Aquaris X Pro, Aquaris U Plus, Aquaris X5 Plus, Aquaris U lite, Aquaris U&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Docomo&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;F-04K, F-05J, F-03H&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Essential Products&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;PH-1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Fujitsu&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;F-01K&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;General Mobile&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;GM8, GM8 Go&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Google&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Pixel 2 XL, Pixel 2, Pixel XL, Pixel&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;HTC&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;U12+, HTC U11+&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Huawei&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Honor Note10, nova 3, nova 3i, Huawei Nova 3I, 荣耀9i, 华为G9青春版, Honor Play, G9青春版, P20 Pro, Honor V9, huawei nova 2, P20 lite, Honor 10, Honor 8 Pro, Honor 6X, Honor 9, nova 3e, P20, PORSCHE DESIGN HUAWEI Mate RS, FRD-L02, HUAWEI Y9 2018, Huawei Nova 2, Honor View 10, HUAWEI P20 Lite, Mate 9 Pro, Nexus 6P, HUAWEI Y5 2018, Honor V10, Mate 10 Pro, Mate 9, Honor 9, Lite, 荣耀9青春版, nova 2i, HUAWEI nova 2 Plus, P10 lite, nova 青春版本, FIG-LX1, HUAWEI G Elite Plus, HUAWEI Y7 2018, Honor 7S, HUAWEI P smart, P10, Honor 7C, 荣耀8青春版, HUAWEI Y7 Prime 2018, P10 Plus, 荣耀畅玩7X, HUAWEI Y6 2018, Mate 10 lite, Honor 7A, P9 Plus, 华为畅享8, honor 6x, HUAWEI P9 lite mini, HUAWEI GR5 2017, Mate 10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Itel&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;P13&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Kyocera&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;X3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Lanix&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Alpha_950, Ilium X520&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Lava&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Z61, Z50&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;LGE&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;LG Q7+, LG G7 ThinQ, LG Stylo 4, LG K30, V30+, LG V35 ThinQ, Stylo 2 V, LG K20 V, ZONE4, LG Q7, DM-01K, Nexus 5X, LG K9, LG K11&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Motorola&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Moto Z Play Droid, moto g(6) plus, Moto Z Droid, Moto X (4), Moto G Plus (5th Gen), Moto Z (2) Force, Moto G (5S) Plus, Moto G (5) Plus, moto g(6) play, Moto G (5S), moto e5 play, moto e(5) play, moto e(5) cruise, Moto E4, Moto Z Play, Moto G (5th Gen)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Nokia&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Nokia 8, Nokia 7 plus, Nokia 6.1, Nokia 8 Sirocco, Nokia X6, Nokia 3.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;OnePlus&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;OnePlus 6, OnePlus5T, OnePlus3T, OnePlus5, OnePlus3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Oppo&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;CPH1803, CPH1821, CPH1837, CPH1835, CPH1819, CPH1719, CPH1613, CPH1609, CPH1715, CPH1861, CPH1831, CPH1801, CPH1859, A83, R9s Plus&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Positivo&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Twist, Twist Mini&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Samsung&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Galaxy A8 Star, Galaxy J7 Star, Galaxy Jean, Galaxy On6, Galaxy Note9, Galaxy J3 V, Galaxy A9 Star, Galaxy J7 V, Galaxy S8 Active, Galaxy Wide3, Galaxy J3 Eclipse, Galaxy S9+, Galaxy S9, Galaxy A9 Star Lite, Galaxy J7 Refine, Galaxy J7 Max, Galaxy Wide2, Galaxy J7(2017), Galaxy S8+, Galaxy S8, Galaxy A3(2017), Galaxy Note8, Galaxy A8+(2018), Galaxy J3 Top, Galaxy J3 Emerge, Galaxy On Nxt, Galaxy J3 Achieve, Galaxy A5(2017), Galaxy J2(2016), Galaxy J7 Pop, Galaxy A6, Galaxy J7 Pro, Galaxy A6 Plus, Galaxy Grand Prime Pro, Galaxy J2 (2018), Galaxy S6 Active, Galaxy A8(2018), Galaxy J3 Pop, Galaxy J3 Mission, Galaxy S6 edge+, Galaxy Note Fan Edition, Galaxy J7 Prime, Galaxy A5(2016)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Sharp&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;シンプルスマホ４, AQUOS sense plus (SH-M07), AQUOS R2 SH-03K, X4, AQUOS R SH-03J, AQUOS R2 SHV42, X1, AQUOS sense lite (SH-M05)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Sony&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Xperia XZ2 Premium, Xperia XZ2 Compact, Xperia XA2, Xperia XA2 Ultra, Xperia XZ1 Compact, Xperia XZ2, Xperia XZ Premium, Xperia XZ1, Xperia L2, Xperia X&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Tecno&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;F1, CAMON I Ace&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Vestel&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Vestel Z20&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Vivo&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;vivo 1805, vivo 1803, V9 6GB, Y71, vivo 1802, vivo Y85A, vivo 1726, vivo 1723, V9, vivo 1808, vivo 1727, vivo 1724, vivo X9s Plus, Y55s, vivo 1725, Y66, vivo 1714, 1609, 1601&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Vodafone&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Vodafone Smart N9&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Xiaomi&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;Mi A2, Mi A2 Lite, MI 8, MI 8 SE, MIX 2S, Redmi 6Pro, Redmi Note 5 Pro, Redmi Note 5, Mi A1, Redmi S2, MI MAX 2, MI 6X&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;strong&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;ZTE&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style="background-color: inherit; border: 1px solid black; vertical-align: top; width: 100px;"&gt;&lt;span style="font-family: Times, Times New Roman, serif;"&gt;BLADE A6 MAX&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Thank you to everyone internally and &lt;a href="https://source.android.com/security/overview/acknowledgements"&gt;externally&lt;/a&gt; who helped make Android safer and stronger in the past year. Together, we made a huge investment in security research that helps Android users everywhere. If you want to get involved to make next year even better, check out our detailed &lt;a href="https://www.google.com/about/appsecurity/android-rewards/"&gt;program rules&lt;/a&gt;. For tips on how to submit complete reports, see &lt;a href="https://sites.google.com/site/bughunteruniversity/improve/how-to-submit-an-android-platform-bug-report"&gt;Bug Hunter University&lt;/a&gt;. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=VXpWe38lOLs:Lnjoh78Xfqc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=VXpWe38lOLs:Lnjoh78Xfqc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=VXpWe38lOLs:Lnjoh78Xfqc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/VXpWe38lOLs" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/309456554161389033/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=309456554161389033&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/309456554161389033" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/309456554161389033" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/VXpWe38lOLs/android-and-google-play-security_20.html" title="Android and Google Play Security Rewards Programs surpass $3M in payouts" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/09/android-and-google-play-security_20.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-3320381131458508210</id><published>2018-08-30T08:36:00.000-07:00</published><updated>2018-08-31T13:00:58.984-07:00</updated><title type="text">Introducing the Tink cryptographic software library</title><content type="html">&lt;span class="byline-author"&gt;Posted by Thai Duong, Information Security Engineer, on behalf of Tink team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At Google, many product teams use cryptographic techniques to protect user data. In cryptography, subtle mistakes can have serious consequences, and understanding how to implement cryptography correctly requires digesting decades' worth of academic literature. Needless to say, many developers don’t have time for that.&lt;br /&gt;&lt;br /&gt;To help our developers ship secure cryptographic code we’ve developed &lt;a href="https://github.com/google/tink"&gt;Tink&lt;/a&gt;—a multi-language, cross-platform cryptographic library. We believe in open source and want Tink to become a community project—thus Tink has been available on GitHub since the early days of the project, and it has already attracted several external contributors. At Google, Tink is already being used to secure data of many products such as AdMob, Google Pay, Google Assistant, Firebase, the Android Search App, etc. After nearly two years of development, today we’re excited to announce &lt;a href="https://github.com/google/tink/releases/tag/v1.2.0"&gt;Tink 1.2.0&lt;/a&gt;, the first version that supports cloud, Android, iOS, and more!&lt;br /&gt;&lt;br /&gt;Tink aims to provide cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. Tink is built on top of existing libraries such as BoringSSL and Java Cryptography Architecture, but includes countermeasures to many weaknesses in these libraries, which were discovered by &lt;a href="https://github.com/google/wycheproof"&gt;Project Wycheproof&lt;/a&gt;, another project from our team.&lt;br /&gt;&lt;br /&gt;With Tink, many common cryptographic operations such as data encryption, digital signatures, etc. can be done with only a few lines of code. Here is an example of encrypting and decrypting with our &lt;a href="https://github.com/google/tink/blob/master/docs/PRIMITIVES.md#authenticated-encryption-with-associated-data"&gt;AEAD&lt;/a&gt; interface in Java:&lt;br /&gt;&lt;br /&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;import&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; com&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;google&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;crypto&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;tink&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;Aead;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;import&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; com&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;google&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;crypto&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;tink&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;KeysetHandle;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;import&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; com&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;google&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;crypto&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;tink&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;aead&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;AeadFactory;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;import&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; com&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;google&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;crypto&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;tink&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;aead&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;AeadKeyTemplates;&lt;/span&gt;&lt;/div&gt;&lt;b id="docs-internal-guid-f22fecad-7fff-4a68-927a-7b5c20ee0e60" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #880000; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;// 1. Generate the key material.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;KeysetHandle&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; keysetHandle &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;=&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;KeysetHandle&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;generateNew(&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;AeadKeyTemplates&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;AES256_EAX&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;b style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #880000; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;// 2. Get the primitive.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;Aead&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; aead &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;=&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #660066; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;AeadFactory&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;.&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;getPrimitive&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;(&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;keysetHandle&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;b style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #880000; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;// 3. Use the primitive.&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;byte&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;[]&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; plaintext &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;=&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;...;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;byte&lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;[]&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; additionalData &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;=&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"&gt;...;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000088; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;byte&lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;[]&lt;/span&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt; ciphertext &lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;=&lt;/span&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt; aead&lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;encrypt&lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;/span&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;plaintext&lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;,&lt;/span&gt;&lt;span style="font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt; additionalData&lt;/span&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #666600; font-family: &amp;quot;consolas&amp;quot;; font-size: 9pt; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;Tink aims to eliminate as many potential misuses as possible. For example, if the underlying encryption mode requires nonces and nonce reuse makes it insecure, then Tink does not allow the user to pass nonces. Interfaces have security guarantees that must be satisfied by each primitive implementing the interface. This may exclude some encryption modes. Rather than adding them to existing interfaces and weakening the guarantees of the interface, it is possible to add new interfaces and describe the security guarantees appropriately.&lt;br /&gt;&lt;br /&gt;We’re cryptographers and security engineers working to improve Google’s product security, so we built Tink to make our job easier. Tink shows the claimed security properties (e.g., safe against chosen-ciphertext attacks) right in the interfaces, allowing security auditors and automated tools to quickly discover usages where the security guarantees don’t match the security requirements. Tink also isolates APIs for potentially dangerous operations (e.g., loading cleartext keys from disk), which allows discovering, restricting, monitoring and logging their usage.&lt;br /&gt;&lt;br /&gt;Tink provides support for key management, including key rotation and phasing out deprecated ciphers. For example, if a cryptographic primitive is found to be broken, you can switch to a different primitive by rotating keys, without changing or recompiling code.&lt;br /&gt;&lt;br /&gt;Tink is also extensible by design: it is easy to add a custom cryptographic scheme or an in-house key management system so that it works seamlessly with other parts of Tink. No part of Tink is hard to replace or remove. All components are composable, and can be selected and assembled in various combinations. For example, if you need only digital signatures, you can exclude symmetric key encryption components to minimize code size in your application.&lt;br /&gt;&lt;br /&gt;To get started, please check out our HOW-TO for &lt;a href="https://github.com/google/tink/blob/master/docs/JAVA-HOWTO.md"&gt;Java&lt;/a&gt;, &lt;a href="https://github.com/google/tink/blob/master/docs/CPP-HOWTO.md"&gt;C++&lt;/a&gt; and &lt;a href="https://github.com/google/tink/blob/master/docs/OBJC-HOWTO.md"&gt;Obj-C&lt;/a&gt;. If you'd like to talk to the developers or get notified about project updates, you may want to subscribe to our &lt;a href="https://groups.google.com/forum/#!forum/tink-users"&gt;mailing list&lt;/a&gt;. To join, simply send an empty email to &lt;a href="http://tink-users+subscribe@googlegroups.com/"&gt;tink-users+subscribe@googlegroups.com&lt;/a&gt;. You can also post your questions to StackOverflow, just remember to tag them with &lt;a href="https://stackoverflow.com/questions/tagged/tink"&gt;tink&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We’re excited to share this with the community, and welcome your feedback!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=WNB7L8tT3mY:yU9Md_Ozdgs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=WNB7L8tT3mY:yU9Md_Ozdgs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=WNB7L8tT3mY:yU9Md_Ozdgs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/WNB7L8tT3mY" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/3320381131458508210/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=3320381131458508210&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3320381131458508210" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/3320381131458508210" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/WNB7L8tT3mY/introducing-tink-cryptographic-software.html" title="Introducing the Tink cryptographic software library" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/08/introducing-tink-cryptographic-software.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-4233908189878292563</id><published>2018-08-22T11:59:00.000-07:00</published><updated>2018-11-29T05:59:31.989-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android security" /><title type="text">Evolution of Android Security Updates</title><content type="html">&lt;span class="byline-author"&gt;Posted by Dave Kleidermacher, VP, Head of Security - Android, Chrome OS, Play&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Cross-posted from the &lt;a href="https://android-developers.googleblog.com/2018/08/evolution-of-android-security-updates.html"&gt;Android Developers Blog&lt;/a&gt;]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;At &lt;a href="https://events.google.com/io?gclid=CjwKCAjwrqnYBRB-EiwAthnBFhBHyfkwIQoOzYsVTjEs9LeqiAWeZY6tlVQ8xGJyTM3X2K2_sqhe9RoCbBEQAvD_BwE"&gt;Google I/O 2018&lt;/a&gt;, in our &lt;em&gt;&lt;a href="https://events.google.com/io/schedule/?sid=fac1fbb5-85e4-448e-ad4a-4f1d34a41a25"&gt;What's New in Android Security&lt;/a&gt;&lt;/em&gt; session, we shared a brief update on the Android security updates program. With the official release of Android 9 Pie, we wanted to share a more comprehensive update on the state of security updates, including best practice guidance for manufacturers, how we're making Android easier to update, and how we're ensuring compliance to Android security update releases. &lt;br /&gt;&lt;h2&gt;Commercial Best Practices around Android Security Updates&lt;/h2&gt;As we noted in our &lt;a href="https://security.googleblog.com/2018/03/android-security-2017-year-in-review.html"&gt;2017 Android Security Year-in-Review&lt;/a&gt;, Android's &lt;a href="https://android-developers.googleblog.com/2018/06/compiler-based-security-mitigations-in.html"&gt;anti-exploitation&lt;/a&gt; strength now leads the mobile industry and has made it exceedingly difficult and expensive to leverage operating system bugs into compromises. Nevertheless, an important defense-in-depth strategy is to ensure critical security updates are delivered in a timely manner.  &lt;strong&gt;&lt;em&gt;Monthly&lt;/em&gt;&lt;/strong&gt; security updates are the recommended best practice for Android smartphones. We deliver monthly Android source code patches to smartphone manufacturers so they may incorporate those patches into firmware updates. We also deliver firmware updates over-the-air to Pixel devices on a reliable monthly cadence and offer the free use of Google's firmware over-the-air (FOTA) servers to manufacturers. Monthly security updates are also required for devices covered under the &lt;a href="https://www.android.com/one/"&gt;Android One program&lt;/a&gt;.  &lt;br /&gt;While monthly security updates are best, at minimum, Android manufacturers should deliver regular security updates in advance of coordinated disclosure of high severity vulnerabilities, published in our Android bulletins. Since the common vulnerability disclosure window is &lt;a href="https://googleprojectzero.blogspot.com/2015/02/feedback-and-data-driven-updates-to.html"&gt;90 days&lt;/a&gt;, updates on a 90-day frequency represents a minimum security hygiene requirement.   &lt;br /&gt;&lt;h2&gt;Enterprise Best Practices&lt;/h2&gt;Product security factors into purchase decisions of enterprises, who often consider device security update cadence, flexibility of policy controls, and authentication features. Earlier this year, we introduced the &lt;a href="https://www.android.com/enterprise/recommended/"&gt;Android Enterprise Recommended program &lt;/a&gt;to help businesses make these decisions. To be listed, Android devices must satisfy numerous requirements, including regular security updates: at least every 90 days, with monthly updates strongly recommended. In addition to businesses, consumers interested in understanding security update practices and commitment may also refer to the &lt;a href="https://androidenterprisepartners.withgoogle.com/devices/"&gt;Enterprise Recommended list&lt;/a&gt;.  &lt;br /&gt;&lt;h2&gt;Making Android Easier to Update&lt;/h2&gt;We've also been working to make Android easier to update, overall. A key pillar of that strategy is to improve modularity and clarity of interfaces, enabling operating system subsystems to be updated without adversely impacting others. &lt;a href="https://source.android.com/devices/architecture/treble"&gt;Project Treble&lt;/a&gt; is one example of this strategy in action and has enabled devices to &lt;a href="https://arstechnica.com/gadgets/2018/06/talkin-treble-how-android-engineers-are-winning-the-war-on-fragmentation/"&gt;update to Android P more easily and efficiently&lt;/a&gt; than was possible in previous releases. The modularity strategy applies equally well for security updates, as a framework security update can be performed independently of device specific components.  &lt;br /&gt;Another part of the strategy involves the extraction of operating system services into user-mode applications that can be updated independently, and sometimes more rapidly, than the base operating system. For example, Google Play services, &lt;a href="https://developer.android.com/training/articles/security-gms-provider"&gt;including secure networking components&lt;/a&gt;, and the Chrome browser can be updated individually, just like other Google Play apps. &lt;br /&gt;Partner programs are a third key pillar of the updateability strategy.  One example is the &lt;a href="https://www.mediatek.com/news-events/press-releases/mediatek-collaborates-with-google-and-its-gms-express-program-to-deliver-certified-android-software-mobile-services-to-device-makers"&gt;GMS Express program&lt;/a&gt;, in which Google is working closely with system-on-chip (SoC) suppliers to provide monthly pre-integrated and pre-tested Android security updates for SoC reference designs, reducing cost and time to market for delivering them to users. &lt;br /&gt;&lt;h2&gt;Security Patch Level Compliance&lt;/h2&gt;Recently, researchers reported a handful of missing security bug fixes across some Android devices. Initial reports had several inaccuracies, which have since been &lt;a href="https://srlabs.de/bites/android_patch_gap/"&gt;corrected&lt;/a&gt;.  We have been developing security update testing systems that are now making compliance failures less likely to occur. In particular, we recently delivered a new testing infrastructure that enables manufacturers to develop and deploy automated tests across lower levels of the firmware stack that were previously relegated to manual testing. In addition, the Android build approval process now includes scanning of device images for specific patterns, reducing the risk of omission. &lt;br /&gt;&lt;h2&gt;Looking Forward&lt;/h2&gt;&lt;a href="https://security.googleblog.com/2018/03/android-security-2017-year-in-review.html"&gt;In 2017&lt;/a&gt;, about a billion Android devices received security updates, representing approximately 30% growth over the preceding year. We continue to work hard devising thoughtful strategies to make Android easier to update by introducing improved processes and programs for the ecosystem.  In addition, we are also working to drive increased and more expedient partner adoption of our security update and compliance requirements.  As a result, over coming quarters, we expect the largest ever growth in the number of Android devices receiving regular security updates.   &lt;br /&gt;Bugs are inevitable in all complex software systems, but exploitability of those bugs is not. We're working hard to ensure that the incidence of potentially harmful exploitation of bugs continues to decline, such that the frequency for security updates will &lt;em&gt;reduce&lt;/em&gt;, not increase, over time. While monthly security updates represents today's best practice, we see a future in which security updates becomes easier and rarer, while maintaining the same goal to protect all users across all devices. &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=J4EMX9h_VOc:Pib2Qecp0Zc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=J4EMX9h_VOc:Pib2Qecp0Zc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=J4EMX9h_VOc:Pib2Qecp0Zc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/J4EMX9h_VOc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/4233908189878292563/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=4233908189878292563&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/4233908189878292563" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/4233908189878292563" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/J4EMX9h_VOc/evolution-of-android-security-updates.html" title="Evolution of Android Security Updates" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/08/evolution-of-android-security-updates.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-8896642597802672412</id><published>2018-08-20T15:41:00.001-07:00</published><updated>2018-08-20T17:42:40.211-07:00</updated><title type="text">A reminder about government-backed phishing</title><content type="html">&lt;span class="byline-author"&gt;Posted by Shane Huntley, Threat Analysis Group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;TLDR: Government-backed phishing has been in the news lately. If you receive a warning in Gmail, be sure to take prompt action. Get two-factor authentication on your account. And consider enrolling in the &lt;a href="http://g.co/advancedprotection"&gt;Advanced Protection Program&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;One of the main threats to all email users (whatever service you use) is phishing, attempts to trick you into providing a password that an attacker can use to sign into your account. Our ​improving ​technology has enabled ​us to ​&lt;a href="https://www.blog.google/technology/safety-security/fighting-phishing-smarter-protections/"&gt;significantly ​decrease ​the ​volume ​of ​phishing ​emails that ​get ​through&lt;/a&gt; to our users. ​ Automated ​protections, ​account ​security ​(like ​security ​keys), ​and specialized ​warnings give ​Gmail users industry-leading ​security.&lt;br /&gt;&lt;br /&gt;Beyond phishing for the purposes of fraud, a small minority of users in all corners of the world are still targeted by sophisticated government-backed attackers. These attempts come from dozens of countries. &lt;a href="https://security.googleblog.com/2012/06/security-warnings-for-suspected-state.html"&gt;Since 2012&lt;/a&gt;, we've shown prominent warnings within Gmail notifying users that they may be targets of these types of phishing attempts; we show thousands of these warnings every month, even if we have blocked the specific attempt.&lt;br /&gt;&lt;br /&gt;We also send &lt;a href="https://gsuiteupdates.googleblog.com/2018/08/control-government-backed-attack-alerts.html"&gt;alerts to G Suite administrators&lt;/a&gt; if someone in their corporate network may have been the target of government-backed phishing. And we regularly &lt;a href="https://security.googleblog.com/2017/03/reassuring-our-users-about-government.html"&gt;post public advisories&lt;/a&gt; to make sure that people are aware of this risk.&lt;br /&gt;&lt;br /&gt;This is what an account warning looks like; an extremely small fraction of users will ever see one of these, but if you receive this warning from us, it's important to &lt;a href="https://support.google.com/mail/answer/2591015?hl=en"&gt;take immediate action on it&lt;/a&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://4.bp.blogspot.com/-kS4qA8J13BA/W3tf6J8vwBI/AAAAAAAAAps/Z0kBsRHtqVwD5cyawEexSS4ig-XaaEGzACLcBGAs/s1600/Screen%2BShot%2B2018-08-20%2Bat%2B5.41.31%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1098" data-original-width="1116" height="392" src="https://4.bp.blogspot.com/-kS4qA8J13BA/W3tf6J8vwBI/AAAAAAAAAps/Z0kBsRHtqVwD5cyawEexSS4ig-XaaEGzACLcBGAs/s400/Screen%2BShot%2B2018-08-20%2Bat%2B5.41.31%2BPM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;We intentionally send these notices in batches to all users who may be at risk, rather than at the moment we detect the threat itself, so that attackers cannot track some of our defense strategies. We have an expert team in our Threat Analysis Group, and we use a variety of technologies to detect these attempts. We also notify law enforcement about what we’re seeing; they have additional tools to investigate these attacks.&lt;br /&gt;&lt;br /&gt;We hope you never receive this type of warning, but if you do, please take action right away to enhance the security of your accounts.&lt;br /&gt;&lt;br /&gt;Even if you don’t receive such a warning, you should &lt;a href="https://support.google.com/accounts/answer/185839"&gt;enable 2-step verification in Gmail&lt;/a&gt;. And if you think you’re at particular risk of government-backed phishing, consider enrolling in the &lt;a href="http://g.co/advancedprotection"&gt;Advanced Protection Program&lt;/a&gt;, which provides even stronger levels of security.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=mOGWCH1Xz5Y:GLFnULoSbaI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=mOGWCH1Xz5Y:GLFnULoSbaI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=mOGWCH1Xz5Y:GLFnULoSbaI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/mOGWCH1Xz5Y" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/8896642597802672412/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=8896642597802672412&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/8896642597802672412" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/8896642597802672412" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/mOGWCH1Xz5Y/a-reminder-about-government-backed.html" title="A reminder about government-backed phishing" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-kS4qA8J13BA/W3tf6J8vwBI/AAAAAAAAAps/Z0kBsRHtqVwD5cyawEexSS4ig-XaaEGzACLcBGAs/s72-c/Screen%2BShot%2B2018-08-20%2Bat%2B5.41.31%2BPM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/08/a-reminder-about-government-backed.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-6307376072344146832</id><published>2018-08-15T09:00:00.000-07:00</published><updated>2018-08-15T09:00:07.319-07:00</updated><title type="text">Expanding our Vulnerability Reward Program to combat platform abuse</title><content type="html">&lt;span class="byline-author"&gt;Posted by Eric Brown and Marc Henson, Trust &amp;amp; Safety&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since 2010, Google’s Vulnerability Reward Programs have &lt;a href="https://security.googleblog.com/2018/02/vulnerability-reward-program-2017-year.html"&gt;awarded more than $12 million dollars&lt;/a&gt; to researchers and created a &lt;a href="https://bughunter.withgoogle.com/"&gt;thriving Google-focused security community&lt;/a&gt;. For the past two years, some of these rewards were for bug reports that were not strictly security vulnerabilities, but techniques that allow third parties to successfully bypass our abuse, fraud, and spam systems.&lt;br /&gt;&lt;br /&gt;Today, we are expanding our Vulnerability Reward Program to formally invite researchers to submit these reports.&lt;br /&gt;&lt;br /&gt;This expansion is intended to reward research that helps us mitigate potential abuse methods. A few examples of potentially valid reports for this program could include bypassing our account recovery systems at scale, identifying services vulnerable to brute force attacks, circumventing restrictions on content use and sharing, or purchasing items from Google without paying. Valid reports tend to result in changes to the product’s code, as opposed to removal of individual pieces of content.&lt;br /&gt;&lt;br /&gt;This program does not cover individual instances of abuse, such as the posting of content that violates our guidelines or policies, sending spam emails, or providing links to malware. These should continue to be reported through existing product-specific channels, such as for &lt;a href="https://support.google.com/plus/answer/6320425"&gt;Google+&lt;/a&gt;, &lt;a href="https://support.google.com/youtube/answer/2802027"&gt;YouTube&lt;/a&gt;, &lt;a href="https://support.google.com/mail/answer/1366858"&gt;Gmail&lt;/a&gt;, and &lt;a href="https://support.google.com/blogger/answer/76315"&gt;Blogger&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Reports submitted to our Vulnerability Reward Program that outline abuse methods are reviewed by experts on our Trust &amp;amp; Safety team, which specializes in the prevention and mitigation of abuse, fraud, and spam activity on our products.&lt;br /&gt;&lt;br /&gt;We greatly value our relationship with the research community, and we’re excited to expand on it to help make the internet a safer place for everyone. To learn more, see our &lt;a href="https://www.google.com/about/appsecurity/reward-program/"&gt;updated rules&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Happy hunting!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=1sAsxPIuhfM:zGvSqlE9Id8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=1sAsxPIuhfM:zGvSqlE9Id8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=1sAsxPIuhfM:zGvSqlE9Id8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/1sAsxPIuhfM" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/6307376072344146832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=6307376072344146832&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6307376072344146832" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/6307376072344146832" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/1sAsxPIuhfM/expanding-our-vulnerability-reward.html" title="Expanding our Vulnerability Reward Program to combat platform abuse" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/08/expanding-our-vulnerability-reward.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-5541161776551293853</id><published>2018-08-10T18:31:00.000-07:00</published><updated>2018-08-10T18:31:16.386-07:00</updated><title type="text">Google Public DNS turns 8.8.8.8 years old</title><content type="html">&lt;span class="byline-author"&gt;Posted by Alexander Dupuy, Software Engineer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once upon a time, we &lt;a href="https://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html"&gt;launched Google Public DNS&lt;/a&gt;, which you might know by its iconic IP address, 8.8.8.8. (Sunday, August 12th, 2018, at 00:30 UTC marks eight years, eight months, eight days and eight hours since the announcement.) Though not as well-known as Google Search or Gmail, the four eights have had quite a journey—and some pretty amazing growth! Whether it’s &lt;a href="https://india.googleblog.com/2018/06/connecting400stationsindia.html"&gt;travelers in India’s train stations&lt;/a&gt; or &lt;a href="http://www.npolar.no/en/bouvetoya/"&gt;researchers on the remote Antarctic island Bouvetøya&lt;/a&gt;, hundreds of millions of people the world over rely on our free DNS service to turn domain names like wikipedia.org into IP addresses like 208.80.154.224.&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://3.bp.blogspot.com/-aLrCv-BVzxI/W245b_qAsLI/AAAAAAAAAog/BSTNIyreaAsT47X51WQiBU9xjlNiUGOKACLcBGAs/s1600/Screen%2BShot%2B2018-08-10%2Bat%2B6.17.30%2BPM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="274" data-original-width="1256" height="137" src="https://3.bp.blogspot.com/-aLrCv-BVzxI/W245b_qAsLI/AAAAAAAAAog/BSTNIyreaAsT47X51WQiBU9xjlNiUGOKACLcBGAs/s640/Screen%2BShot%2B2018-08-10%2Bat%2B6.17.30%2BPM.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Google Public DNS query growth and major feature launches&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Today, it’s estimated that about &lt;a href="https://stats.labs.apnic.net/dnssec/XA"&gt;10% of internet users&lt;/a&gt; rely on 8.8.8.8, and it serves well over a trillion queries per day. But while we’re really proud of that growth, what really matters is whether it’s a valuable service for our users. Namely, has Google Public DNS made the internet faster for users? Does it safeguard their privacy? And does it help them get to internet sites more reliably and securely?&lt;br /&gt;&lt;br /&gt;In other words, has 8.8.8.8 made DNS and the internet better as a whole? Here at Google, we think it has. On this numerological anniversary, let’s take a look at how Google Public DNS has realized those goals and what lies ahead.&lt;br /&gt;&lt;b&gt;Making the internet faster&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;From the start, a key goal of Google Public DNS was to &lt;a href="https://developers.google.com/speed/public-dns/docs/performance"&gt;make the internet faster&lt;/a&gt;. When we began the project in 2007, Google had already made it faster to search the web, but it could take a while to get to your destination. Back then, most DNS lookups used your ISP’s resolvers, and with small caches, they often had to make multiple DNS queries before they could return an address.&lt;br /&gt;&lt;br /&gt;Google Public DNS resolvers’ DNS caches hold tens of billions of entries worldwide. And because hundreds of millions of clients use them every day, they usually return the address for your domain queries without extra lookups, connecting you to the internet that much faster.&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://3.bp.blogspot.com/-t756LWkRUGk/W245zFrhgPI/AAAAAAAAAoo/Aq9zveC2SFsAebODNL6SmYwWGnNb3oDuwCLcBGAs/s1600/ISP%2BDNS%2BResolution.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1000" data-original-width="1600" height="400" src="https://3.bp.blogspot.com/-t756LWkRUGk/W245zFrhgPI/AAAAAAAAAoo/Aq9zveC2SFsAebODNL6SmYwWGnNb3oDuwCLcBGAs/s640/ISP%2BDNS%2BResolution.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;DNS resolution process for example.org&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Speeding up DNS responses is just one part of making the web faster—getting web content from servers closer to you can have an even bigger impact. Content Delivery Networks (CDNs) distribute large, delay-sensitive content like streaming videos to users around the world. CDNs use DNS to direct users to the nearest servers, and rely on &lt;a href="https://en.wikipedia.org/wiki/Geolocation_software"&gt;GeoIP maps&lt;/a&gt; to determine the best location.&lt;br /&gt;&lt;br /&gt;Everything’s good if your DNS query comes from an ISP resolver that is close to you, but what happens if the resolver is far away, as it is for researchers on Bouvetøya? In that case, the CDN directs you to a server near the DNS resolver—but not the one closest to you. In 2010, along with other DNS and CDN services, we &lt;a href="http://googlecode.blogspot.com/2010/01/proposal-to-extend-dns-protocol.html"&gt;proposed a solution&lt;/a&gt; that lets DNS resolvers send part of your IP address in their DNS queries, so CDN name servers can get your best possible GeoIP location (short of sending your entire IP address). By sending only the first three parts of users’ IP addresses (e.g. 192.0.2.x) in the EDNS Client Subnet (ECS) extension, CDNs can return the closest content while maintaining user privacy.&lt;br /&gt;&lt;br /&gt;We continue to enhance ECS, (now published as &lt;a href="https://tools.ietf.org/html/rfc7871"&gt;RFC 7871&lt;/a&gt;), for example, by adding &lt;a href="https://groups.google.com/forum/#!topic/public-dns-announce/67oxFjSLeUM"&gt;automatic detection of name server ECS support&lt;/a&gt;. And today, we’re happy to report, support for ECS is widespread among CDNs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Safeguarding user privacy&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;From day one of our service, we’ve always been serious about user privacy. Like all Google services, we honor the general Google &lt;a href="https://policies.google.com/privacy"&gt;Privacy Policy&lt;/a&gt;, and are guided by Google’s &lt;a href="https://policies.google.com/technologies"&gt;Privacy Principles&lt;/a&gt;. In addition, Google Public DNS published a &lt;a href="https://developers.google.com/speed/public-dns/privacy"&gt;privacy practice statement&lt;/a&gt; about the information we collect and how it is used—and how it’s not used. These protect the privacy of your DNS queries once they arrive at Google, but they can still be seen (and potentially modified) en route to 8.8.8.8.&lt;br /&gt;&lt;br /&gt;To address this weakness, we &lt;a href="https://groups.google.com/forum/#!topic/public-dns-announce/p2iYauFuzIg"&gt;launched a public beta&lt;/a&gt; of &lt;a href="https://developers.google.com/speed/public-dns/docs/dns-over-https"&gt;DNS-over-HTTPS&lt;/a&gt; on April 1, 2016, embedding your DNS queries in the secure and private HTTPS protocol. Despite the launch date, this was not an April Fool’s joke, and in the following two years, it has grown dramatically, with millions of users and support by another major public DNS service. Today, we are working in the IETF and with other DNS operators and clients on the &lt;a href="https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-12"&gt;Internet Draft for DNS Queries over HTTPS&lt;/a&gt; specification, which we also support.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Securing the Domain Name System&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We’ve always been very concerned with the integrity and security of the responses that Google Public DNS provides. From the start, we &lt;a href="https://developers.google.com/speed/public-dns/faq#nxdomains"&gt;rejected&lt;/a&gt; the practice of &lt;a href="https://en.wikipedia.org/wiki/DNS_hijacking#Manipulation_by_ISPs"&gt;hijacking nonexistent domain (NXDOMAIN) responses&lt;/a&gt;, working to provide users with accurate and honest DNS responses, even when attackers tried to corrupt them.&lt;br /&gt;&lt;br /&gt;In 2008, Dan Kaminsky publicized a major security weakness in the DNS protocol that left most DNS resolvers vulnerable to spoofing that poisoned their DNS caches. When we launched 8.8.8.8 the following year, we not only used industry best practices to mitigate this vulnerability, but also developed an &lt;a href="https://developers.google.com/speed/public-dns/docs/security#add_entropy"&gt;extensive set of additional protections&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;While those protected our DNS service from most attackers, they can’t help in cases where an attacker can see our queries. Starting in 2010, the internet started to use &lt;a href="https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions"&gt;DNSSEC security&lt;/a&gt; in earnest, making it possible to protect cryptographically signed domains against such &lt;a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack#Authentication"&gt;man-in-the-middle&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Man-on-the-side_attack"&gt;man-on-the-side&lt;/a&gt; attacks. In 2013, Google Public DNS became the first major public DNS resolver to &lt;a href="https://security.googleblog.com/2013/03/google-public-dns-now-supports-dnssec.html"&gt;implement DNSSEC validation&lt;/a&gt; for all its DNS queries, &lt;a href="http://www.circleid.com/posts/20130717_dns_dnssec_and_googles_public_dns_service/"&gt;doubling the percentage of end users protected by DNSSEC from 3.3% to 8.1%&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In addition to protecting the integrity of DNS responses, Google Public DNS also works to block DNS denial of service attacks by &lt;a href="https://developers.google.com/speed/public-dns/docs/security#rate_limit"&gt;rate limiting&lt;/a&gt; both our queries to name servers and &lt;a href="https://en.wikipedia.org/wiki/Denial-of-service_attack#Reflected_/_spoofed_attack"&gt;reflection or amplification attacks&lt;/a&gt; that try to flood victims’ network connections.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Internet access for all&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;A big part of Google Public DNS’s tremendous growth comes from free public internet services. We make the internet faster for hundreds of these services, from free WiFi in San Francisco’s parks to LinkNYC internet kiosk hotspots and the &lt;a href="https://station.google.com/india"&gt;Railtel partnership in India‘s train stations&lt;/a&gt;. In places like Africa and Southeast Asia, many ISPs also use 8.8.8.8 to resolve their users’ DNS queries. Providing free DNS resolution to anyone in the world, even to other companies, supports internet access worldwide as a part of Google’s &lt;a href="https://www.blog.google/technology/next-billion-users/"&gt;Next Billion Users initiative&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://4.bp.blogspot.com/-coYWVbluhOY/W246ISPOUmI/AAAAAAAAAow/xv1mCgKRsHMOCWQRaE_6755f7_MspxSBACLcBGAs/s1600/GPDNS%2BUsage%2BRate%2Bby%2Bcountry.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="815" data-original-width="1600" height="323" src="https://4.bp.blogspot.com/-coYWVbluhOY/W246ISPOUmI/AAAAAAAAAow/xv1mCgKRsHMOCWQRaE_6755f7_MspxSBACLcBGAs/s640/GPDNS%2BUsage%2BRate%2Bby%2Bcountry.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;a href="https://data.labs.apnic.net/"&gt;APNIC Labs&lt;/a&gt; map of worldwide usage (&lt;a href="https://stats.labs.apnic.net/dnssec?s=Uses+Google+Public+DNS&amp;amp;d=Auto&amp;amp;w=7&amp;amp;t=40"&gt;Interactive Map&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;br /&gt;Looking ahead&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Today, Google Public DNS is the largest public DNS resolver. There are now about a dozen such services providing value-added features like content and malware filtering, and recent entrants Quad9 and Cloudflare also provide privacy for DNS queries over TLS or HTTPS.&lt;br /&gt;&lt;br /&gt;But recent incidents that used BGP hijacking to attack DNS are concerning. Increasing the adoption and use of DNSSEC is an effective way to protect against such attacks and as the largest DNSSEC validating resolver, we hope we can influence things in that direction. We are also exploring how to improve the security of the path from resolvers to authoritative name servers—issues not currently addressed by other DNS standards.&lt;br /&gt;&lt;br /&gt;In short, we continue to improve Google Public DNS both behind the scenes and in ways visible to users, adding features that users want from their DNS service. Stay tuned for some exciting Google Public DNS announcements in the near future!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=IHwFGr0BAkc:mwqedb2C8xI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=IHwFGr0BAkc:mwqedb2C8xI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=IHwFGr0BAkc:mwqedb2C8xI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/IHwFGr0BAkc" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/5541161776551293853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=5541161776551293853&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5541161776551293853" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/5541161776551293853" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/IHwFGr0BAkc/google-public-dns-turns-8888-years-old.html" title="Google Public DNS turns 8.8.8.8 years old" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-aLrCv-BVzxI/W245b_qAsLI/AAAAAAAAAog/BSTNIyreaAsT47X51WQiBU9xjlNiUGOKACLcBGAs/s72-c/Screen%2BShot%2B2018-08-10%2Bat%2B6.17.30%2BPM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/08/google-public-dns-turns-8888-years-old.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-1176949257541686127.post-1276473235774854890</id><published>2018-07-11T09:15:00.000-07:00</published><updated>2018-07-19T07:44:50.530-07:00</updated><title type="text">Mitigating Spectre with Site Isolation in Chrome</title><content type="html">&lt;span class="byline-author"&gt;Posted by Charlie Reis, Site Isolator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Speculative execution side-channel attacks like Spectre are a newly discovered security risk for web browsers. A website could use such attacks to steal data or login information from other websites that are open in the browser. To better mitigate these attacks, we're excited to announce that Chrome 67 has enabled a security feature called &lt;a href="https://www.chromium.org/Home/chromium-security/site-isolation"&gt;Site Isolation&lt;/a&gt; on Windows, Mac, Linux, and Chrome OS. Site Isolation has been optionally available as an experimental enterprise policy since Chrome 63, but many known issues have been resolved since then, making it practical to enable by default for all desktop Chrome users.&lt;br /&gt;&lt;br /&gt;This launch is one phase of our overall Site Isolation project. Stay tuned for additional security updates that will mitigate attacks beyond Spectre (e.g., attacks from fully compromised renderer processes).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is Spectre?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;In January, Google Project Zero disclosed a set of &lt;a href="https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html"&gt;speculative execution side-channel attacks&lt;/a&gt; that became publicly known as Spectre and Meltdown. An &lt;a href="https://bugs.chromium.org/p/project-zero/issues/detail?id=1528"&gt;additional variant of Spectre&lt;/a&gt; was disclosed in May. These attacks use the speculative execution features of most CPUs to access parts of memory that should be off-limits to a piece of code, and then use timing attacks to discover the values stored in that memory. Effectively, this means that untrustworthy code may be able to read any memory in its process's address space.&lt;br /&gt;&lt;br /&gt;This is particularly relevant for web browsers, since browsers run potentially malicious JavaScript code from multiple websites, often in the same process. In theory, a website could use such an attack to steal information from other websites, violating the Same Origin Policy. All major browsers have already &lt;a href="https://www.chromium.org/Home/chromium-security/ssca"&gt;deployed some mitigations&lt;/a&gt; for Spectre, including reducing timer granularity and changing their JavaScript compilers to make the attacks less likely to succeed. However, we believe the &lt;a href="https://chromium.googlesource.com/chromium/src/+/master/docs/security/side-channel-threat-model.md"&gt;most effective mitigation&lt;/a&gt; is offered by approaches like Site Isolation, which try to avoid having data worth stealing in the same process, even if a Spectre attack occurs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is Site Isolation?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;a href="https://www.chromium.org/Home/chromium-security/site-isolation"&gt;Site Isolation&lt;/a&gt; is a large change to Chrome's architecture that limits each renderer process to documents from a single site. As a result, Chrome can rely on the operating system to prevent attacks between processes, and thus, between sites. Note that Chrome uses a specific definition of "site" that includes just the scheme and registered domain. Thus, https://google.co.uk would be a site, and subdomains like https://maps.google.co.uk would stay in the same process.&lt;br /&gt;&lt;br /&gt;Chrome has always had a &lt;a href="https://www.chromium.org/developers/design-documents/multi-process-architecture"&gt;multi-process architecture&lt;/a&gt; where different tabs could use different renderer processes. A given tab could even switch processes when navigating to a new site in some cases. However, it was still possible for an attacker's page to share a process with a victim's page. For example, cross-site iframes and cross-site pop-ups typically stayed in the same process as the page that created them. This would allow a successful Spectre attack to read data (e.g., cookies, passwords, etc.) belonging to other frames or pop-ups in its process.&lt;br /&gt;&lt;br /&gt;When Site Isolation is enabled, each renderer process contains documents from at most one site. This means all navigations to cross-site documents cause a tab to switch processes. It also means all cross-site iframes are put into a different process than their parent frame, using "&lt;a href="https://www.chromium.org/developers/design-documents/oop-iframes"&gt;out-of-process iframes&lt;/a&gt;." Splitting a single page across multiple processes is a major change to how Chrome works, and the Chrome Security team has been &lt;a href="http://dev.chromium.org/Home/chromium-security/quarterly-updates"&gt;pursuing this for several years&lt;/a&gt;, independently of Spectre. The first uses of out-of-process iframes shipped last year to &lt;a href="https://blog.chromium.org/2017/05/improving-extension-security-with-out.html"&gt;improve the Chrome extension security model&lt;/a&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://1.bp.blogspot.com/-4CFSQMxTXc0/W0Y3nTBWd1I/AAAAAAAAAoA/xFGR6zWTOHQhOobMErb3ZAt-NtSy0j5_wCLcBGAs/s1600/OOPIF%2BDiagram.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="683" data-original-width="585" height="320" src="https://1.bp.blogspot.com/-4CFSQMxTXc0/W0Y3nTBWd1I/AAAAAAAAAoA/xFGR6zWTOHQhOobMErb3ZAt-NtSy0j5_wCLcBGAs/s320/OOPIF%2BDiagram.png" width="274" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;A single page may now be split across multiple renderer processes using out-of-process iframes.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Even when each renderer process is limited to documents from a single site, there is still a risk that an attacker's page could access and leak information from cross-site URLs by requesting them as subresources, such as images or scripts. Web browsers generally allow pages to embed images and scripts from any site. However, a page could try to request an HTML or JSON URL with sensitive data as if it were an image or script. This would normally fail to render and not expose the data to the page, but that data would still end up inside the renderer process where a Spectre attack might access it. To mitigate this, Site Isolation includes a feature called &lt;a href="https://chromium.googlesource.com/chromium/src/+/master/services/network/cross_origin_read_blocking_explainer.md"&gt;Cross-Origin Read Blocking&lt;/a&gt; (CORB), which is now part of the &lt;a href="https://fetch.spec.whatwg.org/#corb"&gt;Fetch spec&lt;/a&gt;. CORB tries to transparently block cross-site HTML, XML, and JSON responses from the renderer process, with almost no impact to compatibility. To get the most protection from Site Isolation and CORB, &lt;a href="https://developers.google.com/web/updates/2018/07/site-isolation"&gt;web developers should check that their resources are served with the right MIME type and with the nosniff response header&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Site Isolation is a significant change to Chrome's behavior under the hood, but it generally shouldn't cause visible changes for most users or web developers (beyond a few &lt;a href="https://www.chromium.org/Home/chromium-security/site-isolation#TOC-Known-Issues"&gt;known issues&lt;/a&gt;). It simply offers more protection between websites behind the scenes. Site Isolation does cause Chrome to create more renderer processes, which comes with performance tradeoffs: on the plus side, each renderer process is smaller, shorter-lived, and has less contention internally, but there is about a 10-13% total memory overhead in real workloads due to the larger number of processes. Our team continues to work hard to optimize this behavior to keep Chrome both fast and secure.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How does Site Isolation help?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;In Chrome 67, Site Isolation has been enabled for 99% of users on Windows, Mac, Linux, and Chrome OS. (Given the large scope of this change, we are keeping a 1% holdback for now to monitor and improve performance.) This means that even if a Spectre attack were to occur in a malicious web page, data from other websites would generally not be loaded into the same process, and so there would be much less data available to the attacker. This significantly reduces the threat posed by Spectre.&lt;br /&gt;&lt;br /&gt;Because of this, we are planning to re-enable precise timers and features like SharedArrayBuffer (which can be used as a precise timer) for desktop.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What additional work is in progress?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;We're now investigating how to extend Site Isolation coverage to Chrome for Android, where there are additional known issues. Experimental enterprise policies for enabling Site Isolation will be available in Chrome 68 for Android, and it can be enabled manually on Android using chrome://flags/#enable-site-per-process.&lt;br /&gt;&lt;br /&gt;We're also working on additional security checks in the browser process, which will let Site Isolation mitigate not just Spectre attacks but also attacks from fully compromised renderer processes. These additional enforcements will let us reach the &lt;a href="https://www.chromium.org/developers/design-documents/site-isolation#TOC-Threat-Model"&gt;original motivating goals&lt;/a&gt; for Site Isolation, where Chrome can effectively treat the entire renderer process as untrusted. Stay tuned for an update about these enforcements! Finally, other major browser vendors are finding related ways to defend against Spectre by better isolating sites. We are collaborating with them and are happy to see the progress across the web ecosystem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Help improve Site Isolation!&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;We offer cash rewards to researchers who submit security bugs through the &lt;a href="https://g.co/ChromeBugRewards"&gt;Chrome Vulnerability Reward Program&lt;/a&gt;. For a limited time, security bugs affecting Site Isolation may be eligible for higher rewards levels, up to twice the usual amount for information disclosure bugs. Find out more about &lt;a href="https://www.google.com/about/appsecurity/chrome-rewards/index.html#special"&gt;Chrome New Feature Special Rewards&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Fb8rGJ4_5dw:Ro1Q2eEF7T4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?a=Fb8rGJ4_5dw:Ro1Q2eEF7T4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOnlineSecurityBlog?i=Fb8rGJ4_5dw:Ro1Q2eEF7T4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/Fb8rGJ4_5dw" height="1" width="1" alt=""/&gt;</content><link rel="replies" type="application/atom+xml" href="http://security.googleblog.com/feeds/1276473235774854890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1176949257541686127&amp;postID=1276473235774854890&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/1276473235774854890" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1176949257541686127/posts/default/1276473235774854890" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoogleOnlineSecurityBlog/~3/Fb8rGJ4_5dw/mitigating-spectre-with-site-isolation.html" title="Mitigating Spectre with Site Isolation in Chrome" /><author><name>Google Security PR</name><uri>http://www.blogger.com/profile/06353467523789091437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="https://img1.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-4CFSQMxTXc0/W0Y3nTBWd1I/AAAAAAAAAoA/xFGR6zWTOHQhOobMErb3ZAt-NtSy0j5_wCLcBGAs/s72-c/OOPIF%2BDiagram.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://security.googleblog.com/2018/07/mitigating-spectre-with-site-isolation.html</feedburner:origLink></entry></feed>
