OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/json/json_file_value_serializer.h" | 10 #include "base/json/json_file_value_serializer.h" |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 const char kNumTrackedPrefFilename[] = "NumTrackedPrefs"; | 247 const char kNumTrackedPrefFilename[] = "NumTrackedPrefs"; |
248 | 248 |
249 base::FilePath num_tracked_prefs_file; | 249 base::FilePath num_tracked_prefs_file; |
250 ASSERT_TRUE( | 250 ASSERT_TRUE( |
251 PathService::Get(chrome::DIR_USER_DATA, &num_tracked_prefs_file)); | 251 PathService::Get(chrome::DIR_USER_DATA, &num_tracked_prefs_file)); |
252 num_tracked_prefs_file = | 252 num_tracked_prefs_file = |
253 num_tracked_prefs_file.AppendASCII(kNumTrackedPrefFilename); | 253 num_tracked_prefs_file.AppendASCII(kNumTrackedPrefFilename); |
254 | 254 |
255 if (IsPRETest()) { | 255 if (IsPRETest()) { |
256 num_tracked_prefs_ = GetTrackedPrefHistogramCount( | 256 num_tracked_prefs_ = GetTrackedPrefHistogramCount( |
257 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_ANY); | 257 "Settings.TrackedPreferenceNullInitialized", ALLOW_ANY); |
258 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, | 258 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, |
259 num_tracked_prefs_ > 0); | 259 num_tracked_prefs_ > 0); |
260 | 260 |
261 // Split tracked prefs are reported as Unchanged not as TrustedInitialized | 261 // Split tracked prefs are reported as Unchanged not as NullInitialized |
262 // when an empty dictionary is encountered on first run (this should only | 262 // when an empty dictionary is encountered on first run (this should only |
263 // hit for pref #5 in the current design). | 263 // hit for pref #5 in the current design). |
264 int num_split_tracked_prefs = GetTrackedPrefHistogramCount( | 264 int num_split_tracked_prefs = GetTrackedPrefHistogramCount( |
265 "Settings.TrackedPreferenceUnchanged", BEGIN_ALLOW_SINGLE_BUCKET + 5); | 265 "Settings.TrackedPreferenceUnchanged", BEGIN_ALLOW_SINGLE_BUCKET + 5); |
266 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, | 266 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM ? 1 : 0, |
267 num_split_tracked_prefs); | 267 num_split_tracked_prefs); |
268 | 268 |
269 num_tracked_prefs_ += num_split_tracked_prefs; | 269 num_tracked_prefs_ += num_split_tracked_prefs; |
270 | 270 |
271 std::string num_tracked_prefs_str = base::IntToString(num_tracked_prefs_); | 271 std::string num_tracked_prefs_str = base::IntToString(num_tracked_prefs_); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 ALLOW_NONE)); | 391 ALLOW_NONE)); |
392 EXPECT_EQ(0, | 392 EXPECT_EQ(0, |
393 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 393 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", |
394 ALLOW_NONE)); | 394 ALLOW_NONE)); |
395 EXPECT_EQ(0, | 395 EXPECT_EQ(0, |
396 GetTrackedPrefHistogramCount( | 396 GetTrackedPrefHistogramCount( |
397 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 397 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
398 EXPECT_EQ(0, | 398 EXPECT_EQ(0, |
399 GetTrackedPrefHistogramCount( | 399 GetTrackedPrefHistogramCount( |
400 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 400 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 401 EXPECT_EQ(0, |
| 402 GetTrackedPrefHistogramCount( |
| 403 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
401 EXPECT_EQ( | 404 EXPECT_EQ( |
402 0, | 405 0, |
403 GetTrackedPrefHistogramCount( | 406 GetTrackedPrefHistogramCount( |
404 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 407 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
405 } | 408 } |
406 }; | 409 }; |
407 | 410 |
408 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault, UnchangedDefault); | 411 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUnchangedDefault, UnchangedDefault); |
409 | 412 |
410 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset | 413 // Augments PrefHashBrowserTestUnchangedDefault to confirm that nothing is reset |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 // Nothing else should have triggered. | 477 // Nothing else should have triggered. |
475 EXPECT_EQ(0, | 478 EXPECT_EQ(0, |
476 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", | 479 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceChanged", |
477 ALLOW_NONE)); | 480 ALLOW_NONE)); |
478 EXPECT_EQ(0, | 481 EXPECT_EQ(0, |
479 GetTrackedPrefHistogramCount( | 482 GetTrackedPrefHistogramCount( |
480 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 483 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
481 EXPECT_EQ(0, | 484 EXPECT_EQ(0, |
482 GetTrackedPrefHistogramCount( | 485 GetTrackedPrefHistogramCount( |
483 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 486 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 487 EXPECT_EQ(0, |
| 488 GetTrackedPrefHistogramCount( |
| 489 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
484 EXPECT_EQ( | 490 EXPECT_EQ( |
485 0, | 491 0, |
486 GetTrackedPrefHistogramCount( | 492 GetTrackedPrefHistogramCount( |
487 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 493 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
488 } | 494 } |
489 }; | 495 }; |
490 | 496 |
491 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic, ClearedAtomic); | 497 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestClearedAtomic, ClearedAtomic); |
492 | 498 |
493 // Verifies that clearing the MACs results in untrusted Initialized pings for | 499 // Verifies that clearing the MACs results in untrusted Initialized pings for |
(...skipping 26 matching lines...) Expand all Loading... |
520 | 526 |
521 virtual void AttackPreferencesOnDisk( | 527 virtual void AttackPreferencesOnDisk( |
522 base::DictionaryValue* unprotected_preferences, | 528 base::DictionaryValue* unprotected_preferences, |
523 base::DictionaryValue* protected_preferences) OVERRIDE { | 529 base::DictionaryValue* protected_preferences) OVERRIDE { |
524 EXPECT_TRUE(unprotected_preferences->Remove("protection.macs", NULL)); | 530 EXPECT_TRUE(unprotected_preferences->Remove("protection.macs", NULL)); |
525 if (protected_preferences) | 531 if (protected_preferences) |
526 EXPECT_TRUE(protected_preferences->Remove("protection.macs", NULL)); | 532 EXPECT_TRUE(protected_preferences->Remove("protection.macs", NULL)); |
527 } | 533 } |
528 | 534 |
529 virtual void VerifyReactionToPrefAttack() OVERRIDE { | 535 virtual void VerifyReactionToPrefAttack() OVERRIDE { |
530 // Preferences that are NULL by default will be TrustedInitialized. | 536 // Preferences that are NULL by default will be NullInitialized. |
531 int num_null_values = GetTrackedPrefHistogramCount( | 537 int num_null_values = GetTrackedPrefHistogramCount( |
532 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_ANY); | 538 "Settings.TrackedPreferenceNullInitialized", ALLOW_ANY); |
533 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, | 539 EXPECT_EQ(protection_level_ > PROTECTION_DISABLED_ON_PLATFORM, |
534 num_null_values > 0); | 540 num_null_values > 0); |
535 if (num_null_values > 0) { | 541 if (num_null_values > 0) { |
536 // This test requires that at least 3 prefs be non-null (extensions, DSE, | 542 // This test requires that at least 3 prefs be non-null (extensions, DSE, |
537 // and 1 atomic pref explictly set for this test above). | 543 // and 1 atomic pref explictly set for this test above). |
538 EXPECT_LT(num_null_values, num_tracked_prefs() - 3); | 544 EXPECT_GE(num_tracked_prefs() - num_null_values, 3); |
539 } | 545 } |
540 | 546 |
541 // Expect all non-null prefs to be reported as Initialized (with | 547 // Expect all non-null prefs to be reported as Initialized (with |
542 // accompanying resets or wanted resets based on the current protection | 548 // accompanying resets or wanted resets based on the current protection |
543 // level). | 549 // level). |
544 EXPECT_EQ(num_tracked_prefs() - num_null_values, | 550 EXPECT_EQ(num_tracked_prefs() - num_null_values, |
545 GetTrackedPrefHistogramCount( | 551 GetTrackedPrefHistogramCount( |
546 "Settings.TrackedPreferenceInitialized", ALLOW_ANY)); | 552 "Settings.TrackedPreferenceInitialized", ALLOW_ANY)); |
547 | 553 |
548 int num_protected_prefs = 0; | 554 int num_protected_prefs = 0; |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 // Nothing else should have triggered. | 680 // Nothing else should have triggered. |
675 EXPECT_EQ(0, | 681 EXPECT_EQ(0, |
676 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 682 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", |
677 ALLOW_NONE)); | 683 ALLOW_NONE)); |
678 EXPECT_EQ(0, | 684 EXPECT_EQ(0, |
679 GetTrackedPrefHistogramCount( | 685 GetTrackedPrefHistogramCount( |
680 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 686 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
681 EXPECT_EQ(0, | 687 EXPECT_EQ(0, |
682 GetTrackedPrefHistogramCount( | 688 GetTrackedPrefHistogramCount( |
683 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 689 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 690 EXPECT_EQ(0, |
| 691 GetTrackedPrefHistogramCount( |
| 692 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
684 EXPECT_EQ( | 693 EXPECT_EQ( |
685 0, | 694 0, |
686 GetTrackedPrefHistogramCount( | 695 GetTrackedPrefHistogramCount( |
687 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 696 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
688 } | 697 } |
689 }; | 698 }; |
690 | 699 |
691 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic, ChangedAtomic); | 700 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedAtomic, ChangedAtomic); |
692 | 701 |
693 // Verifies that changing or adding an entry in a split pref results in both | 702 // Verifies that changing or adding an entry in a split pref results in both |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
761 // Nothing else should have triggered. | 770 // Nothing else should have triggered. |
762 EXPECT_EQ(0, | 771 EXPECT_EQ(0, |
763 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 772 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", |
764 ALLOW_NONE)); | 773 ALLOW_NONE)); |
765 EXPECT_EQ(0, | 774 EXPECT_EQ(0, |
766 GetTrackedPrefHistogramCount( | 775 GetTrackedPrefHistogramCount( |
767 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 776 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
768 EXPECT_EQ(0, | 777 EXPECT_EQ(0, |
769 GetTrackedPrefHistogramCount( | 778 GetTrackedPrefHistogramCount( |
770 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 779 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 780 EXPECT_EQ(0, |
| 781 GetTrackedPrefHistogramCount( |
| 782 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
771 EXPECT_EQ( | 783 EXPECT_EQ( |
772 0, | 784 0, |
773 GetTrackedPrefHistogramCount( | 785 GetTrackedPrefHistogramCount( |
774 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 786 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
775 } | 787 } |
776 }; | 788 }; |
777 | 789 |
778 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); | 790 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestChangedSplitPref, ChangedSplitPref); |
779 | 791 |
780 // Verifies that adding a value to unprotected preferences for a key which is | 792 // Verifies that adding a value to unprotected preferences for a key which is |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
824 // Nothing else should have triggered. | 836 // Nothing else should have triggered. |
825 EXPECT_EQ(0, | 837 EXPECT_EQ(0, |
826 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", | 838 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceCleared", |
827 ALLOW_NONE)); | 839 ALLOW_NONE)); |
828 EXPECT_EQ(0, | 840 EXPECT_EQ(0, |
829 GetTrackedPrefHistogramCount( | 841 GetTrackedPrefHistogramCount( |
830 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 842 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
831 EXPECT_EQ(0, | 843 EXPECT_EQ(0, |
832 GetTrackedPrefHistogramCount( | 844 GetTrackedPrefHistogramCount( |
833 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 845 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 846 EXPECT_EQ(0, |
| 847 GetTrackedPrefHistogramCount( |
| 848 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
834 EXPECT_EQ( | 849 EXPECT_EQ( |
835 0, | 850 0, |
836 GetTrackedPrefHistogramCount( | 851 GetTrackedPrefHistogramCount( |
837 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 852 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
838 } | 853 } |
839 }; | 854 }; |
840 | 855 |
841 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, | 856 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefs, |
842 UntrustedAdditionToPrefs); | 857 UntrustedAdditionToPrefs); |
843 | 858 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", | 906 GetTrackedPrefHistogramCount("Settings.TrackedPreferenceReset", |
892 ALLOW_NONE)); | 907 ALLOW_NONE)); |
893 | 908 |
894 // Nothing else should have triggered. | 909 // Nothing else should have triggered. |
895 EXPECT_EQ(0, | 910 EXPECT_EQ(0, |
896 GetTrackedPrefHistogramCount( | 911 GetTrackedPrefHistogramCount( |
897 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); | 912 "Settings.TrackedPreferenceInitialized", ALLOW_NONE)); |
898 EXPECT_EQ(0, | 913 EXPECT_EQ(0, |
899 GetTrackedPrefHistogramCount( | 914 GetTrackedPrefHistogramCount( |
900 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); | 915 "Settings.TrackedPreferenceTrustedInitialized", ALLOW_NONE)); |
| 916 EXPECT_EQ(0, |
| 917 GetTrackedPrefHistogramCount( |
| 918 "Settings.TrackedPreferenceNullInitialized", ALLOW_NONE)); |
901 EXPECT_EQ( | 919 EXPECT_EQ( |
902 0, | 920 0, |
903 GetTrackedPrefHistogramCount( | 921 GetTrackedPrefHistogramCount( |
904 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); | 922 "Settings.TrackedPreferenceMigratedLegacyDeviceId", ALLOW_NONE)); |
905 } | 923 } |
906 }; | 924 }; |
907 | 925 |
908 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe, | 926 PREF_HASH_BROWSER_TEST(PrefHashBrowserTestUntrustedAdditionToPrefsAfterWipe, |
909 UntrustedAdditionToPrefsAfterWipe); | 927 UntrustedAdditionToPrefsAfterWipe); |
OLD | NEW |