The witnesses constantly publish the price feed of steem. The blockchain takes the median price to make the conversion.
Note: I used the word guarantees inside quotes because the conversion takes 3.5 day to execute. This is done to avoid market manipulation.
You can see the price feeds of the witnesses in https://steemd.com/witnesses.
Another way of maintaining the price is to encourage (or discourage) people to hold SBD instead of selling it by changing the interest paid for holding SBD. If the price of SBD is below 1 USD the witnesses can increase the APR. If people hold Steem Dollars to get the interest that reduces the supply and pushes the market price up.