IP Library Granted Patent US 12,657,290
Granted Patent B2
US 12,657,290 · App. 17/454,933 · Granted Jun 16, 2026

Genetic programming for dynamic cybersecurity

Inventors: Gary I. Givental (Bloomfield Hills, MI); Aankur Bhatia (Bethpage, NY); Joel Rajakumar (Atlanta, GA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F21/55G06N3/126G06N20/00G06F2221/034
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,657,290
App. No.
17/454,933
Granted
Jun 16, 2026
Kind
B2
Abstract

Techniques for improved cybersecurity are provided. A plurality of feature subsets are identified, each containing a respective subset of features from a plurality of features included in a set of training security logs. The plurality of feature subsets is modified using one or more genetic programming techniques, and each of the plurality of feature subsets is scored using a plurality of threat classifiers, where the plurality of threat classifiers comprise trained machine learning models. A set of feature subsets is selected, from the plurality of feature subsets, based on the scores. A type classifier is trained based on the set of feature subsets, where the type classifier comprises a trained machine learning model.

Claims (61)

1 . A method, comprising:

identifying a plurality of feature subsets, each containing a respective subset of features from a plurality of features included in a set of training security logs;

modifying the plurality of feature subsets using one or more genetic programming techniques, wherein the modifying includes at least one selected from the group consisting of: (i) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a first feature included in the first feature subset at least partially randomly, selecting a second feature not included in the first feature subset at least partially randomly, and mutating the first feature subset by replacing the first feature with the second feature, and (ii) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a second feature subset from the plurality of feature subsets at least partially randomly, and mating the first and second feature subsets to generate two additional feature subsets to include in the plurality of feature subsets, comprising swapping at least a portion of the first feature subset with at least a portion of the second feature subset;

scoring each of the plurality of feature subsets using a first plurality of threat classifiers, wherein the plurality of threat classifiers correspond to trained machine learning models, comprising:

generating, for each respective training security log of the set of training security logs, a respective plurality of classifications based on processing the respective training security log using each of the first plurality of threat classifiers; and

generating a plurality of security log groups based on the respective pluralities of classifications, wherein each respective security log group of the plurality of security log groups corresponds to a respective type of threat;

training a second plurality of threat classifiers based on the scores and the plurality of security log groups, the second plurality of threat classifiers comprising a respective threat classifier for each respective security log group of the plurality of security log groups; and

training a type classifier, based on the plurality of security log groups, to route security logs among the second plurality of threat classifiers based on the types of threat.

2 . The method of claim 1 , wherein scoring each of the plurality of feature subsets comprises:

training a respective threat classifier, of the plurality of threat classifiers, based on each respective security log group of the plurality of security log groups, wherein each respective threat classifier learns to determine whether input security logs represent a true threat;

classifying at least a subset of the set of training security logs using the plurality of threat classifiers; and

labeling the subset of the set of training security logs to indicate which feature subset, of the plurality of feature subsets, resulted in a highest prediction accuracy.

3 . The method of claim 2 , wherein a respective score of each respective feature subset of the plurality of feature subsets is determined based at least in part on:

an accuracy of the respective threat classifier trained based on the respective feature subset; and

a number of the set of training security logs that the respective threat classifier accurately classifies.

4 . The method of claim 1 , further comprising:

receiving a new security log including the plurality of features; and

selecting a first feature subset of the set of feature subsets by processing the new security log using the type classifier.

5 . The method of claim 4 , further comprising:

identifying a first threat classifier trained based on the first feature subset; and classifying the new security log using the first threat classifier.

6 . The method of claim 1 , wherein identifying a plurality of feature subsets comprises, for each respective feature subset of the plurality of feature subsets, selecting features from the plurality of features at least partially randomly.

7 . A system, comprising:

one or more computer processors; and

logic encoded in a storage medium, the logic executable by operation of the one or more computer processors to perform an operation comprising:

identifying a plurality of feature subsets, each containing a respective subset of features from a plurality of features included in a set of training security logs;

modifying the plurality of feature subsets using one or more genetic programming techniques, wherein the modifying includes at least one selected from the group consisting of: (i) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a first feature included in the first feature subset at least partially randomly, selecting a second feature not included in the first feature subset at least partially randomly, and mutating the first feature subset by replacing the first feature with the second feature, and (ii) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a second feature subset from the plurality of feature subsets at least partially randomly, and mating the first and second feature subsets to generate two additional feature subsets to include in the plurality of feature subsets, comprising swapping at least a portion of the first feature subset with at least a portion of the second feature subset;

scoring each of the plurality of feature subsets using a first plurality of threat classifiers, wherein the plurality of threat classifiers correspond to trained machine learning models, comprising:

generating, for each respective training security log of the set of training security logs, a respective plurality of classifications based on processing the respective training security log using each of the first plurality of threat classifiers; and

generating a plurality of security log groups based on the respective pluralities of classifications, wherein each respective security log group of the plurality of security log groups corresponds to a respective type of threat;

training a second plurality of threat classifiers based on the scores and the plurality of security log groups, the second plurality of threat classifiers comprising a respective threat classifier for each respective security log group of the plurality of security log groups; and

training a type classifier, based on the plurality of security log groups, to route security logs among the second plurality of threat classifiers based on the types of threat.

8 . The system of claim 7 , wherein scoring each of the plurality of feature subsets comprises:

training a respective threat classifier, of the plurality of threat classifiers, based on each respective security log group of the plurality of security log groups, wherein each respective threat classifier learns to determine whether input security logs represent a true threat;

classifying at least a subset of the set of training security logs using the plurality of threat classifiers; and

labeling the subset of the set of training security logs to indicate which feature subset, of the plurality of feature subsets, resulted in a highest prediction accuracy.

9 . The system of claim 8 , wherein a respective score of each respective feature subset of the plurality of feature subsets is determined based at least in part on:

an accuracy of the respective threat classifier trained based on the respective feature subset; and

a number of the set of training security logs that the respective threat classifier accurately classifies.

10 . The system of claim 7 , wherein the logic is further executable by operation of the one or more computer processors to perform:

receiving a new security log including the plurality of features;

selecting a first feature subset of the set of feature subsets by processing the new security log using the type classifier; and

identifying a first threat classifier trained based on the first feature subset; and classifying the new security log using the first threat classifier.

11 . A computer product comprising logic encoded in a non-transitory medium, the logic executable by operation of one or more computer processors to perform an operation comprising:

identifying a plurality of feature subsets, each containing a respective subset of features from a plurality of features included in a set of training security logs;

modifying the plurality of feature subsets using one or more genetic programming techniques, wherein the modifying includes at least one selected from the group consisting of: (i) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a first feature included in the first feature subset at least partially randomly, selecting a second feature not included in the first feature subset at least partially randomly, and mutating the first feature subset by replacing the first feature with the second feature, and (ii) selecting a first feature subset from the plurality of feature subsets at least partially randomly, selecting a second feature subset from the plurality of feature subsets at least partially randomly, and mating the first and second feature subsets to generate two additional feature subsets to include in the plurality of feature subsets, comprising swapping at least a portion of the first feature subset with at least a portion of the second feature subset;

scoring each of the plurality of feature subsets using a first plurality of threat classifiers, wherein the plurality of threat classifiers correspond to trained machine learning models, comprising:

generating, for each respective training security log of the set of training security logs, a respective plurality of classifications based on processing the respective training security log using each of the first plurality of threat classifiers; and

generating a plurality of security log groups based on the respective pluralities of classifications, wherein each respective security log group of the plurality of security log groups corresponds to a respective type of threat;

training a second plurality of threat classifiers based on the scores and the plurality of security log groups, the second plurality of threat classifiers comprising a respective threat classifier for each respective security log group of the plurality of security log groups; and

training a type classifier, based on the plurality of security log groups, to route security logs among the second plurality of threat classifiers based on the types of threat.

12 . The computer product of claim 11 , wherein scoring each of the plurality of feature subsets comprises:

training a respective threat classifier, of the plurality of threat classifiers, based on each respective security log group of the plurality of security log groups, wherein each respective threat classifier learns to determine whether input security logs represent a true threat;

classifying at least a subset of the set of training security logs using the plurality of threat classifiers; and

labeling the subset of the set of training security logs to indicate which feature subset, of the plurality of feature subsets, resulted in a highest prediction accuracy.

13 . The computer product of claim 12 , wherein a respective score of each respective feature subset of the plurality of feature subsets is determined based at least in part on:

an accuracy of the respective threat classifier trained based on the respective feature subset; and

a number of the set of training security logs that the respective threat classifier accurately classifies.

14 . The computer product of claim 11 , wherein the logic is further executable by operation of the one or more computer processors to perform:

receiving a new security log including the plurality of features;

selecting a first feature subset of the set of feature subsets by processing the new security log using the type classifier; and

identifying a first threat classifier trained based on the first feature subset; and classifying the new security log using the first threat classifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2021
From: GIVENTAL, GARY I.; BHATIA, AANKUR; RAJAKUMAR, JOEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058115/0950 →
Continuity (1)
Related Publication 20230153421A1 · May 18, 2023
References Cited (38)
US 6446055B1 · Grand · 2002 [cited by examiner]
US 9043894B1 · Dennison · 2015 [cited by examiner]
US 9690938B1 · Saxe et al. · 2017 [cited by applicant]
US 10284585B1 · Kennedy et al. · 2019 [cited by applicant]
US 10503899B2 · Moore · 2019 [cited by examiner]
US 12346801B2 · Conwell · 2025 [cited by examiner]
US 20030051026A1 · Carter · 2003 [cited by examiner]
US 20130198119A1 · Eberhardt, III · 2013 [cited by examiner]
US 20140344018A1 · Thalken · 2014 [cited by examiner]
US 20160119365A1 · Barel · 2016 [cited by examiner]
US 20160156655A1 · Lotem · 2016 [cited by examiner]
US 20160170996A1 · Frank · 2016 [cited by examiner]
US 20160170998A1 · Frank · 2016 [cited by examiner]
US 20160224803A1 · Frank · 2016 [cited by examiner]
US 20170187734A1 · Lee · 2017 [cited by examiner]
US 20170251985A1 · Howard · 2017 [cited by examiner]
US 20180013776A1 · Gay · 2018 [cited by examiner]
US 20180041533A1 · Chesla · 2018 [cited by examiner]
US 20180262525A1 · Yan · 2018 [cited by examiner]
US 20190005390A1 · Stitt · 2019 [cited by examiner]
US 20190012456A1 · Moore · 2019 [cited by examiner]
US 20190020686A1 · Cohen · 2019 [cited by examiner]
US 20200117523A1 · Morrison et al. · 2020 [cited by applicant]
US 20200302052A1 · El-Moussa · 2020 [cited by examiner]
US 20200382536A1 · Dherange · 2020 [cited by examiner]
US 20220147815A1 · Conwell · 2022 [cited by examiner]
US 20230153421A1 · Givental · 2023 [cited by examiner]
US 20230185923A1 · Givental · 2023 [cited by examiner]
Srinivas et alv(“Adapative Probailities of Crossover and Mutation in Genectic Algroithms”, IEEE, vol. 24, No. 4, 1994, pp. 656-667 ). [cited by examiner]
Suh-Lee et al, (“Text Mining for Security Threat Detection, Discovering Hidden Information in Unstructured Log Messages”, IEEE, 2016, pp. 1-9). [cited by examiner]
Fontaine et al. “Log-Based Intrusion Detection for Cloud Web Applications Using Machine Learning.” International Conference on P2P, Parallel, Grid, Cloud and Internet Computing. Springer, Cham, 2019. [cited by applicant]
Feizollah et al. “A study of machine learning classifiers for anomaly-based mobile botnet detection.” Malaysian Journal of Computer Science 26.4 (2013): 251-265. [cited by applicant]
Su et al., “Smartphone dual defense protection framework: Detecting malicious applications in android markets.” 2012 8th International Conference on Mobile Ad-hoc and Sensor Networks (MSN). IEEE, 2012. [cited by applicant]
Chaba et al. “Malware detection approach for android systems using system call logs.” arXiv preprint arXiv:1709.08805 (2017). [cited by applicant]
Chen et al., “Adversarial machine learning in malware detection: Arms race between evasion attack and defense.” 2017 European Intelligence and Security Informatics Conference (EISIC). IEEE, 2017. [cited by applicant]
Kolcz et al., “Feature weighting for improved classifier robustness.” CEAS'09: sixth conference on email and anti-spam. 2009. [cited by applicant]
L. Shao, L. Liu and X. Li, “Feature Learning for Image Classification Via Multiobjective Genetic Programming,” in IEEE Transactions on Neural Networks and Learning Systems, vol. 25, No. 7, pp. 1359-1371, Jul. 2014, doi:… [cited by applicant]
Ling Guo, Daniel Rivero, Julián Dorado, Cristian R. Munteanu, Alejandro Pazos, Automatic feature extraction using genetic programming: An application to epileptic EEG classification, Expert Systems with Applications, vo… [cited by applicant]