Often this is simply a bit of dirt that accumulated at the bottom (back) of the nut. Take it out, and work the thread so you can tighten the nut all the way to the shoulder with zero binding. Then dry the outside of the nut and the c-bore of the chainring, oil or grease the thread, and the dry friction against chainring should be more than the thread friction of the screw.
If it' still a problem, here's a trick I use on all my chainring bolts. Put a dab of some coarse lapping compound (auto guys use it to grind valves) on the back flange of the nuts. As they're tightened the grit bites into both the nut and chainring making a mechanical interlock (like sand in the pages of a book) and will hold the nuts steady while you tighten and later while you loosen.
__________________
FB
Chain-L site
An ounce of diagnosis is worth a pound of cure.
Just because I'm tired of arguing, doesn't mean you're right.
“One accurate measurement is worth a thousand expert opinions” - Adm Grace Murray Hopper - USN
WARNING, I'm from New York. Thin skinned people should maintain safe distance.