Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate Sessions #8

Closed
glaslos opened this issue Mar 12, 2016 · 9 comments
Closed

Evaluate Sessions #8

glaslos opened this issue Mar 12, 2016 · 9 comments
Assignees
Milestone

Comments

@glaslos
Copy link
Member

glaslos commented Mar 12, 2016

With session tracking #7 we can:

  • Evaluate how successful our responses are in triggering multiple stages
  • Attempt fingerprinting the session owner (bots/tools/persons)
@glaslos glaslos added this to the gsoc_sprint_2 milestone Apr 26, 2016
@glaslos
Copy link
Member Author

glaslos commented May 31, 2016

You probably want to have a dict with all the request paths for a session and then count how often a certain path was accessed. Maybe also a timestamp for when which path was accessed. I kind of want to see which paths the attacker tried to access when and in which order.

@glaslos
Copy link
Member Author

glaslos commented Jun 2, 2016

This is a rather open task so don't get hung up on it.

@glaslos glaslos modified the milestones: gsoc_sprint_2, gsoc_sprint_3 Jun 6, 2016
@glaslos
Copy link
Member Author

glaslos commented Jun 6, 2016

Moved this issue to gsoc_sprint_3

@glaslos
Copy link
Member Author

glaslos commented Jun 10, 2016

I think a good start for this task is to look at RFI attacks. They usually start with an injection of a id script. They run some simple script that should return some information about the system. If successful, they inject the bot. In the sessions, we should be able to see the stages. Maybe we should start this with a tool to investigate the stored sessions.

@afeena
Copy link
Collaborator

afeena commented Jun 12, 2016

1.Maybe we should store the attack type in the session? For now we store paths, and we need to analyze them, i.e. we should do the same thing that we do in detection.
2.When we should initialize investigation tool? When the session is added/updated, or after session is pushed to redis? If we use redis, maybe we need update old session in the redis?

For now I don't fully understand how to investigate stored session. Count how often was accessed the certain path and it's type? Use paths timestamps to measure periods of attacks? (I think humans more slowly than network tools and crawlers). If we use hidden links, we can't with 100% say it's human or bot (because of the fact, that attacker can use page source to access hidden links), but we can maybe store that someone have accessed hidden link and use it for investigation

@glaslos glaslos modified the milestones: gsoc_sprint_3, gsoc_sprint_4 Jun 14, 2016
@glaslos
Copy link
Member Author

glaslos commented Jun 14, 2016

Both are good ideas, we definitely want the attack type stored in the session. You can start with adding requests/second to the session when you close it.

@afeena
Copy link
Collaborator

afeena commented Jun 15, 2016

What we expect as a result? Maybe we make json for every session with stats, e.g.

    "uuid":"session uuid",
    "user_agent":"ua",
    "sensor_uuid":"suuid",
    "start time":"start timestamp",
    "end_time":"end timestamp",
    "requests/second":"10",
    "approx_time_between_requests":0.1,
    "accepted_paths":20,
    "errors":"no",
    "paths":[  
        {  
            "path":"path1",
            "attack_type":"lfi",
            "payload":"/etc/passwd",
            "time":"timestamp"
        }
    ],
    "possible_owner":"human"

@afeena
Copy link
Collaborator

afeena commented Jun 16, 2016

I think about storing evaluation result. Maybe we don't need raw sessions in redis, maybe we should store only sessions, that were evaluated?

@glaslos
Copy link
Member Author

glaslos commented Jun 19, 2016

You are right, we can keep the open sessions in the TANER Python process memory. Create a separate issue for it.

Closing this issue after merging 7087bb8

@glaslos glaslos closed this as completed Jun 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants