5悲没、規(guī)則創(chuàng)建指南

來(lái)源:https://github.com/SigmaHQ/sigma/wiki/Rule-Creation-Guide

https://github.com/SigmaHQ/sigma/wiki/Taxonomy

Sigma是一個(gè)非常靈活的標(biāo)準(zhǔn),有很多可選領(lǐng)域谊娇。本指南將幫助您創(chuàng)建一個(gè)Sigma規(guī)則培廓,它與我們存儲(chǔ)庫(kù)中的其他社區(qū)規(guī)則保持一致此衅。

一、規(guī)則模板

最好的方法是使用與您計(jì)劃編寫(xiě)的內(nèi)容相近的現(xiàn)有規(guī)則悉患。

確保以下字段在你想推送到公共存儲(chǔ)庫(kù)的規(guī)則中設(shè)置:

title: a short capitalised title with less than 50 characters

id: generate one here https://www.uuidgenerator.net/version4

status: experimental

description: A description of what your rule is meant to detect

references:

? ? - A list of all references that can help a reader or analyst understand the meaning of a triggered rule

tags:

? ? - attack.execution? # example MITRE ATT&CK category

? ? - attack.t1059? ? ? # example MITRE ATT&CK technique id

? ? - car.2014-04-003? # example CAR id

author: Michael Haag, Florian Roth, Markus Neis? # example, a list of authors

date: 2018/04/06? # Rule date

logsource:? ? ? ? ? ? ? ? ? ? ? # important for the field mapping in predefined or your additional config files

? ? category: process_creation? # In this example we choose the category 'process_creation'

? ? product: windows? ? ? ? ? ? # the respective product

detection:

? ? selection:

? ? ? ? FieldName: 'StringValue'

? ? ? ? FieldName: IntegerValue

? ? ? ? FieldName|modifier: 'Value'

? ? condition: selection

fields:

? ? - fields in the log source that are important to investigate further

falsepositives:

? ? - describe possible false positive conditions to help the analysts in their investigation

level: one of five levels (informational, low, medium, high, critical)

二残家、常見(jiàn)缺點(diǎn)

1、標(biāo)題

不要在標(biāo)題中使用像“檢測(cè)”這樣的前綴售躁。

使用少于50個(gè)字符的短標(biāo)題作為警示名稱

為描述保留任何解釋

使用標(biāo)題大小寫(xiě)(例如:'可疑的PowerShell命令行'Suspicious PowerShell CommandLine而不是'可疑的PowerShell命令行'Suspicious powershell commandline)

壞的例子:

在不應(yīng)該包含可執(zhí)行文件的Windows文件夾中檢測(cè)進(jìn)程執(zhí)行 Detects a process execution in a Windows folder that shouldn't contain executables(不必要的前綴坞淮,太長(zhǎng),全部小寫(xiě)陪捷,包含解釋)

檢測(cè)進(jìn)程注入 Detects process injection (不必要的前綴回窘,太通用,首字符小寫(xiě))

好的例子:

Process Injection Using Iexplore.exe

Suspicious PowerShell Cmdline with JAB

Certutil Lolbin Decode Use

2市袖、ID

沒(méi)有任何已知的陷阱啡直。我們?cè)趓epo中使用可選字段id來(lái)提供一個(gè)永不更改的惟一標(biāo)識(shí)符,而該規(guī)則的所有其他字段值可能會(huì)隨著時(shí)間的推移而更改。您可以簡(jiǎn)單地在此網(wǎng)頁(yè)上以UUID的形式創(chuàng)建一個(gè)ID付枫。

3烹玉、狀態(tài)Status

每一個(gè)新規(guī)則都是實(shí)驗(yàn)性的。經(jīng)過(guò)幾個(gè)月的高效使用阐滩,并且沒(méi)有任何來(lái)自社區(qū)的負(fù)面反饋二打,它得到了狀態(tài)測(cè)試。在使用了大約1年之后掂榔,除了過(guò)濾器沒(méi)有進(jìn)行重大修改继效,我們將規(guī)則歸為穩(wěn)定規(guī)則。

4装获、描述Description

最好的描述從檢測(cè)....開(kāi)始瑞信。請(qǐng)不要只使用選定的標(biāo)題。試著盡可能好地描述當(dāng)規(guī)則觸發(fā)時(shí)它意味著什么穴豫》布颍看到這種規(guī)則觸發(fā)的分析師應(yīng)該很好地理解匹配可能表明什么。

壞的例子:

規(guī)則檢測(cè)w3wp.exe生成bitsadmin.exe

新的whoami進(jìn)程開(kāi)始

好的例子:

