Reducing Software's Attack Surface with Code
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Bibliography of Erik Wilde
dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992. -
Biometriebasierte Authentifizierung Mit Webauthn
Humboldt-Universität zu Berlin Mathematisch-Naturwissenschaftliche Fakultät Institut für Informatik Biometriebasierte Authentifizierung mit WebAuthn Masterarbeit zur Erlangung des akademischen Grades Master of Science (M. Sc.) eingereicht von: Malte Kruse geboren am: geboren in: Gutachter/innen: Prof. Dr. Jens-Peter Redlich Frank Morgner eingereicht am: verteidigt am: Inhaltsverzeichnis Abbildungsverzeichnis5 Tabellenverzeichnis5 Abkürzungsverzeichnis6 1 Einleitung9 2 Hintergrund 11 2.1 Alternative Lösungsansätze . 12 2.1.1 Multi-Faktor-Authentifizierung . 13 2.1.2 Einmalpasswort . 14 2.1.3 Passwortmanager . 16 2.1.4 Single Sign-On . 17 2.2 Verwandte Arbeiten . 19 2.2.1 Universal 2nd Factor . 21 2.2.2 Universal Authentication Factor . 22 2.2.3 Sicherheitsbetrachtung . 23 2.2.4 Verbreitung . 24 2.2.5 ATKey.card . 27 3 Beitrag der Arbeit 28 4 FIDO2 29 4.1 Web Authentication . 30 4.1.1 Schnittstelle . 31 4.1.2 Authentifikatoren . 34 4.1.3 Vertrauensmodell . 36 4.1.4 Signaturen . 38 4.1.5 Sicherheitsbetrachtungen . 41 4.1.6 Privatsphäre . 43 4.2 Client to Authenticator Protocol . 44 4.2.1 CTAP2 . 45 4.2.2 CTAP1 / U2F . 49 4.2.3 Concise Binary Object Representation . 51 4.2.4 Transportprotokolle . 52 5 Zertifizierung 53 5.1 Zertifizierungsprozess . 54 5.1.1 Funktionale Zertifizierung . 55 5.1.2 Biometrische Zertifizierung . 56 5.1.3 Authentifikatorzertifizierung . 56 5.2 Zertifizierungslevel . 58 3 6 Umsetzung 60 6.1 Smartcards . 60 6.1.1 Betriebssysteme . 61 6.1.2 Kommunikation . 63 6.1.3 Sicherheitsbetrachtung . 64 6.2 Biometrie . 65 6.2.1 Fingerabdruck . 66 6.2.2 Sicherheitsbetrachtung . 67 6.3 Fingerabdruckkarte . -
Browser Security Features
Browser Security features Michael Sonntag Institute of Networks and Security Cookies: Securing them Attention: These are “requests” by the server setting the cookie Browsers will follow them, but applications not necessarily Secure/HTTPS-only: Do not send unencrypted This is an element of the Cookie header itself “Set-Cookie: “ …content, domain, expiration… “;Secure” Often the application contains an option to set this automatically HTTP-only: No access by JavaScript This is an element of the Cookie header itself “Set-Cookie: “ …content, domain, expiration… “;HttpOnly” Host-only: Do not set the “Domain” attribute Not set: Send to exactly this host only Domain set: Send to every host at or under this domain Priority: When too many cookies from a single domain, delete those of low priority first Not really a security feature! 2 Cookies: Securing them SameSite: Cookie should not be sent with cross-site requests (some CSRF-prevention; prevent cross-origin information leakage) “Strict” : Never cross origin; not even when clicking on a link on site A leading to B the Cookie set from B is actually sent to B “Lax” (default): Sent when clicking on most links, but not with POST requests: “Same-Site” and “cross-site top-level navigation” Not as good as strict: E.g. “<link rel='prerender’>” is a same-site request fetched automatically (and kept in the background!) Sent: GET requests leading to a top-level target (=URL in address bar changes; but may contain e.g. path) I.e.: Will not be sent for iframes, images, XMLHttpRequests -
Tr 126 907 V14.0.0 (2017-04)
ETSI TR 126 907 V14.0.0 (2017-04) TECHNICAL REPORT Universal Mobile Telecommunications System (UMTS); LTE; HTML5 for a new presentation layer in 3GPP services (3GPP TR 26.907 version 14.0.0 Release 14) 3GPP TR 26.907 version 14.0.0 Release 14 1 ETSI TR 126 907 V14.0.0 (2017-04) Reference RTR/TSGS-0426907ve00 Keywords LTE,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice The present document can be downloaded from: http://www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https://portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI. -
INTEGRIKEY: Integrity Protection of User Input for Remote Configuration of Safety-Critical Devices
INTEGRIKEY: Integrity Protection of User Input for Remote Configuration of Safety-Critical Devices Aritra Dhar Der-Yeuan Yu Kari Kostiainen ETH Zurich¨ ABB Corporate Research ETH Zurich¨ [email protected] [email protected] [email protected] Srdjan Capkunˇ ETH Zurich¨ [email protected] Abstract Various safety-critical devices, such as industrial control systems, medical devices, and home automation systems, are configured through web interfaces from remote hosts that are standard PCs. The communication link from the host to the safety-critical device is typically easy to protect, but if the host gets compromised, the adversary can manipulate any user-provided configuration settings with severe consequences including safety violations. In this paper, we propose INTEGRIKEY, a novel system for user input integrity protection in compromised host. The user installs a simple plug-and-play device between the input peripheral and the host. This device Figure 1: Example configuration page. Screenshot from the observes user input events and sends a trace of them ControlByWeb x600m [10] I/O server configuration page. to the server that compares the trace to the application payload received from the untrusted host. To prevent programmer device) is easy to protect through standard subtle attacks where the adversary exchanges values means such as a TLS connection [12]. However, if from interchangeable input fields, we propose a labeling the host platform gets compromised—as standard PC scheme where the user annotates input values. We built platforms so often do—the adversary can manipulate any a prototype of INTEGRIKEY, using an embedded USB user-provided configuration settings. -
WAVE Interoperability Boot Camp
Thank You to Our Sponsors WAVE Interoperability Boot Camp October 2nd, 2018 Technology & Standards Forum | Los Angeles, CA AGENDA • Introduction to WAVE – Paul Hearty, Sony Electronics • Presentations: • WAVE Technical Overview – Will Law, Akamai • WAVE Content Specification – Mike Bergman, CTA • WAVE Applications Environment – Mark Vickers, Comcast • WAVE Device Playback Capabilities – Mike Bergman, CTA • WAVE Test Suites – Mike Bergman, CTA • Q&A/Wrap-up – Paul Hearty, Moderator Overview of the WAVE Project Paul Hearty / Sony Electronics, Inc. Introduction to WAVE • What are the problems WAVE is addressing? • What are the WAVE solutions? • WAVE participating companies • WAVE work structure Supporting a fragmented OTT world • Fragmentation impacts content providers and device makers: • Multiple streaming formats (HLS, HDS, DASH, Smooth) • Multiple device types from laptops to phones to gaming consoles • Inconsistent device performance capabilities • Inconsistent device compliance to industry specifications • The result: • Content providers: Increased cost to prepare, store and support OTT • Device makers: Increased test and support costs for devices Commercial OTT Video Issues: WAVE Solution Device Playback Device HTML5 Reference Content Capabilities Platform Content Specification Testable requirements Reference application • Based on MPEG Common • covering most common framework Media Application Format playback interoperability • Based on HTML5 (CMAF) issues. • Provides functional • Compatible with DASH and guidelines for playback HLS. -
Specification for Devices 2020
Certify Devices Specification for Devices 2020 Version: 4.20-r1 Date: 2019-12-19 Specification for Devices 2020, v4.20 © Vewd Software AS 2020. All rights reserved. _____________________________________________________________________________________ CONTENTS 1. REVISION HISTORY 2. INTRODUCTION 2.1. Scope 2.2. Versions for requirements and software 2.2.1. Backward compatibility 2.3. Definitions 2.4. Compliance terminology used in this document 2.4.1. REQUIRED and CONDITIONALLY REQUIRED features 2.4.1.1. DRM 2.4.1.2. Codecs and media formats 2.4.1.3. Keys on the remote control 2.4.1.4. Resolution 3. TECHNICAL REQUIREMENTS 3.1. HTML5 <video> and <audio> 3.1.1. Media element 3.1.1.1. Requirements for video and audio media elements 3.1.1.2. Requirements for video media elements 3.1.1.3. Codec support 3.1.2. Track element 3.1.2.1. Requirements for all track elements 3.1.2.2. Requirements for text track elements 3.2. Media streaming 3.2.1. Transport protocols 3.2.2. Progressive download 3.2.3. Adaptive Bitrate streaming protocols 3.2.3.1. Apple HTTP Live Streaming (HLS) 3.2.3.1.1. Restrictions for HLS content 3.2.3.2. MPEG-DASH 3.2.3.2.1. Restrictions for MPEG-DASH content 3.2.3.3. Microsoft Smooth Streaming (MSSS) 3.2.3.3.1. Restrictions for Smooth Streaming content 3.3. Media Source Extensions (MSE) 3.4. Subtitles and Closed Captioning 3.5. DRM 3.5.1. Content Decryption Modules (CDMs) 3.5.1.1. ClearKey 3.5.1.2. -
Media Source Extensions
static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Media Source Extensions /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", on WebKit using GStreamer 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Enrique Ocaña González [email protected] Motivation for MSE ● HTML5 video tag: <video src=ºmovie.mp4º type=ºvideo/mp4º /> ● Improvement: Blob URI ● Adaptive streaming and time shift limitations ● Solution: Media Source Extensions (MSE) https://w3c.github.io/media-source/ ● JavaScript can generate and feed video data ● More control on the player state How to use MSE SourceBuffer ● Append API for JavaScript: Data... ● HTMLMediaElement, Blob SourceBuffer ● MediaSource, SourceBuffer MediaSource ● Blob URL {Audio,Video,Text}Track HTMLMediaElement <audio> <video> <video id="video"></video> MediaPlayer <script> var video = document.getElementById(©video©); var ms = new MediaSource(); ms.addEventListener(©sourceopen©, function() { var videoSb = ms.addSourceBuffer(©video/mp4; codecs="avc1.640028"©); var audioSb = ms.addSourceBuffer(©audio/mp4; codecs="mp4a.40.2"©); videoSb.appendData(...); audioSb.appendData(...); }); var blobUrl = URL.createObjectURL(ms); video.src = blobUrl; </script> Design PlatformTimeRanges m_mediaSource m_mediaElement MediaSource SourceBuffer PrivateClient PrivateClient MediaPlayer m_client MediaPlayerClient -
Web Application Security Standards
WEB APPLICATION SECURITY STANDARDS It is much more secure to be feared than to be loved. www.ideas2it.com Security Headers ● Content-Security-Policy ○ Reduce XSS risks on modern browsers ● X-Content-Type-Options ○ Prevent browsers from trying to guess (“sniff”) the MIME type ● X-XSS-Protection ○ Stops pages from loading when they detect reflected cross-site scripting (XSS) ● X-Frame-Options ○ Prevent the site from clickjacking attacks www.ideas2it.com Security Headers ● Strict-Transport-Security ○ Lets a website tell browsers that it should only be accessed using HTTPS ● Referrer-Policy ○ Controls how much referrer information (sent via the Referer header) should be included with requests. ● Feature-policy ○ Provides a mechanism to allow and deny the use of browser features. www.ideas2it.com Request : digicontent.com/assets/css/styles.css Request : digicontent.com/assets/js/filter.js Request : malicious.com/assets/js/xss.js Content-Security-Policy: default-src digicontent.com Content Security Policy Browser Asset Sniff asset to determine MIME type Based on content MIME type = HTML MIME Sniffing HSTS enabled Client origin server Request : http://digicontent.com Response : https://digicontent.com HTTP Strict Transport Security Cross Site Scripting - XSS ● Stealing other user’s cookies ● Stealing their private information ● Performing actions on behalf of other users ● Redirecting to other websites ● Showing ads in hidden IFRAMES and pop-ups www.ideas2it.com Cross Site Scripting (XSS) Secure cache control settings ● Max-age ● No-cache ● No-store ● Public ● Private ● Must-Revalidate ● Proxy-Revalidate www.ideas2it.com Request : digicontent.com/styles.css digicontent.com/styles.css Cache-Control : max-age = 3600 3600s Receive styles.css Store styles.css Browser Cache Cache-Control www.ideas2it.com Cookie attributes ● HTTP-ONLY ● SECURE ● Domain ● SameSite (Strict/Lax/None) ● Path www.ideas2it.com Cookie : Same Site Vulnerable TLS SSL vs. -
Web Application Report
Web Application Report This report includes important security information about your web application. Security Report This report was created by IBM Security AppScan Standard 9.0.3.13, Rules: 18533 Scan started: 6/2/2020 10:39:20 AM Table of Contents Introduction General Information Login Settings Summary Issue Types Vulnerable URLs Fix Recommendations Security Risks Causes WASC Threat Classification Issues Sorted by Issue Type Cross-Site Scripting 28 Link to Non-Existing Domain Found 2 SQL Injection File Write (requires user verification) 1 Check for SRI (Subresource Integrity) support 1 Credit Card Number Pattern Found (Visa) Over Unencrypted Connection 1 Google Sitemap File Detected 1 Hidden Directory Detected 6 Missing or insecure "Content-Security-Policy" header 5 Unsafe third-party link (target="_blank") 22 Fix Recommendations Remove the non-existing domain from the web site Review possible solutions for hazardous character injection Add the attribute rel = "noopener noreferrer" to each link element with target="_blank" 6/3/2020 1 Add to each third-party script/link element support to SRI(Subresource Integrity). Config your server to use the "Content-Security-Policy" header with secure policies Issue a "404 - Not Found" response status code for a forbidden resource, or remove it completely Remove credit card numbers from your website Validate that your Google Sitemap file only contains URLs that should be publicly available and indexed Advisories Cross-Site Scripting Link to Non-Existing Domain Found SQL Injection File Write (requires user verification) Check for SRI (Subresource Integrity) support Credit Card Number Pattern Found (Visa) Over Unencrypted Connection Google Sitemap File Detected Hidden Directory Detected Missing or insecure "Content-Security-Policy" header TargetBlankLink Application Data Cookies JavaScripts Parameters Comments Visited URLs Failed Requests Filtered URLs 6/3/2020 2 Introduction This report contains the results of a web application security scan performed by IBM Security AppScan Standard. -
Mobile Platforms and Middleware Sasu Tarkoma
Mobile Middleware Course Mobile Platforms and Middleware Sasu Tarkoma Push Services iOS APNS Source: http://www.raywenderlich.com/3443/apple- push-notification-services-tutorial-for-ios-part-12/ push-overview Apple Push Notification Service ■ APNS usage involves the following steps: ◆ Service or application developer connects to the APNS system using a unique SSL certificate. The certificate is obtained from Apple with the developer identifier and application identifier. ◆ Applications obtain deviceTokens that are then given to services ◆ The APNS is used to send one or more messages to mobile devices. The push operation is application and device specific and a unique deviceToken is needed for each destination device. ◆ The service or application disconnects from APNS. Android: Google Cloud Messaging Source: http://blogs.msdn.com/b/hanuk/archive/2013/04/18/introducing-windows-8-for-android-developers-part-2.aspx Windows 8 Push Messaging Source: http://blogs.msdn.com/b/hanuk/archive/2013/04/18/introducing-windows-8-for-android-developers-part-2.aspx Summary of Push Services ■ Very similar in design for Android, iOS and WP 1. Client-initiated connection with push servers: TCP and TLS, fallback to HTTP/HTTPS 2. Registration phase to obtain URI and token rd 3. Delegation of URI and token to 3 party services rd 4. 3 party servers push content to mobiles through push servers (URI and token needed) Discussion ■ The current state is fragmented ■ Difficult to achieve portability ■ Certain patterns are pervasive (MVC and others) ■ Solutions? Web -
SECURE PROGRAMMING TECHNIQUES Web Application Security
SECURE PROGRAMMING TECHNIQUES Web application security • SQL injection • Parameterized statements • Other injections • Cross-site scripting • Persistent and reflected XSS • AJAX and cross-domains access • Javascript • Cross-Site Request Forgery • Clickjacking • OAuth 2 and OpenID Connect • PHP security MEELIS ROOS 1 SECURE PROGRAMMING TECHNIQUES SQL injection • A SQL injection attack consists of insertion or "injection" of a SQL query via the input data from the client to the application • A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shut down the DBMS), recover the content of a given file present on the DBMS file system and in some cases issue commands to the operating system • Blind SQL injection — when you don’t get to see the query output – But you can see whether error messages appear or not, or how long the query takes MEELIS ROOS 2 SECURE PROGRAMMING TECHNIQUES Fixing SQL injection • Input filtering — only harmless input parameters allowed • Input escaping — dangerous characters are allowed but escaped • Explicit type conversions in SQL — int() etc • Parameterized statements with type-aware parameter substitution – Parameters are sent as metadata (in a structured way, not inline) – Also allows for performance gains with most databases • Stored procedures — fixes SQL query structure, parameters still might need validation MEELIS ROOS 3 SECURE PROGRAMMING TECHNIQUES Parameterized statements • Java with