Buy a curved upholstery needle from any sewing supply store along with heavy duty thread - Joanne's Fabrics, WalMart, whatever is in your area.  Knot upholstery thread, take one stitch into back of sofa, draw needle through loop on back of button (should be a metal or fabric loop), take a few additional stitches into back of sofa.  It's an easy fix, you just need the right tools.
                 cga03mom
                
 February 2006