스마트폰 SD카드의 MBR을 수정하는 어플을 만들고 싶습니다.
글쓴이: limcw3 / 작성시간: 토, 2016/04/09 - 2:52오전
제가 이걸 생각한 이유는 SD카드가 다른 컴퓨터나 다른 스마트폰에 끼면 읽혀지는거를 방지하기 위해서인데요;;
그래서 생각해 본 것이 SD카드가 USB같은 개념같아서 MBR을 수정하면 되지 않을까? 입니다.
그리하여 저의 생각은 어플에서 총 3가지 버튼이 있는데
1번 버튼을 누르면 기존의 SD카드의 위치를 가져오고 그 SD카드의 MBR을 백업합니다.
2번 버튼을 누르면 SD카드의 MBR을 삭제하여 다른 컴퓨터나 안드로이드 폰에 읽기가 불가능하게 하는것입니다.
3번 버튼은 다시 SD카드의 MBR을 복구 시키는 것입니다.
이것이 과연 가능한가요? 사실 어느 게시판에 올릴지 고민 했었습니다.
SD카드의 이름을 가져와서 위치확인까지는 가능하지만 다른것은 찾기가 매우 어렵더군요;; 혹시 이런 접근방법 말고도 SD카드 암호화를 제외한 다른 방법이 있다면 말씀해주시면 감사하겠습니다.
Forums:
저수준으로 내려가서 블록 장치에 직접
저수준으로 내려가서 블록 장치에 직접 read()/write()를 수행하면 가능이야 하겠지만, 일단 당연히 블록 장치에 직접 접근하려면 루트 권한이 필요할 겁니다.
그런데 왜 SD 카드 암호화라는 가장 좋은 해결책을 놔두고 둘러 가려고 하시는가요? 대부분 SD 카드는 파티션을 나눠 놓지 않기 때문에 설사 MBR이 날아갔다고 하더라도 다른 사람이 MBR을 재구축하여 읽기는 상당히 쉽습니다. 그리고 SD 카드를 통째로 이미지로 떠서 거기에서 데이터 포렌식 툴을 돌리거나, 날아간 MBR만 다시 집어넣어 주면 얼마든지 읽어낼 수 있습니다.
암호화를 제외한 다른 방법을 생각해보고 있었습니다.
암호화를 하면 비효율적이라고 생각되서 아에 제외 하고 다른 시도를 해보려고하는데
mbr을 수정할 수 있긴 한가요? 검색이 잘 안되가지고.... 그외에 아이디어로는 될지는 모르겠지만 쓰기 읽기 권한을 건드리는건데 이거는 안될거같더라고요... 혹시 이것도 가능한가요?
블록 장치에 직접 접근하거나 저런 식으로 하려면 루트
블록 장치에 직접 접근하거나 저런 식으로 하려면 루트 권한이 당연히 필요합니다. 루팅을 하는 것보다는 장치 암호화가 수백배는 더 안전합니다. 구글 엔지니어들은 바보가 아닙니다.
답변 주셔서 감사합니다.
암호화를 하는 것이 혜안임을 알았습니다....
하지만 학습차원으로 시도 해보려고 하는건데요;;; 이거에 대해 참고해야 되는 사이트나 글이 있어 글을 올려 주신다면 너무 감사하겠습니다... 구글링이 안되가지고요 ㅠ
그냥 디바이스 블록 파일을 읽으면 되지
그냥 디바이스 블록 파일을 읽으면 되지 않을까요?
예를 들자면 /dev/sdb 이런 식으로 읽으면 될 것 같습니다.
답변 감사합니다.
일단 시도는 여러가지 해봐야겠습니다. /dev/sdb 이것도 시도 해보겠습니다. MBR이니깐 512byte만 건드리면 되는게 맞나요?
아마 /dev/mmcblk1 식으로 인식될 겁니다.
아마 /dev/mmcblk1 식으로 인식될 겁니다. MBR은 512B만 건드리면 되는 게 맞지만, 이걸 건드리려면 위에서 언급한 "루팅"이 필요합니다.
댓글 달기