Guidelines on Active Content and Mobile Code

Total Page:16

File Type:pdf, Size:1020Kb

Guidelines on Active Content and Mobile Code Special Publication 800-28 Version 2 (Draft) Guidelines on Active Content and Mobile Code Recommendations of the National Institute of Standards and Technology Wayne A. Jansen Theodore Winograd Karen Scarfone NIST Special Publication 800-28 Guidelines on Active Content and Mobile Version 2 Code (Draft) Recommendations of the National Institute of Standards and Technology Wayne A. Jansen Theodore Winograd Karen Scarfone C O M P U T E R S E C U R I T Y Computer Security Division Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930 March 2008 U.S. Department of Commerce Carlos M. Gutierrez, Secretary National Institute of Standards and Technology James M. Turner, Acting Director GUIDELINES ON ACTIVE CONTENT AND MOBILE CODE Reports on Computer Systems Technology The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of technical, physical, administrative, and management standards and guidelines for the cost-effective security and privacy of sensitive unclassified information in Federal computer systems. This Special Publication 800-series reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative activities with industry, government, and academic organizations. National Institute of Standards and Technology Special Publication 800-28 Version 2 Natl. Inst. Stand. Technol. Spec. Publ. 800-28v2, 62 pages (Mar. 2008) Certain commercial entities, equipment, or materials may be identified in this document in order to describe an experimental procedure or concept adequately. Such identification is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that the entities, materials, or equipment are necessa rily the best available for the purpose. ii GUIDELINES ON ACTIVE CONTENT AND MOBILE CODE Acknowledgements The authors, Wayne A. Jansen and Karen Scarfone of the National Institute of Standards and Technology (NIST) and Theodore Winograd of Booz Allen Hamilton, wish to thank their colleagues who reviewed drafts of this document and contributed to its technical content, particularly Tim Grance and Anoop Singhal of NIST, Edward Tracy of Booz Allen Hamilton, and Kurt Dillard. iii GUIDELINES ON ACTIVE CONTENT AND MOBILE CODE Table of Contents Executive Summary..............................................................................................................ES-1 1. Introduction ......................................................................................................................1-1 1.1 Authority...................................................................................................................1-1 1.2 Purpose and Scope .................................................................................................1-1 1.3 Audience ..................................................................................................................1-1 1.4 Document Structure .................................................................................................1-2 2. Background ......................................................................................................................2-1 2.1 Browser Anatomy.....................................................................................................2-3 2.2 Server Anatomy .......................................................................................................2-6 3. Threats ..............................................................................................................................3-1 3.1 Threat Sources ........................................................................................................3-1 3.2 Basic Threat Model ..................................................................................................3-4 3.3 Categories of Threats ..............................................................................................3-6 3.4 Threat Summary ......................................................................................................3-8 4. Technology Related Risks ..............................................................................................4-1 4.1 Client-Side Technologies .........................................................................................4-2 4.2 Server-Side Technologies........................................................................................4-8 4.3 Risk Summary........................................................................................................4-11 5. Safeguards........................................................................................................................5-1 5.1 Management and Operational Safeguards ..............................................................5-1 5.2 Technical Safeguards ..............................................................................................5-7 5.3 Safeguard Summary ..............................................................................................5-12 6. Summary...........................................................................................................................6-1 7. References........................................................................................................................7-1 List of Appendices Appendix A— HTTP Request Methods ................................................................................. A-1 Appendix B— HTTP Response Status.................................................................................. B-1 Appendix C— Glossary .......................................................................................................... C-1 Appendix D— Acronyms and Abbreviations ....................................................................... D-1 iv GUIDELINES ON ACTIVE CONTENT AND MOBILE CODE List of Figures Figure 2-1. Basic Components of a Generic Browser...............................................................2-5 Figure 2-2. Basic Components of a Generic Web Server.........................................................2-7 Figure 3-1. Producer-Consumer Model ....................................................................................3-4 Figure 3-2. Simplified HTTP Transaction..................................................................................3-5 Figure 3-3. Entities Involved in HTTP Transaction Processing.................................................3-5 Figure 5-1. Filtering Incoming Active Content...........................................................................5-8 Figure 5-2. Constraining Active Content Behavior with a Software Cage.................................5-9 Figure 5-3. Verifying Active Content Digital Signatures ..........................................................5-10 Figure 5-4. Verifying Proofs of Active Content Properties ......................................................5-11 List of Tables Table A-1. Summary of Available Browser Request Methods ................................................. A-1 Table B-1. Categories of Server Response Code.................................................................... B-1 v GUIDELINES ON ACTIVE CONTENT AND MOBILE CODE Executive Summary The private and public sectors depend heavily upon information technology (IT) systems to perform essential, mission-critical functions. As existing technology evolves and new technologies are introduced to provide improved capabilities and advanced features in systems, new technology-related vulnerabilities often arise. Organizations implementing and using advanced technologies must be increasingly on guard. One such category of technologies is active content. Broadly speaking, active content refers to electronic documents that can carry out or trigger actions automatically without an individual directly or knowingly invoking the actions. Exploits based on vulnerabilities in active content technologies can be insidious. The following key guidelines are recommended to organizations for dealing with active content. Organizations should understand the concept of active content and how it affects the security of their systems. The use of products with capabilities for producing and handling active content contributes to the functionality of a system as a whole and thus is an important factor in IT procurement and implementation decisions. Active content technologies allow code, in the form of a script, macro, or other kind of portable instruction representation, to execute when the document is rendered. Like any technology, active content can be used to deliver essential services, but it can also become a source of vulnerability for exploitation by an attacker. Examples of active content are Portable Document Format (PDF) documents, Web pages containing Java applets, JavaScript instructions, or ActiveX controls, word processor files containing macros, Flash and Shockwave media files, spreadsheet formulas, and other interpretable content. Active content may also be distributed embedded in email or as executable mail
Recommended publications
  • Active Server Pages (ASP)
    Active Server Pages (ASP) Outline 11.1 Introduction 11.2 How Active Server Pages Work 11.3 Client-side Scripting versus Server-side Scripting 11.4 Using Personal Web Server or Internet Information Server 11.5 A Simple ASP Example 11.6 Server-side ActiveX Components 11.7 File System Objects 11.8 Session Tracking and Cookies 11.9 Accessing a Database from an Active Server Page 11.10 Case Study: A Product Catalog 11.1 Introduction • Active Server Pages (ASP) – Processed in response to client request – ASP file contains HTML and scripting code – VBScript de facto language for ASP scripting • Other languages can be used – JavaScript – .asp file extension – Microsoft-developed technology – Send dynamic Web content • HTML • DHTML • ActiveX controls • Client-side scripts • Java applets 11.2 How Active Server Pages Work • Client sends request – Server receives request and directs it to ASP – ASP processes, then returns result to client • HTTP request types – Request methods • GET – Gets (retrieves) information from server – Retrieve HTML document or image • POST – Posts (sends) data to server – Send info from HTML form » Client-entered data » Info to search Internet » Query for a database » Authentication info 11.2 How Active Server Pages Work (II) • Browsers often cache Web pages – Cache: save on disk – Typically do not cache POST response • Next POST request may not return same result • Client requests ASP file – Parsed (top to bottom) by ActiveX component asp.dll • ActiveX component: server-side ActiveX control that usually does not have GUI
    [Show full text]
  • Chapter 11 Web-Based Information Systems
    Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 [email protected] Chapter 11 Web-based Information Systems TP Application Architecture client n Front-end program n interacts with (possibly wide range of) display devices front-end n gathers and validates input, displays output n constructs and forward request (e.g., as a RPC Front-end or asynchronous message) Program è provides device-independence for server n Request controller server n guides the request execution Request Controller n determines required steps, then executes them by invoking transaction servers Transaction Transaction Transaction n usually runs as part of an ACID transaction ... Server Server Server n Transaction server n process that runs application programs doing the actual work of the request DBMS n almost always runs within the scope of an Database Database ACID transaction System System n typically interacts with a DBMS n simple applications can be composed into more complex ones (using local proc. call, TRPC, asynch. messaging, …) DB DB n makes difference to req. controller fuzzy Middleware for Heterogeneous and 2 © Prof.Dr.-Ing. Stefan Deßloch Distributed Information Systems Front-end Program Functions n Gather input and display output (user interaction) n form and menu concepts n user selects a menu item to identify the type of transaction to be executed n front-end program display a (series of) form(s) for gathering input data n input data is validated by the front-end program n goal: avoid calling
    [Show full text]
  • Active Server Pages Architecture
    Active Server Pages Architecture Li Yi South Bank University Contents 1. Introduction ...................................................................................................................................... 2 1.1 Host-based databases ............................................................................................................... 2 1.2 Client/server databases ............................................................................................................ 2 1.3 Web databases........................................................................................................................... 3 2. Active Server Pages ........................................................................................................................ 5 2.1 ASP Components ...................................................................................................................... 6 2.2 ADO and Database................................................................................................................... 7 2.3 The steps of executing a query ............................................................................................. 11 3 ASP Attributes ................................................................................................................................ 12 References:.......................................................................................................................................... 13 1 1. Introduction The development of databases always comes
    [Show full text]
  • Implementing OGC Web Map Service Client Applications Using JSP, JSTL and XMLC
    Implementing OGC Web Map Service Client Applications Using JSP, JSTL and XMLC Hao Ding , Richard Pascoe & Neville Churcher Department of Computer Science University of Canterbury. Christchurch, New Zealand Phone: +64 3 364-2362 Fax: +64 3 364-2569 Email: [email protected] , {richard, neville}@cosc.canterbury.ac.nz Presented at SIRC 2002 – The 14th Annual Colloquium of the Spatial Information Research Centre University of Otago, Dunedin, New Zealand th December 3-5 2002 ABSTRACT Java technologies are widely used in web application development. In this paper are described three approaches to developing Java-based web applications and our experiences with applying each to the development of client that interact with servers implementing the OGC (Open GIS Consortium) Web Map Service (WMS) specification. Also described is the installation and configuration of open source software that implements the WMS specification. The paper is concluded with some preliminary insights into when one of the three approaches to WMS client implementation is more suited to another. Keywords and phrases: WMS, JSP, JSTL, XMLC, map layer, web map server 1.0 INTRODUCTION Of the many technologies, such as Common Gateway Interface (CGI), Active Server Pages (ASP), JavaServer Pages (JSP), that are used to develop web applications, three are of particular interest to the research presented here. These three technologies or approaches to developing clients that utilise web services are JavaServer Pages (JSP), JSP with the use of tags from the JSP Standard Tag Library (JSTL), and the eXtensible Markup Language Compiler (XMLC). JSP is a more convenient way to write Java servlets, and allows the insertion of Java code directly into static HTML (Hypertext Markup Language) pages.
    [Show full text]
  • Configure .NET Code-Access Security
    © 2002 Visual Studio Magazine Fawcette Technical Publications Issue VSM November 2002 Section Black Belt column Main file name VS0211BBt2.rtf Listing file name -- Sidebar file name -- Table file name VS0211BBtb1.rtf Screen capture file names VS0211BBfX.bmp Infographic/illustration file names VS0211BBf1,2.bmp Photos or book scans ISBN 0596003471 Special instructions for Art dept. Editor LT Status TE’d3 Spellchecked (set Language to English U.S.) * PM review Character count 15,093 + 1,162 online table Package length 3.5 (I think, due to no inline code/listings) ToC blurb Learn how to safely grant assemblies permissions to perform operations with external entities such as the file system, registry, UIs, and more. ONLINE SLUGS Name of Magazine VSM November 2002 Name of feature/column/department Black Belt column 180-character blurb Learn how to safely grant assemblies permissions to perform operations with external entities such as the file system, registry, UIs, and more. 90-character blurb Learn how to safely grant assemblies permissions to perform operations with external entities. 90-character blurb describing download NA Locator+ code for article VS0211BB_T Photo (for columnists) location On file TITLE TAG & METATAGS <title> Visual Studio Magazine – Black Belt - Secure Access to Your .NET Code Configure .NET Code-Access Security </title> <!-- Start META Tags --> <meta name="Category" content=" .NET "> <meta name="Subcategory" content=" C#, Visual Basic .NET "> <meta name="Keywords" content=" .NET, C#, Visual Basic .NET, security permission, security evidence, security policy, permission sets, evidence, security, security permission stack walk, custom permission set, code group "> [[ Please check these and add/subtract as you see fit .]] <meta name="DESCRIPTION" content=" Learn how to grant assemblies permissions to perform operations with external entities such as the file system, registry, UIs, and more.
    [Show full text]
  • NET Framework
    Advanced Windows Programming .NET Framework based on: A. Troelsen, Pro C# 2005 and .NET 2.0 Platform, 3rd Ed., 2005, Apress J. Richter, Applied .NET Frameworks Programming, 2002, MS Press D. Watkins et al., Programming in the .NET Environment, 2002, Addison Wesley T. Thai, H. Lam, .NET Framework Essentials, 2001, O’Reilly D. Beyer, C# COM+ Programming, M&T Books, 2001, chapter 1 Krzysztof Mossakowski Faculty of Mathematics and Information Science http://www.mini.pw.edu.pl/~mossakow Advanced Windows Programming .NET Framework - 2 Contents The most important features of .NET Assemblies Metadata Common Type System Common Intermediate Language Common Language Runtime Deploying .NET Runtime Garbage Collection Serialization Krzysztof Mossakowski Faculty of Mathematics and Information Science http://www.mini.pw.edu.pl/~mossakow Advanced Windows Programming .NET Framework - 3 .NET Benefits In comparison with previous Microsoft’s technologies: Consistent programming model – common OO programming model Simplified programming model – no error codes, GUIDs, IUnknown, etc. Run once, run always – no "DLL hell" Simplified deployment – easy to use installation projects Wide platform reach Programming language integration Simplified code reuse Automatic memory management (garbage collection) Type-safe verification Rich debugging support – CLR debugging, language independent Consistent method failure paradigm – exceptions Security – code access security Interoperability – using existing COM components, calling Win32 functions Krzysztof
    [Show full text]
  • Tool Support for Computer Role-Playing Game Programming: Foundations, Guidelines and Applications
    Tampereen teknillinen yliopisto. Julkaisu 1237 Tampere University of Technology. Publication 1237 Juha-Matti Vanhatupa Tool Support for Computer Role-Playing Game Programming: Foundations, Guidelines and Applications Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB222, at Tampere University of Technology, on the 17th of October 2014, at 12 noon. Tampereen teknillinen yliopisto - Tampere University of Technology Tampere 2014 ISBN 978-952-15-3341-9 (printed) ISBN 978-952-15-3393-8 (PDF) ISSN 1459-2045 Abstract Computer role-playing games (CRPGs) are a genre of computer games, which aim at providing similar player experience than their ancestors, paper-and- pen role-playing games. For a type of digital games, their evolution is already rather long, as the first ones were created in 1980s. Typically CRPGs em- phasize character development and to support this huge fantasy worlds and sophisticated storylines are also present. CRPG development has unique challenges, which derive from these typical features. Content creation is a continuous issue, since huge virtual worlds and long storylines must be filled with content. Personalization is also an important issue, because all fun of creating personalized character is lost if it has no effect into the game. Low starting threshold is important for successful game. It is becoming essential that the player can start playing quickly and she is not required to spent time waiting the installation to be completed. This can be achieved by web-based approach, since web-based games do not require installations.
    [Show full text]
  • Features Enabled on Your Windows Host During Installation Snapcenter Software Soumik Das, Archana August 08, 2021
    Features enabled on your Windows host during installation SnapCenter Software Soumik Das, Archana August 08, 2021 This PDF was generated from https://docs.netapp.com/us- en/snapcenter/install/reference_features_enabled_on_your_windows_host_during_installation.html on September 16, 2021. Always check docs.netapp.com for the latest. Table of Contents Features enabled on your Windows host during installation . 1 Features enabled on your Windows host during installation The SnapCenter Server installer enables the Windows features and roles on your Windows host during installation. These might be of interest for troubleshooting and host system maintenance purposes. 1 Category Feature Web Server • Internet Information Services • World Wide Web Services • Common HTTP Features ◦ Default Document ◦ Directory Browsing ◦ HTTP Errors ◦ HTTP Redirection ◦ Static Content ◦ WebDAV Publishing • Health and Diagnostics ◦ Custom Logging ◦ HTTP Logging ◦ Logging Tools ◦ Request Monitor ◦ Tracing • Performance Features ◦ Static Content Compression • Security ◦ IP Security ◦ Basic Authentication ◦ Centralized SSL Certificate Support ◦ Client Certificate Mapping Authentication ◦ IIS Client Certificate Mapping Authentication ◦ IP and Domain Restrictions ◦ Request Filtering ◦ URL Authorization ◦ Windows Authentication • Application Development Features ◦ .NET Extensibility 4.5 ◦ Application Initialization ◦ ASP.NET 4.5 ◦ Server-Side Includes ◦ WebSocket Protocol • Management Tools ◦ IIS Management Console 2 Category Feature IIS Management Scripts and Tools • IIS Management Service • Web Management Tools .NET Framework 4.5.2 Features • .NET Framework 4.5.2 • ASP.NET 4.5.2 • Windows Communication Foundation (WCF) HTTP Activation45 ◦ TCP Activation ◦ HTTP Activation ◦ Message Queuing (MSMQ) activation Message Queuing • Message Queuing Services Ensure that no other applications uses the MSMQ service that SnapCenter creates and manages. • MSMQ Server Windows Process Activation Service • Process Model Configuration APIs All 3 Copyright Information Copyright © 2021 NetApp, Inc.
    [Show full text]
  • Lecture 28 Scripting Language Used to Create Dynamic Web Pages (Like Perl Open Source)
    PHP A server-side, cross-platform, HTML-embedded Lecture 28 scripting language used to create dynamic Web pages (like Perl open source). We can write PHP code directly into HTML and don’t PHP need to worry about CGI (like Java Server Pages). April 6, 2005 Looks like Perl and knowledge of one can help you understand the other. Web server needs to be configured to parse files with certain extensions (e.g. php or phtml) appropriately. PHP Serve-side Scripting Server-side scripting SSI: Server-side includes: Most CGI tools: very old scripting language write page headers, define layout, etc. mostly provides #include few really dynamic parts, most static PHP: have to write many static print statements complete language Let’s design pages by writing static HTML documents free with pieces of code inside: integrates nicely into Apache, IIS, other servers code is executed at request time pages can take parameters ASP: Active Server Pages Scripting languages come with libraries providing Microsoft version of PHP functions specially designed for Web programming: language is essentially Basic e.g.: URL/parameters manipulations, database gateways, ... JSP: Java Server Pages Java version PHP PHP Most popular third-party module for Apache: <html> code and extensive documentation available from <head><title>PHP Test</title></head> http://www.php.net/ <body><? print(“Hello World!”); ?></body> </html> Pieces of code are enclosed into <?...?> tags Example: <html> <html> <head><title>PHP Test</title></head> <head><title>PHP Test</title></head> <body>Hello World!</body> <body><? print(“Hello World!”); ?></body> </html> </html> 1 Parameter Decoding Parameter Decoding Each PHP script can be invoked as a CGI.
    [Show full text]
  • Developing an E-Commerce System Using Active Server Pages
    Developing an E-Commerce System Using Active Server Pages Robert W. Ingram Ross-Culverhouse Chair Culverhouse School of Accountancy University of Alabama Box 870220 Tuscaloosa, AL 35487 (205) 348-2907 [email protected] Dale L. Lunsford Assistant Professor Culverhouse School of Accountancy University of Alabama Box 870220 Tuscaloosa, AL 35487 (205) 348-5780 [email protected] August 2002 Developing an E-Commerce System Using Active Server Pages Abstract: This paper describes a case to illustrate analysis, design, and implementation issues involving a multi-tier e-commerce system. The case is designed for use in advanced accounting systems or systems analysis and design courses. The case involves analysis of a sales order system that will be implemented using a web interface and relational database, conceptual design of the system, and implementation of the system. A variety of tasks are involved in the case, but an instructor can select the tasks of relevance in a particular course. Key Words: E-commerce, systems analysis and design, systems development, security. Data Availability: All data and programs described are available from the authors. 1 Developing an E-Commerce System Using Active Server Pages I. Introduction Web-based applications are an important means of accessing business information. E-commerce represents an increasingly important part of the economy and is an obvious source of demand for web-based systems. In addition, companies may use the Internet for internal communications because of the ability of employees to access data from locations throughout the world. Companies like Oracle and SAP are increasingly focusing on the Web as a means of deploying their software products.
    [Show full text]
  • INTRODUCTION to .NET FRAMEWORK NET Framework .NET Framework Is a Complete Environment That Allows Developers to Develop, Run, An
    INTRODUCTION TO .NET FRAMEWORK NET Framework .NET Framework is a complete environment that allows developers to develop, run, and deploy the following applications: Console applications Windows Forms applications Windows Presentation Foundation (WPF) applications Web applications (ASP.NET applications) Web services Windows services Service-oriented applications using Windows Communication Foundation (WCF) Workflow-enabled applications using Windows Workflow Foundation (WF) .NET Framework also enables a developer to create sharable components to be used in distributed computing architecture. NET Framework supports the object-oriented programming model for multiple languages, such as Visual Basic, Visual C#, and Visual C++. NET Framework supports multiple programming languages in a manner that allows language interoperability. This implies that each language can use the code written in some other language. The main components of .NET Framework? The following are the key components of .NET Framework: .NET Framework Class Library Common Language Runtime Dynamic Language Runtimes (DLR) Application Domains Runtime Host Common Type System Metadata and Self-Describing Components Cross-Language Interoperability .NET Framework Security Profiling Side-by-Side Execution Microsoft Intermediate Language (MSIL) The .NET Framework is shipped with compilers of all .NET programming languages to develop programs. Each .NET compiler produces an intermediate code after compiling the source code. 1 The intermediate code is common for all languages and is understandable only to .NET environment. This intermediate code is known as MSIL. IL Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language). All .NET source code is compiled to IL. IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.
    [Show full text]
  • Cloud On-Premise Installation: IIS Settings Prerequisites
    Portal > Knowledgebase > Cloud > Cloud On-Premise installation: IIS Settings Prerequisites Cloud On-Premise installation: IIS Settings Prerequisites Scott Kircher - 2020-02-10 - in Cloud Certain settings should be configured in Internet Information Services (IIS) before installing the On-Premise version of AssetCloud or InventoryCloud. 1. This section is for Windows 10. Windows Server users, skip to Step 2. Enable the following features: Open the Programs and Features control panel, then click Windows Features at the left. You can enable most other features with no negative impact. Exception: DO NOT enable WebDAV Publishing. Screenshots are below. .NET Framework 3.5.x (expand and check all boxes) .NET Framework 4.6.2 (or higher) (expand and check all boxes) Internet Information Services, Web Management Tools, IIS Management Console Internet Information Services, World Wide Web Services, Application Development, .NET Extensibility 3.5.x Internet Information Services, World Wide Web Services, Application Development, .NET Extensibility 4.6.2 (or higher) Internet Information Services, World Wide Web Services, Application Development, ASP Internet Information Services, World Wide Web Services, Application Development, ASP.NET 3.5.x Internet Information Services, World Wide Web Services, Application Development, ASP.NET 4.6.2 (or higher) Internet Information Services, World Wide Web Services, Application Development, ISAPI Extensions Internet Information Services, World Wide Web Services, Application Development, ISAPI Filters Internet Information
    [Show full text]