Say $m(X)=M>0$. Take any $\varepsilon>0$ with $\varepsilon<M$ and cover $all$ rationals by an open set $U$ with $m(U)<\varepsilon$. This is possible by listing all rationals as $\{q_n: n\in\mathbb N\}$ and covering $q_n$ by an open ball of measure $<\varepsilon 2^{-(n+1)}$. Then Let $Y=X\setminus U$ we have $m(Y)\ge M-\varepsilon >0$. We may also assume that $X$ was closed (since it must contain a closed set of positive measure). So $Y$ must be closed. Finally throw away points $y$ of $Y$ that have a neighborhood that intersects only countably many points of $Y$. One can prove that in this manner we only throw away countably many points, and what is left is closed, and has the same measure as $Y$. In other words, the Cantor-Bendixson derivative of $Y$ works. Well, actually, not the Cantor-Bendixson derivative, but rather the set of all compete accumulation points.
As the links I provide above are a bit terse, let me just write what I mean (and neither of the two terms I used above may be right in this context). Let $Z$ be the set of all points $y$ of $Y$ such that every neighborhood of $y$ intersects $Y$ in uncountably many points. One can show that $Z$ is closed and $Y\setminus Z$ is countable, hence $Z$ is a Cantor set and $m(Z)=m(Y)$.