Amazon-owned online fashion retailer Zappos has told 24m customers to reset their passwords after a cyber attack in which hackers may have accessed their personal information.