SlideShare a Scribd company logo
1 of 50
Download to read offline
시스템 보안에 대해
시스템 해킹 공부 가이드라인
2016.03.08
TeamH4C
홍승표(Phantom)
『이 글을 보는 대상』
• 막연히 시스템 분야를 공부하려는 사람
• 시스템 보안과 관련된 직업을 희망하는 분
• 철학적으로 시스템 보안을 배우고 싶으신 분
『머리말』
많은 분들이 시스템 분야에 대해서 ‘진입 장벽'이 높다 라
고 말씀 하십니다. 하지만 그 진입장벽을 허물었을 때의 쾌
감은 말로 표현할 수 없을 정도로 짜릿했습니다.
그런 짜릿함을 이 가이드라인을 보시는 분들도 느끼고 보
안 분야에 많은 관심을 가져주셨으면 좋겠습니다.
『Who am I』
• 홍 승 표(newbie pwner, TeamH4C 팀원, 흑객 멘티)
2006
프리서버 구축, 게임 버그
등등을 하며 컴퓨터에 대해
관심이 생김
09.02실업계 고등학교로
입학, 수능 직업탐구의
컴퓨터일반, 비주얼베이
직으로 for문까지 공부
2012
공주대 입학
2014
컴공의 기초를 배움(겉핥기)
14.02 시스템 해킹에
대해 공부를 시작
2015
15.11 흑객에 들어감
15.12 TeamH4C에 들어감
2016
1. 시스템 보안
2. 리버싱과 시스템해킹
3. 취업을 하게 되는 분야
4. 나는 왜 시스템 보안을 공부하고 싶은가?
5. 어떻게 공부해야 하나?
6. 공부에 도움되는 사이트들
Contents
1. 시스템 보안
Contents
1. 시스템 해킹이란
운영체제의 취약점, 설치된 프로그램 내의 취약점등의 위협으로부터
공격을 미리 예방하는 것
1. 시스템 보안?
2. 만약…
어느 시스템을 설계할때
• 네트워크(네트워크 연결 방안, 방화벽, IPS정책 등등
• OS(버전 선택, 파티셔닝, 업데이트 적용)
• App설치(불필요한 서비스 및 설정 제거
• 로그 수집 및 분석
등등 시스템 기획설치 단계부터 보안을 고려하여 운영하는 그 모든 것들을 생각하여 설계
를 했을 때와 안 했을 때
두 서버의 안전은 얼마나 차이가 날지 스스로 생각 해보세요.
그리고 특히 모든 보안에서 로그는 제일 중요합니다. 증거 자료이기도 하며 공격자입장에
서는 이것을 남기면 좋지 않으니까요
이에 대해서는 여기를 참고 부탁 드립니다.
1. 시스템 보안?
2. 리버싱과 시스템 해킹
Contents
1. 시스템 해킹이란
OS 또는 프로그램의 취약점을 찾아 공격하여 관리자 권한 등을 얻어 시스템을 장악하는 것
• 시스템 해킹 정도는 해줘야 해커라는 소리를…
• 몇 년 전부터 ASLR/DEP의 출현으로 인해 빡세졌다.
• 난이도는 어렵지만 상당히 재미있는..쉘을 땄을때 쾌ㄱ…….
2. 리버싱? 시스템해킹?
2. 리버스 엔지니어링(리버싱)이란
역공학이라고 불리며 프로그램등을 분석하여 원하는 동작을 만들어 내는 것
• 제로데이 헌팅, 악성코드 분석, 해킹대회 문제풀이 등등 많은 곳에 쓰인
다.
• 최근 리버싱 관련 서적이 많이 나와 공부하기가 좋다.
• 어셈블리어를 잘 해야 한다.
• 윈도우와 리눅스 뿐만 인줄 알았지만 리버싱도 역시 OS마다 다 익혀야
한다(ex> arm, mips etc…)
• 이 분야도 역시 변태들이….
2. 리버싱? 시스템해킹?
각 분야마다 대회에서 이렇게 부릅니다.
• 시스템 -> 포너블(Pwnable), 포너(Pwner)
• 리버싱 -> 바이너리(Binary), 리버서(Reverser)
• 웹해킹 -> 웹(Web), 웹해커(Webhacker)
• 크립토(Crypto) – 암호
• 네트워크(Network)
• 포렌식(Forensic)
• Misc(잡다한 문제)
2. 리버싱? 시스템해킹?
3. 취업을 하게 되는 분야
Contents
1. 보안 컨설팅
고객의 정보자산과 비즈니스 프로세스에 따른 위협 및 취약점을 분석하여 보안 수준을 파악하고(AS-IS
분석)
요구수준에 맞는 통합적인(기술과 관리측면) 개선책을 설계 및 제시하는 업무
• 자산과 관련된 서비스 및 프로세스를 진단 등을 통해서 AS-IS를 분석하고 개선 방안을 제
시함
• 기반시설, 금융, 의료, IT서비스 대/중기업 등을 대상으로 하며, 대부분 1년에 1회 이상 수
행
• 컨설팅의 목적과 목표에 따라 다양한 컨설팅이 존재
– ISO27001, ISMS 등 인증을 위한 컨설팅
– PIMS, ISMS 체계 수립을 위한 컨설팅
– 정보보호 마스트플랜 수립을 위한 종합 컨설팅
– 컴플라이언스 대응을 위한 컨설팅
– 취약점 점검 또는 모의해킹 컨설팅 등
• 보안 컨설팅은 크게 관리적인 분야와 기술적인 분야로 구분
– 관리적인 분야:
• 체계(정책/지침 등 기준, 조직, 프로세스 등) 수립 (개인정보, 침해사고 대응등 포함)
• 컴플라이언스 기준 대비 현황분석 및 개선 방안 제시
• 마스트플랜 수립 등
– 기술적인 분야:
• 인프라(서버, 네트워크, Web/WAS/DBMS, 보안솔루션 등)에 대한 취약점 점검
• 모의해킹(Blackbox, whitebox, 시나리오기반 등), 소스코드 Auditing 등
1. 보안 컨설팅
정보보호 컨설팅의 일반적인 수행 절차는 아래와 같으나, 프로젝트 목적에 따라서 변화가 있다
1. 보안 컨설팅
2. 침해 대응 전문가
침해사고가 발생한 정확한 원인을 파악하여 동일 공격과 2차 피해, 추가 공격 등을 원천적으로 방어할
수 있는
대안책을 제시하는 보안 전문가
• 해킹, 악성코드 감염 등과 같은 사이버침해사고에 대한 원인분석을 하는 과정
• 공격자의 행위 추적, 침투원인 분석, 악성코드 감염경로 분석, 악성코드 행위 분석 등
• 최근들어 침해사고분석과 디지털포렌식은 기술적인 방법에서 공통점이 많으며 상호
보완하는 추세
– 침해사고분석과 디지털포렌식의 차이점은 점차 희석되어가고 있음
• 침해사고분석 시 디지털포렌식 기술이 사용되고 있으며, 프로파일링 작업 시 침해사고분
석을 통해 추출된 데이터가 사용됨
업무적 세분화
• 서버, PC, 스마트폰 등에서 각종 로그파일을 분석하여 공격자의 침투경로나 악성코드 감
염경로를 찾는 침해사고 분석가
• 공격자가 사용한 공격코드(Exploit) 및 악성코드를 분석하는 악성코드 분석가
• 공격자가 사용한 취약점을 분석하여 침해사고의 재발 및 확산을 방지하는 취약점 분석가
2. 침해 대응 전문가
침해사고 분석 절차는 회사마다 조금씩 차이는 있음
2. 침해 대응 전문가
3.악성코드 분석가
악성코드 분석 전문가는 탐지된 악성코드를 분석하여 동작원리 및 패턴을 분석하고, 이를 보안프로그램
(백신 등)에 패턴을 등록함으로써, 2차 및 피해 확산을 차단하는 전문가
• 악성코드란 Virus, Bot, Worm, Ransomware, Trojan horse, Rootkit 등의 악의적인 행동을
하는 프로그램을 말하며 이런 악성코드를 분석하여 구현된 공격기법, 근원지, 데이터의 흐
름 등을 분석하는 전문가를 말함
• 분석된 악성코드 정보를 감염 재발 방지를 위해 백신등 보안 제품에 패턴을 등록하여 추
가피해 차단
• 악성코드 분석 전문가는 수많은 악성코드 분석을 위해 자동화된 분석도구와 접근방식을
개발하고, 악성코드 제작자는 백신탐지불가, 파일분석 불가를 위한 개발을 하는 창과 방패
의 싸움
3.악성코드 분석가
분석 절차는 크게 동적분석과 정적분석으로 이루어짐
3.악성코드 분석가
4. 보안 교육 전문 강사
기업이나 개인을 대상으로 보안에 대한 교육을 전문으로 수행하는 전문 강사
• B2B 영역 : 대기업 또는 공공기관 등에 강의하는 형태로 회사 소속이거나 프리랜서 강사
• B2C 영역 : 보안전문가 양성을 목표로 하는 학원 등에서 강의 하는 강사
• 하지만, 현실적으로 한 사람이 모든 분야를 다 이해하고 강의하는 것은 어려우며
• 개인적으로 좋아하는 전문분야를 연구하고 전담 강사로 활동하는 것이 일반적임
• 유관 분야 실무 경력이 없어도 가능은 하나, 있는 것이 좋음(최소 3~5년 정도면 적당하다
고 판단)
4. 보안 교육 전문 강사
5. 보안제품 개발자
• 백신프로그램부터 방화벽/웹방화벽, IDS/IPS, ESM 등의 침해사고 대응 솔루션
• 안전한 데이터 저장 및 통신을 위해서 암호화 모듈 및 관련 솔루션
• 정보 유출 및 저작권 관련 DRM, DLP 등의 솔루션(이외에도 다양한 분야가 있음)
• 정보보호 관련 사고를 미연에 탐지 및 대응하기 위한 고객의 니즈에 맞는 솔루션을 개발
하는 개발 전문가
– 보안 SW분석/설계 전문가
– 보안 SW 개발자
– 보안제품 기술자(SE)
– 보안제품 기술 영업 (기술영업 등)
5. 보안제품 개발자
4. 나는 왜 시스템 보안을 공부하고 싶은가?
Contents
1. 무엇을 어떻게 해야 하는가?
• 프로그래밍만 할 줄 알면?
• Exploit을 만들 수 있음 되나?
• 해킹 프로그램을 잘 사용하면 되지 않을까?
• 영화 나 드라마에서는 키보드 다다다 치면 화면 주르륵 나오면서 10초만에 해
킹하던데?
• 포기하지 않을 자신이 있는가?
– 발암…인내심…몸에 사리날것같…
– 아무것도 보이지 않는 곳에서 아이디어를 찾아, 취약점, 등을 찾아 수많은 실패 끝에
하나의 결과를 얻어내는 것
인내하지 못하고 즐기지 못하면 절대 도달할 수 없다
4. 나는 왜 시스템 보안을 공부하고 싶은가?
5. 어떻게 공부해야 하나?
Contents
1. 목표 설정
• 정말 컴퓨터 보안 분야에 관심이 있는지?
• 왜 하고 싶은지?
• 목표와 비전은?
–잘 보이지 않는 것이 우리 대부분이다.
–그래서 나는 개인적으로 기초부터 하고 웹이나 네트워크가 아닌
–시스템을 공부 하는 것을 추천한다.
5. 어떻게 공부해야 하나?
2. 기본기
• C언어, 객체 지향언어(C++, JAVA, Python etc..)중 하나, 아님 개념이라
도
• 리눅스
• 네트워크 기초(패킷을 떠보지 않아도 좋다 나도 아직 안해봤…)
– 그저 네트워크의 개념과 각 패킷의 형태 OSI 7 Layer, 라우터 와스위치 조금정도
만이라도 알길 바란다.
5. 어떻게 공부해야 하나?
2. 기본기
2. 기본기
3. 전문분야
• Pwnable
• Reversing
5. 어떻게 공부해야 하나?
A. Pwnable
• 추천 공부 순서
– 달고나 문서
– Hackerz on the ship – 우리 집에 gdb있는데.. 메모리 보고갈래?
– Hackerschool FTZ training 1~10, Level 1~20
– Hackerschool Load Of BOF 1~20
– Hackerschool FC3» aa
• Wargame 이라고 하여 가상OS에 취약점이 있는 환경을 만들어 각 단계에서 취
약점을 공략하여 다음 단계로 올라가는 방식
• 여기까지 하는데도 상당한 시간이 걸린다.
• 개인적인 의견인데 training 1~10, Level 1~9까지는 처음에 왜 하는지 잘 이해
가 가지 않을 수 있다.
• 한번 하고 나중에 다시 보게 된다면 왜 이것을 했는지 이해 할 수 있다.
• 그리고 이것들을 공부하면서 프로그래밍 등 기초가 흔들리는 자신의 모습을 볼
수 있다. » aa
5. 어떻게 공부해야 하나?
A. Pwnable
• 추천 공부 순서
– 달고나 문서
– Hackerz on the ship – 우리 집에 gdb있는데.. 메모리 보고갈래?
– Hackerschool FTZ training 1~10, Level 1~20
– Hackerschool Load Of BOF 1~20
– Hackerschool FC3» aa
• 처음에는 달고나 문서와 최근에서야 알게 된 Hackerz on the ship의 문서를 읽는 것을
추천한다. 리버싱도 마찬가지이다.
• 적어도 이렇게 돌아 가는 것인지는 알아야 리버싱이든 포너블이든 가능하기 때문에..
• 여기까지 하는데도 상당한 시간이 걸린다.
• 개인적인 의견인데 training 1~10, Level 1~9까지는 처음에 왜 하는지 잘 이해가 가지 않
을 수 있다.
• 한번 하고 나중에 다시 보게 된다면 왜 이것을 했는지 이해 할 수 있다.
• 그리고 이것들을 공부하면서 프로그래밍 등 기초가 흔들리는 자신의 모습을 볼 수 있다.» aa
5. 어떻게 공부해야 하나?
A. Pwnable
• 개인적인 의견
– 나는 처음 공부할 때 어떻게 해야 할 지 몰라 문제 풀이로 배우는 시스템 해킹
테크닉이라는 FTZ문제 풀이 책을 봤다.
– 이해가 가는 부분도 있고 가지 않는 부분도 있을 것이다.
– 적어도 한번은 안가는 부분은 최대한 해보고 안되면 다음을 기약하며 넘기고 앞
으로 계속 가기를 바란다.
– FTZ를 풀고 LOB까지? FC3까지는 처음 혼자 해보다 잘 안되면 풀이를 보고 공부
했다. 그리고 다시 풀이를 보지 않고 공부를 했다.
– 해커스쿨의 각종 문서들과 발표자료 등등 필요할 때 매우 자주 찾아보는 것을
추천한다.
– 그리고 문제풀이 라는 것은 FTZ Level9?부터 익스플로잇 코드까지 작성하는 것
을 푸는 것이라 생각하는 것이 좋다.
5. 어떻게 공부해야 하나?
A. Pwnable
• 이 후 추천 공부 순서
– Exploit-exercises.com - Nebula, Protostar, Fusion
– Overthewire – votex
– Pwnable.kr » aa
• 이미 여기까지 할 수 있는 실력이라면 해킹방어대회(CTF)에 참가하
면 순위권 안에 들지도 모른다..
• 본인이 공부한 책으로는 시스템 해킹 테크닉(FTZ), 해킹 공격의 예술
이 포너블에는 해당되는 것 같다.(해공예 읽기 불편..에Xㅋ..)
• 대부분이 문서로 존재..
• 본인이 공부 한 책은
» aa
5. 어떻게 공부해야 하나?
B. Reversing
• 추천 공부 순서
– Abex’s Crackme 1-5
– CodeEngeen Basic RCE 1-20
– Simples.kr Season 1 Crack, Unpack, Season 2 Reverse
– CodeEngeen Advanced RCE 1-18
– Reversing.kr » aa
• 글쓴이는 처음 리버싱을 공부 했을 때 흔히 나뭇잎책, 방독면책 하는
바이블이라 불리는 책을 보면서 공부를 하려 했는데 하나도 몰랐다!!!!
• 책을 따라가며 부분부분 이해하며 넘기긴 하는데…
• 정신을 차리면 난 영혼이 잠시 마실 나갔다 온 것처럼 기억을 못하
는..
• 어셈블리어 한 줄 한 줄은 알겠는데 전체적인 흐름이 보이지 않는..
» aa
5. 어떻게 공부해야 하나?
B. Reversing
• 개인적인 의견
– 앞의 저러한 이유로 리버싱을 자주 포기했었다 거의 포기했다.
– 그리고 역시 달고나 문서와 Hackerz on the ship의 문서를 읽기를 바란다
– 멘토 님이 한가지 과제를 주셨다.
– Simples.kr Crackme 1-20 1 WriteUp 보고 풀고 1주일 후에 보고서 제출
– 진짜 더럽게 이해 안가고 그랬지만 1주일 안에 했다.
– 그리고 지금, 다시 문제를 푸니 전체적인 개념?이 조금이나마 깃들어 있어 혼자
풀기 시작한다. 심지어 아주 쉬운 CTF문제 하나도 혼자 풀었다.
본인이 공부한 책으로는….나뭇잎, 방독면 등등 두 세 개 있는 것 같은데 대부분 레
퍼런스로 보고 있다.
5. 어떻게 공부해야 하나?
B. Reversing
• 개인적인 의견
– 어셈블리어를 체화 하는 것에는 핸드레이가 좋다(hand + hex-ray) 헥스레이를
손으로 하는….
– C를 어셈으로, 어셈을 C로 이것은 개인적인 의견이 아니라 대표님들이, 악성코
드분석 현업에 계신 분들이 말씀해 주신 것을 토대로 하는 이야기다..
– 이정도 할 생각이면 포너블이든 리버싱이든 크게 심적으로 힘들지 않을 것이다.
– 그리고 나뭇잎 책과 같은 것은 처음엔 많이 어려울 수 있다.
하지만 선행학습이 된다면 그 내용들이 쉬워질 것이다.
나 또한 지금에서야 깨달은 것이지만 매우 쉽다 아직 앞부분만이지만…
그 이후 부분에 PE부터는 OS지식에 대한 것이 부족하다는 것을 느낄 것이다.
그 때부터 기본을 쌓기 시작할 수도 있다.
5. 어떻게 공부해야 하나?
B. Reversing
• 개인적인 의견
– Crackme를 풀 때부터 Windows API를 보고 막 그럴 것이다. 그러면서 기초가 쌓
인다.
– Codeengn은 시스템의 해커스쿨과 비슷한 곳이다 그곳에서 문서를 쉽게 찾을
수 있을 것이다.
5. 어떻게 공부해야 하나?
어떻게 공부해야 하나?
• 전체적인 본인의 개인적인 의견
– 포너블이든 리버싱이든 어느 정도의 기초지식은 워게임을 통해 Writeup을 보고 먼저
한 바퀴 만큼은 풀길 바란다.
– 이유는 적어도 이것이 어떤 것이라는 적응이 필요하기 때문(특히나 리버싱)
– 그리고 다시 돌아와 제대로 공부하기를 바란다.
– 그래도 처음에 영혼 없이 하더라도 이게 어느 것인지는 인식을 하고 있어야 한다.
5. 어떻게 공부해야 하나?
6. 공부에 도움이 되는 사이트들
Contents
6. 공부에 도움이 되는 사이트들
6. 공부에 도움이 되는 사이트들
마치며..
• 공부하는 방법을 알아내는 것도 실력이고
• 뭘 공부 해야 할지 알아내는 것도 실력이다.
• 뭘 공부할지 모를 때 오는 슬럼프를 극복하는 것도 실력이다.
• 어차피 공부 하는 것은 혼자이다. 스터디에 들었다고, 팀에 들었다고
• 절대 내 실력이 오르는 것이 아니다. 이 생각이 제일 위험하고 자만
하면 안된다.
• 스스로 찾고 해결해나가는 것이 중요하다.
Thanks to
이 가이드라인의 전반적인 참조를 허락해주신
• 황석훈(現 ㈜타이거팀, ㈜타이커팀아카데미, 코어시큐리티 대표)
• 시스템 보안에 대해 고민할 때 도움을 주신 SecurityPlus, 생활해
킹의 많은 변ㅌ…..아니 많은 분들
• 리버싱에 대해 공부하는 방법과 처음 해킹에 대해 공부할 때의
글을 숟가락만 뜨게 도움주신 해피용님
Thanks to
• 공부하는 마인드를 바꿔주신 cd80님
• 멘토이신 흑객 박태광 멘토님
• 이 가이드라인을 작성할 계기를 만들어준 TeamH4C
• 처음 시스템 해킹을 배우기에 좋은 문서를 만들어주신 블랙펄 시
큐리티 심준보님의 후배 분들
• 리버싱에 대한 문서가 별로 없어 헤맬 때 도움을 주신
SecurityPlus와 생활해킹의 많은 분들
Reference to
보안 전문가의 길 - link
시스템 보안이란? – link
달고나 문서 – link
우리집에 gdb있는데.. 메모리 보고갈래? - link
해킹 입문서, 커리큘럼, 테크 트리, 리버싱 – link
제가 쓴 Writeup – link
Q&A
질문 같은 것이 있으시다면 페이스북으로 문의 바랍니다.
위의 말과 같이 검색으로 나오는 것은 검색으로….
감사합니다

More Related Content

What's hot

Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentTeymur Kheirkhabarov
 
64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution64 Methods for Mimikatz Execution
64 Methods for Mimikatz ExecutionHadess
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용흥배 최
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍Chris Ohk
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드도형 임
 
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...Mauricio Velazco
 
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들강 민우
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化Gosuke Miyashita
 
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]Jaeman An
 
Attacker's Perspective of Active Directory
Attacker's Perspective of Active DirectoryAttacker's Perspective of Active Directory
Attacker's Perspective of Active DirectorySunny Neo
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011Esun Kim
 
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionGoing Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionSoroush Dalili
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018devCAT Studio, NEXON
 
The Hunter Games: How to Find the Adversary with Event Query Language
The Hunter Games: How to Find the Adversary with Event Query LanguageThe Hunter Games: How to Find the Adversary with Event Query Language
The Hunter Games: How to Find the Adversary with Event Query LanguageRoss Wolf
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례Hyung Lee
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practicesScott Hurrey
 

What's hot (20)

Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
 
64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution
 
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드
 
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
 
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]
Advanced Python Testing Techniques (Pycon KR 2019) [Korean Ver.]
 
