External malware block list for antivirus
The external malware block list is a new feature introduced in FortiOS 6.2.0, which falls under the umbrella of outbreak prevention.
This feature provides another means of supporting the AV Database by allowing users to add their own malware signatures in the form of MD5, SHA1, and SHA256 hashes.
This feature provides a mechanism for antivirus to retrieve an external malware hash list from a remote server and polls the hash list every n minutes for updates.
Support and limitations
Malware detection using the external malware block list can be used in both proxy-based and flow-based policy inspections.
Just like FortiGuard outbreak prevention, external dynamic block list is not supported in AV default scan mode.
Using different types of hashes simultaneously may slow down the performance of malware scanning. For this reason, users are recommended to only using one type of hash (either MD5, SHA1, or SHA256), not all three simultaneously.
Network topology example
Configuring the feature
To configure antivirus to work with external block list:
- Create the malware hash list
- Configure the external malware block list source:
- Go to Global > Security Fabric > Fabric Connectors and click Create New.
- Select Malware Hash.
- Fill out the fields as shown. The URI must point to the malware hash list on the remote server.
- Click OK.
The malware hash source object is now created.
To view entries inside the malware block list, click the View Entries button:
The malware hash threat feed is shown (hash_list):
- Enable the external malware block list in the antivirus profile:
config antivirus profile edit <av_profile> config outbreak-prevention set external-blocklist enable end next end
Antivirus is now ready to use the external malware block list.
The malware hash list follows a strict format in order for its contents to be valid. Malware hash signature entries must be separated into each line. A valid signature needs to follow the format below:
# MD5 Entry with hash description aa67243f746e5d76f68ec809355ec234 md5_sample1 # SHA1 Entry with hash description a57983cb39e25ab80d7d3dc05695dd0ee0e49766 sha1_sample2 # SHA256 Entry with hash description ae9bc0b4c5639d977d720e4271da06b50f7c60d1e2070e9c75cc59ab30e49379 sha256_sample1 # Entry without hash description 0289b0d967cb7b1fb1451339c7b9818a621903090e0020366ab415c549212521 # Invalid entries 7688499dc71b932feb126347289c0b8a_md5_sample2 7614e98badca10b5e2d08f8664c519b7a906fbd5180ea5d04a82fce9796a4b87sha256_sample3
Diagnostics and debugging
Check if the scanunit
daemon has updated itself with the external hashes:
FGT_PROXY # config global FGT_PROXY (global) # diagnose sys scanunit malware-list list md5 'aa67243f746e5d76f68ec809355ec234' profile 'hash_list' description 'md5_sample1' sha1 'a57983cb39e25ab80d7d3dc05695dd0ee0e49766' profile 'hash_list' description 'sha1_sample2' sha256 '0289b0d967cb7b1fb1451339c7b9818a621903090e0020366ab415c549212521' profile 'hash_list' description '' sha256 'ae9bc0b4c5639d977d720e4271da06b50f7c60d1e2070e9c75cc59ab30e49379' profile 'hash_list' description 'sha256_sample1'