There is a field on Opportunity called StepName that you can use; it contains the name of the current step of the Business Process Flow.
An enable rule on the button that includes a JavaScript function should work.
The JavaScript function should perform a REST call to retrieve the StepName attribute.
Have a look at this if you need more info on disabling a ribbon button with a JavaScript enable rule: http://garethtuckercrm.com/2013/11/25/dynamically-disable-ribbon-buttons-in-dynamics-crm/