Help - Search - Members - Calendar
Full Version: Hacking: Servers & Programs
Dumpshock Forums > Discussion > Shadowrun
Backgammon
Here's an interesting question I came up with: Can you load an attack program directly on the server, or do you HAVE to load it on an Agent?

I ask this because I noticed that when you try to break into a host, it rolls Firewall+Analyse. Analyse is a program. Hence, hosts can run programs by themselves. So this leads me to ask, could you load an attack program directly on the host?

In case you're wondering, a hacker's defense against this would be to Crash the attack program on the host to get rid of it.

So yes, loading the attack program directly on the host would be weaker than running it on an Agent, but it's cheaper. So is that possible? Does it make sense?
Kiyote
It would seem that programs would have to be able to be loaded on nodes (I assume by server you meant node). After all (as you pointed out) they need an analyze program to detect those trying to break in, also it needs to deploy IC which are really agents. (Keep in mind you could be hacking an opposing decker's commlink and thus there would be many different programs there to potentially use)

According to page 227, you must have a program on your comlink, or some connected storage device to load it into active memory and run it. I would assume (as i can't find anything which says otherwise) the same would have to apply for a node.

Note, however, there is no rule in the book which allows you to run the analyze program of the node even if you log in normally. This would seem to imply that even if you are allowed to upload a program to a node, you couldn't run it. Even if you could see the program on the node you would still need to load it into your active memory to run it (which is the same as loading it to active memory from your own commlink). Agents seem to be the only exception to this rule as they are loaded into the node's active memory.

Thus I would have to answer no to your question. At best, you could search for a better program then one you have (Data Search), crack the piracy protection(pg 228), download the file (Transfer Data) getting a copy for yourself.

This, of course, assumes I have not missed anything.
Hasaku
I think his question was: Can the server itself run Attack against a hacker, or does it have to load an agent (IC) which itself has Attack and order the agent to fight the hacker. I'm not familiar enough with the rules yet to say yea or nay (hooray, rhymes!).
Rotbart van Dainig
It it possible to let Programs run by themselves - if you like just getting the rating as a dice pool.
Kiyote
QUOTE (Hasaku)
I think his question was: Can the server itself run Attack against a hacker, or does it have to load an agent (IC) which itself has Attack and order the agent to fight the hacker. I'm not familiar enough with the rules yet to say yea or nay (hooray, rhymes!).


Rereading Backgammon's post again, I would have to agree with you that the original question was whether a node itself can run Attack against a hacker. My bad embarrassed.gif

From my understanding the answer would still be no. I have found no reference in the book of programs being run from anywhere but the active memory of a persona or agent (where agent includes standard agents, IC, and sprites). In fact, the book lists the responces a node may take to intruders on pages 222 and 223. Running a program itself is not among them.

The list in the book is:
Launch IC
Terminate Connections
System Reset


RunnerPaul
QUOTE (Kiyote @ Dec 20 2005, 09:36 PM)
I have found no reference in the book of programs being run from anywhere but the active memory of a persona or agent (where agent includes standard agents, IC, and sprites).

After scouring the matrix rules, I'm of the opinion that there are certain programs that an administrator can set running directly on the Node/device itself without having to have a persona logged on, or an agent running. It's mostly programs that would be able to do a single task repeatedly with little or any interaction or decision making required:

Stealth: Running Stealth on a node lets you try and hide the node from matrix perception tests; the hiding node gets to roll Firewall + Stealth against perception tests made against it (p.217)

Analyze: A node gets to roll Firewall + Analyze to detect intrusion attempts (p.221)

Encrypt: A device may be encrypted. (p.225 & p.226)

Scan: Any wireless capable device has a built in Scan program at rating 1, but you can upgrade to a higher version. Scans are routinely performed by the OS without user intervention. (p225 & p.226)

Data Bomb: A Data Bomb may be attached to a device. (p.226-227)

ECCM: A background program that runs directly on the device and gives the device a virtual increase in signal rating vs. jamming attempts. (p.227)

All of these programs are either directly described as being able to be run in a standalone mode directly on the node/device itself without being associated with a persona/agent, or the ability to run in a standalone mode is strongly implied by the rules. Of course, there are several programs that aren't on the above list, basically anything that requires significant amounts of interactivity.

So in short, you couldn't have the node running an attack program by itself, but putting a data bomb on it may just give you the functionality you're looking for.
Rotbart van Dainig
QUOTE (SR4 @ p. 226 Programs)
Note that if a node, agent, IC program, or sprite is running the program, substitute System (rating) for skill.

Now that's odd.
Kiyote
QUOTE (RunnerPaul)

After scouring the matrix rules, I'm of the opinion that there are certain programs that an administrator can set running directly on the Node/device itself without having to have a persona logged on, or an agent running. It's mostly programs that would be able to do a single task repeatedly with little or any interaction or decision making required:


Some of those programs I would question whether the node is really running the programming.

QUOTE (RunnerPaul)
Stealth: Running Stealth on a node lets you try and hide the node from matrix perception tests; the hiding node gets to roll Firewall + Stealth against perception tests made against it (p.217)


Stealth seems like a shady one to me, with the argument going either way. The rule book states the following text:
"If you wish to specifically examine an arrow, dot, or other Matrix object—users,
programs, IC, nodes, files, etc.—take a Simple Action to Observe in Detail"

"If your target is intentionally trying to hide from you, this becomes an Opposed
Test, with the target rolling Hacking + Stealth"

"As a rule, anything running a Stealth program is considered to be hiding."

The first statement sets the idea that the perception rule is generalized for any matrix interaction. This means exceptions or aberrations may not apply to everything you are trying to perceive.

The second statements implies to me that since the test is only opposed if the target is intentionally hiding from you, only those items which can intentionally hide from you can use this opposed test. It doesn't seem intuitive to me that a node would be considered actively hiding in this sense since hidden nodes are handled differently. For example, detecting a hidden wireless nodes is done through Electronic warfare + scan(4) (pg 225).

However the third statement is what causes me to think the argument can go either way. If you come from the side that says "Nodes can run programs", then stealth can be on the node and ran and thus the node is considered intentionally hiding and qualifies for the opposed test. If you come from the side were a node cannot run a program, then a node cannot run the stealth and does not qualify for the opposed test.

QUOTE (RunnerPaul)
 
Analyze: A node gets to roll Firewall + Analyze to detect intrusion attempts (p.221) 

This statement in the book bugged me when i first read it, and still bugs me now. If there is any proof that a node can run a program, then this is it.

QUOTE (RunnerPaul)
 
Encrypt: A device may be encrypted. (p.225 & p.226) 

Being encrypted doesn't mean one need to be able to run an encrypt program, otherwise file could never be encrypted (files can't run programs). I would think that the encryption for a device, comcall, file, whatever would be done by a persona or agent. It would be useful to set up a node that automatically encrypted everything.

I reread pages 225 and 226, and still don't see anything that suggests a node may run encrypt by itself to do such things though.

QUOTE (RunnerPaul)
 
Scan: Any wireless capable device has a built in Scan program at rating 1, but you can upgrade to a higher version. Scans are routinely performed by the OS without user intervention. (p225 & p.226) 

I see what you mean, it does say that commlinks regularly scan for new nodes. Like analyse, this is pretty good evidence that nodes can run programs.

However, I would like to point out that it does specifically state commlinks scan for nodes. Perhaps this is a function of the hardware and not the node. Just cause a camera can feed video to a node, does not mean that all nodes can create video by themselves. Of course this is just unfounded speculation.

QUOTE (RunnerPaul)
 
Data Bomb: A Data Bomb may be attached to a device. (p.226-227) 

Same as encrypt, i see this more as persona or node applying this then a node automatically doing so.

QUOTE (RunnerPaul)
 
ECCM: A background program that runs directly on the device and gives the device a virtual increase in signal rating vs. jamming attempts. (p.227) 

Like Analyze and Scan, this does seem to back up the claim that nodes can run programs.

QUOTE (RunnerPaul)
 
All of these programs are either directly described as being able to be run in a standalone mode directly on the node/device itself without being associated with a persona/agent, or the ability to run in a standalone mode is strongly implied by the rules. Of course, there are several programs that aren't on the above list, basically anything that requires significant amounts of interactivity. 
 
So in short, you couldn't have the node running an attack program by itself, but putting a data bomb on it may just give you the functionality you're looking for.


i can't say I have any real arguments against Analyze, Scan, or ECCM. Those three programs seem to imply that a node can run software by itself; however it does feel wrong to me. Unless more information comes to light, I guess the answer is that nodes can run programs by themselves. Whether your restriction on it being simply programs that run stand-alone or all programs, I cannot say.

QUOTE (Rotbart van Dainig)

QUOTE (SR4 @ p. 226 Programs)

Note that if a node, agent, IC program, or sprite is running the program, substitute System (rating) for skill.

Now that's odd.


indeed it is. This seems to confirm that a node can run just a program.
Cheops
QUOTE (Rotbart van Dainig)
QUOTE (SR4 @ p. 226 Programs)
Note that if a node, agent, IC program, or sprite is running the program, substitute System (rating) for skill.

Now that's odd.

No it isn't because Agents, IC and Drones are completely different than a node. The reason it works like that for them is because their system = their pilot. They have built in dog brains, most servers do not. A system would not be able to run active programs like attack or blackout independently, they would need agents or IC. Unless of course the system you happen to be running is actually run off of pilot instead of system...

Passive programs as listed in other posts could be used by the node without user supervision because they are mostly programs that rely on other people doing stuff to them.
Hasaku
But can a hacker run Attack against the node itself? If IC is trying to crash the hacker's persona, he can fight back, crashing the IC. What does he do if the node itself is fighting him? I was under the impression that crashing a node required Admin priveleges or the like, not an actual attack against it per se.
RunnerPaul
QUOTE (Kiyote)
The second statements implies to me that since the test is only opposed if the target is intentionally hiding from you, only those items which can intentionally hide from you can use this opposed test. It doesn't seem intuitive to me that a node would be considered actively hiding in this sense since hidden nodes are handled differently. For example, detecting a hidden wireless nodes is done through Electronic warfare + scan(4) (pg 225). 
 

Disregard wireless for a moment. Say you're designing a wired network of nodes, and further more, make it a tiered network instead of a mesh. In short, putting together a system that looks like the systems from previous editions. When you're in a particular node (host) on one of these networks, it's fairly easy to tell what other nodes you can connect to. However, in previous editions there were tricks that system designers could use to hide connections so that they weren't obvious (Vanishing SANs, Hidden Backdoors and so on.) So, here's the question: how would you connect two nodes together in SR4, so that the connection isn't obvious? I'd say letting the system administrator run Stealth directly on the node itself serves the purpose of deliberately hiding the node from detection.

Did the node itself decide that it wants to hide? No, the person administrating the node made the decision for the node. However, for something to be considered hiding, it has to be running the Stealth program. If the Administrator were to run the stealth program from her persona, it'd hide her persona, not the node. If she loaded up an agent with the Stealth program, the agent would be doing the hiding. The node has to run the Stealth program itself to get the benefits from it.

QUOTE
QUOTE (RunnerPaul)
Encrypt: A device may be encrypted. (p.225 & p.226)
Being encrypted doesn't mean one need to be able to run an encrypt program, otherwise file could never be encrypted (files can't run programs). I would think that the encryption for a device, comcall, file, whatever would be done by a persona or agent. It would be useful to set up a node that automatically encrypted everything.


