SlideShare a Scribd company logo
1 of 52
Download to read offline
Malware Narratives
Dmitry Vostokov
Software Diagnostics Services
Version 1.0
Facebook LinkedIn Twitter
Prerequisites
Interest in software diagnostics and
malware analysis
© 2013 Software Diagnostics Services
Why?
 Communication language
 Malware diagnostics as software
diagnostics
 Big DA+TA (Dump Artifacts + Trace
Artifacts)
© 2013 Software Diagnostics Services
Software Diagnostics
A discipline studying abnormal
software structure and behavior in
software execution artifacts (such
as memory dumps, software and
network traces and logs) using
pattern-driven, systemic and
pattern-based analysis
methodologies.
© 2013 Software Diagnostics Services
Diagnostics Pattern
A common recurrent identifiable
problem together with a set of
recommendations and possible
solutions to apply in a specific
context.
© 2013 Software Diagnostics Services
Pattern Orientation
© 2013 Software Diagnostics Services
Pattern-driven
 Finding patterns in software artefacts
 Using checklists and pattern catalogs
Pattern-based
 Pattern catalog evolution
 Catalog packaging and delivery
Catalog Classification
 By abstraction
Meta-patterns
 By artifact type
Software Log* Memory Dump Network Trace*
 By story type
Problem Description Software Disruption UI Problem
 By intention
Malware
© 2013 Software Diagnostics Services
Malware
Software that uses planned
alteration of structure and behavior
of software to serve malicious
purposes.
© 2013 Software Diagnostics Services
Memory Analysis Patterns
© 2013 Software Diagnostics Services
Memory Dump
Analysis
Patterns
Malware
Analysis
Patterns
Software Diagnostics
Traces and Logs
© 2013 Software Diagnostics Services
Trace and Log Patterns
© 2013 Software Diagnostics Services
Software Narrative
A temporal sequence of events
related to software execution.
© 2013 Software Diagnostics Services
Narrative Taxonomy
© 2013 Software Diagnostics Services
 Incident stories
 Software traces and logs
 Malware analysis stories
Malware Narrative Patterns
© 2013 Software Diagnostics Services
Software
Trace and Log
Analysis
Patterns
Malware
Narrative
Patterns
Software Diagnostics
Software Log
© 2013 Software Diagnostics Services
 A sequence of formatted messages
 Arranged by time
 A narrative story
Minimal Log Graphs
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
No Module PID TID Date Time Message
-----------------------------------------------------------
1 ModuleA 4280 1736 5/28/2012 08:53:50.496 Trace message 1
2 ModuleB 6212 6216 5/28/2012 08:53:52.876 Trace message 2
[…]
Pattern-Driven Analysis
© 2013 Software Diagnostics Services
Logs Checklists Patterns Action
Pattern-Based Analysis
© 2013 Software Diagnostics Services
Software Trace
New Pattern
Discovery
Pattern
Catalog
+
Usage
Pattern Classification
© 2013 Software Diagnostics Services
 Vocabulary
 Error
 Trace as a Whole
 Large Scale
 Activity
 Message
 Block
 Trace Set
Reference and Course
© 2013 Software Diagnostics Services
 Free catalog
Software Log Analysis Patterns
 Free reference graphical slides
Accelerated-Windows-Software-Trace-Analysis-Public.pdf
 Training course*
Accelerated Windows Software Trace Analysis
* Available as a full color paperback book, PDF book, on SkillsSoft Books 24x7. Recording is available for all book formats
Vocabulary Patterns
© 2013 Software Diagnostics Services
 Basic Facts*
 Vocabulary Index
* patterns marked with yellow color are most likely to be useful for
malware detection and analysis
Error Patterns
© 2012 Software Diagnostics Services
 Error Message
 Exception Stack Trace
 False Positive Error
 Periodic Error
 Error Distribution
Trace as a Whole
© 2013 Software Diagnostics Services
 Partition
 Circular Trace
 Message Density
 Message Current
 Trace Acceleration
 No Trace Metafile
 Empty Trace
 Missing Module
 Guest Module
 Truncated Trace
 Visibility Limit
 Sparse Trace
