Project

General

Profile

Actions

Feature #4986

open
VJ JF

Feature #4174: tracking: app-layer frame inspection support

Task #4871: tracking: implement frames for all parsers

pgsql: support frames

Feature #4986: pgsql: support frames

Added by Victor Julien about 4 years ago. Updated about 1 year ago.

Status:
In Progress
Priority:
Normal
Target version:
Effort:
Difficulty:
Label:

Related issues 1 (0 open1 closed)

Related to Suricata - Feature #4241: Protocol support: PostgreSQL (pgsql)ClosedJuliana Fajardini ReichowActions

JF Updated by Juliana Fajardini Reichow about 4 years ago Actions #1

  • Related to Feature #4241: Protocol support: PostgreSQL (pgsql) added

JF Updated by Juliana Fajardini Reichow about 4 years ago Actions #2

  • Status changed from Assigned to In Progress

VJ Updated by Victor Julien about 4 years ago Actions #3

  • Tracker changed from Task to Feature

JF Updated by Juliana Fajardini Reichow about 4 years ago Actions #4

A proposal for pgsql frame rule keywords:

Introduction: postgreqsl app-layer protocol "header", when it is present, is basically a char (byte) to identify the message (sometimes its meaning is dependent of further message contents and/or state) and a length field to inform message length. With that in mind, we propose the following frame keywords for pgsql:

From the client:
- request: any message from the client
- startup: specific for when the client tries to connect to the server
- query: specific for query commands
- copy_data: specific for COPY subprotocol*

From the server:
- response: any message from the server
- data_row: specific for results of SELECT queries
- copy_data: specific for COPY subprotocol*

Usage: these work with keywords that go with sticky buffer. Example:

alert pgsql $EXTERNAL_NET any -> any any (msg: "pgsql: external select attempt"; frame:pgsql.query; content:"select"; sid:1; rev:1); 

The query, data_row and copy_data keywords could be used to identify specific contents at risk of data breaches, as an example.

(*) Reference: https://www.postgresql.org/docs/14/protocol-flow.html#PROTOCOL-COPY

VJ Updated by Victor Julien over 3 years ago Actions #5

  • Target version changed from 7.0.0-beta1 to 8.0.0-beta1

VJ Updated by Victor Julien over 1 year ago Actions #6

  • Subject changed from postgresql: support frames to pgsql: support frames

VJ Updated by Victor Julien about 1 year ago Actions #7

  • Target version changed from 8.0.0-beta1 to 9.0.0-beta1
Actions

Also available in: PDF Atom