Re: [Sidrops] WGLC = draft-ietf-sidrops-aspa-verification - ENDS 03/22/2023 (Mar 22 2023)

"Lubashev, Igor" <ilubashe@akamai.com> Sat, 25 March 2023 00:07 UTC

Return-Path: <ilubashe@akamai.com>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0794DC151542 for <sidrops@ietfa.amsl.com>; Fri, 24 Mar 2023 17:07:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.796
X-Spam-Level:
X-Spam-Status: No, score=-2.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5Eu6LTaNr3hE for <sidrops@ietfa.amsl.com>; Fri, 24 Mar 2023 17:07:42 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D14EEC151522 for <sidrops@ietf.org>; Fri, 24 Mar 2023 17:07:42 -0700 (PDT)
Received: from pps.filterd (m0122330.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32ONkUpf002136; Sat, 25 Mar 2023 00:07:41 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=jan2016.eng; bh=SUZMmhcw07QQU8DYXszlSt8dpBQaGc+r1WR4CCqNH/E=; b=K53VNZPuSjS2Xz+967AZhALWQbw1LueKVFbYsebrys05qdDBymTGUyLtQ5/Do/ccPDXP dXQ11HnG/k/SYyXesbghxVyE5+l3Wg5d4ey66t5AKNVgwwOYG5HowYTLJdoaCdoSaSWw +x/E3h1sJ/H5P5iF5G0j254GOWZhruiGCES6eOhaV642JQ5IMaisHdYnkoN5w6zEjDjK csOslZKT5p8pozVEAGV9JNcvpfJxJpase3oYQPbsU5UasxVG1e/uQDT6ZwOU3EhOdDuA 8UFJV3qB0kC9ng1xQ1vm3UhpU9OadxFv+LiYzvJNPngR1Igj6/T3ipT+dyIGYwpqHbcs 7A==
Received: from prod-mail-ppoint4 (a72-247-45-32.deploy.static.akamaitechnologies.com [72.247.45.32] (may be forged)) by mx0b-00190b01.pphosted.com (PPS) with ESMTPS id 3pgy6e0x33-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 25 Mar 2023 00:07:41 +0000
Received: from pps.filterd (prod-mail-ppoint4.akamai.com [127.0.0.1]) by prod-mail-ppoint4.akamai.com (8.17.1.19/8.17.1.19) with ESMTP id 32OMe8NR011427; Fri, 24 Mar 2023 20:07:41 -0400
Received: from email.msg.corp.akamai.com ([172.27.50.205]) by prod-mail-ppoint4.akamai.com (PPS) with ESMTPS id 3pgxjfgjam-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Mar 2023 20:07:40 -0400
Received: from ustx2ex-dag4mb3.msg.corp.akamai.com (172.27.50.202) by ustx2ex-dag4mb6.msg.corp.akamai.com (172.27.50.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.21; Fri, 24 Mar 2023 17:07:40 -0700
Received: from ustx2ex-dag4mb3.msg.corp.akamai.com ([172.27.50.202]) by ustx2ex-dag4mb3.msg.corp.akamai.com ([172.27.50.202]) with mapi id 15.02.1118.021; Fri, 24 Mar 2023 17:07:40 -0700
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: SIDR Operations WG <sidrops@ietf.org>, "Sriram, Kotikalapudi (Fed)" <kotikalapudi.sriram@nist.gov>
Thread-Topic: Re: [Sidrops] WGLC = draft-ietf-sidrops-aspa-verification - ENDS 03/22/2023 (Mar 22 2023)
Thread-Index: AdlepsG1E3DJm5oBQruXI3SraBFAEw==
Date: Sat, 25 Mar 2023 00:07:40 +0000
Message-ID: <3d9e252c02a342f09c93269779d91328@akamai.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.27.164.43]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-24_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=579 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303240185
X-Proofpoint-GUID: Ob0fBP2FOgqUIBT2FqQLvmLwc8O98l7V
X-Proofpoint-ORIG-GUID: Ob0fBP2FOgqUIBT2FqQLvmLwc8O98l7V
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-24_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 impostorscore=0 phishscore=0 mlxscore=0 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=501 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303240186
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/cOEdtM_t1ZHWBfR-Lola6W9SU2k>
Subject: Re: [Sidrops] WGLC = draft-ietf-sidrops-aspa-verification - ENDS 03/22/2023 (Mar 22 2023)
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 25 Mar 2023 00:07:47 -0000

Hi all,

I have two comments after reading the draft.

Comment 1.

ASPA Profile draft (3. ASPA eContent) says: "all Provider ASes MUST be registered in a single ASPA object".
ASPA Verification draft (4. ASPA Registration Recommendations) says: "An AS SHOULD NOT have more than one ASPA".

Since the two drafts are both in the WGLC, it is best if they adopt the same recommendation and choose a MUST or SHOULD here.  My view is that a SHOULD is more appropriate, since the Verification draft already specifies taking the union of ASPA registrations, so multiple registrations could work, albeit in a more fragile way (hence a SHOULD). But agreeing on SHOULD/MUST seems more important than which one is picked.


Comment 2.

I think the document would benefit from more discussion of security benefits during partial ASPA deployment (which is expected to be the case for many years to come).
Sections 8 and 12's optimism about being able to detect malicious hijacks from customers is premature during partial ASPA deployment.

Let's says Hijacker AS X (your customer) wants to hijack prefix P.  If there is no ROA for P, hijacker can just originate P from X.
Otherwise, the hijacker will perform a breadth-first search in ASPA to identify the shortest valid AP_PATH suffix that ends with a provider AS that did not register an ASPA and use that suffix for the hijack.

Detailed procedure:
Step 1. Let APS(n) be a AP_PATH Set (contain AS_PATHs of length n).
Step 2. For each AS (ASi) authorized to originate P in ROA, inset single-AS AS_PATH (ASi) into APS(1)
Step 3. Initialize LastAPS = 1
Step 4. For each AS_PATH ("APi") in APS(LastAPS):
Step 4.1.     Let "ASi" be left-most AS is in APi.
Step 4.2.     If ASi does NOT have an ASPA registration, announce P with AS_PATH constructed by appending X to APi. Done.
Step 4.3.     For each AS ("ASj") listed as a provider for ASi in ASPA, construct AS_PATH by appending ASj to APi and insert it into APS(LastAPS+1)
Step 5. Increment LastAPS by 1 and go to step 4.

If the hijacker is able to find a sufficiently short AS_PATH suffix that ends with a provider AS without an ASPA registration, the hijack is likely to succeed.

This attack allows anyone to hijack prefixes belong to ASes whose providers (transitively) did not register with ASPA.  This attack makes it important for providers who wish to make it more difficult to hijack their customers' prefixes to register with ASPA (and to request their own providers to do the same).  This is a great incentive for ASPA adoption, since the pressure would be coming from the customers.


The alternative attack is possible if the hijacker's own provider does not register with ASPA (and does not perform ASV).  The hijacker can set AS_PATH to (ASX, AS1), where AS1 is one of the ASNs in ROA for P. That announcement will reliably hijack traffic from other customer of the hijacker's provider, since it would effectively simulate ASX as a provider for ASX's own provider and as a lateral peer of AS1.

Best,

- Igor