« Previous Next »

Thread: Question: UrlScan and allow lists

Last post 06-27-2008 9:37 PM by DaytonaDave. 2 replies.

Average Rating Rate It (5)

RSS

Page 1 of 1 (3 items)

Sort Posts:

  • 06-27-2008, 10:20 AM

    • wadeh
    • Top 50 Contributor
    • Joined on 04-19-2005, 10:17 PM
    • Posts 112

    Question: UrlScan and allow lists

    Hello and thanks to those of you out there using UrlScan.

    There have been a couple of suggestions for allow list support in UrlScan.  I am thinking about how best to incorporate this and wanted to get a feel for what would work for you.

    My first thought is that I should not provide an allow list where the presence of a substring causes a request to bypass rules.  The problem with this is that an attacker could then bypass any of your rules by just appending a string from your allow list to their attack.  It needs to be a complete match.  For example, an [AllowQueryString] entry of "safeqs" would cause only the exact query string "safeqs" bypass query string rules; "safeqsx" would not pass.  Also, I would consider making the allow list case sensitive (The [AllowVerbs] section is case sensitive, but all deny lists in UrlScan are case insensitive.)

    I'm also thinking about what allow lists are needed.

    I am considering an [AllowUrl] list that bypasses VerifyNormalization, AllowHighBitCharacters, AllowDotInPath, MaxUrl, DenyExtensions and ScanUrl in rule sets.  The URL would always be evaluated for this rule as if NormalizeUrlBeforeScan=1 is set.

    I am also considering an [AllowQueryString] list that bypasses UnescapeQueryString, MaxQueryString, DenyQueryStringSequences and ScanQueryString in rule sets.  Handling UnescapeQueryString for this rule is not as straightword as handling NormalizeUrlBeforeScan above.  UrlScan knows that IIS will always normalize the URL, but it has no way of knowing whether the target page will do any decoding on the query string or not.

    Would this functionality meet the need and improve UrlScan?  Please feel free to comment and/or make alternative suggestions.

    Disclaimer:  I cannot promise that we will implement any particular functionality for the RTW release, but we will condsider all feedback.

    Thanks,

    -Wade

  • 06-27-2008, 11:59 AM In reply to

    Re: Question: UrlScan and allow lists

    I see the problem with the allow lists you do not someting with <src>, table, etc (which would normally be rejected) allowed if the query string jsuty contains say %%3F or something that you specfically want to allow.

    More thoughts on this after the weekend 

  • 06-27-2008, 9:37 PM In reply to

    Re: Question: UrlScan and allow lists

    While I agree that an allow list has inherent danger because it can bypass a deny rule, I think the reward justifies the risk.  There will be cases where we *know* certain strings are ok and should be allowed, even if they contain word parts that would be otherwise denied.

    I think that as long as the Allow List terms are well thought out and kept secret, the danger of a hacker intentionally using them to bypass a filter rule are slim.

    One thing I think would help A LOT in any Allow List strategy is a log entry documenting an Allow Entry that overrode a Deny Entry.  So, if you chose to allow Comcast and block CAST, there could be a log entry alerting the admin to the situation.  This would help a lot in catching 'false negatives'.

    That's my 2 cents :)

Page 1 of 1 (3 items)
Microsoft Communities