2021SC@SDUSC
OSSIM-agent源代码分析(二)
1、简述
Event Handler的主要任务是映射数据源插件采集的事件到SIEM实例警报的OSSIM标准化事件格式。为了执行这样的过程,原始消息经历由RAW LOG转换为现有归一化数据字段格式的一个转变;我们将这些机制表示为“归一化Normalization”和“OSSIM消息”
2、Agent.py源码分析
loadAliases函数分析
主要功能:加载别名配置文件
进行配置文件引入及相关类的声明
self.__aliases = Aliases()
self.__aliases.read([os.path.join(os.path.dirname(configuration_file), "aliases.cfg")], 'latin1')
local_aliases_fn = os.path.join(os.path.dirname(configuration_file), "aliases.local")
如果Alias.local存在,在加载Alias默认文件后,再加载别名
if os.path.isfile(local_aliases_fn):
logger.info("Reading local aliases file: %s" % local_aliases_fn)
self.__aliases.read(local_aliases_fn, 'latin1')
loadPluginConfigurations函数分析
主要功能:加载插件的配置
插件是ossim的核心
检查是否有加密信息,部分插件的数据可能有不同形式的加密
if 'suricata' in self.conf.hitems("plugins"):
self.conf.set('plugins', 'av-pulse', DEFAULT_PULSE_PLUGIN_PATH)
for name, path in self.conf.hitems("plugins").iteritems():
data = path.split('|')
path = data[0]
encoding = 'latin1'
if len(data) > 1:
path = data[0]
encoding = data[1]
if data[1] != '':
encoding = data[1]
try:
logger.info("Using encoding: %s for plugin: %s" % (encoding, path))
encoder = codecs.lookup(encoding)
except LookupError, e