Guest Module
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Load: 3rdPartyActivity.dll
Large Scale Patterns
© 2013 Software Diagnostics Services
 Characteristic Block
 Background Modules
 Foreground Modules
 Layered Periodization
 Focus of Tracing
 Event Sequence Order
 Trace Frames
Characteristic Block
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Foreground Modules
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Time
# PID TID Time Message
Focus of Tracing
© 2013 Software Diagnostics Services
Activity regions: Jm1, Jm2, Jm3
Time
Jm1
Jm2
Jm3
# PID TID Time Message
Activity Patterns
© 2013 Software Diagnostics Services
 Thread of Activity
 Adjoint Thread of Activity
 No Activity
 Activity Region
 Discontinuity
 Time Delta
 Glued Activity
 Break-in Activity
 Resume Activity
 Data Flow
Thread of Activity
© 2013 Software Diagnostics Services
Time
# PID TID Time Func Message
# PID TID Time Func Message
Adjoint Thread of Activity
© 2013 Software Diagnostics Services
Time
# PID TID Time Func Message
Time
# PID TID Time Func Message
Activity Region
© 2013 Software Diagnostics Services
Message current : Jm2 > max (Jm1,Jm3)
Time
Jm1
Jm2
Jm3
# PID TID Time Message
Glued Activity
© 2013 Software Diagnostics Services
ATID: Adjoint Thread ID
ImageA
ATID 2
ImageB
ATID 3
Time
# ATID TID Time Message
Time
Trace
Session
1
# PID TID Time Message
Trace
Session
2
Break-in Activity
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Discontinuity
Data Flow
© 2013 Software Diagnostics Services
# PID TID Time Message
Time
Message Patterns
© 2013 Software Diagnostics Services
 Significant Event
 Defamiliarizing Effect
 Anchor Messages
 Diegetic Messages
 Message Change
 Message Invariant
 UI Message
 Original Message
 Implementation Discourse
 Opposition Messages
* added recently
 Linked Messages
 Gossip
 Counter Value
 Abnormal Value*
 Message Context
 Marked Messages
 Incomplete History
 Message Interleave
 Fiber Bundle
Significant Event
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Defamiliarizing Effect
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Time
# PID TID Time Message
Abnormal Value
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Marked Messages
© 2013 Software Diagnostics Services
Annotated messages:
network activity [+]
process A launched [+]
process B launched [-]
process A exited [-]
[+] activity is present in a trace
[-] activity is undetected or not present
Fiber Bundle
© 2013 Software Diagnostics Services
I/O stack
Thread stack
trace
Trace
messages
Block Patterns
© 2013 Software Diagnostics Services
 Macrofunction
 Periodic Message Block
 Intra-Correlation
Periodic Message Block
© 2013 Software Diagnostics Services
Time
# PID TID Time Message
Trace Set Patterns
© 2013 Software Diagnostics Services
 Master Trace
 Bifurcation Point
 Inter-Correlation
 Relative Density
 News Value
 Impossible Trace
 Split Trace
Master Trace
© 2013 Software Diagnostics Services
Inter-Correlation
© 2013 Software Diagnostics Services
System
Logging Tool
Logging Tool
Log File Log File
Impossible Trace
© 2013 Software Diagnostics Services
# Module PID TID Message
-------------------------------
[…]
1001 ModuleA 202 404 foo: start
1002 ModuleA 202 404 foo: end
[…]
void foo()
{
TRACE("foo: start");
bar();
TRACE("foo: end");
}
void bar()
{
TRACE("bar: start");
// some code ...
TRACE("bar: end");
}
Grand Unification
 Narrative and Trace
N: T → M
 Generalized Narrative and Trace
GN: A -> M
GN3
ο GN2
ο GN1: M → M → M
© 2013 Software Diagnostics Services
Further Reading
 Software Diagnostics Institute
 Memory Dump Analysis Anthology: Volumes 3, 4, 5, 6, …
