Employing MMS Security features
FortiOS Carrier includes all the Security features of FortiOS with extra features specific to MMS carrier networks.
This section includes:
Why scan MMS messages for viruses and malware?
The requirement for scanning MM1 content comes from the fact that MMS is an increasingly popular technique for propagating malware between mobile devices.
Example: COMMWARRIOR
This is a virus for Series 60 type cell phones, such as Nokia, operating Symbian OS version 6 [or higher]. The object of the virus is to spread to other phones using Bluetooth and MMS as transport avenues. The targets are selected from the contact list of the infected phone and also sought via Bluetooth searching for other Bluetoothenabled devices (phones, printers, gaming devices etc.) in the proximity of the infected phone.
This virus is more than a proof of concept – it has proven successfully its ability to migrate from a zoo collection to being in-the-wild. Currently, this virus is being reported in over 18 different countries around Europe, Asia and North America.
When the virus first infects a cell phone, a prompt is displayed asking the recipient if they want to install “Caribe”. Symptoms of an infected phone may include rapid battery power loss due to constant efforts by the virus to spread to other phones via a Bluetooth seek-and-connect outreach.
The following variants among others are currently scanned by the FortiOS Carrier devices, in addition to more signatures that cover all known threats.
l SymbOS/COMWAR.V10B!WORM
- Aliases: SymbOS.Commwarrior.B, SymbOS/Commwar.B, SymbOS/Commwar.B!wm, SymbOS/Commwar.B-net,
SymbOS/Commwarrior.b!sis, SymbOS/Comwar.B, SymbOS/Comwar.B!wm, SymbOS/Comwar.B-wm, SYMBOS_
COMWAR.B, SymbOS/Comwar.1.0.B!wormSYMBOS/COMWAR.V10B.SP!WORM [Spanish version] l First Discovered In The Wild: July 04, 2007 l Impact Level: 1 l Virus Class: Worm l Virus Name Size: 23,320 l SymbOS/Commwar.A!worm
- Aliases: Commwarrior-A, SymbOS.Commwarrior.A [NAV], SymbOS/Commwar.A-net, SymbOS/Commwar_
ezboot.A-ne, SymbOS/Comwar.A, SymbOS/Comwar.A-wm, SYMBOS_COMWAR.A [Trend]
- First Discovered In The Wild: May 16 2005 l Impact Level: 1 l Virus Class: Worm l Virus Name Size: 27,936 l SymbOS/Commwarriie.C-wm l Aliases: None l First Discovered In The Wild: Oct 17 2005 l Impact Level: 1 l Virus Class: File Virus l Virus Name Size: None
For the latest list of threats Fortinet devices detect, visit the FortiGuard Center.
MMS virus scanning
You can use MMS virus scanning to scan content contained within MMS messages for viruses. FortiOS Carrier virus scanning can be applied to the MM1, MM3, MM4, and MM7 interfaces to detect and remove content containing viruses at many points in an MMS network. Perhaps the most useful interface to apply virus scanning would be the MM1 interface to block viruses sent by mobile users before they get into the service provider network.
To go to MMS virus scanning, go to Security Profiles MMS Profile, select an existing or create a new profile, and expand MMS Scanning. See MMS scanning options.
This section includes:
l MMS virus monitoring l MMS virus scanning blocks messages (not just attachments) l Scanning MM1 retrieval messages l Configuring MMS virus scanning l Removing or replacing blocked messages l Carrier Endpoint Block l MMS Content Checksum l Passing or blocking fragmented messages l Client comforting l Server comforting l Handling oversized MMS messages
MMS virus monitoring
To enable MMS virus monitoring, expand MMS Scanning and enable Monitor only for the selected MMS types.
This feature causes the FortiOS Carrier unit to record log messages when MMS scanning options find a virus, match a file name, or match content using any of the other MMS scanning options. Selecting this option enables reporting on viruses and other problems in MMS traffic without affecting users.
MMS virus scanning blocks messages (not just attachments)
To enable MMS virus scanning, expand MMS Scanning and enable Virus Scan for the selected MMS types.
Because MM1 and MM7 use HTTP, the oversize limits for HTTP and the HTTP antivirus port configurations also apply to MM1 and MM7 scanning. See
MM3 and MM4 use SMTP and the oversize limits for SMTP and the SMTP antivirus port configurations also apply to MM3 and MM4 scanning.
The message contents will be scanned for viruses, matched against the file extension blocking lists and scanned for banned words. All these items will be configured via the standard GUI interfaces available for the other protocols and will be controlled at the protection profile level with new options specifically for the MM1 messages.
The FortiOS Carrier unit extracts the sender’s Mobile Subscriber Integrated Services Digital Network Number (MSISDN) from the HTTP headers if available. The POST payload will be sent to the scan units which will parse the MMS content and scan each message data section. If any part of the data is to be blocked, the proxy will be informed, the connection to the MMSC will be reset and the Carrier-enabled FortiGate unit will return an HTTP 200 OK message with an m-send-conf payload to the client to prevent a retry. Finally the appropriate logging, alert, and replacement message events will be triggered.
For client notification, the x-mms-response-status and x-mms-response-text fields can also be customized as required.
Scanning MM1 retrieval messages
To scan MM1 retrieval messages, expand MMS Scanning and select Scan MM1 message retrieval.
Select to scan message retrievals that use MM1. If you enable Virus Scan for all MMS interfaces, messages are also scanned while being sent. In this case, you can disable MM1 message retrieval scanning to improve performance.
Configuring MMS virus scanning
To configure MMS virus scanning, expand MMS Scanning and enable Virus Scan.
Once applied to a security policy, the MMS protection profile will then perform virus scans on all traffic accepted by that policy.
Removing or replacing blocked messages
To remove blocked messages, expand MMS Scanning and select Remove Blocked for the selected MMS types.
Select Remove Blocked remove blocked content from each protocol and replace it with the replacement message. If FortiOS Carrier is to preserve the length of the message when removing blocked content, as may occur when billing is affected by the length of the message, select Constant.
If you only want to monitor blocked content, select Monitor Only.
Carrier Endpoint Block
A carrier endpoint defines a specific client on the carrier network. Typically the client IP address is used to identify the client, however on a carrier network this may be impractical when the client is using a mobile device. Other identifying information such as the MSIDSN number is used instead.
This information can be used to block a specific endpoint on the network. Reasons for blocking may include clients whose accounts have expired, clients from another carrier, clients who have sent malicious content (phishing, exploits, viruses, etc), or other violations of terms of use.
Enabling carrier endpoint blocking
To enable carrier endpoint blocking you first need to create a carrier endpoint filter list, and then enable it.
To enable carrier endpoint blocking – web-based manager
- Create a carrier endpoint filter list.
- Go to Security Profiles > MMS Profile.
- Select Create New, or select an existing profile to edit and select Edit.
- Expand MMS Scanning.
- Select one or more types of MMS messaging to enable endpoint blocking on.
- Select the carrier endpoint filter list to use in matching the endpoints to be blocked.
Create a carrier endpoint filter list
A carrier endpoint filter list contains one or more carrier endpoints to match. When used in MMS scanning entries in the filter list that are matched are blocked.
You can configure multiple filter lists for different purposes and groups of clients, such as blocking clients, clients with different levels of service agreements, and clients from other carriers. See Carrier endpoint filter lists configuration settings.
To create a carrier endpoint filter list – web-based manager
- Go to Security Profiles > Carrier Endpoint Filter Lists.
- Select Create New.
- Enter a descriptive name for the filter list, such as blocked_clients or CountryX_clients, and select OK.
- Select Create New to add one or more entries to the list.
- Select OK to return to display the list of filter lists.
Configuring endpoint filter list entries
For each single endpoint or group of endpoints have part of their identifying information in common, you create an entry in the endpoint filter list.
For example a blocked_clients filter list may include entries for single endpoints added as each one needs to be blocked and a group of clients from a country that does not allow certain services.
To configure an endpoint filter list entry – web-based manager
- Select Create New.
- Enter the following information and select OK.
Name |
Name of endpoint filter list. Select this name in an MMS protection profile. |
Comments |
Optional description of the endpoint filter list. |
Check/Uncheck All |
Select the check box to enable all endpoint patterns in the MMS filter list.
Clear the check box to disable all entries on the MMS filter list.
You can also select or clear individual check boxes to enable or disable individual endpoint patterns. |
Pattern |
The pattern that FortiOS Carrier uses to match with endpoints. The pattern can be a single endpoint or consist of wildcards or Perl regular expressions that will match more than one endpoint. For more on wildcard and regular expressions, see Using wildcards and Perl regular expressions in the UTM guide. |
Action |
Select the action taken by FortiOS Carrier for messages from a carrier endpoint that matches the endpoint pattern:
None – No action is taken.
Block – MMS messages from the endpoint are not delivered and FortiOS Carrier records a log message.
Exempt from mass MMS – MMS messages from the endpoint are delivered and are exempt from mass MMS filtering. Mass MMS filtering is configured in MMS protection profiles and is also called MMS Bulk Email Filtering and includes MMS message flood protection and MMS duplicate message detection. A valid use of mass MMS would be when a service provider notifies customers of a system-wide event such as a shutdown.
Exempt from all scanning – MMS messages from the endpoint are delivered and are exempt from all MMS protection profile scanning. |
Content Archive |
MMS messages from the endpoint are delivered, the message content is DLP archived according to MMS DLP archive settings.
Content archiving is also called DLP archiving. |
Intercept |
MMS messages from the endpoint are delivered. Based on the quarantine configuration, attached files may be removed and quarantined. |
Pattern Type |
The pattern type: Wildcard, Regular Expression, or Single Endpoint. |
Enable |
Select to enable this endpoint filter pattern. |
|
|
|
Blocking network access based on endpoints
You can use endpoint IP filtering to block traffic from source IP addresses associated with endpoints. You can also configure FortiOS Carrier to record log messages whenever endpoint IP filtering blocks traffic. Endpoint IP filtering blocks traffic at the IP level, before the traffic is accepted by a security policy.
To configure endpoint IP filtering, go to Security Profiles > IP Filter and add endpoints to the IP filter list. For each endpoint you can enable or disable both blocking traffic and logging blocked traffic.
FortiOS Carrier looks in the current user context list for the endpoints in the IP filter list and extracts the source IP addresses for these endpoints. Then any communication session with a source IP address that matches one of these IP addresses is blocked at the IP level, before the communication session is accepted by a security policy.
FortiOS Carrier dynamically updates the list of IP addresses to block as the user context list changes. Only these updated IP addresses are blocked by endpoint IP filtering.
For information about the carrier endpoints and the user context list, including how entries are added to and removed from this list.
MMS Content Checksum
The MMS content checksum feature attempts to match checksums of known malicious MMS messages, and on a successful match it will be blocked. The checksums are applied to each part of the message—attached files and message body have separate checksums. These checksums are created with CRC-32, the same method as FortiAnalyzer checksums.
For example, if an MMS message contains a browser exploit in the message body, you can add the checksum for that message body to the list, and future occurrences of that exact message will be blocked. Content will be replaced by the content checksum block notification replacement message for that type of MMS message, and if it is enabled the event will be logged.
One possible implementation would to configure all .sis files to be intercepted. When one is found to be infected or malicious it would be added to the MMS content checksum list.
To use this feature a list of one or more malicious checksums must be created and then the feature is enabled using that list. For a detailed list of options, see MMS Content Checksum.
To configure an MMS content checksum list
- Go to Security Profiles > MMS Content Checksum.
- Select Create New.
- Enter a name for the list of checksums, and select OK. You are taken to the edit screen for that new list.
- Select Create New to add a checksum.
- Enter the Name and Checksum, and select OK. The checksum is added to the list.
To add more checksums to the list, repeat steps 4 and 5.
To remove a checksum from the list you can either delete the checksum or simply disable it and leave it in the list.
To enable MMS content checksums, expand MMS Scanning and select MMS Content Checksum for the selected MMS types. Select the checksum list to match.
Passing or blocking fragmented messages
Select to pass fragmented MM3 and MM4 messages. Fragmented MMS messages cannot be scanned for viruses. If you do not select these options, fragmented MM3 and MM4 message are blocked.
The Interval is the time in seconds before client comforting starts after the download has begun, and the time between sending subsequent data.
The Amount is the number of bytes sent by client or server comforting at each interval.
Client comforting
In general, client comting is available for for MM1 and MM7 messaging and provides a visual display of progress for web page loading or HTTP or FTP file downloads. Client comforting does this by sending the first few packets of the file or web page being downloaded to the client at configured time intervals so that the client is not aware that the download has been delayed. The client is the web browser or FTP client. Without client comforting, clients and their users have no indication that the download has started until the Carrier-enabled FortiGate unit has completely buffered and scanned the download. During this delay users may cancel or repeatedly retry the transfer, thinking it has failed.
The appearance of a client comforting message (for example, a progress bar) is client-dependent. In some instances, there will be no visual client comforting cue.
During client comforting, if the file being downloaded is found to be infected, then the Carrier-enabled FortiGate unit caches the URL and drops the connection. The client does not receive any notification of what happened because the download to the client had already started. Instead the download stops, and the user is left with a partially downloaded file.
If the user tries to download the same file again within a short period of time, then the cached URL is matched and the download is blocked. The client receives the Infection cache message replacement message as a notification that the download has been blocked. The number of URLs in the cache is limited by the size of the cache.
Client comforting can send unscanned (and therefore potentially infected) content to the client. Only enable client comforting if you are prepared to accept this risk. Keeping the client comforting interval high and the amount low will reduce the amount of potentially infected data that is downloaded.
MM1 and MM7 client comforting steps
Since MM1 and MM7 messages use HTTP, MM1 and MM7 client comforting operates like HTTP client comforting.
The following steps show how client comforting works for a download of a 1 Mbyte file with the client comforting interval set to 20 seconds and the client comforting amount set to 512 bytes.
- The client requests the file.
- The Carrier-enabled FortiGate unit buffers the file from the server. The connection is slow, so after 20 seconds about one half of the file has been buffered.
- The Carrier-enabled FortiGate unit continues buffering the file from the server, and also sends 512 bytes to the client.
- After 20 more seconds, the FortiGate unit sends the next 512 bytes of the buffered file to the client.
- When the file has been completely buffered, the client has received the following amount of data: ca * (T/ci) bytes == 512 * (40/20) == 512 * 2 == 1024 bytes,
where ca is the client comforting amount, T is the buffering time and ci is the client comforting interval.
- If the file does not contain a virus, the Carrier-enabled FortiGate unit sends the rest of the file to the client. If the file is infected, the FortiGate closes the data connection but cannot send a message to the client. Server comforting
Server comforting can be selected for each protocol.
Similar to client comforting, you can use server comforting to prevent server connection timeouts that can occur while waiting for FortiOS Carrier to buffer and scan large POST requests from slow clients.
The Interval is the time in seconds before client and server comforting starts after the download has begun, and the time between sending subsequent data.
The Amount is the number of bytes sent by client or server comforting at each interval.
Handling oversized MMS messages
Select Block or Pass for files and email messages exceeding configured thresholds for each protocol.
The oversize threshold refers to the final size of the message, including attachments, after encoding by the client. Clients can use a variety of encoding types; some result in larger file sizes than the original attachment. As a result, a file may be blocked or logged as oversized even if the attachment is several megabytes smaller than the oversize threshold.
MM1 sample messages
Internet Protocol, Src Addr: 10.128.206.202 (10.128.206.202), Dst Addr: 10.129.192.190 (10.129.192.190)
Transmission Control Protocol, Src Port: 34322 (34322), Dst Port: http (80), Seq: 1, Ack: 1, Len: 1380
Source port: 34322 (34322)
Destination port: http (80)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 24840
Checksum: 0x63c1 (correct)
HTTP proxy
Hypertext Transfer Protocol
POST / HTTP/1.1\r\n
Request Method: POST
Request URI: /
Request Version: HTTP/1.1
Host: 10.129.192.190\r\n
Accept: */*, application/vnd.wap.sic,application/vnd.wap.mms-message,text/xhdml,image/mng,image/x-mng,video/mng,video/x-mng,image/bmp\r\n
Accept-Charset: utf-8,*\r\n
Accept-Language: en\r\n
Content-Length: 25902\r\n
Content-Type: application/vnd.wap.mms-message\r\n
User-Agent: Nokia7650/1.0 SymbianOS/6.1 Series60/0.9 Profile/MIDP-1.0
Configuration/CLDC-1.0 UP.Link/6.2.1\r\n x-up-devcap-charset: utf-8\r\n x-up-devcap-max-pdu: 102400\r\n x-up-uplink: magh-ip.mi.vas.omnitel.it\r\n
x-wap-profile: “http://nds.nokia.com/uaprof/N7650r200.xml”\r\n x-up-subno: 1046428312-826\r\n x-up-calling-line-id: 393475171234\r\n x-up-forwarded-for: 10.211.4.12\r\n x-forwarded-for: 10.211.4.12\r\n Via: 1.1 magh-ip.mi.vas.omnitel.it\r\n
\r\n
Scan engine
MMS Message Encapsulation, Type: m-send-req
X-Mms-Message-Type: m-send-req (0x80)
X-Mms-Transaction-ID: 1458481935
X-Mms-MMS-Version: 1.0
From: <insert address>
To: 3475171234/TYPE=PLMN
X-Mms-Message-Class: Personal (0x80)
X-Mms-Expiry: 21600.000000000 seconds
X-Mms-Priority: Normal (0x81)
X-Mms-Delivery-Report: No (0x81)
X-Mms-Read-Report: No (0x81)
Content-Type: application/vnd.wap.multipart.related; start=<1822989907>; type=application/smil
Start: <1822989907>
Type: application/smil
Data (Post)
Multipart body
Part: 1, content-type: text/plain
Content-Type: text/plain; charset=iso-10646-ucs-2; name=Ciao.txt
Charset: iso-10646-ucs-2
Name: Ciao.txt
Headers
Content-Location: Ciao.txt
Line-based text data: text/plain
\377\376C\000i\000a\000o\000 [Unreassembled Packet: MMSE]