The 24-year-old, who has 31 caps for his country, is one of several players who opted to leave Ibrox after becoming a free agent when the Glasgow club entered administration.
Earlier in June Sion recruited Gennaro Gattuso, another Rangers old boy, from AC Milan.
Lafferty's former team-mate Steven Whittaker has also departed Rangers after signing a four-year deal with Premier League side Norwich City.
"All of my experience to date has been in Scotland so I'm really looking forward to the challenge of playing in the Premier League," the 28-year-old Scotland defender told the Norwich website.
"When I spoke to [coach] Chris Hughton I was very impressed with his plans to progress Norwich City, and everyone I've spoken to in the game has had nothing but praise for the Club."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.