Volume 7 is in preparation (April, 2013)
Volume 8 is planned for November, 2013
 Introduction to Software Narratology
 Accelerated Windows Software Trace Analysis
© 2013 Software Diagnostics Services
What’s Next?
© 2013 Software Diagnostics Services
Pattern-Oriented Network Trace Analysis
Q&A
Please send your feedback using the contact
form on DumpAnalysis.com
© 2013 Software Diagnostics Services
Thank you for attendance!
© 2013 Software Diagnostics Services
Facebook LinkedIn Twitter

More Related Content

Similar to Malware Narratives

OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
lienhard
 
Major Project Report on Designing an Android Application for Electrical Maint...
Major Project Report on Designing an Android Application for Electrical Maint...Major Project Report on Designing an Android Application for Electrical Maint...
Major Project Report on Designing an Android Application for Electrical Maint...
Amit Kumar
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_Appaji
Appaji K
 
Atul Panda_Resume
Atul Panda_Resume Atul Panda_Resume
Atul Panda_Resume
Atul Panda
 

Similar to Malware Narratives (20)

Accelerated Windows Software Trace Analysis training public slides
Accelerated Windows Software Trace Analysis training public slidesAccelerated Windows Software Trace Analysis training public slides
Accelerated Windows Software Trace Analysis training public slides
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 
Presentaion final
Presentaion finalPresentaion final
Presentaion final
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
 
Major Project Report on Designing an Android Application for Electrical Maint...
Major Project Report on Designing an Android Application for Electrical Maint...Major Project Report on Designing an Android Application for Electrical Maint...
Major Project Report on Designing an Android Application for Electrical Maint...
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_Appaji
 
Privacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataPrivacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling Data
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
IRJET- Machine Learning Processing for Intrusion Detection
IRJET- Machine Learning Processing for Intrusion DetectionIRJET- Machine Learning Processing for Intrusion Detection
IRJET- Machine Learning Processing for Intrusion Detection
 
Top 5 Ways To Save On Datadog.pptx
Top 5 Ways To Save On Datadog.pptxTop 5 Ways To Save On Datadog.pptx
Top 5 Ways To Save On Datadog.pptx
 
IRJET- Document Management System, Open Source and Secure
IRJET-  	  Document Management System, Open Source and SecureIRJET-  	  Document Management System, Open Source and Secure
IRJET- Document Management System, Open Source and Secure
 
Advance security in cloud computing for military weapons
Advance security in cloud computing for military weaponsAdvance security in cloud computing for military weapons
Advance security in cloud computing for military weapons
 
Accelerated Disassembly, Reconstruction and Reversing training public slides
Accelerated Disassembly, Reconstruction and Reversing training public slidesAccelerated Disassembly, Reconstruction and Reversing training public slides
Accelerated Disassembly, Reconstruction and Reversing training public slides
 
Atul Panda_Resume
Atul Panda_Resume Atul Panda_Resume
Atul Panda_Resume
 
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
SQL Injection and HTTP Flood DDOS Attack Detection and Classification Based o...
 
Microsoft Security Development Lifecycle
Microsoft Security Development LifecycleMicrosoft Security Development Lifecycle
Microsoft Security Development Lifecycle
 
Parimal Resume
Parimal ResumeParimal Resume
Parimal Resume
 
Automated Remediation with Rundeck + Sensu
Automated Remediation with Rundeck + SensuAutomated Remediation with Rundeck + Sensu
Automated Remediation with Rundeck + Sensu
 
A Secure and Dynamic Multi Keyword Ranked Search over Encrypted Cloud Data
A Secure and Dynamic Multi Keyword Ranked Search over Encrypted Cloud DataA Secure and Dynamic Multi Keyword Ranked Search over Encrypted Cloud Data
A Secure and Dynamic Multi Keyword Ranked Search over Encrypted Cloud Data
 
