コード例 #1
0
ファイル: utils.py プロジェクト: pralab/toucanstrike
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')
コード例 #2
0
 def test_blackbox_format_exploit_ember(self):
     black_box_attack = CBlackBoxFormatExploitEvasionProblem(
         CEmberWrapperPhi(self.ember_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)
コード例 #3
0
 def test_blackbox_gamma_ember(self):
     section_population, _ = CGammaEvasionProblem.create_section_population_from_folder(
         self.goodware_folder, 100)
     gamma = CGammaEvasionProblem(section_population,
                                  CEmberWrapperPhi(self.ember_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)
コード例 #4
0
 def test_gbdt_wrapper_batch_prediction(self):
     wrapper = CEmberWrapperPhi(self.ember_classifier)
     self._batch_prediction_of_wrapper(wrapper)