SIEM Korelasyon Kuralları, Çapraz Korelasyonlar ve İleri Korelasyon

Ertugrul Akbas
9 min readApr 27, 2023

--

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.

  1. Abnormal auth behavior: the user has never authenticated to this machine before at this time
  2. VPN connection from a known anonymous proxy
  3. Suspicious creation of new network ACL
  4. Suspicious creation of security group
  5. Suspicious deleting a rule from a network ACL
  6. Suspicious deletion of customer gateway
  7. Abnormal number of discover requests from a client
  8. Abnormal activity duration/session count
  9. Abnormal amount of bytes transmitted
  10. Abnormal amount of data egressed to competitor domains compared to past behavior
  11. Abnormal amount of data egressed to non-business domains compared to past behavior
  12. Abnormal amount of data egressed to personal email account compared to past behavior
  13. Abnormal amount of data egressed to removable media compared to past behavior
  14. Abnormal amount of login attempt detected on MFA
  15. Abnormal Email counts
  16. Abnormal session start time
  17. Access to internal applications / servers/ peers
  18. Account creation/ disable/ lockout / deletion rates
  19. Activity duration/ session counts
  20. Authentication anomaly-Country Mismatch
  21. Entropy Mismatch
  22. Excessive user logons on hosts
  23. First access to database mssql for user
  24. First access to device for the user
  25. First activity from ISP
  26. First connection from Source IP
  27. First time user is performing an activity from this device
  28. First VPN connection from device for the user
  29. High number of accounts from the same ipaddress for authentication failures or lockout events
  30. High number of accounts from the same ipaddress for successful authentications or run as events
  31. High number of accounts used on a workstation for authentication failures or lockout events
  32. High number of accounts used on a workstation for successful authentications or run as events
  33. High number of hosts accessed for authentication failures or lockout events
  34. High number of hosts accessed for successful authentication events or run as events
  35. High number of hosts accessed while enumerating critical ports
  36. High number of redirected/blocked attempts
  37. High number of run as activity across hosts
  38. High number of server errors
  39. If a user accesses sensitive files and at the same time the same user has a connection to file sharing sites then notify
  40. 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
  41. Impossible Travel Detection in Real-Time (VPN Anomaly)
  42. Logon from a rare country
  43. New host logins
  44. New processes / Registry changes
  45. Odd time of access (first and last access)
  46. Odd time of email activity
  47. Odd time of logins
  48. Password change rates
  49. Successful/Failed login activity rates
  50. 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.

--

--