Introduction to graph services
Introduction to graph servicesIntroduction to graph services
Introduction to graph services
 

More from Dmitry Vostokov

More from Dmitry Vostokov (20)

Accelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slidesAccelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slides
 
Accelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slidesAccelerated .NET Memory Dump Analysis training public slides
Accelerated .NET Memory Dump Analysis training public slides
 
Debugging TV Frame 0x1C
Debugging TV Frame 0x1CDebugging TV Frame 0x1C
Debugging TV Frame 0x1C
 
Debugging TV Frame 0x1A
Debugging TV Frame 0x1ADebugging TV Frame 0x1A
Debugging TV Frame 0x1A
 
Debugging TV Frame 0x34
Debugging TV Frame 0x34Debugging TV Frame 0x34
Debugging TV Frame 0x34
 
Debugging TV Frame 0x33
Debugging TV Frame 0x33Debugging TV Frame 0x33
Debugging TV Frame 0x33
 
Debugging TV Frame 0x31
Debugging TV Frame 0x31Debugging TV Frame 0x31
Debugging TV Frame 0x31
 
Debugging TV Frame 0x25
Debugging TV Frame 0x25Debugging TV Frame 0x25
Debugging TV Frame 0x25
 
Debugging TV Frame 0x24
Debugging TV Frame 0x24Debugging TV Frame 0x24
Debugging TV Frame 0x24
 
Debugging TV Frame 0x21
Debugging TV Frame 0x21Debugging TV Frame 0x21
Debugging TV Frame 0x21
 
Debugging TV Frame 0x20
Debugging TV Frame 0x20Debugging TV Frame 0x20
Debugging TV Frame 0x20
 
Debugging TV Frame 0x19
Debugging TV Frame 0x19Debugging TV Frame 0x19
Debugging TV Frame 0x19
 
Debugging TV Frame 0x18
Debugging TV Frame 0x18Debugging TV Frame 0x18
Debugging TV Frame 0x18
 
Debugging TV Frame 0x17
Debugging TV Frame 0x17Debugging TV Frame 0x17
Debugging TV Frame 0x17
 
Debugging TV Frame 0x16
Debugging TV Frame 0x16Debugging TV Frame 0x16
Debugging TV Frame 0x16
 
Debugging TV Frame 0x15
Debugging TV Frame 0x15Debugging TV Frame 0x15
Debugging TV Frame 0x15
 
Debugging TV Frame 0x14
Debugging TV Frame 0x14Debugging TV Frame 0x14
Debugging TV Frame 0x14
 
Debugging TV Frame 0x13
Debugging TV Frame 0x13Debugging TV Frame 0x13
Debugging TV Frame 0x13
 
Debugging TV Frame 0x12
Debugging TV Frame 0x12Debugging TV Frame 0x12
Debugging TV Frame 0x12
 
Debugging TV Frame 0x11
Debugging TV Frame 0x11Debugging TV Frame 0x11
Debugging TV Frame 0x11
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Recently uploaded (20)

Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 

