Thanks for the detailed explanations, Ed.

Denis



On 2020-09-25 10:52 a.m., Ed Merks wrote:
>
> Denis,
>
> Comments below.
>
> On 25.09.2020 16:01, Denis Roy wrote:
>>
>> Ed,
>>
>> I get your point. However, Eclipse running under my user account
>> won't be able to alter my executables in /usr/bin.
>>
> No, it can't modify files for which the user account doesn't have
> write access, but it could delete every file in your user account, or
> could transmit some or all of them to a server.  It could also send
> all your passwords that you've stored in your Eclipse password file.
>>
>> Installing some great looking plugin from Marketplace could overwrite
>> Eclipse jars that capture credentials.
>>
> That wound be a very round-about way of accomplishing something the
> plugin could just do itself.  All plugins have access to the
> credentials, for example.
>>
>> If it's possible to verify the signature of mission-critical jars at
>> startup, would it make sense to offer it as an option (at the cost of
>> slower startup) ?
>>
>>
> I think you're assuming some jars a special in some way.  That's not
> the case.  Any plugin could do anything any other plugin can do. 
> Without a security manager running, there's really nothing to stop
> destructive behavior, and there's no need to tamper other plugins to
> accomplish that goal.
>
> For those truly paranoid, verifying jar signatures (only run with
> signed jars) might grant some sense of security, but no user has ever
> asked for this as far as I know and even Java doesn't have a simple
> flag for such a thing...
>
>> Denis
>>
>>
>> On 2020-09-25 4:10 a.m., Ed Merks wrote:
>>>
>>> Denis,
>>>
>>> If one has a rogue running process that can write arbitrarily to
>>> your file system (or parts thereof), it could tamper *anything*, so
>>> it would seem that at that point you would have arbitrary security
>>> risks even without an Eclipse IDE.  Even Windows doesn't prevent a
>>> tampered or unsigned executable from running.  I don't think that
>>> Linux even has signed executables, given there is no signing of such
>>> things in the Tycho builds.
>>>
>>> Looking at this search:
>>>
>>>   https://www.google.com/search?q=java+run+only+signed+jars
>>>
>>> and at answers like these:
>>>
>>> https://stackoverflow.com/questions/54011270/allow-a-jar-to-run-only-if-it-is-signed
>>> https://stackoverflow.com/questions/34641305/is-it-possible-to-force-jvm-to-check-that-every-jar-must-be-signed
>>>
>>> suggests that it's not really so feasible to prevent Java from
>>> running unsigned jars, though I expect from Thomas' answer that OSGi
>>> can do verification with its specialized class loader (though
>>> presumably that has a performance impact).
>>>
>>> Running Java with a security manager enabled for the purpose of
>>> running an IDE I think makes zero sense, so generally the IDE can do
>>> anything and can itself be a rogue process (if and when the user
>>> installs arbitrary things from the marketplace).
>>>
>>> Even if the jars are verified, I can still personally think of a
>>> number of ways that I could tamper data files used by the IDE that
>>> would make the IDE "do bad things".  I'll not outline the possible
>>> ways that I can think of...  :-P
>>>
>>> I think a fundamental aspect (assumption?) of security is that the
>>> machine itself is secure, sufficiently so that a process that does
>>> rogue things never runs in the first place.  Verifying signatures
>>> and checksums ensures that only known content is downloaded and
>>> installed in order to keep the machine secure.
>>>
>>> Regards,
>>> Ed
>>>
>>> On 24.09.2020 19:53, Denis Roy wrote:
>>>>
>>>> So it's possible for another process to tamper with jars and have
>>>> Eclipse run them blindly.
>>>>
>>>> Do we know if that is industry practice?
>>>>
>>>>
>>>>
>>>> On 2020-09-24 12:07 p.m., Thomas Watson wrote:
>>>>> Yes, p2 verifies the signatures and content of the JARs to confirm
>>>>> it hasn't been tampered with before installing the JAR.  At
>>>>> runtime the verification of JARs is not enabled by default. 
>>>>> Otherwise what you did would have resulted in a runtime exception
>>>>> for the class you changed.
>>>>>  
>>>>>
>>>>> Tom
>>>>>  
>>>>>  
>>>>>  
>>>>>
>>>>>     ----- Original message -----
>>>>>     From: Wim Jongman <wim.jong...@gmail.com>
>>>>>     Sent by: cross-project-issues-dev-boun...@eclipse.org
>>>>>     To: Cross project issues <cross-project-issues-dev@eclipse.org>
>>>>>     Cc:
>>>>>     Subject: [EXTERNAL] [cross-project-issues-dev] (Mirror) security
>>>>>     Date: Thu, Sep 24, 2020 10:18 AM
>>>>>      
>>>>>     Hi,
>>>>>      
>>>>>     This is probably a silly question but I was wondering how we
>>>>>     protect the content of jar files as they are being pulled from
>>>>>     mirrors all over the world.
>>>>>      
>>>>>     Due to a recent break in the Platform class, I compiled my own
>>>>>     version of the Platform class where I re-added the removed
>>>>>     method. Then I replaced it in the plugins/o.e.c.runtime jar
>>>>>     using 7-zip.
>>>>>      
>>>>>     This solved my issue but it also made me wonder how this was
>>>>>     protected if some mirror-server user used the same hack to
>>>>>     dope our jars.
>>>>>      
>>>>>     I assume this is being done by p2 when downloading the jar
>>>>>     files by comparing some MDA hash?
>>>>>      
>>>>>     Please enlighten me.
>>>>>      
>>>>>     Cheers,
>>>>>      
>>>>>     Wim
>>>>>     _______________________________________________
>>>>>     cross-project-issues-dev mailing list
>>>>>     cross-project-issues-dev@eclipse.org
>>>>>     To unsubscribe from this list, visit
>>>>>     https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>>>
>>>>>  
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> cross-project-issues-dev mailing list
>>>>> cross-project-issues-dev@eclipse.org
>>>>> To unsubscribe from this list, visit 
>>>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>> -- 
>>>>
>>>> *Denis Roy*
>>>>
>>>> *Director, IT Services | **Eclipse Foundation, Inc.*
>>>>
>>>> /Eclipse Foundation/ <http://www.eclipse.org/>/: The Platform for
>>>> Open Innovation and Collaboration/
>>>>
>>>> Twitter: @droy_eclipse
>>>>
>>>>
>>>> _______________________________________________
>>>> cross-project-issues-dev mailing list
>>>> cross-project-issues-dev@eclipse.org
>>>> To unsubscribe from this list, visit 
>>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>
>>> _______________________________________________
>>> cross-project-issues-dev mailing list
>>> cross-project-issues-dev@eclipse.org
>>> To unsubscribe from this list, visit 
>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>> -- 
>>
>> *Denis Roy*
>>
>> *Director, IT Services | **Eclipse Foundation, Inc.*
>>
>> /Eclipse Foundation/ <http://www.eclipse.org/>/: The Platform for
>> Open Innovation and Collaboration/
>>
>> Twitter: @droy_eclipse
>>
>>
>> _______________________________________________
>> cross-project-issues-dev mailing list
>> cross-project-issues-dev@eclipse.org
>> To unsubscribe from this list, visit 
>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>
> _______________________________________________
> cross-project-issues-dev mailing list
> cross-project-issues-dev@eclipse.org
> To unsubscribe from this list, visit 
> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
-- 

*Denis Roy*

*Director, IT Services | **Eclipse Foundation, Inc.*

/Eclipse Foundation/ <http://www.eclipse.org/>/: The Platform for Open
Innovation and Collaboration/

Twitter: @droy_eclipse

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to