A file can be encrypted with a single run of the encrypt program because it's a static block of unchanging data. To encrypt a device or a commlink is a different animal, because a you're dealing with a constant stream of data. The encrypt program would have to remain running to scramble any new data generated. If you want to require that an agent remain in the device with the encrypt program running in order to encrypt the device, go right ahead, but such a requirement is not spelled out in the rules. (Compare the rules for encrypt, where it says a device may be encrypted, to the rules for the sprite power Hash.)


QUOTE
QUOTE (RunnerPaul)
 
Data Bomb: A Data Bomb may be attached to a device. (p.226-227) 

Same as encrypt, i see this more as persona or node applying this then a node automatically doing so.


So, if the persona logs out of the node, does the Data Bomb program stop running? Would kind of suck to require a decker to be logged in 24/7 just to keep the data bomb you loaded onto the node/device functional.
Rotbart van Dainig
QUOTE (Cheops)
QUOTE (Rotbart van Dainig)
QUOTE (SR4 @  p. 226 Programs)
Note that if a node, agent, IC program, or sprite is running the program, substitute System (rating) for skill.

Now that's odd.

No it isn't because Agents, IC and Drones are completely different than a node.

Uhm... check out that quote again. wink.gif
Cheops
@Hasaku:

there is a specific function called crash host in the rules. That is what you would use against the system if it were the one directly attacking you. However, at least the way I interpret the rules, the only systems that would do that to you are those running with Pilot and they would have an actual icon that you could attack with regular means.