Attacker's Perspective of Active Directory
Attacker's Perspective of Active DirectoryAttacker's Perspective of Active Directory
Attacker's Perspective of Active Directory
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011
 
Sql injection
Sql injectionSql injection
Sql injection
 
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 EditionGoing Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
 
File inclusion
File inclusionFile inclusion
File inclusion
 
The Hunter Games: How to Find the Adversary with Event Query Language
The Hunter Games: How to Find the Adversary with Event Query LanguageThe Hunter Games: How to Find the Adversary with Event Query Language
The Hunter Games: How to Find the Adversary with Event Query Language
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례
 
security onion
security onionsecurity onion
security onion
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 

Similar to 초보자를 위한 시스템 해킹 공부 가이드라인

졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul승표 홍
 
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략Startlink
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
이번학기 스터디 큰그림
이번학기 스터디 큰그림이번학기 스터디 큰그림
이번학기 스터디 큰그림ChansolHan
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발동현 김
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)HYEONGNAM LEE
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵Javajigi Jaesung
 
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스
 
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011devCAT Studio, NEXON
 
PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기종훈 박
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!Startlink
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?Minsuk Lee
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발동현 김
 
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)NAVER D2
 
내 질문에는 왜 답변이 달리지 않을까
내 질문에는 왜 답변이 달리지 않을까내 질문에는 왜 답변이 달리지 않을까
내 질문에는 왜 답변이 달리지 않을까Hoyoung Jung
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님NAVER D2
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기Changyol BAEK
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXTMinsuk Lee
 

