Re: [PATCH 2/2] SELinux: Measure state and hash of policy using IMA

Lakshmi Ramasubramanian
2020-08-13T18:03:09Z

On 8/13/20 10:58 AM, Stephen Smalley wrote:
> On Thu, Aug 13, 2020 at 1:52 PM Lakshmi Ramasubramanian
> <nramas@linux.microsoft.com> wrote:
>>
>> On 8/13/20 10:42 AM, Stephen Smalley wrote:
>>
>>>> diff --git a/security/selinux/measure.c b/security/selinux/measure.c
>>>> new file mode 100644
>>>> index 000000000000..f21b7de4e2ae
>>>> --- /dev/null
>>>> +++ b/security/selinux/measure.c
>>>> @@ -0,0 +1,204 @@
>>>> +static int selinux_hash_buffer(void *buf, size_t buf_len,
>>>> + void **buf_hash, int *buf_hash_len)
>>>> +{
>>>> + struct crypto_shash *tfm;
>>>> + struct shash_desc *desc = NULL;
>>>> + void *digest = NULL;
>>>> + int desc_size;
>>>> + int digest_size;
>>>> + int ret = 0;
>>>> +
>>>> + tfm = crypto_alloc_shash("sha256", 0, 0);
>>>> + if (IS_ERR(tfm))
>>>> + return PTR_ERR(tfm);
>>> Can we make the algorithm selectable via kernel parameter and/or writing
>>> to a new selinuxfs node?
>>
>> I can add a kernel parameter to select this hash algorithm.
>
> Also can we provide a Kconfig option for the default value like IMA does?
>

Would we need both - Kconfig and kernel param?

The other option is to provide an IMA function to return the current
hash algorithm used for measurement. That way a consistent hash
algorithm can be employed by both IMA and the callers. Would that be better?

-lakshmi