檢測(cè)IIS web服務(wù)器服務(wù)可疑執(zhí)行后臺(tái)傳輸服務(wù)

檢測(cè)whoami的執(zhí)行精肃,它可能是管理活動(dòng)的一部分秤涩,但也經(jīng)常被利用某些本地特權(quán)升級(jí)或遠(yuǎn)程代碼執(zhí)行漏洞的攻擊者使用。whoami命令顯示當(dāng)前用戶上下文司抱。管理員通常知道他們使用哪個(gè)用戶登錄筐眷。攻擊者在成功利用后通常需要評(píng)估用戶上下文。

5习柠、參考文獻(xiàn)References

值必須是一個(gè)列表匀谣。

只使用網(wǎng)頁(yè)或文檔的鏈接。

不要鏈接到EVTX文件资溃,PCAPs或其他原始內(nèi)容

不包括MITRE ATT&CK技術(shù)的鏈接(我們使用標(biāo)簽)

列表中使用的鏈接可以是:

鏈接到博客文章或tweet

鏈接到某個(gè)hack工具的項(xiàng)目頁(yè)面

鏈接到一個(gè)內(nèi)置Windows工具的手冊(cè)頁(yè)

報(bào)告的鏈接

鏈接到更好地解釋檢測(cè)到的威脅的討論

6武翎、作者Author

作者字段是字符串,而不是列表

用逗號(hào)分隔的多個(gè)作者組合

如果你使用特殊字符@作為twitter的句柄溶锭,你必須使用上引號(hào)后频,例如author: '@cyb3rops'

你可在括號(hào)內(nèi)加上供款類別,例如:作者:“約翰·高爾(想法)暖途,弗洛里安·羅斯(規(guī)則)”

7、日期

我們?cè)诠惨?guī)則中使用可選字段date來(lái)顯示規(guī)則的創(chuàng)建日期膏执,而不需要使用git-log驻售。更改一個(gè)已經(jīng)在主分支中發(fā)布的規(guī)則,需要使用一個(gè)名為modified的新字段來(lái)指示初始規(guī)則的修改更米。

我們使用格式Y(jié)YYY/MM/DD或%Y/%m/%d作為Python的strftime指令欺栗。

更改修改日期的原因:

改變標(biāo)題

變化檢測(cè)部分

改變等級(jí)

改變logsource(罕見(jiàn))

對(duì)于所有其他字段值的更改,不需要更改修改日期。

8迟几、標(biāo)簽

在我們的公共規(guī)則集中消请,我們使用MITRE ATT&CK、CAR和CVE數(shù)字標(biāo)簽类腮。

例子

標(biāo)簽:

——attack.credential_access

——attack.t1003.002

——car.2013 - 07 - 001

——cve.2020.10189

只使用小寫(xiě)標(biāo)記

我們使用臊泰。或-作為標(biāo)簽名稱中的分隔符

將空格替換為下劃線_

9蚜枢、日志源

這部分比較難缸逃。有兩種選擇:

(1)日志源已經(jīng)存在

(2)在我們的repo中沒(méi)有一條針對(duì)該日志源的規(guī)則

在案例1中,請(qǐng)使用這些規(guī)則中的一個(gè)作為模板厂抽。在情況2中需频,檢查不同文件夾中的現(xiàn)有規(guī)則,以了解在本節(jié)中可以使用的三個(gè)標(biāo)識(shí)符的使用情況:

產(chǎn)品(如linux筷凤、windows昭殉、cisco)

服務(wù)(如sysmon, ldapd, dhcp)

類別(如process_creation)

請(qǐng)注意,這些標(biāo)識(shí)符是在sigmac(舊)或[pySigma](https://github.com/SigmaHQ/pySigma/)(新)使用的藐守。/tools/config中的配置文件中使用的挪丢,用于將特定日志源的字段映射到規(guī)則中使用的字段。如果你創(chuàng)建了一個(gè)新的日志源吗伤,如果你能在所有當(dāng)前配置文件中為不同的后端(qradar, helk, splunk等)添加適當(dāng)?shù)挠成涑钥浚蔷吞昧恕7駝t其他用戶或我們的維護(hù)者就得這么做足淆。

10巢块、檢測(cè)

檢測(cè)部分是非常靈活的,但是我們?cè)谶@個(gè)部分中看到了一些常見(jiàn)的錯(cuò)誤或樣式問(wèn)題巧号,這些問(wèn)題需要維護(hù)者重新定義族奢。

如果列表只包含一個(gè)元素,則不要使用列表(參見(jiàn)下面的示例)

只使用小寫(xiě)標(biāo)識(shí)符