Malware Narratives

  • 1. Malware Narratives Dmitry Vostokov Software Diagnostics Services Version 1.0 Facebook LinkedIn Twitter
  • 2. Prerequisites Interest in software diagnostics and malware analysis © 2013 Software Diagnostics Services
  • 3. Why?  Communication language  Malware diagnostics as software diagnostics  Big DA+TA (Dump Artifacts + Trace Artifacts) © 2013 Software Diagnostics Services
  • 4. Software Diagnostics A discipline studying abnormal software structure and behavior in software execution artifacts (such as memory dumps, software and network traces and logs) using pattern-driven, systemic and pattern-based analysis methodologies. © 2013 Software Diagnostics Services
  • 5. Diagnostics Pattern A common recurrent identifiable problem together with a set of recommendations and possible solutions to apply in a specific context. © 2013 Software Diagnostics Services
  • 6. Pattern Orientation © 2013 Software Diagnostics Services Pattern-driven  Finding patterns in software artefacts  Using checklists and pattern catalogs Pattern-based  Pattern catalog evolution  Catalog packaging and delivery
  • 7. Catalog Classification  By abstraction Meta-patterns  By artifact type Software Log* Memory Dump Network Trace*  By story type Problem Description Software Disruption UI Problem  By intention Malware © 2013 Software Diagnostics Services
  • 8. Malware Software that uses planned alteration of structure and behavior of software to serve malicious purposes. © 2013 Software Diagnostics Services
  • 9. Memory Analysis Patterns © 2013 Software Diagnostics Services Memory Dump Analysis Patterns Malware Analysis Patterns Software Diagnostics
  • 10. Traces and Logs © 2013 Software Diagnostics Services
  • 11. Trace and Log Patterns © 2013 Software Diagnostics Services
  • 12. Software Narrative A temporal sequence of events related to software execution. © 2013 Software Diagnostics Services
  • 13. Narrative Taxonomy © 2013 Software Diagnostics Services  Incident stories  Software traces and logs  Malware analysis stories
  • 14. Malware Narrative Patterns © 2013 Software Diagnostics Services Software Trace and Log Analysis Patterns Malware Narrative Patterns Software Diagnostics
  • 15. Software Log © 2013 Software Diagnostics Services  A sequence of formatted messages  Arranged by time  A narrative story
  • 16. Minimal Log Graphs © 2013 Software Diagnostics Services Time # PID TID Time Message No Module PID TID Date Time Message ----------------------------------------------------------- 1 ModuleA 4280 1736 5/28/2012 08:53:50.496 Trace message 1 2 ModuleB 6212 6216 5/28/2012 08:53:52.876 Trace message 2 […]
  • 17. Pattern-Driven Analysis © 2013 Software Diagnostics Services Logs Checklists Patterns Action
  • 18. Pattern-Based Analysis © 2013 Software Diagnostics Services Software Trace New Pattern Discovery Pattern Catalog + Usage
  • 19. Pattern Classification © 2013 Software Diagnostics Services  Vocabulary  Error  Trace as a Whole  Large Scale  Activity  Message  Block  Trace Set
  • 20. Reference and Course © 2013 Software Diagnostics Services  Free catalog Software Log Analysis Patterns  Free reference graphical slides Accelerated-Windows-Software-Trace-Analysis-Public.pdf  Training course* Accelerated Windows Software Trace Analysis * Available as a full color paperback book, PDF book, on SkillsSoft Books 24x7. Recording is available for all book formats
  • 21. Vocabulary Patterns © 2013 Software Diagnostics Services  Basic Facts*  Vocabulary Index * patterns marked with yellow color are most likely to be useful for malware detection and analysis
  • 22. Error Patterns © 2012 Software Diagnostics Services  Error Message  Exception Stack Trace  False Positive Error  Periodic Error  Error Distribution
  • 23. Trace as a Whole © 2013 Software Diagnostics Services  Partition  Circular Trace  Message Density  Message Current  Trace Acceleration  No Trace Metafile  Empty Trace  Missing Module  Guest Module  Truncated Trace  Visibility Limit  Sparse Trace
  • 24. Guest Module © 2013 Software Diagnostics Services Time # PID TID Time Message Load: 3rdPartyActivity.dll
  • 25. Large Scale Patterns © 2013 Software Diagnostics Services  Characteristic Block  Background Modules  Foreground Modules  Layered Periodization  Focus of Tracing  Event Sequence Order  Trace Frames
  • 26. Characteristic Block © 2013 Software Diagnostics Services Time # PID TID Time Message
  • 27. Foreground Modules © 2013 Software Diagnostics Services Time # PID TID Time Message Time # PID TID Time Message
  • 28. Focus of Tracing © 2013 Software Diagnostics Services Activity regions: Jm1, Jm2, Jm3 Time Jm1 Jm2 Jm3 # PID TID Time Message
  • 29. Activity Patterns © 2013 Software Diagnostics Services  Thread of Activity  Adjoint Thread of Activity  No Activity  Activity Region  Discontinuity  Time Delta  Glued Activity  Break-in Activity  Resume Activity  Data Flow
  • 30. Thread of Activity © 2013 Software Diagnostics Services Time # PID TID Time Func Message # PID TID Time Func Message
  • 31. Adjoint Thread of Activity © 2013 Software Diagnostics Services Time # PID TID Time Func Message Time # PID TID Time Func Message
  • 32. Activity Region © 2013 Software Diagnostics Services Message current : Jm2 > max (Jm1,Jm3) Time Jm1 Jm2 Jm3 # PID TID Time Message
  • 33. Glued Activity © 2013 Software Diagnostics Services ATID: Adjoint Thread ID ImageA ATID 2 ImageB ATID 3 Time # ATID TID Time Message Time Trace Session 1 # PID TID Time Message Trace Session 2
  • 34. Break-in Activity © 2013 Software Diagnostics Services Time # PID TID Time Message Discontinuity
  • 35. Data Flow © 2013 Software Diagnostics Services # PID TID Time Message Time
  • 36. Message Patterns © 2013 Software Diagnostics Services  Significant Event  Defamiliarizing Effect  Anchor Messages  Diegetic Messages  Message Change  Message Invariant  UI Message  Original Message  Implementation Discourse  Opposition Messages * added recently  Linked Messages  Gossip  Counter Value  Abnormal Value*  Message Context  Marked Messages  Incomplete History  Message Interleave  Fiber Bundle
  • 37. Significant Event © 2013 Software Diagnostics Services Time # PID TID Time Message
  • 38. Defamiliarizing Effect © 2013 Software Diagnostics Services Time # PID TID Time Message Time # PID TID Time Message
  • 39. Abnormal Value © 2013 Software Diagnostics Services Time # PID TID Time Message
  • 40. Marked Messages © 2013 Software Diagnostics Services Annotated messages: network activity [+] process A launched [+] process B launched [-] process A exited [-] [+] activity is present in a trace [-] activity is undetected or not present
  • 41. Fiber Bundle © 2013 Software Diagnostics Services I/O stack Thread stack trace Trace messages
  • 42. Block Patterns © 2013 Software Diagnostics Services  Macrofunction  Periodic Message Block  Intra-Correlation
  • 43. Periodic Message Block © 2013 Software Diagnostics Services Time # PID TID Time Message
  • 44. Trace Set Patterns © 2013 Software Diagnostics Services  Master Trace  Bifurcation Point  Inter-Correlation  Relative Density  News Value  Impossible Trace  Split Trace
  • 45. Master Trace © 2013 Software Diagnostics Services
  • 46. Inter-Correlation © 2013 Software Diagnostics Services System Logging Tool Logging Tool Log File Log File
  • 47. Impossible Trace © 2013 Software Diagnostics Services # Module PID TID Message ------------------------------- […] 1001 ModuleA 202 404 foo: start 1002 ModuleA 202 404 foo: end […] void foo() { TRACE("foo: start"); bar(); TRACE("foo: end"); } void bar() { TRACE("bar: start"); // some code ... TRACE("bar: end"); }
  • 48. Grand Unification  Narrative and Trace N: T → M  Generalized Narrative and Trace GN: A -> M GN3 ο GN2 ο GN1: M → M → M © 2013 Software Diagnostics Services
  • 49. Further Reading  Software Diagnostics Institute  Memory Dump Analysis Anthology: Volumes 3, 4, 5, 6, … Volume 7 is in preparation (April, 2013) Volume 8 is planned for November, 2013  Introduction to Software Narratology  Accelerated Windows Software Trace Analysis © 2013 Software Diagnostics Services
  • 50. What’s Next? © 2013 Software Diagnostics Services Pattern-Oriented Network Trace Analysis
  • 51. Q&A Please send your feedback using the contact form on DumpAnalysis.com © 2013 Software Diagnostics Services
  • 52. Thank you for attendance! © 2013 Software Diagnostics Services Facebook LinkedIn Twitter