Project

General

Profile

Actions

Task #3195

open
VJ VJ

tracking: rustify all input

Task #3195: tracking: rustify all input

Added by Victor Julien over 6 years ago. Updated 5 months ago.

Status:
Assigned
Priority:
High
Assignee:
Target version:
Effort:
Difficulty:
Label:
Hardening

Description

Goal is to make sure all untrusted input is handled by Rust code instead of C code.


Related issues 19 (6 open13 closed)

Related to Suricata - Optimization #2977: replace asn1 parser with rust based implementationClosedEmmanuel ThompsonActions
Related to Suricata - Optimization #2979: replace mime decoder with rust based implementationRejectedPhilippe AntoineActions
Related to Suricata - Task #2778: tracking: port app-layer parsers to RustNewOISF DevActions
Related to Suricata - Feature #3317: rules: use rust for tokenizing rulesFeedbackJason IshActions
Related to Suricata - Bug #3517: Convert DER parser to RustClosedPierre ChifflierActions
Related to Suricata - Feature #3957: Convert protocol to Rust: ModbusClosedSimon DugasActions
Related to Suricata - Feature #3958: enip: convert protocol parser to rustClosedPhilippe AntoineActions
Related to Suricata - Task #4082: ftp: convert parser to RustIn ProgressJeff LucovskyActions
Related to Suricata - Task #4095: tracking: unify rule keyword value parsingNewOISF DevActions
Related to Suricata - Task #4161: tls: convert parser to RustNewOISF DevActions
Related to Suricata - Optimization #5207: Common Rust parser for *bitsAssignedShivani BhardwajActions
Related to Suricata - Feature #7110: ssh: convert parser to rustRejectedActions
Related to Suricata - Optimization #7178: rfb: rustify keywords and app-layer registrationClosedPhilippe AntoineActions
Related to Suricata - Feature #7204: sip: rustify sticky buffersClosedGiuseppe LongoActions
Related to Suricata - Security #7229: detect: write to read-only memory in transformsClosedPhilippe AntoineActions
Related to Suricata - Optimization #7529: detect/dns: move wrapper code from C to rustClosedPhilippe AntoineActions
Related to Suricata - Feature #2696: http: implement parser in rustClosedPhilippe AntoineActions
Related to Suricata - Optimization #8254: detect/ssh: move code to rustClosedPhilippe AntoineActions
Related to Suricata - Optimization #8255: detect/quic: move code to rustClosedPhilippe AntoineActions

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

VJ Updated by Victor Julien over 6 years ago Actions #2

  • Related to Optimization #2979: replace mime decoder with rust based implementation added

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

  • Related to Task #2778: tracking: port app-layer parsers to Rust added

VJ Updated by Victor Julien over 6 years ago Actions #4

  • Related to Feature #3317: rules: use rust for tokenizing rules added

VJ Updated by Victor Julien about 6 years ago Actions #5

  • Priority changed from Normal to High

VJ Updated by Victor Julien about 6 years ago Actions #6

  • Related to Bug #3517: Convert DER parser to Rust added

PA Updated by Philippe Antoine almost 6 years ago Actions #7

Useful as well for signature parsing cf https://github.com/OISF/suricata/pull/5081/files#r442105437

JI Updated by Jason Ish almost 6 years ago Actions #8

Philippe Antoine wrote in #note-7:

Useful as well for signature parsing cf https://github.com/OISF/suricata/pull/5081/files#r442105437

One example of parsing a part of a signature in Rust is for DNS opcode:

https://github.com/OISF/suricata/blob/master/rust/src/dns/detect.rs#L34

PA Updated by Philippe Antoine almost 6 years ago Actions #9

Another example of what to do :
https://github.com/OISF/suricata/pull/5095#discussion_r444300697

Rustify structure `StreamingBufferConfig` so that we can use it easily in Rust

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

  • Related to Feature #3957: Convert protocol to Rust: Modbus added

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

  • Related to Feature #3958: enip: convert protocol parser to rust added

JI Updated by Jason Ish over 5 years ago Actions #12

  • Related to Task #4082: ftp: convert parser to Rust added

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

  • Related to Task #4095: tracking: unify rule keyword value parsing added

PA Updated by Philippe Antoine over 4 years ago Actions #14

  • Related to Task #4161: tls: convert parser to Rust added

PA Updated by Philippe Antoine almost 3 years ago Actions #15

VJ Updated by Victor Julien almost 2 years ago Actions #16

PA Updated by Philippe Antoine over 1 year ago Actions #17

PA Updated by Philippe Antoine over 1 year ago Actions #18

  • Label Hardening added

PA Updated by Philippe Antoine over 1 year ago Actions #19

PA Updated by Philippe Antoine over 1 year ago Actions #20

  • Related to Security #7229: detect: write to read-only memory in transforms added

PA Updated by Philippe Antoine about 1 year ago Actions #22

PA Updated by Philippe Antoine about 1 year ago Actions #23

VJ Updated by Victor Julien 5 months ago Actions #24

  • Status changed from New to Assigned
  • Assignee changed from OISF Dev to Victor Julien

PA Updated by Philippe Antoine 3 months ago Actions #25

PA Updated by Philippe Antoine 3 months ago Actions #26

Actions

Also available in: PDF Atom