Technology Questions

Go Back   Technology Questions > Software Questions > Operating System Questions > Windows XP

Windows XP Discuss the Microsoft Windows XP Operating System

Reply
 
LinkBack Thread Tools
  #1 (permalink)  
Old 11-02-2009, 03:40 AM
John Corliss
Newsgroup Contributor
 
Posts: n/a
Remote procedure call

Can anybody tell me why Microsoft has made it necessary to always run
the "Remote Procedure Call" service despite the fact that I don't allow
anybody access to my computer via remote help? I understand that the
service accomplishes the following:

"...allows a computer program to cause a subroutine or procedure to
execute in another address space (commonly on *another computer" on a
shared network) without the programmer explicitly coding the details for
this remote interaction. That is, the programmer would write essentially
the same code whether the subroutine *is local to the executing program,
or remote.*"

Since my computer is NOT on a network (either business or home) I see
this as a serious security vulnerability. Or am I missing something?

--
John Corliss
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

 
Old 11-02-2009, 03:40 AM
  #2 (permalink)  
Old 11-02-2009, 04:00 AM
chas2209
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call


"John Corliss" <q34wsk20******.com> wrote in message
news:8PidnddRId3sX3PXnZ2dnUVZ_tadnZ2d@posted.ccoun trynet...
> Can anybody tell me why Microsoft has made it necessary to always run the
> "Remote Procedure Call" service despite the fact that I don't allow
> anybody access to my computer via remote help? I understand that the
> service accomplishes the following:
>
> "...allows a computer program to cause a subroutine or procedure to
> execute in another address space (commonly on *another computer" on a
> shared network) without the programmer explicitly coding the details for
> this remote interaction. That is, the programmer would write essentially
> the same code whether the subroutine *is local to the executing program,
> or remote.*"
>
> Since my computer is NOT on a network (either business or home) I see this
> as a serious security vulnerability. Or am I missing something?
>
> --
> John Corliss


Hi
What do you think you are connecting to while you are
on the Internet?

chas2209


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 11-02-2009, 09:00 AM
John John - MVP
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John Corliss wrote:
> Can anybody tell me why Microsoft has made it necessary to always run
> the "Remote Procedure Call" service despite the fact that I don't allow
> anybody access to my computer via remote help? I understand that the
> service accomplishes the following:
>
> "...allows a computer program to cause a subroutine or procedure to
> execute in another address space (commonly on *another computer" on a
> shared network) without the programmer explicitly coding the details for
> this remote interaction. That is, the programmer would write essentially
> the same code whether the subroutine *is local to the executing program,
> or remote.*"
>
> Since my computer is NOT on a network (either business or home) I see
> this as a serious security vulnerability. Or am I missing something?


Almost all calls between services and the user are handled by RPC.
RpcSs is not a critical NT service per se but almost nothing works on
Windows NT systems without it.

John
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #4 (permalink)  
Old 11-02-2009, 12:20 PM
John Corliss
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

chas2209 wrote:
> John Corliss wrote:
>> Can anybody tell me why Microsoft has made it necessary to always run the
>> "Remote Procedure Call" service despite the fact that I don't allow
>> anybody access to my computer via remote help? I understand that the
>> service accomplishes the following:
>>
>> "...allows a computer program to cause a subroutine or procedure to
>> execute in another address space (commonly on *another computer" on a
>> shared network) without the programmer explicitly coding the details for
>> this remote interaction. That is, the programmer would write essentially
>> the same code whether the subroutine *is local to the executing program,
>> or remote.*"
>>
>> Since my computer is NOT on a network (either business or home) I see this
>> as a serious security vulnerability. Or am I missing something?

>
> Hi
> What do you think you are connecting to while you are
> on the Internet?


The internet is not a network per se. I've heard that argument before
too. Remember, RPC wasn't originally required in earlier versions of
Windows.

