And there are other simple ways to prevent remote abuses. Solving the internal exposure SNMP provides hostile insiders is a much more intractable problem. The SNMP protocol itself is designed so that agents can be rather simple. Just about everything else about SNMP is not so simple. Conceptually, SNMP is wonderfully simple.
Managers send requests to agents, and the agents send back replies.
The requests and replies refer to variables accessible to the agent software. Managers can also send requests to set values for certain variables. And finally, agents can respond on their own to the manager by sending a trap message. The preferred transport is UDP over IP, and that is where part of the trouble lies. But I am getting ahead of myself.