2013-08-29 3 views
0

Я создаю некоторые таможенные правила, используя Fortify, но мне интересно, есть ли способ настроить эти правила, чтобы они могли быть специфичными для языка.Как написать фортификацию пользовательских правил?

Причиной этого является возможность предоставления пользовательских описаний в Java и .NET для внедрения SQL, например, и пользовательских ссылок, чтобы они могли быть специфичными для языка.

Похоже, что Fortify сопоставляет пользовательские правила по категориям, но проблема возникает, когда у нас есть два пакета: один для .NET и другой для Java, и оба они предоставляют категорию под названием Cross-Site Scripting.

Вы, ребята, знаете, как сделать эти правила языковыми?

Спасибо.

ответ

0

Используйте атрибут языка в правиле, как здесь:

<StructuralRule formatVersion="3.8" language="dotnet"> 
       <RuleID>1537A69A-F7EA-4D14-9F8F-0CC17806780A</RuleID> 
       <VulnKingdom>Input Validation and Representation</VulnKingdom> 
       <VulnCategory>SQL Injection</VulnCategory> 
       <DefaultSeverity>2.0</DefaultSeverity> 
       <Description></Description> 
       <Predicate><![CDATA[ 
        FunctionCall fc: fc.function is [Function f: f.name == "set_CommandText" and 
                   f.enclosingClass.supers contains [Class c: c.name == "System.Data.IDbCommand"]] and 
            not fc.enclosingFunction contains [FunctionCall call: call.function is 
                [Function f1: f1.name == "set_CommandType" and 
                    f1.enclosingClass.supers contains [Class c1: c1.name == "System.Data.IDbCommand"]] and 
                     call.arguments[0].constantValue == 4] 
       ]]></Predicate> 
</StructuralRule> 
+0

Благодаря Я дам ему попробовать. Таким образом, добавив атрибут language (dotnet), это настраиваемое правило будет отображаться только тогда, когда дефект SQL Injection найден в любом проекте .NET. –

+0

Также кажется, что я использую обновленную версию правил 3.16. И даже когда я указал ключ языка для использования java, это правило отображается при проверке проекта C#. Вы знаете, что здесь может быть неправильно? ---- \t 160F7B5A-85D0-4954 -97D5-35C3F0285057 \t \t TestM \t 1,0 \t Java \t \t Пользовательские правила \t \t \t <Правила версии = "3.16"> –

Смежные вопросы