Task #3426

Task #2805: Porovnani a otestovani databazovych systemu vhodnych pro systemy Mentat a NERD

Popis IP rozsahov v IDEA správach

Added by Radko Krkoš almost 2 years ago. Updated 9 months ago.

Status:ClosedStart date:05/04/2017
Priority:NormalDue date:
Assignee:Jan Mach% Done:

100%

Category:Research and analysis
Target version:2.0

Description

Pri testovaní TS2.5 pre PostgreSQL som našiel zvláštne popísané správy v prípade reportu pre rozsah IP adries, ako vidno z ukážky nižšie, konkrétne Target.IP4.{ip,max,min}

{  
  "ID":"0a7063ac-8f20-468f-ba7a-afcef12deeeb",
  "ts":1465599913,
  "Node":[  
    {  
      "Name":"cz.cesnet.mentat.warden_filer",
      "Type":[  
        "Relay" 
      ]
    },
    {  
      "SW":[  
        "HPScan" 
      ],
      "Name":"cz.vutbr.hpscan",
      "Tags":[  
        "Connection",
        "Honeypot",
        "Recon" 
      ],
      "AggrWin":"00:05:00" 
    }
  ],
  "ts_u":1465599913.874076,
  "Format":"IDEA0",
  "Source":[  
    {  
      "IP4":[  
        {  
          "ip":708719015,
          "max":708719015,
          "min":708719015
        }
      ],
      "Port":[  
        6000
      ]
    }
  ],
  "Target":[  
    {  
      "IP4":[  
        {  
          "ip":2481285120,
          "max":2481286143,
          "min":2481285120
        }
      ],
      "Port":[  
        5900
      ],
      "Proto":[  
        "tcp" 
      ],
      "Anonymised":true
    }
  ],
  "class2":"idea",
  "_CESNET":{  
    "StorageTime":1465599913
  },
  "Category":[  
    "Recon.Scanning" 
  ],
  "ConnCount":3,
  "DetectTime":1465599626,
  "WinEndTime":1465599902,
  "WinStartTime":1465599602
}

Minimum a maximum špecifikujú /24 rozsah, v tomto prípade 147.229.104.0 - 147.229.104.255, je ale nastavená aj položka ip, na hodnotu minima. Normálne by som to akceptoval, že sa jedná o z pohľadu udalosti nejako významnú adresu z daného rozsahu, ale podľa whois databázy je to adresa siete.

Celkovo sa jedná o niekoľko rozsahov (vždy /24) ale tiež niekoľko detektorov:

                    node_name                    | count
-------------------------------------------------+-------
 {cz.cesnet.mentat.warden_filer,cz.vutbr.hpscan} | 32007
 {cz.cesnet.mentat.warden_filer,cz.nic.dionaea2} |  5631
 {cz.cesnet.mentat.warden_filer,cz.nic.dionaea1} |  4932
 {cz.cesnet.mentat.warden_filer,cz.nic.kippo}    |   893

Moja otázka: Je IP = IP_min if IP_min != IP_max; očakávané chovanie?

History

#1 Updated by Radko Krkoš almost 2 years ago

Doplnenie:
  • Je možné nájsť aj rozsahy /25, /16 a pod. Spoločné majú len to, že posledný oktet maxima je 255.
  • Úplne všetky udalosti majú zhodné ip a min. Líši sa od nich max ak sa jedná o rozsah. Je to takto zamýšľané?

#2 Updated by Jan Mach almost 2 years ago

Původní kód Mentatu v Perlu pracuje takto:

  • Pokud se jedná o jednu IP adresu, tak ip min max
  • Pokud se jedná o síť, tak ip == min a obsahuje adresu sítě

Dalo by se tedy vystačit jen s min a max, ale úpravy ve schématu databáze jsme plánovali udělat najednou s přechodem na Python.

#3 Updated by Pavel Kácha almost 2 years ago

  • Assignee changed from Pavel Kácha to Jan Mach

Jan Mach wrote:

  • Pokud se jedná o síť, tak ip == min a obsahuje adresu sítě

