I am excited at the prospect of using remote developers on Upwork. I live in a city that's fairly small where developers are hard to find. However, I'm concerned about the security aspect of this equation. How does Upwork ensure remote developers don't just steal all of your code?
re: "How does Upwork ensure remote developers don't just steal all of your code?"
Upwork offers no such assurance.
If this is a concern, it is something you and your team will need to manage.
But keep in mind that when you hire freelancers on Upwork, you are hiring people whose goal is to earn money by working for you. They are not interested in stealing anything from you. They do not want your source code. They want you to pay them for their work.
re: "How does Upwork connect remote developers?"
re: "Is there some sort of software that allows the freelancer to remotely access my computer once they've been hired?"
Does Upwork provide this software?
Does Upwork make this software?
Generally speaking, developers do not connect to your computer.
As a client, I have hired many Upwork freelancers to connect directly to my computer and do work. I would classify this work more as configuration work, including installation.
I highly recommend TeamViewer for this.
Upwork provides tools for you to find freelancers who can complete your job, manage contracts with them and make payments safely. Check out this help articles about finding and hiring freelancers and Upwork Payment Protection. You may need to use different tools to give your developers access to the system they'll be working on.
You can also find a lot of helpful tips about hiring developers in Hiring Headquarters.
If you are new to managing this sort of project, I highly recommend that you invest some money in a project manager. While it may seem like an added expense, it will save you money in the long run by ensuring the smooth running of your project.