From 69b3dcd0a5335c6a34d3a7c247b6b29fc8bc881c Mon Sep 17 00:00:00 2001 From: Doug Chivers Date: Fri, 4 Sep 2015 20:41:44 -0700 Subject: [PATCH] Adding documentation for security threat analysis Change-Id: I77353def7997ab60164c97f44eaf6ada06231f52 --- .gitignore | 1 + .../source/architecture-diagram-guidance.rst | 191 +++++++++++++ security-threat-analysis/source/conf.py | 258 ++++++++++++++++++ .../Example_Generated-sequence-diagram.png | Bin 0 -> 78601 bytes .../figures/Template_Architecture-diagram.png | Bin 0 -> 84994 bytes .../source/figures/Template_DFD.png | Bin 0 -> 20425 bytes .../figures/Template_Sequence-diagram.png | Bin 0 -> 20659 bytes .../source/figures/arch_diagram.diag | 73 +++++ .../source/figures/arch_diagram.xml | 1 + .../source/figures/library_example.png | Bin 0 -> 26890 bytes security-threat-analysis/source/index.rst | 27 ++ .../source/objectives.rst | 16 ++ .../source/templates/architecture-page.rst | 215 +++++++++++++++ .../source/threat-analysis-process.rst | 122 +++++++++ security-threat-analysis/source/todo.rst | 16 ++ .../templates/architecture-page.rst | 115 ++++++++ 16 files changed, 1035 insertions(+) create mode 100644 security-threat-analysis/source/architecture-diagram-guidance.rst create mode 100644 security-threat-analysis/source/conf.py create mode 100644 security-threat-analysis/source/figures/Example_Generated-sequence-diagram.png create mode 100644 security-threat-analysis/source/figures/Template_Architecture-diagram.png create mode 100644 security-threat-analysis/source/figures/Template_DFD.png create mode 100644 security-threat-analysis/source/figures/Template_Sequence-diagram.png create mode 100644 security-threat-analysis/source/figures/arch_diagram.diag create mode 100644 security-threat-analysis/source/figures/arch_diagram.xml create mode 100644 security-threat-analysis/source/figures/library_example.png create mode 100644 security-threat-analysis/source/index.rst create mode 100644 security-threat-analysis/source/objectives.rst create mode 100644 security-threat-analysis/source/templates/architecture-page.rst create mode 100644 security-threat-analysis/source/threat-analysis-process.rst create mode 100644 security-threat-analysis/source/todo.rst create mode 100644 security-threat-analysis/templates/architecture-page.rst diff --git a/.gitignore b/.gitignore index 2b6f47dd..6e3aae0d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ # Build directories publish-docs/ security-guide/build +security-threat-analysis/build # Transifex Client Setting .tx diff --git a/security-threat-analysis/source/architecture-diagram-guidance.rst b/security-threat-analysis/source/architecture-diagram-guidance.rst new file mode 100644 index 00000000..ac56dd68 --- /dev/null +++ b/security-threat-analysis/source/architecture-diagram-guidance.rst @@ -0,0 +1,191 @@ +============================= +Architecture diagram guidance +============================= + +Types of diagrams required +-------------------------- + +This page provides guidance on architecture diagrams for threat +analysis, a template for architecture documentation is available at . + +Two types of diagrams are required for threat analysis: + +- A service architecture diagram +- One or more information flow diagrams (either data flow diagrams, + sequence diagrams, or both) + +Examples of each of these are given below. There are no firm diagramming +toolchain requirements, but the tool used must be able to draw the diagrams +discussed. It is generally preferable to use a text-based diagram +generator so diagrams can be managed with gerrit. Some options for tools +include: + +- draw.io (proprietary XML files, but very easy to use) +- Google drawing (no XML/text output, but can be used collaboratively) +- blockdiag (non-WYSIWYG with a steeper learning curve, suitable for very + simple diagrams) + +When drawing architecture diagrams, it may be beneficial to draw the diagram on +paper or a whiteboard before attempting to draw it with a diagramming tool. + +When you have completed the diagram, export both a text version (if available) +and a Portable Network Graphic (.png) file to be committed to the repository +with the architecture page. + +Service architecture diagram requirements +----------------------------------------- + +Service Architecture diagrams contain these elements: + +- Components + + - A rectangle containing a unique name is used to depict each + component + - Components may be servers, clusters, or individual + processes + + - Standard component shapes should be used to illustrate component + types + + - A vertical cylinder indicates storage or a database + - A horizontal cylinder (a “pipe” shape) indicates a message + queue (use an elongated rectangle if horizontal cylinders are + unavailable) + + - A dashed rectangle indicates a future component + - Multi-instances of a component should be indicated by a quantity after + the component name, for example (100), and if possible layered component + boxes + - Component shapes don’t need to be all the same size. Some component + shapes may be shrunk to allow application layers to be easily recognized, + without creating a maze of crossed interface lines + - User access over the internet can be indicated by a cloud-shaped + component, but where multiple connections or external parties are + connected via the internet, a separate internet trust domain should be + shown + +- Interfaces + + - An arrow connecting two components is used to depict an interface + - Each interface has a unique number and name; listing the network + protocol (in parenthesis) is strongly recommended + - Direction of interface arrow is from the component initiating the + connection; the arrowhead points to the listening/receiving component + - A future interface is indicated as a dashed arrow + +- Trust domains + + - Boundaries between trust domains must be shown + - Trust boundaries based on networks are indicated as a dashed line + (preferably with rounded corners), with the Network name listed at the + upper or lower boundary + - Trust boundaries based on groups of components (such as server pairs, + clusters, processes, or collections of related components) are indicated + by a dotted box + - When a third party network boundary is used to illustrate a trust domain, + use that third party's name as the network boundary label + + +Service architecture diagram template +------------------------------------- + +This template illustrates the elements of a service architecture diagram. + +.. image:: figures/Template_Architecture-diagram.png + + +Information flow diagram requirements +------------------------------------- + +Information flow diagrams depict the flow of data between entities to +illustrate the steps in a process or procedure. Often, multiple diagrams +are created to illustrate individual use cases. + +Each information flow diagram must be in the form of either a data flow +diagram (DFD) or a sequence diagram. The architect may select either +type of diagram (or both) for illustrating information flows within the +service. + +Information flow diagrams contain the following elements: + +- Entities + + - An entity may be a single process, multiple processes within a trust + domain, a data store, or an external entity. + - Each entity has a unique name which should match a name on the + architecture diagram + - The number of entities on a flow diagram often matches the number of + components on a service architecture diagram. + +- Data flows + + - Arrows indicate data flows between entities; the direction of the + arrow indicates the direction of data movement + - Any pair of entities may have multiple sets of arrows to + illustrate a multi-step exchange of data between the entities + - Typically every interface on a service architecture diagram has + one or more corresponding data flows on a flow diagram + +- Trust boundaries + + - Groups of entities with the same level of privilege form a trust + domain, the boundaries of which are indicated by a dashed line in + DFDs and by a shallow rectangle on sequence diagrams + +- Optional supplementary information + + - Textual notes on the diagram can provide clarification on data + types sent and received, changes in privilege, or steps forming a + use case + + +Data flow diagram template +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This template illustrates the elements of a data flow diagram. + +.. image:: figures/Template_DFD.png + + +Sequence diagram template +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following template illustrates the elements of a sequence diagram. + +.. image:: figures/Template_Sequence-diagram.png + +Sequence diagrams can be quickly and easily generated from text using +http://WebSequenceDiagrams.com . Enter a specification using a simple scripting +language, as follows. Be sure to include authentication steps in your diagram. + +title Issue Certificate + +Admin->GUI: 1. Login + +GUI->Controller: 2. List(pending) + +Controller->DB: 3. Fetch DB + +DB->Controller: 4. Cert DB + +Controller->Controller: 5. Filter(pending) + +Controller->GUI: 6. Show pending certs + +Admin->GUI: 7. Issue(ID) + +GUI->Controller: 8. Issue(ID) + +Controller->Controller: 9. Get CSR(ID) + +Controller->CA: 9. Sign(CSR) + +CA->Controller: 10. Cert + +Controller->DB: 11. Update DB (ID, Issued, Cert) + +Controller->User: 12. Email Notification + +The tool creates a sequence diagram as follows: + +.. image:: figures/Example_Generated-sequence-diagram.png diff --git a/security-threat-analysis/source/conf.py b/security-threat-analysis/source/conf.py new file mode 100644 index 00000000..86417f45 --- /dev/null +++ b/security-threat-analysis/source/conf.py @@ -0,0 +1,258 @@ +# -*- coding: utf-8 -*- +# +# Anchor documentation build configuration file, created by +# sphinx-quickstart on Wed Jul 29 15:52:08 2015. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Anchor' +copyright = u'2015' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = 'dev' +# The full version, including alpha/beta/rc tags. +release = 'dev' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +#html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +#html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Anchordoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'Anchor.tex', u'Anchor Documentation', + u'see git log', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'anchor', u'Anchor Documentation', + [u'see git log'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'Anchor', u'Anchor Documentation', + u'see git log', 'Anchor', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False diff --git a/security-threat-analysis/source/figures/Example_Generated-sequence-diagram.png b/security-threat-analysis/source/figures/Example_Generated-sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2618682d4dc8225e1f9a8d8bbcb004a2e926a0ec GIT binary patch literal 78601 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 YaOPOW?|oB<#1Ji*V`iK%Ywe!@1J(^azW@LL literal 0 HcmV?d00001 diff --git a/security-threat-analysis/source/figures/Template_Architecture-diagram.png b/security-threat-analysis/source/figures/Template_Architecture-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..de96dc282746a4d7962f1d7009d5a012cc473176 GIT binary patch literal 84994 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νjcO97*mWu!S>(#QCwk$676Q8{E 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 S-Vh4#Pf=FwMU}L9@c#jpz1AE6 literal 0 HcmV?d00001 diff --git a/security-threat-analysis/source/figures/Template_DFD.png b/security-threat-analysis/source/figures/Template_DFD.png new file mode 100644 index 0000000000000000000000000000000000000000..d79a7897def9d6b50d0955f6b81d8a0b84d2178f GIT binary patch literal 20425 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 MPE|Hv+9crr0(9ZZ%>V!Z literal 0 HcmV?d00001 diff --git a/security-threat-analysis/source/figures/arch_diagram.diag b/security-threat-analysis/source/figures/arch_diagram.diag new file mode 100644 index 00000000..752e341c --- /dev/null +++ b/security-threat-analysis/source/figures/arch_diagram.diag @@ -0,0 +1,73 @@ +blockdiag { + + // Set labels and shapes for components + api_access [label = "Api Access", shape = cloud]; + component_1 [label = "Component Name"]; + component_2 [label = "Component Name"]; + multi_component [label = "Component Name (>200)", stacked]; + node_in_cluster [label = "A node in a cluster"]; + future_component [label = "Future component", style = dashed] + db [label = "Database name", shape = flowchart.database] + mq [label = "Message queue", shape = roundedbox] + thirdparty [label = "Database name"] + + + // Define groups + group { + orientation = landscape; + label = "Nova VM Network"; + shape = line; + style = dotted; + + group { + orientation = portrait; + label = "Name of subsystem"; + shape = line; + style = dotted; + + //components + component_1; + component_2; + } + + group { + orientation = portrait; + label = "Name of cluster"; + shape = line; + style = dotted; + + //components + node_in_cluster; + } + } + + group { + orientation = landscape; + label = "Production Network"; + shape = line; + style = dotted; + + //components + multi_component; + future_component; + } + + group { + label = "3rdparty.com"; + shape = line; + style = dashed; + + //components + thirdparty; + } + + //Add the components and draw the lines + api_access -> component_1 [label = "1. Interface label (HTTPS)"]; + component_1 -> component_2 [label = "2. Label (HTTP)"]; + + component_2 -> multi_component [label = "3. Label (HTTPs)"]; + node_in_cluster -> future_component [label = "9. Future Interface", style = dashed]; + node_in_cluster -> thirdparty + db; + mq; +} diff --git a/security-threat-analysis/source/figures/arch_diagram.xml b/security-threat-analysis/source/figures/arch_diagram.xml new file mode 100644 index 00000000..2e108bd1 --- /dev/null +++ b/security-threat-analysis/source/figures/arch_diagram.xml @@ -0,0 +1 @@ +7VpNc+I4E/41VM0eQmEcSOYYMp9Vkym2MrX77uktYQvQjm2xshxgfv10yy1b/oAlAVykdjiA3ZJbcj9Pt1otev59vPmo2Gr5IEMe9YaDcNPz3/WGw7eja/hGwZYEAz8XLJQIc5FXCh7FD07CAUkzEfK00lFLGWmxqgoDmSQ80BUZU0quq93mMqqOumILO2IpeAxY1JT+KUK9zKW3w3Ep/8TFYmlH9sZv85YZC74vlMwSGq839OfmkzfHzOoyL+q/BxsqKUENXsWbex6hHa2Ncmt82NFaTFLxhCay/wFowgeeWJTRe95NP4PgLgh4muaNqd5aI8DDYG+4maRLtkJhEMkMdE3WS6H544oFKFwDA0C21HEEdx5c0jBcaU6EaJmqEdE8P3IZc6220IUeGBERiD/eNd2vSzQ8S5alg8SYZIwIsCg0l3aBCzJNu5mIqo6ZvsonBpI/HuDrK9drqb43rPUvNpmLKLqXkVRwn8gErRqydMlxTGw3nCnuIjbj0VSmQguZoOHBbBwenaBRBfD0S62Dljgei8SitfsdNcyk1jI+DUSFrQmj2yZEhT+7EPm24zEYUXxxMWIxB4kETxuk2SzdpprHz0WpRGFQB2gHgFOmwdRoW7DW4Pq1YHc7qvoXRY6Kf1l8XfCGgxOA5zU9bNiHe2MY+H3z6du36W/NeBRCjKZbqfRSLmTCoveltAafgyvfCP0/FPdHdPeXbUlg8k4T3mIbKviba72lxYllWoKoHPeLRNiceIfT2w8HvI3MlKEehipa15hacOp12w6a4hHT4qmq/RgAaGjH/vcyXgGpYboQ4YwnHeM4Lb5yAtL6gxpp7SLhktYS+dSLgtXr2Mx3ODuOYKxJKJ7gcoGXhsOPQOK8BdQ7jeegtr025C25bKhdIbZpOy+1DY+r1PYM5zrgNo3t4GQxSFcssQg0+V7g5HZ7DW5Q5EpduAGlueeOyuelJyUPLj2N6Ah2mkfvlGL4lO2wkiLReV7tmrfQf9hi2Qw8lXDjYDH+J8OtxAS4pa8on7jDtzAcKJpLcrt+0aInEgm/sgxCRV4fx66pcROv+yiDtEvt9KaDguGvHK01R/NvDszRTpFfe+ToDuve4nL3IdOZKqKlg+JntMgcMftPrnierVK4S95NR0ueT/n0iaNyw7zdm/DouHww30mHWxvB1AAKW9gL4yNWAAIb3y4/LSi22V2kBV6ztNSkZBLCAinXpo7E0lQEu7KB2xs3HyizgylXAqaGkbf08B3u/jIO0qxdCu7IWx2r2vzLNaqVPS+BiDdTTBlKUO3iT5jWocqnTs+4hb+amlqlxmq1avLXbah5SbLSrMt4uGw4q8OJdkyY49ScjKfiB5uZDkgIyr6g92jSG71DJQes4LEIQxMfTYowKcq51mHLgu4er6WyNE2mqMtW2We4ttOdrwb94Y0toxNuV6T+paSyXeR8ngK9j4Sawo0D9VTJMAtMxvSrTlqWsm3eVpyFNONyWwgp8r2jAnOz1POQwTnKlUhSzZIyXXN8zd0bvwEhi9FmpgnKf4c66AUsiaNaBt3pTjnP/iqWt8nzwLHw5Vut00TCTnfXbre6kZzhTnPP1vIdgxjM4AirqSKpFn32Mbk4/drChjg08eISYLIQEEzXLTCda3fYcpL4ACeIeKjatPTvGYdOB5paK/m9OHKFt3etanGINws8dO7PI7kOlkzpfigULLf/DwHuHeB0gcjYHlISIiN7VuI6jpWd3HGaZyonLhO1+J9b3PFVOAUstv0AFs7n1X+6rwq9iryhyqZOyz8+6Thnnfc5J2wVPF+4tWup+u7a3J28vNByXv1tKchj8B8Y+D+My0sFaplrt5lAc39xWXVvAyA0Wgz3HiP9CnEHhLgi7HQR4l7pIXjNJYdtf4w6kUvCbfnftLxCUP7Zz3//Ew== \ No newline at end of file diff --git a/security-threat-analysis/source/figures/library_example.png b/security-threat-analysis/source/figures/library_example.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac94b7521b497b3fa2f19c69cb9121ad7a45aec GIT binary patch literal 26890 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 and there is guidance on diagraming at . If further + help or advice is needed, please reach out to the Security Project via the + openstack-dev@lists.openstack.org mailing list, tagging your email + [security]. +- The architecture page should describe a best practice deployment. If a + reference architecture is available this may be a good example to use, + otherwise the page should describe a best practice deployment, rather than + the simplest possible deployment. Where reference architectures do not exist, + it is possible that the architecture drawn for the threat analysis process + can be used as a reference architecture. +- The following information is required in the architecture page for review: + + #. A brief description of the service, its purpose and intended usage. + #. A list of components in the architecture, their purpose, any sensitive + data they persist and protocols they expose. + #. External dependancies and security assumptions made about them. + #. An architecture block diagram. + #. Either a sequence diagram or a data flow diagram, describing common + operations of the service + + +Before the review +~~~~~~~~~~~~~~~~~ + +- Verify that the service’s architecture page contains all the sections listed + in the Architecture Page Template . +- The architecture page should include diagrams as specified in the + Architecture Diagram guidance . +- Send an email to the openstack-dev@lists.openstack.org mailing list with a + [security] tag to announce the up-coming threat analysis review. +- Prepare a threat analysis review etherpad, using this template . +- Print the architecture page as a PDF, to be checked in along with the review + notes, as evidence of what was reviewed. + +Running the threat analysis review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Identify the “scribe” role, who will record the discussion and any findings + in the etherpad. +- Ask the project architect to briefly describe the purpose of the service, + typical uses cases, who will use it and how it will be deployed. Identify the data assets that might be at risk, eg peoples photos, cat videos, databases. Assets in flight and at rest. +- Briefly consider potential abuse cases, what might an attacker want to use + this service for? Could an attacker use this service as a stepping stone to + attack other services? Do not spend too long on this section, as abuse cases + will come up as the architecture is discussed. +- Ask the project architect to summarize the architecture by stepping through + the architecture block diagram. While reviewing the architecture, perform the + following steps: + + #. For each interface between components, consider the confidentiality, + integrity and availability requirements for that interface. Is + sensitive data protected effectively to prevent information disclosure + (loss of confidentiality) or tampering (loss of integrity)? Is there a + requirement for availability which should be documented and added to + reference deployments? In addition to considering the authenticity of + the data in transit, consider how the authenticity of the sending and + receiving nodes is assured. + #. Consider the protocols used to pass data between interfaces. Is this an + appropriate protocol, is it a current protocol, does it have documented + vulnerabilities, is the implementation in use maintained? Is this protocol + used as a security control to provide confidentiality, integrity or + availability? + #. Can this interface be used as an entry point to the system, can an attacker + use it to attack a potentially vulnerable service? If so, consider what + additional controls should be applied to limit the exposure. + #. If an attacker was able to compromise a given component, what would that + enable them to do? Could they stepping-stone through the OpenStack cloud? + #. How is the service administered? Is this a secure path, with appropriate + authentication and authorization controls? + +- Once the reviewers are familiar with the service, re-consider abuse cases, are + there any other cases which should be considered and mitigated? +- Step through typical use-case diagrams. Again consider if sensitive data is + appropriately protected. Where an entry point is identified, consider how + risks of malicious input data can be mitigated. +- If any potential vulnerabilities are identified, they should be discussed + with the project team, if they agree that it is an issue then a note should + be made in the findings section of the etherpad, with a short title and + summary of the issue, including a note of who found it. If the project team + disagree, then the note should be made under the further investigation + section. + + +Follow-up from the threat analysis review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Create a Master Bug for the TA review. The summary and description should + both say "Threat Analysis Review for [ServiceName]. Include the PTL, + Service Architect, Security Architect, and Architecture page link in the + description. +- Create a separate bug for each of the security findings listed in the TA + Review notes. +- Update the Threat Analysis Review Etherpad each of the new launchpad bug + numbers. +- Paste the contents of the Threat Analysis Review Etherpad into a text file in + security-docs/security-ta/notes and push it to the security-review repo using + gerit. +- Distribute the Threat Analysis Review Notes via email to all who were present + at the threat analysis. If anyone discovers errors or omissions in the notes, + then make corrections. +- On the threat analysis reviews wiki page create a new row in the reviews + table, include a link to the master bug, the date of the review, the PTL and + reviewers. diff --git a/security-threat-analysis/source/todo.rst b/security-threat-analysis/source/todo.rst new file mode 100644 index 00000000..75fbf714 --- /dev/null +++ b/security-threat-analysis/source/todo.rst @@ -0,0 +1,16 @@ +=================== +Threat Analyis Todo +=================== + +Needed +~~~~~~ + + +#. TA Calendar +#. Wiki page saying what TAs have been done, and havent. +#. Etherpad template for review tracking +#. process + + +Current Status +~~~~~~~~~~~~~~ diff --git a/security-threat-analysis/templates/architecture-page.rst b/security-threat-analysis/templates/architecture-page.rst new file mode 100644 index 00000000..d505675b --- /dev/null +++ b/security-threat-analysis/templates/architecture-page.rst @@ -0,0 +1,115 @@ + Architecture +=========================== + +**Contacts**: + +- PTL: - + +- Architect: - + +- Security Reviewer: - + +Project Description and Purpose +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +. + + +Primary Users +~~~~~~~~~~~~~ + +. + + +Differences from Previous Architecture +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + + + + + +Components +~~~~~~~~~~ + +In the component descriptions that follow, I-C means they reside in +hosted instances on the cloud, and U-C means they are in the under +cloud infrastructure. + +- + +- + +- + + +Data +~~~~ + +The following is the description of data types used by this service. + Information Classification Handling Policy for an +explanation of requirements associated with the Confidentiality and +Availability labels. Remove this comment> + +.. csv-table:: + :header: "Data name","Confidentiality","Integrity","Availability","Description" + + + "System request","Confidential","High","Medium","Requests between OpenStack services" + "System reply","Confidential","High","Medium","Replies to System requests" + "Data type X","Confidential","High","High","Data in motion, not stored" + "Data type Y","Confidential","High","Medium","Parameters in config file." + "MySQL database","Confidential","High","High","Contains user preferences. Backup to Swift daily." + + +Service Architecture Diagram +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + + +Interfaces +~~~~~~~~~~ +.. csv-table:: + :header: "Interface","Network name","Network protocol","Requestor","Request","Request credentials","Request authorization","Listener","Response","Response credentials","Description of operation" + + "1" + "2" + "3" + +Guidance: + +- Enter a component name in the Requestor and Listener columns. + +- Enter a data name in the Request and Response columns. If a request +uses unidirectional TLS authentication (which means that the client +authenticates the server but the server does NOT authenticate the +client) then TLS should not be listed in the "Request credentials" +cell for the interface. If a request uses bidirectional TLS +authentication (which means that the server authenticates the client +and the client authenticates the server) then it may be appropriate to +list "TLS Certificate" in the "Request credentials" cell for the +interface but normally this is not the case. The following examples +attempt to clarify this for common situations: + +Over an HTTPS session a service sends a Keystone token to authenticate +itself. In this case the Request credential is the Keystone token and +the Network protocol is HTTPS. +A service connects to a database using SQL with a username and password. +Customers have the option at installation time to set up TLS for this +connection but are not required to do so. In this case list the most +secure available option in the interfaces table: the Network protocol is +"SQL with TLS" and the Request credentials are "username/password" +Do not use an interface to show a function call within the same process. +It is appropriate to show calls or effects which a process or library +makes outside of the process. For example, if the project is +responsible for part of a process, such as a library, do not list +intra-process calls to that library as separate interfaces. On the +service architecture diagram you can show the process and the library +and color-code them to show the part(s) for which the project has +responsibility, like this: