boolean modifier fills up the intersection area
The problem is the topology of the small cube, it is made of separated faces, so the Boolean operation can't work properly. To solve this, you need to go in Edit mode, select all, and W > Remove Doubles, so that it joins all the faces together and make a real cube. Then your Boolean will work properly.