Similar to 초보자를 위한 시스템 해킹 공부 가이드라인 (20)

졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul
 
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략
두 번째 startlink.live: 오현석 (algoshipda) - 초심자를 위한 알고리즘 공부 전략
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
이번학기 스터디 큰그림
이번학기 스터디 큰그림이번학기 스터디 큰그림
이번학기 스터디 큰그림
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)
 
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
 
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
 
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
 
PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?
 
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
[HYSS 2016] 쉽고 빠르게 시작하는 Volatility Plugin 개발
 
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
[Kerference] 쉽고 빠르게 시작하는 Volatility plugin 개발 - 김동현(BoB)
 
내 질문에는 왜 답변이 달리지 않을까
내 질문에는 왜 답변이 달리지 않을까내 질문에는 왜 답변이 달리지 않을까
내 질문에는 왜 답변이 달리지 않을까
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
 

초보자를 위한 시스템 해킹 공부 가이드라인

  • 1. 시스템 보안에 대해 시스템 해킹 공부 가이드라인 2016.03.08 TeamH4C 홍승표(Phantom)
  • 2. 『이 글을 보는 대상』 • 막연히 시스템 분야를 공부하려는 사람 • 시스템 보안과 관련된 직업을 희망하는 분 • 철학적으로 시스템 보안을 배우고 싶으신 분
  • 3. 『머리말』 많은 분들이 시스템 분야에 대해서 ‘진입 장벽'이 높다 라 고 말씀 하십니다. 하지만 그 진입장벽을 허물었을 때의 쾌 감은 말로 표현할 수 없을 정도로 짜릿했습니다. 그런 짜릿함을 이 가이드라인을 보시는 분들도 느끼고 보 안 분야에 많은 관심을 가져주셨으면 좋겠습니다.
  • 4. 『Who am I』 • 홍 승 표(newbie pwner, TeamH4C 팀원, 흑객 멘티) 2006 프리서버 구축, 게임 버그 등등을 하며 컴퓨터에 대해 관심이 생김 09.02실업계 고등학교로 입학, 수능 직업탐구의 컴퓨터일반, 비주얼베이 직으로 for문까지 공부 2012 공주대 입학 2014 컴공의 기초를 배움(겉핥기) 14.02 시스템 해킹에 대해 공부를 시작 2015 15.11 흑객에 들어감 15.12 TeamH4C에 들어감 2016
  • 5. 1. 시스템 보안 2. 리버싱과 시스템해킹 3. 취업을 하게 되는 분야 4. 나는 왜 시스템 보안을 공부하고 싶은가? 5. 어떻게 공부해야 하나? 6. 공부에 도움되는 사이트들 Contents
  • 7. 1. 시스템 해킹이란 운영체제의 취약점, 설치된 프로그램 내의 취약점등의 위협으로부터 공격을 미리 예방하는 것 1. 시스템 보안?
  • 8. 2. 만약… 어느 시스템을 설계할때 • 네트워크(네트워크 연결 방안, 방화벽, IPS정책 등등 • OS(버전 선택, 파티셔닝, 업데이트 적용) • App설치(불필요한 서비스 및 설정 제거 • 로그 수집 및 분석 등등 시스템 기획설치 단계부터 보안을 고려하여 운영하는 그 모든 것들을 생각하여 설계 를 했을 때와 안 했을 때 두 서버의 안전은 얼마나 차이가 날지 스스로 생각 해보세요. 그리고 특히 모든 보안에서 로그는 제일 중요합니다. 증거 자료이기도 하며 공격자입장에 서는 이것을 남기면 좋지 않으니까요 이에 대해서는 여기를 참고 부탁 드립니다. 1. 시스템 보안?
  • 9. 2. 리버싱과 시스템 해킹 Contents
  • 10. 1. 시스템 해킹이란 OS 또는 프로그램의 취약점을 찾아 공격하여 관리자 권한 등을 얻어 시스템을 장악하는 것 • 시스템 해킹 정도는 해줘야 해커라는 소리를… • 몇 년 전부터 ASLR/DEP의 출현으로 인해 빡세졌다. • 난이도는 어렵지만 상당히 재미있는..쉘을 땄을때 쾌ㄱ……. 2. 리버싱? 시스템해킹?
  • 11. 2. 리버스 엔지니어링(리버싱)이란 역공학이라고 불리며 프로그램등을 분석하여 원하는 동작을 만들어 내는 것 • 제로데이 헌팅, 악성코드 분석, 해킹대회 문제풀이 등등 많은 곳에 쓰인 다. • 최근 리버싱 관련 서적이 많이 나와 공부하기가 좋다. • 어셈블리어를 잘 해야 한다. • 윈도우와 리눅스 뿐만 인줄 알았지만 리버싱도 역시 OS마다 다 익혀야 한다(ex> arm, mips etc…) • 이 분야도 역시 변태들이…. 2. 리버싱? 시스템해킹?
  • 12. 각 분야마다 대회에서 이렇게 부릅니다. • 시스템 -> 포너블(Pwnable), 포너(Pwner) • 리버싱 -> 바이너리(Binary), 리버서(Reverser) • 웹해킹 -> 웹(Web), 웹해커(Webhacker) • 크립토(Crypto) – 암호 • 네트워크(Network) • 포렌식(Forensic) • Misc(잡다한 문제) 2. 리버싱? 시스템해킹?
  • 13. 3. 취업을 하게 되는 분야 Contents
  • 14. 1. 보안 컨설팅 고객의 정보자산과 비즈니스 프로세스에 따른 위협 및 취약점을 분석하여 보안 수준을 파악하고(AS-IS 분석) 요구수준에 맞는 통합적인(기술과 관리측면) 개선책을 설계 및 제시하는 업무 • 자산과 관련된 서비스 및 프로세스를 진단 등을 통해서 AS-IS를 분석하고 개선 방안을 제 시함 • 기반시설, 금융, 의료, IT서비스 대/중기업 등을 대상으로 하며, 대부분 1년에 1회 이상 수 행 • 컨설팅의 목적과 목표에 따라 다양한 컨설팅이 존재 – ISO27001, ISMS 등 인증을 위한 컨설팅 – PIMS, ISMS 체계 수립을 위한 컨설팅 – 정보보호 마스트플랜 수립을 위한 종합 컨설팅 – 컴플라이언스 대응을 위한 컨설팅 – 취약점 점검 또는 모의해킹 컨설팅 등 • 보안 컨설팅은 크게 관리적인 분야와 기술적인 분야로 구분 – 관리적인 분야: • 체계(정책/지침 등 기준, 조직, 프로세스 등) 수립 (개인정보, 침해사고 대응등 포함) • 컴플라이언스 기준 대비 현황분석 및 개선 방안 제시 • 마스트플랜 수립 등 – 기술적인 분야: • 인프라(서버, 네트워크, Web/WAS/DBMS, 보안솔루션 등)에 대한 취약점 점검 • 모의해킹(Blackbox, whitebox, 시나리오기반 등), 소스코드 Auditing 등
  • 15. 1. 보안 컨설팅 정보보호 컨설팅의 일반적인 수행 절차는 아래와 같으나, 프로젝트 목적에 따라서 변화가 있다
  • 17. 2. 침해 대응 전문가 침해사고가 발생한 정확한 원인을 파악하여 동일 공격과 2차 피해, 추가 공격 등을 원천적으로 방어할 수 있는 대안책을 제시하는 보안 전문가 • 해킹, 악성코드 감염 등과 같은 사이버침해사고에 대한 원인분석을 하는 과정 • 공격자의 행위 추적, 침투원인 분석, 악성코드 감염경로 분석, 악성코드 행위 분석 등 • 최근들어 침해사고분석과 디지털포렌식은 기술적인 방법에서 공통점이 많으며 상호 보완하는 추세 – 침해사고분석과 디지털포렌식의 차이점은 점차 희석되어가고 있음 • 침해사고분석 시 디지털포렌식 기술이 사용되고 있으며, 프로파일링 작업 시 침해사고분 석을 통해 추출된 데이터가 사용됨 업무적 세분화 • 서버, PC, 스마트폰 등에서 각종 로그파일을 분석하여 공격자의 침투경로나 악성코드 감 염경로를 찾는 침해사고 분석가 • 공격자가 사용한 공격코드(Exploit) 및 악성코드를 분석하는 악성코드 분석가 • 공격자가 사용한 취약점을 분석하여 침해사고의 재발 및 확산을 방지하는 취약점 분석가
  • 18. 2. 침해 대응 전문가 침해사고 분석 절차는 회사마다 조금씩 차이는 있음
  • 19. 2. 침해 대응 전문가
  • 20. 3.악성코드 분석가 악성코드 분석 전문가는 탐지된 악성코드를 분석하여 동작원리 및 패턴을 분석하고, 이를 보안프로그램 (백신 등)에 패턴을 등록함으로써, 2차 및 피해 확산을 차단하는 전문가 • 악성코드란 Virus, Bot, Worm, Ransomware, Trojan horse, Rootkit 등의 악의적인 행동을 하는 프로그램을 말하며 이런 악성코드를 분석하여 구현된 공격기법, 근원지, 데이터의 흐 름 등을 분석하는 전문가를 말함 • 분석된 악성코드 정보를 감염 재발 방지를 위해 백신등 보안 제품에 패턴을 등록하여 추 가피해 차단 • 악성코드 분석 전문가는 수많은 악성코드 분석을 위해 자동화된 분석도구와 접근방식을 개발하고, 악성코드 제작자는 백신탐지불가, 파일분석 불가를 위한 개발을 하는 창과 방패 의 싸움
  • 21. 3.악성코드 분석가 분석 절차는 크게 동적분석과 정적분석으로 이루어짐
  • 23. 4. 보안 교육 전문 강사 기업이나 개인을 대상으로 보안에 대한 교육을 전문으로 수행하는 전문 강사 • B2B 영역 : 대기업 또는 공공기관 등에 강의하는 형태로 회사 소속이거나 프리랜서 강사 • B2C 영역 : 보안전문가 양성을 목표로 하는 학원 등에서 강의 하는 강사 • 하지만, 현실적으로 한 사람이 모든 분야를 다 이해하고 강의하는 것은 어려우며 • 개인적으로 좋아하는 전문분야를 연구하고 전담 강사로 활동하는 것이 일반적임 • 유관 분야 실무 경력이 없어도 가능은 하나, 있는 것이 좋음(최소 3~5년 정도면 적당하다 고 판단)
  • 24. 4. 보안 교육 전문 강사
  • 25. 5. 보안제품 개발자 • 백신프로그램부터 방화벽/웹방화벽, IDS/IPS, ESM 등의 침해사고 대응 솔루션 • 안전한 데이터 저장 및 통신을 위해서 암호화 모듈 및 관련 솔루션 • 정보 유출 및 저작권 관련 DRM, DLP 등의 솔루션(이외에도 다양한 분야가 있음) • 정보보호 관련 사고를 미연에 탐지 및 대응하기 위한 고객의 니즈에 맞는 솔루션을 개발 하는 개발 전문가 – 보안 SW분석/설계 전문가 – 보안 SW 개발자 – 보안제품 기술자(SE) – 보안제품 기술 영업 (기술영업 등)
  • 27. 4. 나는 왜 시스템 보안을 공부하고 싶은가? Contents
  • 28. 1. 무엇을 어떻게 해야 하는가? • 프로그래밍만 할 줄 알면? • Exploit을 만들 수 있음 되나? • 해킹 프로그램을 잘 사용하면 되지 않을까? • 영화 나 드라마에서는 키보드 다다다 치면 화면 주르륵 나오면서 10초만에 해 킹하던데? • 포기하지 않을 자신이 있는가? – 발암…인내심…몸에 사리날것같… – 아무것도 보이지 않는 곳에서 아이디어를 찾아, 취약점, 등을 찾아 수많은 실패 끝에 하나의 결과를 얻어내는 것 인내하지 못하고 즐기지 못하면 절대 도달할 수 없다 4. 나는 왜 시스템 보안을 공부하고 싶은가?
  • 29. 5. 어떻게 공부해야 하나? Contents
  • 30. 1. 목표 설정 • 정말 컴퓨터 보안 분야에 관심이 있는지? • 왜 하고 싶은지? • 목표와 비전은? –잘 보이지 않는 것이 우리 대부분이다. –그래서 나는 개인적으로 기초부터 하고 웹이나 네트워크가 아닌 –시스템을 공부 하는 것을 추천한다. 5. 어떻게 공부해야 하나?
  • 31. 2. 기본기 • C언어, 객체 지향언어(C++, JAVA, Python etc..)중 하나, 아님 개념이라 도 • 리눅스 • 네트워크 기초(패킷을 떠보지 않아도 좋다 나도 아직 안해봤…) – 그저 네트워크의 개념과 각 패킷의 형태 OSI 7 Layer, 라우터 와스위치 조금정도 만이라도 알길 바란다. 5. 어떻게 공부해야 하나?
  • 34. 3. 전문분야 • Pwnable • Reversing 5. 어떻게 공부해야 하나?
  • 35. A. Pwnable • 추천 공부 순서 – 달고나 문서 – Hackerz on the ship – 우리 집에 gdb있는데.. 메모리 보고갈래? – Hackerschool FTZ training 1~10, Level 1~20 – Hackerschool Load Of BOF 1~20 – Hackerschool FC3» aa • Wargame 이라고 하여 가상OS에 취약점이 있는 환경을 만들어 각 단계에서 취 약점을 공략하여 다음 단계로 올라가는 방식 • 여기까지 하는데도 상당한 시간이 걸린다. • 개인적인 의견인데 training 1~10, Level 1~9까지는 처음에 왜 하는지 잘 이해 가 가지 않을 수 있다. • 한번 하고 나중에 다시 보게 된다면 왜 이것을 했는지 이해 할 수 있다. • 그리고 이것들을 공부하면서 프로그래밍 등 기초가 흔들리는 자신의 모습을 볼 수 있다. » aa 5. 어떻게 공부해야 하나?
  • 36. A. Pwnable • 추천 공부 순서 – 달고나 문서 – Hackerz on the ship – 우리 집에 gdb있는데.. 메모리 보고갈래? – Hackerschool FTZ training 1~10, Level 1~20 – Hackerschool Load Of BOF 1~20 – Hackerschool FC3» aa • 처음에는 달고나 문서와 최근에서야 알게 된 Hackerz on the ship의 문서를 읽는 것을 추천한다. 리버싱도 마찬가지이다. • 적어도 이렇게 돌아 가는 것인지는 알아야 리버싱이든 포너블이든 가능하기 때문에.. • 여기까지 하는데도 상당한 시간이 걸린다. • 개인적인 의견인데 training 1~10, Level 1~9까지는 처음에 왜 하는지 잘 이해가 가지 않 을 수 있다. • 한번 하고 나중에 다시 보게 된다면 왜 이것을 했는지 이해 할 수 있다. • 그리고 이것들을 공부하면서 프로그래밍 등 기초가 흔들리는 자신의 모습을 볼 수 있다.» aa 5. 어떻게 공부해야 하나?
  • 37. A. Pwnable • 개인적인 의견 – 나는 처음 공부할 때 어떻게 해야 할 지 몰라 문제 풀이로 배우는 시스템 해킹 테크닉이라는 FTZ문제 풀이 책을 봤다. – 이해가 가는 부분도 있고 가지 않는 부분도 있을 것이다. – 적어도 한번은 안가는 부분은 최대한 해보고 안되면 다음을 기약하며 넘기고 앞 으로 계속 가기를 바란다. – FTZ를 풀고 LOB까지? FC3까지는 처음 혼자 해보다 잘 안되면 풀이를 보고 공부 했다. 그리고 다시 풀이를 보지 않고 공부를 했다. – 해커스쿨의 각종 문서들과 발표자료 등등 필요할 때 매우 자주 찾아보는 것을 추천한다. – 그리고 문제풀이 라는 것은 FTZ Level9?부터 익스플로잇 코드까지 작성하는 것 을 푸는 것이라 생각하는 것이 좋다. 5. 어떻게 공부해야 하나?
  • 38. A. Pwnable • 이 후 추천 공부 순서 – Exploit-exercises.com - Nebula, Protostar, Fusion – Overthewire – votex – Pwnable.kr » aa • 이미 여기까지 할 수 있는 실력이라면 해킹방어대회(CTF)에 참가하 면 순위권 안에 들지도 모른다.. • 본인이 공부한 책으로는 시스템 해킹 테크닉(FTZ), 해킹 공격의 예술 이 포너블에는 해당되는 것 같다.(해공예 읽기 불편..에Xㅋ..) • 대부분이 문서로 존재.. • 본인이 공부 한 책은 » aa 5. 어떻게 공부해야 하나?
  • 39. B. Reversing • 추천 공부 순서 – Abex’s Crackme 1-5 – CodeEngeen Basic RCE 1-20 – Simples.kr Season 1 Crack, Unpack, Season 2 Reverse – CodeEngeen Advanced RCE 1-18 – Reversing.kr » aa • 글쓴이는 처음 리버싱을 공부 했을 때 흔히 나뭇잎책, 방독면책 하는 바이블이라 불리는 책을 보면서 공부를 하려 했는데 하나도 몰랐다!!!! • 책을 따라가며 부분부분 이해하며 넘기긴 하는데… • 정신을 차리면 난 영혼이 잠시 마실 나갔다 온 것처럼 기억을 못하 는.. • 어셈블리어 한 줄 한 줄은 알겠는데 전체적인 흐름이 보이지 않는.. » aa 5. 어떻게 공부해야 하나?
  • 40. B. Reversing • 개인적인 의견 – 앞의 저러한 이유로 리버싱을 자주 포기했었다 거의 포기했다. – 그리고 역시 달고나 문서와 Hackerz on the ship의 문서를 읽기를 바란다 – 멘토 님이 한가지 과제를 주셨다. – Simples.kr Crackme 1-20 1 WriteUp 보고 풀고 1주일 후에 보고서 제출 – 진짜 더럽게 이해 안가고 그랬지만 1주일 안에 했다. – 그리고 지금, 다시 문제를 푸니 전체적인 개념?이 조금이나마 깃들어 있어 혼자 풀기 시작한다. 심지어 아주 쉬운 CTF문제 하나도 혼자 풀었다. 본인이 공부한 책으로는….나뭇잎, 방독면 등등 두 세 개 있는 것 같은데 대부분 레 퍼런스로 보고 있다. 5. 어떻게 공부해야 하나?
  • 41. B. Reversing • 개인적인 의견 – 어셈블리어를 체화 하는 것에는 핸드레이가 좋다(hand + hex-ray) 헥스레이를 손으로 하는…. – C를 어셈으로, 어셈을 C로 이것은 개인적인 의견이 아니라 대표님들이, 악성코 드분석 현업에 계신 분들이 말씀해 주신 것을 토대로 하는 이야기다.. – 이정도 할 생각이면 포너블이든 리버싱이든 크게 심적으로 힘들지 않을 것이다. – 그리고 나뭇잎 책과 같은 것은 처음엔 많이 어려울 수 있다. 하지만 선행학습이 된다면 그 내용들이 쉬워질 것이다. 나 또한 지금에서야 깨달은 것이지만 매우 쉽다 아직 앞부분만이지만… 그 이후 부분에 PE부터는 OS지식에 대한 것이 부족하다는 것을 느낄 것이다. 그 때부터 기본을 쌓기 시작할 수도 있다. 5. 어떻게 공부해야 하나?
  • 42. B. Reversing • 개인적인 의견 – Crackme를 풀 때부터 Windows API를 보고 막 그럴 것이다. 그러면서 기초가 쌓 인다. – Codeengn은 시스템의 해커스쿨과 비슷한 곳이다 그곳에서 문서를 쉽게 찾을 수 있을 것이다. 5. 어떻게 공부해야 하나?
  • 43. 어떻게 공부해야 하나? • 전체적인 본인의 개인적인 의견 – 포너블이든 리버싱이든 어느 정도의 기초지식은 워게임을 통해 Writeup을 보고 먼저 한 바퀴 만큼은 풀길 바란다. – 이유는 적어도 이것이 어떤 것이라는 적응이 필요하기 때문(특히나 리버싱) – 그리고 다시 돌아와 제대로 공부하기를 바란다. – 그래도 처음에 영혼 없이 하더라도 이게 어느 것인지는 인식을 하고 있어야 한다. 5. 어떻게 공부해야 하나?
  • 44. 6. 공부에 도움이 되는 사이트들 Contents
  • 45. 6. 공부에 도움이 되는 사이트들 6. 공부에 도움이 되는 사이트들
  • 46. 마치며.. • 공부하는 방법을 알아내는 것도 실력이고 • 뭘 공부 해야 할지 알아내는 것도 실력이다. • 뭘 공부할지 모를 때 오는 슬럼프를 극복하는 것도 실력이다. • 어차피 공부 하는 것은 혼자이다. 스터디에 들었다고, 팀에 들었다고 • 절대 내 실력이 오르는 것이 아니다. 이 생각이 제일 위험하고 자만 하면 안된다. • 스스로 찾고 해결해나가는 것이 중요하다.
  • 47. Thanks to 이 가이드라인의 전반적인 참조를 허락해주신 • 황석훈(現 ㈜타이거팀, ㈜타이커팀아카데미, 코어시큐리티 대표) • 시스템 보안에 대해 고민할 때 도움을 주신 SecurityPlus, 생활해 킹의 많은 변ㅌ…..아니 많은 분들 • 리버싱에 대해 공부하는 방법과 처음 해킹에 대해 공부할 때의 글을 숟가락만 뜨게 도움주신 해피용님
  • 48. Thanks to • 공부하는 마인드를 바꿔주신 cd80님 • 멘토이신 흑객 박태광 멘토님 • 이 가이드라인을 작성할 계기를 만들어준 TeamH4C • 처음 시스템 해킹을 배우기에 좋은 문서를 만들어주신 블랙펄 시 큐리티 심준보님의 후배 분들 • 리버싱에 대한 문서가 별로 없어 헤맬 때 도움을 주신 SecurityPlus와 생활해킹의 많은 분들
  • 49. Reference to 보안 전문가의 길 - link 시스템 보안이란? – link 달고나 문서 – link 우리집에 gdb있는데.. 메모리 보고갈래? - link 해킹 입문서, 커리큘럼, 테크 트리, 리버싱 – link 제가 쓴 Writeup – link Q&A 질문 같은 것이 있으시다면 페이스북으로 문의 바랍니다. 위의 말과 같이 검색으로 나오는 것은 검색으로….