- Feb 21, 2017
-
-
Chad Brubaker authored
untrusted_v2_app is basically a refinement of untrusted_app with legacy capabilities removed and potentially backwards incompatible changes. This is not currently hooked up to anything. Bug: 33350220 Test: builds Change-Id: Ic9fad57476bc2b6022b1eaca8667bf6d844753c2
-
- Feb 14, 2017
-
-
Michael Peck authored
This new input selector allows phasing in new security policies by giving app developers an opportunity to make any needed compatibility changes before updating each app's targetSdkVersion. When all else is equal, matching entries with higher minTargetSdkVersion= values are preferred over entries with lower minTargetSdkVersion= values. Test: Marlin builds and boots. Apps targeting targetSdkVersion<=25 run in untrusted_app_25 domain. Apps targeting the current development build >=26 run in the untrusted_app domain with fewer permissions. No new denials observed during testing. Bug: 34115651 Change-Id: I14bf4f51dbe26cb9bd3f62ad0b281085441d9806
-
- Oct 19, 2016
-
-
William Roberts authored
If in invalid policy file is loaded check_seapp outputs: Error: Could not lod policy file to db: Success! The "Success" value is from errno, which is not manipulated by libsepol. Also, load should have an a in it! Hardcode the error message to: Error: Could not load policy file to db: invalid input file! Test: That when providing an invalid sepolicy binary, that the output message is correct. Change-Id: Iaf1f85eeb217d484997ee1367d91d461c1195bf4 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Oct 12, 2016
-
-
Rahul Chaudhry authored
check_seapp.c:993:6: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'data') Bug: 26936282 Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mm Change-Id: I3fc2ca8f862356628864f2a37b8d39222c8d658a
-
- Oct 07, 2016
-
-
Chad Brubaker authored
Test: Builds and boots Change-Id: I3db64e12f0390c6940f5745eae83ce7efa7d65a9
-
- Aug 22, 2016
-
-
Janis Danisevskis authored
Ports check_seapp to pcre2. Change-Id: If3faac5b911765a66eab074f7da2511624c3fc97
-
- Aug 19, 2016
-
-
Janis Danisevskis authored
Ports check_seapp to pcre2. Merged-In: Ib9977326cfbb19ce143b04504f41afb884f2ec17 Bug: 24091652 Change-Id: Ib9977326cfbb19ce143b04504f41afb884f2ec17
-
- May 11, 2016
-
-
Chih-Hung Hsieh authored
Add parentheses around macro arguments used beside binary operators. Use NOLINT comment to suppress false clang-tidy warnings. Bug: 28705665 Change-Id: Idc7474c43da52a1ca6a690b56d8f637767adbb88
-
- Feb 10, 2016
-
-
William Roberts authored
Remove the .data=NULL assignments that were pushing the static keymap mapping horizontal. (cherry picked from commit 29adea51) Change-Id: I2e6e78930ac8d1d8b9bd61d9dedb59f4859ea13c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Data type tracking is no longer needed now that per key validation routines are supported. (cherry picked from commit c92dae98) Change-Id: I2f1d0d5b1713e0477996479b0f279a58f43f15c7 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Input validation was hard-coded into a validation routine that would check against type and key names in a scattered, order dependent conditional code block. This makes it harder than it should be to add new key value pairs and types into checkseapp. To correct this, we add a validation callback into the static mapping. If the validation callback is set, the existing validation routine will call this for input validation. On failure, a validation specific error message is returned to be displayed. (cherry picked from commit 696a66ba) Change-Id: I92cf1cdf4ddbcfae19168b621f47169a3cf551ac Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change the final error message to be consistent with the others. From: Error: reading /home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts, line 82, name domain, value system_server To: Error: Reading file: "/home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts" line: 82 name: "domain" value: "system_server" (cherry picked from commit efebf97e) Change-Id: Idf791d28fbba95fbeed8b9ccec9a296eea33afb9 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
(cherry picked from commit 25528cf4) Change-Id: Ic4dc59650ca849b950cb145fedafdf4fc250f009 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jan 29, 2016
-
-
William Roberts authored
Remove the .data=NULL assignments that were pushing the static keymap mapping horizontal. Change-Id: I2e6e78930ac8d1d8b9bd61d9dedb59f4859ea13c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Data type tracking is no longer needed now that per key validation routines are supported. Change-Id: I2f1d0d5b1713e0477996479b0f279a58f43f15c7 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Input validation was hard-coded into a validation routine that would check against type and key names in a scattered, order dependent conditional code block. This makes it harder than it should be to add new key value pairs and types into checkseapp. To correct this, we add a validation callback into the static mapping. If the validation callback is set, the existing validation routine will call this for input validation. On failure, a validation specific error message is returned to be displayed. Change-Id: I92cf1cdf4ddbcfae19168b621f47169a3cf551ac Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change the final error message to be consistent with the others. From: Error: reading /home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts, line 82, name domain, value system_server To: Error: Reading file: "/home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts" line: 82 name: "domain" value: "system_server" Change-Id: Idf791d28fbba95fbeed8b9ccec9a296eea33afb9 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change-Id: Ic4dc59650ca849b950cb145fedafdf4fc250f009 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Nov 09, 2015
-
-
Jeff Vander Stoep authored
Initial check in of empty autoplay_app.te policy file. Create isAutoPlayApp input selector. Give this selector high precedence - only below isSystemServer. Add neverallow rule disallowing an app context with isAutoPlayApp=true from running in a domain other than autoplay_app. Change-Id: I1d06669d2f1acf953e50867dfa2b264ccaee29a4
-
- Oct 14, 2015
-
-
Jeff Vander Stoep authored
Assign priviliged apps not signed with the platform key to the priv_app domain. Bug: 22033466 Change-Id: Idf7fbe7adbdc326835a179b554f96951b69395bc
-
- Jun 25, 2015
-
-
William Roberts authored
Introduce "neverallow" rules for seapp_contexts. A neverallow rule is similar to the existing key-value-pair entries but the line begins with "neverallow". A neverallow violation is detected when all keys, both inputs and outputs are matched. The neverallow rules value parameter (not the key) can contain regular expressions to assist in matching. Neverallow rules are never output to the generated seapp_contexts file. Also, unless -o is specified, checkseapp runs in silent mode and outputs nothing. Specifying - as an argument to -o outputs to stdout. Sample Output: Error: Rule in File "external/sepolicy/seapp_contexts" on line 87: "user=fake domain=system_app type=app_data_file" violates neverallow in File "external/sepolicy/seapp_contexts" on line 57: "user=((?!system).)* domain=system_app" Change-Id: Ia4dcbf02feb774f2e201bb0c5d4ce385274d8b8d Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 23, 2015
-
-
William Roberts authored
rule_map_free() took as a parameter a boolean menu rule_map_switch that was used to determine if it should free the key pointer that is also in the table. On GLIBC variants, calls to hdestroy do not free the key pointer, on NON-GLIBC variants, it does. The original patch was meant to correct this, however, it always passes "destroy" as the rule_map_switch. On GLIBC variants this is fine, however on NON-GLIBC variants, that free was compiled out, and the free() was handled by hdestroy. In cases of failure where the rule_map was not in the htable, those key's were not properly free'd. Change-Id: Ifdf616e09862bca642a4d31bf0cb266168170e50 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change-Id: I00aa4eeaf569c8108a7b6aab190be68e53b46597 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 19, 2015
-
-
William Roberts authored
When an error occured it was erroneously being indicated that he file was the output file, not the input file. Before: Error: Could not find selinux type "fake_app" on line: 51 in file: out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts Error: Could not validate Error: reading out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp, line 51, name levelFrom, value user After: Error: Could not find selinux type "fake_app" on line: 51 in file: out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp Error: Could not validate Error: reading out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp, line 51, name levelFrom, value user Change-Id: Ib0e01f1f0ef563a2a150a0a3b4012e6e15d736bb Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 12, 2015
-
-
William Roberts authored
If a duplicate entry is found, rule_map_cmp() incorrectly assumes that the lengths of the key value pairs should be equal, when this is not true. The duplicate detection is done on the input parameters, thus the lengths can be different. This resulted in a duplicate error string message of "do not match", instead of "match on all inputs". Also, the file name printed that contained the error was the output file, not the input file that contained it. Change-Id: I9b3f99fa4aa3454849de55f18b198b0b56e44320 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Feb 24, 2015
-
-
Stephen Smalley authored
SELinux policy booleans are prohibited in AOSP, so we can drop the support for the sebool= input selector. Change-Id: I5ae31247b2f68d90f6ae4c8830458f22c4ffc854 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Presently it ignores duplicate keys in seapp_contexts entries, e.g. if you were to specify: user=system seinfo=platform user=bluetooth domain=system_app type=system_app_data_file checkseapp would ignore the duplicate and libselinux would end up using the last value defined for the key in each line. Change-Id: I18cadb0c1bf5a907e6fc6513df65aafed91d76fe Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 13, 2015
-
-
Stephen Smalley authored
Presently it only detects complete duplicates if you specify -s (strict), which is not used in the external/sepolicy Makefile, and it allows overriding earlier entries that have the same input selectors (e.g. user=, seinfo=) with different values for the output selectors (e.g. domain=, type=). Thus, a device/<vendor>/<board>/sepolicy/seapp_contexts file can override the external/sepolicy definitions, and even a single seapp_contexts file can contain duplicated or conflicting definitions. Make it always check strictly, and prohibit either duplicates on the input selectors (i.e. overrides) or complete duplicates (redundant). Change-Id: Id1e38133cbe31b796253101cfe3b111d1826bc8c Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Sep 15, 2014
-
-
Stephen Smalley authored
Enable labeling apps differently depending on whether they are running for the primary user / owner or for a secondary user. Change-Id: I37aa5b183a7a617cce68ccf14510c31dfee4e04d Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Apr 04, 2014
-
-
Stephen Smalley authored
check_app already checks for usage of name= entries in seapp_contexts with no seinfo= specification to link it back to a signer in mac_permissions.xml. However, one can avoid this error by specifying a seinfo=default which merely matches the default stanza of mac_permissions.xml without actually ensuring that it is tied to a specific certificate. Catch that error case too. Change-Id: If33cf21501e8bfee44d31c92b6341dfa583552b2 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 19, 2014
-
-
Stephen Smalley authored
Extend check_seapp to accept the use of the new path= specifier in seapp_contexts and use it to ensure proper labeling of the cache subdirectory of com.android.providers.downloads for restorecon. After this change, restorecon /data/data/com.android.providers.downloads/cache does not change the context, leaving it in download_file rather than relabeling it to platform_app_data_file. Depends on Iddaa3931cfd4ddd5b9f62cd66989e1f26553baa1. Change-Id: Ief65b8c8dcb44ec701d53e0b58c52d6688cc2a14 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Nov 01, 2013
-
-
Robert Craig authored
Also add attribute for a potential unused function argument when dealing with darwin SDK builds. Change-Id: Iefdbecb050cc5fff6036f15413566e10cefa3813
-
- Oct 31, 2013
-
-
Stephen Smalley authored
And also remove the unnecessary references to libselinux for sepolicy-check, as it has no dependencies on libselinux. Also enable -Wall -Werror on building all of these tools and fix up all such errors. Usage: $ sepolicy-analyze -e -P out/target/product/<device>/root/sepolicy or $ sepolicy-analyze -d -P out/target/product/<device>/root/sepolicy The first form will display all type pairs that are "equivalent", i.e. they are identical with respect to allow rules, including indirect allow rules via attributes and default-enabled conditional rules (i.e. default boolean values yield a true conditional expression). Equivalent types are candidates for being coalesced into a single type. However, there may be legitimate reasons for them to remain separate, for example: - the types may differ in a respect not included in the current analysis, such as default-disabled conditional rules, audit-related rules (auditallow or dontaudit), default type transitions, or constraints (e.g. mls), or - the current policy may be overly permissive with respect to one or the other of the types and thus the correct action may be to tighten access to one or the other rather than coalescing them together, or - the domains that would in fact have different accesses to the types may not yet be defined or may be unconfined in the policy you are analyzing (e.g. in AOSP policy). The second form will display type pairs that differ and the first difference found between the two types. This output can be long. We have plans to explore further enhancements to this tool, including support for identifying isomorphic types. That will be required to identify similar domains since all domains differ in at least their entrypoint type and in their tmpfs type and thus will never show up as equivalent even if they are in all other respects identical to each other. Change-Id: If0ee00188469d2a1e165fdd52f235c705d22cd4e Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Oct 16, 2013
-
-
William Roberts authored
Change-Id: If4839218b200a0d90bdf7779d2e039719fae85a5
-
William Roberts authored
Modify check_seapp.c to verify that a packagname (name) must be specified with a signing key (seinfo). This will help thwart spoof attacks on the packagename. Change-Id: I8f1aa8a479cb5beb5c3522d85e3181604931ea72
-
- Oct 15, 2013
-
-
William Roberts authored
check_seapp at one point in time switch from a home implementation of a hash table to using GLIBC search.h routines. A struct in one of the fields was never removed during this transition. Change-Id: I65c028103ffe90fa52e0b3c9fce28124ed9c7ff9
-
- Apr 29, 2013
-
-
William Roberts authored
Change-Id: I3bb4755b86a90414a3912c8099dd7a4389249b24
-
- Apr 20, 2013
-
-
William Roberts authored
Change-Id: Ic040af5cfcd1be22074a691ecdd01e890866bc19
-
- Mar 20, 2013
-
-
Stephen Smalley authored
Introduce a levelFrom=none|app|user|all syntax for specifying per-app, per-user, or per-combination level assignment. levelFromUid=true|false remains valid syntax but is deprecated. levelFromUid=true is equivalent to levelFrom=app. Update check_seapp to accept the new syntax. Update seapp_contexts to document the new syntax and switch from levelFromUid=true to levelFrom=app. No change in behavior. Change-Id: Ibaddeed9bc3e2586d524efc2f1faa5ce65dea470 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Nov 27, 2012
-
-
William Roberts authored
Change-Id: I7b6ad050051854120dc8031b17da6aec0e644be3
-