All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: John Wood <john.wood@gmx.com>, Kees Cook <keescook@chromium.org>,
	Jann Horn <jannh@google.com>, Jonathan Corbet <corbet@lwn.net>,
	James Morris <jmorris@namei.org>, Shuah Khan <shuah@kernel.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v3 3/8] securtiy/brute: Detect a brute force attack
Date: Tue, 23 Feb 2021 12:44:14 -0800	[thread overview]
Message-ID: <a0134e04-213f-2440-6d0b-adb018e49083@infradead.org> (raw)
In-Reply-To: <20210223182054.GB3068@ubuntu>

On 2/23/21 10:20 AM, John Wood wrote:
> Hi,
> 
> On Sun, Feb 21, 2021 at 06:47:16PM -0800, Randy Dunlap wrote:
>> Hi--
>>
>> scripts/kernel-doc does not like these items to be marked
>> as being in kernel-doc notation. scripts/kernel-doc does not
>> recognize them as one of: struct, union, enum, typedef, so it
>> defaults to trying to interpret these as functions, and then
>> says:
>>
>> (I copied these blocks to my test megatest.c source file.)
>>
>>
>> ../src/megatest.c:1214: warning: cannot understand function prototype: 'const u64 BRUTE_EMA_WEIGHT_NUMERATOR = 7; '
>> ../src/megatest.c:1219: warning: cannot understand function prototype: 'const u64 BRUTE_EMA_WEIGHT_DENOMINATOR = 10; '
>> ../src/megatest.c:1228: warning: cannot understand function prototype: 'const unsigned char BRUTE_MAX_FAULTS = 200; '
>> ../src/megatest.c:1239: warning: cannot understand function prototype: 'const unsigned char BRUTE_MIN_FAULTS = 5; '
>> ../src/megatest.c:1249: warning: cannot understand function prototype: 'const u64 BRUTE_CRASH_PERIOD_THRESHOLD = 30000; '
>>
>>
>> On 2/21/21 7:49 AM, John Wood wrote:
>>>
>>> +/**
>>> + * brute_stats_ptr_lock - Lock to protect the brute_stats structure pointer.
>>> + */
>>> +static DEFINE_RWLOCK(brute_stats_ptr_lock);
>>
>>> +/**
>>> + * BRUTE_EMA_WEIGHT_NUMERATOR - Weight's numerator of EMA.
>>> + */
>>> +static const u64 BRUTE_EMA_WEIGHT_NUMERATOR = 7;
>>
>>> +/**
>>> + * BRUTE_EMA_WEIGHT_DENOMINATOR - Weight's denominator of EMA.
>>> + */
>>> +static const u64 BRUTE_EMA_WEIGHT_DENOMINATOR = 10;
>>
>>> +/**
>>> + * BRUTE_MAX_FAULTS - Maximum number of faults.
>>> + *
>>> + * If a brute force attack is running slowly for a long time, the application
>>> + * crash period's EMA is not suitable for the detection. This type of attack
>>> + * must be detected using a maximum number of faults.
>>> + */
>>> +static const unsigned char BRUTE_MAX_FAULTS = 200;
>>
>>> +/**
>>> + * BRUTE_MIN_FAULTS - Minimum number of faults.
>>> + *
>>> + * The application crash period's EMA cannot be used until a minimum number of
>>> + * data has been applied to it. This constraint allows getting a trend when this
>>> + * moving average is used. Moreover, it avoids the scenario where an application
>>> + * fails quickly from execve system call due to reasons unrelated to a real
>>> + * attack.
>>> + */
>>> +static const unsigned char BRUTE_MIN_FAULTS = 5;
>>
>>> +/**
>>> + * BRUTE_CRASH_PERIOD_THRESHOLD - Application crash period threshold.
>>> + *
>>> + * The units are expressed in milliseconds.
>>> + *
>>> + * A fast brute force attack is detected when the application crash period falls
>>> + * below this threshold.
>>> + */
>>> +static const u64 BRUTE_CRASH_PERIOD_THRESHOLD = 30000;
>>
>> Basically we don't support scalars in kernel-doc notation...
> 
> So, to keep it commented it would be better to use a normal comment block?
> 
> /*
>  * Documentation here
>  */
> 
> What do you think?

Yes, please, just a normal /* comment block.

thanks.
-- 
~Randy


  reply	other threads:[~2021-02-23 20:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-21 15:49 [PATCH v3 0/8] Fork brute force attack mitigation John Wood
2021-02-21 15:49 ` [PATCH v3 1/8] security: Add LSM hook at the point where a task gets a fatal signal John Wood
2021-02-21 15:49 ` [PATCH v3 2/8] security/brute: Define a LSM and manage statistical data John Wood
2021-02-21 15:49 ` [PATCH v3 3/8] securtiy/brute: Detect a brute force attack John Wood
2021-02-22  2:25   ` Randy Dunlap
2021-02-23 18:13     ` John Wood
2021-02-22  2:30   ` Randy Dunlap
2021-02-23 18:25     ` John Wood
2021-02-22  2:47   ` Randy Dunlap
2021-02-23 18:20     ` John Wood
2021-02-23 20:44       ` Randy Dunlap [this message]
2021-02-21 15:49 ` [PATCH v3 4/8] security/brute: Fine tuning the attack detection John Wood
2021-02-21 15:49 ` [PATCH v3 5/8] security/brute: Mitigate a brute force attack John Wood
2021-02-21 15:49 ` [PATCH v3 6/8] selftests/brute: Add tests for the Brute LSM John Wood
2021-02-21 15:49 ` [PATCH v3 7/8] Documentation: Add documentation " John Wood
2021-02-21 15:49 ` [PATCH v3 8/8] MAINTAINERS: Add a new entry " John Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a0134e04-213f-2440-6d0b-adb018e49083@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=corbet@lwn.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jannh@google.com \
    --cc=jmorris@namei.org \
    --cc=john.wood@gmx.com \
    --cc=keescook@chromium.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=serge@hallyn.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.