| 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 |