如果你喜歡的話丹鸿,可以把注釋放在行中(使用兩個(gè)空格來(lái)分隔表達(dá)式和注釋越走,例如- 'cmd.exe' # command line)

不要使用正則表達(dá)式,除非你真的必須(例如靠欢,代替CommandLine|re: '\\payload廊敌。*\skeyset'使用CommandLine|包含|所有的值\有效負(fù)載和keyset)。

在新的源中使用日志源中出現(xiàn)的字段名稱门怪,刪除空格并保留連字符(例如SAMUserAccount變成SAMUserAccount)

不要在您的條件中使用特定于SIEM的邏輯

創(chuàng)建一個(gè)拉請(qǐng)求(所有的拉請(qǐng)求都會(huì)被自動(dòng)檢查是否有語(yǔ)法錯(cuò)誤骡澈、是否符合我們的標(biāo)準(zhǔn)以及是否有誤報(bào))

11、反斜杠

反斜杠在Sigma中有兩個(gè)功能:

(1)反斜杠作為普通值

(2)反斜杠作為前綴來(lái)轉(zhuǎn)義具有特殊含義的字符:反斜杠\本身掷空,以及通配符*和?肋殴。

以這種方式處理反斜杠有一個(gè)好處囤锉,即包含單個(gè)反斜杠(常見(jiàn)情況)的值可以以普通方式表示。另一方面护锤,一些極端情況需要額外的轉(zhuǎn)義:

只包含單個(gè)反斜杠的值可以用普通方式表示:C:\Windows\System32\cmd.exe

不要用反斜杠轉(zhuǎn)義單個(gè)反斜杠官地,從前面的例子中寫(xiě)入普通值,而不是C:\\Windows\\System32\\cmd.exe烙懦。

如果你想表達(dá)兩個(gè)普通的反斜杠驱入,可以使用其中的四個(gè):\\\\foo\bar的結(jié)果值為\\foo\bar。

如果你想要兩個(gè)反斜杠修陡,可以寫(xiě)\\\\

如果你想要一個(gè)普通的通配符*作為結(jié)果值沧侥,寫(xiě)\*。

如果您想要一個(gè)普通的反斜杠后跟一個(gè)通配符*作為結(jié)果值魄鸦,那么寫(xiě)入\\*宴杀。

如果你想要一個(gè)純反斜杠后跟一個(gè)純*作為結(jié)果值,寫(xiě)\\\*拾因。

請(qǐng)注意旺罢,反斜杠在正則表達(dá)式中有特殊的語(yǔ)義。在某些情況下绢记,像普通值一樣需要更多的反斜杠扁达。例子:

CommandLine|re: ...\\Microsoft...

結(jié)果:轉(zhuǎn)義的M (\M)。在許多目標(biāo)系統(tǒng)使用的perl兼容的正則表達(dá)式中蠢熄,這是無(wú)效的跪解,并會(huì)在新的Sigmatools中導(dǎo)致錯(cuò)誤。解決辦法:

CommandLine|re: ...\\\\Microsoft...

12签孔、值修飾符

盡管在技術(shù)上可以任意鏈接值修飾符叉讥,但并不是所有的組合都有意義。應(yīng)遵循以下排序規(guī)則:

添加通配符的修飾符(以with開(kāi)頭饥追、以with結(jié)尾和包含)后面不能跟著編碼修飾符(base64, base64offset)图仓,因?yàn)樗鼈冏约阂矔?huì)對(duì)通配符進(jìn)行編碼,導(dǎo)致其特殊功能的丟失但绕。

值修飾符鏈不能以字符集編碼修飾符(utf16, utf16le, utf16be和wide)結(jié)束救崔。產(chǎn)生的值在內(nèi)部表示為字節(jié)序列而不是文本字符串,并且包含在查詢中通常難以處理的空字符捏顺。因此六孵,后面應(yīng)該有一個(gè)編碼修飾符(base64, base64offset)。

通常幅骄,將re類型修飾符與其他修飾符組合在一起是沒(méi)有意義的劫窒。

一般來(lái)說(shuō),所有修飾符都可以放在任意位置昌执,因?yàn)樗行揎椃伎梢蕴幚韱沃岛土斜碇蛞啵凑諔T例,這個(gè)修飾符應(yīng)該放在末尾懂拾。

一些常見(jiàn)的組合是:

|contains|all:列表中的所有值都包含在日志值中煤禽。這對(duì)于以順序無(wú)關(guān)的方式表示命令行參數(shù)非常有用。

|utf16|base64offset|包含:value是Base64編碼的utf16岖赋,可以包含在值的任何位置(例如作為更大的Base64值的一部分)檬果。

13、字段