@RunnerPaul:

I agree, stealth program is what you should use on a node to replicate vanishing SANs. It would count against the number of programs it has running so if it isn't a backbone system then it may cause a slowdown. Same thing applies to Encrypt. Usually I don't worry about keeping track of programs on "large systems," ie VR hosts or any other high traffic host so that I can set up the security sheath I want. On smaller systems, like personal commlinks or devices then I generally DO count programs and cause slowdown as appropriate.

If paranoid sarariman doesn't want people hacking into his oven and stealing the secret recipe for his cookies then he'll suffer a slowdown in the oven's operations to pack all that security onto it.
Cheops
QUOTE (Rotbart van Dainig @ Dec 21 2005, 09:00 PM)
QUOTE (Cheops)
QUOTE (Rotbart van Dainig)
QUOTE (SR4 @  p. 226 Programs)
Note that if a node, agent, IC program, or sprite is running the program, substitute System (rating) for skill.

Now that's odd.

No it isn't because Agents, IC and Drones are completely different than a node.

Uhm... check out that quote again. wink.gif

Haha...I think people generally understood what I meant. At least when you leave it in context instead of "unfair editing" my quote.
Kiyote
QUOTE (RunnerPaul)

So, here's the question: how would you connect two nodes together in SR4, so that the connection isn't obvious? I'd say letting the system administrator run Stealth directly on the node itself serves the purpose of deliberately hiding the node from detection.

