Skip to content

Commit

Permalink
Updated slideshow
Browse files Browse the repository at this point in the history
  • Loading branch information
ciioprof0 committed Aug 18, 2024
1 parent e9a787c commit 79ebced
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 28 deletions.
34 changes: 19 additions & 15 deletions ling508/demos/demo_clex_importer.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@
"source": [
"**Speaker Notes for the Title Slide:**\n",
"\n",
"Welcome to this demonstration of the Clex Importer tool. The Clex Importer is a utility designed to populate the `lexicon` table in the STIX-D Corpus Database with entries from the Attempto Controlled English (ACE) common lexicon. ACE is a controlled natural language, enabling precise language processing for applications that require unambiguous interpretation by both humans and machines.\n",
"\n",
"In this demonstration, we will walk through the process of importing the ACE common lexicon into the database. The tool reads the Clex lexicon file, parses its content, and systematically imports the lexical entries into the database. By the end of this demonstration, the `lexicon` table will be populated with sample entries to support ACE-based natural language processing tasks.\n"
"Welcome to this demonstration of the Clex Importer tool. \n"
]
},
{
Expand Down Expand Up @@ -57,7 +55,7 @@
"source": [
"**Speaker Notes for the Agenda Slide:**\n",
"\n",
"- **Introduction**: This slide outlines the key points we'll cover in today's demonstration.\n",
"- **Introduction**: The agenda slide outlines the key points we'll cover in today's demonstration.\n",
"\n",
"- **Background**: We'll provide an overview of the parent STIX-D project.\n",
" \n",
Expand Down Expand Up @@ -266,7 +264,11 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"**Speaker Notes for the OOP Principles Slide:**\n",
"\n",
Expand Down Expand Up @@ -1145,7 +1147,7 @@
"# Display number of rows in each table\n",
"print(f\"\\nRows in 'stix_objects' table: {stix_objects_count[0][0]}\\n\"\n",
" f\"Rows in 'lexicon' table: {lexicon_count[0][0]}\\n\"\n",
" f\"Rows in 'obj_lex_jt' table: {obj_lex_jt_count[0][0]}\")\n"
" f\"Rows in 'obj_lex_jt' table: {obj_lex_jt_count[0][0]}\")"
]
},
{
Expand Down Expand Up @@ -1362,7 +1364,11 @@
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -1441,7 +1447,11 @@
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stdout",
Expand Down Expand Up @@ -1573,13 +1583,7 @@
"1. Project Design\n",
"1. Code Interaction with Database\n",
"1. Test Cases\n",
" - All Tests\n",
" - Unit Tests\n",
" - Integration Tests\n",
" - End-to-End Tests\n",
"1. Code Execution\n",
" - Command Line Interface (in notebook)\n",
" - Web Interface (not in notebook)"
"1. Code Execution\n"
]
},
{
Expand Down
109 changes: 96 additions & 13 deletions ling508/demos/demo_clex_importer.slides.html
Original file line number Diff line number Diff line change
Expand Up @@ -7469,21 +7469,12 @@ <h1 id="Demonstration-of-STIX-D's-Clex-Importer-Tool">Demonstration of STIX-D's
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="Agenda">Agenda<a class="anchor-link" href="#Agenda"></a></h2><ol>
<li>Intro to STIX-D Project</li>
<li>Use Case</li>
<li>Project Design</li>
<li>Code Interaction with Database</li>
<li>Test Cases<ul>
<li>All Tests</li>
<li>Unit Tests</li>
<li>Integration Tests</li>
<li>End-to-End Tests</li>
</ul>
</li>
<li>Code Execution<ul>
<li>Command Line Interface (in notebook)</li>
<li>Web Interface (not in notebook)</li>
</ul>
</li>
<li>Test Cases</li>
<li>Code Execution</li>
</ol>
</div>
</div>
Expand All @@ -7499,6 +7490,8 @@ <h2 id="Agenda">Agenda<a class="anchor-link" href="#Agenda">¶</a></h2><ol>
<ul>
<li><p><strong>Introduction</strong>: This slide outlines the key points we'll cover in today's demonstration.</p>
</li>
<li><p><strong>Background</strong>: We'll provide an overview of the parent STIX-D project.</p>
</li>
<li><p><strong>Use Case</strong>: We'll start by discussing the specific problem this tool addresses and the context in which it operates.</p>
</li>
<li><p><strong>Project Design</strong>: Next, we'll dive into the overall architecture and design principles that guided the development of the Clex Importer tool.</p>
Expand All @@ -7521,7 +7514,97 @@ <h2 id="Agenda">Agenda<a class="anchor-link" href="#Agenda">¶</a></h2><ol>
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="Use-Case">Use Case<a class="anchor-link" href="#Use-Case"></a></h2><ul>
<h2 id="What-is-the-STIX-D-Project?">What is the STIX-D Project?<a class="anchor-link" href="#What-is-the-STIX-D-Project?"></a></h2><p>To develop a Controlled Natural Language (<a href="https://en.wikipedia.org/wiki/Controlled_natural_language">CNL</a>) and necessary tools for Structured Threat Information eXpression (<a href="https://docs.oasis-open.org/cti/stix/v2.1/os/stix-v2.1-os.html">STIX</a>) descriptions within the Cyber Threat Intelligence (<a href="https://www.crowdstrike.com/cybersecurity-101/threat-intelligence/">CTI</a>) domain. The CNL will be a custom subset of Attempto Controlled English (<a href="https://www.crowdstrike.com/cybersecurity-101/threat-intelligence/">ACE</a>).</p>
<p>The goal of the project is to improve the efficiency and efficacy of automated CTI systems in processing natural language texts.</p>
<p><em>Click the down arrow to explore the STIX-D project in more detail.</em></p>
</div>
</div>
</div>
</div><aside class="notes">
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p><strong>Speaker Notes for the STIX-D Project Slide:</strong></p>
<p>As outlined on this slide, the purpose of the STIX-D Project is to develop a Controlled Natural Language (CNL) and the necessary tools for STIX descriptions.
This CNL will be a custom subset of Attempto Controlled English (ACE).
The project's aim is to improve the efficiency and efficacy of automated CTI systems in processing natural language texts, making threat intelligence more precise and actionable.</p>
</div>
</div>
</div>
</div>
</aside></section><section>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="What-is-STIX?">What is STIX?<a class="anchor-link" href="#What-is-STIX?"></a></h2><ul>
<li>A language and serialization format for sharing cyber threat intelligence</li>
<li>STIX objects categorize each datum with specific attributes</li>
<li><code>description</code> field (optional)<ul>
<li>Natural language ‘free’ text</li>
<li>Provides more details &amp; context<ul>
<li>Purpose &amp; key characteristics</li>
<li>How used; relation to other objects</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div><aside class="notes">
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p><strong>Speaker Notes for the "What is STIX?" Slide:</strong></p>
<p>STIX is a standardized language and format used for sharing cyber threat intelligence.
It categorizes each piece of data with specific attributes, allowing for a structured approach to analyzing threats.
The 'description' field, highlighted here, is optional but highly valuable.
It provides natural language text that offers more details, context, and insights into the nature and purpose of the threat.
While this flexibility in the description field is beneficial, it also introduces challenges, especially when complex language is involved, which can be difficult for automated systems to process effectively.</p>
</div>
</div>
</div>
</div>
</aside></section><section>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="STIX-Description-(STIX-D)-Examples">STIX Description (STIX-D) Examples<a class="anchor-link" href="#STIX-Description-(STIX-D)-Examples"></a></h3><ol>
<li><p>"description": "A variant of the cryptolocker family"</p>
</li>
<li><p>"description": "The Evil Org threat actor group"</p>
</li>
<li><p>"description": "This file is part of Poison Ivy“</p>
</li>
<li><p>"description": "A particular form of spear phishing where the attacker claims that the target had won a contest, including personal details, to get them to click on a link."</p>
</li>
<li><p>"description": "Incidents usually feature a shared TTP of a wildcat being released within the building containing network access, scaring users to leave their computers without locking them first. Still determining where the threat actors are getting the wildcats."</p>
</li>
</ol>
</div>
</div>
</div>
</div></section></section><section><section>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="Use-Case-L1:-Import-ACE-Common-Lexicon">Use Case L1: Import ACE Common Lexicon<a class="anchor-link" href="#Use-Case-L1:-Import-ACE-Common-Lexicon"></a></h2><ul>
<li><strong>Objective</strong>: Seed lexicon table with ACE common lexicon entries</li>
<li><strong>Actors</strong>: Database Administrator</li>
<li><strong>Input</strong>: Clex lexicon file</li>
Expand Down

0 comments on commit 79ebced

Please sign in to comment.