SIEM Korelasyon Kuralları, Çapraz Korelasyonlar ve İleri Korelasyon
1. 15 dakika içerisinde 1500 benzersiz (unique) IP’den 350000 den fazla olay olursa uyar
2. Saatlik login fail/ login success auth oranı %3 ü aşarsa tespit et
3. Saatlik Http/dns oranı 1 den düşük olursa tespit et
4. AV tarafından virüs tespit edilen bir makinadan 5 dakika içinde başka bir makinaya login olunur ve daha sonra da login olunan bu makina 5 dakika içinde firewall tarafından bloklanır ise uyar
5. Aynı kullanıcı aynı anda birden fazla makinaya login oluyorsa ve bu kullanıcı admin değilse veya white listde yoksa uyar. (Aynı anda operatörü)
6. Eğer kullanıcı başarısız oturum olayına sebep oldu ve sonraki 5 dakika içerisinde bunu tekrar etmedi ama 5. dakika ile 10. dakika arasında tekrar bir adet oluşturdu ve yine bir 5–10 dakika bekledi ve sonra tekrar oluşturdu ise uyar. ,(A olayından sonraki 5 dakika içerisinde B olayı olmayacak ama 5. Dakika ile 10. Dakika arasında olacak şeklinde operatörlerin desteklenmesi gerekir).
7. Aynı anda aynı kullanıcı bir makinaya VPN yaparken, aynı anda sisteme lokal login olursa uyar.
8. Bir kullanıcı arada hiç başarılı oturum açmadan 30 dakikada 3 tane oturum açma denesi yapıyor ve başarısız oluyorsa uyar
9. Bir makina Tehdit istihbarat listesine takılırsa bu makinaya en son login olan kullanıcıyı bildir (Önce operatörü)
10. Bir dakikada 50 mb dan fazla download edilen ve url i zip, exe, dat ile biten kullanıcı olursa uyar
11. Bir makinada bir process ayağa kalktıktan sonra 5 dakika içinde başka bir makinada da aynı process ayağa kalkar ve birinci makinadaki processin ayağa kalktığı path ile ikinci makinanın pathi aynı olursa ve kullanıcılar da farklı ise ve bu makinalardan biri sonraki 5 dakika içinde firewall tarafından bloklanırsa uyar.
12. Yeni bir kullanıcı oluşturan kullanıcının oluşturduğu yeni kullanıcı 5 dakika içinde login failure yapar ve sonraki 5 dakika içinde de kullanıcı oluşturan kullanıcı yeni bir kullanıcı oluşturursa uyar
13. Bir kullanıcı oluşturulduktan sonra hiç kullanılmadan 10 dakika içinde siliniyorsa alarm üretme ama bu arada kullanılıp siliniyorsa uyar
14. Aynı IP önce Linux sunucuda oturum açıyor daha sonra da Windows sunucuda oturum açıyor ve ardından bu iki sunucudan birinde servis açılıyor / kapatılıyor ise uyar
15. Aynı kullanıcı 2 farklı makinada 15 dakka içinde başarısız oturum deniyor ve 2. Başarısız oturumdan sonraki 5 dakka içerisinde bu makinalardan birinden tehdit istihbarat listesindeki bir IP ye erişim isteği oluyorsa uyar
16. Arada hiç başarılı oturum açmadan aynı kullanıcı 10 dakika içinde en az 3 defa başarısız oturum açarsa uyar.
17. Banu dışarıdan içeri VPN yapıyor ve 172.16.23.21 IP sini alıyor.
Daha sonra Bu IP den başka bir sisteme SSH yapıyor ve bu sistemdeki IP si de 172.16.99.99 oluyor
Daha sonra da 172.16.99.99 den internete erişmeye çalışırken bloklanıyor.
18. Birden fazla kullanıcı adı ile brute force yapılırken veya brute forcedan sonraki 15 dakika içerisinde sadece brute force yapılan makinelerden birine başarılı oturum açılırsa (O ana denk gelen ama brute force yapılmayan makinelerde açılan oturumları istemiyorum çünkü false positive olmasını istiyoruz. Binlerce cihazlık bir ağda oturum açma doğal bir davranış. Bunun şüpheli olması için bu durumda brute force saldırısı altında olması gerekir)
PoC de bu kuraldan beklenen ise şu 4 şeyi aynı anda yapması
✔️ Brute force yapan bir veya birden fazla kullanıcıyı bildirsin
✔️ Sadece brute force yapılan makinelerin Kaynak IP lerini listeye atsın
✔️ Başarılı oturum açılan makina veya makineleri bildirsin
✔️ Başarılı oturum açarken kullanılan kullanıcı adlarını bildirsin
Bu kuralı buraya almamızın sebebi
🔔 Bunu listeler kullanmadan yapabiliyor olması
🔔 Birden fazla kullanıcı adını bir atımda tespit edebiliyor olması
🔔 Envanterinizde binlerce cihaz olabilir ama saldırı bunların sadece 100 tanesine olmuş olabilir. Dolayısı ile brute force sebebi ile risk seviyesi artan ve şüpheli duruma gelen sadece bu yüz tanedir. Bu kuralın sadece brute force yapılan bu 100 adeti monitoring için listeye atıyor olması
🔔 Bu brute force sonucu başarılı olarak şifresi bulunan kullanıcı adının da aynı anda tespit edebiliyor olması
🔔 Yukarıdaki 4 maddeyi 1 defada tek bir kural ile 3–5 dakika içinde GUI ile yazıp sağlayabiliyor olması
19. Eğer bir domain son 24 saatte oluşturuldu ise ve bu domain Alexa 1 milyon ve Cisco Umbrella 1 milyon listesinde ve bizim White liste de değilse uyar
20. DGA detection (ML)
21. Hunting malware and viruses by detecting random strings
22. Ağınızda güvenli olması gereken kritik processlerle (winlogon.exe, svchost.exe, explorer.exe, lsm.exe, lsass.exe, csrss.exe, taskhost.exe, wininit.exe, smss.exe, smsvchost.exe) isim benzerliği açısından yanıltıcı olabilecek (insan gözü tarafından aynıymış gibi algılanabilecek) processler ayağa kalkarsa ve bu ayağa kalkan processler izin verilen processler içerisinde değil ise uyar
23. 3 aydan daha uzun süredir login olmayan varsa uyar
24. Kullanıcı oluşturuldu ve 72 saattir kullanılmadı ise uyar
25. 5 dakika içerisinde 500 MB download eden veya 10 dakika içerisinde aynı hedef IP/Domain e 250 MB upload edilen kullanıcıyı tespit et ve uyar (Threshold ama her SIEM tarafından desteklenmediği için buraya aldım)
26. Herhangi bir makine gün içerisinde farklı farklı saatlerde en az 3 veya daha fazla kez firewall tarafından bloklanıyorsa tespit et
27. En az 15 gündür (20, 30, 40…365 gün) hiç VPN yapmamış bir kullanıcı, kısa süre içerisinde 1 den fazla workstationda Remote interactive logon olmuşsa uyar.
28. En az son 30 gündür (20, 30, 40…365 gün) kullanılmayan standart proxy target portları harici bir port yeniden kullanılmaya başlamışsa ve bu port 1024 portundan büyük bir portsa birden fazla farklı dst ip adresine 5 dk içerisinde requestMethod=POST olacak şekilde çoklu istek yapıyorsa alarm trigger etsin
29. Aynı kullanıcı, aynı makinaya gün içerisinde hiç başarılı oturum açmadan iki den fazla başarısız oturum açarsa tespit et.
30. Lock olan bir kullanıcı 72 saat geçmesine rağmen unlock olmadı ise uyar
31. Orijinal mail adresine benzer mail adreslerinden mail gelirse uyar. Örnek :
ertugrula@anetsoft.com.tr olan mail adresinden errtugrula@anetsoft.com olarak mail geliyor ise uyar
(bir oltalama yöntemi)
32. Oracle veritabanı kullanıcı ara yüzünden (Oracle Management Studio) ve konsoldan (SQL*Plus) aynı anda kimlik doğrulama hatası verirse, uyar
33. En az 30 gündür veya daha fazla süredir (40 gün, 60 gün,90 gün …. 365 gün gibi) suskun olan bir makine veya kullanıcı tekrar ağda görülürse makinayı kapat ve kullanıcıyı disable et
34. 2 aydan daha uzun süredir login olmayan kullanıcı varsa uyar
35. 30 günden daha uzun süredir şifre değiştirmeyen kullanıcı olursa uyar
36. 4 saatten uzun RDP i açık kalan olursa uyar
37. 4 saatten uzun VPN i açık kalan olursa uyar
38. 5 dakikada 1000 MB veya daha fazla download eden veya 10 dakikada aynı hedef IP/Domain den 500 MB download eden olursa uyar
39. 72 saatten uzun süredir IP değiştirmeyen cihaz (MAC) olursa uyar
40. Aynı anda aynı kullanıcı bir makinaya VPN yaparken baska bir makinaya da RDP yaparsa uyar
41. Ayni kullanıcı aynı makinaya gün içerisinde hiç başarılı oturum açmadan iki den fazla basarisiz oturum açarsa tespit et
42. Bir kullanıcı daha önce şirkette kimsenin gitmediği bir domaine günde en az 1 kere ve haftada 2 den fazla erişirse uyar
43. New city access for the first time
44. Eger bir domain son 24 saate oluşturuldu ise ve bu domain Alexa 1 milyon ve Cisco Umbrella 1 milyon listesinde ve bizim White liste de değilse uyar
45. En az 15 gündür (20–30–40–365 gün) hiç VPN yapmamış bir kullanıcı kısa süre içerisinde 1 den fazla workstationda Remote interactive logon olmuşsa uyar
46. En az 30 gündür veya daha fazla süredir (40 gün-60 gün-90 gün-365 gün gibi) suskun olan bir makine veya kullanıcı tekrar ağda görülürse makinayı kapat ve kullanıcıyı disable et
47. Kapanan bir sunucu 4 saattir ayağa kalkmadı ise uyar
48. Kullanıcı oluşturuldu ve 72 saattir kullanılmadı ise uyar
49. Virüs bulundu ve 8 saaten fazladir temizlenmedi ise uyar
50. Iki login arasindaki süre 1 dakikadan az ise uyar
51. Iki login failed arasindaki süre 1 dakikadan az ise uyar
52. Oracle veritabani kullanici arayüzünden (Oracle Management Studio) ve konsoldan (SQL*Plus) ayni anda kimlik dogrulama hatasi verirse uyar
53. Orijinal mail adresine benzer mail adreslerinden mail gelirse uyar
Aşağıda ingilizce olarak verilen kural setini bulabilirsiniz.
- Abnormal auth behavior: the user has never authenticated to this machine before at this time
- VPN connection from a known anonymous proxy
- Suspicious creation of new network ACL
- Suspicious creation of security group
- Suspicious deleting a rule from a network ACL
- Suspicious deletion of customer gateway
- Abnormal number of discover requests from a client
- Abnormal activity duration/session count
- Abnormal amount of bytes transmitted
- Abnormal amount of data egressed to competitor domains compared to past behavior
- Abnormal amount of data egressed to non-business domains compared to past behavior
- Abnormal amount of data egressed to personal email account compared to past behavior
- Abnormal amount of data egressed to removable media compared to past behavior
- Abnormal amount of login attempt detected on MFA
- Abnormal Email counts
- Abnormal session start time
- Access to internal applications / servers/ peers
- Account creation/ disable/ lockout / deletion rates
- Activity duration/ session counts
- Authentication anomaly-Country Mismatch
- Entropy Mismatch
- Excessive user logons on hosts
- First access to database mssql for user
- First access to device for the user
- First activity from ISP
- First connection from Source IP
- First time user is performing an activity from this device
- First VPN connection from device for the user
- High number of accounts from the same ipaddress for authentication failures or lockout events
- High number of accounts from the same ipaddress for successful authentications or run as events
- High number of accounts used on a workstation for authentication failures or lockout events
- High number of accounts used on a workstation for successful authentications or run as events
- High number of hosts accessed for authentication failures or lockout events
- High number of hosts accessed for successful authentication events or run as events
- High number of hosts accessed while enumerating critical ports
- High number of redirected/blocked attempts
- High number of run as activity across hosts
- High number of server errors
- If a user accesses sensitive files and at the same time the same user has a connection to file sharing sites then notify
- If an account not used in at least the last 30 days (31–40–60–90–180 days etc.) notify/lock/delete the account automatically
- Impossible Travel Detection in Real-Time (VPN Anomaly)
- Logon from a rare country
- New host logins
- New processes / Registry changes
- Odd time of access (first and last access)
- Odd time of email activity
- Odd time of logins
- Password change rates
- Successful/Failed login activity rates
- Upload/download deviations
51. Warn if a user is doing two different jobs at the same time (successful session-failed session, VPN-local login, URL Access-file Access, etc.)
52. Abnormal auth behavior: the user has never authenticated to this machine before from this source machine
53. Masquerading Detection: Detect system utilities, tasks, and services Masquerading. (T1036.003 Rename System Utilities Rename, T1036.004 Masquerade Task or Service)
54. Warn if a virus is detected on a client machine and not cleaned within 24 hours
55. Warning if a user is doing the same job on different systems at the same time (database and local login, log in on two servers at the same time, downloading files from the internet, and running processes)
56. Dga detection
57. Warn if the sum of the bytes processed parameter for web server access logs suddenly becomes too high
58. If a user accesses sensitive files, and at the same time, the same user has a connection to file sharing sites, then notify.
59. Same source ip, over 300,000 bytes message size (sum / count) within 1 minute to destination port 53 (DNS). (sum)
60. Warn if powershell command with base64 format and more than 100 characters appears
61. Ratio of web errors is greater than %5
62. Warn if a server is shut down and not started within 24 hours
63. Look for a user whose http to dns protocol ratio is higher than %95 of the other users for the last four-week ratio for 4th day of week (today)
64. Multiple logons with the same credentials at the same time from different ips
65. Warn if a base64-formatted powershell command longer than 100 characters was seen.
66. If an account not used in at least the last 30 days (31,40,60,90,180 days etc. ), notify/lock/delete the account.
67. Warn if a domain created in the last 24 hours is not in the top 1 million rankings and not in our whitelist
68. Warn if shanon entropy score of a filename or processname or domain name is higher than 7.2
69. Login time to this machine is abnormal
70. Hunting malware and viruses by detecting random strings
71. Warn if a user’s vpn stays open for more than 4 hours
72. Warn if a user created and not used for 72 hours
73. Warn if the time between two login events of the same user is less than 1 minute
74. Warn if the time between two logins failed events of the same user is less than 1 minute
75. If there is a port usage, which is very rare (like under %3)
76. Warn if a user has visited the malicious categories on the proxy at least once a day for a week. (bot networks, uncategorized, malware, spyware, dynamic dns, encrypted upload)
77. Warn if a user who has not had a vpn for at least 15 days (20,30,40…265 days) has remote interactive logon on more than one (1) workstation in a short time.
78. File excluded from your antimalware scanner at the same time as code was executed via a custom script extension on your virtual machine.
79. Realizing that paula from marketing is signed in from a mobile device and her office pc at the same time
80. Teamviewer activity and the download of notepad++ was taking place at the same time
81. Warn if ip url blocked by mail gateway is not blocked by proxy.