--
John Corliss
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 11-02-2009, 12:20 PM
John Corliss
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John John - MVP wrote:
> John Corliss wrote:
>> Can anybody tell me why Microsoft has made it necessary to always run
>> the "Remote Procedure Call" service despite the fact that I don't
>> allow anybody access to my computer via remote help? I understand
>> that the service accomplishes the following:
>>
>> "...allows a computer program to cause a subroutine or procedure to
>> execute in another address space (commonly on *another computer" on a
>> shared network) without the programmer explicitly coding the details
>> for this remote interaction. That is, the programmer would write
>> essentially the same code whether the subroutine *is local to the
>> executing program, or remote.*"
>>
>> Since my computer is NOT on a network (either business or home) I see
>> this as a serious security vulnerability. Or am I missing something?

>
> Almost all calls between services and the user are handled by RPC. RpcSs
> is not a critical NT service per se but almost nothing works on Windows
> NT systems without it.


John, thanks for replying. Yes, I'm aware that RPC handles calls between
processes and services, but it seems to me that inner-computer calls
could be handled discretely from inter-computer calls.

--
John Corliss
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #6 (permalink)  
Old 11-02-2009, 04:50 PM
John John - MVP
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John Corliss wrote:
> John John - MVP wrote:
>> John Corliss wrote:
>>> Can anybody tell me why Microsoft has made it necessary to always run
>>> the "Remote Procedure Call" service despite the fact that I don't
>>> allow anybody access to my computer via remote help? I understand
>>> that the service accomplishes the following:
>>>
>>> "...allows a computer program to cause a subroutine or procedure to
>>> execute in another address space (commonly on *another computer" on a
>>> shared network) without the programmer explicitly coding the details
>>> for this remote interaction. That is, the programmer would write
>>> essentially the same code whether the subroutine *is local to the
>>> executing program, or remote.*"
>>>
>>> Since my computer is NOT on a network (either business or home) I see
>>> this as a serious security vulnerability. Or am I missing something?

>>
>> Almost all calls between services and the user are handled by RPC.
>> RpcSs is not a critical NT service per se but almost nothing works on
>> Windows NT systems without it.

>
> John, thanks for replying. Yes, I'm aware that RPC handles calls between
> processes and services, but it seems to me that inner-computer calls
> could be handled discretely from inter-computer calls.


On Windows NT systems RPC is an "interprocess" communication method. NT
systems are client/server systems, a process that makes a request to
another process is a client and the process that responds to the request
is a server, the the interprocess communication can be local or across a
network, they're all client/server transactions. Almost all Windows
services use RPC to communicate with each other. Maybe this can answer
some of your questions:
http://technet.microsoft.com/en-us/l...51(WS.10).aspx

John
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #7 (permalink)  
Old 11-03-2009, 01:30 AM
John Corliss
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John John - MVP wrote:
> John Corliss wrote:
>> John John - MVP wrote:
>>> John Corliss wrote:
>>>> Can anybody tell me why Microsoft has made it necessary to always
>>>> run the "Remote Procedure Call" service despite the fact that I
>>>> don't allow anybody access to my computer via remote help? I
>>>> understand that the service accomplishes the following:
>>>>
>>>> "...allows a computer program to cause a subroutine or procedure to
>>>> execute in another address space (commonly on *another computer" on
>>>> a shared network) without the programmer explicitly coding the
>>>> details for this remote interaction. That is, the programmer would
>>>> write essentially the same code whether the subroutine *is local to
>>>> the executing program, or remote.*"
>>>>
>>>> Since my computer is NOT on a network (either business or home) I
>>>> see this as a serious security vulnerability. Or am I missing
>>>> something?
>>>
>>> Almost all calls between services and the user are handled by RPC.
>>> RpcSs is not a critical NT service per se but almost nothing works
>>> on Windows NT systems without it.

>>
>> John, thanks for replying. Yes, I'm aware that RPC handles calls
>> between processes and services, but it seems to me that inner-computer
>> calls could be handled discretely from inter-computer calls.

