How old is he?
How long has this been going on?
This is fairly common at this age, most young children start simply because it is interesting and then continue out of habit. The good news is like any habit stopping it can be done.......it just takes some work. There are several different ways and all work great, its just a matter of what you want to try. I will go ahead and list some of the options you have and you can pick and choose what works best for you and your son.
1) There is a polish that you can apply to his finger nails........now this works wonders. It has a very bitter nasty taste to it so anytime he puts his finger in his mouth he will taste this and pull back asap. The positives is that it does work, and works well. The downside is if he rubs his eyes it can cause irritation, while not dangerous to him it can sting and makes for a bit of pain. I normally only recommend this if the child is capable of learning to keep the fingers out of the eyes and as a last resort due to it being uncomfortable.
If you want to try this you can pick it up at your local store or pharmacy. There are several different name brands, but most come under the them for nail biting.
2) Habit changing routes also work well. Basically what you do is every time you catch him you make him go to the bathroom and wash his hands for a full 2 minutes. Explain to him that it is not hygienic and he must highly wash the germs from his hands. This works well as most children hate to be interrupted and quickly learn it is no fun to have to leave a game, TV show or family time to go wash their hands. While it may seem silly.....most kids learn quickly that its better to stop then have to repeatedly get up and go wash their hands.
3) Rewards: Rewards are excellent motivators. Create a chart and label it for each day, each time you catch him using good habits such as using a tissue or not eating it he gets a check mark. Take away the check marks for anytime he gets caught picking and eating. At the end of the day he should get a reward for good habits. (Grab a laundry basket and put some cheap rewards in it, the .99 cent store has great little toys which you can use for a reward) You can also set up other rewards such as extra time before bed for play or another reward he may like.
Make sure you make a big habit of letting him know this is not hygienic and he can make himself sick by doing this. Sometimes a little healthy fear of germs can help cure a kid of this. No child likes to get sick! They key is watching him.......this may be hard but investing a little time now is better then dealing with this his whole life. I know this is a aggravating habit, but its just a habit and like anything else a little hard work can pay off by breaking it quickly.