Most of the applications of wireless sensor networks have critical tasks to be fulfilled; thus they must be secured. Recent studies focus on securing the communication between sensors and with the base station. An adversary can launch various types of attack on WSN depending on its ability and objective. These attacks can be broadly classified into two categories: 1) layer-dependent, and 2) layer-independent. Layer-dependent attacks are specific to communication protocol layers. They mostly target a node's functionality such as routing, availability, time synchronization, and data aggregation. Layer-independent attacks are not restricted to any communication protocol layers. These attacks can be launched independent of the communication protocol stack. In this chapter, we study the various attacks possessed by WSN and classify them based on their strength, action, security requirements and impact at different layers of WSN. We define metrics to evaluate the characteristic, behavior, and dependency of these attacks followed a discussion on various counter-measures to defend them.