Neha Sinha created METRON-555:
---------------------------------
Summary: Require proper error handling when invalid input is fed
to Threat triage rules
Key: METRON-555
URL: https://issues.apache.org/jira/browse/METRON-555
Project: Metron
Issue Type: Bug
Reporter: Neha Sinha
Fix For: 0.2.2BETA
I am getting the following error/exception for the threat triage as the rule on
left side does not evaluate to true/false.
How are we planning to handle such invalid inputs as this impacts enrichment
and indexing?
Note :-Tested with bro parser.Have attached the zookeeper config dump for
reference.
=========================================================
*Enrichment Logs*
=========================================================
2016-08-24 09:15:15.505 o.a.m.e.b.ThreatIntelJoinBolt [DEBUG] bro: Found threat
triage config: ThreatTriageConfig{riskLevelRules={exists(ip_dst_addr)=0.1,
TO_LOWER(host)=0.91, exists(ip_dst_port)=0.2, exists(ip_src_port)=0.3},
aggregator=MAX, aggregationConfig={NEGATIVE_VALUES_TRUMP_CONF=false}}
2016-08-24 09:15:15.505 o.a.m.e.b.JoinBolt [ERROR] [Metron] Unable to join
messages:
{"adapter.threatinteladapter.end.ts":"1472030115499","adapter.threatinteladapter.begin.ts":"1472030115499","threatintels.hbaseThreatIntel.ip_src_addr":"","threatintels.hbaseThreatIntel.ip_dst_addr":"","source.type":"bro"}
java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Boolean
at java.lang.Class.cast(Class.java:3369) ~[?:1.8.0_60]
at
org.apache.metron.common.stellar.BaseStellarProcessor.parse(BaseStellarProcessor.java:58)
~[stormjar.jar:?]
at
org.apache.metron.common.stellar.StellarPredicateProcessor.parse(StellarPredicateProcessor.java:53)
~[stormjar.jar:?]
at
org.apache.metron.threatintel.triage.ThreatTriageProcessor.apply(ThreatTriageProcessor.java:58)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.ThreatIntelJoinBolt.joinMessages(ThreatIntelJoinBolt.java:109)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.ThreatIntelJoinBolt.joinMessages(ThreatIntelJoinBolt.java:38)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.JoinBolt.execute(JoinBolt.java:111)
[stormjar.jar:?]
at
backtype.storm.daemon.executor$fn__5492$tuple_action_fn__5494.invoke(executor.clj:684)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.daemon.executor$mk_task_receiver$fn__5415.invoke(executor.clj:431)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.disruptor$clojure_handler$reify__4991.onEvent(disruptor.clj:58)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.daemon.executor$fn__5492$fn__5505$fn__5556.invoke(executor.clj:813)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at backtype.storm.util$async_loop$fn__644.invoke(util.clj:479)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
2016-08-24 09:15:15.505 b.s.d.executor [ERROR]
java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Boolean
at java.lang.Class.cast(Class.java:3369) ~[?:1.8.0_60]
at
org.apache.metron.common.stellar.BaseStellarProcessor.parse(BaseStellarProcessor.java:58)
~[stormjar.jar:?]
at
org.apache.metron.common.stellar.StellarPredicateProcessor.parse(StellarPredicateProcessor.java:53)
~[stormjar.jar:?]
at
org.apache.metron.threatintel.triage.ThreatTriageProcessor.apply(ThreatTriageProcessor.java:58)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.ThreatIntelJoinBolt.joinMessages(ThreatIntelJoinBolt.java:109)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.ThreatIntelJoinBolt.joinMessages(ThreatIntelJoinBolt.java:38)
~[stormjar.jar:?]
at
org.apache.metron.enrichment.bolt.JoinBolt.execute(JoinBolt.java:111)
[stormjar.jar:?]
at
backtype.storm.daemon.executor$fn__5492$tuple_action_fn__5494.invoke(executor.clj:684)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.daemon.executor$mk_task_receiver$fn__5415.invoke(executor.clj:431)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.disruptor$clojure_handler$reify__4991.onEvent(disruptor.clj:58)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at
backtype.storm.daemon.executor$fn__5492$fn__5505$fn__5556.invoke(executor.clj:813)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at backtype.storm.util$async_loop$fn__644.invoke(util.clj:479)
[storm-core-0.10.0.2.4.2.0-258.jar:0.10.0.2.4.2.0-258]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)