{"id":5912,"date":"2019-03-10T00:37:35","date_gmt":"2019-03-10T00:37:35","guid":{"rendered":"http:\/\/www.hexacorn.com\/blog\/?p=5912"},"modified":"2019-03-10T00:50:14","modified_gmt":"2019-03-10T00:50:14","slug":"the-story-of-an-undertag-that-tried-to-wear-a-mitre","status":"publish","type":"post","link":"https:\/\/www.hexacorn.com\/blog\/2019\/03\/10\/the-story-of-an-undertag-that-tried-to-wear-a-mitre\/","title":{"rendered":"The story of an underTAG that tried to wear a mitre&#8230;"},"content":{"rendered":"\n<p>Today we tag everything with Mitre Techniques. I like it, but I would also want a bit more flexibility. So, I like to mix the &#8216;proper&#8217; Mitre tags with my own tags (not only subtechnique tags, but also my own specific tags).<\/p>\n\n\n\n<p>Why?<\/p>\n\n\n\n<p>Say&#8230; you detect that <em>System.Management.Automation.dll<\/em> or <em>System.Management.Automation.ni.dll<\/em> is loaded into a process. Does it mean it is <em><a href=\"https:\/\/attack.mitre.org\/wiki\/Technique\/T1086\/\">T1086: PowerShell<\/a><\/em>? Or does it mean, that the process is using a DLL that offers automation capabilities? And may not even do anything dodgy? I suspect (s\/suspect\/know\/) that calling it <em>T1086: PowerShell<\/em> w\/o providing that extra info loses a lot of context. <\/p>\n\n\n\n<p>Why not calling it what it is? <em>&lt;some magic prefix&gt;: Powershell Automation DLL<\/em>?<\/p>\n\n\n\n<p>Is loading <em>WinSCard.dll<\/em> always an instance of <em><a href=\"https:\/\/attack.mitre.org\/techniques\/T1098\/\">T1098: Account Manipulation<\/a><\/em>, or <em><a href=\"https:\/\/attack.mitre.org\/techniques\/T1003\/\">T1003: Credential Dumping<\/a><\/em>? Or is it just a DLL that _may_ be used for nefarious purposes, but most of the time it is not (lots of legitimate processes use it; sysmon logs analysis is a nice eye opener here). <\/p>\n\n\n\n<p>Why not calling it  <em>&lt;some magic prefix&gt;: Smart Card API DLL<\/em>?<\/p>\n\n\n\n<p>As usual, at the end of this tagged event, or events&#8217; cluster, there is a poor soul, and the underdog of this story that is tasked with analysing it. If our tagging is as conservative as the mindset of politicians who studied at Eton&#8230; then so will be the quality of analysis, statistics, and actual response.<\/p>\n\n\n\n<p>And it is easy to imagine confusion of analysts seeing events tagged with a vague name. For example, <em>net.exe<\/em> command that accesses user\/account data, and the loading of <em>WinSCard.dll<\/em> may make them assume that there is a cluster of &#8216;account manipulation&#8217; events indicating an attack. A triage of such vague cluster of events is a time wasted&#8230; There is a response cost, and there is an opportunity cost at play here. The example is over-simplistic of course, but the devil is in the details. Especially for the analysts.<\/p>\n\n\n\n<p>I&#8217;d say&#8230; given the way most of events are logged today, often w\/o much correlation and data enrichment <em>at source<\/em>, the event collection process should make any attempt possible to contextualize every single event as much as possible.<\/p>\n\n\n\n<p>We can argue that combining data at its destination, in aggregation systems, SIEMs, collectors, or even ticketing systems, or on a way to them, is possible and actually, desirable&#8230;  today&#8217;s reality is that we need that single event to provide as many answers as possible&#8230; <\/p>\n\n\n\n<p>This is because we know that Data Enrichment at the destination is a serious pain in the neck and relies heavily on a lot of dependencies (up to date asset inventories, list of employees, DHCP mapping, then there is a lack or poor support of nested queries, poor performance of nested queries, and this forces us to use a lot of lookup tables that need to be up to date and require a lot maintenance). And if we need to go back to the system that generated event to fetch additional artifacts, or enrich data manually, then we are probably still stuck in a triage process A.D. 2010&#8230;<\/p>\n\n\n\n<p>So&#8230; if we must tag stuff, let&#8217;s make it work for us, our analysts, and make it act as a true data enrichment tool that it was meant to be&#8230; If the event, their cluster, or detection based on them is not actionable, then it&#8217;s&#8230; noise.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we tag everything with Mitre Techniques. I like it, but I would also want a bit more flexibility. So, I like to mix the &#8216;proper&#8217; Mitre tags with my own tags (not only subtechnique tags, but also my own &hellip; <a href=\"https:\/\/www.hexacorn.com\/blog\/2019\/03\/10\/the-story-of-an-undertag-that-tried-to-wear-a-mitre\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[74,8,58,82,79],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/5912"}],"collection":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/comments?post=5912"}],"version-history":[{"count":8,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/5912\/revisions"}],"predecessor-version":[{"id":6044,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/5912\/revisions\/6044"}],"wp:attachment":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/media?parent=5912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/categories?post=5912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/tags?post=5912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}