Re: [dmarc-ietf] UNCOL and Reversing modifications from mailing lists

Alessandro Vesely <vesely@tana.it> Wed, 24 November 2021 11:00 UTC

Return-Path: <vesely@tana.it>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3095C3A0D6A for <dmarc@ietfa.amsl.com>; Wed, 24 Nov 2021 03:00:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.95
X-Spam-Level:
X-Spam-Status: No, score=-3.95 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.852, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=tana.it header.b=jUHy/TNz; dkim=pass (1152-bit key) header.d=tana.it header.b=BOd4mrpp
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 cm-vbS_m3mLA for <dmarc@ietfa.amsl.com>; Wed, 24 Nov 2021 03:00:26 -0800 (PST)
Received: from wmail.tana.it (wmail.tana.it [62.94.243.226]) (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 CBF0C3A0D6B for <dmarc@ietf.org>; Wed, 24 Nov 2021 03:00:23 -0800 (PST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=tana.it; s=epsilon; t=1637751618; bh=BfRcCUHoXeoehvgfWAMDifdlmTP3KWq2WbP6sI1CSb0=; l=3649; h=Subject:To:References:From:Date:In-Reply-To; b=jUHy/TNzGO3Og0i6cHqNV26IJU34zXxIjDYm+dnuooGMgHTJqcNVzIyDLruhD0BFk NkELpusT+sOHsmp4hb6Dw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tana.it; s=delta; t=1637751618; bh=BfRcCUHoXeoehvgfWAMDifdlmTP3KWq2WbP6sI1CSb0=; l=3649; h=To:References:From:Date:In-Reply-To; b=BOd4mrppeZh7V4Jh+FVBESUi4xN2Y9tiBybfSiDfUY8xO+O1efpiXP17d6wdiOI66 iyaVpifTAUuakPc67yVRCZSycs3AsMsjftqsRDWjJDtBKwwvFxcr+J1WWekNkzKPE3 GGqCsUWy4nNhl1fnMT7tU23HnwXDQAqDLqDtq58IwOrLSdNwViV7iQGVYe330
Authentication-Results: tana.it; auth=pass (details omitted)
Original-From: Alessandro Vesely <vesely@tana.it>
Received: from [172.25.197.111] (pcale.tana [172.25.197.111]) (AUTH: CRAM-MD5 uXDGrn@SYT0/k, TLS: TLS1.3, 128bits, ECDHE_RSA_AES_128_GCM_SHA256) by wmail.tana.it with ESMTPSA id 00000000005DC0D6.00000000619E1B42.00001F55; Wed, 24 Nov 2021 12:00:18 +0100
To: dmarc@ietf.org
References: <20211123203406.73152307DA83@ary.qy>
From: Alessandro Vesely <vesely@tana.it>
Message-ID: <cb57d32d-038d-61f6-528c-d86d529fac10@tana.it>
Date: Wed, 24 Nov 2021 12:00:18 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0
MIME-Version: 1.0
In-Reply-To: <20211123203406.73152307DA83@ary.qy>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/dGIjKuCoPoflGeqgj91ZfkXmceA>
Subject: Re: [dmarc-ietf] UNCOL and Reversing modifications from mailing lists
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Nov 2021 11:00:33 -0000

On Tue 23/Nov/2021 21:34:05 +0100 John Levine wrote:
> It appears that Wei Chuang  <weihaw@google.com> said:
>>I saw Ale's draft draft-vesely-dmarc-mlm-transform
>><https://datatracker.ietf.org/doc/html/draft-vesely-dmarc-mlm-transform> in
>>the ARC list, and wanted to discuss some of the ideas. ...
> 
> Please humor me for a moment while I turn the clock way back to 1958.
> 
> Fortran and Cobol had shown that compilers worked, and people were busy
> writing compilers for lots of languages for lots of computers.  But that
> was a daunting amount of work, N languages for M computers is NxM compilers.
> 
> Mel Conway, best known for the law "Organizations, who design
> systems, are constrained to produce designs which are copies of the
> communication structures of these organizations", published a paper
> proposing a Universal Computer Oriented Language or UNCOL.  The front
> end of each compiler would translate from Fortran or whatever to UNCOL,
> and the back ends would translate from UNCOL to IBM 7070 machine code
> or whatever, reducing the work from NxM to N+M.
> 
> Work started with great enthusiasm in the early 1960s, and people
> produced UNCOLs that could handle one or two input languages, and one
> or two output machine codes, and reported great success. But they
> found that every new input language or output machine required more
> and more special cases which swamped whatever was supposed to be
> common, and UNCOL experienced heat death, was quietly shelved and forgotten.
> 
> The Open Software Foundation had an ANDF, Architecture Neutral
> Distribution Format around 1989.  They were very offended when I said it
> sounded just like UNCOL, but it died the same way.


The GNU Compiler Collection includes front ends for C, C++, Objective-C, 
Fortran, Ada, Go, and D.  It doesn't cover all languages, but it's still alive.


> This proposal is UNCOL for mailing lists. Can you come up with a demo
> that handles a few common changes that Mailman makes? Sure. How about
> if you add the slightly different changes that Sympa makes? Probably.
> What about LISTSERV and phpList and ezmlm and listproc and groups.io
> and Google Groups and Yahoo Groups and body headers and MIME footers
> and all the other things that mailing lists do?  Maybe not.


Without going beyond Mailman lists, some of them remove DKIM signatures 
altogether, so there is no chance to recover anything.

For the M computers part of the equation, we may match the metaphor by 
considering authors' domains signing practices.  Thus far, I basically see just 
two sets, those who sign rfc6376-recommended fields, and those who sign 
transport-specific fields like MIME-Version, Content-Transfer-Encoding and 
Content-Type.  The latter cannot be recovered.

This is a striking difference w.r.t. UNCOL.  There are cases where it makes no 
sense to try to cover them.  So the above proposal is not an attempt at a 
universal solution for indirect mail flows.  Rather, it says that if people 
really want to set up an authenticated indirect mail flow, there is a way to do it.


> Uh, perhaps we could focus on how to get ARC more widely adopted,
> since it has the advantage of not making any unrealistic assumptions
> about what changes lists might make.


ARC implies a reliable global reputation system, which only giant providers can 
afford.  In addition, rfc8617 doesn't even consider From: rewriting and how to 
undo it.  It is a different thing, used for different purposes, and focusing on 
it doesn't preclude recovering original signatures.


Thanks for the flashback, anyway

Best
Ale
--