[Oisf-devel] Luajit performance
Chris Wakelin
c.d.wakelin at reading.ac.uk
Tue Nov 6 14:12:14 UTC 2012
Hi,
I've got a few of Luajit sigs that seem to take rather more ticks than
I'd expect. The first is my XORed binary check (very useful - it spots
SofosFO, the unknown 32-32 hex kit and g01pack payloads), the next two,
by Will Metcalf, are for spotting Flash exploits and the last is one
that Will made for detecting PDFs that exploit a vulnerability in Sophos:
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"RDG LUAJIT test -
match XORed binary"; flowbits:isset,ET.http.javaclient.vulnerable;
flowbits:isnotset,ET.http.binary; luajit:suri-xor-binary-detect.lua;
flowbits:set,et.exploitkitlanding; classtype:trojan-activity;
sid:379000001; rev:4;)
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"RDG/ET WEB_CLIENT
Adobe Flash Vuln (CVE-2012-1535 Uncompressed) ";
flow:from_server,established; file_data; content:"FWS"; depth:3;
luajit:CVE-2012-1535.lua; flowbits:set,et.exploitkitlanding;
classtype:trojan-activity; sid:7016688; rev:4;)
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"RDG/ET WEB_CLIENT
Adobe Flash Vuln (CVE-2012-1535 Compressed)";
flow:from_server,established; file_data; content:"CWS"; depth:3;
luajit:CVE-2012-1535.lua; flowbits:set,et.exploitkitlanding;
classtype:trojan-activity; sid:7016687; rev:4;)
alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"RDG/ET LUAJIT Sophos
PDF Standard Encryption Invalid Key Length Buffer Overflow";
flow:from_server,established; file_data; content:"%PDF-"; depth:5;
content:"/FlateDecode"; luajit:sophos-pdf-exp.lua;
flowbits:set,et.exploitkitlanding; classtype:attempted-user;
sid:6666666; rev:4;)
In theory the Lua should only get run in comparatively rare cases,
namely a PDF download, a Flash file download or a download by a
vulnerable Java client.
However on my test 1GB pcap I get:
> Num Rule Gid Rev Ticks % Checks Matches Max Ticks Avg Ticks Avg Match Avg No Match
> -------- ------------ -------- -------- ------------ ------ -------- -------- ----------- ----------- ----------- --------------
> 1 6666666 1 4 375013957 30.04 1187 0 25052996 315934.25 0.00 315934.25
> 2 7016687 1 4 169456108 13.57 2095 0 3454659 80885.97 0.00 80885.97
> 3 2015629 1 4 126068714 10.10 3041 0 804372 41456.33 0.00 41456.33
> 4 2015654 1 4 124691619 9.99 1361 0 785749 91617.65 0.00 91617.65
> 5 378000160 1 2 50175909 4.02 178590 0 16186 280.96 0.00 280.96
> 6 379000001 1 4 33296026 2.67 105155 0 15774 316.64 0.00 316.64
> 7 2011336 1 4 32077574 2.57 4462 0 21281 7189.06 0.00 7189.06
> 8 2014956 1 1 27426941 2.20 26101 0 16000 1050.80 0.00 1050.80
> 9 2015783 1 4 21627250 1.73 12259 0 20194 1764.19 0.00 1764.19
...
> 50 7016688 1 4 1376700 0.11 249 0 406366 5528.92 0.00 5528.92
I can't see why 7016688 doesn't use as many resources as 7016687 (and as
it happens I'm not actually sure why the two ET sigs, 2015629 and
2015654 are so expensive!)
Any ideas?
Best Wishes,
Chris
--
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-
Christopher Wakelin, c.d.wakelin at reading.ac.uk
IT Services Centre, The University of Reading, Tel: +44 (0)118 378 2908
Whiteknights, Reading, RG6 6AF, UK Fax: +44 (0)118 975 3094
More information about the Oisf-devel
mailing list