這些字段在評(píng)估某一事件時(shí)非常有用唐断。例如选脊,知道一個(gè)進(jìn)程的父進(jìn)程的命令行參數(shù)中包含可疑字符串是有幫助的。

這些字段可以自動(dòng)提取并呈現(xiàn)給分析人員脸甘,以加快分析速度恳啥。

14、假陽(yáng)性

想想可能會(huì)觸發(fā)規(guī)則的假陽(yáng)性條件丹诀。這個(gè)列表應(yīng)該包含對(duì)分析師有用的提示钝的。例如,注釋“刪除影子副本的合法進(jìn)程”可以提示分析師檢查該系統(tǒng)上的備份進(jìn)程铆遭,或詢問(wèn)任何涉及刪除本地卷影子副本的異常管理活動(dòng)硝桩。

15、等級(jí)

現(xiàn)有的四個(gè)級(jí)別可以進(jìn)一步分為兩類枚荣。

具有信息特征的規(guī)則碗脊,應(yīng)該以列表或條形圖的形式顯示(低、中)

應(yīng)該觸發(fā)專用警報(bào)(高橄妆,嚴(yán)重)的規(guī)則

設(shè)置級(jí)別時(shí)請(qǐng)遵循以下原則:

關(guān)鍵級(jí)別的規(guī)則不應(yīng)該觸發(fā)假陽(yáng)性衙伶,并具有高度相關(guān)性

對(duì)于需要人工審查的高相關(guān)性威脅的高級(jí)別觸發(fā)規(guī)則(需要很少的假陽(yáng)性>基線)

級(jí)別高和關(guān)鍵的規(guī)則表示事件(如果不是假陽(yáng)性)

低級(jí)別和中等級(jí)別的規(guī)則表示可疑活動(dòng)和違反策略

信息級(jí)規(guī)則具有信息性質(zhì),通常用于遵從性或相關(guān)性目的

16呼畸、工具

我們推薦使用visual Studio Codewith sigma Extension痕支。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蛮原,隨后出現(xiàn)的幾起案子卧须,更是在濱河造成了極大的恐慌,老刑警劉巖儒陨,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件花嘶,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蹦漠,警方通過(guò)查閱死者的電腦和手機(jī)椭员,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笛园,“玉大人隘击,你說(shuō)我怎么就攤上這事侍芝。” “怎么了埋同?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵州叠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我凶赁,道長(zhǎng)咧栗,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任虱肄,我火速辦了婚禮致板,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咏窿。我一直安慰自己斟或,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布翰灾。 她就那樣靜靜地躺著缕粹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纸淮。 梳的紋絲不亂的頭發(fā)上平斩,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音咽块,去河邊找鬼绘面。 笑死,一個(gè)胖子當(dāng)著我的面吹牛侈沪,可吹牛的內(nèi)容都是我干的揭璃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼亭罪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瘦馍!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起应役,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤情组,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后箩祥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體院崇,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年袍祖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了底瓣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蕉陋,死狀恐怖捐凭,靈堂內(nèi)的尸體忽然破棺而出拨扶,到底是詐尸還是另有隱情,我是刑警寧澤茁肠,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布屈雄,位于F島的核電站,受9級(jí)特大地震影響官套,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蚁孔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一奶赔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杠氢,春花似錦站刑、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至温艇,卻和暖如春因悲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勺爱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工晃琳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琐鲁。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓卫旱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親围段。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顾翼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 去年有段時(shí)間得空,就把谷歌GAE的API權(quán)威指南看了一遍奈泪,收獲頗豐适贸,特別是在自己幾乎獨(dú)立開(kāi)發(fā)了公司的云數(shù)據(jù)中心之后...
    騎單車的勛爵閱讀 20,444評(píng)論 0 41
  • 不要為了遵守這份風(fēng)格指南而破壞代碼的向后兼容性。 這里有一些好的理由去忽略某個(gè)風(fēng)格指南: 當(dāng)應(yīng)用風(fēng)格指南的時(shí)候使代...
    小哲1998閱讀 441評(píng)論 0 4
  • 規(guī)則格式 特征/簽名在suricata中起著非常重要的作用段磨。在大多數(shù)情況下取逾,人們使用現(xiàn)有的規(guī)則集。 Suricat...
    lx_jian閱讀 6,494評(píng)論 0 0
  • Google Java Style 指南 1 前言 本文檔參考并翻譯自Google Java Style Guid...
    烽火連城_0b2a閱讀 1,125評(píng)論 0 0
  • Google Java Style 指南 1 前言 本文檔參考并翻譯自Google Java Style Guid...
    AlexMofer閱讀 10,797評(píng)論 0 4