Exemple #1
0
 def test_blackbox_header_fields_malconv(self):
     black_box_attack = CBlackBoxHeaderFieldsEvasionProblem(
         CEnd2EndWrapperPhi(self.end2end_classifier),
         iterations=2,
         population_size=2)
     engine = CGeneticAlgorithm(black_box_attack)
     y_pred, _, _, _ = engine.run(self.X, self.Y)
     self.assert_evasion_result(y_pred)
Exemple #2
0
 def test_blackbox_dos_header_malconv(self):
     black_box_attack = CBlackBoxHeaderEvasionProblem(CEnd2EndWrapperPhi(
         self.end2end_classifier),
                                                      optimize_all_dos=True,
                                                      iterations=5,
                                                      population_size=10)
     engine = CGeneticAlgorithm(black_box_attack)
     y_pred, _, _, _ = engine.run(self.X, self.Y)
     self.assert_evasion_result(y_pred)
Exemple #3
0
 def test_blackbox_padding_malconv(self):
     black_box_attack = CBlackBoxPaddingEvasionProblem(
         CEnd2EndWrapperPhi(self.end2end_classifier),
         how_many_padding_bytes=1024,
         iterations=5,
         population_size=10)
     engine = CGeneticAlgorithm(black_box_attack)
     y_pred, _, _, _ = engine.run(self.X, self.Y)
     self.assert_evasion_result(y_pred)
Exemple #4
0
 def test_blackbox_format_exploit_malconv(self):
     black_box_attack = CBlackBoxFormatExploitEvasionProblem(
         CEnd2EndWrapperPhi(self.end2end_classifier),
         preferable_extension_amount=0x200,
         pe_header_extension=0,
         iterations=5,
         population_size=10)
     engine = CGeneticAlgorithm(black_box_attack)
     y_pred, _, _, _ = engine.run(self.X, self.Y)
     self.assert_evasion_result(y_pred)
Exemple #5
0
 def test_blackbox_gamma_malconv(self):
     section_population, _ = CGammaEvasionProblem.create_section_population_from_folder(
         self.goodware_folder, 10)
     gamma = CGammaEvasionProblem(section_population,
                                  CEnd2EndWrapperPhi(
                                      self.end2end_classifier),
                                  population_size=10,
                                  penalty_regularizer=1e-6,
                                  iterations=5)
     engine = CGeneticAlgorithm(gamma)
     y_pred, _, _, _ = engine.run(self.X, self.Y)
     self.assert_evasion_result(y_pred)
Exemple #6
0
def create_wrapper_for_global_target():
    if type(global_state.target) == CClassifierEmber:
        return CEmberWrapperPhi(global_state.target)
    if type(global_state.target) == CClassifierEnd2EndMalware:
        return CEnd2EndWrapperPhi(global_state.target)
    if type(global_state.target) == CClassifierSorel:
        return CEmberWrapperPhi(global_state.target)
    if hasattr(global_state.target, 'load_wrapper'):
        try:
            return global_state.target.load_wrapper()
        except Exception as e:
            crash_prompt("Error in loading wrapper of plugin model!")
            crash_prompt(f"Exception was {e}")
            raise e
    error_prompt('Incorrect target')
    raise NotImplementedError('Incorrect target')
Exemple #7
0
 def test_e2e_wrapper_batch_prediction(self):
     wrapper = CEnd2EndWrapperPhi(self.end2end_classifier)
     self._batch_prediction_of_wrapper(wrapper)