|  |
| |
| rubiya |
모바일보안은 잘 모르니 모의해킹(웹해킹) 기준으로 말씀드리겠습니다.
처음에는 php+mysql 환경에서 많이들 공부합니다.
php가 워낙 보안이슈가 많아서 다양한 기법을 실험해보기 좋거든요.
어느정도 경험이 쌓이면 asp+mssql, jsp+oracle 환경을 익히게 됩니다.
해킹의 개념을 잘 이해하면 언어가 바껴도 큰 차이가 없으니 오래 안걸립니다.
실무에 나오면 80%가 jsp+oracle, 20%가 기타등등입니다.
모의해킹의 주 고객사인 공기관, 금융권은 거의 다 jsp+oracle에 방화벽이 올라와있는 상태입니다.
방화벽을 우회하는 테크닉이 어느정도 쌓이고나면 어디가서 모의해킹전문가라고 말해도 됩니다. |
2017/01/18 |
|
| guapo |
답변 감사합니다 ㅎㅎ
어느정도 경험이라는게 어떤정도의 실력을 일컫는 말인가요?
만약 제가 공부를 빡시게 한다면 어느정도 기간쯤이 될 수 있을까요..?
웹해킹이 이루어지기 위해서도 여러가지 툴이 사용되는 걸로 알고있는데 혹시 실제로 해킹이 이루어지기 위해 사용되어야 툴들은 어떤 종류가 있나요?
리눅스 같은 경우는 어떤 버전을 공부해야 도움이 되나요???
질문이 너무 많네요 ㅠㅠㅠ |
2017/01/18 |
|
| rubiya |
이전 댓글을 대충적어서 제 의도가 곡해될 수 있을것같아 처음부터 적겠습니다.
웹해킹은 다른 분야와 다르게 소스코드가 없는 상태에서 진행하게됩니다.
웹해커들끼리는 소스코드 없이 취약점을 찾는 방법을 소위 "감"이라 부릅니다.
그러나 이 감은 웹(프로토콜, 서버사이드언어, dbms 등) 에 대한 이해, 해당 기능이 어떻게 구현되었는지 예측하기 위한 개발경험, 예상한 코드에서 발생할 수 있는 취약점 등 다양한 기반지식을 요구합니다.
그런 후에야 비로소 상상력, 창의력, "감"이 필요해집니다.
기반을 쌓기위해 http 프로토콜에 대한 이해(네트워크공부), 개발경험(게시판 한번 짜보면 충분합니다), 취약점(워게임, 대회)등에 대한 공부를 해야합니다.
탄탄한 기초를 쌓은후에 실제 모의해킹에 들어가서 책상위의 해킹과 실전은 어떤 차이가 있는지 경험도 해보고, 경험치를 쌓으시면 됩니다. - 그러나 워게임을 풀수록, 대회에 참가할수록 자신의 허술한 기초에 절망하게됩니다ㅡㅡ;;
툴에 대해서는 좀 헷갈립니다.
우선 툴의 사용법을 익히는건 비전공자도 30분이면 됩니다.
내가 공부한건 메타스플로잇, 백트랙이라고 말하면 기술자들이 벌레보듯 쳐다보는 경험을 할 수 있습니다.
작성자님이 공부해야하는건 툴이 아닌 기술입니다.
그러나 실무에서는 현실적인 이유(인력,기간,비용) 탓에 손으로 모든 사이트를 점검할 수 없는 경우가 생깁니다.
이럴때 가용성 저하에 대한 부담이 적은 대상에 한정해 툴을 사용하는 경우가 있습니다.
여기서 사용되는 툴의 경우에는 메타스플로잇, 백트랙 등의 툴킷이나 아큐네틱스, havij 같은 스캐너등이 사용되곤 합니다.
중요한건 그 어떤 툴보다도 제대로 공부한 해커 한 명이 더 효과적이라는 사실입니다.
리눅스 버전은 따로 신경쓸 필요는 없고 버전이 오르면서 어떤부분이 바뀌었는지만 따라가면 될 것 같습니다. |
2017/01/19 |
|
| 해쿨러 |
모바일보안은 두가지로 나뉘는데
1. 백신과 같은 악성앱으로 부터 시스템을 보호하는 보안(유저를 보호)
2. 앱 자체에 난독화나 해킹방지를 구현해 비즈니스를 보호하는 보안(비즈니스를 보호)
1번은 악성코드 전반에 대한 이해가 필요하고, 새로운 악성코드 형태에 대응하기 위해, 즉 자동화시스템에서 탐지하지 못하는 악성코드에 대응하기 위한 악성코드 분석능력(리버싱)과 자동화에 대한 이해가 많이 요구되는 분야입니다
가장간단하게는 룰셋기반 탐지, 휴리스틱탐지에서 최근 5년간 핫했던 머신러닝을 이용한 탐지에 대한 이해가 필요합니다 이런것들은 간단한거는 블로그에서도 찾아보실 수 있고 어느정도 이해가 되시고 직접 구현도 해보시고 나서 논문들을 보시면서 논문에 나온것들중에 괜찮아보이는것을 직접 구현해보시면 어떻게 더 아이디어를 발전시킬 수 있는지 감이 잡힙니다
그리고 비즈니스를 보호하는건 제가 회사에서 하고 있는 일인데
사실 위에서 말한 리버싱은 많은분야에서 필요로 합니다. 보안회사에서도 전체가 해커가 아니기 때문에 리버싱은 소수만 할 수 있는데, 리버싱을 할줄 모르면 자기가 구현한 난독화 기술이 실제로 적용돼있는지 안돼있는지 판별할 수가 없기 때문에 리버싱을 할줄 아는 사람과 할줄 모르는사람의 아웃풋은 정말 크게 다릅니다
그래서 모바일보안으로 가고싶으시다면 리버싱을 베이스로 공부하시고 모바일보안업체에서 제작한 솔루션이 붙어있는 게임앱을 분석해보셔서 보호기법을 우회해보시고 직접 본인이 그 솔루션들보다 나은 솔루션을 개발해보세요
모바일 보안업체에서 일하고 싶으시면 직접 보호솔루션을 하나 만들어가시고, 그에 대한 아이디어풀도 크게 만들어 놓으시면 취직은 무난하게 가능합니다 |
2017/01/19 |
|
| guapo |
rubiya님 해쿨러님 친절한 답변 정말 감사드립니다!
어떻게 나아가야 할지 조금은 막막했는데 두분 덕분에 정말 많은 도움을 받은 것 같아요
정말 감사합니다!! |
2017/01/19 |
|
| guapo |
아 참 제가 c와 c++은 공부를 어느정도 한 상태라 원래 게임쪽으로 생각을 해서 간단한 싱글 게임정도는 만들 수 있는 정도인데 앞으로 어떻게 공부를 해야 빠르게 실력을 늘릴 수 있을까요?? |
2017/01/19 |
|
| 해쿨러 |
오 좋네요 게임개발로 진로를 잡으셨다가 보안에 흥미를 가지게 되신거군요
리버싱 실력은 빨리 늘릴 수 있는 방법으로 저는 어셈블리 프로그래밍만한게 없다고 봅니다
어셈블리 프로그래밍도 시작하려면 사실 좋은 책도 없고 마땅히 찾아볼 자료도 없는데 그냥 본인이 평소에 사용하던 함수들을 어셈블리로 작성해보면 됩니다 구구단 출력부터 시작해본다든지 하는 식으로요
모바일보안은 어떤 분야로 가든지 리버싱은 베이스기 때문에 리버싱 먼저 공부를 해두시는게 낫다고 보고, 리버싱이 깔려있는 상태에서 어떻게 해야되는지는 제가 이미 글에 다 썼습니다 다시 한번 읽어보시길 바랄게요
웹은 제가 몰라서 rubiya님께 턴을 넘깁니다 ㅋ |
2017/01/20 |
|
| rubiya |
워게임, 대회에서 문제 많이 풀어보는게 짱입니다.
덤으로 내가 이거 공부 뭐하러 하고있지 싶은 현자타임이 올때는 실제 사이트 대상으로 공격을 해보는것두 좋습니다만 불법이니까... 좋은 꼼수라면 워게임 시스템 자체를 해킹하는 선택지가 있습니다.
아무리 해커가 만들었다고 해도 취약점은 생길 수 있거든요.
이렇게 실제 사이트를 해킹하면서 내가 공부했던 기법이 이런 목적으로 이렇게 쓰일 수 있구나 하면 응용력도 길러지고 재미도 있습니다. |
2017/01/20 |
|
| guapo |
두분 다 정말 친절하고 성실한 답변감사드립니다 ㅠㅠㅠ 정말 도움 많이 받습니다! |
2017/01/21 |
|