>
> On Windows NT systems RPC is an "interprocess" communication method. NT
> systems are client/server systems, a process that makes a request to
> another process is a client and the process that responds to the request
> is a server, the the interprocess communication can be local or across a
> network, they're all client/server transactions. Almost all Windows
> services use RPC to communicate with each other. Maybe this can answer
> some of your questions:
> http://technet.microsoft.com/en-us/l...51(WS.10).aspx


Thanks John, but I think my question is then, why aren't processes on
another computer dealt with discretely from dealing with processes on
the same computer?

My computer is a single-user, non-networked computer. I never allow
anybody to have a remote assistance connection to my computer and have
the setting (My Computer/Properties/Remote/uncheck "Allow Remote
Assistance invitations to be sent from this computer") disabled. I also
have every service that has the slightest thing to do with remote
connections disabled:

Application Layer Gateway Service
Automatic Updates (I turn it back on whenever I manually update)
Error Reporting Service
Fast User Switching Capability
NetMeeting Remote Desktop Sharing
Remote Desktop Help Session Manager
(and more)

In the old days, I also used to block Remote Procedure Call, but as you
say, this can't be done with NT based versions of Windows. That's what
gets me. It's as if Microsoft is telling me that I don't have a right to
privacy on my own computer.

It still seems to me that making RPC handle inter-computer interprocess
communication regardless of whether or not one ever uses inter-computer
interprocess communication (in my case I don't, and if I ever find out
that it's going on in the background, I will disconnect from the
internet permanently) is a major security vulnerability.

Anyway, I guess this thread isn't going to change anything. I just have
to assume that my computer is compromised and take steps accordingly,
such as finding another operating system.

Thanks again for replying, John. Over and out.

--
John Corliss
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #8 (permalink)  
Old 11-03-2009, 04:00 AM
John John - MVP
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John Corliss wrote:
> John John - MVP wrote:
>> John Corliss wrote:
>>> John John - MVP wrote:
>>>> John Corliss wrote:
>>>>> Can anybody tell me why Microsoft has made it necessary to always
>>>>> run the "Remote Procedure Call" service despite the fact that I
>>>>> don't allow anybody access to my computer via remote help? I
>>>>> understand that the service accomplishes the following:
>>>>>
>>>>> "...allows a computer program to cause a subroutine or procedure to
>>>>> execute in another address space (commonly on *another computer" on
>>>>> a shared network) without the programmer explicitly coding the
>>>>> details for this remote interaction. That is, the programmer would
>>>>> write essentially the same code whether the subroutine *is local to
>>>>> the executing program, or remote.*"
>>>>>
>>>>> Since my computer is NOT on a network (either business or home) I
>>>>> see this as a serious security vulnerability. Or am I missing
>>>>> something?
>>>>
>>>> Almost all calls between services and the user are handled by RPC.
>>>> RpcSs is not a critical NT service per se but almost nothing works
>>>> on Windows NT systems without it.
>>>
>>> John, thanks for replying. Yes, I'm aware that RPC handles calls
>>> between processes and services, but it seems to me that
>>> inner-computer calls could be handled discretely from inter-computer
>>> calls.

>>
>> On Windows NT systems RPC is an "interprocess" communication method.
>> NT systems are client/server systems, a process that makes a request
>> to another process is a client and the process that responds to the
>> request is a server, the the interprocess communication can be local
>> or across a network, they're all client/server transactions. Almost
>> all Windows services use RPC to communicate with each other. Maybe
>> this can answer some of your questions:
>> http://technet.microsoft.com/en-us/l...51(WS.10).aspx

>
> Thanks John, but I think my question is then, why aren't processes on
> another computer dealt with discretely from dealing with processes on
> the same computer?


There is a local procedure call (LPC) API, this is a scantly documented
Native NT API, as far as I can understand RPC communicates with this LPC
for local calls (or at least it did with NT 3.x and I think NT 4) but
this is seamless to the user or progaramer. These were design decisions
that were made and built in 1993 (or thereabouts) when Dave Cutler was
recruited to develop the NT platform. He and the members of his team or
Bill Gates and his OS strategy team would be able to tell you why they
decided to do things this way.

John
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #9 (permalink)  
Old 11-03-2009, 03:20 PM
Andrew McLaren
Newsgroup Contributor
 
Posts: n/a
Re: Remote procedure call

John Corliss wrote:
Hi John,

> Thanks John, but I think my question is then, why aren't processes on
> another computer dealt with discretely from dealing with processes on
> the same computer?


The original design rationale for RPC was to provide a generic form of
interprocess communication, which could be used both for processes on
one machine, or across multiple machines. The idea was that in a
networked group of machines a process could be moved from one machine to
another without needing to change to a totally different API. Process
location was defined by infrastructure (relatively flexible), not by
programming (relatively inflexible).

RPC was developed in several stages by Xerox, Sun and Apollo in the
early 1980s. By the late 80s it was a core component of the OSF DCE
(Distributed Computing Environment). When NT was being designed, it was
intended to be largely congruent with the current state-of-the-art in
workstation and midrange OS design; which included RPC. RPC isn't a
Microsoft invention; and OSs like Solaris, AIX and HP-UX also all run
RPC. NT's design also aimed for DoD Orange Book C2 security.

In short: RPC is a Good Thing, not a Bad Thing.

> In the old days, I also used to block Remote Procedure Call, but as you
> say, this can't be done with NT based versions of Windows. That's what


As long as you have Port 135 blocked in your firewall, no external
process will be able to communicate with the RPC end-point mapper. This
protects you against most possible exploits.

> gets me. It's as if Microsoft is telling me that I don't have a right to
> privacy on my own computer.


Well, privacy and security are two different things (although, granted:
somewhat related). As described in the DoD's Orange Book, *any* computer
connected to any network - even intermittently - is inherently insecure.
Having accepted that, the next stage is risk assessment, management and
mitigation. Absolute security is infeasibly difficult.

Microsoft actively maintains Security for RPC and has released many
fixes over the years to remediate possible exploits over RPC:

http://www.google.com.au/search?hl=e...microsoft.com&

> It still seems to me that making RPC handle inter-computer interprocess
> communication regardless of whether or not one ever uses inter-computer
> interprocess communication (in my case I don't, and if I ever find out
> that it's going on in the background, I will disconnect from the
> internet permanently) is a major security vulnerability.


If security researchers (both inside and outside of Microsoft) were
screaming about the security vulnerabilities inherent in RPC, Microsoft
would probably do something (like they did for Buffer Overruns, or
ASLR). But generally, most security folks accept RPC as a normal part of
the computing environment, and insist only that it needs to be robustly
secure - not eliminated.

> Anyway, I guess this thread isn't going to change anything.


True: Microsoft does not monitor this newsgroup for product feedback.

> I just have
> to assume that my computer is compromised


If you're running Windows XP and have all the current security updates
installed from Windows Update, and you occasionally run an anti-virus
and/or anti-malware tool, you should be reasonably free from risk of
compromise.

> and take steps accordingly,
> such as finding another operating system.


There may be many good reasons to use another operating system (and hey
- I have Windows, Mac OS X and Red Hat Linux all running on my desk, as
I type!). But the security risks of running RPCSs would not be one of
those reasons.

Hope it helps,

Andrew
--
amclar at optusnet dot com dot au
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Remote Procedure Call (RPC) service is terminated Unexpectedly Rainy Windows XP 8 09-08-2009 10:50 PM
Remote Procedure Call termination Dean Windows XP 0 03-19-2008 09:20 PM
Remote Procedure call failed Menno Hershberger Windows Vista 1 05-15-2007 11:30 AM
RPC Remote Procedure Call - followed by reboot Nigel Andrews Windows XP 10 02-27-2007 12:45 PM
Restore Remote Procedure Call (RPC) service MichaelY Windows XP 0 02-03-2007 07:30 PM


New To Technology Questions? Do You Need Help with Your Computer or Device? Do You Need Help with this site?

All times are GMT -8. The time now is 10:38 AM.


2003 - 2009 All Rights Reserved. Technology Questions

Search Engine Friendly URLs by vBSEO 3.3.0