The notation $1^\lambda$ means a string with $\lambda$ characters all of them equal to 1. For instance, if $\lambda = 3$, then $1^\lambda$ is $111$.
And yes, it typically stands to the security parameter, from which the probability of "breaking" the system is measured (as well as the resources needed to do so and also to execute the cryptosystem's procedures).
The reason to use $1^\lambda$ instead of $\lambda$ is theoretical. The point is that the functions run by the users (KeyGen, Enc, Dec, etc) are supposed to run in polynomial time and the best attacks are usually supposed to take exponential time. But polynomial/exponential time regarding what? Regarding the size (length) of the input. So if you say that the input is simply an integer $\lambda$, what is the input's length? But using $1^\lambda$ as the input, the size is clearly $\lambda$, because the input has $\lambda$ characters (or letters, or bits...).
And about this specific scheme that you've cited, I would say that the authors are probably miss-using the notation. It seems that $\lambda$ measures how many bits the integers used there have. So, the algorithms run in poly$(\lambda)$ as expected. But, as it happens often (e.g. with RSA), for a security level of $\lambda$ bits, the integers used in the scheme must behave much greatermore than $\lambda$ bits.