Tohle je pro mě taky novinka, měl jsem za to, že pokud se jedná o síť, tak tam ip vůbec není (protože nedává smysl). Když hledám explicitně jednu konkrétní IP adresu, neměl bych najít síť, (nehledě na to, že tu síť najdu jen v případě, že hledaná IP je spodní hranicí sítě, jinak ne).

Myslím, že jsme se někdy shodli, že ip rušit nebudeme, protože na jednoadresové dotazy do Monga z pohledu výkonu dává smysl, přestože by stačil min/max, ale tohle by s novým kódem chtělo sjednotit.

#4 Updated by Radko Krkoš almost 2 years ago

Jan Mach wrote:

úpravy ve schématu databáze jsme plánovali udělat najednou s přechodem na Python

Rozumiem, pri testovaní PostgreSQL ale musím podobné veci tiež riešiť. Nie je to tak že len buzerujem z dlhej chvíle.

Pavel Kácha wrote:

pokud se jedná o síť, tak tam ip vůbec není (protože nedává smysl). Když hledám explicitně jednu konkrétní IP adresu, neměl bych najít síť, (nehledě na to, že tu síť najdu jen v případě, že hledaná IP je spodní hranicí sítě, jinak ne).

Presne pre toto som sa pýtal.

V poriadku, teraz viem čo zhruba s tým. Ale mohli by sme sa o tom porozprávať keď sa niekedy stretneme.

#5 Updated by Pavel Kácha almost 2 years ago

Radko Krkoš wrote:

V poriadku, teraz viem čo zhruba s tým. Ale mohli by sme sa o tom porozprávať keď sa niekedy stretneme.

Jestli jsi na to narazil kvůli importu do pq, tak holt pokud jsou min a max různé, ignoruj ip. Pokud to všechno reprezentuješ jako rozsahy (tj. i jedna ip adresa je rozsah), tak to asi ani nemusíš řešit a ber v ůvahu jenom miny a maxy.

#6 Updated by Radko Krkoš almost 2 years ago

Pavel Kácha wrote:

Jestli jsi na to narazil kvůli importu do pq, tak holt pokud jsou min a max různé, ignoruj ip. Pokud to všechno reprezentuješ jako rozsahy (tj. i jedna ip adresa je rozsah), tak to asi ani nemusíš řešit a ber v ůvahu jenom miny a maxy.

B je správne. Už to tak mám nejaký čas aj implementované, ale chcel som si radšej overiť ako ste to mysleli. Od rána je to v repozitári a ja môžem znovu na chvíľu prestať používať “git add -p”. Inak prvé výsledky vyzerajú dosť dobre. Napriek tomu že nie sú hotové indexy a celé som to spúšťal len s indexom na DetectTime, Postgres je väčšinou rýchlejší, niekedy výrazne, občas je vyrovnaný a v prípade opačného radenia príšerne pomalý. To ale zrejme pôjde vyriešiť nejakým vhodným indexom. A všetko to bolo len na jednom jadre, takže v 10.0 je potenciál na ďalšie zrýchlenie. Nemám to zatiaľ spracované, tak som to neposielal, ale ak ste zvedaví, dajte vedieť, dám niečo narýchlo dokopy. Teraz sa chcem pohrať s indexami a potom budeme pripravení na meranie.

#7 Updated by Radko Krkoš almost 2 years ago

  • Status changed from Feedback to Resolved

#8 Updated by Pavel Kácha almost 2 years ago

  • Status changed from Resolved to Feedback

Meku, zkontroluj prosím příležitostně, že to v novém pythonovém storage démonovi je správně - pro sítě jen min a max (bez ip), pro jednotlivé adresy min max ip.

#9 Updated by Pavel Kácha almost 2 years ago

  • Status changed from Feedback to Closed

Přesunuto do #3364 a českou verzi zavírám.

#10 Updated by Jan Mach 9 months ago

  • Target version changed from Future to 2.0
  • % Done changed from 0 to 100

Also available in: Atom PDF