Did the node itself decide that it wants to hide? No, the person administrating the node made the decision for the node. However, for something to be considered hiding, it has to be running the Stealth program. If the Administrator were to run the stealth program from her persona, it'd hide her persona, not the node. If she loaded up an agent with the Stealth program, the agent would be doing the hiding. The node has to run the Stealth program itself to get the benefits from it.


That makes sense, and I would have to agree with you. That would be the only way to make a hidden node from within connected nodes. I will have to keep that in mind, along with the rule Rotbart van Dainig found on nodes running programs.

QUOTE (RunnerPaul)

A file can be encrypted with a single run of the encrypt program because it's a static block of unchanging data. To encrypt a device or a commlink is a different animal, because a you're dealing with a constant stream of data. The encrypt program would have to remain running to scramble any new data generated. If you want to require that an agent remain in the device with the encrypt program running in order to encrypt the device, go right ahead, but such a requirement is not spelled out in the rules. (Compare the rules for encrypt, where it says a device may be encrypted, to the rules for the sprite power Hash.) 

I was assuming that running an encryption program on a commlink or device didn't encode each piece of data transferred but encoded the communication path between those involved. (those on the commlink call, or the smart gun and the data jack for an encrypted smartgun device) This would mean that those parties connected when the encryption was setup would be allowed free access to the data for as long as the communication link existed, but anyone else would either have to be given the encryption key or break the encryption to get access to the link.

The reason I came to that conclusion on how it worked is the following:
1. Only one party needs an encryption program and the entire conversation back and forth is encrypted. Under your scheme, if every time data is generated it needs to be encrypted, and you were encrypting a commlink connection to your smartlink gun, wouldn't both devices need an encrypt program or their part of the conversation be open to hacking?

2. Parties already connected to the communication/device don't need to spend a simple action to decrypt each communication. Maybe I'm wrong on this, but I do not remember anywhere that says you need to spend a simple action if your friend decides to encrypt the commcall you two are having.

3. Once, say a commlink, has been decrypted the hacker doesn't constantly need to decrypt every time someone new starts talking. One successful decrypt gets the entire phone conversation, or access to the smartlink device.

QUOTE (RunnerPaul)

So, if the persona logs out of the node, does the Data Bomb program stop running? Would kind of suck to require a decker to be logged in 24/7 just to keep the data bomb you loaded onto the node/device functional.

I was working under the impression that the Data Bomb program installed a databomb to the file/node/device and that there was never a need to continually run the databomb program. if the node needs to continue running the databomb program to maintain a databomb you set up, what happens if the node has a lower databomb rating that the one you set the bomb up with? Does a new copy of the program have to get loaded into active memory each time you set up a bomb? (this could lead to a response drop if you set up enough data bombs equal to the nodes system rating)
RunnerPaul
QUOTE (Kiyote)
I was assuming that running an encryption program on a commlink or device didn't encode each piece of data transferred but encoded the communication path between those involved. (those on the commlink call, or the smart gun and the data jack for an encrypted smartgun device)

