Could be almost anything. Could be malware, could be overheating, could be HDD or mobo failing. I would start by use a temp monitoring program while you use the computer, and watch if it gets too hot. You might also want to burn a bootable Memtest86+ ISO image onto a CD or DVD, and boot off of it. Download your HDD mfg's diagnostic program and run that too. Could use HDDTune to check SMART status on your HDD too, or use a Linux LiveCD to run a HDD SMART short or long diagnostic test.