public class DefaultSourceSinkManager extends Object implements ISourceSinkManager
ISourceSinkManager working on lists of source and sink methods| 限定符和类型 | 字段和说明 |
|---|---|
protected com.google.common.cache.LoadingCache<soot.SootClass,Collection<soot.SootClass>> |
interfacesOf |
protected Collection<String> |
sinkDefs |
protected Collection<String> |
sourceDefs |
| 构造器和说明 |
|---|
DefaultSourceSinkManager(Collection<String> sources,
Collection<String> sinks)
Creates a new instance of the
DefaultSourceSinkManager class |
DefaultSourceSinkManager(Collection<String> sources,
Collection<String> sinks,
Collection<String> parameterTaintMethods,
Collection<String> returnTaintMethods)
Creates a new instance of the
DefaultSourceSinkManager class |
DefaultSourceSinkManager(ISourceSinkDefinitionProvider sourceSinkProvider)
Creates a new instance of the
DefaultSourceSinkManager class |
| 限定符和类型 | 方法和说明 |
|---|---|
SinkInfo |
getSinkInfo(soot.jimple.Stmt sCallSite,
InfoflowManager manager,
AccessPath ap)
Checks if the given access path at this statement will leak.
|
SourceInfo |
getSourceInfo(soot.jimple.Stmt sCallSite,
InfoflowManager manager)
Determines if a method called by the Stmt is a source method or not.
|
void |
initialize()
Initialization method that is called after the Soot instance has been
created and before the actual data flow tracking is started.
|
protected SootMethodAndClass |
isSinkMethod(InfoflowManager manager,
soot.jimple.Stmt sCallSite)
Checks whether the given call sites invokes a sink method
|
protected boolean |
isSourceMethod(InfoflowManager manager,
soot.jimple.Stmt sCallSite)
Checks whether the given call sites invokes a source method
|
void |
setParameterTaintMethods(List<String> parameterTaintMethods)
Sets the list of methods whose parameters shall be regarded as taint sources
|
void |
setReturnTaintMethods(List<String> returnTaintMethods)
Sets the list of methods whose return values shall be regarded as taint sinks
|
void |
setSinks(List<String> sinks)
Sets the list of methods to be treated as sinks
|
void |
setSources(List<String> sources)
Sets the list of methods to be treated as sources
|
protected Collection<String> sourceDefs
protected Collection<String> sinkDefs
protected final com.google.common.cache.LoadingCache<soot.SootClass,Collection<soot.SootClass>> interfacesOf
public DefaultSourceSinkManager(Collection<String> sources, Collection<String> sinks)
DefaultSourceSinkManager classsources - The list of methods to be treated as sourcessinks - The list of methods to be treated as sinspublic DefaultSourceSinkManager(Collection<String> sources, Collection<String> sinks, Collection<String> parameterTaintMethods, Collection<String> returnTaintMethods)
DefaultSourceSinkManager classsources - The list of methods to be treated as sourcessinks - The list of methods to be treated as sinksparameterTaintMethods - The list of methods whose parameters shall be
regarded as sourcesreturnTaintMethods - The list of methods whose return values shall be
regarded as sinkspublic DefaultSourceSinkManager(ISourceSinkDefinitionProvider sourceSinkProvider)
DefaultSourceSinkManager classsourceSinkProvider - The provider that defines source and sink methodspublic void setSources(List<String> sources)
sources - The list of methods to be treated as sourcespublic void setSinks(List<String> sinks)
sinks - The list of methods to be treated as sinkspublic SourceInfo getSourceInfo(soot.jimple.Stmt sCallSite, InfoflowManager manager)
ISourceSinkManagergetSourceInfo 在接口中 ISourceSinkManagersCallSite - a Stmt which should include an invokeExrp calling a methodmanager - The manager object for interacting with the solverprotected boolean isSourceMethod(InfoflowManager manager, soot.jimple.Stmt sCallSite)
manager - The manager object providing access to the configuration and
the interprocedural control flow graphsCallSite - The call site to checkpublic SinkInfo getSinkInfo(soot.jimple.Stmt sCallSite, InfoflowManager manager, AccessPath ap)
ISourceSinkManagergetSinkInfo 在接口中 ISourceSinkManagersCallSite - The call site to checkmanager - The manager object for interacting with the solverap - The access path to check. Pass null to check whether the given
statement can be a sink for any given access path.protected SootMethodAndClass isSinkMethod(InfoflowManager manager, soot.jimple.Stmt sCallSite)
manager - The manager object providing access to the configuration and
the interprocedural control flow graphsCallSite - The call site to checkpublic void setParameterTaintMethods(List<String> parameterTaintMethods)
parameterTaintMethods - The list of methods whose parameters shall be
regarded as taint sourcespublic void setReturnTaintMethods(List<String> returnTaintMethods)
returnTaintMethods - The list of methods whose return values shall be
regarded as taint sinkspublic void initialize()
ISourceSinkManagerinitialize 在接口中 ISourceSinkManagerCopyright © 2022 Fraunhofer SIT. All rights reserved.