The way I understand it, when you encrypt data in SR, in addition to scrambling the data, it also packages the decryption routine with it. This is why you only need a legitimate passcode to decrypt. For a stream of data, each packet of the data is encrypted like it was a tiny file, each with the same passcode to unlock it. You provide the password when you initially connect to the stream, and the OS applies that password to each incoming packet.

However, under this model, you can only encrypt outbound streams. It means that each end of the link needs encrypt.


QUOTE
1. Only one party needs an encryption program and the entire conversation back and forth is encrypted.
I can't find anything in the book that says encrypt is only required at one end. To be fair, I can't find anything that says it's required on both ends either.


QUOTE
Does a new copy of the program have to get loaded into active memory each time you set up a bomb? (this could lead to a response drop if you set up enough data bombs equal to the nodes system rating)
After looking closer at Data Bomb, I'd say data bomb only counts as a running program only when someone is initially trying to access the thing (device, file, or icon) that the bomb is attached to. However since you can attach it to a device, I still say that it counts as a program that once set up by a node's administrator, can run by itself without needing to be run from a persona or agent.
hobgoblin
i have a feel that SR encryption isnt public key encryption. this means that its classical encryption. a encryption that can basicly be described as this:

you have a row of letters:

abcdefgh

and then another row of letters:

hgfedba

to encrypt you looks up the letters of the text in one row and then transfer over to the other. its very simple in theory and works, as long as you keep the table hidden.

computer encryption works on a similar system, only that it changes groups of 0's and 1's rather then letters. and that it uses a dynamic table rather then a static table. this means that the tables changes based of some sort of input, like say a password. diffrent password, diffrent table.

im guessing that if you encrypt a comlinks connections it will tell any device that connects to it how it should calculate the table, if given the right password. the decryption application instead trys to either brute force (basicly run every password it can think of until the data is understandable) or look for patterns and based on that and the formula reverse the calculation and get the password.

todays encryption in the civilian world have gone beyond that, using a systems known as public key encryption. this basicly means that you have two keys. one that you keep secret, and one that you give to anyone that want to communicate to you.

for them to contact you they merge their own private key with your public key. based on this only your private key can decrypt the message. if you encrypt something with your private key alone, anyone can decrypt it using your public key. as only you are supposed to have this key, this can be used to securely sign a message or similar.

so for extra security you both sign a message and encrypt it. then both you can be reasonably sure that its only the person your sending to that will read it, and he can be reasonably sure that its you that have sendt it.

problem is that a system like this make for bad storytelling where if you find a encrypted message or transmission there would be no way in hell that a hacker could crack it, unless he have access to a insanely powerfull computer and a unlimited timeframe before the message is no longer worthless.
Kiyote
QUOTE (RunnerPaul)

QUOTE
1. Only one party needs an encryption program and the entire conversation back and forth is encrypted.
I can't find anything in the book that says encrypt is only required at one end. To be fair, I can't find anything that says it's required on both ends either.

I can't seem to find were it says that either, maybe i dreamed that part up? spin.gif

What I find interesting about what you are proposing, is that it is possible that a conversation between two agent/personas/people/devices will use different ranks of encrypt.

Even if they don't have different versions of encrypt, wouldn't it require a hacker to decrypt both directions (or more if it was a three way conversation) before getting the full conversation? Also, what if the hacker needs to spoof a conversation? Does he need encrypt running to encrypt his communication since the receiving object is expecting an encrypted packet (or do you consider that apart of the spoofing process)?

The way I was proposing only requires a hacker to decrypt once to get all of the traffic. Since he would then be inside the communication path, any traffic he adds to the link (spoofed or otherwise) is considered encrypted. Perhaps my thinking is way to easy for the hacker.
smile.gif
Rotbart van Dainig
You encrypt connections, not directions - and you can even encrypt connections you are not part of.

So it seems more like installing a stack at all ends.
RunnerPaul
QUOTE (Rotbart van Dainig)
You encrypt connections, not directions - and you can even encrypt connections you are not part of.

So it seems more like installing a stack at all ends.

After mulling it over, I see now how my mental model of how crypto works doesn't line up with the rules as well as I thought it did. Rotbart's right, if they'd meant for it to only cover one direction of the connection they would have said so.

Also, if it is installing an encrypt/decrypt stack at both ends of the link, then the program wouldn't have to be constantly running. It'd just run initially, choosing the algorithms and parameters that the stack would be using.

So, since the encrypt program doesn't need to be constantly running in order to encrypt a device, it doesn't belong in the list of programs a node can run by itself after all.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Dumpshock Forums © 2001-2012