コード例 #1
0
 def get_stats_fortify(self, result, stats):
     fortify_off, fortify_on = self.extract_fortify_data_from_analysis(
         result)
     total_amount_of_files = calculate_total_files(
         [fortify_off, fortify_on])
     self.append_nx_stats_to_result_dict(fortify_off, fortify_on, stats,
                                         total_amount_of_files)
コード例 #2
0
 def get_stats_pie(self, result, stats):
     pie_invalid, pie_off, pie_on, pie_partial = self.extract_pie_data_from_analysis(
         result)
     total_amount_of_files = calculate_total_files(
         [pie_off, pie_on, pie_partial, pie_invalid])
     self.append_pie_stats_to_result_dict(pie_invalid, pie_off, pie_on,
                                          pie_partial, stats,
                                          total_amount_of_files)
コード例 #3
0
 def get_stats_relro(self, result, stats):
     relro_off, relro_on, relro_partial = self.extract_relro_data_from_analysis(
         result)
     total_amount_of_files = calculate_total_files(
         [relro_off, relro_on, relro_partial])
     self.append_relro_stats_to_result_dict(relro_off, relro_on,
                                            relro_partial, stats,
                                            total_amount_of_files)
コード例 #4
0
ファイル: test_update.py プロジェクト: TingHL/FACT3.0
 def set_nx_stats_to_dict(self, result, stats):
     nx_off, nx_on = self.updater.extract_nx_data_from_analysis(result)
     self.assertEqual(nx_off, [('NX disabled', 200)])
     self.assertEqual(nx_on, [('NX enabled', 800)])
     total_amount_of_files = calculate_total_files([nx_off, nx_on])
     self.assertEqual(total_amount_of_files, 1000)
     self.updater.append_nx_stats_to_result_dict(nx_off, nx_on, stats, total_amount_of_files)
     self.assertEqual(stats, {'exploit_mitigations': [('NX enabled', 800, 0.8), ('NX disabled', 200, 0.2)]})
コード例 #5
0
 def set_canary_stats_to_dict(self, result, stats):
     canary_off, canary_on = self.updater.extract_canary_data_from_analysis(result)
     self.assertEqual(canary_off, [('Canary disabled', 700)])
     self.assertEqual(canary_on, [('Canary enabled', 1000)])
     total_amount_of_files = calculate_total_files([canary_off, canary_on])
     self.assertEqual(total_amount_of_files, 1700)
     self.updater.append_canary_stats_to_result_dict(canary_off, canary_on, stats, total_amount_of_files)
     self.assertEqual(stats, {'exploit_mitigations': [('Canary enabled', 1000, 0.58824),
                                                      ('Canary disabled', 700, 0.41176)]})
コード例 #6
0
 def set_relro_stats_to_dict(self, result, stats):
     relro_off, relro_on, relro_partial = self.updater.extract_relro_data_from_analysis(result)
     self.assertEqual(relro_off, [('RELRO disabled', 1100)])
     self.assertEqual(relro_on, [('RELRO fully enabled', 400)])
     self.assertEqual(relro_partial, [('RELRO partially enabled', 600)])
     total_amount_of_files = calculate_total_files([relro_off, relro_on, relro_partial])
     self.assertEqual(total_amount_of_files, 2100)
     self.updater.append_relro_stats_to_result_dict(relro_off, relro_on, relro_partial, stats, total_amount_of_files)
     self.assertEqual(stats, {'exploit_mitigations': [('RELRO fully enabled', 400, 0.19048),
                                                      ('RELRO partially enabled', 600, 0.28571),
                                                      ('RELRO disabled', 1100, 0.52381)]})
コード例 #7
0
 def set_pie_stats_to_dict(self, result, stats):
     pie_invalid, pie_off, pie_on, pie_partial = self.updater.extract_pie_data_from_analysis(result)
     self.assertEqual(pie_invalid, [('PIE - invalid ELF file', 100)])
     self.assertEqual(pie_off, [('PIE disabled', 900)])
     self.assertEqual(pie_partial, [('PIE/DSO present', 300)])
     self.assertEqual(pie_on, [('PIE enabled', 500)])
     total_amount_of_files = calculate_total_files([pie_on, pie_partial, pie_off, pie_invalid])
     self.assertEqual(total_amount_of_files, 1800)
     self.updater.append_pie_stats_to_result_dict(pie_invalid, pie_off, pie_on, pie_partial, stats, total_amount_of_files)
     self.assertEqual(stats, {'exploit_mitigations': [('PIE enabled', 500, 0.27778),
                                                      ('PIE/DSO present', 300, 0.16667),
                                                      ('PIE disabled', 900, 0.5),
                                                      ('PIE - invalid ELF file', 100, 0.05556)]})
コード例 #8
0
 def get_stats_canary(self, result, stats):
     canary_off, canary_on = self.extract_canary_data_from_analysis(result)
     total_amount_of_files = calculate_total_files([canary_off, canary_on])
     self.append_canary_stats_to_result_dict(canary_off, canary_on, stats,
                                             total_amount_of_files)
コード例 #9
0
 def get_stats_nx(self, result, stats):
     nx_off, nx_on = self.extract_nx_data_from_analysis(result)
     total_amount_of_files = calculate_total_files([nx_off, nx_on])
     self.append_nx_stats_to_result_dict(nx_off, nx_on, stats,
                                         total_amount_of_files)
コード例 #10
0
def test_calculate_total_files(input_data, expected):
    assert calculate_total_files(input_data) == expected