Re: [Captive-portals] Use Case: "Carrier Grade Captive Portal"

Dave Dolson <ddolson@sandvine.com> Wed, 03 May 2017 13:39 UTC

Return-Path: <ddolson@sandvine.com>
X-Original-To: captive-portals@ietfa.amsl.com
Delivered-To: captive-portals@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3DD00126BFD for <captive-portals@ietfa.amsl.com>; Wed, 3 May 2017 06:39:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a3eRXXXnVFNT for <captive-portals@ietfa.amsl.com>; Wed, 3 May 2017 06:39:47 -0700 (PDT)
Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 30F0D129B22 for <captive-portals@ietf.org>; Wed, 3 May 2017 06:37:15 -0700 (PDT)
Received: from BLR-EXCHP-2.sandvine.com (192.168.196.172) by WTL-EXCHP-2.sandvine.com (192.168.194.177) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 3 May 2017 09:37:13 -0400
Received: from WTL-EXCHP-1.sandvine.com ([fe80::ac6b:cc1e:f2ff:93aa]) by blr-exchp-2.sandvine.com ([::1]) with mapi id 14.03.0319.002; Wed, 3 May 2017 09:37:13 -0400
From: Dave Dolson <ddolson@sandvine.com>
To: Heiko Folkerts <heiko.folkerts@bsi.bund.de>, "captive-portals@ietf.org" <captive-portals@ietf.org>
CC: "Herzig, Willi" <willi.herzig@bsi.bund.de>, Gunther Nitzsche <gnitzsche@netcologne.de>
Thread-Topic: [Captive-portals] Use Case: "Carrier Grade Captive Portal"
Thread-Index: AQHSxAspm2jwFnBWgkqjQKiot+mYpKHim5WQ
Date: Wed, 03 May 2017 13:37:12 +0000
Message-ID: <E8355113905631478EFF04F5AA706E98705C6C57@wtl-exchp-1.sandvine.com>
References: <201705031442.50683.heiko.folkerts@bsi.bund.de>
In-Reply-To: <201705031442.50683.heiko.folkerts@bsi.bund.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.200.114]
x-c2processedorg: b2f06e69-072f-40ee-90c5-80a34e700794
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/oF0Dk1s5hYe7BQF29zkYRvPe4bA>
Subject: Re: [Captive-portals] Use Case: "Carrier Grade Captive Portal"
X-BeenThere: captive-portals@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of issues related to captive portals <captive-portals.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/captive-portals/>
List-Post: <mailto:captive-portals@ietf.org>
List-Help: <mailto:captive-portals-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 13:39:49 -0000

I consider this in scope. It is an excellent example of why captive portals should be handled at the IP layer (layer3) with IP protocols, and are not only a WiFi (layer 2) problem.


-----Original Message-----
From: Captive-portals [mailto:captive-portals-bounces@ietf.org] On Behalf Of Heiko Folkerts
Sent: Wednesday, May 3, 2017 8:43 AM
To: captive-portals@ietf.org
Cc: Herzig, Willi; Gunther Nitzsche
Subject: [Captive-portals] Use Case: "Carrier Grade Captive Portal"

Hi everybody,

I visited the capport WG the first time in Chicago. Thank you very much for the presentations! Afterwards I had a very brief chat with Martin about a use case, I name “carrier grade captive portals”. As a result I want to present this use case to you on this mailing list:

*Background and use case:*
In Germany the Federal Office for Information Security informs the ISPs with IPs, timestamp and other information of users that are part of a botnet. The ISPs are informing the users about the infection. We can not inform the users without the help of the ISP as they are the only ones knowing who is behind the dynamic IP address users get normally in Germany.
There are different ways to inform users by the ISPs: e-mail, snail mail or a carrier grade captive portal (aka walled garden, forced portal),

The most efficient way to inform and get systems cleaned has been proven is the carrier grade captive portal.
One of the  internet service providers, NetCologne, uses a, as they call it, Forced Portal. The current solution is legal in germany, if the ISPs terms of service are appropriate.

*Technically it roughly works like this:*
- When the abuse management system detects that a user is infected, the CPE customers router connection (PPOE connection) is disconnected and immediately a new PPOE connection is started.
- With the new PPOE connection, the CPE customers router gets a new DNSServer, IP, gateway (policy routing) and is connected to a carrier grade captive portal.
- Within the new network connection all traffic is routed through a HTTP/HTTPS proxy. This proxy allows the user to access selected sites like informational sites about infections, AV and OS vendors and will otherwise present an information page to the user. This information page tells the user about the situation, including information about the infection(s) and instructs him how to clean the system.

*Problem (almost the same as you know it):* As with captive portals in local networks this worked pretty well using HTTP. 
Also on Browsers, which first tries a HTTP connection, the information page  is displayed. Problem occurs now with HTTPS. Especially Google Chrome does no longer connect first using HTTP when the user enters a domain name of a web page if using HSTS and HSTS preload.
Connecting with HTTPS, the browser detects a MITM attack (which of course makes sense, because it is MITM) and does not display the information page. 
Instead an error page is displayed, which generates a whole lot of calls to the costumer support. An addional problem we encounter is that the well known detection strategies used by iOS/macOS, Windows and Android for captive portals do *never* work in our case.
Reason is that these detection strategies will only test for captive portals, when the network connection of the actual device (for example using WiFi) is started new. In our case the customers CPE router gets a new PPPOE connection, but the client  does not detect that the network connection to the internet was dropped by the router.

Do you think that „carrier grade captive portals“ are in scope of the capport WG charta? Would the work already done at capport help to cope with this problem?
My understanding of the current work in capport is, that it will not solve this problem entirely, but I think, it may already be half-way towards a solution. Because pushing a customer to a walled garden does not do a status change on the client system, but the CPE might work as some kind of “captive portal relais”, using at least parts of the current architecture of capport on the internal LAN.

Do you think it is usful that the capport WG considers our use case in its work? Any help is appreciated.

Best regards,

Heiko.

--
Heiko Folkerts
---------------------------------------------------
Referat CK 15
Federal Office for Information Security (BSI)

Godesberger Allee 185 -189
53175 Bonn
Germany
Telefon:	+49 228 99 9582-5955
Fax:		+49 228 99 10 9582-5955
E-Mail:	heiko.folkerts@bsi.bund.de
Internet:	www.bsi.bund.de
		www.bsi-fuer-buerger.de

_______________________________________________
Captive-portals mailing list
Captive-portals@ietf.org
https://www.ietf.org/mailman/listinfo/captive-portals