Due to assigning traverse permission to a folder will make that folder visible. The only way to do this is changing the system.xml file. This is a global change!. The file can be found in the dollowing directory:
Remove the traverse from the following list of permissions for the "visible" parameter:
<param name="visible">[permission("read") or permission("write") or permission("execute") or permission("traverse") or
Save the file and specify the permissions on the folder you wish to have hidden. Then set to 'explicitly deny' all permissions with the exception of 'Traverse'. This will allow you to still execute reports within the folder (if, for example, target reports for drill-thorughs here).
If you are using this for drill-though purposes, the target report will need to have the execute permission specified (but should have this by default)..