<p dir="ltr">Den 25 sep 2015 04:13 skrev "Ray Dillinger" <<a href="mailto:bear@sonic.net">bear@sonic.net</a>>:<br>
> On 09/24/2015 09:09 AM, Henry Baker wrote:<br>
> > By now, you've all heard of the VW SW that cheats/defeats the EPA testing protocol.<br>
> ><br>
> > But VW isn't alone, and expect further revelations as the white hats start investigating these types of misbehavin' SW.<br>
> ><br>
> > So what's a regulator to do?<br>
><br>
> I'm making up a new term.  The term is wrongware.  Wrongware<br>
> means software that is deliberately wrong, which is provided<br>
> by the exact people from whom a faithful (rather than wrong)<br>
> implementation is expected, specifically to cause misbehavior<br>
> that they find desirable for whatever reason.</p>
<p dir="ltr">Related: <a href="http://darkpatterns.org/">http://darkpatterns.org/</a></p>
<p dir="ltr">That one is about what's essentially scams deliberately encoded in user interfaces, such as hiding adware under advanced options in software installers. </p>
<p dir="ltr">Wrongware could be a more general term, encompassing this as well as software that's not targeting the user, but rather something else - the intentional error might not affect the user, but another target entirely. This would be different from bots and other malware - it would not have to be an active function that target another computer system. Fooling an auditor would definitely be part of it just like here, but could apply even in finance and law and not just for machinery. </p>
<p dir="ltr">More generalized, whenever certain behaviors are unwanted for good reasons by interested parties (regulators, auditors, courts, and civil organizations) and the software promises either to NOT enable the behavior or to directly PREVENT it, but yet intentionally doesn't act as promised as a result of various incentives (profit, career advancement, etc), then that would classify as wrongware. </p>
<p dir="ltr">> "Wrongware" would encompass the misbehaving VWs that deliberately<br>
> cheat on EPA tests.  It would also describe, eg, deliberate<br>
> backdoors installed by a router manufacturer to enable<br>
> surreptitious access, deliberate vulnerabilities in operating<br>
> systems, USB or disk controllers, deliberately installed<br>
> vulnerabilities in computer BIOSes, "updates" released by a<br>
> software vendor that secretly disable or cripple its own<br>
> product, etc.</p>
<p dir="ltr">FSF's project seems relevant here: <a href="https://defectivebydesign.org/">https://defectivebydesign.org/</a></p>
<p dir="ltr">This one is about software that screws over the user. </p>
<p dir="ltr">> As to the case in point:  I think this particular wrongware can<br>
> be reasonably easily defeated.<br>
><br>
> Develop a self-contained exhaust probe that can live on batteries<br>
> for a few days.  Stick it to the tailpipe using aluminum speed<br>
> tape with tamper-resistant seals, with its tip sticking into the<br>
> tailpipe.  Let the owner drive around normally for a few days,<br>
> then remove the device and download the data.</p>
<p dir="ltr">In short, design for auditability.</p>
<p dir="ltr">Somebody else also mentioned the independent probe idea in the previous mails, and in the case of cars that is fortunately not very hard to measure in most cases. In the case of software it is typically incredibly much more difficult - just defining that you need to measure is hard enough already. But it has to be done. </p>
<p dir="ltr">Even Zero-knowledge proofs would not necessarily prove what you need to prove - they can only show a certain computation has happened - they can't prove you have NOT also done something else. For example you could have a separate program extract what's supposed to be secrets from a program which is running in a ZKP generator that promises to protect the secrets. There's a variety of systems based on trusted CPU designs that promises to achieve assurances for this, but I'm not sure if any are as good as they promise. </p>